diff --git a/Makefile b/Makefile index 955a4aee..c12887ac 100644 --- a/Makefile +++ b/Makefile @@ -24,6 +24,8 @@ RUSTC_VERSION := $(shell rustc --version 2>/dev/null || echo "unknown") WEB_ADMIN_DIR := web-admin WEB_CONSOLE_DIR := web-console +NPM ?= $(or $(shell command -v npm 2>/dev/null),$(shell PATH=/opt/homebrew/bin:$$PATH command -v npm 2>/dev/null)) +NPM_BIN_DIR := $(patsubst %/,%,$(dir $(NPM))) CLIPPY_DENY_WARNINGS ?= 0 @@ -129,14 +131,14 @@ build-release: web-admin-build web-console-build # Run tests / 运行测试 test: @echo -e "$(BLUE)🧪 Running tests... / 运行测试...$(NC)" - @NOCAPTURE_ARGS=""; \ + @TEST_ARGS="-- --test-threads=$${TEST_THREADS:-1}"; \ if [ "$(NOCAPTURE)" = "1" ]; then \ - NOCAPTURE_ARGS="-- --nocapture"; \ + TEST_ARGS="$$TEST_ARGS --nocapture"; \ fi; \ if [ -n "$(FEATURES)" ]; then \ - $(CARGO) test --features $(FEATURES) $$NOCAPTURE_ARGS; \ + $(CARGO) test --features $(FEATURES) $$TEST_ARGS; \ else \ - $(CARGO) test $$NOCAPTURE_ARGS; \ + $(CARGO) test $$TEST_ARGS; \ fi @$(MAKE) web-admin-test @$(MAKE) web-console-test @@ -145,7 +147,7 @@ test: .PHONY: web-admin-build web-admin-lint web-admin-test web-console-build web-console-lint web-console-test web-admin-build: @echo -e "$(BLUE)🔧 Building Web Admin assets... / 构建Web Admin静态资源...$(NC)" - @if ! command -v npm >/dev/null 2>&1; then \ + @{ if [ -z "$(NPM)" ]; then \ if [ -f "assets/admin/index.html" ] && [ -f "assets/admin/main.js" ] && [ -f "assets/admin/main.css" ]; then \ echo -e "$(YELLOW)⚠️ npm not found, using existing assets/admin/* / 未找到npm,使用已有assets/admin/*$(NC)"; \ exit 0; \ @@ -153,15 +155,16 @@ web-admin-build: echo -e "$(RED)❌ npm not found and assets/admin/* missing. Install npm or run in an environment with Node. / 未找到npm且assets/admin/*不存在,请安装Node/npm$(NC)"; \ exit 1; \ fi; \ - fi - @cd $(WEB_ADMIN_DIR) && \ - (if [ -f package-lock.json ]; then npm ci --silent; else npm install --silent; fi) && \ - npm run build + else \ + cd $(WEB_ADMIN_DIR) && \ + (if [ -f package-lock.json ]; then PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" ci --silent; else PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" install --silent; fi) && \ + PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" run build; \ + fi; } @echo -e "$(GREEN)✅ Web Admin assets built / Web Admin静态资源构建完成$(NC)" web-console-build: @echo -e "$(BLUE)🔧 Building SPEAR Console assets... / 构建SPEAR Console静态资源...$(NC)" - @if ! command -v npm >/dev/null 2>&1; then \ + @{ if [ -z "$(NPM)" ]; then \ if [ -f "assets/console/index.html" ] && [ -f "assets/console/main.js" ] && [ -f "assets/console/main.css" ]; then \ echo -e "$(YELLOW)⚠️ npm not found, using existing assets/console/* / 未找到npm,使用已有assets/console/*$(NC)"; \ exit 0; \ @@ -169,54 +172,59 @@ web-console-build: echo -e "$(RED)❌ npm not found and assets/console/* missing. Install npm or run in an environment with Node. / 未找到npm且assets/console/*不存在,请安装Node/npm$(NC)"; \ exit 1; \ fi; \ - fi - @cd $(WEB_CONSOLE_DIR) && \ - (if [ -f package-lock.json ]; then npm ci --silent; else npm install --silent; fi) && \ - npm run build + else \ + cd $(WEB_CONSOLE_DIR) && \ + (if [ -f package-lock.json ]; then PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" ci --silent; else PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" install --silent; fi) && \ + PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" run build; \ + fi; } @echo -e "$(GREEN)✅ SPEAR Console assets built / SPEAR Console静态资源构建完成$(NC)" web-console-lint: @echo -e "$(BLUE)🔍 Linting SPEAR Console... / SPEAR Console代码检查...$(NC)" - @if ! command -v npm >/dev/null 2>&1; then \ + @{ if [ -z "$(NPM)" ]; then \ echo -e "$(YELLOW)⚠️ npm not found, skipping SPEAR Console lint / 未找到npm,跳过SPEAR Console代码检查$(NC)"; \ exit 0; \ - fi - @cd $(WEB_CONSOLE_DIR) && \ - (if [ -f package-lock.json ]; then npm ci --silent; else npm install --silent; fi) && \ - npm run lint + else \ + cd $(WEB_CONSOLE_DIR) && \ + (if [ -f package-lock.json ]; then PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" ci --silent; else PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" install --silent; fi) && \ + PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" run lint; \ + fi; } @echo -e "$(GREEN)✅ SPEAR Console lint completed / SPEAR Console代码检查完成$(NC)" web-console-test: @echo -e "$(BLUE)🧪 Running SPEAR Console tests... / 运行SPEAR Console测试...$(NC)" - @if ! command -v npm >/dev/null 2>&1; then \ + @{ if [ -z "$(NPM)" ]; then \ echo -e "$(YELLOW)⚠️ npm not found, skipping SPEAR Console tests / 未找到npm,跳过SPEAR Console测试$(NC)"; \ exit 0; \ - fi - @cd $(WEB_CONSOLE_DIR) && \ - (if [ -f package-lock.json ]; then npm ci --silent; else npm install --silent; fi) && \ - npm test + else \ + cd $(WEB_CONSOLE_DIR) && \ + (if [ -f package-lock.json ]; then PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" ci --silent; else PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" install --silent; fi) && \ + PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" test; \ + fi; } @echo -e "$(GREEN)✅ SPEAR Console tests completed / SPEAR Console测试完成$(NC)" web-admin-lint: @echo -e "$(BLUE)🔍 Linting Web Admin... / Web Admin代码检查...$(NC)" - @if ! command -v npm >/dev/null 2>&1; then \ + @{ if [ -z "$(NPM)" ]; then \ echo -e "$(YELLOW)⚠️ npm not found, skipping Web Admin lint / 未找到npm,跳过Web Admin代码检查$(NC)"; \ exit 0; \ - fi - @cd $(WEB_ADMIN_DIR) && \ - (if [ -f package-lock.json ]; then npm ci --silent; else npm install --silent; fi) && \ - npm run lint + else \ + cd $(WEB_ADMIN_DIR) && \ + (if [ -f package-lock.json ]; then PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" ci --silent; else PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" install --silent; fi) && \ + PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" run lint; \ + fi; } @echo -e "$(GREEN)✅ Web Admin lint completed / Web Admin代码检查完成$(NC)" web-admin-test: @echo -e "$(BLUE)🧪 Running Web Admin tests... / 运行Web Admin测试...$(NC)" - @if ! command -v npm >/dev/null 2>&1; then \ + @{ if [ -z "$(NPM)" ]; then \ echo -e "$(YELLOW)⚠️ npm not found, skipping Web Admin tests / 未找到npm,跳过Web Admin测试$(NC)"; \ exit 0; \ - fi - @cd $(WEB_ADMIN_DIR) && \ - (if [ -f package-lock.json ]; then npm ci --silent; else npm install --silent; fi) && \ - npm test + else \ + cd $(WEB_ADMIN_DIR) && \ + (if [ -f package-lock.json ]; then PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" ci --silent; else PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" install --silent; fi) && \ + PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" test; \ + fi; } @echo -e "$(GREEN)✅ Web Admin tests completed / Web Admin测试完成$(NC)" test-mic-device: @@ -233,7 +241,7 @@ mac-build-release: .PHONY: test-ui test-ui: @echo -e "$(BLUE)🧪 Running UI tests... / 运行UI测试...$(NC)" - @if ! command -v npm >/dev/null 2>&1; then \ + @if [ -z "$(NPM)" ]; then \ echo -e "$(YELLOW)⚠️ npm not found, skipping UI tests / 未找到npm,跳过UI测试$(NC)"; \ exit 0; \ fi @@ -263,10 +271,10 @@ test-ui: fi; \ } @$(MAKE) web-admin-build - @cd ui-tests && \ - npm install --silent && \ - npm run install:pw --silent || true && \ - npm test + @cd $(WEB_ADMIN_DIR) && \ + PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" install --silent && \ + PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" run install:pw --silent || true && \ + PATH="$(NPM_BIN_DIR):$$PATH" "$(NPM)" test @echo -e "$(GREEN)✅ UI tests completed / UI测试完成$(NC)" # Run tests with specific feature / 运行特定特性的测试 diff --git a/README.md b/README.md index 47b88bc1..b8a896ae 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,7 @@ This is the recommended cross-platform local setup (no Kubernetes required). It Use the provided Compose file: - `deploy/docker/compose.local.yaml` +- The local Compose stack builds SMS with the `rocksdb` feature enabled and persists both admin metadata and event KV under the `sms-data` volume. Start: @@ -170,19 +171,40 @@ SPEARlet can import models from a local Ollama on startup and materialize them a ## Web Admin -Web Admin provides Nodes/Tasks/Files/AI Models pages. - -- AI Models provides an aggregated view across nodes, split into Local/Remote. -- Local AI Models supports creating/deleting model deployments on a node. - -Local model provisioning (llamacpp): - -- `model` is just a display key; actual download uses `params.model_url` when the model file is missing. -- Supported params: - - `model_url`: http/https URL to a `.gguf` file (large files are supported). - - `download_timeout_s`: total download budget in seconds (default: 3600). +Web Admin provides Nodes, Tasks, Files, AI Backends, AI Models, Credentials, MCP, and Execution History pages. + +- AI Backends is the control-plane write surface for backend definitions, placements, and credentials. +- AI Models provides a read-only aggregated view across nodes, split into Local and Remote. +- The AI Backends page now exposes separate create flows: + - `Create Remote Backend` + - `Create Local Backend` +- Placement is created during backend creation: + - remote backends default to `All Nodes` + - local backends default to `Single Node` +- Backend detail pages expose: + - placements + - per-node status + - read-model views + +Local model provisioning (`llamacpp`): + +- `model` is the routing / display key; the node-local runtime uses metadata-backed runtime parameters. +- The Web Admin local dialog surfaces the most common `llamacpp` fields directly and persists them into backend metadata. +- Common fields: + - `model_url`: http/https URL to a `.gguf` file. - `model_path`: absolute path, or relative to `spearlet.local_models_dir`. - - `skip_download=1`: fail if the model file is missing (no download). + - `skip_download=1`: fail if the model file is missing instead of downloading. + - `download_timeout_s`: total download budget in seconds (default: 3600). + - `threads`: forwarded to `llama-server --threads`. + - `ctx_size`: forwarded to `llama-server --ctx-size`. +- Advanced metadata keys still supported by runtime: + - `server_mode` + - `server_cmd` + - `server_cmd_args` + - `ready_probe` + - `start_timeout_s` + +Local `vllm` remains a scaffolded / external-endpoint-oriented path rather than a fully managed local process mode. Docs: diff --git a/README.zh.md b/README.zh.md index 6b7d9ee2..6800a1f3 100644 --- a/README.zh.md +++ b/README.zh.md @@ -40,6 +40,7 @@ English README: [README.md](./README.md) 使用仓库自带 Compose 文件: - `deploy/docker/compose.local.yaml` +- 本地 Compose 栈会用 `rocksdb` feature 构建 SMS,并把 admin metadata 与 event KV 一起持久化到 `sms-data` volume。 启动: @@ -170,19 +171,40 @@ SPEARlet 支持在启动时从本机 Ollama 导入模型并生成对应的 AI ba ## Web Admin -Web Admin 提供 Nodes/Tasks/Files/AI Models 等页面。 - -- AI Models 提供跨节点聚合视图,并区分 Local/Remote -- Local AI Models 支持在节点上创建/删除 model deployment - -本地模型拉取(llamacpp): - -- `model` 只是展示用 key;当本地模型文件不存在时,实际下载取决于 `params.model_url`。 -- 支持参数: - - `model_url`:指向 `.gguf` 的 http/https URL(支持大文件)。 - - `download_timeout_s`:总下载超时预算(秒,默认 3600)。 +Web Admin 提供 Nodes、Tasks、Files、AI Backends、AI Models、Credentials、MCP 和 Execution History 等页面。 + +- AI Backends 是 backend 定义、placement 与 credentials 的控制面写入口 +- AI Models 提供跨节点只读聚合视图,并区分 Local / Remote +- AI Backends 页面现在提供两条创建入口: + - `Create Remote Backend` + - `Create Local Backend` +- backend 创建时会一并配置 placement: + - remote 默认 `All Nodes` + - local 默认 `Single Node` +- backend 详情页可查看: + - placements + - 按节点的 runtime status + - read model views + +本地模型拉起(`llamacpp`): + +- `model` 是路由 / 展示用 key;节点侧运行时使用 metadata 中的本地运行参数。 +- Web Admin 的 local 创建对话框已经把最常用的 `llamacpp` 字段提成显式输入,并在保存时自动写回 backend metadata。 +- 常用字段: + - `model_url`:指向 `.gguf` 的 http/https URL。 - `model_path`:绝对路径,或相对于 `spearlet.local_models_dir` 的相对路径。 - - `skip_download=1`:模型文件不存在时直接失败(不下载)。 + - `skip_download=1`:模型文件不存在时直接失败,不执行下载。 + - `download_timeout_s`:总下载超时预算(秒,默认 3600)。 + - `threads`:映射到 `llama-server --threads`。 + - `ctx_size`:映射到 `llama-server --ctx-size`。 +- 运行时仍支持的高级 metadata 字段: + - `server_mode` + - `server_cmd` + - `server_cmd_args` + - `ready_probe` + - `start_timeout_s` + +本地 `vllm` 当前仍以脚手架 / external endpoint 场景为主,并非完整托管的本地进程模式。 文档: diff --git a/assets/admin/main.css b/assets/admin/main.css index c7ad1ffc..1d3cfa2a 100644 --- a/assets/admin/main.css +++ b/assets/admin/main.css @@ -1 +1 @@ -*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.top-1\/2{top:50%}.top-2\.5{top:.625rem}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-7{grid-column:span 7 / span 7}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-24{height:6rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-\[220px\]{max-height:220px}.max-h-\[420px\]{max-height:420px}.max-h-\[520px\]{max-height:520px}.max-h-\[560px\]{max-height:560px}.max-h-\[60vh\]{max-height:60vh}.max-h-\[620px\]{max-height:620px}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0px}.min-h-24{min-height:6rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-\[min\(520px\,calc\(100vw-24px\)\)\]{width:min(520px,calc(100vw - 24px))}.w-\[min\(640px\,calc\(100vw-24px\)\)\]{width:min(640px,calc(100vw - 24px))}.w-\[min\(820px\,calc\(100vw-24px\)\)\]{width:min(820px,calc(100vw - 24px))}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[70\%\]{max-width:70%}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,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-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded-\[calc\(var\(--radius\)-2px\)\]{border-radius:calc(var(--radius) - 2px)}.rounded-\[calc\(var\(--radius\)-4px\)\]{border-radius:calc(var(--radius) - 4px)}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[hsl\(var\(--border\)\)\]{border-color:hsl(var(--border))}.border-\[hsl\(var\(--input\)\)\]{border-color:hsl(var(--input))}.border-transparent{border-color:transparent}.bg-\[hsl\(var\(--accent\)\)\]{background-color:hsl(var(--accent))}.bg-\[hsl\(var\(--background\)\)\]{background-color:hsl(var(--background))}.bg-\[hsl\(var\(--card\)\)\]{background-color:hsl(var(--card))}.bg-\[hsl\(var\(--destructive\)\)\]{background-color:hsl(var(--destructive))}.bg-\[hsl\(var\(--muted\)\)\]{background-color:hsl(var(--muted))}.bg-\[hsl\(var\(--primary\)\)\]{background-color:hsl(var(--primary))}.bg-\[hsl\(var\(--secondary\)\)\]{background-color:hsl(var(--secondary))}.bg-black\/50{background-color:#00000080}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pl-3{padding-left:.75rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.tracking-tight{letter-spacing:-.025em}.text-\[hsl\(var\(--card-foreground\)\)\]{color:hsl(var(--card-foreground))}.text-\[hsl\(var\(--destructive\)\)\]{color:hsl(var(--destructive))}.text-\[hsl\(var\(--destructive-foreground\)\)\]{color:hsl(var(--destructive-foreground))}.text-\[hsl\(var\(--foreground\)\)\]{color:hsl(var(--foreground))}.text-\[hsl\(var\(--muted-foreground\)\)\]{color:hsl(var(--muted-foreground))}.text-\[hsl\(var\(--primary-foreground\)\)\]{color:hsl(var(--primary-foreground))}.text-\[hsl\(var\(--secondary-foreground\)\)\]{color:hsl(var(--secondary-foreground))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.opacity-50{opacity:.5}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-offset-\[hsl\(var\(--background\)\)\]{--tw-ring-offset-color: hsl(var(--background))}.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)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--background: 0 0% 100%;--foreground: 222.2 47% 11%;--card: 0 0% 100%;--card-foreground: 222.2 47% 11%;--popover: 0 0% 100%;--popover-foreground: 222.2 47% 11%;--primary: 222.2 47% 11%;--primary-foreground: 210 40% 98%;--secondary: 210 25% 96%;--secondary-foreground: 222.2 47% 11%;--muted: 210 22% 96%;--muted-foreground: 215 14% 40%;--accent: 210 22% 94%;--accent-foreground: 222.2 47% 11%;--destructive: 0 74% 52%;--destructive-foreground: 210 40% 98%;--border: 214 20% 88%;--input: 214 20% 88%;--ring: 221 39% 11%;--radius: 8px}.dark{--background: 222.2 47% 7%;--foreground: 210 40% 98%;--card: 222.2 47% 9%;--card-foreground: 210 40% 98%;--popover: 222.2 47% 9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47% 11%;--secondary: 217 30% 14%;--secondary-foreground: 210 40% 98%;--muted: 217 30% 14%;--muted-foreground: 215 20% 70%;--accent: 217 30% 16%;--accent-foreground: 210 40% 98%;--destructive: 0 62% 34%;--destructive-foreground: 210 40% 98%;--border: 217 30% 18%;--input: 217 30% 18%;--ring: 212 27% 84%}html,body,#root{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;background:hsl(var(--background))}.placeholder\:text-\[hsl\(var\(--muted-foreground\)\)\]::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-\[hsl\(var\(--muted-foreground\)\)\]::placeholder{color:hsl(var(--muted-foreground))}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:bg-\[hsl\(var\(--accent\)\)\]:hover{background-color:hsl(var(--accent))}.hover\:text-\[hsl\(var\(--foreground\)\)\]:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[hsl\(var\(--ring\)\)\]:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.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\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:p-6{padding:1.5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-color-scheme:dark){.dark\:text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}} +:root,.light,html[data-theme=light]{color-scheme:light;--background: 0 0% 100%;--foreground: 222.2 47% 11%;--card: 0 0% 100%;--card-foreground: 222.2 47% 11%;--popover: 0 0% 100%;--popover-foreground: 222.2 47% 11%;--primary: 222.2 47% 11%;--primary-foreground: 210 40% 98%;--secondary: 210 25% 96%;--secondary-foreground: 222.2 47% 11%;--muted: 210 22% 96%;--muted-foreground: 215 14% 40%;--accent: 210 22% 94%;--accent-foreground: 222.2 47% 11%;--destructive: 0 74% 52%;--destructive-foreground: 210 40% 98%;--success: 142 72% 35%;--success-foreground: 210 40% 98%;--warning: 35 92% 45%;--warning-foreground: 222.2 47% 11%;--border: 214 20% 88%;--input: 214 20% 88%;--ring: 221 39% 11%;--overlay: 222.2 47% 11%;--shadow-color: 222.2 47% 11%;--radius: 8px}.dark,html[data-theme=dark]{color-scheme:dark;--background: 222.2 47% 7%;--foreground: 210 40% 98%;--card: 222.2 47% 9%;--card-foreground: 210 40% 98%;--popover: 222.2 47% 9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47% 11%;--secondary: 217 30% 14%;--secondary-foreground: 210 40% 98%;--muted: 217 30% 14%;--muted-foreground: 215 20% 70%;--accent: 217 30% 16%;--accent-foreground: 210 40% 98%;--destructive: 0 62% 34%;--destructive-foreground: 210 40% 98%;--success: 142 62% 44%;--success-foreground: 210 40% 98%;--warning: 38 92% 54%;--warning-foreground: 222.2 47% 11%;--border: 217 30% 18%;--input: 217 30% 18%;--ring: 212 27% 84%;--overlay: 222.2 47% 4%;--shadow-color: 222.2 47% 4%}html,body,#root{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;background:hsl(var(--background));color:hsl(var(--foreground))}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.top-2\.5{top:.625rem}.z-10{z-index:10}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-7{grid-column:span 7 / span 7}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.-mt-5{margin-top:-1.25rem}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-24{height:6rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-\[220px\]{max-height:220px}.max-h-\[520px\]{max-height:520px}.max-h-\[560px\]{max-height:560px}.max-h-\[60vh\]{max-height:60vh}.max-h-\[620px\]{max-height:620px}.max-h-\[80vh\]{max-height:80vh}.max-h-\[calc\(100vh-24px\)\]{max-height:calc(100vh - 24px)}.min-h-0{min-height:0px}.min-h-24{min-height:6rem}.min-h-\[72px\]{min-height:72px}.min-h-\[88px\]{min-height:88px}.w-4{width:1rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[min\(520px\,calc\(100vw-24px\)\)\]{width:min(520px,calc(100vw - 24px))}.w-\[min\(560px\,calc\(100vw-24px\)\)\]{width:min(560px,calc(100vw - 24px))}.w-\[min\(640px\,calc\(100vw-24px\)\)\]{width:min(640px,calc(100vw - 24px))}.w-\[min\(820px\,calc\(100vw-24px\)\)\]{width:min(820px,calc(100vw - 24px))}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[70\%\]{max-width:70%}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,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-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded-\[calc\(var\(--radius\)-2px\)\]{border-radius:calc(var(--radius) - 2px)}.rounded-\[calc\(var\(--radius\)-4px\)\]{border-radius:calc(var(--radius) - 4px)}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[hsl\(var\(--border\)\)\]{border-color:hsl(var(--border))}.border-\[hsl\(var\(--destructive\)\)\]{border-color:hsl(var(--destructive))}.border-\[hsl\(var\(--input\)\)\]{border-color:hsl(var(--input))}.border-\[hsl\(var\(--primary\)\)\]{border-color:hsl(var(--primary))}.border-transparent{border-color:transparent}.bg-\[hsl\(var\(--background\)\)\]{background-color:hsl(var(--background))}.bg-\[hsl\(var\(--card\)\)\]{background-color:hsl(var(--card))}.bg-\[hsl\(var\(--destructive\)\)\/0\.08\]{background-color:hsl(var(--destructive))/.08}.bg-\[hsl\(var\(--destructive\)\)\]{background-color:hsl(var(--destructive))}.bg-\[hsl\(var\(--muted\)\)\]{background-color:hsl(var(--muted))}.bg-\[hsl\(var\(--primary\)\)\]{background-color:hsl(var(--primary))}.bg-\[hsl\(var\(--secondary\)\)\]{background-color:hsl(var(--secondary))}.bg-black\/50{background-color:#00000080}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-3{padding-left:.75rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[hsl\(var\(--card-foreground\)\)\]{color:hsl(var(--card-foreground))}.text-\[hsl\(var\(--destructive\)\)\]{color:hsl(var(--destructive))}.text-\[hsl\(var\(--destructive-foreground\)\)\]{color:hsl(var(--destructive-foreground))}.text-\[hsl\(var\(--foreground\)\)\]{color:hsl(var(--foreground))}.text-\[hsl\(var\(--muted-foreground\)\)\]{color:hsl(var(--muted-foreground))}.text-\[hsl\(var\(--primary\)\)\]{color:hsl(var(--primary))}.text-\[hsl\(var\(--primary-foreground\)\)\]{color:hsl(var(--primary-foreground))}.text-\[hsl\(var\(--secondary-foreground\)\)\]{color:hsl(var(--secondary-foreground))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.opacity-50{opacity:.5}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-offset-\[hsl\(var\(--background\)\)\]{--tw-ring-offset-color: hsl(var(--background))}.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)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.placeholder\:text-\[hsl\(var\(--muted-foreground\)\)\]::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-\[hsl\(var\(--muted-foreground\)\)\]::placeholder{color:hsl(var(--muted-foreground))}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:bg-\[hsl\(var\(--accent\)\)\]:hover{background-color:hsl(var(--accent))}.hover\:bg-\[hsl\(var\(--muted\)\)\]:hover{background-color:hsl(var(--muted))}.hover\:text-\[hsl\(var\(--foreground\)\)\]:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-95:hover{opacity:.95}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[hsl\(var\(--ring\)\)\]:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:p-6{padding:1.5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-color-scheme:dark){.dark\:text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}} diff --git a/assets/admin/main.js b/assets/admin/main.js index e6ac4ed9..e8218ea0 100644 --- a/assets/admin/main.js +++ b/assets/admin/main.js @@ -1,58 +1,63 @@ -function ug(n,r){for(var o=0;ol[u]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))l(u);new MutationObserver(u=>{for(const d of u)if(d.type==="childList")for(const h of d.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&l(h)}).observe(document,{childList:!0,subtree:!0});function o(u){const d={};return u.integrity&&(d.integrity=u.integrity),u.referrerPolicy&&(d.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?d.credentials="include":u.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function l(u){if(u.ep)return;u.ep=!0;const d=o(u);fetch(u.href,d)}})();function Nh(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Hl={exports:{}},ta={},Wl={exports:{}},be={};var wf;function dg(){if(wf)return be;wf=1;var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),h=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),x=Symbol.for("react.memo"),w=Symbol.for("react.lazy"),p=Symbol.iterator;function j(b){return b===null||typeof b!="object"?null:(b=p&&b[p]||b["@@iterator"],typeof b=="function"?b:null)}var E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},O=Object.assign,N={};function R(b,M,A){this.props=b,this.context=M,this.refs=N,this.updater=A||E}R.prototype.isReactComponent={},R.prototype.setState=function(b,M){if(typeof b!="object"&&typeof b!="function"&&b!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,b,M,"setState")},R.prototype.forceUpdate=function(b){this.updater.enqueueForceUpdate(this,b,"forceUpdate")};function S(){}S.prototype=R.prototype;function P(b,M,A){this.props=b,this.context=M,this.refs=N,this.updater=A||E}var D=P.prototype=new S;D.constructor=P,O(D,R.prototype),D.isPureReactComponent=!0;var H=Array.isArray,Y=Object.prototype.hasOwnProperty,Z={current:null},K={key:!0,ref:!0,__self:!0,__source:!0};function $(b,M,A){var V,G={},le=null,ce=null;if(M!=null)for(V in M.ref!==void 0&&(ce=M.ref),M.key!==void 0&&(le=""+M.key),M)Y.call(M,V)&&!K.hasOwnProperty(V)&&(G[V]=M[V]);var ie=arguments.length-2;if(ie===1)G.children=A;else if(1>>1,M=F[b];if(0>>1;bu(G,Q))leu(ce,G)?(F[b]=ce,F[le]=Q,b=le):(F[b]=G,F[V]=Q,b=V);else if(leu(ce,Q))F[b]=ce,F[le]=Q,b=le;else break e}}return se}function u(F,se){var Q=F.sortIndex-se.sortIndex;return Q!==0?Q:F.id-se.id}if(typeof performance=="object"&&typeof performance.now=="function"){var d=performance;n.unstable_now=function(){return d.now()}}else{var h=Date,m=h.now();n.unstable_now=function(){return h.now()-m}}var y=[],x=[],w=1,p=null,j=3,E=!1,O=!1,N=!1,R=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,P=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function D(F){for(var se=o(x);se!==null;){if(se.callback===null)l(x);else if(se.startTime<=F)l(x),se.sortIndex=se.expirationTime,r(y,se);else break;se=o(x)}}function H(F){if(N=!1,D(F),!O)if(o(y)!==null)O=!0,ue(Y);else{var se=o(x);se!==null&&me(H,se.startTime-F)}}function Y(F,se){O=!1,N&&(N=!1,S($),$=-1),E=!0;var Q=j;try{for(D(se),p=o(y);p!==null&&(!(p.expirationTime>se)||F&&!Se());){var b=p.callback;if(typeof b=="function"){p.callback=null,j=p.priorityLevel;var M=b(p.expirationTime<=se);se=n.unstable_now(),typeof M=="function"?p.callback=M:p===o(y)&&l(y),D(se)}else l(y);p=o(y)}if(p!==null)var A=!0;else{var V=o(x);V!==null&&me(H,V.startTime-se),A=!1}return A}finally{p=null,j=Q,E=!1}}var Z=!1,K=null,$=-1,ge=5,pe=-1;function Se(){return!(n.unstable_now()-peF||125b?(F.sortIndex=Q,r(x,F),o(y)===null&&F===o(x)&&(N?(S($),$=-1):N=!0,me(H,Q-b))):(F.sortIndex=M,r(y,F),O||E||(O=!0,ue(Y))),F},n.unstable_shouldYield=Se,n.unstable_wrapCallback=function(F){var se=j;return function(){var Q=j;j=se;try{return F.apply(this,arguments)}finally{j=Q}}}})(ql)),ql}var Sf;function pg(){return Sf||(Sf=1,Vl.exports=mg()),Vl.exports}var Cf;function vg(){if(Cf)return Rt;Cf=1;var n=kc(),r=pg();function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,s=1;s"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),y=Object.prototype.hasOwnProperty,x=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,w={},p={};function j(e){return y.call(p,e)?!0:y.call(w,e)?!1:x.test(e)?p[e]=!0:(w[e]=!0,!1)}function E(e,t,s,i){if(s!==null&&s.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:s!==null?!s.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function O(e,t,s,i){if(t===null||typeof t>"u"||E(e,t,s,i))return!0;if(i)return!1;if(s!==null)switch(s.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function N(e,t,s,i,c,f,v){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=c,this.mustUseProperty=s,this.propertyName=e,this.type=t,this.sanitizeURL=f,this.removeEmptyString=v}var R={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){R[e]=new N(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];R[t]=new N(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){R[e]=new N(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){R[e]=new N(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){R[e]=new N(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){R[e]=new N(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){R[e]=new N(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){R[e]=new N(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){R[e]=new N(e,5,!1,e.toLowerCase(),null,!1,!1)});var S=/[\-:]([a-z])/g;function P(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(S,P);R[t]=new N(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(S,P);R[t]=new N(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(S,P);R[t]=new N(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){R[e]=new N(e,1,!1,e.toLowerCase(),null,!1,!1)}),R.xlinkHref=new N("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){R[e]=new N(e,1,!1,e.toLowerCase(),null,!0,!0)});function D(e,t,s,i){var c=R.hasOwnProperty(t)?R[t]:null;(c!==null?c.type!==0:i||!(2k||c[v]!==f[k]){var C=` -`+c[v].replace(" at new "," at ");return e.displayName&&C.includes("")&&(C=C.replace("",e.displayName)),C}while(1<=v&&0<=k);break}}}finally{A=!1,Error.prepareStackTrace=s}return(e=e?e.displayName||e.name:"")?M(e):""}function G(e){switch(e.tag){case 5:return M(e.type);case 16:return M("Lazy");case 13:return M("Suspense");case 19:return M("SuspenseList");case 0:case 2:case 15:return e=V(e.type,!1),e;case 11:return e=V(e.type.render,!1),e;case 1:return e=V(e.type,!0),e;default:return""}}function le(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case K:return"Fragment";case Z:return"Portal";case ge:return"Profiler";case $:return"StrictMode";case Ce:return"Suspense";case De:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Se:return(e.displayName||"Context")+".Consumer";case pe:return(e._context.displayName||"Context")+".Provider";case Me:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Fe:return t=e.displayName||null,t!==null?t:le(e.type)||"Memo";case ue:t=e._payload,e=e._init;try{return le(e(t))}catch{}}return null}function ce(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return le(t);case 8:return t===$?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function ie(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function je(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function $e(e){var t=je(e)?"checked":"value",s=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var c=s.get,f=s.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return c.call(this)},set:function(v){i=""+v,f.call(this,v)}}),Object.defineProperty(e,t,{enumerable:s.enumerable}),{getValue:function(){return i},setValue:function(v){i=""+v},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ot(e){e._valueTracker||(e._valueTracker=$e(e))}function Nt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var s=t.getValue(),i="";return e&&(i=je(e)?e.checked?"true":"false":e.value),e=i,e!==s?(t.setValue(e),!0):!1}function Lr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function cr(e,t){var s=t.checked;return Q({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:s??e._wrapperState.initialChecked})}function ha(e,t){var s=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;s=ie(t.value!=null?t.value:s),e._wrapperState={initialChecked:i,initialValue:s,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ps(e,t){t=t.checked,t!=null&&D(e,"checked",t,!1)}function hn(e,t){ps(e,t);var s=ie(t.value),i=t.type;if(s!=null)i==="number"?(s===0&&e.value===""||e.value!=s)&&(e.value=""+s):e.value!==""+s&&(e.value=""+s);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Tt(e,t.type,s):t.hasOwnProperty("defaultValue")&&Tt(e,t.type,ie(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function vs(e,t,s){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,s||t===e.value||(e.value=t),e.defaultValue=t}s=e.name,s!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,s!==""&&(e.name=s)}function Tt(e,t,s){(t!=="number"||Lr(e.ownerDocument)!==e)&&(s==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+s&&(e.defaultValue=""+s))}var ur=Array.isArray;function Tn(e,t,s,i){if(e=e.options,t){t={};for(var c=0;c"+t.valueOf().toString()+"",t=fr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function zt(e,t){if(t){var s=e.firstChild;if(s&&s===e.lastChild&&s.nodeType===3){s.nodeValue=t;return}}e.textContent=t}var Mn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ln=["Webkit","ms","Moz","O"];Object.keys(Mn).forEach(function(e){Ln.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Mn[t]=Mn[e]})});function va(e,t,s){return t==null||typeof t=="boolean"||t===""?"":s||typeof t!="number"||t===0||Mn.hasOwnProperty(e)&&Mn[e]?(""+t).trim():t+"px"}function ga(e,t){e=e.style;for(var s in t)if(t.hasOwnProperty(s)){var i=s.indexOf("--")===0,c=va(s,t[s],i);s==="float"&&(s="cssFloat"),i?e.setProperty(s,c):e[s]=c}}var xa=Q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ir(e,t){if(t){if(xa[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(o(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(o(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(t.style!=null&&typeof t.style!="object")throw Error(o(62))}}function xs(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var hr=null;function Ut(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ys=null,Dn=null,pn=null;function ws(e){if(e=Us(e)){if(typeof ys!="function")throw Error(o(280));var t=e.stateNode;t&&(t=za(t),ys(e.stateNode,e.type,t))}}function xe(e){Dn?pn?pn.push(e):pn=[e]:Dn=e}function Ve(){if(Dn){var e=Dn,t=pn;if(pn=Dn=null,ws(e),t)for(e=0;e>>=0,e===0?32:31-(Cp(e)/Ep|0)|0}var ja=64,ba=4194304;function bs(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Na(e,t){var s=e.pendingLanes;if(s===0)return 0;var i=0,c=e.suspendedLanes,f=e.pingedLanes,v=s&268435455;if(v!==0){var k=v&~c;k!==0?i=bs(k):(f&=v,f!==0&&(i=bs(f)))}else v=s&~c,v!==0?i=bs(v):f!==0&&(i=bs(f));if(i===0)return 0;if(t!==0&&t!==i&&(t&c)===0&&(c=i&-i,f=t&-t,c>=f||c===16&&(f&4194240)!==0))return t;if((i&4)!==0&&(i|=s&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0s;s++)t.push(e);return t}function Ns(e,t,s){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Yt(t),e[t]=s}function Op(e,t){var s=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Os),fu=" ",hu=!1;function mu(e,t){switch(e){case"keyup":return av.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function pu(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var zr=!1;function iv(e,t){switch(e){case"compositionend":return pu(t);case"keypress":return t.which!==32?null:(hu=!0,fu);case"textInput":return e=t.data,e===fu&&hu?null:e;default:return null}}function lv(e,t){if(zr)return e==="compositionend"||!Ni&&mu(e,t)?(e=ou(),_a=gi=Hn=null,zr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:s,offset:t-e};e=i}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=bu(s)}}function ku(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ku(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Su(){for(var e=window,t=Lr();t instanceof e.HTMLIFrameElement;){try{var s=typeof t.contentWindow.location.href=="string"}catch{s=!1}if(s)e=t.contentWindow;else break;t=Lr(e.document)}return t}function Ci(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function gv(e){var t=Su(),s=e.focusedElem,i=e.selectionRange;if(t!==s&&s&&s.ownerDocument&&ku(s.ownerDocument.documentElement,s)){if(i!==null&&Ci(s)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in s)s.selectionStart=t,s.selectionEnd=Math.min(e,s.value.length);else if(e=(t=s.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var c=s.textContent.length,f=Math.min(i.start,c);i=i.end===void 0?f:Math.min(i.end,c),!e.extend&&f>i&&(c=i,i=f,f=c),c=Nu(s,f);var v=Nu(s,i);c&&v&&(e.rangeCount!==1||e.anchorNode!==c.node||e.anchorOffset!==c.offset||e.focusNode!==v.node||e.focusOffset!==v.offset)&&(t=t.createRange(),t.setStart(c.node,c.offset),e.removeAllRanges(),f>i?(e.addRange(t),e.extend(v.node,v.offset)):(t.setEnd(v.node,v.offset),e.addRange(t)))}}for(t=[],e=s;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof s.focus=="function"&&s.focus(),s=0;s=document.documentMode,Ur=null,Ei=null,Ds=null,_i=!1;function Cu(e,t,s){var i=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;_i||Ur==null||Ur!==Lr(i)||(i=Ur,"selectionStart"in i&&Ci(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Ds&&Ls(Ds,i)||(Ds=i,i=Ia(Ei,"onSelect"),0Qr||(e.current=Ui[Qr],Ui[Qr]=null,Qr--)}function Ie(e,t){Qr++,Ui[Qr]=e.current,e.current=t}var qn={},pt=Vn(qn),kt=Vn(!1),vr=qn;function Vr(e,t){var s=e.type.contextTypes;if(!s)return qn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var c={},f;for(f in s)c[f]=t[f];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=c),c}function St(e){return e=e.childContextTypes,e!=null}function Ua(){ze(kt),ze(pt)}function $u(e,t,s){if(pt.current!==qn)throw Error(o(168));Ie(pt,t),Ie(kt,s)}function Bu(e,t,s){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return s;i=i.getChildContext();for(var c in i)if(!(c in t))throw Error(o(108,ce(e)||"Unknown",c));return Q({},s,i)}function $a(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||qn,vr=pt.current,Ie(pt,e),Ie(kt,kt.current),!0}function Hu(e,t,s){var i=e.stateNode;if(!i)throw Error(o(169));s?(e=Bu(e,t,vr),i.__reactInternalMemoizedMergedChildContext=e,ze(kt),ze(pt),Ie(pt,e)):ze(kt),Ie(kt,s)}var gn=null,Ba=!1,$i=!1;function Wu(e){gn===null?gn=[e]:gn.push(e)}function Rv(e){Ba=!0,Wu(e)}function Kn(){if(!$i&&gn!==null){$i=!0;var e=0,t=Le;try{var s=gn;for(Le=1;e>=v,c-=v,xn=1<<32-Yt(t)+c|s<ve?(lt=fe,fe=null):lt=fe.sibling;var Ee=z(T,fe,L[ve],W);if(Ee===null){fe===null&&(fe=lt);break}e&&fe&&Ee.alternate===null&&t(T,fe),_=f(Ee,_,ve),de===null?oe=Ee:de.sibling=Ee,de=Ee,fe=lt}if(ve===L.length)return s(T,fe),Ue&&xr(T,ve),oe;if(fe===null){for(;veve?(lt=fe,fe=null):lt=fe.sibling;var rr=z(T,fe,Ee.value,W);if(rr===null){fe===null&&(fe=lt);break}e&&fe&&rr.alternate===null&&t(T,fe),_=f(rr,_,ve),de===null?oe=rr:de.sibling=rr,de=rr,fe=lt}if(Ee.done)return s(T,fe),Ue&&xr(T,ve),oe;if(fe===null){for(;!Ee.done;ve++,Ee=L.next())Ee=B(T,Ee.value,W),Ee!==null&&(_=f(Ee,_,ve),de===null?oe=Ee:de.sibling=Ee,de=Ee);return Ue&&xr(T,ve),oe}for(fe=i(T,fe);!Ee.done;ve++,Ee=L.next())Ee=J(fe,T,ve,Ee.value,W),Ee!==null&&(e&&Ee.alternate!==null&&fe.delete(Ee.key===null?ve:Ee.key),_=f(Ee,_,ve),de===null?oe=Ee:de.sibling=Ee,de=Ee);return e&&fe.forEach(function(cg){return t(T,cg)}),Ue&&xr(T,ve),oe}function Ke(T,_,L,W){if(typeof L=="object"&&L!==null&&L.type===K&&L.key===null&&(L=L.props.children),typeof L=="object"&&L!==null){switch(L.$$typeof){case Y:e:{for(var oe=L.key,de=_;de!==null;){if(de.key===oe){if(oe=L.type,oe===K){if(de.tag===7){s(T,de.sibling),_=c(de,L.props.children),_.return=T,T=_;break e}}else if(de.elementType===oe||typeof oe=="object"&&oe!==null&&oe.$$typeof===ue&&Yu(oe)===de.type){s(T,de.sibling),_=c(de,L.props),_.ref=$s(T,de,L),_.return=T,T=_;break e}s(T,de);break}else t(T,de);de=de.sibling}L.type===K?(_=Cr(L.props.children,T.mode,W,L.key),_.return=T,T=_):(W=go(L.type,L.key,L.props,null,T.mode,W),W.ref=$s(T,_,L),W.return=T,T=W)}return v(T);case Z:e:{for(de=L.key;_!==null;){if(_.key===de)if(_.tag===4&&_.stateNode.containerInfo===L.containerInfo&&_.stateNode.implementation===L.implementation){s(T,_.sibling),_=c(_,L.children||[]),_.return=T,T=_;break e}else{s(T,_);break}else t(T,_);_=_.sibling}_=Al(L,T.mode,W),_.return=T,T=_}return v(T);case ue:return de=L._init,Ke(T,_,de(L._payload),W)}if(ur(L))return te(T,_,L,W);if(se(L))return ae(T,_,L,W);Va(T,L)}return typeof L=="string"&&L!==""||typeof L=="number"?(L=""+L,_!==null&&_.tag===6?(s(T,_.sibling),_=c(_,L),_.return=T,T=_):(s(T,_),_=Fl(L,T.mode,W),_.return=T,T=_),v(T)):s(T,_)}return Ke}var Yr=Xu(!0),Ju=Xu(!1),qa=Vn(null),Ka=null,Xr=null,qi=null;function Ki(){qi=Xr=Ka=null}function Gi(e){var t=qa.current;ze(qa),e._currentValue=t}function Yi(e,t,s){for(;e!==null;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,i!==null&&(i.childLanes|=t)):i!==null&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===s)break;e=e.return}}function Jr(e,t){Ka=e,qi=Xr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Ct=!0),e.firstContext=null)}function Wt(e){var t=e._currentValue;if(qi!==e)if(e={context:e,memoizedValue:t,next:null},Xr===null){if(Ka===null)throw Error(o(308));Xr=e,Ka.dependencies={lanes:0,firstContext:e}}else Xr=Xr.next=e;return t}var yr=null;function Xi(e){yr===null?yr=[e]:yr.push(e)}function Zu(e,t,s,i){var c=t.interleaved;return c===null?(s.next=s,Xi(t)):(s.next=c.next,c.next=s),t.interleaved=s,wn(e,i)}function wn(e,t){e.lanes|=t;var s=e.alternate;for(s!==null&&(s.lanes|=t),s=e,e=e.return;e!==null;)e.childLanes|=t,s=e.alternate,s!==null&&(s.childLanes|=t),s=e,e=e.return;return s.tag===3?s.stateNode:null}var Gn=!1;function Ji(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ed(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function jn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Yn(e,t,s){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,(ke&2)!==0){var c=i.pending;return c===null?t.next=t:(t.next=c.next,c.next=t),i.pending=t,wn(e,s)}return c=i.interleaved,c===null?(t.next=t,Xi(i)):(t.next=c.next,c.next=t),i.interleaved=t,wn(e,s)}function Ga(e,t,s){if(t=t.updateQueue,t!==null&&(t=t.shared,(s&4194240)!==0)){var i=t.lanes;i&=e.pendingLanes,s|=i,t.lanes=s,fi(e,s)}}function td(e,t){var s=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,s===i)){var c=null,f=null;if(s=s.firstBaseUpdate,s!==null){do{var v={eventTime:s.eventTime,lane:s.lane,tag:s.tag,payload:s.payload,callback:s.callback,next:null};f===null?c=f=v:f=f.next=v,s=s.next}while(s!==null);f===null?c=f=t:f=f.next=t}else c=f=t;s={baseState:i.baseState,firstBaseUpdate:c,lastBaseUpdate:f,shared:i.shared,effects:i.effects},e.updateQueue=s;return}e=s.lastBaseUpdate,e===null?s.firstBaseUpdate=t:e.next=t,s.lastBaseUpdate=t}function Ya(e,t,s,i){var c=e.updateQueue;Gn=!1;var f=c.firstBaseUpdate,v=c.lastBaseUpdate,k=c.shared.pending;if(k!==null){c.shared.pending=null;var C=k,I=C.next;C.next=null,v===null?f=I:v.next=I,v=C;var U=e.alternate;U!==null&&(U=U.updateQueue,k=U.lastBaseUpdate,k!==v&&(k===null?U.firstBaseUpdate=I:k.next=I,U.lastBaseUpdate=C))}if(f!==null){var B=c.baseState;v=0,U=I=C=null,k=f;do{var z=k.lane,J=k.eventTime;if((i&z)===z){U!==null&&(U=U.next={eventTime:J,lane:0,tag:k.tag,payload:k.payload,callback:k.callback,next:null});e:{var te=e,ae=k;switch(z=t,J=s,ae.tag){case 1:if(te=ae.payload,typeof te=="function"){B=te.call(J,B,z);break e}B=te;break e;case 3:te.flags=te.flags&-65537|128;case 0:if(te=ae.payload,z=typeof te=="function"?te.call(J,B,z):te,z==null)break e;B=Q({},B,z);break e;case 2:Gn=!0}}k.callback!==null&&k.lane!==0&&(e.flags|=64,z=c.effects,z===null?c.effects=[k]:z.push(k))}else J={eventTime:J,lane:z,tag:k.tag,payload:k.payload,callback:k.callback,next:null},U===null?(I=U=J,C=B):U=U.next=J,v|=z;if(k=k.next,k===null){if(k=c.shared.pending,k===null)break;z=k,k=z.next,z.next=null,c.lastBaseUpdate=z,c.shared.pending=null}}while(!0);if(U===null&&(C=B),c.baseState=C,c.firstBaseUpdate=I,c.lastBaseUpdate=U,t=c.shared.interleaved,t!==null){c=t;do v|=c.lane,c=c.next;while(c!==t)}else f===null&&(c.shared.lanes=0);br|=v,e.lanes=v,e.memoizedState=B}}function nd(e,t,s){if(e=t.effects,t.effects=null,e!==null)for(t=0;ts?s:4,e(!0);var i=rl.transition;rl.transition={};try{e(!1),t()}finally{Le=s,rl.transition=i}}function jd(){return Qt().memoizedState}function Mv(e,t,s){var i=er(e);if(s={lane:i,action:s,hasEagerState:!1,eagerState:null,next:null},bd(e))Nd(t,s);else if(s=Zu(e,t,s,i),s!==null){var c=jt();nn(s,e,i,c),kd(s,t,i)}}function Lv(e,t,s){var i=er(e),c={lane:i,action:s,hasEagerState:!1,eagerState:null,next:null};if(bd(e))Nd(t,c);else{var f=e.alternate;if(e.lanes===0&&(f===null||f.lanes===0)&&(f=t.lastRenderedReducer,f!==null))try{var v=t.lastRenderedState,k=f(v,s);if(c.hasEagerState=!0,c.eagerState=k,Xt(k,v)){var C=t.interleaved;C===null?(c.next=c,Xi(t)):(c.next=C.next,C.next=c),t.interleaved=c;return}}catch{}s=Zu(e,t,c,i),s!==null&&(c=jt(),nn(s,e,i,c),kd(s,t,i))}}function bd(e){var t=e.alternate;return e===He||t!==null&&t===He}function Nd(e,t){Qs=Za=!0;var s=e.pending;s===null?t.next=t:(t.next=s.next,s.next=t),e.pending=t}function kd(e,t,s){if((s&4194240)!==0){var i=t.lanes;i&=e.pendingLanes,s|=i,t.lanes=s,fi(e,s)}}var no={readContext:Wt,useCallback:vt,useContext:vt,useEffect:vt,useImperativeHandle:vt,useInsertionEffect:vt,useLayoutEffect:vt,useMemo:vt,useReducer:vt,useRef:vt,useState:vt,useDebugValue:vt,useDeferredValue:vt,useTransition:vt,useMutableSource:vt,useSyncExternalStore:vt,useId:vt,unstable_isNewReconciler:!1},Dv={readContext:Wt,useCallback:function(e,t){return ln().memoizedState=[e,t===void 0?null:t],e},useContext:Wt,useEffect:hd,useImperativeHandle:function(e,t,s){return s=s!=null?s.concat([e]):null,eo(4194308,4,vd.bind(null,t,e),s)},useLayoutEffect:function(e,t){return eo(4194308,4,e,t)},useInsertionEffect:function(e,t){return eo(4,2,e,t)},useMemo:function(e,t){var s=ln();return t=t===void 0?null:t,e=e(),s.memoizedState=[e,t],e},useReducer:function(e,t,s){var i=ln();return t=s!==void 0?s(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Mv.bind(null,He,e),[i.memoizedState,e]},useRef:function(e){var t=ln();return e={current:e},t.memoizedState=e},useState:dd,useDebugValue:ul,useDeferredValue:function(e){return ln().memoizedState=e},useTransition:function(){var e=dd(!1),t=e[0];return e=Tv.bind(null,e[1]),ln().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,s){var i=He,c=ln();if(Ue){if(s===void 0)throw Error(o(407));s=s()}else{if(s=t(),it===null)throw Error(o(349));(jr&30)!==0||od(i,t,s)}c.memoizedState=s;var f={value:s,getSnapshot:t};return c.queue=f,hd(ld.bind(null,i,f,e),[e]),i.flags|=2048,Ks(9,id.bind(null,i,f,s,t),void 0,null),s},useId:function(){var e=ln(),t=it.identifierPrefix;if(Ue){var s=yn,i=xn;s=(i&~(1<<32-Yt(i)-1)).toString(32)+s,t=":"+t+"R"+s,s=Vs++,0o[c]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))o(c);new MutationObserver(c=>{for(const u of c)if(u.type==="childList")for(const h of u.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&o(h)}).observe(document,{childList:!0,subtree:!0});function i(c){const u={};return c.integrity&&(u.integrity=c.integrity),c.referrerPolicy&&(u.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?u.credentials="include":c.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function o(c){if(c.ep)return;c.ep=!0;const u=i(c);fetch(c.href,u)}})();function Yh(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var tc={exports:{}},fa={},nc={exports:{}},_e={};var Wf;function Zx(){if(Wf)return _e;Wf=1;var t=Symbol.for("react.element"),s=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),h=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),v=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),w=Symbol.for("react.lazy"),p=Symbol.iterator;function N(_){return _===null||typeof _!="object"?null:(_=p&&_[p]||_["@@iterator"],typeof _=="function"?_:null)}var E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},O=Object.assign,j={};function b(_,A,K){this.props=_,this.context=A,this.refs=j,this.updater=K||E}b.prototype.isReactComponent={},b.prototype.setState=function(_,A){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,A,"setState")},b.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function S(){}S.prototype=b.prototype;function F(_,A,K){this.props=_,this.context=A,this.refs=j,this.updater=K||E}var z=F.prototype=new S;z.constructor=F,O(z,b.prototype),z.isPureReactComponent=!0;var V=Array.isArray,G=Object.prototype.hasOwnProperty,$={current:null},B={key:!0,ref:!0,__self:!0,__source:!0};function U(_,A,K){var Z,ae={},xe=null,he=null;if(A!=null)for(Z in A.ref!==void 0&&(he=A.ref),A.key!==void 0&&(xe=""+A.key),A)G.call(A,Z)&&!B.hasOwnProperty(Z)&&(ae[Z]=A[Z]);var de=arguments.length-2;if(de===1)ae.children=K;else if(1>>1,A=P[_];if(0>>1;_c(ae,I))xec(he,ae)?(P[_]=he,P[xe]=I,_=xe):(P[_]=ae,P[Z]=I,_=Z);else if(xec(he,I))P[_]=he,P[xe]=I,_=xe;else break e}}return X}function c(P,X){var I=P.sortIndex-X.sortIndex;return I!==0?I:P.id-X.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;t.unstable_now=function(){return u.now()}}else{var h=Date,m=h.now();t.unstable_now=function(){return h.now()-m}}var v=[],g=[],w=1,p=null,N=3,E=!1,O=!1,j=!1,b=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,F=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function z(P){for(var X=i(g);X!==null;){if(X.callback===null)o(g);else if(X.startTime<=P)o(g),X.sortIndex=X.expirationTime,s(v,X);else break;X=i(g)}}function V(P){if(j=!1,z(P),!O)if(i(v)!==null)O=!0,ce(G);else{var X=i(g);X!==null&&M(V,X.startTime-P)}}function G(P,X){O=!1,j&&(j=!1,S(U),U=-1),E=!0;var I=N;try{for(z(X),p=i(v);p!==null&&(!(p.expirationTime>X)||P&&!Pe());){var _=p.callback;if(typeof _=="function"){p.callback=null,N=p.priorityLevel;var A=_(p.expirationTime<=X);X=t.unstable_now(),typeof A=="function"?p.callback=A:p===i(v)&&o(v),z(X)}else o(v);p=i(v)}if(p!==null)var K=!0;else{var Z=i(g);Z!==null&&M(V,Z.startTime-X),K=!1}return K}finally{p=null,N=I,E=!1}}var $=!1,B=null,U=-1,ie=5,ue=-1;function Pe(){return!(t.unstable_now()-ueP||125_?(P.sortIndex=I,s(g,P),i(v)===null&&P===i(g)&&(j?(S(U),U=-1):j=!0,M(V,I-_))):(P.sortIndex=A,s(v,P),O||E||(O=!0,ce(G))),P},t.unstable_shouldYield=Pe,t.unstable_wrapCallback=function(P){var X=N;return function(){var I=N;N=X;try{return P.apply(this,arguments)}finally{N=I}}}})(ac)),ac}var Yf;function rg(){return Yf||(Yf=1,sc.exports=ng()),sc.exports}var Xf;function sg(){if(Xf)return Ot;Xf=1;var t=Qc(),s=rg();function i(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),v=Object.prototype.hasOwnProperty,g=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,w={},p={};function N(e){return v.call(p,e)?!0:v.call(w,e)?!1:g.test(e)?p[e]=!0:(w[e]=!0,!1)}function E(e,n,a,l){if(a!==null&&a.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return l?!1:a!==null?!a.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function O(e,n,a,l){if(n===null||typeof n>"u"||E(e,n,a,l))return!0;if(l)return!1;if(a!==null)switch(a.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function j(e,n,a,l,d,f,y){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=l,this.attributeNamespace=d,this.mustUseProperty=a,this.propertyName=e,this.type=n,this.sanitizeURL=f,this.removeEmptyString=y}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){b[e]=new j(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];b[n]=new j(n,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){b[e]=new j(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){b[e]=new j(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){b[e]=new j(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){b[e]=new j(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){b[e]=new j(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){b[e]=new j(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){b[e]=new j(e,5,!1,e.toLowerCase(),null,!1,!1)});var S=/[\-:]([a-z])/g;function F(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(S,F);b[n]=new j(n,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(S,F);b[n]=new j(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(S,F);b[n]=new j(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){b[e]=new j(e,1,!1,e.toLowerCase(),null,!1,!1)}),b.xlinkHref=new j("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){b[e]=new j(e,1,!1,e.toLowerCase(),null,!0,!0)});function z(e,n,a,l){var d=b.hasOwnProperty(n)?b[n]:null;(d!==null?d.type!==0:l||!(2k||d[y]!==f[k]){var C=` +`+d[y].replace(" at new "," at ");return e.displayName&&C.includes("")&&(C=C.replace("",e.displayName)),C}while(1<=y&&0<=k);break}}}finally{K=!1,Error.prepareStackTrace=a}return(e=e?e.displayName||e.name:"")?A(e):""}function ae(e){switch(e.tag){case 5:return A(e.type);case 16:return A("Lazy");case 13:return A("Suspense");case 19:return A("SuspenseList");case 0:case 2:case 15:return e=Z(e.type,!1),e;case 11:return e=Z(e.type.render,!1),e;case 1:return e=Z(e.type,!0),e;default:return""}}function xe(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case B:return"Fragment";case $:return"Portal";case ie:return"Profiler";case U:return"StrictMode";case Te:return"Suspense";case Fe:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Pe:return(e.displayName||"Context")+".Consumer";case ue:return(e._context.displayName||"Context")+".Provider";case Ee:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ie:return n=e.displayName||null,n!==null?n:xe(e.type)||"Memo";case ce:n=e._payload,e=e._init;try{return xe(e(n))}catch{}}return null}function he(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return xe(n);case 8:return n===U?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function de(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Re(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function He(e){var n=Re(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),l=""+e[n];if(!e.hasOwnProperty(n)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var d=a.get,f=a.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return d.call(this)},set:function(y){l=""+y,f.call(this,y)}}),Object.defineProperty(e,n,{enumerable:a.enumerable}),{getValue:function(){return l},setValue:function(y){l=""+y},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function It(e){e._valueTracker||(e._valueTracker=He(e))}function St(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var a=n.getValue(),l="";return e&&(l=Re(e)?e.checked?"true":"false":e.value),e=l,e!==a?(n.setValue(e),!0):!1}function Hr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function vr(e,n){var a=n.checked;return I({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??e._wrapperState.initialChecked})}function ka(e,n){var a=n.defaultValue==null?"":n.defaultValue,l=n.checked!=null?n.checked:n.defaultChecked;a=de(n.value!=null?n.value:a),e._wrapperState={initialChecked:l,initialValue:a,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function _s(e,n){n=n.checked,n!=null&&z(e,"checked",n,!1)}function yn(e,n){_s(e,n);var a=de(n.value),l=n.type;if(a!=null)l==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+a):e.value!==""+a&&(e.value=""+a);else if(l==="submit"||l==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?Mt(e,n.type,a):n.hasOwnProperty("defaultValue")&&Mt(e,n.type,de(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Cs(e,n,a){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var l=n.type;if(!(l!=="submit"&&l!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,a||n===e.value||(e.value=n),e.defaultValue=n}a=e.name,a!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,a!==""&&(e.name=a)}function Mt(e,n,a){(n!=="number"||Hr(e.ownerDocument)!==e)&&(a==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+a&&(e.defaultValue=""+a))}var xr=Array.isArray;function Ln(e,n,a,l){if(e=e.options,n){n={};for(var d=0;d"+n.valueOf().toString()+"",n=yr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function $t(e,n){if(n){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=n;return}}e.textContent=n}var Fn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},An=["Webkit","ms","Moz","O"];Object.keys(Fn).forEach(function(e){An.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),Fn[n]=Fn[e]})});function Ca(e,n,a){return n==null||typeof n=="boolean"||n===""?"":a||typeof n!="number"||n===0||Fn.hasOwnProperty(e)&&Fn[e]?(""+n).trim():n+"px"}function Ea(e,n){e=e.style;for(var a in n)if(n.hasOwnProperty(a)){var l=a.indexOf("--")===0,d=Ca(a,n[a],l);a==="float"&&(a="cssFloat"),l?e.setProperty(a,d):e[a]=d}}var Ra=I({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Wr(e,n){if(n){if(Ra[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(i(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(i(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(i(61))}if(n.style!=null&&typeof n.style!="object")throw Error(i(62))}}function Rs(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var jr=null;function Bt(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ps=null,zn=null,bn=null;function Os(e){if(e=Xs(e)){if(typeof Ps!="function")throw Error(i(280));var n=e.stateNode;n&&(n=Ya(n),Ps(e.stateNode,e.type,n))}}function je(e){zn?bn?bn.push(e):bn=[e]:zn=e}function Ge(){if(zn){var e=zn,n=bn;if(bn=zn=null,Os(e),n)for(e=0;e>>=0,e===0?32:31-(mv(e)/pv|0)|0}var Ta=64,Ia=4194304;function Is(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ma(e,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,d=e.suspendedLanes,f=e.pingedLanes,y=a&268435455;if(y!==0){var k=y&~d;k!==0?l=Is(k):(f&=y,f!==0&&(l=Is(f)))}else y=a&~d,y!==0?l=Is(y):f!==0&&(l=Is(f));if(l===0)return 0;if(n!==0&&n!==l&&(n&d)===0&&(d=l&-l,f=n&-n,d>=f||d===16&&(f&4194240)!==0))return n;if((l&4)!==0&&(l|=a&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=l;0a;a++)n.push(e);return n}function Ms(e,n,a){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Jt(n),e[n]=a}function yv(e,n){var a=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var l=e.eventTimes;for(e=e.expirationTimes;0=Bs),Fd=" ",Ad=!1;function zd(e,n){switch(e){case"keyup":return Vv.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ud(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Kr=!1;function Gv(e,n){switch(e){case"compositionend":return Ud(n);case"keypress":return n.which!==32?null:(Ad=!0,Fd);case"textInput":return e=n.data,e===Fd&&Ad?null:e;default:return null}}function Yv(e,n){if(Kr)return e==="compositionend"||!Do&&zd(e,n)?(e=Od(),za=Ro=Vn=null,Kr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:a,offset:n-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Vd(a)}}function Gd(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Gd(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Yd(){for(var e=window,n=Hr();n instanceof e.HTMLIFrameElement;){try{var a=typeof n.contentWindow.location.href=="string"}catch{a=!1}if(a)e=n.contentWindow;else break;n=Hr(e.document)}return n}function Ao(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function ax(e){var n=Yd(),a=e.focusedElem,l=e.selectionRange;if(n!==a&&a&&a.ownerDocument&&Gd(a.ownerDocument.documentElement,a)){if(l!==null&&Ao(a)){if(n=l.start,e=l.end,e===void 0&&(e=n),"selectionStart"in a)a.selectionStart=n,a.selectionEnd=Math.min(e,a.value.length);else if(e=(n=a.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var d=a.textContent.length,f=Math.min(l.start,d);l=l.end===void 0?f:Math.min(l.end,d),!e.extend&&f>l&&(d=l,l=f,f=d),d=Kd(a,f);var y=Kd(a,l);d&&y&&(e.rangeCount!==1||e.anchorNode!==d.node||e.anchorOffset!==d.offset||e.focusNode!==y.node||e.focusOffset!==y.offset)&&(n=n.createRange(),n.setStart(d.node,d.offset),e.removeAllRanges(),f>l?(e.addRange(n),e.extend(y.node,y.offset)):(n.setEnd(y.node,y.offset),e.addRange(n)))}}for(n=[],e=a;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof a.focus=="function"&&a.focus(),a=0;a=document.documentMode,Gr=null,zo=null,qs=null,Uo=!1;function Xd(e,n,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Uo||Gr==null||Gr!==Hr(l)||(l=Gr,"selectionStart"in l&&Ao(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),qs&&Ws(qs,l)||(qs=l,l=Va(zo,"onSelect"),0es||(e.current=Jo[es],Jo[es]=null,es--)}function Ae(e,n){es++,Jo[es]=e.current,e.current=n}var Xn={},vt=Yn(Xn),_t=Yn(!1),Nr=Xn;function ts(e,n){var a=e.type.contextTypes;if(!a)return Xn;var l=e.stateNode;if(l&&l.__reactInternalMemoizedUnmaskedChildContext===n)return l.__reactInternalMemoizedMaskedChildContext;var d={},f;for(f in a)d[f]=n[f];return l&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=d),d}function Ct(e){return e=e.childContextTypes,e!=null}function Xa(){Ue(_t),Ue(vt)}function fu(e,n,a){if(vt.current!==Xn)throw Error(i(168));Ae(vt,n),Ae(_t,a)}function hu(e,n,a){var l=e.stateNode;if(n=n.childContextTypes,typeof l.getChildContext!="function")return a;l=l.getChildContext();for(var d in l)if(!(d in n))throw Error(i(108,he(e)||"Unknown",d));return I({},a,l)}function Ja(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Xn,Nr=vt.current,Ae(vt,e),Ae(_t,_t.current),!0}function mu(e,n,a){var l=e.stateNode;if(!l)throw Error(i(169));a?(e=hu(e,n,Nr),l.__reactInternalMemoizedMergedChildContext=e,Ue(_t),Ue(vt),Ae(vt,e)):Ue(_t),Ae(_t,a)}var Nn=null,Za=!1,Zo=!1;function pu(e){Nn===null?Nn=[e]:Nn.push(e)}function xx(e){Za=!0,pu(e)}function Jn(){if(!Zo&&Nn!==null){Zo=!0;var e=0,n=Le;try{var a=Nn;for(Le=1;e>=y,d-=y,kn=1<<32-Jt(n)+d|a<ye?(ct=pe,pe=null):ct=pe.sibling;var De=H(T,pe,D[ye],Y);if(De===null){pe===null&&(pe=ct);break}e&&pe&&De.alternate===null&&n(T,pe),R=f(De,R,ye),me===null?le=De:me.sibling=De,me=De,pe=ct}if(ye===D.length)return a(T,pe),Be&&Sr(T,ye),le;if(pe===null){for(;yeye?(ct=pe,pe=null):ct=pe.sibling;var or=H(T,pe,De.value,Y);if(or===null){pe===null&&(pe=ct);break}e&&pe&&or.alternate===null&&n(T,pe),R=f(or,R,ye),me===null?le=or:me.sibling=or,me=or,pe=ct}if(De.done)return a(T,pe),Be&&Sr(T,ye),le;if(pe===null){for(;!De.done;ye++,De=D.next())De=q(T,De.value,Y),De!==null&&(R=f(De,R,ye),me===null?le=De:me.sibling=De,me=De);return Be&&Sr(T,ye),le}for(pe=l(T,pe);!De.done;ye++,De=D.next())De=ee(pe,T,ye,De.value,Y),De!==null&&(e&&De.alternate!==null&&pe.delete(De.key===null?ye:De.key),R=f(De,R,ye),me===null?le=De:me.sibling=De,me=De);return e&&pe.forEach(function(Xx){return n(T,Xx)}),Be&&Sr(T,ye),le}function Xe(T,R,D,Y){if(typeof D=="object"&&D!==null&&D.type===B&&D.key===null&&(D=D.props.children),typeof D=="object"&&D!==null){switch(D.$$typeof){case G:e:{for(var le=D.key,me=R;me!==null;){if(me.key===le){if(le=D.type,le===B){if(me.tag===7){a(T,me.sibling),R=d(me,D.props.children),R.return=T,T=R;break e}}else if(me.elementType===le||typeof le=="object"&&le!==null&&le.$$typeof===ce&&bu(le)===me.type){a(T,me.sibling),R=d(me,D.props),R.ref=Js(T,me,D),R.return=T,T=R;break e}a(T,me);break}else n(T,me);me=me.sibling}D.type===B?(R=Ir(D.props.children,T.mode,Y,D.key),R.return=T,T=R):(Y=Ci(D.type,D.key,D.props,null,T.mode,Y),Y.ref=Js(T,R,D),Y.return=T,T=Y)}return y(T);case $:e:{for(me=D.key;R!==null;){if(R.key===me)if(R.tag===4&&R.stateNode.containerInfo===D.containerInfo&&R.stateNode.implementation===D.implementation){a(T,R.sibling),R=d(R,D.children||[]),R.return=T,T=R;break e}else{a(T,R);break}else n(T,R);R=R.sibling}R=Yl(D,T.mode,Y),R.return=T,T=R}return y(T);case ce:return me=D._init,Xe(T,R,me(D._payload),Y)}if(xr(D))return ne(T,R,D,Y);if(X(D))return oe(T,R,D,Y);ri(T,D)}return typeof D=="string"&&D!==""||typeof D=="number"?(D=""+D,R!==null&&R.tag===6?(a(T,R.sibling),R=d(R,D),R.return=T,T=R):(a(T,R),R=Gl(D,T.mode,Y),R.return=T,T=R),y(T)):a(T,R)}return Xe}var as=wu(!0),Nu=wu(!1),si=Yn(null),ai=null,is=null,al=null;function il(){al=is=ai=null}function ol(e){var n=si.current;Ue(si),e._currentValue=n}function ll(e,n,a){for(;e!==null;){var l=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,l!==null&&(l.childLanes|=n)):l!==null&&(l.childLanes&n)!==n&&(l.childLanes|=n),e===a)break;e=e.return}}function os(e,n){ai=e,al=is=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&n)!==0&&(Et=!0),e.firstContext=null)}function qt(e){var n=e._currentValue;if(al!==e)if(e={context:e,memoizedValue:n,next:null},is===null){if(ai===null)throw Error(i(308));is=e,ai.dependencies={lanes:0,firstContext:e}}else is=is.next=e;return n}var _r=null;function cl(e){_r===null?_r=[e]:_r.push(e)}function ku(e,n,a,l){var d=n.interleaved;return d===null?(a.next=a,cl(n)):(a.next=d.next,d.next=a),n.interleaved=a,_n(e,l)}function _n(e,n){e.lanes|=n;var a=e.alternate;for(a!==null&&(a.lanes|=n),a=e,e=e.return;e!==null;)e.childLanes|=n,a=e.alternate,a!==null&&(a.childLanes|=n),a=e,e=e.return;return a.tag===3?a.stateNode:null}var Zn=!1;function dl(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Su(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Cn(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function er(e,n,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(Me&2)!==0){var d=l.pending;return d===null?n.next=n:(n.next=d.next,d.next=n),l.pending=n,_n(e,a)}return d=l.interleaved,d===null?(n.next=n,cl(l)):(n.next=d.next,d.next=n),l.interleaved=n,_n(e,a)}function ii(e,n,a){if(n=n.updateQueue,n!==null&&(n=n.shared,(a&4194240)!==0)){var l=n.lanes;l&=e.pendingLanes,a|=l,n.lanes=a,ko(e,a)}}function _u(e,n){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var d=null,f=null;if(a=a.firstBaseUpdate,a!==null){do{var y={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};f===null?d=f=y:f=f.next=y,a=a.next}while(a!==null);f===null?d=f=n:f=f.next=n}else d=f=n;a={baseState:l.baseState,firstBaseUpdate:d,lastBaseUpdate:f,shared:l.shared,effects:l.effects},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=n:e.next=n,a.lastBaseUpdate=n}function oi(e,n,a,l){var d=e.updateQueue;Zn=!1;var f=d.firstBaseUpdate,y=d.lastBaseUpdate,k=d.shared.pending;if(k!==null){d.shared.pending=null;var C=k,L=C.next;C.next=null,y===null?f=L:y.next=L,y=C;var Q=e.alternate;Q!==null&&(Q=Q.updateQueue,k=Q.lastBaseUpdate,k!==y&&(k===null?Q.firstBaseUpdate=L:k.next=L,Q.lastBaseUpdate=C))}if(f!==null){var q=d.baseState;y=0,Q=L=C=null,k=f;do{var H=k.lane,ee=k.eventTime;if((l&H)===H){Q!==null&&(Q=Q.next={eventTime:ee,lane:0,tag:k.tag,payload:k.payload,callback:k.callback,next:null});e:{var ne=e,oe=k;switch(H=n,ee=a,oe.tag){case 1:if(ne=oe.payload,typeof ne=="function"){q=ne.call(ee,q,H);break e}q=ne;break e;case 3:ne.flags=ne.flags&-65537|128;case 0:if(ne=oe.payload,H=typeof ne=="function"?ne.call(ee,q,H):ne,H==null)break e;q=I({},q,H);break e;case 2:Zn=!0}}k.callback!==null&&k.lane!==0&&(e.flags|=64,H=d.effects,H===null?d.effects=[k]:H.push(k))}else ee={eventTime:ee,lane:H,tag:k.tag,payload:k.payload,callback:k.callback,next:null},Q===null?(L=Q=ee,C=q):Q=Q.next=ee,y|=H;if(k=k.next,k===null){if(k=d.shared.pending,k===null)break;H=k,k=H.next,H.next=null,d.lastBaseUpdate=H,d.shared.pending=null}}while(!0);if(Q===null&&(C=q),d.baseState=C,d.firstBaseUpdate=L,d.lastBaseUpdate=Q,n=d.shared.interleaved,n!==null){d=n;do y|=d.lane,d=d.next;while(d!==n)}else f===null&&(d.shared.lanes=0);Rr|=y,e.lanes=y,e.memoizedState=q}}function Cu(e,n,a){if(e=n.effects,n.effects=null,e!==null)for(n=0;na?a:4,e(!0);var l=pl.transition;pl.transition={};try{e(!1),n()}finally{Le=a,pl.transition=l}}function qu(){return Vt().memoizedState}function bx(e,n,a){var l=sr(e);if(a={lane:l,action:a,hasEagerState:!1,eagerState:null,next:null},Vu(e))Ku(n,a);else if(a=ku(e,n,a,l),a!==null){var d=wt();sn(a,e,l,d),Gu(a,n,l)}}function wx(e,n,a){var l=sr(e),d={lane:l,action:a,hasEagerState:!1,eagerState:null,next:null};if(Vu(e))Ku(n,d);else{var f=e.alternate;if(e.lanes===0&&(f===null||f.lanes===0)&&(f=n.lastRenderedReducer,f!==null))try{var y=n.lastRenderedState,k=f(y,a);if(d.hasEagerState=!0,d.eagerState=k,Zt(k,y)){var C=n.interleaved;C===null?(d.next=d,cl(n)):(d.next=C.next,C.next=d),n.interleaved=d;return}}catch{}a=ku(e,n,d,l),a!==null&&(d=wt(),sn(a,e,l,d),Gu(a,n,l))}}function Vu(e){var n=e.alternate;return e===We||n!==null&&n===We}function Ku(e,n){na=di=!0;var a=e.pending;a===null?n.next=n:(n.next=a.next,a.next=n),e.pending=n}function Gu(e,n,a){if((a&4194240)!==0){var l=n.lanes;l&=e.pendingLanes,a|=l,n.lanes=a,ko(e,a)}}var hi={readContext:qt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},Nx={readContext:qt,useCallback:function(e,n){return fn().memoizedState=[e,n===void 0?null:n],e},useContext:qt,useEffect:Au,useImperativeHandle:function(e,n,a){return a=a!=null?a.concat([e]):null,ui(4194308,4,$u.bind(null,n,e),a)},useLayoutEffect:function(e,n){return ui(4194308,4,e,n)},useInsertionEffect:function(e,n){return ui(4,2,e,n)},useMemo:function(e,n){var a=fn();return n=n===void 0?null:n,e=e(),a.memoizedState=[e,n],e},useReducer:function(e,n,a){var l=fn();return n=a!==void 0?a(n):n,l.memoizedState=l.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},l.queue=e,e=e.dispatch=bx.bind(null,We,e),[l.memoizedState,e]},useRef:function(e){var n=fn();return e={current:e},n.memoizedState=e},useState:Lu,useDebugValue:wl,useDeferredValue:function(e){return fn().memoizedState=e},useTransition:function(){var e=Lu(!1),n=e[0];return e=jx.bind(null,e[1]),fn().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,a){var l=We,d=fn();if(Be){if(a===void 0)throw Error(i(407));a=a()}else{if(a=n(),lt===null)throw Error(i(349));(Er&30)!==0||Ou(l,n,a)}d.memoizedState=a;var f={value:a,getSnapshot:n};return d.queue=f,Au(Iu.bind(null,l,f,e),[e]),l.flags|=2048,aa(9,Tu.bind(null,l,f,a,n),void 0,null),a},useId:function(){var e=fn(),n=lt.identifierPrefix;if(Be){var a=Sn,l=kn;a=(l&~(1<<32-Jt(l)-1)).toString(32)+a,n=":"+n+"R"+a,a=ra++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=v.createElement(s,{is:i.is}):(e=v.createElement(s),s==="select"&&(v=e,i.multiple?v.multiple=!0:i.size&&(v.size=i.size))):e=v.createElementNS(e,s),e[an]=t,e[zs]=i,Wd(e,t,!1,!1),t.stateNode=e;e:{switch(v=xs(s,i),s){case"dialog":Ae("cancel",e),Ae("close",e),c=i;break;case"iframe":case"object":case"embed":Ae("load",e),c=i;break;case"video":case"audio":for(c=0;crs&&(t.flags|=128,i=!0,Gs(f,!1),t.lanes=4194304)}else{if(!i)if(e=Xa(v),e!==null){if(t.flags|=128,i=!0,s=e.updateQueue,s!==null&&(t.updateQueue=s,t.flags|=4),Gs(f,!0),f.tail===null&&f.tailMode==="hidden"&&!v.alternate&&!Ue)return gt(t),null}else 2*qe()-f.renderingStartTime>rs&&s!==1073741824&&(t.flags|=128,i=!0,Gs(f,!1),t.lanes=4194304);f.isBackwards?(v.sibling=t.child,t.child=v):(s=f.last,s!==null?s.sibling=v:t.child=v,f.last=v)}return f.tail!==null?(t=f.tail,f.rendering=t,f.tail=t.sibling,f.renderingStartTime=qe(),t.sibling=null,s=Be.current,Ie(Be,i?s&1|2:s&1),t):(gt(t),null);case 22:case 23:return Ll(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&(t.mode&1)!==0?(Ft&1073741824)!==0&&(gt(t),t.subtreeFlags&6&&(t.flags|=8192)):gt(t),null;case 24:return null;case 25:return null}throw Error(o(156,t.tag))}function Hv(e,t){switch(Hi(t),t.tag){case 1:return St(t.type)&&Ua(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Zr(),ze(kt),ze(pt),nl(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return el(t),null;case 13:if(ze(Be),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));Gr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ze(Be),null;case 4:return Zr(),null;case 10:return Gi(t.type._context),null;case 22:case 23:return Ll(),null;case 24:return null;default:return null}}var oo=!1,xt=!1,Wv=typeof WeakSet=="function"?WeakSet:Set,ee=null;function ts(e,t){var s=e.ref;if(s!==null)if(typeof s=="function")try{s(null)}catch(i){Qe(e,t,i)}else s.current=null}function bl(e,t,s){try{s()}catch(i){Qe(e,t,i)}}var qd=!1;function Qv(e,t){if(Li=Ca,e=Su(),Ci(e)){if("selectionStart"in e)var s={start:e.selectionStart,end:e.selectionEnd};else e:{s=(s=e.ownerDocument)&&s.defaultView||window;var i=s.getSelection&&s.getSelection();if(i&&i.rangeCount!==0){s=i.anchorNode;var c=i.anchorOffset,f=i.focusNode;i=i.focusOffset;try{s.nodeType,f.nodeType}catch{s=null;break e}var v=0,k=-1,C=-1,I=0,U=0,B=e,z=null;t:for(;;){for(var J;B!==s||c!==0&&B.nodeType!==3||(k=v+c),B!==f||i!==0&&B.nodeType!==3||(C=v+i),B.nodeType===3&&(v+=B.nodeValue.length),(J=B.firstChild)!==null;)z=B,B=J;for(;;){if(B===e)break t;if(z===s&&++I===c&&(k=v),z===f&&++U===i&&(C=v),(J=B.nextSibling)!==null)break;B=z,z=B.parentNode}B=J}s=k===-1||C===-1?null:{start:k,end:C}}else s=null}s=s||{start:0,end:0}}else s=null;for(Di={focusedElem:e,selectionRange:s},Ca=!1,ee=t;ee!==null;)if(t=ee,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ee=e;else for(;ee!==null;){t=ee;try{var te=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(te!==null){var ae=te.memoizedProps,Ke=te.memoizedState,T=t.stateNode,_=T.getSnapshotBeforeUpdate(t.elementType===t.type?ae:Zt(t.type,ae),Ke);T.__reactInternalSnapshotBeforeUpdate=_}break;case 3:var L=t.stateNode.containerInfo;L.nodeType===1?L.textContent="":L.nodeType===9&&L.documentElement&&L.removeChild(L.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(W){Qe(t,t.return,W)}if(e=t.sibling,e!==null){e.return=t.return,ee=e;break}ee=t.return}return te=qd,qd=!1,te}function Ys(e,t,s){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var c=i=i.next;do{if((c.tag&e)===e){var f=c.destroy;c.destroy=void 0,f!==void 0&&bl(t,s,f)}c=c.next}while(c!==i)}}function io(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var s=t=t.next;do{if((s.tag&e)===e){var i=s.create;s.destroy=i()}s=s.next}while(s!==t)}}function Nl(e){var t=e.ref;if(t!==null){var s=e.stateNode;e.tag,e=s,typeof t=="function"?t(e):t.current=e}}function Kd(e){var t=e.alternate;t!==null&&(e.alternate=null,Kd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[an],delete t[zs],delete t[zi],delete t[Ev],delete t[_v])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Gd(e){return e.tag===5||e.tag===3||e.tag===4}function Yd(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Gd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function kl(e,t,s){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?s.nodeType===8?s.parentNode.insertBefore(e,t):s.insertBefore(e,t):(s.nodeType===8?(t=s.parentNode,t.insertBefore(e,s)):(t=s,t.appendChild(e)),s=s._reactRootContainer,s!=null||t.onclick!==null||(t.onclick=Aa));else if(i!==4&&(e=e.child,e!==null))for(kl(e,t,s),e=e.sibling;e!==null;)kl(e,t,s),e=e.sibling}function Sl(e,t,s){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?s.insertBefore(e,t):s.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Sl(e,t,s),e=e.sibling;e!==null;)Sl(e,t,s),e=e.sibling}var dt=null,en=!1;function Xn(e,t,s){for(s=s.child;s!==null;)Xd(e,t,s),s=s.sibling}function Xd(e,t,s){if(sn&&typeof sn.onCommitFiberUnmount=="function")try{sn.onCommitFiberUnmount(wa,s)}catch{}switch(s.tag){case 5:xt||ts(s,t);case 6:var i=dt,c=en;dt=null,Xn(e,t,s),dt=i,en=c,dt!==null&&(en?(e=dt,s=s.stateNode,e.nodeType===8?e.parentNode.removeChild(s):e.removeChild(s)):dt.removeChild(s.stateNode));break;case 18:dt!==null&&(en?(e=dt,s=s.stateNode,e.nodeType===8?Ai(e.parentNode,s):e.nodeType===1&&Ai(e,s),_s(e)):Ai(dt,s.stateNode));break;case 4:i=dt,c=en,dt=s.stateNode.containerInfo,en=!0,Xn(e,t,s),dt=i,en=c;break;case 0:case 11:case 14:case 15:if(!xt&&(i=s.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){c=i=i.next;do{var f=c,v=f.destroy;f=f.tag,v!==void 0&&((f&2)!==0||(f&4)!==0)&&bl(s,t,v),c=c.next}while(c!==i)}Xn(e,t,s);break;case 1:if(!xt&&(ts(s,t),i=s.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=s.memoizedProps,i.state=s.memoizedState,i.componentWillUnmount()}catch(k){Qe(s,t,k)}Xn(e,t,s);break;case 21:Xn(e,t,s);break;case 22:s.mode&1?(xt=(i=xt)||s.memoizedState!==null,Xn(e,t,s),xt=i):Xn(e,t,s);break;default:Xn(e,t,s)}}function Jd(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var s=e.stateNode;s===null&&(s=e.stateNode=new Wv),t.forEach(function(i){var c=eg.bind(null,e,i);s.has(i)||(s.add(i),i.then(c,c))})}}function tn(e,t){var s=t.deletions;if(s!==null)for(var i=0;ic&&(c=v),i&=~f}if(i=c,i=qe()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*qv(i/1960))-i,10e?16:e,Zn===null)var i=!1;else{if(e=Zn,Zn=null,ho=0,(ke&6)!==0)throw Error(o(331));var c=ke;for(ke|=4,ee=e.current;ee!==null;){var f=ee,v=f.child;if((ee.flags&16)!==0){var k=f.deletions;if(k!==null){for(var C=0;Cqe()-_l?kr(e,0):El|=s),_t(e,t)}function ff(e,t){t===0&&((e.mode&1)===0?t=1:(t=ba,ba<<=1,(ba&130023424)===0&&(ba=4194304)));var s=jt();e=wn(e,t),e!==null&&(Ns(e,t,s),_t(e,s))}function Zv(e){var t=e.memoizedState,s=0;t!==null&&(s=t.retryLane),ff(e,s)}function eg(e,t){var s=0;switch(e.tag){case 13:var i=e.stateNode,c=e.memoizedState;c!==null&&(s=c.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(o(314))}i!==null&&i.delete(t),ff(e,s)}var hf;hf=function(e,t,s){if(e!==null)if(e.memoizedProps!==t.pendingProps||kt.current)Ct=!0;else{if((e.lanes&s)===0&&(t.flags&128)===0)return Ct=!1,$v(e,t,s);Ct=(e.flags&131072)!==0}else Ct=!1,Ue&&(t.flags&1048576)!==0&&Qu(t,Wa,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;ao(e,t),e=t.pendingProps;var c=Vr(t,pt.current);Jr(t,s),c=al(null,t,i,e,c,s);var f=ol();return t.flags|=1,typeof c=="object"&&c!==null&&typeof c.render=="function"&&c.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,St(i)?(f=!0,$a(t)):f=!1,t.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,Ji(t),c.updater=ro,t.stateNode=c,c._reactInternals=t,fl(t,i,e,s),t=vl(null,t,i,!0,f,s)):(t.tag=0,Ue&&f&&Bi(t),wt(null,t,c,s),t=t.child),t;case 16:i=t.elementType;e:{switch(ao(e,t),e=t.pendingProps,c=i._init,i=c(i._payload),t.type=i,c=t.tag=ng(i),e=Zt(i,e),c){case 0:t=pl(null,t,i,e,s);break e;case 1:t=Ad(null,t,i,e,s);break e;case 11:t=Md(null,t,i,e,s);break e;case 14:t=Ld(null,t,i,Zt(i.type,e),s);break e}throw Error(o(306,i,""))}return t;case 0:return i=t.type,c=t.pendingProps,c=t.elementType===i?c:Zt(i,c),pl(e,t,i,c,s);case 1:return i=t.type,c=t.pendingProps,c=t.elementType===i?c:Zt(i,c),Ad(e,t,i,c,s);case 3:e:{if(zd(t),e===null)throw Error(o(387));i=t.pendingProps,f=t.memoizedState,c=f.element,ed(e,t),Ya(t,i,null,s);var v=t.memoizedState;if(i=v.element,f.isDehydrated)if(f={element:i,isDehydrated:!1,cache:v.cache,pendingSuspenseBoundaries:v.pendingSuspenseBoundaries,transitions:v.transitions},t.updateQueue.baseState=f,t.memoizedState=f,t.flags&256){c=es(Error(o(423)),t),t=Ud(e,t,i,s,c);break e}else if(i!==c){c=es(Error(o(424)),t),t=Ud(e,t,i,s,c);break e}else for(It=Qn(t.stateNode.containerInfo.firstChild),Dt=t,Ue=!0,Jt=null,s=Ju(t,null,i,s),t.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(Gr(),i===c){t=bn(e,t,s);break e}wt(e,t,i,s)}t=t.child}return t;case 5:return rd(t),e===null&&Qi(t),i=t.type,c=t.pendingProps,f=e!==null?e.memoizedProps:null,v=c.children,Ii(i,c)?v=null:f!==null&&Ii(i,f)&&(t.flags|=32),Fd(e,t),wt(e,t,v,s),t.child;case 6:return e===null&&Qi(t),null;case 13:return $d(e,t,s);case 4:return Zi(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=Yr(t,null,i,s):wt(e,t,i,s),t.child;case 11:return i=t.type,c=t.pendingProps,c=t.elementType===i?c:Zt(i,c),Md(e,t,i,c,s);case 7:return wt(e,t,t.pendingProps,s),t.child;case 8:return wt(e,t,t.pendingProps.children,s),t.child;case 12:return wt(e,t,t.pendingProps.children,s),t.child;case 10:e:{if(i=t.type._context,c=t.pendingProps,f=t.memoizedProps,v=c.value,Ie(qa,i._currentValue),i._currentValue=v,f!==null)if(Xt(f.value,v)){if(f.children===c.children&&!kt.current){t=bn(e,t,s);break e}}else for(f=t.child,f!==null&&(f.return=t);f!==null;){var k=f.dependencies;if(k!==null){v=f.child;for(var C=k.firstContext;C!==null;){if(C.context===i){if(f.tag===1){C=jn(-1,s&-s),C.tag=2;var I=f.updateQueue;if(I!==null){I=I.shared;var U=I.pending;U===null?C.next=C:(C.next=U.next,U.next=C),I.pending=C}}f.lanes|=s,C=f.alternate,C!==null&&(C.lanes|=s),Yi(f.return,s,t),k.lanes|=s;break}C=C.next}}else if(f.tag===10)v=f.type===t.type?null:f.child;else if(f.tag===18){if(v=f.return,v===null)throw Error(o(341));v.lanes|=s,k=v.alternate,k!==null&&(k.lanes|=s),Yi(v,s,t),v=f.sibling}else v=f.child;if(v!==null)v.return=f;else for(v=f;v!==null;){if(v===t){v=null;break}if(f=v.sibling,f!==null){f.return=v.return,v=f;break}v=v.return}f=v}wt(e,t,c.children,s),t=t.child}return t;case 9:return c=t.type,i=t.pendingProps.children,Jr(t,s),c=Wt(c),i=i(c),t.flags|=1,wt(e,t,i,s),t.child;case 14:return i=t.type,c=Zt(i,t.pendingProps),c=Zt(i.type,c),Ld(e,t,i,c,s);case 15:return Dd(e,t,t.type,t.pendingProps,s);case 17:return i=t.type,c=t.pendingProps,c=t.elementType===i?c:Zt(i,c),ao(e,t),t.tag=1,St(i)?(e=!0,$a(t)):e=!1,Jr(t,s),Cd(t,i,c),fl(t,i,c,s),vl(null,t,i,!0,e,s);case 19:return Hd(e,t,s);case 22:return Id(e,t,s)}throw Error(o(156,t.tag))};function mf(e,t){return Vc(e,t)}function tg(e,t,s,i){this.tag=e,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function qt(e,t,s,i){return new tg(e,t,s,i)}function Il(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ng(e){if(typeof e=="function")return Il(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Me)return 11;if(e===Fe)return 14}return 2}function nr(e,t){var s=e.alternate;return s===null?(s=qt(e.tag,t,e.key,e.mode),s.elementType=e.elementType,s.type=e.type,s.stateNode=e.stateNode,s.alternate=e,e.alternate=s):(s.pendingProps=t,s.type=e.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=e.flags&14680064,s.childLanes=e.childLanes,s.lanes=e.lanes,s.child=e.child,s.memoizedProps=e.memoizedProps,s.memoizedState=e.memoizedState,s.updateQueue=e.updateQueue,t=e.dependencies,s.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},s.sibling=e.sibling,s.index=e.index,s.ref=e.ref,s}function go(e,t,s,i,c,f){var v=2;if(i=e,typeof e=="function")Il(e)&&(v=1);else if(typeof e=="string")v=5;else e:switch(e){case K:return Cr(s.children,c,f,t);case $:v=8,c|=8;break;case ge:return e=qt(12,s,t,c|2),e.elementType=ge,e.lanes=f,e;case Ce:return e=qt(13,s,t,c),e.elementType=Ce,e.lanes=f,e;case De:return e=qt(19,s,t,c),e.elementType=De,e.lanes=f,e;case me:return xo(s,c,f,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case pe:v=10;break e;case Se:v=9;break e;case Me:v=11;break e;case Fe:v=14;break e;case ue:v=16,i=null;break e}throw Error(o(130,e==null?e:typeof e,""))}return t=qt(v,s,t,c),t.elementType=e,t.type=i,t.lanes=f,t}function Cr(e,t,s,i){return e=qt(7,e,i,t),e.lanes=s,e}function xo(e,t,s,i){return e=qt(22,e,i,t),e.elementType=me,e.lanes=s,e.stateNode={isHidden:!1},e}function Fl(e,t,s){return e=qt(6,e,null,t),e.lanes=s,e}function Al(e,t,s){return t=qt(4,e.children!==null?e.children:[],e.key,t),t.lanes=s,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function rg(e,t,s,i,c){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=di(0),this.expirationTimes=di(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=di(0),this.identifierPrefix=i,this.onRecoverableError=c,this.mutableSourceEagerHydrationData=null}function zl(e,t,s,i,c,f,v,k,C){return e=new rg(e,t,s,k,C),t===1?(t=1,f===!0&&(t|=8)):t=0,f=qt(3,null,null,t),e.current=f,f.stateNode=e,f.memoizedState={element:i,isDehydrated:s,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ji(f),e}function sg(e,t,s){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}return n(),Ql.exports=vg(),Ql.exports}var _f;function gg(){if(_f)return So;_f=1;var n=Sh();return So.createRoot=n.createRoot,So.hydrateRoot=n.hydrateRoot,So}var xg=gg(),ds=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(n){return this.listeners.add(n),this.onSubscribe(),()=>{this.listeners.delete(n),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},yg={setTimeout:(n,r)=>setTimeout(n,r),clearTimeout:n=>clearTimeout(n),setInterval:(n,r)=>setInterval(n,r),clearInterval:n=>clearInterval(n)},wg=class{#t=yg;#e=!1;setTimeoutProvider(n){this.#t=n}setTimeout(n,r){return this.#t.setTimeout(n,r)}clearTimeout(n){this.#t.clearTimeout(n)}setInterval(n,r){return this.#t.setInterval(n,r)}clearInterval(n){this.#t.clearInterval(n)}},_r=new wg;function jg(n){setTimeout(n,0)}var Rr=typeof window>"u"||"Deno"in globalThis;function bt(){}function bg(n,r){return typeof n=="function"?n(r):n}function lc(n){return typeof n=="number"&&n>=0&&n!==1/0}function Ch(n,r){return Math.max(n+(r||0)-Date.now(),0)}function or(n,r){return typeof n=="function"?n(r):n}function Kt(n,r){return typeof n=="function"?n(r):n}function Rf(n,r){const{type:o="all",exact:l,fetchStatus:u,predicate:d,queryKey:h,stale:m}=n;if(h){if(l){if(r.queryHash!==Sc(h,r.options))return!1}else if(!aa(r.queryKey,h))return!1}if(o!=="all"){const y=r.isActive();if(o==="active"&&!y||o==="inactive"&&y)return!1}return!(typeof m=="boolean"&&r.isStale()!==m||u&&u!==r.state.fetchStatus||d&&!d(r))}function Pf(n,r){const{exact:o,status:l,predicate:u,mutationKey:d}=n;if(d){if(!r.options.mutationKey)return!1;if(o){if(sa(r.options.mutationKey)!==sa(d))return!1}else if(!aa(r.options.mutationKey,d))return!1}return!(l&&r.state.status!==l||u&&!u(r))}function Sc(n,r){return(r?.queryKeyHashFn||sa)(n)}function sa(n){return JSON.stringify(n,(r,o)=>cc(o)?Object.keys(o).sort().reduce((l,u)=>(l[u]=o[u],l),{}):o)}function aa(n,r){return n===r?!0:typeof n!=typeof r?!1:n&&r&&typeof n=="object"&&typeof r=="object"?Object.keys(r).every(o=>aa(n[o],r[o])):!1}var Ng=Object.prototype.hasOwnProperty;function Cc(n,r){if(n===r)return n;const o=Of(n)&&Of(r);if(!o&&!(cc(n)&&cc(r)))return r;const u=(o?n:Object.keys(n)).length,d=o?r:Object.keys(r),h=d.length,m=o?new Array(h):{};let y=0;for(let x=0;x{_r.setTimeout(r,n)})}function uc(n,r,o){return typeof o.structuralSharing=="function"?o.structuralSharing(n,r):o.structuralSharing!==!1?Cc(n,r):r}function Sg(n,r,o=0){const l=[...n,r];return o&&l.length>o?l.slice(1):l}function Cg(n,r,o=0){const l=[r,...n];return o&&l.length>o?l.slice(0,-1):l}var Ec=Symbol();function Eh(n,r){return!n.queryFn&&r?.initialPromise?()=>r.initialPromise:!n.queryFn||n.queryFn===Ec?()=>Promise.reject(new Error(`Missing queryFn: '${n.queryHash}'`)):n.queryFn}function _h(n,r){return typeof n=="function"?n(...r):!!n}function Eg(n,r,o){let l=!1,u;return Object.defineProperty(n,"signal",{enumerable:!0,get:()=>(u??=r(),l||(l=!0,u.aborted?o():u.addEventListener("abort",o,{once:!0})),u)}),n}var _g=class extends ds{#t;#e;#n;constructor(){super(),this.#n=n=>{if(!Rr&&window.addEventListener){const r=()=>n();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}}}onSubscribe(){this.#e||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(n){this.#n=n,this.#e?.(),this.#e=n(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()})}setFocused(n){this.#t!==n&&(this.#t=n,this.onFocus())}onFocus(){const n=this.isFocused();this.listeners.forEach(r=>{r(n)})}isFocused(){return typeof this.#t=="boolean"?this.#t:globalThis.document?.visibilityState!=="hidden"}},_c=new _g;function dc(){let n,r;const o=new Promise((u,d)=>{n=u,r=d});o.status="pending",o.catch(()=>{});function l(u){Object.assign(o,u),delete o.resolve,delete o.reject}return o.resolve=u=>{l({status:"fulfilled",value:u}),n(u)},o.reject=u=>{l({status:"rejected",reason:u}),r(u)},o}var Rg=jg;function Pg(){let n=[],r=0,o=m=>{m()},l=m=>{m()},u=Rg;const d=m=>{r?n.push(m):u(()=>{o(m)})},h=()=>{const m=n;n=[],m.length&&u(()=>{l(()=>{m.forEach(y=>{o(y)})})})};return{batch:m=>{let y;r++;try{y=m()}finally{r--,r||h()}return y},batchCalls:m=>(...y)=>{d(()=>{m(...y)})},schedule:d,setNotifyFunction:m=>{o=m},setBatchNotifyFunction:m=>{l=m},setScheduler:m=>{u=m}}}var Je=Pg(),Og=class extends ds{#t=!0;#e;#n;constructor(){super(),this.#n=n=>{if(!Rr&&window.addEventListener){const r=()=>n(!0),o=()=>n(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",o,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",o)}}}}onSubscribe(){this.#e||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(n){this.#n=n,this.#e?.(),this.#e=n(this.setOnline.bind(this))}setOnline(n){this.#t!==n&&(this.#t=n,this.listeners.forEach(o=>{o(n)}))}isOnline(){return this.#t}},Qo=new Og;function Tg(n){return Math.min(1e3*2**n,3e4)}function Rh(n){return(n??"online")==="online"?Qo.isOnline():!0}var fc=class extends Error{constructor(n){super("CancelledError"),this.revert=n?.revert,this.silent=n?.silent}};function Ph(n){let r=!1,o=0,l;const u=dc(),d=()=>u.status!=="pending",h=N=>{if(!d()){const R=new fc(N);j(R),n.onCancel?.(R)}},m=()=>{r=!0},y=()=>{r=!1},x=()=>_c.isFocused()&&(n.networkMode==="always"||Qo.isOnline())&&n.canRun(),w=()=>Rh(n.networkMode)&&n.canRun(),p=N=>{d()||(l?.(),u.resolve(N))},j=N=>{d()||(l?.(),u.reject(N))},E=()=>new Promise(N=>{l=R=>{(d()||x())&&N(R)},n.onPause?.()}).then(()=>{l=void 0,d()||n.onContinue?.()}),O=()=>{if(d())return;let N;const R=o===0?n.initialPromise:void 0;try{N=R??n.fn()}catch(S){N=Promise.reject(S)}Promise.resolve(N).then(p).catch(S=>{if(d())return;const P=n.retry??(Rr?0:3),D=n.retryDelay??Tg,H=typeof D=="function"?D(o,S):D,Y=P===!0||typeof P=="number"&&ox()?void 0:E()).then(()=>{r?j(S):O()})})};return{promise:u,status:()=>u.status,cancel:h,continue:()=>(l?.(),u),cancelRetry:m,continueRetry:y,canStart:w,start:()=>(w()?O():E().then(O),u)}}var Oh=class{#t;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),lc(this.gcTime)&&(this.#t=_r.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(n){this.gcTime=Math.max(this.gcTime||0,n??(Rr?1/0:300*1e3))}clearGcTimeout(){this.#t&&(_r.clearTimeout(this.#t),this.#t=void 0)}},Mg=class extends Oh{#t;#e;#n;#s;#r;#o;#i;constructor(n){super(),this.#i=!1,this.#o=n.defaultOptions,this.setOptions(n.options),this.observers=[],this.#s=n.client,this.#n=this.#s.getQueryCache(),this.queryKey=n.queryKey,this.queryHash=n.queryHash,this.#t=Lf(this.options),this.state=n.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#r?.promise}setOptions(n){if(this.options={...this.#o,...n},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const r=Lf(this.options);r.data!==void 0&&(this.setState(Mf(r.data,r.dataUpdatedAt)),this.#t=r)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#n.remove(this)}setData(n,r){const o=uc(this.state.data,n,this.options);return this.#a({data:o,type:"success",dataUpdatedAt:r?.updatedAt,manual:r?.manual}),o}setState(n,r){this.#a({type:"setState",state:n,setStateOptions:r})}cancel(n){const r=this.#r?.promise;return this.#r?.cancel(n),r?r.then(bt).catch(bt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#t)}isActive(){return this.observers.some(n=>Kt(n.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Ec||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(n=>or(n.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(n=>n.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(n=0){return this.state.data===void 0?!0:n==="static"?!1:this.state.isInvalidated?!0:!Ch(this.state.dataUpdatedAt,n)}onFocus(){this.observers.find(r=>r.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#r?.continue()}onOnline(){this.observers.find(r=>r.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#r?.continue()}addObserver(n){this.observers.includes(n)||(this.observers.push(n),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",query:this,observer:n}))}removeObserver(n){this.observers.includes(n)&&(this.observers=this.observers.filter(r=>r!==n),this.observers.length||(this.#r&&(this.#i?this.#r.cancel({revert:!0}):this.#r.cancelRetry()),this.scheduleGc()),this.#n.notify({type:"observerRemoved",query:this,observer:n}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#a({type:"invalidate"})}async fetch(n,r){if(this.state.fetchStatus!=="idle"&&this.#r?.status()!=="rejected"){if(this.state.data!==void 0&&r?.cancelRefetch)this.cancel({silent:!0});else if(this.#r)return this.#r.continueRetry(),this.#r.promise}if(n&&this.setOptions(n),!this.options.queryFn){const m=this.observers.find(y=>y.options.queryFn);m&&this.setOptions(m.options)}const o=new AbortController,l=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(this.#i=!0,o.signal)})},u=()=>{const m=Eh(this.options,r),x=(()=>{const w={client:this.#s,queryKey:this.queryKey,meta:this.meta};return l(w),w})();return this.#i=!1,this.options.persister?this.options.persister(m,x,this):m(x)},h=(()=>{const m={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:this.#s,state:this.state,fetchFn:u};return l(m),m})();this.options.behavior?.onFetch(h,this),this.#e=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==h.fetchOptions?.meta)&&this.#a({type:"fetch",meta:h.fetchOptions?.meta}),this.#r=Ph({initialPromise:r?.initialPromise,fn:h.fetchFn,onCancel:m=>{m instanceof fc&&m.revert&&this.setState({...this.#e,fetchStatus:"idle"}),o.abort()},onFail:(m,y)=>{this.#a({type:"failed",failureCount:m,error:y})},onPause:()=>{this.#a({type:"pause"})},onContinue:()=>{this.#a({type:"continue"})},retry:h.options.retry,retryDelay:h.options.retryDelay,networkMode:h.options.networkMode,canRun:()=>!0});try{const m=await this.#r.start();if(m===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(m),this.#n.config.onSuccess?.(m,this),this.#n.config.onSettled?.(m,this.state.error,this),m}catch(m){if(m instanceof fc){if(m.silent)return this.#r.promise;if(m.revert){if(this.state.data===void 0)throw m;return this.state.data}}throw this.#a({type:"error",error:m}),this.#n.config.onError?.(m,this),this.#n.config.onSettled?.(this.state.data,m,this),m}finally{this.scheduleGc()}}#a(n){const r=o=>{switch(n.type){case"failed":return{...o,fetchFailureCount:n.failureCount,fetchFailureReason:n.error};case"pause":return{...o,fetchStatus:"paused"};case"continue":return{...o,fetchStatus:"fetching"};case"fetch":return{...o,...Th(o.data,this.options),fetchMeta:n.meta??null};case"success":const l={...o,...Mf(n.data,n.dataUpdatedAt),dataUpdateCount:o.dataUpdateCount+1,...!n.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#e=n.manual?l:void 0,l;case"error":const u=n.error;return{...o,error:u,errorUpdateCount:o.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:o.fetchFailureCount+1,fetchFailureReason:u,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...o,isInvalidated:!0};case"setState":return{...o,...n.state}}};this.state=r(this.state),Je.batch(()=>{this.observers.forEach(o=>{o.onQueryUpdate()}),this.#n.notify({query:this,type:"updated",action:n})})}};function Th(n,r){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Rh(r.networkMode)?"fetching":"paused",...n===void 0&&{error:null,status:"pending"}}}function Mf(n,r){return{data:n,dataUpdatedAt:r??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Lf(n){const r=typeof n.initialData=="function"?n.initialData():n.initialData,o=r!==void 0,l=o?typeof n.initialDataUpdatedAt=="function"?n.initialDataUpdatedAt():n.initialDataUpdatedAt:0;return{data:r,dataUpdateCount:0,dataUpdatedAt:o?l??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:o?"success":"pending",fetchStatus:"idle"}}var Xo=class extends ds{constructor(n,r){super(),this.options=r,this.#t=n,this.#a=null,this.#i=dc(),this.bindMethods(),this.setOptions(r)}#t;#e=void 0;#n=void 0;#s=void 0;#r;#o;#i;#a;#h;#d;#f;#c;#u;#l;#p=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#e.addObserver(this),Df(this.#e,this.options)?this.#m():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return hc(this.#e,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return hc(this.#e,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#w(),this.#j(),this.#e.removeObserver(this)}setOptions(n){const r=this.options,o=this.#e;if(this.options=this.#t.defaultQueryOptions(n),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Kt(this.options.enabled,this.#e)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#b(),this.#e.setOptions(this.options),r._defaulted&&!Wo(this.options,r)&&this.#t.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#e,observer:this});const l=this.hasListeners();l&&If(this.#e,o,this.options,r)&&this.#m(),this.updateResult(),l&&(this.#e!==o||Kt(this.options.enabled,this.#e)!==Kt(r.enabled,this.#e)||or(this.options.staleTime,this.#e)!==or(r.staleTime,this.#e))&&this.#v();const u=this.#g();l&&(this.#e!==o||Kt(this.options.enabled,this.#e)!==Kt(r.enabled,this.#e)||u!==this.#l)&&this.#x(u)}getOptimisticResult(n){const r=this.#t.getQueryCache().build(this.#t,n),o=this.createResult(r,n);return Dg(this,o)&&(this.#s=o,this.#o=this.options,this.#r=this.#e.state),o}getCurrentResult(){return this.#s}trackResult(n,r){return new Proxy(n,{get:(o,l)=>(this.trackProp(l),r?.(l),l==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#i.status==="pending"&&this.#i.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(o,l))})}trackProp(n){this.#p.add(n)}getCurrentQuery(){return this.#e}refetch({...n}={}){return this.fetch({...n})}fetchOptimistic(n){const r=this.#t.defaultQueryOptions(n),o=this.#t.getQueryCache().build(this.#t,r);return o.fetch().then(()=>this.createResult(o,r))}fetch(n){return this.#m({...n,cancelRefetch:n.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#s))}#m(n){this.#b();let r=this.#e.fetch(this.options,n);return n?.throwOnError||(r=r.catch(bt)),r}#v(){this.#w();const n=or(this.options.staleTime,this.#e);if(Rr||this.#s.isStale||!lc(n))return;const o=Ch(this.#s.dataUpdatedAt,n)+1;this.#c=_r.setTimeout(()=>{this.#s.isStale||this.updateResult()},o)}#g(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#e):this.options.refetchInterval)??!1}#x(n){this.#j(),this.#l=n,!(Rr||Kt(this.options.enabled,this.#e)===!1||!lc(this.#l)||this.#l===0)&&(this.#u=_r.setInterval(()=>{(this.options.refetchIntervalInBackground||_c.isFocused())&&this.#m()},this.#l))}#y(){this.#v(),this.#x(this.#g())}#w(){this.#c&&(_r.clearTimeout(this.#c),this.#c=void 0)}#j(){this.#u&&(_r.clearInterval(this.#u),this.#u=void 0)}createResult(n,r){const o=this.#e,l=this.options,u=this.#s,d=this.#r,h=this.#o,y=n!==o?n.state:this.#n,{state:x}=n;let w={...x},p=!1,j;if(r._optimisticResults){const $=this.hasListeners(),ge=!$&&Df(n,r),pe=$&&If(n,o,r,l);(ge||pe)&&(w={...w,...Th(x.data,n.options)}),r._optimisticResults==="isRestoring"&&(w.fetchStatus="idle")}let{error:E,errorUpdatedAt:O,status:N}=w;j=w.data;let R=!1;if(r.placeholderData!==void 0&&j===void 0&&N==="pending"){let $;u?.isPlaceholderData&&r.placeholderData===h?.placeholderData?($=u.data,R=!0):$=typeof r.placeholderData=="function"?r.placeholderData(this.#f?.state.data,this.#f):r.placeholderData,$!==void 0&&(N="success",j=uc(u?.data,$,r),p=!0)}if(r.select&&j!==void 0&&!R)if(u&&j===d?.data&&r.select===this.#h)j=this.#d;else try{this.#h=r.select,j=r.select(j),j=uc(u?.data,j,r),this.#d=j,this.#a=null}catch($){this.#a=$}this.#a&&(E=this.#a,j=this.#d,O=Date.now(),N="error");const S=w.fetchStatus==="fetching",P=N==="pending",D=N==="error",H=P&&S,Y=j!==void 0,K={status:N,fetchStatus:w.fetchStatus,isPending:P,isSuccess:N==="success",isError:D,isInitialLoading:H,isLoading:H,data:j,dataUpdatedAt:w.dataUpdatedAt,error:E,errorUpdatedAt:O,failureCount:w.fetchFailureCount,failureReason:w.fetchFailureReason,errorUpdateCount:w.errorUpdateCount,isFetched:w.dataUpdateCount>0||w.errorUpdateCount>0,isFetchedAfterMount:w.dataUpdateCount>y.dataUpdateCount||w.errorUpdateCount>y.errorUpdateCount,isFetching:S,isRefetching:S&&!P,isLoadingError:D&&!Y,isPaused:w.fetchStatus==="paused",isPlaceholderData:p,isRefetchError:D&&Y,isStale:Rc(n,r),refetch:this.refetch,promise:this.#i,isEnabled:Kt(r.enabled,n)!==!1};if(this.options.experimental_prefetchInRender){const $=Se=>{K.status==="error"?Se.reject(K.error):K.data!==void 0&&Se.resolve(K.data)},ge=()=>{const Se=this.#i=K.promise=dc();$(Se)},pe=this.#i;switch(pe.status){case"pending":n.queryHash===o.queryHash&&$(pe);break;case"fulfilled":(K.status==="error"||K.data!==pe.value)&&ge();break;case"rejected":(K.status!=="error"||K.error!==pe.reason)&&ge();break}}return K}updateResult(){const n=this.#s,r=this.createResult(this.#e,this.options);if(this.#r=this.#e.state,this.#o=this.options,this.#r.data!==void 0&&(this.#f=this.#e),Wo(r,n))return;this.#s=r;const o=()=>{if(!n)return!0;const{notifyOnChangeProps:l}=this.options,u=typeof l=="function"?l():l;if(u==="all"||!u&&!this.#p.size)return!0;const d=new Set(u??this.#p);return this.options.throwOnError&&d.add("error"),Object.keys(this.#s).some(h=>{const m=h;return this.#s[m]!==n[m]&&d.has(m)})};this.#N({listeners:o()})}#b(){const n=this.#t.getQueryCache().build(this.#t,this.options);if(n===this.#e)return;const r=this.#e;this.#e=n,this.#n=n.state,this.hasListeners()&&(r?.removeObserver(this),n.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#N(n){Je.batch(()=>{n.listeners&&this.listeners.forEach(r=>{r(this.#s)}),this.#t.getQueryCache().notify({query:this.#e,type:"observerResultsUpdated"})})}};function Lg(n,r){return Kt(r.enabled,n)!==!1&&n.state.data===void 0&&!(n.state.status==="error"&&r.retryOnMount===!1)}function Df(n,r){return Lg(n,r)||n.state.data!==void 0&&hc(n,r,r.refetchOnMount)}function hc(n,r,o){if(Kt(r.enabled,n)!==!1&&or(r.staleTime,n)!=="static"){const l=typeof o=="function"?o(n):o;return l==="always"||l!==!1&&Rc(n,r)}return!1}function If(n,r,o,l){return(n!==r||Kt(l.enabled,n)===!1)&&(!o.suspense||n.state.status!=="error")&&Rc(n,o)}function Rc(n,r){return Kt(r.enabled,n)!==!1&&n.isStaleByTime(or(r.staleTime,n))}function Dg(n,r){return!Wo(n.getCurrentResult(),r)}function Vo(n){return{onFetch:(r,o)=>{const l=r.options,u=r.fetchOptions?.meta?.fetchMore?.direction,d=r.state.data?.pages||[],h=r.state.data?.pageParams||[];let m={pages:[],pageParams:[]},y=0;const x=async()=>{let w=!1;const p=O=>{Eg(O,()=>r.signal,()=>w=!0)},j=Eh(r.options,r.fetchOptions),E=async(O,N,R)=>{if(w)return Promise.reject();if(N==null&&O.pages.length)return Promise.resolve(O);const P=(()=>{const Z={client:r.client,queryKey:r.queryKey,pageParam:N,direction:R?"backward":"forward",meta:r.options.meta};return p(Z),Z})(),D=await j(P),{maxPages:H}=r.options,Y=R?Cg:Sg;return{pages:Y(O.pages,D,H),pageParams:Y(O.pageParams,N,H)}};if(u&&d.length){const O=u==="backward",N=O?Mh:mc,R={pages:d,pageParams:h},S=N(l,R);m=await E(R,S,O)}else{const O=n??d.length;do{const N=y===0?h[0]??l.initialPageParam:mc(l,m);if(y>0&&N==null)break;m=await E(m,N),y++}while(yr.options.persister?.(x,{client:r.client,queryKey:r.queryKey,meta:r.options.meta,signal:r.signal},o):r.fetchFn=x}}}function mc(n,{pages:r,pageParams:o}){const l=r.length-1;return r.length>0?n.getNextPageParam(r[l],r,o[l],o):void 0}function Mh(n,{pages:r,pageParams:o}){return r.length>0?n.getPreviousPageParam?.(r[0],r,o[0],o):void 0}function Ig(n,r){return r?mc(n,r)!=null:!1}function Fg(n,r){return!r||!n.getPreviousPageParam?!1:Mh(n,r)!=null}var Ag=class extends Xo{constructor(n,r){super(n,r)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(n){super.setOptions({...n,behavior:Vo()})}getOptimisticResult(n){return n.behavior=Vo(),super.getOptimisticResult(n)}fetchNextPage(n){return this.fetch({...n,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(n){return this.fetch({...n,meta:{fetchMore:{direction:"backward"}}})}createResult(n,r){const{state:o}=n,l=super.createResult(n,r),{isFetching:u,isRefetching:d,isError:h,isRefetchError:m}=l,y=o.fetchMeta?.fetchMore?.direction,x=h&&y==="forward",w=u&&y==="forward",p=h&&y==="backward",j=u&&y==="backward";return{...l,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:Ig(r,o.data),hasPreviousPage:Fg(r,o.data),isFetchNextPageError:x,isFetchingNextPage:w,isFetchPreviousPageError:p,isFetchingPreviousPage:j,isRefetchError:m&&!x&&!p,isRefetching:d&&!w&&!j}}},zg=class extends Oh{#t;#e;#n;#s;constructor(n){super(),this.#t=n.client,this.mutationId=n.mutationId,this.#n=n.mutationCache,this.#e=[],this.state=n.state||Ug(),this.setOptions(n.options),this.scheduleGc()}setOptions(n){this.options=n,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(n){this.#e.includes(n)||(this.#e.push(n),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",mutation:this,observer:n}))}removeObserver(n){this.#e=this.#e.filter(r=>r!==n),this.scheduleGc(),this.#n.notify({type:"observerRemoved",mutation:this,observer:n})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#n.remove(this))}continue(){return this.#s?.continue()??this.execute(this.state.variables)}async execute(n){const r=()=>{this.#r({type:"continue"})},o={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#s=Ph({fn:()=>this.options.mutationFn?this.options.mutationFn(n,o):Promise.reject(new Error("No mutationFn found")),onFail:(d,h)=>{this.#r({type:"failed",failureCount:d,error:h})},onPause:()=>{this.#r({type:"pause"})},onContinue:r,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});const l=this.state.status==="pending",u=!this.#s.canStart();try{if(l)r();else{this.#r({type:"pending",variables:n,isPaused:u}),await this.#n.config.onMutate?.(n,this,o);const h=await this.options.onMutate?.(n,o);h!==this.state.context&&this.#r({type:"pending",context:h,variables:n,isPaused:u})}const d=await this.#s.start();return await this.#n.config.onSuccess?.(d,n,this.state.context,this,o),await this.options.onSuccess?.(d,n,this.state.context,o),await this.#n.config.onSettled?.(d,null,this.state.variables,this.state.context,this,o),await this.options.onSettled?.(d,null,n,this.state.context,o),this.#r({type:"success",data:d}),d}catch(d){try{await this.#n.config.onError?.(d,n,this.state.context,this,o)}catch(h){Promise.reject(h)}try{await this.options.onError?.(d,n,this.state.context,o)}catch(h){Promise.reject(h)}try{await this.#n.config.onSettled?.(void 0,d,this.state.variables,this.state.context,this,o)}catch(h){Promise.reject(h)}try{await this.options.onSettled?.(void 0,d,n,this.state.context,o)}catch(h){Promise.reject(h)}throw this.#r({type:"error",error:d}),d}finally{this.#n.runNext(this)}}#r(n){const r=o=>{switch(n.type){case"failed":return{...o,failureCount:n.failureCount,failureReason:n.error};case"pause":return{...o,isPaused:!0};case"continue":return{...o,isPaused:!1};case"pending":return{...o,context:n.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:n.isPaused,status:"pending",variables:n.variables,submittedAt:Date.now()};case"success":return{...o,data:n.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...o,data:void 0,error:n.error,failureCount:o.failureCount+1,failureReason:n.error,isPaused:!1,status:"error"}}};this.state=r(this.state),Je.batch(()=>{this.#e.forEach(o=>{o.onMutationUpdate(n)}),this.#n.notify({mutation:this,type:"updated",action:n})})}};function Ug(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var $g=class extends ds{constructor(n={}){super(),this.config=n,this.#t=new Set,this.#e=new Map,this.#n=0}#t;#e;#n;build(n,r,o){const l=new zg({client:n,mutationCache:this,mutationId:++this.#n,options:n.defaultMutationOptions(r),state:o});return this.add(l),l}add(n){this.#t.add(n);const r=Co(n);if(typeof r=="string"){const o=this.#e.get(r);o?o.push(n):this.#e.set(r,[n])}this.notify({type:"added",mutation:n})}remove(n){if(this.#t.delete(n)){const r=Co(n);if(typeof r=="string"){const o=this.#e.get(r);if(o)if(o.length>1){const l=o.indexOf(n);l!==-1&&o.splice(l,1)}else o[0]===n&&this.#e.delete(r)}}this.notify({type:"removed",mutation:n})}canRun(n){const r=Co(n);if(typeof r=="string"){const l=this.#e.get(r)?.find(u=>u.state.status==="pending");return!l||l===n}else return!0}runNext(n){const r=Co(n);return typeof r=="string"?this.#e.get(r)?.find(l=>l!==n&&l.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){Je.batch(()=>{this.#t.forEach(n=>{this.notify({type:"removed",mutation:n})}),this.#t.clear(),this.#e.clear()})}getAll(){return Array.from(this.#t)}find(n){const r={exact:!0,...n};return this.getAll().find(o=>Pf(r,o))}findAll(n={}){return this.getAll().filter(r=>Pf(n,r))}notify(n){Je.batch(()=>{this.listeners.forEach(r=>{r(n)})})}resumePausedMutations(){const n=this.getAll().filter(r=>r.state.isPaused);return Je.batch(()=>Promise.all(n.map(r=>r.continue().catch(bt))))}};function Co(n){return n.options.scope?.id}function Ff(n,r){const o=new Set(r);return n.filter(l=>!o.has(l))}function Bg(n,r,o){const l=n.slice(0);return l[r]=o,l}var Hg=class extends ds{#t;#e;#n;#s;#r;#o;#i;#a;#h=[];constructor(n,r,o){super(),this.#t=n,this.#s=o,this.#n=[],this.#r=[],this.#e=[],this.setQueries(r)}onSubscribe(){this.listeners.size===1&&this.#r.forEach(n=>{n.subscribe(r=>{this.#u(n,r)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#r.forEach(n=>{n.destroy()})}setQueries(n,r){this.#n=n,this.#s=r,Je.batch(()=>{const o=this.#r,l=this.#c(this.#n);l.forEach(w=>w.observer.setOptions(w.defaultedQueryOptions));const u=l.map(w=>w.observer),d=u.map(w=>w.getCurrentResult()),h=o.length!==u.length,m=u.some((w,p)=>w!==o[p]),y=h||m,x=y?!0:d.some((w,p)=>{const j=this.#e[p];return!j||!Wo(w,j)});!y&&!x||(y&&(this.#h=l,this.#r=u),this.#e=d,this.hasListeners()&&(y&&(Ff(o,u).forEach(w=>{w.destroy()}),Ff(u,o).forEach(w=>{w.subscribe(p=>{this.#u(w,p)})})),this.#l()))})}getCurrentResult(){return this.#e}getQueries(){return this.#r.map(n=>n.getCurrentQuery())}getObservers(){return this.#r}getOptimisticResult(n,r){const o=this.#c(n),l=o.map(u=>u.observer.getOptimisticResult(u.defaultedQueryOptions));return[l,u=>this.#f(u??l,r),()=>this.#d(l,o)]}#d(n,r){return r.map((o,l)=>{const u=n[l];return o.defaultedQueryOptions.notifyOnChangeProps?u:o.observer.trackResult(u,d=>{r.forEach(h=>{h.observer.trackProp(d)})})})}#f(n,r){return r?((!this.#o||this.#e!==this.#a||r!==this.#i)&&(this.#i=r,this.#a=this.#e,this.#o=Cc(this.#o,r(n))),this.#o):n}#c(n){const r=new Map;this.#r.forEach(l=>{const u=l.options.queryHash;if(!u)return;const d=r.get(u);d?d.push(l):r.set(u,[l])});const o=[];return n.forEach(l=>{const u=this.#t.defaultQueryOptions(l),h=r.get(u.queryHash)?.shift()??new Xo(this.#t,u);o.push({defaultedQueryOptions:u,observer:h})}),o}#u(n,r){const o=this.#r.indexOf(n);o!==-1&&(this.#e=Bg(this.#e,o,r),this.#l())}#l(){if(this.hasListeners()){const n=this.#o,r=this.#d(this.#e,this.#h),o=this.#f(r,this.#s?.combine);n!==o&&Je.batch(()=>{this.listeners.forEach(l=>{l(this.#e)})})}}},Wg=class extends ds{constructor(n={}){super(),this.config=n,this.#t=new Map}#t;build(n,r,o){const l=r.queryKey,u=r.queryHash??Sc(l,r);let d=this.get(u);return d||(d=new Mg({client:n,queryKey:l,queryHash:u,options:n.defaultQueryOptions(r),state:o,defaultOptions:n.getQueryDefaults(l)}),this.add(d)),d}add(n){this.#t.has(n.queryHash)||(this.#t.set(n.queryHash,n),this.notify({type:"added",query:n}))}remove(n){const r=this.#t.get(n.queryHash);r&&(n.destroy(),r===n&&this.#t.delete(n.queryHash),this.notify({type:"removed",query:n}))}clear(){Je.batch(()=>{this.getAll().forEach(n=>{this.remove(n)})})}get(n){return this.#t.get(n)}getAll(){return[...this.#t.values()]}find(n){const r={exact:!0,...n};return this.getAll().find(o=>Rf(r,o))}findAll(n={}){const r=this.getAll();return Object.keys(n).length>0?r.filter(o=>Rf(n,o)):r}notify(n){Je.batch(()=>{this.listeners.forEach(r=>{r(n)})})}onFocus(){Je.batch(()=>{this.getAll().forEach(n=>{n.onFocus()})})}onOnline(){Je.batch(()=>{this.getAll().forEach(n=>{n.onOnline()})})}},Qg=class{#t;#e;#n;#s;#r;#o;#i;#a;constructor(n={}){this.#t=n.queryCache||new Wg,this.#e=n.mutationCache||new $g,this.#n=n.defaultOptions||{},this.#s=new Map,this.#r=new Map,this.#o=0}mount(){this.#o++,this.#o===1&&(this.#i=_c.subscribe(async n=>{n&&(await this.resumePausedMutations(),this.#t.onFocus())}),this.#a=Qo.subscribe(async n=>{n&&(await this.resumePausedMutations(),this.#t.onOnline())}))}unmount(){this.#o--,this.#o===0&&(this.#i?.(),this.#i=void 0,this.#a?.(),this.#a=void 0)}isFetching(n){return this.#t.findAll({...n,fetchStatus:"fetching"}).length}isMutating(n){return this.#e.findAll({...n,status:"pending"}).length}getQueryData(n){const r=this.defaultQueryOptions({queryKey:n});return this.#t.get(r.queryHash)?.state.data}ensureQueryData(n){const r=this.defaultQueryOptions(n),o=this.#t.build(this,r),l=o.state.data;return l===void 0?this.fetchQuery(n):(n.revalidateIfStale&&o.isStaleByTime(or(r.staleTime,o))&&this.prefetchQuery(r),Promise.resolve(l))}getQueriesData(n){return this.#t.findAll(n).map(({queryKey:r,state:o})=>{const l=o.data;return[r,l]})}setQueryData(n,r,o){const l=this.defaultQueryOptions({queryKey:n}),d=this.#t.get(l.queryHash)?.state.data,h=bg(r,d);if(h!==void 0)return this.#t.build(this,l).setData(h,{...o,manual:!0})}setQueriesData(n,r,o){return Je.batch(()=>this.#t.findAll(n).map(({queryKey:l})=>[l,this.setQueryData(l,r,o)]))}getQueryState(n){const r=this.defaultQueryOptions({queryKey:n});return this.#t.get(r.queryHash)?.state}removeQueries(n){const r=this.#t;Je.batch(()=>{r.findAll(n).forEach(o=>{r.remove(o)})})}resetQueries(n,r){const o=this.#t;return Je.batch(()=>(o.findAll(n).forEach(l=>{l.reset()}),this.refetchQueries({type:"active",...n},r)))}cancelQueries(n,r={}){const o={revert:!0,...r},l=Je.batch(()=>this.#t.findAll(n).map(u=>u.cancel(o)));return Promise.all(l).then(bt).catch(bt)}invalidateQueries(n,r={}){return Je.batch(()=>(this.#t.findAll(n).forEach(o=>{o.invalidate()}),n?.refetchType==="none"?Promise.resolve():this.refetchQueries({...n,type:n?.refetchType??n?.type??"active"},r)))}refetchQueries(n,r={}){const o={...r,cancelRefetch:r.cancelRefetch??!0},l=Je.batch(()=>this.#t.findAll(n).filter(u=>!u.isDisabled()&&!u.isStatic()).map(u=>{let d=u.fetch(void 0,o);return o.throwOnError||(d=d.catch(bt)),u.state.fetchStatus==="paused"?Promise.resolve():d}));return Promise.all(l).then(bt)}fetchQuery(n){const r=this.defaultQueryOptions(n);r.retry===void 0&&(r.retry=!1);const o=this.#t.build(this,r);return o.isStaleByTime(or(r.staleTime,o))?o.fetch(r):Promise.resolve(o.state.data)}prefetchQuery(n){return this.fetchQuery(n).then(bt).catch(bt)}fetchInfiniteQuery(n){return n.behavior=Vo(n.pages),this.fetchQuery(n)}prefetchInfiniteQuery(n){return this.fetchInfiniteQuery(n).then(bt).catch(bt)}ensureInfiniteQueryData(n){return n.behavior=Vo(n.pages),this.ensureQueryData(n)}resumePausedMutations(){return Qo.isOnline()?this.#e.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#t}getMutationCache(){return this.#e}getDefaultOptions(){return this.#n}setDefaultOptions(n){this.#n=n}setQueryDefaults(n,r){this.#s.set(sa(n),{queryKey:n,defaultOptions:r})}getQueryDefaults(n){const r=[...this.#s.values()],o={};return r.forEach(l=>{aa(n,l.queryKey)&&Object.assign(o,l.defaultOptions)}),o}setMutationDefaults(n,r){this.#r.set(sa(n),{mutationKey:n,defaultOptions:r})}getMutationDefaults(n){const r=[...this.#r.values()],o={};return r.forEach(l=>{aa(n,l.mutationKey)&&Object.assign(o,l.defaultOptions)}),o}defaultQueryOptions(n){if(n._defaulted)return n;const r={...this.#n.queries,...this.getQueryDefaults(n.queryKey),...n,_defaulted:!0};return r.queryHash||(r.queryHash=Sc(r.queryKey,r)),r.refetchOnReconnect===void 0&&(r.refetchOnReconnect=r.networkMode!=="always"),r.throwOnError===void 0&&(r.throwOnError=!!r.suspense),!r.networkMode&&r.persister&&(r.networkMode="offlineFirst"),r.queryFn===Ec&&(r.enabled=!1),r}defaultMutationOptions(n){return n?._defaulted?n:{...this.#n.mutations,...n?.mutationKey&&this.getMutationDefaults(n.mutationKey),...n,_defaulted:!0}}clear(){this.#t.clear(),this.#e.clear()}},Lh=g.createContext(void 0),Pc=n=>{const r=g.useContext(Lh);if(!r)throw new Error("No QueryClient set, use QueryClientProvider to set one");return r},Vg=({client:n,children:r})=>(g.useEffect(()=>(n.mount(),()=>{n.unmount()}),[n]),a.jsx(Lh.Provider,{value:n,children:r})),Dh=g.createContext(!1),Ih=()=>g.useContext(Dh);Dh.Provider;function qg(){let n=!1;return{clearReset:()=>{n=!1},reset:()=>{n=!0},isReset:()=>n}}var Kg=g.createContext(qg()),Fh=()=>g.useContext(Kg),Ah=(n,r,o)=>{const l=o?.state.error&&typeof n.throwOnError=="function"?_h(n.throwOnError,[o.state.error,o]):n.throwOnError;(n.suspense||n.experimental_prefetchInRender||l)&&(r.isReset()||(n.retryOnMount=!1))},zh=n=>{g.useEffect(()=>{n.clearReset()},[n])},Uh=({result:n,errorResetBoundary:r,throwOnError:o,query:l,suspense:u})=>n.isError&&!r.isReset()&&!n.isFetching&&l&&(u&&n.data===void 0||_h(o,[n.error,l])),$h=n=>{if(n.suspense){const o=u=>u==="static"?u:Math.max(u??1e3,1e3),l=n.staleTime;n.staleTime=typeof l=="function"?(...u)=>o(l(...u)):o(l),typeof n.gcTime=="number"&&(n.gcTime=Math.max(n.gcTime,1e3))}},Bh=(n,r)=>n.isLoading&&n.isFetching&&!r,pc=(n,r)=>n?.suspense&&r.isPending,qo=(n,r,o)=>r.fetchOptimistic(n).catch(()=>{o.clearReset()});function Gg({queries:n,...r},o){const l=Pc(),u=Ih(),d=Fh(),h=g.useMemo(()=>n.map(N=>{const R=l.defaultQueryOptions(N);return R._optimisticResults=u?"isRestoring":"optimistic",R}),[n,l,u]);h.forEach(N=>{$h(N);const R=l.getQueryCache().get(N.queryHash);Ah(N,d,R)}),zh(d);const[m]=g.useState(()=>new Hg(l,h,r)),[y,x,w]=m.getOptimisticResult(h,r.combine),p=!u&&r.subscribed!==!1;g.useSyncExternalStore(g.useCallback(N=>p?m.subscribe(Je.batchCalls(N)):bt,[m,p]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),g.useEffect(()=>{m.setQueries(h,r)},[h,r,m]);const E=y.some((N,R)=>pc(h[R],N))?y.flatMap((N,R)=>{const S=h[R];if(S){const P=new Xo(l,S);if(pc(S,N))return qo(S,P,d);Bh(N,u)&&qo(S,P,d)}return[]}):[];if(E.length>0)throw Promise.all(E);const O=y.find((N,R)=>{const S=h[R];return S&&Uh({result:N,errorResetBoundary:d,throwOnError:S.throwOnError,query:l.getQueryCache().get(S.queryHash),suspense:S.suspense})});if(O?.error)throw O.error;return x(w())}function Hh(n,r,o){const l=Ih(),u=Fh(),d=Pc(),h=d.defaultQueryOptions(n);d.getDefaultOptions().queries?._experimental_beforeQuery?.(h);const m=d.getQueryCache().get(h.queryHash);h._optimisticResults=l?"isRestoring":"optimistic",$h(h),Ah(h,u,m),zh(u);const y=!d.getQueryCache().get(h.queryHash),[x]=g.useState(()=>new r(d,h)),w=x.getOptimisticResult(h),p=!l&&n.subscribed!==!1;if(g.useSyncExternalStore(g.useCallback(j=>{const E=p?x.subscribe(Je.batchCalls(j)):bt;return x.updateResult(),E},[x,p]),()=>x.getCurrentResult(),()=>x.getCurrentResult()),g.useEffect(()=>{x.setOptions(h)},[h,x]),pc(h,w))throw qo(h,x,u);if(Uh({result:w,errorResetBoundary:u,throwOnError:h.throwOnError,query:m,suspense:h.suspense}))throw w.error;return d.getDefaultOptions().queries?._experimental_afterQuery?.(h,w),h.experimental_prefetchInRender&&!Rr&&Bh(w,l)&&(y?qo(h,x,u):m?.promise)?.catch(bt).finally(()=>{x.updateResult()}),h.notifyOnChangeProps?w:x.trackResult(w)}function Ge(n,r){return Hh(n,Xo)}function Wh(n,r){return Hh(n,Ag)}var Af="popstate";function Yg(n={}){function r(u,d){let{pathname:h="/",search:m="",hash:y=""}=Or(u.location.hash.substring(1));return!h.startsWith("/")&&!h.startsWith(".")&&(h="/"+h),vc("",{pathname:h,search:m,hash:y},d.state&&d.state.usr||null,d.state&&d.state.key||"default")}function o(u,d){let h=u.document.querySelector("base"),m="";if(h&&h.getAttribute("href")){let y=u.location.href,x=y.indexOf("#");m=x===-1?y:y.slice(0,x)}return m+"#"+(typeof d=="string"?d:oa(d))}function l(u,d){At(u.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(d)})`)}return Jg(r,o,l,n)}function We(n,r){if(n===!1||n===null||typeof n>"u")throw new Error(r)}function At(n,r){if(!n){typeof console<"u"&&console.warn(r);try{throw new Error(r)}catch{}}}function Xg(){return Math.random().toString(36).substring(2,10)}function zf(n,r){return{usr:n.state,key:n.key,idx:r}}function vc(n,r,o=null,l){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof r=="string"?Or(r):r,state:o,key:r&&r.key||l||Xg()}}function oa({pathname:n="/",search:r="",hash:o=""}){return r&&r!=="?"&&(n+=r.charAt(0)==="?"?r:"?"+r),o&&o!=="#"&&(n+=o.charAt(0)==="#"?o:"#"+o),n}function Or(n){let r={};if(n){let o=n.indexOf("#");o>=0&&(r.hash=n.substring(o),n=n.substring(0,o));let l=n.indexOf("?");l>=0&&(r.search=n.substring(l),n=n.substring(0,l)),n&&(r.pathname=n)}return r}function Jg(n,r,o,l={}){let{window:u=document.defaultView,v5Compat:d=!1}=l,h=u.history,m="POP",y=null,x=w();x==null&&(x=0,h.replaceState({...h.state,idx:x},""));function w(){return(h.state||{idx:null}).idx}function p(){m="POP";let R=w(),S=R==null?null:R-x;x=R,y&&y({action:m,location:N.location,delta:S})}function j(R,S){m="PUSH";let P=vc(N.location,R,S);o&&o(P,R),x=w()+1;let D=zf(P,x),H=N.createHref(P);try{h.pushState(D,"",H)}catch(Y){if(Y instanceof DOMException&&Y.name==="DataCloneError")throw Y;u.location.assign(H)}d&&y&&y({action:m,location:N.location,delta:1})}function E(R,S){m="REPLACE";let P=vc(N.location,R,S);o&&o(P,R),x=w();let D=zf(P,x),H=N.createHref(P);h.replaceState(D,"",H),d&&y&&y({action:m,location:N.location,delta:0})}function O(R){return Zg(R)}let N={get action(){return m},get location(){return n(u,h)},listen(R){if(y)throw new Error("A history only accepts one active listener");return u.addEventListener(Af,p),y=R,()=>{u.removeEventListener(Af,p),y=null}},createHref(R){return r(u,R)},createURL:O,encodeLocation(R){let S=O(R);return{pathname:S.pathname,search:S.search,hash:S.hash}},push:j,replace:E,go(R){return h.go(R)}};return N}function Zg(n,r=!1){let o="http://localhost";typeof window<"u"&&(o=window.location.origin!=="null"?window.location.origin:window.location.href),We(o,"No window.location.(origin|href) available to create URL");let l=typeof n=="string"?n:oa(n);return l=l.replace(/ $/,"%20"),!r&&l.startsWith("//")&&(l=o+l),new URL(l,o)}function Qh(n,r,o="/"){return ex(n,r,o,!1)}function ex(n,r,o,l){let u=typeof r=="string"?Or(r):r,d=Cn(u.pathname||"/",o);if(d==null)return null;let h=Vh(n);tx(h);let m=null;for(let y=0;m==null&&y{let w={relativePath:x===void 0?h.path||"":x,caseSensitive:h.caseSensitive===!0,childrenIndex:m,route:h};if(w.relativePath.startsWith("/")){if(!w.relativePath.startsWith(l)&&y)return;We(w.relativePath.startsWith(l),`Absolute route path "${w.relativePath}" nested under path "${l}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),w.relativePath=w.relativePath.slice(l.length)}let p=Sn([l,w.relativePath]),j=o.concat(w);h.children&&h.children.length>0&&(We(h.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${p}".`),Vh(h.children,r,j,p,y)),!(h.path==null&&!h.index)&&r.push({path:p,score:lx(p,h.index),routesMeta:j})};return n.forEach((h,m)=>{if(h.path===""||!h.path?.includes("?"))d(h,m);else for(let y of qh(h.path))d(h,m,!0,y)}),r}function qh(n){let r=n.split("/");if(r.length===0)return[];let[o,...l]=r,u=o.endsWith("?"),d=o.replace(/\?$/,"");if(l.length===0)return u?[d,""]:[d];let h=qh(l.join("/")),m=[];return m.push(...h.map(y=>y===""?d:[d,y].join("/"))),u&&m.push(...h),m.map(y=>n.startsWith("/")&&y===""?"/":y)}function tx(n){n.sort((r,o)=>r.score!==o.score?o.score-r.score:cx(r.routesMeta.map(l=>l.childrenIndex),o.routesMeta.map(l=>l.childrenIndex)))}var nx=/^:[\w-]+$/,rx=3,sx=2,ax=1,ox=10,ix=-2,Uf=n=>n==="*";function lx(n,r){let o=n.split("/"),l=o.length;return o.some(Uf)&&(l+=ix),r&&(l+=sx),o.filter(u=>!Uf(u)).reduce((u,d)=>u+(nx.test(d)?rx:d===""?ax:ox),l)}function cx(n,r){return n.length===r.length&&n.slice(0,-1).every((l,u)=>l===r[u])?n[n.length-1]-r[r.length-1]:0}function ux(n,r,o=!1){let{routesMeta:l}=n,u={},d="/",h=[];for(let m=0;m{if(w==="*"){let O=m[j]||"";h=d.slice(0,d.length-O.length).replace(/(.)\/+$/,"$1")}const E=m[j];return p&&!E?x[w]=void 0:x[w]=(E||"").replace(/%2F/g,"/"),x},{}),pathname:d,pathnameBase:h,pattern:n}}function dx(n,r=!1,o=!0){At(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let l=[],u="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(h,m,y)=>(l.push({paramName:m,isOptional:y!=null}),y?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(l.push({paramName:"*"}),u+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):o?u+="\\/*$":n!==""&&n!=="/"&&(u+="(?:(?=\\/|$))"),[new RegExp(u,r?void 0:"i"),l]}function fx(n){try{return n.split("/").map(r=>decodeURIComponent(r).replace(/\//g,"%2F")).join("/")}catch(r){return At(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${r}).`),n}}function Cn(n,r){if(r==="/")return n;if(!n.toLowerCase().startsWith(r.toLowerCase()))return null;let o=r.endsWith("/")?r.length-1:r.length,l=n.charAt(o);return l&&l!=="/"?null:n.slice(o)||"/"}var Kh=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,hx=n=>Kh.test(n);function mx(n,r="/"){let{pathname:o,search:l="",hash:u=""}=typeof n=="string"?Or(n):n,d;if(o)if(hx(o))d=o;else{if(o.includes("//")){let h=o;o=o.replace(/\/\/+/g,"/"),At(!1,`Pathnames cannot have embedded double slashes - normalizing ${h} -> ${o}`)}o.startsWith("/")?d=$f(o.substring(1),"/"):d=$f(o,r)}else d=r;return{pathname:d,search:gx(l),hash:xx(u)}}function $f(n,r){let o=r.replace(/\/+$/,"").split("/");return n.split("/").forEach(u=>{u===".."?o.length>1&&o.pop():u!=="."&&o.push(u)}),o.length>1?o.join("/"):"/"}function Kl(n,r,o,l){return`Cannot include a '${n}' character in a manually specified \`to.${r}\` field [${JSON.stringify(l)}]. Please separate it out to the \`to.${o}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function px(n){return n.filter((r,o)=>o===0||r.route.path&&r.route.path.length>0)}function Gh(n){let r=px(n);return r.map((o,l)=>l===r.length-1?o.pathname:o.pathnameBase)}function Yh(n,r,o,l=!1){let u;typeof n=="string"?u=Or(n):(u={...n},We(!u.pathname||!u.pathname.includes("?"),Kl("?","pathname","search",u)),We(!u.pathname||!u.pathname.includes("#"),Kl("#","pathname","hash",u)),We(!u.search||!u.search.includes("#"),Kl("#","search","hash",u)));let d=n===""||u.pathname==="",h=d?"/":u.pathname,m;if(h==null)m=o;else{let p=r.length-1;if(!l&&h.startsWith("..")){let j=h.split("/");for(;j[0]==="..";)j.shift(),p-=1;u.pathname=j.join("/")}m=p>=0?r[p]:"/"}let y=mx(u,m),x=h&&h!=="/"&&h.endsWith("/"),w=(d||h===".")&&o.endsWith("/");return!y.pathname.endsWith("/")&&(x||w)&&(y.pathname+="/"),y}var Sn=n=>n.join("/").replace(/\/\/+/g,"/"),vx=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),gx=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,xx=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,yx=class{constructor(n,r,o,l=!1){this.status=n,this.statusText=r||"",this.internal=l,o instanceof Error?(this.data=o.toString(),this.error=o):this.data=o}};function wx(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function jx(n){return n.map(r=>r.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Xh=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Jh(n,r){let o=n;if(typeof o!="string"||!Kh.test(o))return{absoluteURL:void 0,isExternal:!1,to:o};let l=o,u=!1;if(Xh)try{let d=new URL(window.location.href),h=o.startsWith("//")?new URL(d.protocol+o):new URL(o),m=Cn(h.pathname,r);h.origin===d.origin&&m!=null?o=m+h.search+h.hash:u=!0}catch{At(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:l,isExternal:u,to:o}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Zh=["POST","PUT","PATCH","DELETE"];new Set(Zh);var bx=["GET",...Zh];new Set(bx);var fs=g.createContext(null);fs.displayName="DataRouter";var Jo=g.createContext(null);Jo.displayName="DataRouterState";var Nx=g.createContext(!1),em=g.createContext({isTransitioning:!1});em.displayName="ViewTransition";var kx=g.createContext(new Map);kx.displayName="Fetchers";var Sx=g.createContext(null);Sx.displayName="Await";var Gt=g.createContext(null);Gt.displayName="Navigation";var ua=g.createContext(null);ua.displayName="Location";var fn=g.createContext({outlet:null,matches:[],isDataRoute:!1});fn.displayName="Route";var Oc=g.createContext(null);Oc.displayName="RouteError";var tm="REACT_ROUTER_ERROR",Cx="REDIRECT",Ex="ROUTE_ERROR_RESPONSE";function _x(n){if(n.startsWith(`${tm}:${Cx}:{`))try{let r=JSON.parse(n.slice(28));if(typeof r=="object"&&r&&typeof r.status=="number"&&typeof r.statusText=="string"&&typeof r.location=="string"&&typeof r.reloadDocument=="boolean"&&typeof r.replace=="boolean")return r}catch{}}function Rx(n){if(n.startsWith(`${tm}:${Ex}:{`))try{let r=JSON.parse(n.slice(40));if(typeof r=="object"&&r&&typeof r.status=="number"&&typeof r.statusText=="string")return new yx(r.status,r.statusText,r.data)}catch{}}function Px(n,{relative:r}={}){We(da(),"useHref() may be used only in the context of a component.");let{basename:o,navigator:l}=g.useContext(Gt),{hash:u,pathname:d,search:h}=fa(n,{relative:r}),m=d;return o!=="/"&&(m=d==="/"?o:Sn([o,d])),l.createHref({pathname:m,search:h,hash:u})}function da(){return g.useContext(ua)!=null}function lr(){return We(da(),"useLocation() may be used only in the context of a component."),g.useContext(ua).location}var nm="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function rm(n){g.useContext(Gt).static||g.useLayoutEffect(n)}function En(){let{isDataRoute:n}=g.useContext(fn);return n?Hx():Ox()}function Ox(){We(da(),"useNavigate() may be used only in the context of a component.");let n=g.useContext(fs),{basename:r,navigator:o}=g.useContext(Gt),{matches:l}=g.useContext(fn),{pathname:u}=lr(),d=JSON.stringify(Gh(l)),h=g.useRef(!1);return rm(()=>{h.current=!0}),g.useCallback((y,x={})=>{if(At(h.current,nm),!h.current)return;if(typeof y=="number"){o.go(y);return}let w=Yh(y,JSON.parse(d),u,x.relative==="path");n==null&&r!=="/"&&(w.pathname=w.pathname==="/"?r:Sn([r,w.pathname])),(x.replace?o.replace:o.push)(w,x.state,x)},[r,o,d,u,n])}g.createContext(null);function Tr(){let{matches:n}=g.useContext(fn),r=n[n.length-1];return r?r.params:{}}function fa(n,{relative:r}={}){let{matches:o}=g.useContext(fn),{pathname:l}=lr(),u=JSON.stringify(Gh(o));return g.useMemo(()=>Yh(n,JSON.parse(u),l,r==="path"),[n,u,l,r])}function Tx(n,r){return sm(n,r)}function sm(n,r,o,l,u){We(da(),"useRoutes() may be used only in the context of a component.");let{navigator:d}=g.useContext(Gt),{matches:h}=g.useContext(fn),m=h[h.length-1],y=m?m.params:{},x=m?m.pathname:"/",w=m?m.pathnameBase:"/",p=m&&m.route;{let P=p&&p.path||"";om(x,!p||P.endsWith("*")||P.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${x}" (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. +`+f.stack}return{value:e,source:n,stack:d,digest:null}}function Sl(e,n,a){return{value:e,source:null,stack:a??null,digest:n??null}}function _l(e,n){try{console.error(n.value)}catch(a){setTimeout(function(){throw a})}}var _x=typeof WeakMap=="function"?WeakMap:Map;function Zu(e,n,a){a=Cn(-1,a),a.tag=3,a.payload={element:null};var l=n.value;return a.callback=function(){bi||(bi=!0,$l=l),_l(e,n)},a}function ef(e,n,a){a=Cn(-1,a),a.tag=3;var l=e.type.getDerivedStateFromError;if(typeof l=="function"){var d=n.value;a.payload=function(){return l(d)},a.callback=function(){_l(e,n)}}var f=e.stateNode;return f!==null&&typeof f.componentDidCatch=="function"&&(a.callback=function(){_l(e,n),typeof l!="function"&&(nr===null?nr=new Set([this]):nr.add(this));var y=n.stack;this.componentDidCatch(n.value,{componentStack:y!==null?y:""})}),a}function tf(e,n,a){var l=e.pingCache;if(l===null){l=e.pingCache=new _x;var d=new Set;l.set(n,d)}else d=l.get(n),d===void 0&&(d=new Set,l.set(n,d));d.has(a)||(d.add(a),e=Ux.bind(null,e,n,a),n.then(e,e))}function nf(e){do{var n;if((n=e.tag===13)&&(n=e.memoizedState,n=n!==null?n.dehydrated!==null:!0),n)return e;e=e.return}while(e!==null);return null}function rf(e,n,a,l,d){return(e.mode&1)===0?(e===n?e.flags|=65536:(e.flags|=128,a.flags|=131072,a.flags&=-52805,a.tag===1&&(a.alternate===null?a.tag=17:(n=Cn(-1,1),n.tag=2,er(a,n,1))),a.lanes|=1),e):(e.flags|=65536,e.lanes=d,e)}var Cx=V.ReactCurrentOwner,Et=!1;function bt(e,n,a,l){n.child=e===null?Nu(n,null,a,l):as(n,e.child,a,l)}function sf(e,n,a,l,d){a=a.render;var f=n.ref;return os(n,d),l=xl(e,n,a,l,f,d),a=gl(),e!==null&&!Et?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~d,En(e,n,d)):(Be&&a&&el(n),n.flags|=1,bt(e,n,l,d),n.child)}function af(e,n,a,l,d){if(e===null){var f=a.type;return typeof f=="function"&&!Kl(f)&&f.defaultProps===void 0&&a.compare===null&&a.defaultProps===void 0?(n.tag=15,n.type=f,of(e,n,f,l,d)):(e=Ci(a.type,null,l,n,n.mode,d),e.ref=n.ref,e.return=n,n.child=e)}if(f=e.child,(e.lanes&d)===0){var y=f.memoizedProps;if(a=a.compare,a=a!==null?a:Ws,a(y,l)&&e.ref===n.ref)return En(e,n,d)}return n.flags|=1,e=ir(f,l),e.ref=n.ref,e.return=n,n.child=e}function of(e,n,a,l,d){if(e!==null){var f=e.memoizedProps;if(Ws(f,l)&&e.ref===n.ref)if(Et=!1,n.pendingProps=l=f,(e.lanes&d)!==0)(e.flags&131072)!==0&&(Et=!0);else return n.lanes=e.lanes,En(e,n,d)}return Cl(e,n,a,l,d)}function lf(e,n,a){var l=n.pendingProps,d=l.children,f=e!==null?e.memoizedState:null;if(l.mode==="hidden")if((n.mode&1)===0)n.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ae(us,zt),zt|=a;else{if((a&1073741824)===0)return e=f!==null?f.baseLanes|a:a,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null,transitions:null},n.updateQueue=null,Ae(us,zt),zt|=e,null;n.memoizedState={baseLanes:0,cachePool:null,transitions:null},l=f!==null?f.baseLanes:a,Ae(us,zt),zt|=l}else f!==null?(l=f.baseLanes|a,n.memoizedState=null):l=a,Ae(us,zt),zt|=l;return bt(e,n,d,a),n.child}function cf(e,n){var a=n.ref;(e===null&&a!==null||e!==null&&e.ref!==a)&&(n.flags|=512,n.flags|=2097152)}function Cl(e,n,a,l,d){var f=Ct(a)?Nr:vt.current;return f=ts(n,f),os(n,d),a=xl(e,n,a,l,f,d),l=gl(),e!==null&&!Et?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~d,En(e,n,d)):(Be&&l&&el(n),n.flags|=1,bt(e,n,a,d),n.child)}function df(e,n,a,l,d){if(Ct(a)){var f=!0;Ja(n)}else f=!1;if(os(n,d),n.stateNode===null)vi(e,n),Xu(n,a,l),kl(n,a,l,d),l=!0;else if(e===null){var y=n.stateNode,k=n.memoizedProps;y.props=k;var C=y.context,L=a.contextType;typeof L=="object"&&L!==null?L=qt(L):(L=Ct(a)?Nr:vt.current,L=ts(n,L));var Q=a.getDerivedStateFromProps,q=typeof Q=="function"||typeof y.getSnapshotBeforeUpdate=="function";q||typeof y.UNSAFE_componentWillReceiveProps!="function"&&typeof y.componentWillReceiveProps!="function"||(k!==l||C!==L)&&Ju(n,y,l,L),Zn=!1;var H=n.memoizedState;y.state=H,oi(n,l,y,d),C=n.memoizedState,k!==l||H!==C||_t.current||Zn?(typeof Q=="function"&&(Nl(n,a,Q,l),C=n.memoizedState),(k=Zn||Yu(n,a,k,l,H,C,L))?(q||typeof y.UNSAFE_componentWillMount!="function"&&typeof y.componentWillMount!="function"||(typeof y.componentWillMount=="function"&&y.componentWillMount(),typeof y.UNSAFE_componentWillMount=="function"&&y.UNSAFE_componentWillMount()),typeof y.componentDidMount=="function"&&(n.flags|=4194308)):(typeof y.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=l,n.memoizedState=C),y.props=l,y.state=C,y.context=L,l=k):(typeof y.componentDidMount=="function"&&(n.flags|=4194308),l=!1)}else{y=n.stateNode,Su(e,n),k=n.memoizedProps,L=n.type===n.elementType?k:tn(n.type,k),y.props=L,q=n.pendingProps,H=y.context,C=a.contextType,typeof C=="object"&&C!==null?C=qt(C):(C=Ct(a)?Nr:vt.current,C=ts(n,C));var ee=a.getDerivedStateFromProps;(Q=typeof ee=="function"||typeof y.getSnapshotBeforeUpdate=="function")||typeof y.UNSAFE_componentWillReceiveProps!="function"&&typeof y.componentWillReceiveProps!="function"||(k!==q||H!==C)&&Ju(n,y,l,C),Zn=!1,H=n.memoizedState,y.state=H,oi(n,l,y,d);var ne=n.memoizedState;k!==q||H!==ne||_t.current||Zn?(typeof ee=="function"&&(Nl(n,a,ee,l),ne=n.memoizedState),(L=Zn||Yu(n,a,L,l,H,ne,C)||!1)?(Q||typeof y.UNSAFE_componentWillUpdate!="function"&&typeof y.componentWillUpdate!="function"||(typeof y.componentWillUpdate=="function"&&y.componentWillUpdate(l,ne,C),typeof y.UNSAFE_componentWillUpdate=="function"&&y.UNSAFE_componentWillUpdate(l,ne,C)),typeof y.componentDidUpdate=="function"&&(n.flags|=4),typeof y.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof y.componentDidUpdate!="function"||k===e.memoizedProps&&H===e.memoizedState||(n.flags|=4),typeof y.getSnapshotBeforeUpdate!="function"||k===e.memoizedProps&&H===e.memoizedState||(n.flags|=1024),n.memoizedProps=l,n.memoizedState=ne),y.props=l,y.state=ne,y.context=C,l=L):(typeof y.componentDidUpdate!="function"||k===e.memoizedProps&&H===e.memoizedState||(n.flags|=4),typeof y.getSnapshotBeforeUpdate!="function"||k===e.memoizedProps&&H===e.memoizedState||(n.flags|=1024),l=!1)}return El(e,n,a,l,f,d)}function El(e,n,a,l,d,f){cf(e,n);var y=(n.flags&128)!==0;if(!l&&!y)return d&&mu(n,a,!1),En(e,n,f);l=n.stateNode,Cx.current=n;var k=y&&typeof a.getDerivedStateFromError!="function"?null:l.render();return n.flags|=1,e!==null&&y?(n.child=as(n,e.child,null,f),n.child=as(n,null,k,f)):bt(e,n,k,f),n.memoizedState=l.state,d&&mu(n,a,!0),n.child}function uf(e){var n=e.stateNode;n.pendingContext?fu(e,n.pendingContext,n.pendingContext!==n.context):n.context&&fu(e,n.context,!1),ul(e,n.containerInfo)}function ff(e,n,a,l,d){return ss(),sl(d),n.flags|=256,bt(e,n,a,l),n.child}var Rl={dehydrated:null,treeContext:null,retryLane:0};function Pl(e){return{baseLanes:e,cachePool:null,transitions:null}}function hf(e,n,a){var l=n.pendingProps,d=Qe.current,f=!1,y=(n.flags&128)!==0,k;if((k=y)||(k=e!==null&&e.memoizedState===null?!1:(d&2)!==0),k?(f=!0,n.flags&=-129):(e===null||e.memoizedState!==null)&&(d|=1),Ae(Qe,d&1),e===null)return rl(n),e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((n.mode&1)===0?n.lanes=1:e.data==="$!"?n.lanes=8:n.lanes=1073741824,null):(y=l.children,e=l.fallback,f?(l=n.mode,f=n.child,y={mode:"hidden",children:y},(l&1)===0&&f!==null?(f.childLanes=0,f.pendingProps=y):f=Ei(y,l,0,null),e=Ir(e,l,a,null),f.return=n,e.return=n,f.sibling=e,n.child=f,n.child.memoizedState=Pl(a),n.memoizedState=Rl,e):Ol(n,y));if(d=e.memoizedState,d!==null&&(k=d.dehydrated,k!==null))return Ex(e,n,y,l,k,d,a);if(f){f=l.fallback,y=n.mode,d=e.child,k=d.sibling;var C={mode:"hidden",children:l.children};return(y&1)===0&&n.child!==d?(l=n.child,l.childLanes=0,l.pendingProps=C,n.deletions=null):(l=ir(d,C),l.subtreeFlags=d.subtreeFlags&14680064),k!==null?f=ir(k,f):(f=Ir(f,y,a,null),f.flags|=2),f.return=n,l.return=n,l.sibling=f,n.child=l,l=f,f=n.child,y=e.child.memoizedState,y=y===null?Pl(a):{baseLanes:y.baseLanes|a,cachePool:null,transitions:y.transitions},f.memoizedState=y,f.childLanes=e.childLanes&~a,n.memoizedState=Rl,l}return f=e.child,e=f.sibling,l=ir(f,{mode:"visible",children:l.children}),(n.mode&1)===0&&(l.lanes=a),l.return=n,l.sibling=null,e!==null&&(a=n.deletions,a===null?(n.deletions=[e],n.flags|=16):a.push(e)),n.child=l,n.memoizedState=null,l}function Ol(e,n){return n=Ei({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function pi(e,n,a,l){return l!==null&&sl(l),as(n,e.child,null,a),e=Ol(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function Ex(e,n,a,l,d,f,y){if(a)return n.flags&256?(n.flags&=-257,l=Sl(Error(i(422))),pi(e,n,y,l)):n.memoizedState!==null?(n.child=e.child,n.flags|=128,null):(f=l.fallback,d=n.mode,l=Ei({mode:"visible",children:l.children},d,0,null),f=Ir(f,d,y,null),f.flags|=2,l.return=n,f.return=n,l.sibling=f,n.child=l,(n.mode&1)!==0&&as(n,e.child,null,y),n.child.memoizedState=Pl(y),n.memoizedState=Rl,f);if((n.mode&1)===0)return pi(e,n,y,null);if(d.data==="$!"){if(l=d.nextSibling&&d.nextSibling.dataset,l)var k=l.dgst;return l=k,f=Error(i(419)),l=Sl(f,l,void 0),pi(e,n,y,l)}if(k=(y&e.childLanes)!==0,Et||k){if(l=lt,l!==null){switch(y&-y){case 4:d=2;break;case 16:d=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:d=32;break;case 536870912:d=268435456;break;default:d=0}d=(d&(l.suspendedLanes|y))!==0?0:d,d!==0&&d!==f.retryLane&&(f.retryLane=d,_n(e,d),sn(l,e,d,-1))}return Vl(),l=Sl(Error(i(421))),pi(e,n,y,l)}return d.data==="$?"?(n.flags|=128,n.child=e.child,n=$x.bind(null,e),d._reactRetry=n,null):(e=f.treeContext,At=Gn(d.nextSibling),Ft=n,Be=!0,en=null,e!==null&&(Qt[Wt++]=kn,Qt[Wt++]=Sn,Qt[Wt++]=kr,kn=e.id,Sn=e.overflow,kr=n),n=Ol(n,l.children),n.flags|=4096,n)}function mf(e,n,a){e.lanes|=n;var l=e.alternate;l!==null&&(l.lanes|=n),ll(e.return,n,a)}function Tl(e,n,a,l,d){var f=e.memoizedState;f===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:l,tail:a,tailMode:d}:(f.isBackwards=n,f.rendering=null,f.renderingStartTime=0,f.last=l,f.tail=a,f.tailMode=d)}function pf(e,n,a){var l=n.pendingProps,d=l.revealOrder,f=l.tail;if(bt(e,n,l.children,a),l=Qe.current,(l&2)!==0)l=l&1|2,n.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&mf(e,a,n);else if(e.tag===19)mf(e,a,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}l&=1}if(Ae(Qe,l),(n.mode&1)===0)n.memoizedState=null;else switch(d){case"forwards":for(a=n.child,d=null;a!==null;)e=a.alternate,e!==null&&li(e)===null&&(d=a),a=a.sibling;a=d,a===null?(d=n.child,n.child=null):(d=a.sibling,a.sibling=null),Tl(n,!1,d,a,f);break;case"backwards":for(a=null,d=n.child,n.child=null;d!==null;){if(e=d.alternate,e!==null&&li(e)===null){n.child=d;break}e=d.sibling,d.sibling=a,a=d,d=e}Tl(n,!0,a,null,f);break;case"together":Tl(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function vi(e,n){(n.mode&1)===0&&e!==null&&(e.alternate=null,n.alternate=null,n.flags|=2)}function En(e,n,a){if(e!==null&&(n.dependencies=e.dependencies),Rr|=n.lanes,(a&n.childLanes)===0)return null;if(e!==null&&n.child!==e.child)throw Error(i(153));if(n.child!==null){for(e=n.child,a=ir(e,e.pendingProps),n.child=a,a.return=n;e.sibling!==null;)e=e.sibling,a=a.sibling=ir(e,e.pendingProps),a.return=n;a.sibling=null}return n.child}function Rx(e,n,a){switch(n.tag){case 3:uf(n),ss();break;case 5:Eu(n);break;case 1:Ct(n.type)&&Ja(n);break;case 4:ul(n,n.stateNode.containerInfo);break;case 10:var l=n.type._context,d=n.memoizedProps.value;Ae(si,l._currentValue),l._currentValue=d;break;case 13:if(l=n.memoizedState,l!==null)return l.dehydrated!==null?(Ae(Qe,Qe.current&1),n.flags|=128,null):(a&n.child.childLanes)!==0?hf(e,n,a):(Ae(Qe,Qe.current&1),e=En(e,n,a),e!==null?e.sibling:null);Ae(Qe,Qe.current&1);break;case 19:if(l=(a&n.childLanes)!==0,(e.flags&128)!==0){if(l)return pf(e,n,a);n.flags|=128}if(d=n.memoizedState,d!==null&&(d.rendering=null,d.tail=null,d.lastEffect=null),Ae(Qe,Qe.current),l)break;return null;case 22:case 23:return n.lanes=0,lf(e,n,a)}return En(e,n,a)}var vf,Il,xf,gf;vf=function(e,n){for(var a=n.child;a!==null;){if(a.tag===5||a.tag===6)e.appendChild(a.stateNode);else if(a.tag!==4&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===n)break;for(;a.sibling===null;){if(a.return===null||a.return===n)return;a=a.return}a.sibling.return=a.return,a=a.sibling}},Il=function(){},xf=function(e,n,a,l){var d=e.memoizedProps;if(d!==l){e=n.stateNode,Cr(un.current);var f=null;switch(a){case"input":d=vr(e,d),l=vr(e,l),f=[];break;case"select":d=I({},d,{value:void 0}),l=I({},l,{value:void 0}),f=[];break;case"textarea":d=ut(e,d),l=ut(e,l),f=[];break;default:typeof d.onClick!="function"&&typeof l.onClick=="function"&&(e.onclick=Ga)}Wr(a,l);var y;a=null;for(L in d)if(!l.hasOwnProperty(L)&&d.hasOwnProperty(L)&&d[L]!=null)if(L==="style"){var k=d[L];for(y in k)k.hasOwnProperty(y)&&(a||(a={}),a[y]="")}else L!=="dangerouslySetInnerHTML"&&L!=="children"&&L!=="suppressContentEditableWarning"&&L!=="suppressHydrationWarning"&&L!=="autoFocus"&&(c.hasOwnProperty(L)?f||(f=[]):(f=f||[]).push(L,null));for(L in l){var C=l[L];if(k=d?.[L],l.hasOwnProperty(L)&&C!==k&&(C!=null||k!=null))if(L==="style")if(k){for(y in k)!k.hasOwnProperty(y)||C&&C.hasOwnProperty(y)||(a||(a={}),a[y]="");for(y in C)C.hasOwnProperty(y)&&k[y]!==C[y]&&(a||(a={}),a[y]=C[y])}else a||(f||(f=[]),f.push(L,a)),a=C;else L==="dangerouslySetInnerHTML"?(C=C?C.__html:void 0,k=k?k.__html:void 0,C!=null&&k!==C&&(f=f||[]).push(L,C)):L==="children"?typeof C!="string"&&typeof C!="number"||(f=f||[]).push(L,""+C):L!=="suppressContentEditableWarning"&&L!=="suppressHydrationWarning"&&(c.hasOwnProperty(L)?(C!=null&&L==="onScroll"&&ze("scroll",e),f||k===C||(f=[])):(f=f||[]).push(L,C))}a&&(f=f||[]).push("style",a);var L=f;(n.updateQueue=L)&&(n.flags|=4)}},gf=function(e,n,a,l){a!==l&&(n.flags|=4)};function ia(e,n){if(!Be)switch(e.tailMode){case"hidden":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var l=null;a!==null;)a.alternate!==null&&(l=a),a=a.sibling;l===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function gt(e){var n=e.alternate!==null&&e.alternate.child===e.child,a=0,l=0;if(n)for(var d=e.child;d!==null;)a|=d.lanes|d.childLanes,l|=d.subtreeFlags&14680064,l|=d.flags&14680064,d.return=e,d=d.sibling;else for(d=e.child;d!==null;)a|=d.lanes|d.childLanes,l|=d.subtreeFlags,l|=d.flags,d.return=e,d=d.sibling;return e.subtreeFlags|=l,e.childLanes=a,n}function Px(e,n,a){var l=n.pendingProps;switch(tl(n),n.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return gt(n),null;case 1:return Ct(n.type)&&Xa(),gt(n),null;case 3:return l=n.stateNode,ls(),Ue(_t),Ue(vt),ml(),l.pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(e===null||e.child===null)&&(ni(n)?n.flags|=4:e===null||e.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,en!==null&&(Ql(en),en=null))),Il(e,n),gt(n),null;case 5:fl(n);var d=Cr(ta.current);if(a=n.type,e!==null&&n.stateNode!=null)xf(e,n,a,l,d),e.ref!==n.ref&&(n.flags|=512,n.flags|=2097152);else{if(!l){if(n.stateNode===null)throw Error(i(166));return gt(n),null}if(e=Cr(un.current),ni(n)){l=n.stateNode,a=n.type;var f=n.memoizedProps;switch(l[dn]=n,l[Ys]=f,e=(n.mode&1)!==0,a){case"dialog":ze("cancel",l),ze("close",l);break;case"iframe":case"object":case"embed":ze("load",l);break;case"video":case"audio":for(d=0;d<\/script>",e=e.removeChild(e.firstChild)):typeof l.is=="string"?e=y.createElement(a,{is:l.is}):(e=y.createElement(a),a==="select"&&(y=e,l.multiple?y.multiple=!0:l.size&&(y.size=l.size))):e=y.createElementNS(e,a),e[dn]=n,e[Ys]=l,vf(e,n,!1,!1),n.stateNode=e;e:{switch(y=Rs(a,l),a){case"dialog":ze("cancel",e),ze("close",e),d=l;break;case"iframe":case"object":case"embed":ze("load",e),d=l;break;case"video":case"audio":for(d=0;dfs&&(n.flags|=128,l=!0,ia(f,!1),n.lanes=4194304)}else{if(!l)if(e=li(y),e!==null){if(n.flags|=128,l=!0,a=e.updateQueue,a!==null&&(n.updateQueue=a,n.flags|=4),ia(f,!0),f.tail===null&&f.tailMode==="hidden"&&!y.alternate&&!Be)return gt(n),null}else 2*Ye()-f.renderingStartTime>fs&&a!==1073741824&&(n.flags|=128,l=!0,ia(f,!1),n.lanes=4194304);f.isBackwards?(y.sibling=n.child,n.child=y):(a=f.last,a!==null?a.sibling=y:n.child=y,f.last=y)}return f.tail!==null?(n=f.tail,f.rendering=n,f.tail=n.sibling,f.renderingStartTime=Ye(),n.sibling=null,a=Qe.current,Ae(Qe,l?a&1|2:a&1),n):(gt(n),null);case 22:case 23:return ql(),l=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==l&&(n.flags|=8192),l&&(n.mode&1)!==0?(zt&1073741824)!==0&&(gt(n),n.subtreeFlags&6&&(n.flags|=8192)):gt(n),null;case 24:return null;case 25:return null}throw Error(i(156,n.tag))}function Ox(e,n){switch(tl(n),n.tag){case 1:return Ct(n.type)&&Xa(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return ls(),Ue(_t),Ue(vt),ml(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 5:return fl(n),null;case 13:if(Ue(Qe),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(i(340));ss()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return Ue(Qe),null;case 4:return ls(),null;case 10:return ol(n.type._context),null;case 22:case 23:return ql(),null;case 24:return null;default:return null}}var xi=!1,yt=!1,Tx=typeof WeakSet=="function"?WeakSet:Set,te=null;function ds(e,n){var a=e.ref;if(a!==null)if(typeof a=="function")try{a(null)}catch(l){Ve(e,n,l)}else a.current=null}function Ml(e,n,a){try{a()}catch(l){Ve(e,n,l)}}var yf=!1;function Ix(e,n){if(qo=Fa,e=Yd(),Ao(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var l=a.getSelection&&a.getSelection();if(l&&l.rangeCount!==0){a=l.anchorNode;var d=l.anchorOffset,f=l.focusNode;l=l.focusOffset;try{a.nodeType,f.nodeType}catch{a=null;break e}var y=0,k=-1,C=-1,L=0,Q=0,q=e,H=null;t:for(;;){for(var ee;q!==a||d!==0&&q.nodeType!==3||(k=y+d),q!==f||l!==0&&q.nodeType!==3||(C=y+l),q.nodeType===3&&(y+=q.nodeValue.length),(ee=q.firstChild)!==null;)H=q,q=ee;for(;;){if(q===e)break t;if(H===a&&++L===d&&(k=y),H===f&&++Q===l&&(C=y),(ee=q.nextSibling)!==null)break;q=H,H=q.parentNode}q=ee}a=k===-1||C===-1?null:{start:k,end:C}}else a=null}a=a||{start:0,end:0}}else a=null;for(Vo={focusedElem:e,selectionRange:a},Fa=!1,te=n;te!==null;)if(n=te,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,te=e;else for(;te!==null;){n=te;try{var ne=n.alternate;if((n.flags&1024)!==0)switch(n.tag){case 0:case 11:case 15:break;case 1:if(ne!==null){var oe=ne.memoizedProps,Xe=ne.memoizedState,T=n.stateNode,R=T.getSnapshotBeforeUpdate(n.elementType===n.type?oe:tn(n.type,oe),Xe);T.__reactInternalSnapshotBeforeUpdate=R}break;case 3:var D=n.stateNode.containerInfo;D.nodeType===1?D.textContent="":D.nodeType===9&&D.documentElement&&D.removeChild(D.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(i(163))}}catch(Y){Ve(n,n.return,Y)}if(e=n.sibling,e!==null){e.return=n.return,te=e;break}te=n.return}return ne=yf,yf=!1,ne}function oa(e,n,a){var l=n.updateQueue;if(l=l!==null?l.lastEffect:null,l!==null){var d=l=l.next;do{if((d.tag&e)===e){var f=d.destroy;d.destroy=void 0,f!==void 0&&Ml(n,a,f)}d=d.next}while(d!==l)}}function gi(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var a=n=n.next;do{if((a.tag&e)===e){var l=a.create;a.destroy=l()}a=a.next}while(a!==n)}}function Dl(e){var n=e.ref;if(n!==null){var a=e.stateNode;e.tag,e=a,typeof n=="function"?n(e):n.current=e}}function jf(e){var n=e.alternate;n!==null&&(e.alternate=null,jf(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[dn],delete n[Ys],delete n[Xo],delete n[px],delete n[vx])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function bf(e){return e.tag===5||e.tag===3||e.tag===4}function wf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||bf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ll(e,n,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,n?a.nodeType===8?a.parentNode.insertBefore(e,n):a.insertBefore(e,n):(a.nodeType===8?(n=a.parentNode,n.insertBefore(e,a)):(n=a,n.appendChild(e)),a=a._reactRootContainer,a!=null||n.onclick!==null||(n.onclick=Ga));else if(l!==4&&(e=e.child,e!==null))for(Ll(e,n,a),e=e.sibling;e!==null;)Ll(e,n,a),e=e.sibling}function Fl(e,n,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,n?a.insertBefore(e,n):a.appendChild(e);else if(l!==4&&(e=e.child,e!==null))for(Fl(e,n,a),e=e.sibling;e!==null;)Fl(e,n,a),e=e.sibling}var ht=null,nn=!1;function tr(e,n,a){for(a=a.child;a!==null;)Nf(e,n,a),a=a.sibling}function Nf(e,n,a){if(cn&&typeof cn.onCommitFiberUnmount=="function")try{cn.onCommitFiberUnmount(Oa,a)}catch{}switch(a.tag){case 5:yt||ds(a,n);case 6:var l=ht,d=nn;ht=null,tr(e,n,a),ht=l,nn=d,ht!==null&&(nn?(e=ht,a=a.stateNode,e.nodeType===8?e.parentNode.removeChild(a):e.removeChild(a)):ht.removeChild(a.stateNode));break;case 18:ht!==null&&(nn?(e=ht,a=a.stateNode,e.nodeType===8?Yo(e.parentNode,a):e.nodeType===1&&Yo(e,a),zs(e)):Yo(ht,a.stateNode));break;case 4:l=ht,d=nn,ht=a.stateNode.containerInfo,nn=!0,tr(e,n,a),ht=l,nn=d;break;case 0:case 11:case 14:case 15:if(!yt&&(l=a.updateQueue,l!==null&&(l=l.lastEffect,l!==null))){d=l=l.next;do{var f=d,y=f.destroy;f=f.tag,y!==void 0&&((f&2)!==0||(f&4)!==0)&&Ml(a,n,y),d=d.next}while(d!==l)}tr(e,n,a);break;case 1:if(!yt&&(ds(a,n),l=a.stateNode,typeof l.componentWillUnmount=="function"))try{l.props=a.memoizedProps,l.state=a.memoizedState,l.componentWillUnmount()}catch(k){Ve(a,n,k)}tr(e,n,a);break;case 21:tr(e,n,a);break;case 22:a.mode&1?(yt=(l=yt)||a.memoizedState!==null,tr(e,n,a),yt=l):tr(e,n,a);break;default:tr(e,n,a)}}function kf(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var a=e.stateNode;a===null&&(a=e.stateNode=new Tx),n.forEach(function(l){var d=Bx.bind(null,e,l);a.has(l)||(a.add(l),l.then(d,d))})}}function rn(e,n){var a=n.deletions;if(a!==null)for(var l=0;ld&&(d=y),l&=~f}if(l=d,l=Ye()-l,l=(120>l?120:480>l?480:1080>l?1080:1920>l?1920:3e3>l?3e3:4320>l?4320:1960*Dx(l/1960))-l,10e?16:e,rr===null)var l=!1;else{if(e=rr,rr=null,Ni=0,(Me&6)!==0)throw Error(i(331));var d=Me;for(Me|=4,te=e.current;te!==null;){var f=te,y=f.child;if((te.flags&16)!==0){var k=f.deletions;if(k!==null){for(var C=0;CYe()-Ul?Or(e,0):zl|=a),Pt(e,n)}function Ff(e,n){n===0&&((e.mode&1)===0?n=1:(n=Ia,Ia<<=1,(Ia&130023424)===0&&(Ia=4194304)));var a=wt();e=_n(e,n),e!==null&&(Ms(e,n,a),Pt(e,a))}function $x(e){var n=e.memoizedState,a=0;n!==null&&(a=n.retryLane),Ff(e,a)}function Bx(e,n){var a=0;switch(e.tag){case 13:var l=e.stateNode,d=e.memoizedState;d!==null&&(a=d.retryLane);break;case 19:l=e.stateNode;break;default:throw Error(i(314))}l!==null&&l.delete(n),Ff(e,a)}var Af;Af=function(e,n,a){if(e!==null)if(e.memoizedProps!==n.pendingProps||_t.current)Et=!0;else{if((e.lanes&a)===0&&(n.flags&128)===0)return Et=!1,Rx(e,n,a);Et=(e.flags&131072)!==0}else Et=!1,Be&&(n.flags&1048576)!==0&&vu(n,ti,n.index);switch(n.lanes=0,n.tag){case 2:var l=n.type;vi(e,n),e=n.pendingProps;var d=ts(n,vt.current);os(n,a),d=xl(null,n,l,e,d,a);var f=gl();return n.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,Ct(l)?(f=!0,Ja(n)):f=!1,n.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,dl(n),d.updater=mi,n.stateNode=d,d._reactInternals=n,kl(n,l,e,a),n=El(null,n,l,!0,f,a)):(n.tag=0,Be&&f&&el(n),bt(null,n,d,a),n=n.child),n;case 16:l=n.elementType;e:{switch(vi(e,n),e=n.pendingProps,d=l._init,l=d(l._payload),n.type=l,d=n.tag=Qx(l),e=tn(l,e),d){case 0:n=Cl(null,n,l,e,a);break e;case 1:n=df(null,n,l,e,a);break e;case 11:n=sf(null,n,l,e,a);break e;case 14:n=af(null,n,l,tn(l.type,e),a);break e}throw Error(i(306,l,""))}return n;case 0:return l=n.type,d=n.pendingProps,d=n.elementType===l?d:tn(l,d),Cl(e,n,l,d,a);case 1:return l=n.type,d=n.pendingProps,d=n.elementType===l?d:tn(l,d),df(e,n,l,d,a);case 3:e:{if(uf(n),e===null)throw Error(i(387));l=n.pendingProps,f=n.memoizedState,d=f.element,Su(e,n),oi(n,l,null,a);var y=n.memoizedState;if(l=y.element,f.isDehydrated)if(f={element:l,isDehydrated:!1,cache:y.cache,pendingSuspenseBoundaries:y.pendingSuspenseBoundaries,transitions:y.transitions},n.updateQueue.baseState=f,n.memoizedState=f,n.flags&256){d=cs(Error(i(423)),n),n=ff(e,n,l,a,d);break e}else if(l!==d){d=cs(Error(i(424)),n),n=ff(e,n,l,a,d);break e}else for(At=Gn(n.stateNode.containerInfo.firstChild),Ft=n,Be=!0,en=null,a=Nu(n,null,l,a),n.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(ss(),l===d){n=En(e,n,a);break e}bt(e,n,l,a)}n=n.child}return n;case 5:return Eu(n),e===null&&rl(n),l=n.type,d=n.pendingProps,f=e!==null?e.memoizedProps:null,y=d.children,Ko(l,d)?y=null:f!==null&&Ko(l,f)&&(n.flags|=32),cf(e,n),bt(e,n,y,a),n.child;case 6:return e===null&&rl(n),null;case 13:return hf(e,n,a);case 4:return ul(n,n.stateNode.containerInfo),l=n.pendingProps,e===null?n.child=as(n,null,l,a):bt(e,n,l,a),n.child;case 11:return l=n.type,d=n.pendingProps,d=n.elementType===l?d:tn(l,d),sf(e,n,l,d,a);case 7:return bt(e,n,n.pendingProps,a),n.child;case 8:return bt(e,n,n.pendingProps.children,a),n.child;case 12:return bt(e,n,n.pendingProps.children,a),n.child;case 10:e:{if(l=n.type._context,d=n.pendingProps,f=n.memoizedProps,y=d.value,Ae(si,l._currentValue),l._currentValue=y,f!==null)if(Zt(f.value,y)){if(f.children===d.children&&!_t.current){n=En(e,n,a);break e}}else for(f=n.child,f!==null&&(f.return=n);f!==null;){var k=f.dependencies;if(k!==null){y=f.child;for(var C=k.firstContext;C!==null;){if(C.context===l){if(f.tag===1){C=Cn(-1,a&-a),C.tag=2;var L=f.updateQueue;if(L!==null){L=L.shared;var Q=L.pending;Q===null?C.next=C:(C.next=Q.next,Q.next=C),L.pending=C}}f.lanes|=a,C=f.alternate,C!==null&&(C.lanes|=a),ll(f.return,a,n),k.lanes|=a;break}C=C.next}}else if(f.tag===10)y=f.type===n.type?null:f.child;else if(f.tag===18){if(y=f.return,y===null)throw Error(i(341));y.lanes|=a,k=y.alternate,k!==null&&(k.lanes|=a),ll(y,a,n),y=f.sibling}else y=f.child;if(y!==null)y.return=f;else for(y=f;y!==null;){if(y===n){y=null;break}if(f=y.sibling,f!==null){f.return=y.return,y=f;break}y=y.return}f=y}bt(e,n,d.children,a),n=n.child}return n;case 9:return d=n.type,l=n.pendingProps.children,os(n,a),d=qt(d),l=l(d),n.flags|=1,bt(e,n,l,a),n.child;case 14:return l=n.type,d=tn(l,n.pendingProps),d=tn(l.type,d),af(e,n,l,d,a);case 15:return of(e,n,n.type,n.pendingProps,a);case 17:return l=n.type,d=n.pendingProps,d=n.elementType===l?d:tn(l,d),vi(e,n),n.tag=1,Ct(l)?(e=!0,Ja(n)):e=!1,os(n,a),Xu(n,l,d),kl(n,l,d,a),El(null,n,l,!0,e,a);case 19:return pf(e,n,a);case 22:return lf(e,n,a)}throw Error(i(156,n.tag))};function zf(e,n){return xd(e,n)}function Hx(e,n,a,l){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,n,a,l){return new Hx(e,n,a,l)}function Kl(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Qx(e){if(typeof e=="function")return Kl(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ee)return 11;if(e===Ie)return 14}return 2}function ir(e,n){var a=e.alternate;return a===null?(a=Gt(e.tag,n,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=n,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&14680064,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,n=e.dependencies,a.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a}function Ci(e,n,a,l,d,f){var y=2;if(l=e,typeof e=="function")Kl(e)&&(y=1);else if(typeof e=="string")y=5;else e:switch(e){case B:return Ir(a.children,d,f,n);case U:y=8,d|=8;break;case ie:return e=Gt(12,a,n,d|2),e.elementType=ie,e.lanes=f,e;case Te:return e=Gt(13,a,n,d),e.elementType=Te,e.lanes=f,e;case Fe:return e=Gt(19,a,n,d),e.elementType=Fe,e.lanes=f,e;case M:return Ei(a,d,f,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ue:y=10;break e;case Pe:y=9;break e;case Ee:y=11;break e;case Ie:y=14;break e;case ce:y=16,l=null;break e}throw Error(i(130,e==null?e:typeof e,""))}return n=Gt(y,a,n,d),n.elementType=e,n.type=l,n.lanes=f,n}function Ir(e,n,a,l){return e=Gt(7,e,l,n),e.lanes=a,e}function Ei(e,n,a,l){return e=Gt(22,e,l,n),e.elementType=M,e.lanes=a,e.stateNode={isHidden:!1},e}function Gl(e,n,a){return e=Gt(6,e,null,n),e.lanes=a,e}function Yl(e,n,a){return n=Gt(4,e.children!==null?e.children:[],e.key,n),n.lanes=a,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Wx(e,n,a,l,d){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=No(0),this.expirationTimes=No(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=No(0),this.identifierPrefix=l,this.onRecoverableError=d,this.mutableSourceEagerHydrationData=null}function Xl(e,n,a,l,d,f,y,k,C){return e=new Wx(e,n,a,k,C),n===1?(n=1,f===!0&&(n|=8)):n=0,f=Gt(3,null,null,n),e.current=f,f.stateNode=e,f.memoizedState={element:l,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},dl(f),e}function qx(e,n,a){var l=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(s){console.error(s)}}return t(),rc.exports=sg(),rc.exports}var Zf;function ag(){if(Zf)return Di;Zf=1;var t=Jh();return Di.createRoot=t.createRoot,Di.hydrateRoot=t.hydrateRoot,Di}var ig=ag(),zr=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},og={setTimeout:(t,s)=>setTimeout(t,s),clearTimeout:t=>clearTimeout(t),setInterval:(t,s)=>setInterval(t,s),clearInterval:t=>clearInterval(t)},lg=class{#t=og;#e=!1;setTimeoutProvider(t){this.#t=t}setTimeout(t,s){return this.#t.setTimeout(t,s)}clearTimeout(t){this.#t.clearTimeout(t)}setInterval(t,s){return this.#t.setInterval(t,s)}clearInterval(t){this.#t.clearInterval(t)}},Dr=new lg;function cg(t){setTimeout(t,0)}var Lr=typeof window>"u"||"Deno"in globalThis;function jt(){}function dg(t,s){return typeof t=="function"?t(s):t}function kc(t){return typeof t=="number"&&t>=0&&t!==1/0}function Zh(t,s){return Math.max(t+(s||0)-Date.now(),0)}function dr(t,s){return typeof t=="function"?t(s):t}function Yt(t,s){return typeof t=="function"?t(s):t}function eh(t,s){const{type:i="all",exact:o,fetchStatus:c,predicate:u,queryKey:h,stale:m}=t;if(h){if(o){if(s.queryHash!==Wc(h,s.options))return!1}else if(!pa(s.queryKey,h))return!1}if(i!=="all"){const v=s.isActive();if(i==="active"&&!v||i==="inactive"&&v)return!1}return!(typeof m=="boolean"&&s.isStale()!==m||c&&c!==s.state.fetchStatus||u&&!u(s))}function th(t,s){const{exact:i,status:o,predicate:c,mutationKey:u}=t;if(u){if(!s.options.mutationKey)return!1;if(i){if(Fr(s.options.mutationKey)!==Fr(u))return!1}else if(!pa(s.options.mutationKey,u))return!1}return!(o&&s.state.status!==o||c&&!c(s))}function Wc(t,s){return(s?.queryKeyHashFn||Fr)(t)}function Fr(t){return JSON.stringify(t,(s,i)=>Sc(i)?Object.keys(i).sort().reduce((o,c)=>(o[c]=i[c],o),{}):i)}function pa(t,s){return t===s?!0:typeof t!=typeof s?!1:t&&s&&typeof t=="object"&&typeof s=="object"?Object.keys(s).every(i=>pa(t[i],s[i])):!1}var ug=Object.prototype.hasOwnProperty;function qc(t,s){if(t===s)return t;const i=nh(t)&&nh(s);if(!i&&!(Sc(t)&&Sc(s)))return s;const c=(i?t:Object.keys(t)).length,u=i?s:Object.keys(s),h=u.length,m=i?new Array(h):{};let v=0;for(let g=0;g{Dr.setTimeout(s,t)})}function _c(t,s,i){return typeof i.structuralSharing=="function"?i.structuralSharing(t,s):i.structuralSharing!==!1?qc(t,s):s}function hg(t,s,i=0){const o=[...t,s];return i&&o.length>i?o.slice(1):o}function mg(t,s,i=0){const o=[s,...t];return i&&o.length>i?o.slice(0,-1):o}var Vc=Symbol();function em(t,s){return!t.queryFn&&s?.initialPromise?()=>s.initialPromise:!t.queryFn||t.queryFn===Vc?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}function Kc(t,s){return typeof t=="function"?t(...s):!!t}function pg(t,s,i){let o=!1,c;return Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(c??=s(),o||(o=!0,c.aborted?i():c.addEventListener("abort",i,{once:!0})),c)}),t}var vg=class extends zr{#t;#e;#n;constructor(){super(),this.#n=t=>{if(!Lr&&window.addEventListener){const s=()=>t();return window.addEventListener("visibilitychange",s,!1),()=>{window.removeEventListener("visibilitychange",s)}}}}onSubscribe(){this.#e||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(t){this.#n=t,this.#e?.(),this.#e=t(s=>{typeof s=="boolean"?this.setFocused(s):this.onFocus()})}setFocused(t){this.#t!==t&&(this.#t=t,this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(s=>{s(t)})}isFocused(){return typeof this.#t=="boolean"?this.#t:globalThis.document?.visibilityState!=="hidden"}},Gc=new vg;function Cc(){let t,s;const i=new Promise((c,u)=>{t=c,s=u});i.status="pending",i.catch(()=>{});function o(c){Object.assign(i,c),delete i.resolve,delete i.reject}return i.resolve=c=>{o({status:"fulfilled",value:c}),t(c)},i.reject=c=>{o({status:"rejected",reason:c}),s(c)},i}var xg=cg;function gg(){let t=[],s=0,i=m=>{m()},o=m=>{m()},c=xg;const u=m=>{s?t.push(m):c(()=>{i(m)})},h=()=>{const m=t;t=[],m.length&&c(()=>{o(()=>{m.forEach(v=>{i(v)})})})};return{batch:m=>{let v;s++;try{v=m()}finally{s--,s||h()}return v},batchCalls:m=>(...v)=>{u(()=>{m(...v)})},schedule:u,setNotifyFunction:m=>{i=m},setBatchNotifyFunction:m=>{o=m},setScheduler:m=>{c=m}}}var Ke=gg(),yg=class extends zr{#t=!0;#e;#n;constructor(){super(),this.#n=t=>{if(!Lr&&window.addEventListener){const s=()=>t(!0),i=()=>t(!1);return window.addEventListener("online",s,!1),window.addEventListener("offline",i,!1),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",i)}}}}onSubscribe(){this.#e||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(t){this.#n=t,this.#e?.(),this.#e=t(this.setOnline.bind(this))}setOnline(t){this.#t!==t&&(this.#t=t,this.listeners.forEach(i=>{i(t)}))}isOnline(){return this.#t}},to=new yg;function jg(t){return Math.min(1e3*2**t,3e4)}function tm(t){return(t??"online")==="online"?to.isOnline():!0}var Ec=class extends Error{constructor(t){super("CancelledError"),this.revert=t?.revert,this.silent=t?.silent}};function nm(t){let s=!1,i=0,o;const c=Cc(),u=()=>c.status!=="pending",h=j=>{if(!u()){const b=new Ec(j);N(b),t.onCancel?.(b)}},m=()=>{s=!0},v=()=>{s=!1},g=()=>Gc.isFocused()&&(t.networkMode==="always"||to.isOnline())&&t.canRun(),w=()=>tm(t.networkMode)&&t.canRun(),p=j=>{u()||(o?.(),c.resolve(j))},N=j=>{u()||(o?.(),c.reject(j))},E=()=>new Promise(j=>{o=b=>{(u()||g())&&j(b)},t.onPause?.()}).then(()=>{o=void 0,u()||t.onContinue?.()}),O=()=>{if(u())return;let j;const b=i===0?t.initialPromise:void 0;try{j=b??t.fn()}catch(S){j=Promise.reject(S)}Promise.resolve(j).then(p).catch(S=>{if(u())return;const F=t.retry??(Lr?0:3),z=t.retryDelay??jg,V=typeof z=="function"?z(i,S):z,G=F===!0||typeof F=="number"&&ig()?void 0:E()).then(()=>{s?N(S):O()})})};return{promise:c,status:()=>c.status,cancel:h,continue:()=>(o?.(),c),cancelRetry:m,continueRetry:v,canStart:w,start:()=>(w()?O():E().then(O),c)}}var rm=class{#t;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),kc(this.gcTime)&&(this.#t=Dr.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(Lr?1/0:300*1e3))}clearGcTimeout(){this.#t&&(Dr.clearTimeout(this.#t),this.#t=void 0)}},bg=class extends rm{#t;#e;#n;#s;#r;#a;#o;constructor(t){super(),this.#o=!1,this.#a=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.#s=t.client,this.#n=this.#s.getQueryCache(),this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.#t=ah(this.options),this.state=t.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#r?.promise}setOptions(t){if(this.options={...this.#a,...t},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const s=ah(this.options);s.data!==void 0&&(this.setState(sh(s.data,s.dataUpdatedAt)),this.#t=s)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#n.remove(this)}setData(t,s){const i=_c(this.state.data,t,this.options);return this.#i({data:i,type:"success",dataUpdatedAt:s?.updatedAt,manual:s?.manual}),i}setState(t,s){this.#i({type:"setState",state:t,setStateOptions:s})}cancel(t){const s=this.#r?.promise;return this.#r?.cancel(t),s?s.then(jt).catch(jt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#t)}isActive(){return this.observers.some(t=>Yt(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Vc||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>dr(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!Zh(this.state.dataUpdatedAt,t)}onFocus(){this.observers.find(s=>s.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#r?.continue()}onOnline(){this.observers.find(s=>s.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#r?.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(s=>s!==t),this.observers.length||(this.#r&&(this.#o?this.#r.cancel({revert:!0}):this.#r.cancelRetry()),this.scheduleGc()),this.#n.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#i({type:"invalidate"})}async fetch(t,s){if(this.state.fetchStatus!=="idle"&&this.#r?.status()!=="rejected"){if(this.state.data!==void 0&&s?.cancelRefetch)this.cancel({silent:!0});else if(this.#r)return this.#r.continueRetry(),this.#r.promise}if(t&&this.setOptions(t),!this.options.queryFn){const m=this.observers.find(v=>v.options.queryFn);m&&this.setOptions(m.options)}const i=new AbortController,o=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(this.#o=!0,i.signal)})},c=()=>{const m=em(this.options,s),g=(()=>{const w={client:this.#s,queryKey:this.queryKey,meta:this.meta};return o(w),w})();return this.#o=!1,this.options.persister?this.options.persister(m,g,this):m(g)},h=(()=>{const m={fetchOptions:s,options:this.options,queryKey:this.queryKey,client:this.#s,state:this.state,fetchFn:c};return o(m),m})();this.options.behavior?.onFetch(h,this),this.#e=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==h.fetchOptions?.meta)&&this.#i({type:"fetch",meta:h.fetchOptions?.meta}),this.#r=nm({initialPromise:s?.initialPromise,fn:h.fetchFn,onCancel:m=>{m instanceof Ec&&m.revert&&this.setState({...this.#e,fetchStatus:"idle"}),i.abort()},onFail:(m,v)=>{this.#i({type:"failed",failureCount:m,error:v})},onPause:()=>{this.#i({type:"pause"})},onContinue:()=>{this.#i({type:"continue"})},retry:h.options.retry,retryDelay:h.options.retryDelay,networkMode:h.options.networkMode,canRun:()=>!0});try{const m=await this.#r.start();if(m===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(m),this.#n.config.onSuccess?.(m,this),this.#n.config.onSettled?.(m,this.state.error,this),m}catch(m){if(m instanceof Ec){if(m.silent)return this.#r.promise;if(m.revert){if(this.state.data===void 0)throw m;return this.state.data}}throw this.#i({type:"error",error:m}),this.#n.config.onError?.(m,this),this.#n.config.onSettled?.(this.state.data,m,this),m}finally{this.scheduleGc()}}#i(t){const s=i=>{switch(t.type){case"failed":return{...i,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...i,fetchStatus:"paused"};case"continue":return{...i,fetchStatus:"fetching"};case"fetch":return{...i,...sm(i.data,this.options),fetchMeta:t.meta??null};case"success":const o={...i,...sh(t.data,t.dataUpdatedAt),dataUpdateCount:i.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#e=t.manual?o:void 0,o;case"error":const c=t.error;return{...i,error:c,errorUpdateCount:i.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:i.fetchFailureCount+1,fetchFailureReason:c,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...i,isInvalidated:!0};case"setState":return{...i,...t.state}}};this.state=s(this.state),Ke.batch(()=>{this.observers.forEach(i=>{i.onQueryUpdate()}),this.#n.notify({query:this,type:"updated",action:t})})}};function sm(t,s){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:tm(s.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function sh(t,s){return{data:t,dataUpdatedAt:s??Date.now(),error:null,isInvalidated:!1,status:"success"}}function ah(t){const s=typeof t.initialData=="function"?t.initialData():t.initialData,i=s!==void 0,o=i?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:s,dataUpdateCount:0,dataUpdatedAt:i?o??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:i?"success":"pending",fetchStatus:"idle"}}var oo=class extends zr{constructor(t,s){super(),this.options=s,this.#t=t,this.#i=null,this.#o=Cc(),this.bindMethods(),this.setOptions(s)}#t;#e=void 0;#n=void 0;#s=void 0;#r;#a;#o;#i;#h;#u;#f;#c;#d;#l;#p=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#e.addObserver(this),ih(this.#e,this.options)?this.#m():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Rc(this.#e,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Rc(this.#e,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#j(),this.#b(),this.#e.removeObserver(this)}setOptions(t){const s=this.options,i=this.#e;if(this.options=this.#t.defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Yt(this.options.enabled,this.#e)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#w(),this.#e.setOptions(this.options),s._defaulted&&!va(this.options,s)&&this.#t.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#e,observer:this});const o=this.hasListeners();o&&oh(this.#e,i,this.options,s)&&this.#m(),this.updateResult(),o&&(this.#e!==i||Yt(this.options.enabled,this.#e)!==Yt(s.enabled,this.#e)||dr(this.options.staleTime,this.#e)!==dr(s.staleTime,this.#e))&&this.#v();const c=this.#x();o&&(this.#e!==i||Yt(this.options.enabled,this.#e)!==Yt(s.enabled,this.#e)||c!==this.#l)&&this.#g(c)}getOptimisticResult(t){const s=this.#t.getQueryCache().build(this.#t,t),i=this.createResult(s,t);return Ng(this,i)&&(this.#s=i,this.#a=this.options,this.#r=this.#e.state),i}getCurrentResult(){return this.#s}trackResult(t,s){return new Proxy(t,{get:(i,o)=>(this.trackProp(o),s?.(o),o==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#o.status==="pending"&&this.#o.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(i,o))})}trackProp(t){this.#p.add(t)}getCurrentQuery(){return this.#e}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const s=this.#t.defaultQueryOptions(t),i=this.#t.getQueryCache().build(this.#t,s);return i.fetch().then(()=>this.createResult(i,s))}fetch(t){return this.#m({...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#s))}#m(t){this.#w();let s=this.#e.fetch(this.options,t);return t?.throwOnError||(s=s.catch(jt)),s}#v(){this.#j();const t=dr(this.options.staleTime,this.#e);if(Lr||this.#s.isStale||!kc(t))return;const i=Zh(this.#s.dataUpdatedAt,t)+1;this.#c=Dr.setTimeout(()=>{this.#s.isStale||this.updateResult()},i)}#x(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#e):this.options.refetchInterval)??!1}#g(t){this.#b(),this.#l=t,!(Lr||Yt(this.options.enabled,this.#e)===!1||!kc(this.#l)||this.#l===0)&&(this.#d=Dr.setInterval(()=>{(this.options.refetchIntervalInBackground||Gc.isFocused())&&this.#m()},this.#l))}#y(){this.#v(),this.#g(this.#x())}#j(){this.#c&&(Dr.clearTimeout(this.#c),this.#c=void 0)}#b(){this.#d&&(Dr.clearInterval(this.#d),this.#d=void 0)}createResult(t,s){const i=this.#e,o=this.options,c=this.#s,u=this.#r,h=this.#a,v=t!==i?t.state:this.#n,{state:g}=t;let w={...g},p=!1,N;if(s._optimisticResults){const U=this.hasListeners(),ie=!U&&ih(t,s),ue=U&&oh(t,i,s,o);(ie||ue)&&(w={...w,...sm(g.data,t.options)}),s._optimisticResults==="isRestoring"&&(w.fetchStatus="idle")}let{error:E,errorUpdatedAt:O,status:j}=w;N=w.data;let b=!1;if(s.placeholderData!==void 0&&N===void 0&&j==="pending"){let U;c?.isPlaceholderData&&s.placeholderData===h?.placeholderData?(U=c.data,b=!0):U=typeof s.placeholderData=="function"?s.placeholderData(this.#f?.state.data,this.#f):s.placeholderData,U!==void 0&&(j="success",N=_c(c?.data,U,s),p=!0)}if(s.select&&N!==void 0&&!b)if(c&&N===u?.data&&s.select===this.#h)N=this.#u;else try{this.#h=s.select,N=s.select(N),N=_c(c?.data,N,s),this.#u=N,this.#i=null}catch(U){this.#i=U}this.#i&&(E=this.#i,N=this.#u,O=Date.now(),j="error");const S=w.fetchStatus==="fetching",F=j==="pending",z=j==="error",V=F&&S,G=N!==void 0,B={status:j,fetchStatus:w.fetchStatus,isPending:F,isSuccess:j==="success",isError:z,isInitialLoading:V,isLoading:V,data:N,dataUpdatedAt:w.dataUpdatedAt,error:E,errorUpdatedAt:O,failureCount:w.fetchFailureCount,failureReason:w.fetchFailureReason,errorUpdateCount:w.errorUpdateCount,isFetched:w.dataUpdateCount>0||w.errorUpdateCount>0,isFetchedAfterMount:w.dataUpdateCount>v.dataUpdateCount||w.errorUpdateCount>v.errorUpdateCount,isFetching:S,isRefetching:S&&!F,isLoadingError:z&&!G,isPaused:w.fetchStatus==="paused",isPlaceholderData:p,isRefetchError:z&&G,isStale:Yc(t,s),refetch:this.refetch,promise:this.#o,isEnabled:Yt(s.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const U=Pe=>{B.status==="error"?Pe.reject(B.error):B.data!==void 0&&Pe.resolve(B.data)},ie=()=>{const Pe=this.#o=B.promise=Cc();U(Pe)},ue=this.#o;switch(ue.status){case"pending":t.queryHash===i.queryHash&&U(ue);break;case"fulfilled":(B.status==="error"||B.data!==ue.value)&&ie();break;case"rejected":(B.status!=="error"||B.error!==ue.reason)&&ie();break}}return B}updateResult(){const t=this.#s,s=this.createResult(this.#e,this.options);if(this.#r=this.#e.state,this.#a=this.options,this.#r.data!==void 0&&(this.#f=this.#e),va(s,t))return;this.#s=s;const i=()=>{if(!t)return!0;const{notifyOnChangeProps:o}=this.options,c=typeof o=="function"?o():o;if(c==="all"||!c&&!this.#p.size)return!0;const u=new Set(c??this.#p);return this.options.throwOnError&&u.add("error"),Object.keys(this.#s).some(h=>{const m=h;return this.#s[m]!==t[m]&&u.has(m)})};this.#N({listeners:i()})}#w(){const t=this.#t.getQueryCache().build(this.#t,this.options);if(t===this.#e)return;const s=this.#e;this.#e=t,this.#n=t.state,this.hasListeners()&&(s?.removeObserver(this),t.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#N(t){Ke.batch(()=>{t.listeners&&this.listeners.forEach(s=>{s(this.#s)}),this.#t.getQueryCache().notify({query:this.#e,type:"observerResultsUpdated"})})}};function wg(t,s){return Yt(s.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&s.retryOnMount===!1)}function ih(t,s){return wg(t,s)||t.state.data!==void 0&&Rc(t,s,s.refetchOnMount)}function Rc(t,s,i){if(Yt(s.enabled,t)!==!1&&dr(s.staleTime,t)!=="static"){const o=typeof i=="function"?i(t):i;return o==="always"||o!==!1&&Yc(t,s)}return!1}function oh(t,s,i,o){return(t!==s||Yt(o.enabled,t)===!1)&&(!i.suspense||t.state.status!=="error")&&Yc(t,i)}function Yc(t,s){return Yt(s.enabled,t)!==!1&&t.isStaleByTime(dr(s.staleTime,t))}function Ng(t,s){return!va(t.getCurrentResult(),s)}function no(t){return{onFetch:(s,i)=>{const o=s.options,c=s.fetchOptions?.meta?.fetchMore?.direction,u=s.state.data?.pages||[],h=s.state.data?.pageParams||[];let m={pages:[],pageParams:[]},v=0;const g=async()=>{let w=!1;const p=O=>{pg(O,()=>s.signal,()=>w=!0)},N=em(s.options,s.fetchOptions),E=async(O,j,b)=>{if(w)return Promise.reject();if(j==null&&O.pages.length)return Promise.resolve(O);const F=(()=>{const $={client:s.client,queryKey:s.queryKey,pageParam:j,direction:b?"backward":"forward",meta:s.options.meta};return p($),$})(),z=await N(F),{maxPages:V}=s.options,G=b?mg:hg;return{pages:G(O.pages,z,V),pageParams:G(O.pageParams,j,V)}};if(c&&u.length){const O=c==="backward",j=O?am:Pc,b={pages:u,pageParams:h},S=j(o,b);m=await E(b,S,O)}else{const O=t??u.length;do{const j=v===0?h[0]??o.initialPageParam:Pc(o,m);if(v>0&&j==null)break;m=await E(m,j),v++}while(vs.options.persister?.(g,{client:s.client,queryKey:s.queryKey,meta:s.options.meta,signal:s.signal},i):s.fetchFn=g}}}function Pc(t,{pages:s,pageParams:i}){const o=s.length-1;return s.length>0?t.getNextPageParam(s[o],s,i[o],i):void 0}function am(t,{pages:s,pageParams:i}){return s.length>0?t.getPreviousPageParam?.(s[0],s,i[0],i):void 0}function kg(t,s){return s?Pc(t,s)!=null:!1}function Sg(t,s){return!s||!t.getPreviousPageParam?!1:am(t,s)!=null}var _g=class extends oo{constructor(t,s){super(t,s)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(t){super.setOptions({...t,behavior:no()})}getOptimisticResult(t){return t.behavior=no(),super.getOptimisticResult(t)}fetchNextPage(t){return this.fetch({...t,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(t){return this.fetch({...t,meta:{fetchMore:{direction:"backward"}}})}createResult(t,s){const{state:i}=t,o=super.createResult(t,s),{isFetching:c,isRefetching:u,isError:h,isRefetchError:m}=o,v=i.fetchMeta?.fetchMore?.direction,g=h&&v==="forward",w=c&&v==="forward",p=h&&v==="backward",N=c&&v==="backward";return{...o,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:kg(s,i.data),hasPreviousPage:Sg(s,i.data),isFetchNextPageError:g,isFetchingNextPage:w,isFetchPreviousPageError:p,isFetchingPreviousPage:N,isRefetchError:m&&!g&&!p,isRefetching:u&&!w&&!N}}},Cg=class extends rm{#t;#e;#n;#s;constructor(t){super(),this.#t=t.client,this.mutationId=t.mutationId,this.#n=t.mutationCache,this.#e=[],this.state=t.state||im(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#e.includes(t)||(this.#e.push(t),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#e=this.#e.filter(s=>s!==t),this.scheduleGc(),this.#n.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#n.remove(this))}continue(){return this.#s?.continue()??this.execute(this.state.variables)}async execute(t){const s=()=>{this.#r({type:"continue"})},i={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#s=nm({fn:()=>this.options.mutationFn?this.options.mutationFn(t,i):Promise.reject(new Error("No mutationFn found")),onFail:(u,h)=>{this.#r({type:"failed",failureCount:u,error:h})},onPause:()=>{this.#r({type:"pause"})},onContinue:s,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});const o=this.state.status==="pending",c=!this.#s.canStart();try{if(o)s();else{this.#r({type:"pending",variables:t,isPaused:c}),await this.#n.config.onMutate?.(t,this,i);const h=await this.options.onMutate?.(t,i);h!==this.state.context&&this.#r({type:"pending",context:h,variables:t,isPaused:c})}const u=await this.#s.start();return await this.#n.config.onSuccess?.(u,t,this.state.context,this,i),await this.options.onSuccess?.(u,t,this.state.context,i),await this.#n.config.onSettled?.(u,null,this.state.variables,this.state.context,this,i),await this.options.onSettled?.(u,null,t,this.state.context,i),this.#r({type:"success",data:u}),u}catch(u){try{await this.#n.config.onError?.(u,t,this.state.context,this,i)}catch(h){Promise.reject(h)}try{await this.options.onError?.(u,t,this.state.context,i)}catch(h){Promise.reject(h)}try{await this.#n.config.onSettled?.(void 0,u,this.state.variables,this.state.context,this,i)}catch(h){Promise.reject(h)}try{await this.options.onSettled?.(void 0,u,t,this.state.context,i)}catch(h){Promise.reject(h)}throw this.#r({type:"error",error:u}),u}finally{this.#n.runNext(this)}}#r(t){const s=i=>{switch(t.type){case"failed":return{...i,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...i,isPaused:!0};case"continue":return{...i,isPaused:!1};case"pending":return{...i,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...i,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...i,data:void 0,error:t.error,failureCount:i.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=s(this.state),Ke.batch(()=>{this.#e.forEach(i=>{i.onMutationUpdate(t)}),this.#n.notify({mutation:this,type:"updated",action:t})})}};function im(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Eg=class extends zr{constructor(t={}){super(),this.config=t,this.#t=new Set,this.#e=new Map,this.#n=0}#t;#e;#n;build(t,s,i){const o=new Cg({client:t,mutationCache:this,mutationId:++this.#n,options:t.defaultMutationOptions(s),state:i});return this.add(o),o}add(t){this.#t.add(t);const s=Li(t);if(typeof s=="string"){const i=this.#e.get(s);i?i.push(t):this.#e.set(s,[t])}this.notify({type:"added",mutation:t})}remove(t){if(this.#t.delete(t)){const s=Li(t);if(typeof s=="string"){const i=this.#e.get(s);if(i)if(i.length>1){const o=i.indexOf(t);o!==-1&&i.splice(o,1)}else i[0]===t&&this.#e.delete(s)}}this.notify({type:"removed",mutation:t})}canRun(t){const s=Li(t);if(typeof s=="string"){const o=this.#e.get(s)?.find(c=>c.state.status==="pending");return!o||o===t}else return!0}runNext(t){const s=Li(t);return typeof s=="string"?this.#e.get(s)?.find(o=>o!==t&&o.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){Ke.batch(()=>{this.#t.forEach(t=>{this.notify({type:"removed",mutation:t})}),this.#t.clear(),this.#e.clear()})}getAll(){return Array.from(this.#t)}find(t){const s={exact:!0,...t};return this.getAll().find(i=>th(s,i))}findAll(t={}){return this.getAll().filter(s=>th(t,s))}notify(t){Ke.batch(()=>{this.listeners.forEach(s=>{s(t)})})}resumePausedMutations(){const t=this.getAll().filter(s=>s.state.isPaused);return Ke.batch(()=>Promise.all(t.map(s=>s.continue().catch(jt))))}};function Li(t){return t.options.scope?.id}var Rg=class extends zr{#t;#e=void 0;#n;#s;constructor(s,i){super(),this.#t=s,this.setOptions(i),this.bindMethods(),this.#r()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(s){const i=this.options;this.options=this.#t.defaultMutationOptions(s),va(this.options,i)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#n,observer:this}),i?.mutationKey&&this.options.mutationKey&&Fr(i.mutationKey)!==Fr(this.options.mutationKey)?this.reset():this.#n?.state.status==="pending"&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(s){this.#r(),this.#a(s)}getCurrentResult(){return this.#e}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#r(),this.#a()}mutate(s,i){return this.#s=i,this.#n?.removeObserver(this),this.#n=this.#t.getMutationCache().build(this.#t,this.options),this.#n.addObserver(this),this.#n.execute(s)}#r(){const s=this.#n?.state??im();this.#e={...s,isPending:s.status==="pending",isSuccess:s.status==="success",isError:s.status==="error",isIdle:s.status==="idle",mutate:this.mutate,reset:this.reset}}#a(s){Ke.batch(()=>{if(this.#s&&this.hasListeners()){const i=this.#e.variables,o=this.#e.context,c={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};if(s?.type==="success"){try{this.#s.onSuccess?.(s.data,i,o,c)}catch(u){Promise.reject(u)}try{this.#s.onSettled?.(s.data,null,i,o,c)}catch(u){Promise.reject(u)}}else if(s?.type==="error"){try{this.#s.onError?.(s.error,i,o,c)}catch(u){Promise.reject(u)}try{this.#s.onSettled?.(void 0,s.error,i,o,c)}catch(u){Promise.reject(u)}}}this.listeners.forEach(i=>{i(this.#e)})})}};function lh(t,s){const i=new Set(s);return t.filter(o=>!i.has(o))}function Pg(t,s,i){const o=t.slice(0);return o[s]=i,o}var Og=class extends zr{#t;#e;#n;#s;#r;#a;#o;#i;#h=[];constructor(t,s,i){super(),this.#t=t,this.#s=i,this.#n=[],this.#r=[],this.#e=[],this.setQueries(s)}onSubscribe(){this.listeners.size===1&&this.#r.forEach(t=>{t.subscribe(s=>{this.#d(t,s)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#r.forEach(t=>{t.destroy()})}setQueries(t,s){this.#n=t,this.#s=s,Ke.batch(()=>{const i=this.#r,o=this.#c(this.#n);o.forEach(w=>w.observer.setOptions(w.defaultedQueryOptions));const c=o.map(w=>w.observer),u=c.map(w=>w.getCurrentResult()),h=i.length!==c.length,m=c.some((w,p)=>w!==i[p]),v=h||m,g=v?!0:u.some((w,p)=>{const N=this.#e[p];return!N||!va(w,N)});!v&&!g||(v&&(this.#h=o,this.#r=c),this.#e=u,this.hasListeners()&&(v&&(lh(i,c).forEach(w=>{w.destroy()}),lh(c,i).forEach(w=>{w.subscribe(p=>{this.#d(w,p)})})),this.#l()))})}getCurrentResult(){return this.#e}getQueries(){return this.#r.map(t=>t.getCurrentQuery())}getObservers(){return this.#r}getOptimisticResult(t,s){const i=this.#c(t),o=i.map(c=>c.observer.getOptimisticResult(c.defaultedQueryOptions));return[o,c=>this.#f(c??o,s),()=>this.#u(o,i)]}#u(t,s){return s.map((i,o)=>{const c=t[o];return i.defaultedQueryOptions.notifyOnChangeProps?c:i.observer.trackResult(c,u=>{s.forEach(h=>{h.observer.trackProp(u)})})})}#f(t,s){return s?((!this.#a||this.#e!==this.#i||s!==this.#o)&&(this.#o=s,this.#i=this.#e,this.#a=qc(this.#a,s(t))),this.#a):t}#c(t){const s=new Map;this.#r.forEach(o=>{const c=o.options.queryHash;if(!c)return;const u=s.get(c);u?u.push(o):s.set(c,[o])});const i=[];return t.forEach(o=>{const c=this.#t.defaultQueryOptions(o),h=s.get(c.queryHash)?.shift()??new oo(this.#t,c);i.push({defaultedQueryOptions:c,observer:h})}),i}#d(t,s){const i=this.#r.indexOf(t);i!==-1&&(this.#e=Pg(this.#e,i,s),this.#l())}#l(){if(this.hasListeners()){const t=this.#a,s=this.#u(this.#e,this.#h),i=this.#f(s,this.#s?.combine);t!==i&&Ke.batch(()=>{this.listeners.forEach(o=>{o(this.#e)})})}}},Tg=class extends zr{constructor(t={}){super(),this.config=t,this.#t=new Map}#t;build(t,s,i){const o=s.queryKey,c=s.queryHash??Wc(o,s);let u=this.get(c);return u||(u=new bg({client:t,queryKey:o,queryHash:c,options:t.defaultQueryOptions(s),state:i,defaultOptions:t.getQueryDefaults(o)}),this.add(u)),u}add(t){this.#t.has(t.queryHash)||(this.#t.set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const s=this.#t.get(t.queryHash);s&&(t.destroy(),s===t&&this.#t.delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Ke.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return this.#t.get(t)}getAll(){return[...this.#t.values()]}find(t){const s={exact:!0,...t};return this.getAll().find(i=>eh(s,i))}findAll(t={}){const s=this.getAll();return Object.keys(t).length>0?s.filter(i=>eh(t,i)):s}notify(t){Ke.batch(()=>{this.listeners.forEach(s=>{s(t)})})}onFocus(){Ke.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Ke.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Ig=class{#t;#e;#n;#s;#r;#a;#o;#i;constructor(t={}){this.#t=t.queryCache||new Tg,this.#e=t.mutationCache||new Eg,this.#n=t.defaultOptions||{},this.#s=new Map,this.#r=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Gc.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#t.onFocus())}),this.#i=to.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#t.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#i?.(),this.#i=void 0)}isFetching(t){return this.#t.findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return this.#e.findAll({...t,status:"pending"}).length}getQueryData(t){const s=this.defaultQueryOptions({queryKey:t});return this.#t.get(s.queryHash)?.state.data}ensureQueryData(t){const s=this.defaultQueryOptions(t),i=this.#t.build(this,s),o=i.state.data;return o===void 0?this.fetchQuery(t):(t.revalidateIfStale&&i.isStaleByTime(dr(s.staleTime,i))&&this.prefetchQuery(s),Promise.resolve(o))}getQueriesData(t){return this.#t.findAll(t).map(({queryKey:s,state:i})=>{const o=i.data;return[s,o]})}setQueryData(t,s,i){const o=this.defaultQueryOptions({queryKey:t}),u=this.#t.get(o.queryHash)?.state.data,h=dg(s,u);if(h!==void 0)return this.#t.build(this,o).setData(h,{...i,manual:!0})}setQueriesData(t,s,i){return Ke.batch(()=>this.#t.findAll(t).map(({queryKey:o})=>[o,this.setQueryData(o,s,i)]))}getQueryState(t){const s=this.defaultQueryOptions({queryKey:t});return this.#t.get(s.queryHash)?.state}removeQueries(t){const s=this.#t;Ke.batch(()=>{s.findAll(t).forEach(i=>{s.remove(i)})})}resetQueries(t,s){const i=this.#t;return Ke.batch(()=>(i.findAll(t).forEach(o=>{o.reset()}),this.refetchQueries({type:"active",...t},s)))}cancelQueries(t,s={}){const i={revert:!0,...s},o=Ke.batch(()=>this.#t.findAll(t).map(c=>c.cancel(i)));return Promise.all(o).then(jt).catch(jt)}invalidateQueries(t,s={}){return Ke.batch(()=>(this.#t.findAll(t).forEach(i=>{i.invalidate()}),t?.refetchType==="none"?Promise.resolve():this.refetchQueries({...t,type:t?.refetchType??t?.type??"active"},s)))}refetchQueries(t,s={}){const i={...s,cancelRefetch:s.cancelRefetch??!0},o=Ke.batch(()=>this.#t.findAll(t).filter(c=>!c.isDisabled()&&!c.isStatic()).map(c=>{let u=c.fetch(void 0,i);return i.throwOnError||(u=u.catch(jt)),c.state.fetchStatus==="paused"?Promise.resolve():u}));return Promise.all(o).then(jt)}fetchQuery(t){const s=this.defaultQueryOptions(t);s.retry===void 0&&(s.retry=!1);const i=this.#t.build(this,s);return i.isStaleByTime(dr(s.staleTime,i))?i.fetch(s):Promise.resolve(i.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(jt).catch(jt)}fetchInfiniteQuery(t){return t.behavior=no(t.pages),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(jt).catch(jt)}ensureInfiniteQueryData(t){return t.behavior=no(t.pages),this.ensureQueryData(t)}resumePausedMutations(){return to.isOnline()?this.#e.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#t}getMutationCache(){return this.#e}getDefaultOptions(){return this.#n}setDefaultOptions(t){this.#n=t}setQueryDefaults(t,s){this.#s.set(Fr(t),{queryKey:t,defaultOptions:s})}getQueryDefaults(t){const s=[...this.#s.values()],i={};return s.forEach(o=>{pa(t,o.queryKey)&&Object.assign(i,o.defaultOptions)}),i}setMutationDefaults(t,s){this.#r.set(Fr(t),{mutationKey:t,defaultOptions:s})}getMutationDefaults(t){const s=[...this.#r.values()],i={};return s.forEach(o=>{pa(t,o.mutationKey)&&Object.assign(i,o.defaultOptions)}),i}defaultQueryOptions(t){if(t._defaulted)return t;const s={...this.#n.queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return s.queryHash||(s.queryHash=Wc(s.queryKey,s)),s.refetchOnReconnect===void 0&&(s.refetchOnReconnect=s.networkMode!=="always"),s.throwOnError===void 0&&(s.throwOnError=!!s.suspense),!s.networkMode&&s.persister&&(s.networkMode="offlineFirst"),s.queryFn===Vc&&(s.enabled=!1),s}defaultMutationOptions(t){return t?._defaulted?t:{...this.#n.mutations,...t?.mutationKey&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){this.#t.clear(),this.#e.clear()}},om=x.createContext(void 0),Ur=t=>{const s=x.useContext(om);if(!s)throw new Error("No QueryClient set, use QueryClientProvider to set one");return s},Mg=({client:t,children:s})=>(x.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),r.jsx(om.Provider,{value:t,children:s})),lm=x.createContext(!1),cm=()=>x.useContext(lm);lm.Provider;function Dg(){let t=!1;return{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t}}var Lg=x.createContext(Dg()),dm=()=>x.useContext(Lg),um=(t,s,i)=>{const o=i?.state.error&&typeof t.throwOnError=="function"?Kc(t.throwOnError,[i.state.error,i]):t.throwOnError;(t.suspense||t.experimental_prefetchInRender||o)&&(s.isReset()||(t.retryOnMount=!1))},fm=t=>{x.useEffect(()=>{t.clearReset()},[t])},hm=({result:t,errorResetBoundary:s,throwOnError:i,query:o,suspense:c})=>t.isError&&!s.isReset()&&!t.isFetching&&o&&(c&&t.data===void 0||Kc(i,[t.error,o])),mm=t=>{if(t.suspense){const i=c=>c==="static"?c:Math.max(c??1e3,1e3),o=t.staleTime;t.staleTime=typeof o=="function"?(...c)=>i(o(...c)):i(o),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},pm=(t,s)=>t.isLoading&&t.isFetching&&!s,Oc=(t,s)=>t?.suspense&&s.isPending,ro=(t,s,i)=>s.fetchOptimistic(t).catch(()=>{i.clearReset()});function Fg({queries:t,...s},i){const o=Ur(),c=cm(),u=dm(),h=x.useMemo(()=>t.map(j=>{const b=o.defaultQueryOptions(j);return b._optimisticResults=c?"isRestoring":"optimistic",b}),[t,o,c]);h.forEach(j=>{mm(j);const b=o.getQueryCache().get(j.queryHash);um(j,u,b)}),fm(u);const[m]=x.useState(()=>new Og(o,h,s)),[v,g,w]=m.getOptimisticResult(h,s.combine),p=!c&&s.subscribed!==!1;x.useSyncExternalStore(x.useCallback(j=>p?m.subscribe(Ke.batchCalls(j)):jt,[m,p]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),x.useEffect(()=>{m.setQueries(h,s)},[h,s,m]);const E=v.some((j,b)=>Oc(h[b],j))?v.flatMap((j,b)=>{const S=h[b];if(S){const F=new oo(o,S);if(Oc(S,j))return ro(S,F,u);pm(j,c)&&ro(S,F,u)}return[]}):[];if(E.length>0)throw Promise.all(E);const O=v.find((j,b)=>{const S=h[b];return S&&hm({result:j,errorResetBoundary:u,throwOnError:S.throwOnError,query:o.getQueryCache().get(S.queryHash),suspense:S.suspense})});if(O?.error)throw O.error;return g(w())}function vm(t,s,i){const o=cm(),c=dm(),u=Ur(),h=u.defaultQueryOptions(t);u.getDefaultOptions().queries?._experimental_beforeQuery?.(h);const m=u.getQueryCache().get(h.queryHash);h._optimisticResults=o?"isRestoring":"optimistic",mm(h),um(h,c,m),fm(c);const v=!u.getQueryCache().get(h.queryHash),[g]=x.useState(()=>new s(u,h)),w=g.getOptimisticResult(h),p=!o&&t.subscribed!==!1;if(x.useSyncExternalStore(x.useCallback(N=>{const E=p?g.subscribe(Ke.batchCalls(N)):jt;return g.updateResult(),E},[g,p]),()=>g.getCurrentResult(),()=>g.getCurrentResult()),x.useEffect(()=>{g.setOptions(h)},[h,g]),Oc(h,w))throw ro(h,g,c);if(hm({result:w,errorResetBoundary:c,throwOnError:h.throwOnError,query:m,suspense:h.suspense}))throw w.error;return u.getDefaultOptions().queries?._experimental_afterQuery?.(h,w),h.experimental_prefetchInRender&&!Lr&&pm(w,o)&&(v?ro(h,g,c):m?.promise)?.catch(jt).finally(()=>{g.updateResult()}),h.notifyOnChangeProps?w:g.trackResult(w)}function $e(t,s){return vm(t,oo)}function On(t,s){const i=Ur(),[o]=x.useState(()=>new Rg(i,t));x.useEffect(()=>{o.setOptions(t)},[o,t]);const c=x.useSyncExternalStore(x.useCallback(h=>o.subscribe(Ke.batchCalls(h)),[o]),()=>o.getCurrentResult(),()=>o.getCurrentResult()),u=x.useCallback((h,m)=>{o.mutate(h,m).catch(jt)},[o]);if(c.error&&Kc(o.options.throwOnError,[c.error]))throw c.error;return{...c,mutate:u,mutateAsync:c.mutate}}function xm(t,s){return vm(t,_g)}var ch="popstate";function Ag(t={}){function s(c,u){let{pathname:h="/",search:m="",hash:v=""}=$r(c.location.hash.substring(1));return!h.startsWith("/")&&!h.startsWith(".")&&(h="/"+h),Tc("",{pathname:h,search:m,hash:v},u.state&&u.state.usr||null,u.state&&u.state.key||"default")}function i(c,u){let h=c.document.querySelector("base"),m="";if(h&&h.getAttribute("href")){let v=c.location.href,g=v.indexOf("#");m=g===-1?v:v.slice(0,g)}return m+"#"+(typeof u=="string"?u:xa(u))}function o(c,u){Ut(c.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(u)})`)}return Ug(s,i,o,t)}function qe(t,s){if(t===!1||t===null||typeof t>"u")throw new Error(s)}function Ut(t,s){if(!t){typeof console<"u"&&console.warn(s);try{throw new Error(s)}catch{}}}function zg(){return Math.random().toString(36).substring(2,10)}function dh(t,s){return{usr:t.state,key:t.key,idx:s}}function Tc(t,s,i=null,o){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof s=="string"?$r(s):s,state:i,key:s&&s.key||o||zg()}}function xa({pathname:t="/",search:s="",hash:i=""}){return s&&s!=="?"&&(t+=s.charAt(0)==="?"?s:"?"+s),i&&i!=="#"&&(t+=i.charAt(0)==="#"?i:"#"+i),t}function $r(t){let s={};if(t){let i=t.indexOf("#");i>=0&&(s.hash=t.substring(i),t=t.substring(0,i));let o=t.indexOf("?");o>=0&&(s.search=t.substring(o),t=t.substring(0,o)),t&&(s.pathname=t)}return s}function Ug(t,s,i,o={}){let{window:c=document.defaultView,v5Compat:u=!1}=o,h=c.history,m="POP",v=null,g=w();g==null&&(g=0,h.replaceState({...h.state,idx:g},""));function w(){return(h.state||{idx:null}).idx}function p(){m="POP";let b=w(),S=b==null?null:b-g;g=b,v&&v({action:m,location:j.location,delta:S})}function N(b,S){m="PUSH";let F=Tc(j.location,b,S);i&&i(F,b),g=w()+1;let z=dh(F,g),V=j.createHref(F);try{h.pushState(z,"",V)}catch(G){if(G instanceof DOMException&&G.name==="DataCloneError")throw G;c.location.assign(V)}u&&v&&v({action:m,location:j.location,delta:1})}function E(b,S){m="REPLACE";let F=Tc(j.location,b,S);i&&i(F,b),g=w();let z=dh(F,g),V=j.createHref(F);h.replaceState(z,"",V),u&&v&&v({action:m,location:j.location,delta:0})}function O(b){return $g(b)}let j={get action(){return m},get location(){return t(c,h)},listen(b){if(v)throw new Error("A history only accepts one active listener");return c.addEventListener(ch,p),v=b,()=>{c.removeEventListener(ch,p),v=null}},createHref(b){return s(c,b)},createURL:O,encodeLocation(b){let S=O(b);return{pathname:S.pathname,search:S.search,hash:S.hash}},push:N,replace:E,go(b){return h.go(b)}};return j}function $g(t,s=!1){let i="http://localhost";typeof window<"u"&&(i=window.location.origin!=="null"?window.location.origin:window.location.href),qe(i,"No window.location.(origin|href) available to create URL");let o=typeof t=="string"?t:xa(t);return o=o.replace(/ $/,"%20"),!s&&o.startsWith("//")&&(o=i+o),new URL(o,i)}function gm(t,s,i="/"){return Bg(t,s,i,!1)}function Bg(t,s,i,o){let c=typeof s=="string"?$r(s):s,u=In(c.pathname||"/",i);if(u==null)return null;let h=ym(t);Hg(h);let m=null;for(let v=0;m==null&&v{let w={relativePath:g===void 0?h.path||"":g,caseSensitive:h.caseSensitive===!0,childrenIndex:m,route:h};if(w.relativePath.startsWith("/")){if(!w.relativePath.startsWith(o)&&v)return;qe(w.relativePath.startsWith(o),`Absolute route path "${w.relativePath}" nested under path "${o}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),w.relativePath=w.relativePath.slice(o.length)}let p=Tn([o,w.relativePath]),N=i.concat(w);h.children&&h.children.length>0&&(qe(h.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${p}".`),ym(h.children,s,N,p,v)),!(h.path==null&&!h.index)&&s.push({path:p,score:Yg(p,h.index),routesMeta:N})};return t.forEach((h,m)=>{if(h.path===""||!h.path?.includes("?"))u(h,m);else for(let v of jm(h.path))u(h,m,!0,v)}),s}function jm(t){let s=t.split("/");if(s.length===0)return[];let[i,...o]=s,c=i.endsWith("?"),u=i.replace(/\?$/,"");if(o.length===0)return c?[u,""]:[u];let h=jm(o.join("/")),m=[];return m.push(...h.map(v=>v===""?u:[u,v].join("/"))),c&&m.push(...h),m.map(v=>t.startsWith("/")&&v===""?"/":v)}function Hg(t){t.sort((s,i)=>s.score!==i.score?i.score-s.score:Xg(s.routesMeta.map(o=>o.childrenIndex),i.routesMeta.map(o=>o.childrenIndex)))}var Qg=/^:[\w-]+$/,Wg=3,qg=2,Vg=1,Kg=10,Gg=-2,uh=t=>t==="*";function Yg(t,s){let i=t.split("/"),o=i.length;return i.some(uh)&&(o+=Gg),s&&(o+=qg),i.filter(c=>!uh(c)).reduce((c,u)=>c+(Qg.test(u)?Wg:u===""?Vg:Kg),o)}function Xg(t,s){return t.length===s.length&&t.slice(0,-1).every((o,c)=>o===s[c])?t[t.length-1]-s[s.length-1]:0}function Jg(t,s,i=!1){let{routesMeta:o}=t,c={},u="/",h=[];for(let m=0;m{if(w==="*"){let O=m[N]||"";h=u.slice(0,u.length-O.length).replace(/(.)\/+$/,"$1")}const E=m[N];return p&&!E?g[w]=void 0:g[w]=(E||"").replace(/%2F/g,"/"),g},{}),pathname:u,pathnameBase:h,pattern:t}}function Zg(t,s=!1,i=!0){Ut(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let o=[],c="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(h,m,v)=>(o.push({paramName:m,isOptional:v!=null}),v?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(o.push({paramName:"*"}),c+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):i?c+="\\/*$":t!==""&&t!=="/"&&(c+="(?:(?=\\/|$))"),[new RegExp(c,s?void 0:"i"),o]}function ey(t){try{return t.split("/").map(s=>decodeURIComponent(s).replace(/\//g,"%2F")).join("/")}catch(s){return Ut(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${s}).`),t}}function In(t,s){if(s==="/")return t;if(!t.toLowerCase().startsWith(s.toLowerCase()))return null;let i=s.endsWith("/")?s.length-1:s.length,o=t.charAt(i);return o&&o!=="/"?null:t.slice(i)||"/"}var bm=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ty=t=>bm.test(t);function ny(t,s="/"){let{pathname:i,search:o="",hash:c=""}=typeof t=="string"?$r(t):t,u;if(i)if(ty(i))u=i;else{if(i.includes("//")){let h=i;i=i.replace(/\/\/+/g,"/"),Ut(!1,`Pathnames cannot have embedded double slashes - normalizing ${h} -> ${i}`)}i.startsWith("/")?u=fh(i.substring(1),"/"):u=fh(i,s)}else u=s;return{pathname:u,search:ay(o),hash:iy(c)}}function fh(t,s){let i=s.replace(/\/+$/,"").split("/");return t.split("/").forEach(c=>{c===".."?i.length>1&&i.pop():c!=="."&&i.push(c)}),i.length>1?i.join("/"):"/"}function ic(t,s,i,o){return`Cannot include a '${t}' character in a manually specified \`to.${s}\` field [${JSON.stringify(o)}]. Please separate it out to the \`to.${i}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function ry(t){return t.filter((s,i)=>i===0||s.route.path&&s.route.path.length>0)}function wm(t){let s=ry(t);return s.map((i,o)=>o===s.length-1?i.pathname:i.pathnameBase)}function Nm(t,s,i,o=!1){let c;typeof t=="string"?c=$r(t):(c={...t},qe(!c.pathname||!c.pathname.includes("?"),ic("?","pathname","search",c)),qe(!c.pathname||!c.pathname.includes("#"),ic("#","pathname","hash",c)),qe(!c.search||!c.search.includes("#"),ic("#","search","hash",c)));let u=t===""||c.pathname==="",h=u?"/":c.pathname,m;if(h==null)m=i;else{let p=s.length-1;if(!o&&h.startsWith("..")){let N=h.split("/");for(;N[0]==="..";)N.shift(),p-=1;c.pathname=N.join("/")}m=p>=0?s[p]:"/"}let v=ny(c,m),g=h&&h!=="/"&&h.endsWith("/"),w=(u||h===".")&&i.endsWith("/");return!v.pathname.endsWith("/")&&(g||w)&&(v.pathname+="/"),v}var Tn=t=>t.join("/").replace(/\/\/+/g,"/"),sy=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),ay=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,iy=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t,oy=class{constructor(t,s,i,o=!1){this.status=t,this.statusText=s||"",this.internal=o,i instanceof Error?(this.data=i.toString(),this.error=i):this.data=i}};function ly(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}function cy(t){return t.map(s=>s.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var km=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Sm(t,s){let i=t;if(typeof i!="string"||!bm.test(i))return{absoluteURL:void 0,isExternal:!1,to:i};let o=i,c=!1;if(km)try{let u=new URL(window.location.href),h=i.startsWith("//")?new URL(u.protocol+i):new URL(i),m=In(h.pathname,s);h.origin===u.origin&&m!=null?i=m+h.search+h.hash:c=!0}catch{Ut(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:o,isExternal:c,to:i}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var _m=["POST","PUT","PATCH","DELETE"];new Set(_m);var dy=["GET",..._m];new Set(dy);var bs=x.createContext(null);bs.displayName="DataRouter";var lo=x.createContext(null);lo.displayName="DataRouterState";var uy=x.createContext(!1),Cm=x.createContext({isTransitioning:!1});Cm.displayName="ViewTransition";var fy=x.createContext(new Map);fy.displayName="Fetchers";var hy=x.createContext(null);hy.displayName="Await";var Xt=x.createContext(null);Xt.displayName="Navigation";var ja=x.createContext(null);ja.displayName="Location";var xn=x.createContext({outlet:null,matches:[],isDataRoute:!1});xn.displayName="Route";var Xc=x.createContext(null);Xc.displayName="RouteError";var Em="REACT_ROUTER_ERROR",my="REDIRECT",py="ROUTE_ERROR_RESPONSE";function vy(t){if(t.startsWith(`${Em}:${my}:{`))try{let s=JSON.parse(t.slice(28));if(typeof s=="object"&&s&&typeof s.status=="number"&&typeof s.statusText=="string"&&typeof s.location=="string"&&typeof s.reloadDocument=="boolean"&&typeof s.replace=="boolean")return s}catch{}}function xy(t){if(t.startsWith(`${Em}:${py}:{`))try{let s=JSON.parse(t.slice(40));if(typeof s=="object"&&s&&typeof s.status=="number"&&typeof s.statusText=="string")return new oy(s.status,s.statusText,s.data)}catch{}}function gy(t,{relative:s}={}){qe(ba(),"useHref() may be used only in the context of a component.");let{basename:i,navigator:o}=x.useContext(Xt),{hash:c,pathname:u,search:h}=wa(t,{relative:s}),m=u;return i!=="/"&&(m=u==="/"?i:Tn([i,u])),o.createHref({pathname:m,search:h,hash:c})}function ba(){return x.useContext(ja)!=null}function fr(){return qe(ba(),"useLocation() may be used only in the context of a component."),x.useContext(ja).location}var Rm="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Pm(t){x.useContext(Xt).static||x.useLayoutEffect(t)}function gn(){let{isDataRoute:t}=x.useContext(xn);return t?Oy():yy()}function yy(){qe(ba(),"useNavigate() may be used only in the context of a component.");let t=x.useContext(bs),{basename:s,navigator:i}=x.useContext(Xt),{matches:o}=x.useContext(xn),{pathname:c}=fr(),u=JSON.stringify(wm(o)),h=x.useRef(!1);return Pm(()=>{h.current=!0}),x.useCallback((v,g={})=>{if(Ut(h.current,Rm),!h.current)return;if(typeof v=="number"){i.go(v);return}let w=Nm(v,JSON.parse(u),c,g.relative==="path");t==null&&s!=="/"&&(w.pathname=w.pathname==="/"?s:Tn([s,w.pathname])),(g.replace?i.replace:i.push)(w,g.state,g)},[s,i,u,c,t])}x.createContext(null);function Mn(){let{matches:t}=x.useContext(xn),s=t[t.length-1];return s?s.params:{}}function wa(t,{relative:s}={}){let{matches:i}=x.useContext(xn),{pathname:o}=fr(),c=JSON.stringify(wm(i));return x.useMemo(()=>Nm(t,JSON.parse(c),o,s==="path"),[t,c,o,s])}function jy(t,s){return Om(t,s)}function Om(t,s,i,o,c){qe(ba(),"useRoutes() may be used only in the context of a component.");let{navigator:u}=x.useContext(Xt),{matches:h}=x.useContext(xn),m=h[h.length-1],v=m?m.params:{},g=m?m.pathname:"/",w=m?m.pathnameBase:"/",p=m&&m.route;{let F=p&&p.path||"";Im(g,!p||F.endsWith("*")||F.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${g}" (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 j=lr(),E;if(r){let P=typeof r=="string"?Or(r):r;We(w==="/"||P.pathname?.startsWith(w),`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 "${w}" but pathname "${P.pathname}" was given in the \`location\` prop.`),E=P}else E=j;let O=E.pathname||"/",N=O;if(w!=="/"){let P=w.replace(/^\//,"").split("/");N="/"+O.replace(/^\//,"").split("/").slice(P.length).join("/")}let R=Qh(n,{pathname:N});At(p||R!=null,`No routes matched location "${E.pathname}${E.search}${E.hash}" `),At(R==null||R[R.length-1].route.element!==void 0||R[R.length-1].route.Component!==void 0||R[R.length-1].route.lazy!==void 0,`Matched leaf route at location "${E.pathname}${E.search}${E.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 S=Fx(R&&R.map(P=>Object.assign({},P,{params:Object.assign({},y,P.params),pathname:Sn([w,d.encodeLocation?d.encodeLocation(P.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:P.pathname]),pathnameBase:P.pathnameBase==="/"?w:Sn([w,d.encodeLocation?d.encodeLocation(P.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:P.pathnameBase])})),h,o,l,u);return r&&S?g.createElement(ua.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...E},navigationType:"POP"}},S):S}function Mx(){let n=Bx(),r=wx(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),o=n instanceof Error?n.stack:null,l="rgba(200,200,200, 0.5)",u={padding:"0.5rem",backgroundColor:l},d={padding:"2px 4px",backgroundColor:l},h=null;return console.error("Error handled by React Router default ErrorBoundary:",n),h=g.createElement(g.Fragment,null,g.createElement("p",null,"💿 Hey developer 👋"),g.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",g.createElement("code",{style:d},"ErrorBoundary")," or"," ",g.createElement("code",{style:d},"errorElement")," prop on your route.")),g.createElement(g.Fragment,null,g.createElement("h2",null,"Unexpected Application Error!"),g.createElement("h3",{style:{fontStyle:"italic"}},r),o?g.createElement("pre",{style:u},o):null,h)}var Lx=g.createElement(Mx,null),am=class extends g.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,r){return r.location!==n.location||r.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:r.error,location:r.location,revalidation:n.revalidation||r.revalidation}}componentDidCatch(n,r){this.props.onError?this.props.onError(n,r):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const o=Rx(n.digest);o&&(n=o)}let r=n!==void 0?g.createElement(fn.Provider,{value:this.props.routeContext},g.createElement(Oc.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?g.createElement(Dx,{error:n},r):r}};am.contextType=Nx;var Gl=new WeakMap;function Dx({children:n,error:r}){let{basename:o}=g.useContext(Gt);if(typeof r=="object"&&r&&"digest"in r&&typeof r.digest=="string"){let l=_x(r.digest);if(l){let u=Gl.get(r);if(u)throw u;let d=Jh(l.location,o);if(Xh&&!Gl.get(r))if(d.isExternal||l.reloadDocument)window.location.href=d.absoluteURL||d.to;else{const h=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(d.to,{replace:l.replace}));throw Gl.set(r,h),h}return g.createElement("meta",{httpEquiv:"refresh",content:`0;url=${d.absoluteURL||d.to}`})}}return n}function Ix({routeContext:n,match:r,children:o}){let l=g.useContext(fs);return l&&l.static&&l.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(l.staticContext._deepestRenderedBoundaryId=r.route.id),g.createElement(fn.Provider,{value:n},o)}function Fx(n,r=[],o=null,l=null,u=null){if(n==null){if(!o)return null;if(o.errors)n=o.matches;else if(r.length===0&&!o.initialized&&o.matches.length>0)n=o.matches;else return null}let d=n,h=o?.errors;if(h!=null){let w=d.findIndex(p=>p.route.id&&h?.[p.route.id]!==void 0);We(w>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(h).join(",")}`),d=d.slice(0,Math.min(d.length,w+1))}let m=!1,y=-1;if(o)for(let w=0;w=0?d=d.slice(0,y+1):d=[d[0]];break}}}let x=o&&l?(w,p)=>{l(w,{location:o.location,params:o.matches?.[0]?.params??{},unstable_pattern:jx(o.matches),errorInfo:p})}:void 0;return d.reduceRight((w,p,j)=>{let E,O=!1,N=null,R=null;o&&(E=h&&p.route.id?h[p.route.id]:void 0,N=p.route.errorElement||Lx,m&&(y<0&&j===0?(om("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),O=!0,R=null):y===j&&(O=!0,R=p.route.hydrateFallbackElement||null)));let S=r.concat(d.slice(0,j+1)),P=()=>{let D;return E?D=N:O?D=R:p.route.Component?D=g.createElement(p.route.Component,null):p.route.element?D=p.route.element:D=w,g.createElement(Ix,{match:p,routeContext:{outlet:w,matches:S,isDataRoute:o!=null},children:D})};return o&&(p.route.ErrorBoundary||p.route.errorElement||j===0)?g.createElement(am,{location:o.location,revalidation:o.revalidation,component:N,error:E,children:P(),routeContext:{outlet:null,matches:S,isDataRoute:!0},onError:x}):P()},null)}function Tc(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Ax(n){let r=g.useContext(fs);return We(r,Tc(n)),r}function zx(n){let r=g.useContext(Jo);return We(r,Tc(n)),r}function Ux(n){let r=g.useContext(fn);return We(r,Tc(n)),r}function Mc(n){let r=Ux(n),o=r.matches[r.matches.length-1];return We(o.route.id,`${n} can only be used on routes that contain a unique "id"`),o.route.id}function $x(){return Mc("useRouteId")}function Bx(){let n=g.useContext(Oc),r=zx("useRouteError"),o=Mc("useRouteError");return n!==void 0?n:r.errors?.[o]}function Hx(){let{router:n}=Ax("useNavigate"),r=Mc("useNavigate"),o=g.useRef(!1);return rm(()=>{o.current=!0}),g.useCallback(async(u,d={})=>{At(o.current,nm),o.current&&(typeof u=="number"?await n.navigate(u):await n.navigate(u,{fromRouteId:r,...d}))},[n,r])}var Bf={};function om(n,r,o){!r&&!Bf[n]&&(Bf[n]=!0,At(!1,o))}g.memo(Wx);function Wx({routes:n,future:r,state:o,onError:l}){return sm(n,void 0,o,l,r)}function ht(n){We(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function Qx({basename:n="/",children:r=null,location:o,navigationType:l="POP",navigator:u,static:d=!1,unstable_useTransitions:h}){We(!da(),"You cannot render a inside another . You should never have more than one in your app.");let m=n.replace(/^\/*/,"/"),y=g.useMemo(()=>({basename:m,navigator:u,static:d,unstable_useTransitions:h,future:{}}),[m,u,d,h]);typeof o=="string"&&(o=Or(o));let{pathname:x="/",search:w="",hash:p="",state:j=null,key:E="default"}=o,O=g.useMemo(()=>{let N=Cn(x,m);return N==null?null:{location:{pathname:N,search:w,hash:p,state:j,key:E},navigationType:l}},[m,x,w,p,j,E,l]);return At(O!=null,` is not able to match the URL "${x}${w}${p}" because it does not start with the basename, so the won't render anything.`),O==null?null:g.createElement(Gt.Provider,{value:y},g.createElement(ua.Provider,{children:r,value:O}))}function Vx({children:n,location:r}){return Tx(gc(n),r)}function gc(n,r=[]){let o=[];return g.Children.forEach(n,(l,u)=>{if(!g.isValidElement(l))return;let d=[...r,u];if(l.type===g.Fragment){o.push.apply(o,gc(l.props.children,d));return}We(l.type===ht,`[${typeof l.type=="string"?l.type:l.type.name}] is not a component. All component children of must be a or `),We(!l.props.index||!l.props.children,"An index route cannot have child routes.");let h={id:l.props.id||d.join("-"),caseSensitive:l.props.caseSensitive,element:l.props.element,Component:l.props.Component,index:l.props.index,path:l.props.path,middleware:l.props.middleware,loader:l.props.loader,action:l.props.action,hydrateFallbackElement:l.props.hydrateFallbackElement,HydrateFallback:l.props.HydrateFallback,errorElement:l.props.errorElement,ErrorBoundary:l.props.ErrorBoundary,hasErrorBoundary:l.props.hasErrorBoundary===!0||l.props.ErrorBoundary!=null||l.props.errorElement!=null,shouldRevalidate:l.props.shouldRevalidate,handle:l.props.handle,lazy:l.props.lazy};l.props.children&&(h.children=gc(l.props.children,d)),o.push(h)}),o}var Uo="get",$o="application/x-www-form-urlencoded";function Zo(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function qx(n){return Zo(n)&&n.tagName.toLowerCase()==="button"}function Kx(n){return Zo(n)&&n.tagName.toLowerCase()==="form"}function Gx(n){return Zo(n)&&n.tagName.toLowerCase()==="input"}function Yx(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function Xx(n,r){return n.button===0&&(!r||r==="_self")&&!Yx(n)}function xc(n=""){return new URLSearchParams(typeof n=="string"||Array.isArray(n)||n instanceof URLSearchParams?n:Object.keys(n).reduce((r,o)=>{let l=n[o];return r.concat(Array.isArray(l)?l.map(u=>[o,u]):[[o,l]])},[]))}function Jx(n,r){let o=xc(n);return r&&r.forEach((l,u)=>{o.has(u)||r.getAll(u).forEach(d=>{o.append(u,d)})}),o}var Eo=null;function Zx(){if(Eo===null)try{new FormData(document.createElement("form"),0),Eo=!1}catch{Eo=!0}return Eo}var ey=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Yl(n){return n!=null&&!ey.has(n)?(At(!1,`"${n}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${$o}"`),null):n}function ty(n,r){let o,l,u,d,h;if(Kx(n)){let m=n.getAttribute("action");l=m?Cn(m,r):null,o=n.getAttribute("method")||Uo,u=Yl(n.getAttribute("enctype"))||$o,d=new FormData(n)}else if(qx(n)||Gx(n)&&(n.type==="submit"||n.type==="image")){let m=n.form;if(m==null)throw new Error('Cannot submit a + {backend ? ( + + ) : null} + {backend ? ( + + ) : null} + {backend ? ( + + ) : null} + {backend ? ( + + ) : null} + + + + {detailQuery.isLoading ? ( +
Loading…
+ ) : detailQuery.isError ? ( +
Failed to load.
+ ) : !detailQuery.data?.success ? ( +
+ {detailQuery.data?.message || 'Failed to load.'} +
+ ) : !detailQuery.data.found || !backend ? ( +
Not found
+ ) : ( +
+
+ + + Summary + + + {backend.backend_id}} /> + + } /> + {backend.hosting}} /> + {backend.provider}} /> + {backend.model}} /> + {backend.backend_kind}} /> + + + + + + + Spec + + + {(backend.spec?.operations || []).join(', ') || '-'}} + /> + {(backend.spec?.features || []).join(', ') || '-'}} + /> + {(backend.spec?.transports || []).join(', ') || '-'}} + /> + {backend.spec?.base_url || '-'}} + /> + {backend.credential_ref || '-'}} + /> + + + + +
+ + { + await Promise.all([ + placementsQuery.refetch(), + statusesQuery.refetch(), + modelViewsQuery.refetch(), + detailQuery.refetch(), + ]) + }} + /> + + + + + + + + Raw JSON + + +
+                {JSON.stringify(backend, null, 2)}
+              
+
+
+
+ )} + + { + await updateMutation.mutateAsync(input) + }} + /> + + ) +} diff --git a/web-admin/src/features/ai-backends/AiBackendEditorDialog.test.tsx b/web-admin/src/features/ai-backends/AiBackendEditorDialog.test.tsx new file mode 100644 index 00000000..693e48a9 --- /dev/null +++ b/web-admin/src/features/ai-backends/AiBackendEditorDialog.test.tsx @@ -0,0 +1,345 @@ +import { QueryClient, QueryClientProvider } from '@tanstack/react-query' +import { cleanup, fireEvent, render, screen, waitFor } from '@testing-library/react' +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' + +import AiBackendEditorDialog from '@/features/ai-backends/AiBackendEditorDialog' +import type { AiBackendHosting } from '@/api/ai-backends' + +const mockListCredentials = vi.fn() +const mockListNodes = vi.fn() + +vi.mock('@/api/credentials', () => ({ + listCredentials: () => mockListCredentials(), +})) + +vi.mock('@/api/nodes', () => ({ + listNodes: () => mockListNodes(), +})) + +function renderDialog(options?: { initialHosting?: AiBackendHosting }) { + const client = new QueryClient({ + defaultOptions: { queries: { retry: false, staleTime: 0 } }, + }) + const onSubmit = vi.fn().mockResolvedValue(undefined) + const onOpenChange = vi.fn() + + const rendered = render( + + + , + ) + + return { ...rendered, onSubmit, onOpenChange } +} + +function getSelectForLabel(label: string): HTMLSelectElement { + const title = screen.getByText(label) + const wrapper = title.parentElement + if (!wrapper) { + throw new Error(`Missing wrapper for label ${label}`) + } + const select = wrapper.querySelector('select') + if (!select) { + throw new Error(`Missing select for label ${label}`) + } + return select as HTMLSelectElement +} + +describe('AiBackendEditorDialog', () => { + beforeEach(() => { + mockListCredentials.mockReset() + mockListNodes.mockReset() + mockListCredentials.mockResolvedValue({ + success: true, + credentials: [ + { + name: 'openai-prod', + provider_kind: 'openai', + disabled: false, + referenced_by_count: 0, + created_at_ms: 0, + updated_at_ms: 0, + labels: {}, + metadata: {}, + }, + ], + }) + mockListNodes.mockResolvedValue({ + nodes: [ + { + uuid: 'node-1', + name: 'spearlet-local', + ip_address: '127.0.0.1', + port: 50052, + status: 'ready', + last_heartbeat: 0, + registered_at: 0, + metadata: {}, + }, + ], + total_count: 1, + }) + }) + + afterEach(() => { + vi.clearAllMocks() + cleanup() + }) + + it('submits labels, metadata, and credential ref through the editor', async () => { + const { onSubmit } = renderDialog() + + fireEvent.change(screen.getByPlaceholderText('e.g. OpenAI Production'), { + target: { value: 'Remote OpenAI' }, + }) + fireEvent.change(screen.getByPlaceholderText('e.g. gpt-4.1'), { + target: { value: 'gpt-4o' }, + }) + fireEvent.change(screen.getByPlaceholderText('e.g. https://api.openai.com/v1'), { + target: { value: 'https://api.openai.com/v1' }, + }) + + await waitFor(() => expect(screen.getByRole('option', { name: 'openai-prod' })).toBeTruthy()) + await waitFor(() => expect(screen.queryByText('Loading nodes…')).toBeNull()) + + const textareas = document.body.querySelectorAll('textarea') + fireEvent.change(textareas[0], { + target: { value: 'env=prod\nteam=ml-platform' }, + }) + fireEvent.change(textareas[1], { + target: { value: '{\n "region": "us-east-1"\n}' }, + }) + + fireEvent.click(screen.getByRole('button', { name: 'Save' })) + + await waitFor(() => + expect(onSubmit).toHaveBeenCalledWith( + expect.objectContaining({ + provider: 'openai', + model: 'gpt-4o', + labels: { + env: 'prod', + team: 'ml-platform', + }, + metadata: { + region: 'us-east-1', + }, + }), + expect.objectContaining({ + scope: 'all_nodes', + node_uuids: ['node-1'], + }), + ), + ) + }) + + it('blocks submission when metadata is not a JSON object', async () => { + const { onSubmit } = renderDialog() + + fireEvent.change(screen.getByPlaceholderText('e.g. OpenAI Production'), { + target: { value: 'Remote OpenAI' }, + }) + fireEvent.change(screen.getByPlaceholderText('e.g. gpt-4.1'), { + target: { value: 'gpt-4o' }, + }) + fireEvent.change(screen.getByPlaceholderText('e.g. https://api.openai.com/v1'), { + target: { value: 'https://api.openai.com/v1' }, + }) + + const textareas = document.body.querySelectorAll('textarea') + fireEvent.change(textareas[1], { + target: { value: '[]' }, + }) + + await waitFor(() => expect(screen.getByText('Metadata must be a JSON object')).toBeTruthy()) + + fireEvent.click(screen.getByRole('button', { name: 'Save' })) + await waitFor(() => expect(onSubmit).not.toHaveBeenCalled()) + }) + + it('switches provider and backend kind defaults when hosting changes to local', async () => { + renderDialog() + + const selects = screen.getAllByRole('combobox') + fireEvent.change(selects[0], { + target: { value: 'local' }, + }) + + await waitFor(() => { + const updatedSelects = screen.getAllByRole('combobox') + expect((updatedSelects[1] as HTMLSelectElement).value).toBe('llamacpp') + expect((updatedSelects[2] as HTMLSelectElement).value).toBe('llamacpp') + }) + + expect((screen.getByLabelText('chat_completions') as HTMLInputElement).checked).toBe(true) + expect((screen.getByDisplayValue('http') as HTMLInputElement).value).toBe('http') + await waitFor(() => expect(screen.getByRole('option', { name: /spearlet-local/ })).toBeTruthy()) + expect(getSelectForLabel('Deployment scope').value).toBe('single_node') + }) + + it('prefills the default OpenAI base url for chat and realtime backends', async () => { + renderDialog() + + expect( + (screen.getByPlaceholderText('e.g. https://api.openai.com/v1') as HTMLInputElement).value, + ).toBe('https://api.openai.com/v1') + + const selects = screen.getAllByRole('combobox') + fireEvent.change(selects[2], { + target: { value: 'openai_realtime_ws' }, + }) + + await waitFor(() => { + expect((screen.getByLabelText('speech_to_text') as HTMLInputElement).checked).toBe(true) + }) + expect((screen.getByDisplayValue('websocket') as HTMLInputElement).value).toBe('websocket') + expect( + (screen.getByPlaceholderText('e.g. https://api.openai.com/v1') as HTMLInputElement).value, + ).toBe('https://api.openai.com/v1') + expect((screen.getByPlaceholderText('e.g. gpt-4.1') as HTMLInputElement).value).toBe( + 'gpt-4o-mini-transcribe', + ) + }) + + it('supports multi-select operations via checkboxes', async () => { + const { onSubmit } = renderDialog() + + fireEvent.change(screen.getByPlaceholderText('e.g. OpenAI Production'), { + target: { value: 'OpenAI Chat + Embeddings' }, + }) + fireEvent.change(screen.getByPlaceholderText('e.g. gpt-4.1'), { + target: { value: 'gpt-4o' }, + }) + await waitFor(() => expect(screen.queryByText('Loading nodes…')).toBeNull()) + + fireEvent.click(screen.getByLabelText('embeddings')) + fireEvent.click(screen.getByRole('button', { name: 'Save' })) + + await waitFor(() => expect(onSubmit).toHaveBeenCalledTimes(1)) + expect(onSubmit).toHaveBeenCalledWith( + expect.objectContaining({ + spec: expect.objectContaining({ + operations: ['chat_completions', 'embeddings'], + }), + }), + expect.anything(), + ) + }) + + it('supports multi-select features via checkboxes', async () => { + const { onSubmit } = renderDialog() + + fireEvent.change(screen.getByPlaceholderText('e.g. OpenAI Production'), { + target: { value: 'OpenAI Tooling Backend' }, + }) + fireEvent.change(screen.getByPlaceholderText('e.g. gpt-4.1'), { + target: { value: 'gpt-4o' }, + }) + await waitFor(() => expect(screen.queryByText('Loading nodes…')).toBeNull()) + + fireEvent.click(screen.getByLabelText('stream')) + fireEvent.click(screen.getByLabelText('supports_tools')) + fireEvent.click(screen.getByRole('button', { name: 'Save' })) + + await waitFor(() => expect(onSubmit).toHaveBeenCalledTimes(1)) + expect(onSubmit).toHaveBeenCalledWith( + expect.objectContaining({ + spec: expect.objectContaining({ + features: ['stream', 'supports_tools'], + }), + }), + expect.anything(), + ) + }) + + it('submits single-node placement for local backends by default', async () => { + const { onSubmit } = renderDialog({ initialHosting: 'local' }) + + fireEvent.change(screen.getByPlaceholderText('e.g. OpenAI Production'), { + target: { value: 'Local llama.cpp' }, + }) + + await waitFor(() => expect(screen.getByRole('option', { name: /spearlet-local/ })).toBeTruthy()) + expect(screen.getByText('Hosting')).toBeTruthy() + expect(screen.getByText('local')).toBeTruthy() + + fireEvent.change(screen.getByPlaceholderText('e.g. gpt-4.1'), { + target: { value: 'llama3.1' }, + }) + fireEvent.change(screen.getByPlaceholderText('e.g. https://host/path/model.gguf'), { + target: { value: 'https://models.example.com/llama3.1.gguf' }, + }) + fireEvent.click(screen.getByRole('button', { name: 'Save' })) + + await waitFor(() => expect(onSubmit).toHaveBeenCalledTimes(1)) + expect(onSubmit).toHaveBeenCalledWith( + expect.objectContaining({ + hosting: 'local', + metadata: expect.objectContaining({ + model_url: 'https://models.example.com/llama3.1.gguf', + }), + }), + expect.objectContaining({ + scope: 'single_node', + node_uuids: ['node-1'], + }), + ) + }) + + it('shows model url field for local llamacpp and syncs it into metadata', async () => { + const { onSubmit } = renderDialog({ initialHosting: 'local' }) + + await waitFor(() => expect(screen.getByRole('option', { name: /spearlet-local/ })).toBeTruthy()) + fireEvent.change(screen.getByPlaceholderText('e.g. OpenAI Production'), { + target: { value: 'Local llama.cpp' }, + }) + fireEvent.change(screen.getByPlaceholderText('e.g. gpt-4.1'), { + target: { value: 'llama3.1' }, + }) + fireEvent.change(screen.getByPlaceholderText('e.g. https://host/path/model.gguf'), { + target: { value: 'https://models.example.com/llama3.1.gguf' }, + }) + fireEvent.click(screen.getByRole('button', { name: 'Save' })) + + await waitFor(() => expect(onSubmit).toHaveBeenCalledTimes(1)) + expect(onSubmit).toHaveBeenCalledWith( + expect.objectContaining({ + metadata: expect.objectContaining({ + model_url: 'https://models.example.com/llama3.1.gguf', + }), + }), + expect.anything(), + ) + }) + + it('accepts model path for local llamacpp without requiring model url', async () => { + const { onSubmit } = renderDialog({ initialHosting: 'local' }) + + await waitFor(() => expect(screen.getByRole('option', { name: /spearlet-local/ })).toBeTruthy()) + fireEvent.change(screen.getByPlaceholderText('e.g. OpenAI Production'), { + target: { value: 'Local llama.cpp Path' }, + }) + fireEvent.change(screen.getByPlaceholderText('e.g. gpt-4.1'), { + target: { value: 'llama3.1' }, + }) + fireEvent.change(screen.getByPlaceholderText('e.g. /models/llama/model.gguf'), { + target: { value: '/models/llama/llama3.1.gguf' }, + }) + fireEvent.click(screen.getByRole('button', { name: 'Save' })) + + await waitFor(() => expect(onSubmit).toHaveBeenCalledTimes(1)) + expect(onSubmit).toHaveBeenCalledWith( + expect.objectContaining({ + metadata: expect.objectContaining({ + model_path: '/models/llama/llama3.1.gguf', + }), + }), + expect.anything(), + ) + }) +}) diff --git a/web-admin/src/features/ai-backends/AiBackendEditorDialog.tsx b/web-admin/src/features/ai-backends/AiBackendEditorDialog.tsx new file mode 100644 index 00000000..0ac84247 --- /dev/null +++ b/web-admin/src/features/ai-backends/AiBackendEditorDialog.tsx @@ -0,0 +1,464 @@ +/** + * Editor dialog for unified AI backends. + * 统一 AI backend 的编辑对话框。 + */ + +import { useEffect, useMemo, useState } from 'react' +import { useQuery } from '@tanstack/react-query' +import { toast } from 'sonner' + +import type { AiBackendSummary, AiBackendDesiredState, AiBackendHosting, WriteAiBackendInput } from '@/api/ai-backends' +import { listNodes } from '@/api/nodes' +import { Button } from '@/components/ui/button' +import { Dialog, DialogContent, DialogHeader } from '@/components/ui/dialog' +import { Input } from '@/components/ui/input' +import { + backendKindOptionsFor, + buildPayload, + buildPlacementPolicy, + defaultBackendKindFor, + defaultPlacementScopeForHosting, + defaultProviderForHosting, + defaultsForKind, + FEATURE_OPTIONS, + formFromBackend, + type AiBackendEditorFormState as FormState, + metadataBooleanField, + metadataStringField, + OPERATION_OPTIONS, + type PlacementPolicyInput, + providerOptionsForHosting, + setMetadataStringField, + splitCsv, + toggleCsvValue, + TRANSPORT_OPTIONS, + emptyForm, + validateForm, +} from './AiBackendEditorForm' +import LocalLlamaCppFields from './LocalLlamaCppFields' +import PlacementSection from './PlacementSection' +import RemoteBackendFields from './RemoteBackendFields' + +export default function AiBackendEditorDialog(props: { + open: boolean + backend?: AiBackendSummary | null + initialHosting?: AiBackendHosting + title?: string + description?: string + submitLabel?: string + onOpenChange: (open: boolean) => void + onSubmit: (input: WriteAiBackendInput, placementPolicy?: PlacementPolicyInput) => Promise +}) { + const [form, setForm] = useState(() => + props.backend ? formFromBackend(props.backend) : emptyForm(props.initialHosting ?? 'remote'), + ) + const isEditing = !!props.backend?.backend_id + const forcedHosting = !isEditing ? props.initialHosting : undefined + const nodesQuery = useQuery({ + queryKey: ['nodes-for-placement'], + queryFn: () => listNodes({ sort_by: 'last_heartbeat', order: 'desc', limit: 200 }), + enabled: props.open && !isEditing, + staleTime: 15_000, + }) + const nodes = nodesQuery.data?.nodes || [] + + useEffect(() => { + if (!props.open) return + setForm(props.backend ? formFromBackend(props.backend) : emptyForm(props.initialHosting ?? 'remote')) + }, [props.backend, props.initialHosting, props.open]) + + useEffect(() => { + if (!props.open || isEditing) return + if (form.placement_scope !== 'single_node') return + if (form.placement_node_uuid.trim()) return + if (nodes.length === 1) { + setForm((current) => ({ ...current, placement_node_uuid: nodes[0].uuid })) + } + }, [form.placement_node_uuid, form.placement_scope, isEditing, nodes, props.open]) + + const validationErrors = useMemo( + () => validateForm(form, { isEditing, nodes }), + [form, isEditing, nodes], + ) + const canSubmit = validationErrors.length === 0 + const disableReason = validationErrors[0] || '' + const selectedOperations = useMemo(() => splitCsv(form.operations), [form.operations]) + const selectedFeatures = useMemo(() => splitCsv(form.features), [form.features]) + const selectedPlacementNodes = useMemo( + () => splitCsv(form.placement_node_uuids), + [form.placement_node_uuids], + ) + const providerOptions = useMemo( + () => providerOptionsForHosting(form.hosting, form.provider), + [form.hosting, form.provider], + ) + const backendKindOptions = useMemo( + () => backendKindOptionsFor(form.hosting, form.provider, form.backend_kind), + [form.backend_kind, form.hosting, form.provider], + ) + + return ( + + + + +
+
+
+
+
Display name
+ setForm((current) => ({ ...current, display_name: event.target.value }))} + placeholder="e.g. OpenAI Production" + /> +
+ {forcedHosting ? ( +
+
Hosting
+
+ {forcedHosting} +
+
+ ) : ( +
+
Hosting
+ +
+ )} +
+ +
+
+
Provider
+ +
+
+
Model
+ setForm((current) => ({ ...current, model: event.target.value }))} + placeholder="e.g. gpt-4.1" + /> +
+
+ +
+
+
Backend kind
+ +
+
+
Desired state
+ +
+
+ + {form.hosting === 'remote' ? ( + + ) : null} + + {form.hosting === 'local' && form.provider === 'llamacpp' ? ( + + ) : null} + +
+
Operations
+
+ {OPERATION_OPTIONS.map((operation) => ( + + ))} +
+
+ +
+
+
Features
+
+ {FEATURE_OPTIONS.map((feature) => ( + + ))} +
+
+
+
Transports
+ +
+
+ +
+
+
Weight
+ setForm((current) => ({ ...current, weight: event.target.value }))} + placeholder="100" + /> +
+
+
Priority
+ setForm((current) => ({ ...current, priority: event.target.value }))} + placeholder="0" + /> +
+
+ +
+
+
Labels
+