[
  {
    "path": ".github/dependabot.yml",
    "content": "version: 2\nupdates:\n  # Go dependencies in root directory\n  - package-ecosystem: \"gomod\"\n    directory: \"/\"\n    schedule:\n      interval: \"weekly\"\n      day: \"monday\"\n    groups:\n      go-all-dependencies:\n        patterns:\n          - \"*\"\n    open-pull-requests-limit: 1\n\n  # npm dependencies in web/frontend\n  - package-ecosystem: \"npm\"\n    directory: \"/web/frontend\"\n    schedule:\n      interval: \"weekly\"\n      day: \"monday\"\n    groups:\n      npm-all-dependencies:\n        patterns:\n          - \"*\"\n    open-pull-requests-limit: 1\n"
  },
  {
    "path": ".github/workflows/dependabot-build.yml",
    "content": "name: Dependabot Build Check\n\non:\n  pull_request:\n    branches:\n      - main\n      - master\n\njobs:\n  build:\n    # Only run if the PR is from Dependabot\n    if: github.actor == 'dependabot[bot]'\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout PR branch\n        uses: actions/checkout@v4\n\n      - name: Set up Go\n        uses: actions/setup-go@v5\n        with:\n          go-version: '1.24'\n\n      - name: Set up Node.js\n        uses: actions/setup-node@v4\n        with:\n          node-version: '20'\n\n      - name: Build Go project\n        run: |\n          echo \"Building Go project...\"\n          go build -v\n          if [ $? -ne 0 ]; then\n            echo \"Go build failed!\"\n            exit 1\n          fi\n          echo \"Go build successful!\"\n\n      - name: Build Node.js frontend\n        working-directory: ./web/frontend\n        run: |\n          echo \"Installing Node.js dependencies...\"\n          npm ci\n          echo \"Building frontend...\"\n          npm run build\n          if [ $? -ne 0 ]; then\n            echo \"Frontend build failed!\"\n            exit 1\n          fi\n          echo \"Frontend build successful!\"\n"
  },
  {
    "path": ".gitignore",
    "content": "# If you prefer the allow list template instead of the deny list, see community template:\n# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore\n#\n# Binaries for programs and plugins\n*.exe\n*.exe~\n*.dll\n*.so\n*.dylib\n\n# Test binary, built with `go test -c`\n*.test\n\n# Output of the go coverage tool, specifically when used with LiteIDE\n*.out\n\n# Dependency directories (remove the comment below to include it)\n# vendor/\n\n# Go workspace file\ngo.work\ngo.work.sum\npodscript\nscratch.go\n\n#VS Code Settings\n.vscode\n.vite\n.cursor\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2024 Deepak Jois\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# podscript\n\npodscript is a tool to generate transcripts for podcasts (and other similar audio files), using LLMs and Speech-to-Text (STT) APIs.\n\n## Install\n\n```shell\n> go install github.com/cottonggeeks/podscript@latest\n\n> ~/go/bin/podscript --help\n```\n\n## Web UI\nPodscript has a web based UI for convenience\n\n```shell\n> podscript web\nStarting server on port 8080\n```\n\nThis runs a web server on at `http://localhost:8080`\n\n![Demo](demo/screencast.gif)\n\nFor more advanced usage, see the CLI section below.\n\n## CLI Getting started\n\n```bash\n# Configure keys for supported services (OpenAI, Anthropic, Deepgram etc)\n# and write them to $HOME/.podscript.toml\npodscript configure\n\n# Transcribe a YouTube Video by formatting and cleaning up autogenerated captions\npodscript ytt https://www.youtube.com/watch?v=aO1-6X_f74M\n\n# Transcribe audio from a URL using deepgram speech-to-text API\n#\n# Deepgram and AssemblyAI subcommands support `--from-url` for\n# passing audio URLs, and `--from-file` to pass audio files.\npodscript deepgram --from-url  https://audio.listennotes.com/e/p/d6cc86364eb540c1a30a1cac2b77b82c/\n\n# Transcribe audio from a file using Groq's whisper model\n#  Groq only supports audio files.\npodscript groq --file huberman.mp3\n```\n\n## More Info\n\n#### Models for ytt subcommand\nThe `ytt` subommand uses the `gpt-4o` model by default. Use `--model` flag to set a different model. The following are supported:\n\n- OpenAI\n  - `gpt-4o`\n  - `gpt-4o-mini`\n- Google Gemini\n  - `gemini-2.0-flash`\n- Llama (via [Groq](https://groq.com/))\n  - `llama-3.3-70b-versatile`\n  - `llama-3.1-8b-instant`\n- Anthropic\n  - `claude-3-5-sonnet-20241022`\n  - `claude-3-5-haiku-20241022`\n- Anthropic via [Amazon Bedrock](https://aws.amazon.com/bedrock/)\n  - `anthropic.claude-3-5-sonnet-20241022-v2:0` (via AWS)\n  - `anthropic.claude-3-5-haiku-20241022-v1:0` (via AWS)\n\n\n### Transcript from audio URLs and files\n> [!TIP]\n> You can find the audio download link for a podcast on [ListenNotes](https://www.listennotes.com/) under the More menu\n>\n> <img width=\"252\" alt=\"image\" src=\"https://github.com/deepakjois/podscript/assets/5342/1f400964-e575-4f59-9de0-ee75f386b27d\">\n\npodscript supports the following Speech-To-Text (STT) APIs:\n\n- [Deepgram](https://playground.deepgram.com/?endpoint=listen&smart_format=true&language=en&model=nova-2) (which as of Jan 2025 provides $200 free signup credit!)\n- [Assembly AI](https://www.assemblyai.com/docs) (which as of Oct 2024 is free to use within your credit limits and they provide $50 credits free on signup).\n- [Groq](https://console.groq.com/docs/speech-text) (which as of Jul 2024 is in beta and free to use within your rate limits).\n\n## Development\n\nWant to contribute? Here's how to build and run the project locally:\n\n### Prerequisites\n- Install `npm`: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm?ref=meilisearch-blog\n- Install `caddy`: https://caddyserver.com/docs/install\n\nBuild and run the frontend:\n\n```bash\ncd web/frontend\nnpm run dev\n```\n\nBuild the backend server and run it in dev mode:\n\n```bash\ngo build -o podscript\n./podscript web --dev\n```\n\nThis will start the backend server and expose only the API endpoints without bundling the frontend assets\n\nTo connect the two:\n\n```bash\ncd web\ncaddy run\n```\n\nThis should setup everything such that you can visit `http://localhost:8080` and have the frontend connected to the backend via the Caddy reverse proxy\n\n## Feedback\n\nFeel free to drop me a note on [X](https://x.com/debugjois) or [Email Me](mailto:deepak.jois@gmail.com)\n\n## License\n\n[MIT](https://github.com/cottonggeeks/podscript/raw/main/LICENSE)\n"
  },
  {
    "path": "assemblyai.go",
    "content": "package main\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"fmt\"\n\t\"net/url\"\n\t\"os\"\n\t\"path/filepath\"\n\n\taai \"github.com/AssemblyAI/assemblyai-go-sdk\"\n)\n\nconst (\n\tmaxLocalFileSize int64 = 2200 * 1024 * 1024 // Approximate 2.2GB in bytes\n)\n\ntype AssemblyAICmd struct {\n\tModel    string `help:\"Speech model to use for transcription (best, nano)\" enum:\"best,nano\" default:\"best\" short:\"m\"`\n\tFromURL  string `help:\"URL of the audio file to transcribe\" short:\"u\" xor:\"source\" required:\"\"`\n\tFromFile string `help:\"Local path to the audio file to transcribe\" short:\"f\" xor:\"source\" required:\"\"`\n\tOutput   string `help:\"Path to output transcript file (default: stdout)\" short:\"o\"`\n\tAPIKey   string `env:\"ASSEMBLYAI_API_KEY\" default:\"\" hidden:\"\"`\n}\n\nfunc (a *AssemblyAICmd) Run() error {\n\tif a.APIKey == \"\" {\n\t\treturn errors.New(\"API key not found. Please run 'podscript configure' or set the ASSEMBLYAI_API_KEY environment variable\")\n\t}\n\n\tclient := aai.NewClient(a.APIKey)\n\tctx := context.Background()\n\n\tvar transcript *aai.Transcript\n\n\tparams := &aai.TranscriptOptionalParams{\n\t\tSpeakerLabels: aai.Bool(true),\n\t\tPunctuate:     aai.Bool(true),\n\t\tFormatText:    aai.Bool(true),\n\t\tSpeechModel:   aai.SpeechModel(a.Model),\n\t}\n\n\tif a.FromURL != \"\" {\n\t\tparsedURL, err := url.ParseRequestURI(a.FromURL)\n\t\tif err != nil || (parsedURL.Scheme != \"http\" && parsedURL.Scheme != \"https\") {\n\t\t\treturn fmt.Errorf(\"invalid URL: %s\", a.FromURL)\n\t\t}\n\n\t\ttranscriptValue, err := client.Transcripts.TranscribeFromURL(ctx, a.FromURL, params)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"failed to transcribe from URL: %w\", err)\n\t\t}\n\t\ttranscript = &transcriptValue\n\t} else if a.FromFile != \"\" {\n\t\taudioFilePath := filepath.Clean(a.FromFile)\n\t\tfi, err := os.Stat(audioFilePath)\n\t\tif err != nil || fi.IsDir() {\n\t\t\treturn fmt.Errorf(\"invalid audio file: %s\", audioFilePath)\n\t\t}\n\n\t\tif fi.Size() > maxLocalFileSize {\n\t\t\treturn fmt.Errorf(\"file size exceeds 2.2GB limit\")\n\t\t}\n\n\t\tfile, err := os.Open(audioFilePath)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"error opening file: %w\", err)\n\t\t}\n\t\tdefer file.Close()\n\n\t\ttranscriptValue, err := client.Transcripts.TranscribeFromReader(ctx, file, nil)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"failed to transcribe from file: %w\", err)\n\t\t}\n\t\ttranscript = &transcriptValue\n\t} else {\n\t\treturn errors.New(\"please provide either a valid URL or a file path\")\n\t}\n\n\tif transcript == nil || transcript.Text == nil {\n\t\treturn errors.New(\"transcription failed: received nil transcript from AssemblyAI API\")\n\t}\n\n\tvar output *os.File = os.Stdout\n\tif a.Output != \"\" {\n\t\tvar err error\n\t\toutput, err = os.Create(a.Output)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"failed to create output file: %w\", err)\n\t\t}\n\t\tdefer output.Close()\n\t}\n\n\tfor _, utterance := range transcript.Utterances {\n\t\t_, err := fmt.Fprintf(output, \"Speaker %s: %s\\n\\n\",\n\t\t\taai.ToString(utterance.Speaker),\n\t\t\taai.ToString(utterance.Text),\n\t\t)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"failed to write utterance to file: %w\", err)\n\t\t}\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "config.go",
    "content": "// This file provides a Kong resolver that loads configuration from a TOML file.\n// It is a lightly modified version of the kongtoml package.\n//\n// It checks if the ytt subcommand is used and if so, it uses the parent path to\n// construct the key. This makes the configuration file more readable and ergonomic.\npackage main\n\nimport (\n\t\"io\"\n\t\"strings\"\n\n\t\"github.com/alecthomas/kong\"\n\t\"github.com/pelletier/go-toml/v2\"\n)\n\nfunc ConfLoader(r io.Reader) (kong.Resolver, error) {\n\tvar tree map[string]any\n\tdecoder := toml.NewDecoder(r)\n\tif err := decoder.Decode(&tree); err != nil {\n\t\treturn nil, err\n\t}\n\tvar filename string\n\tif named, ok := r.(interface{ Name() string }); ok {\n\t\tfilename = named.Name()\n\t}\n\treturn &ConfResolver{filename: filename, tree: tree}, nil\n}\n\ntype ConfResolver struct {\n\tfilename string\n\ttree     map[string]any\n}\n\nfunc (r *ConfResolver) Resolve(kctx *kong.Context, parent *kong.Path, flag *kong.Flag) (interface{}, error) {\n\tvalue, ok := r.findValue(parent, flag)\n\tif !ok {\n\t\treturn nil, nil\n\t}\n\treturn value, nil\n}\n\nfunc (r *ConfResolver) Validate(app *kong.Application) error {\n\t// TODO: Validate the configuration maps to valid flags.\n\treturn nil\n}\n\nfunc (r *ConfResolver) findValue(parent *kong.Path, flag *kong.Flag) (any, bool) {\n\t// Get parent path, converting to empty string if \"ytt\"\n\tpath := parent.Node().Path()\n\tif path == \"ytt\" {\n\t\tpath = \"\"\n\t}\n\n\tkeys := []string{\n\t\tstrings.ReplaceAll(path, \" \", \"-\") + \"-\" + flag.Name,\n\t\tflag.Name,\n\t}\n\n\tfor _, key := range keys {\n\t\tparts := strings.Split(key, \"-\")\n\t\tif value, ok := r.findValueParts(parts[0], parts[1:], r.tree); ok {\n\t\t\treturn value, ok\n\t\t}\n\t}\n\treturn nil, false\n}\n\nfunc (r *ConfResolver) findValueParts(prefix string, suffix []string, tree map[string]any) (any, bool) {\n\tif value, ok := tree[prefix]; ok {\n\t\tif len(suffix) == 0 {\n\t\t\treturn value, true\n\t\t}\n\t\tif branch, ok := value.(map[string]any); ok {\n\t\t\treturn r.findValueParts(suffix[0], suffix[1:], branch)\n\t\t}\n\t} else if len(suffix) > 0 {\n\t\treturn r.findValueParts(prefix+\"-\"+suffix[0], suffix[1:], tree)\n\t}\n\treturn nil, false\n}\n"
  },
  {
    "path": "configure.go",
    "content": "package main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"path\"\n\t\"strings\"\n\n\t\"github.com/charmbracelet/huh\"\n\t\"github.com/pelletier/go-toml/v2\"\n)\n\ntype Config struct {\n\tAssemblyAIAPIKey   string `toml:\"assembly-ai-api-key\" json:\"assembly_ai_api_key\"`\n\tDeepgramAPIKey     string `toml:\"deepgram-api-key\" json:\"deepgram_api_key\"`\n\tGroqAPIKey         string `toml:\"groq-api-key\" json:\"groq_api_key\"`\n\tAnthropicAPIKey    string `toml:\"anthropic-api-key\" json:\"anthropic_api_key\"`\n\tOpenAIAPIKey       string `toml:\"openai-api-key\" json:\"openai_api_key\"`\n\tGeminiAPIKey       string `toml:\"gemini-api-key\" json:\"gemini_api_key\"`\n\tAWSRegion          string `toml:\"aws-region\" json:\"aws_region\"`\n\tAWSAccessKeyID     string `toml:\"aws-access-key-id\" json:\"aws_access_key_id\"`\n\tAWSSecretAccessKey string `toml:\"aws-secret-access-key\" json:\"aws_secret_access_key\"`\n\tAWSSessionToken    string `toml:\"aws-session-token\" json:\"aws_session_token\"`\n}\n\ntype ConfigureCmd struct{}\n\nconst configFileName = \".podscript.toml\"\n\nfunc (c *ConfigureCmd) Run() error {\n\tconfig := &Config{}\n\n\t// Try to read existing config\n\texistingConfig, err := ReadConfig()\n\tif err == nil {\n\t\tconfig = existingConfig\n\t}\n\n\t// Prompt for each API key\n\tprompts := []struct {\n\t\ttitle string\n\t\tvalue *string\n\t}{\n\t\t{\"OpenAI API key\", &config.OpenAIAPIKey},\n\t\t{\"Anthropic API key\", &config.AnthropicAPIKey},\n\t\t{\"Deepgram API key\", &config.DeepgramAPIKey},\n\t\t{\"Groq API key\", &config.GroqAPIKey},\n\t\t{\"AssemblyAI API key\", &config.AssemblyAIAPIKey},\n\t\t{\"Gemini API key\", &config.GeminiAPIKey},\n\t\t{\"AWS Region\", &config.AWSRegion},\n\t\t{\"AWS Access Key ID\", &config.AWSAccessKeyID},\n\t\t{\"AWS Secret Access Key\", &config.AWSSecretAccessKey},\n\t\t{\"AWS Session Token\", &config.AWSSessionToken},\n\t}\n\n\tfor _, p := range prompts {\n\t\tif err := promptAndSet(p.title, p.value); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn WriteConfig(config)\n}\n\nfunc promptAndSet(promptTitle string, currentValue *string) error {\n\tvar value string\n\ttextInput := huh.NewInput().\n\t\tTitle(promptTitle).\n\t\tPrompt(\"> \").\n\t\tPlaceholder(\"press Enter to skip or leave unchanged\").\n\t\tEchoMode(huh.EchoModePassword).\n\t\tValue(&value)\n\n\terr := textInput.Run()\n\tif err != nil && err != huh.ErrUserAborted {\n\t\treturn err\n\t}\n\n\tvalue = strings.TrimSpace(value)\n\tif value != \"\" {\n\t\t*currentValue = value\n\t\tfmt.Printf(\"%s set\\n\", promptTitle)\n\t} else {\n\t\tfmt.Printf(\"skipping %s\\n\", promptTitle)\n\t}\n\treturn nil\n}\n\nfunc ReadConfig() (*Config, error) {\n\thomeDir, err := os.UserHomeDir()\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"error getting home directory: %w\", err)\n\t}\n\n\tconfigPath := path.Join(homeDir, configFileName)\n\tconfig := &Config{}\n\n\tdata, err := os.ReadFile(configPath)\n\tif !os.IsNotExist(err) { // ignore if file doesn't exist\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"error reading config file: %w\", err)\n\t\t}\n\n\t\tif err := toml.Unmarshal(data, config); err != nil {\n\t\t\treturn nil, fmt.Errorf(\"error parsing config file: %w\", err)\n\t\t}\n\t}\n\treturn config, nil\n}\n\nfunc WriteConfig(config *Config) error {\n\thomeDir, err := os.UserHomeDir()\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error getting home directory: %w\", err)\n\t}\n\n\tconfigPath := path.Join(homeDir, configFileName)\n\tdata, err := toml.Marshal(config)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error marshaling config: %w\", err)\n\t}\n\n\treturn os.WriteFile(configPath, data, 0600)\n}\n"
  },
  {
    "path": "deepgram.go",
    "content": "package main\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io/fs\"\n\t\"os\"\n\n\trestapi \"github.com/deepgram/deepgram-go-sdk/v2/pkg/api/listen/v1/rest\"\n\tapiinterfaces \"github.com/deepgram/deepgram-go-sdk/v2/pkg/api/listen/v1/rest/interfaces\"\n\tclientinterfaces \"github.com/deepgram/deepgram-go-sdk/v2/pkg/client/interfaces/v1\"\n\tclient \"github.com/deepgram/deepgram-go-sdk/v2/pkg/client/listen/v1/rest\"\n)\n\ntype DeepgramCmd struct {\n\tFromURL    string `help:\"URL of the audio file to transcribe\" short:\"u\" xor:\"source\" required:\"\"`\n\tFromFile   string `help:\"Local path to the audio file to transcribe\" short:\"f\" xor:\"source\" required:\"\"`\n\tOutput     string `help:\"Path to output transcript file (default: stdout)\" short:\"o\"`\n\tJSONOutput string `help:\"Path to save raw API response as JSON\" short:\"j\"`\n\tAPIKey     string `env:\"DEEPGRAM_API_KEY\" default:\"\" hidden:\"\"`\n\tModel      string `help:\"Speech model to use for transcription (default: nova-2)\" default:\"nova-2\" short:\"m\"`\n}\n\nfunc (d *DeepgramCmd) Run() error {\n\tif d.APIKey == \"\" {\n\t\treturn errors.New(\"API key not found. Please run 'podscript configure' or set the DEEPGRAM_API_KEY environment variable\")\n\t}\n\n\tif d.FromURL == \"\" && d.FromFile == \"\" {\n\t\treturn errors.New(\"please provide either a valid URL or a file path\")\n\t}\n\n\tctx := context.Background()\n\n\toptions := &clientinterfaces.PreRecordedTranscriptionOptions{\n\t\tModel:       d.Model,\n\t\tSmartFormat: true,\n\t\tPunctuate:   true,\n\t\tDiarize:     true,\n\t\tUtterances:  true,\n\t}\n\n\tc := client.New(d.APIKey, &clientinterfaces.ClientOptions{})\n\tdg := restapi.New(c)\n\n\tvar (\n\t\tres *apiinterfaces.PreRecordedResponse\n\t\terr error\n\t)\n\n\tif d.FromFile != \"\" {\n\t\tvar fi fs.FileInfo\n\t\tfi, err = os.Stat(d.FromFile)\n\t\tif err != nil || fi.IsDir() {\n\t\t\treturn fmt.Errorf(\"invalid file path: %s\", d.FromFile)\n\t\t}\n\t\tres, err = dg.FromFile(ctx, d.FromFile, options)\n\t} else {\n\t\t// TODO check if URL is valid\n\t\tres, err = dg.FromURL(ctx, d.FromURL, options)\n\t}\n\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif d.JSONOutput != \"\" {\n\t\tdata, err := json.Marshal(res)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"json.Marshal failed: %w\", err)\n\t\t}\n\t\tif err = os.WriteFile(d.JSONOutput, data, 0644); err != nil {\n\t\t\treturn fmt.Errorf(\"failed to write JSON response: %w\", err)\n\t\t}\n\t}\n\n\ttranscript := res.Results.Channels[0].Alternatives[0].Paragraphs.Transcript\n\tif d.Output != \"\" {\n\t\tif err = os.WriteFile(d.Output, []byte(transcript), 0644); err != nil {\n\t\t\treturn fmt.Errorf(\"failed to write transcript: %w\", err)\n\t\t}\n\t} else {\n\t\tfmt.Println(transcript)\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "dist/assets/index-BvKMAqt1.js",
    "content": "function p1(l,i){for(var s=0;s<i.length;s++){const r=i[s];if(typeof r!=\"string\"&&!Array.isArray(r)){for(const u in r)if(u!==\"default\"&&!(u in l)){const f=Object.getOwnPropertyDescriptor(r,u);f&&Object.defineProperty(l,u,f.get?f:{enumerable:!0,get:()=>r[u]})}}}return Object.freeze(Object.defineProperty(l,Symbol.toStringTag,{value:\"Module\"}))}(function(){const i=document.createElement(\"link\").relList;if(i&&i.supports&&i.supports(\"modulepreload\"))return;for(const u of document.querySelectorAll('link[rel=\"modulepreload\"]'))r(u);new MutationObserver(u=>{for(const f of u)if(f.type===\"childList\")for(const m of f.addedNodes)m.tagName===\"LINK\"&&m.rel===\"modulepreload\"&&r(m)}).observe(document,{childList:!0,subtree:!0});function s(u){const f={};return u.integrity&&(f.integrity=u.integrity),u.referrerPolicy&&(f.referrerPolicy=u.referrerPolicy),u.crossOrigin===\"use-credentials\"?f.credentials=\"include\":u.crossOrigin===\"anonymous\"?f.credentials=\"omit\":f.credentials=\"same-origin\",f}function r(u){if(u.ep)return;u.ep=!0;const f=s(u);fetch(u.href,f)}})();function Og(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,\"default\")?l.default:l}var Ru={exports:{}},ui={};var jh;function h1(){if(jh)return ui;jh=1;var l=Symbol.for(\"react.transitional.element\"),i=Symbol.for(\"react.fragment\");function s(r,u,f){var m=null;if(f!==void 0&&(m=\"\"+f),u.key!==void 0&&(m=\"\"+u.key),\"key\"in u){f={};for(var p in u)p!==\"key\"&&(f[p]=u[p])}else f=u;return u=f.ref,{$$typeof:l,type:r,key:m,ref:u!==void 0?u:null,props:f}}return ui.Fragment=i,ui.jsx=s,ui.jsxs=s,ui}var Uh;function g1(){return Uh||(Uh=1,Ru.exports=h1()),Ru.exports}var y=g1(),Ou={exports:{}},xe={};var Hh;function v1(){if(Hh)return xe;Hh=1;var l=Symbol.for(\"react.transitional.element\"),i=Symbol.for(\"react.portal\"),s=Symbol.for(\"react.fragment\"),r=Symbol.for(\"react.strict_mode\"),u=Symbol.for(\"react.profiler\"),f=Symbol.for(\"react.consumer\"),m=Symbol.for(\"react.context\"),p=Symbol.for(\"react.forward_ref\"),v=Symbol.for(\"react.suspense\"),g=Symbol.for(\"react.memo\"),S=Symbol.for(\"react.lazy\"),h=Symbol.for(\"react.activity\"),T=Symbol.iterator;function N(C){return C===null||typeof C!=\"object\"?null:(C=T&&C[T]||C[\"@@iterator\"],typeof C==\"function\"?C:null)}var D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E=Object.assign,R={};function O(C,G,Y){this.props=C,this.context=G,this.refs=R,this.updater=Y||D}O.prototype.isReactComponent={},O.prototype.setState=function(C,G){if(typeof C!=\"object\"&&typeof C!=\"function\"&&C!=null)throw Error(\"takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,C,G,\"setState\")},O.prototype.forceUpdate=function(C){this.updater.enqueueForceUpdate(this,C,\"forceUpdate\")};function U(){}U.prototype=O.prototype;function L(C,G,Y){this.props=C,this.context=G,this.refs=R,this.updater=Y||D}var Q=L.prototype=new U;Q.constructor=L,E(Q,O.prototype),Q.isPureReactComponent=!0;var $=Array.isArray;function F(){}var X={H:null,A:null,T:null,S:null},K=Object.prototype.hasOwnProperty;function se(C,G,Y){var I=Y.ref;return{$$typeof:l,type:C,key:G,ref:I!==void 0?I:null,props:Y}}function ve(C,G){return se(C.type,G,C.props)}function ye(C){return typeof C==\"object\"&&C!==null&&C.$$typeof===l}function fe(C){var G={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+C.replace(/[=:]/g,function(Y){return G[Y]})}var de=/\\/+/g;function me(C,G){return typeof C==\"object\"&&C!==null&&C.key!=null?fe(\"\"+C.key):G.toString(36)}function he(C){switch(C.status){case\"fulfilled\":return C.value;case\"rejected\":throw C.reason;default:switch(typeof C.status==\"string\"?C.then(F,F):(C.status=\"pending\",C.then(function(G){C.status===\"pending\"&&(C.status=\"fulfilled\",C.value=G)},function(G){C.status===\"pending\"&&(C.status=\"rejected\",C.reason=G)})),C.status){case\"fulfilled\":return C.value;case\"rejected\":throw C.reason}}throw C}function A(C,G,Y,I,ee){var ie=typeof C;(ie===\"undefined\"||ie===\"boolean\")&&(C=null);var W=!1;if(C===null)W=!0;else switch(ie){case\"bigint\":case\"string\":case\"number\":W=!0;break;case\"object\":switch(C.$$typeof){case l:case i:W=!0;break;case S:return W=C._init,A(W(C._payload),G,Y,I,ee)}}if(W)return ee=ee(C),W=I===\"\"?\".\"+me(C,0):I,$(ee)?(Y=\"\",W!=null&&(Y=W.replace(de,\"$&/\")+\"/\"),A(ee,G,Y,\"\",function(Ee){return Ee})):ee!=null&&(ye(ee)&&(ee=ve(ee,Y+(ee.key==null||C&&C.key===ee.key?\"\":(\"\"+ee.key).replace(de,\"$&/\")+\"/\")+W)),G.push(ee)),1;W=0;var te=I===\"\"?\".\":I+\":\";if($(C))for(var ge=0;ge<C.length;ge++)I=C[ge],ie=te+me(I,ge),W+=A(I,G,Y,ie,ee);else if(ge=N(C),typeof ge==\"function\")for(C=ge.call(C),ge=0;!(I=C.next()).done;)I=I.value,ie=te+me(I,ge++),W+=A(I,G,Y,ie,ee);else if(ie===\"object\"){if(typeof C.then==\"function\")return A(he(C),G,Y,I,ee);throw G=String(C),Error(\"Objects are not valid as a React child (found: \"+(G===\"[object Object]\"?\"object with keys {\"+Object.keys(C).join(\", \")+\"}\":G)+\"). If you meant to render a collection of children, use an array instead.\")}return W}function V(C,G,Y){if(C==null)return C;var I=[],ee=0;return A(C,I,\"\",\"\",function(ie){return G.call(Y,ie,ee++)}),I}function B(C){if(C._status===-1){var G=C._result;G=G(),G.then(function(Y){(C._status===0||C._status===-1)&&(C._status=1,C._result=Y)},function(Y){(C._status===0||C._status===-1)&&(C._status=2,C._result=Y)}),C._status===-1&&(C._status=0,C._result=G)}if(C._status===1)return C._result.default;throw C._result}var ne=typeof reportError==\"function\"?reportError:function(C){if(typeof window==\"object\"&&typeof window.ErrorEvent==\"function\"){var G=new window.ErrorEvent(\"error\",{bubbles:!0,cancelable:!0,message:typeof C==\"object\"&&C!==null&&typeof C.message==\"string\"?String(C.message):String(C),error:C});if(!window.dispatchEvent(G))return}else if(typeof process==\"object\"&&typeof process.emit==\"function\"){process.emit(\"uncaughtException\",C);return}console.error(C)},ce={map:V,forEach:function(C,G,Y){V(C,function(){G.apply(this,arguments)},Y)},count:function(C){var G=0;return V(C,function(){G++}),G},toArray:function(C){return V(C,function(G){return G})||[]},only:function(C){if(!ye(C))throw Error(\"React.Children.only expected to receive a single React element child.\");return C}};return xe.Activity=h,xe.Children=ce,xe.Component=O,xe.Fragment=s,xe.Profiler=u,xe.PureComponent=L,xe.StrictMode=r,xe.Suspense=v,xe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=X,xe.__COMPILER_RUNTIME={__proto__:null,c:function(C){return X.H.useMemoCache(C)}},xe.cache=function(C){return function(){return C.apply(null,arguments)}},xe.cacheSignal=function(){return null},xe.cloneElement=function(C,G,Y){if(C==null)throw Error(\"The argument must be a React element, but you passed \"+C+\".\");var I=E({},C.props),ee=C.key;if(G!=null)for(ie in G.key!==void 0&&(ee=\"\"+G.key),G)!K.call(G,ie)||ie===\"key\"||ie===\"__self\"||ie===\"__source\"||ie===\"ref\"&&G.ref===void 0||(I[ie]=G[ie]);var ie=arguments.length-2;if(ie===1)I.children=Y;else if(1<ie){for(var W=Array(ie),te=0;te<ie;te++)W[te]=arguments[te+2];I.children=W}return se(C.type,ee,I)},xe.createContext=function(C){return C={$$typeof:m,_currentValue:C,_currentValue2:C,_threadCount:0,Provider:null,Consumer:null},C.Provider=C,C.Consumer={$$typeof:f,_context:C},C},xe.createElement=function(C,G,Y){var I,ee={},ie=null;if(G!=null)for(I in G.key!==void 0&&(ie=\"\"+G.key),G)K.call(G,I)&&I!==\"key\"&&I!==\"__self\"&&I!==\"__source\"&&(ee[I]=G[I]);var W=arguments.length-2;if(W===1)ee.children=Y;else if(1<W){for(var te=Array(W),ge=0;ge<W;ge++)te[ge]=arguments[ge+2];ee.children=te}if(C&&C.defaultProps)for(I in W=C.defaultProps,W)ee[I]===void 0&&(ee[I]=W[I]);return se(C,ie,ee)},xe.createRef=function(){return{current:null}},xe.forwardRef=function(C){return{$$typeof:p,render:C}},xe.isValidElement=ye,xe.lazy=function(C){return{$$typeof:S,_payload:{_status:-1,_result:C},_init:B}},xe.memo=function(C,G){return{$$typeof:g,type:C,compare:G===void 0?null:G}},xe.startTransition=function(C){var G=X.T,Y={};X.T=Y;try{var I=C(),ee=X.S;ee!==null&&ee(Y,I),typeof I==\"object\"&&I!==null&&typeof I.then==\"function\"&&I.then(F,ne)}catch(ie){ne(ie)}finally{G!==null&&Y.types!==null&&(G.types=Y.types),X.T=G}},xe.unstable_useCacheRefresh=function(){return X.H.useCacheRefresh()},xe.use=function(C){return X.H.use(C)},xe.useActionState=function(C,G,Y){return X.H.useActionState(C,G,Y)},xe.useCallback=function(C,G){return X.H.useCallback(C,G)},xe.useContext=function(C){return X.H.useContext(C)},xe.useDebugValue=function(){},xe.useDeferredValue=function(C,G){return X.H.useDeferredValue(C,G)},xe.useEffect=function(C,G){return X.H.useEffect(C,G)},xe.useEffectEvent=function(C){return X.H.useEffectEvent(C)},xe.useId=function(){return X.H.useId()},xe.useImperativeHandle=function(C,G,Y){return X.H.useImperativeHandle(C,G,Y)},xe.useInsertionEffect=function(C,G){return X.H.useInsertionEffect(C,G)},xe.useLayoutEffect=function(C,G){return X.H.useLayoutEffect(C,G)},xe.useMemo=function(C,G){return X.H.useMemo(C,G)},xe.useOptimistic=function(C,G){return X.H.useOptimistic(C,G)},xe.useReducer=function(C,G,Y){return X.H.useReducer(C,G,Y)},xe.useRef=function(C){return X.H.useRef(C)},xe.useState=function(C){return X.H.useState(C)},xe.useSyncExternalStore=function(C,G,Y){return X.H.useSyncExternalStore(C,G,Y)},xe.useTransition=function(){return X.H.useTransition()},xe.version=\"19.2.0\",xe}var Bh;function hf(){return Bh||(Bh=1,Ou.exports=v1()),Ou.exports}var b=hf();const P=Og(b),gf=p1({__proto__:null,default:P},[b]);var Mu={exports:{}},fi={},Du={exports:{}},zu={};var Lh;function y1(){return Lh||(Lh=1,function(l){function i(A,V){var B=A.length;A.push(V);e:for(;0<B;){var ne=B-1>>>1,ce=A[ne];if(0<u(ce,V))A[ne]=V,A[B]=ce,B=ne;else break e}}function s(A){return A.length===0?null:A[0]}function r(A){if(A.length===0)return null;var V=A[0],B=A.pop();if(B!==V){A[0]=B;e:for(var ne=0,ce=A.length,C=ce>>>1;ne<C;){var G=2*(ne+1)-1,Y=A[G],I=G+1,ee=A[I];if(0>u(Y,B))I<ce&&0>u(ee,Y)?(A[ne]=ee,A[I]=B,ne=I):(A[ne]=Y,A[G]=B,ne=G);else if(I<ce&&0>u(ee,B))A[ne]=ee,A[I]=B,ne=I;else break e}}return V}function u(A,V){var B=A.sortIndex-V.sortIndex;return B!==0?B:A.id-V.id}if(l.unstable_now=void 0,typeof performance==\"object\"&&typeof performance.now==\"function\"){var f=performance;l.unstable_now=function(){return f.now()}}else{var m=Date,p=m.now();l.unstable_now=function(){return m.now()-p}}var v=[],g=[],S=1,h=null,T=3,N=!1,D=!1,E=!1,R=!1,O=typeof setTimeout==\"function\"?setTimeout:null,U=typeof clearTimeout==\"function\"?clearTimeout:null,L=typeof setImmediate<\"u\"?setImmediate:null;function Q(A){for(var V=s(g);V!==null;){if(V.callback===null)r(g);else if(V.startTime<=A)r(g),V.sortIndex=V.expirationTime,i(v,V);else break;V=s(g)}}function $(A){if(E=!1,Q(A),!D)if(s(v)!==null)D=!0,F||(F=!0,fe());else{var V=s(g);V!==null&&he($,V.startTime-A)}}var F=!1,X=-1,K=5,se=-1;function ve(){return R?!0:!(l.unstable_now()-se<K)}function ye(){if(R=!1,F){var A=l.unstable_now();se=A;var V=!0;try{e:{D=!1,E&&(E=!1,U(X),X=-1),N=!0;var B=T;try{t:{for(Q(A),h=s(v);h!==null&&!(h.expirationTime>A&&ve());){var ne=h.callback;if(typeof ne==\"function\"){h.callback=null,T=h.priorityLevel;var ce=ne(h.expirationTime<=A);if(A=l.unstable_now(),typeof ce==\"function\"){h.callback=ce,Q(A),V=!0;break t}h===s(v)&&r(v),Q(A)}else r(v);h=s(v)}if(h!==null)V=!0;else{var C=s(g);C!==null&&he($,C.startTime-A),V=!1}}break e}finally{h=null,T=B,N=!1}V=void 0}}finally{V?fe():F=!1}}}var fe;if(typeof L==\"function\")fe=function(){L(ye)};else if(typeof MessageChannel<\"u\"){var de=new MessageChannel,me=de.port2;de.port1.onmessage=ye,fe=function(){me.postMessage(null)}}else fe=function(){O(ye,0)};function he(A,V){X=O(function(){A(l.unstable_now())},V)}l.unstable_IdlePriority=5,l.unstable_ImmediatePriority=1,l.unstable_LowPriority=4,l.unstable_NormalPriority=3,l.unstable_Profiling=null,l.unstable_UserBlockingPriority=2,l.unstable_cancelCallback=function(A){A.callback=null},l.unstable_forceFrameRate=function(A){0>A||125<A?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):K=0<A?Math.floor(1e3/A):5},l.unstable_getCurrentPriorityLevel=function(){return T},l.unstable_next=function(A){switch(T){case 1:case 2:case 3:var V=3;break;default:V=T}var B=T;T=V;try{return A()}finally{T=B}},l.unstable_requestPaint=function(){R=!0},l.unstable_runWithPriority=function(A,V){switch(A){case 1:case 2:case 3:case 4:case 5:break;default:A=3}var B=T;T=A;try{return V()}finally{T=B}},l.unstable_scheduleCallback=function(A,V,B){var ne=l.unstable_now();switch(typeof B==\"object\"&&B!==null?(B=B.delay,B=typeof B==\"number\"&&0<B?ne+B:ne):B=ne,A){case 1:var ce=-1;break;case 2:ce=250;break;case 5:ce=1073741823;break;case 4:ce=1e4;break;default:ce=5e3}return ce=B+ce,A={id:S++,callback:V,priorityLevel:A,startTime:B,expirationTime:ce,sortIndex:-1},B>ne?(A.sortIndex=B,i(g,A),s(v)===null&&A===s(g)&&(E?(U(X),X=-1):E=!0,he($,B-ne))):(A.sortIndex=ce,i(v,A),D||N||(D=!0,F||(F=!0,fe()))),A},l.unstable_shouldYield=ve,l.unstable_wrapCallback=function(A){var V=T;return function(){var B=T;T=V;try{return A.apply(this,arguments)}finally{T=B}}}}(zu)),zu}var kh;function b1(){return kh||(kh=1,Du.exports=y1()),Du.exports}var ju={exports:{}},xt={};var Vh;function x1(){if(Vh)return xt;Vh=1;var l=hf();function i(v){var g=\"https://react.dev/errors/\"+v;if(1<arguments.length){g+=\"?args[]=\"+encodeURIComponent(arguments[1]);for(var S=2;S<arguments.length;S++)g+=\"&args[]=\"+encodeURIComponent(arguments[S])}return\"Minified React error #\"+v+\"; visit \"+g+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}function s(){}var r={d:{f:s,r:function(){throw Error(i(522))},D:s,C:s,L:s,m:s,X:s,S:s,M:s},p:0,findDOMNode:null},u=Symbol.for(\"react.portal\");function f(v,g,S){var h=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:u,key:h==null?null:\"\"+h,children:v,containerInfo:g,implementation:S}}var m=l.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function p(v,g){if(v===\"font\")return\"\";if(typeof g==\"string\")return g===\"use-credentials\"?g:\"\"}return xt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,xt.createPortal=function(v,g){var S=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!g||g.nodeType!==1&&g.nodeType!==9&&g.nodeType!==11)throw Error(i(299));return f(v,g,null,S)},xt.flushSync=function(v){var g=m.T,S=r.p;try{if(m.T=null,r.p=2,v)return v()}finally{m.T=g,r.p=S,r.d.f()}},xt.preconnect=function(v,g){typeof v==\"string\"&&(g?(g=g.crossOrigin,g=typeof g==\"string\"?g===\"use-credentials\"?g:\"\":void 0):g=null,r.d.C(v,g))},xt.prefetchDNS=function(v){typeof v==\"string\"&&r.d.D(v)},xt.preinit=function(v,g){if(typeof v==\"string\"&&g&&typeof g.as==\"string\"){var S=g.as,h=p(S,g.crossOrigin),T=typeof g.integrity==\"string\"?g.integrity:void 0,N=typeof g.fetchPriority==\"string\"?g.fetchPriority:void 0;S===\"style\"?r.d.S(v,typeof g.precedence==\"string\"?g.precedence:void 0,{crossOrigin:h,integrity:T,fetchPriority:N}):S===\"script\"&&r.d.X(v,{crossOrigin:h,integrity:T,fetchPriority:N,nonce:typeof g.nonce==\"string\"?g.nonce:void 0})}},xt.preinitModule=function(v,g){if(typeof v==\"string\")if(typeof g==\"object\"&&g!==null){if(g.as==null||g.as===\"script\"){var S=p(g.as,g.crossOrigin);r.d.M(v,{crossOrigin:S,integrity:typeof g.integrity==\"string\"?g.integrity:void 0,nonce:typeof g.nonce==\"string\"?g.nonce:void 0})}}else g==null&&r.d.M(v)},xt.preload=function(v,g){if(typeof v==\"string\"&&typeof g==\"object\"&&g!==null&&typeof g.as==\"string\"){var S=g.as,h=p(S,g.crossOrigin);r.d.L(v,S,{crossOrigin:h,integrity:typeof g.integrity==\"string\"?g.integrity:void 0,nonce:typeof g.nonce==\"string\"?g.nonce:void 0,type:typeof g.type==\"string\"?g.type:void 0,fetchPriority:typeof g.fetchPriority==\"string\"?g.fetchPriority:void 0,referrerPolicy:typeof g.referrerPolicy==\"string\"?g.referrerPolicy:void 0,imageSrcSet:typeof g.imageSrcSet==\"string\"?g.imageSrcSet:void 0,imageSizes:typeof g.imageSizes==\"string\"?g.imageSizes:void 0,media:typeof g.media==\"string\"?g.media:void 0})}},xt.preloadModule=function(v,g){if(typeof v==\"string\")if(g){var S=p(g.as,g.crossOrigin);r.d.m(v,{as:typeof g.as==\"string\"&&g.as!==\"script\"?g.as:void 0,crossOrigin:S,integrity:typeof g.integrity==\"string\"?g.integrity:void 0})}else r.d.m(v)},xt.requestFormReset=function(v){r.d.r(v)},xt.unstable_batchedUpdates=function(v,g){return v(g)},xt.useFormState=function(v,g,S){return m.H.useFormState(v,g,S)},xt.useFormStatus=function(){return m.H.useHostTransitionStatus()},xt.version=\"19.2.0\",xt}var Yh;function Mg(){if(Yh)return ju.exports;Yh=1;function l(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>\"u\"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=\"function\"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(l)}catch(i){console.error(i)}}return l(),ju.exports=x1(),ju.exports}var Gh;function S1(){if(Gh)return fi;Gh=1;var l=b1(),i=hf(),s=Mg();function r(e){var t=\"https://react.dev/errors/\"+e;if(1<arguments.length){t+=\"?args[]=\"+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=\"&args[]=\"+encodeURIComponent(arguments[n])}return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}function u(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function f(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function m(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function p(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function v(e){if(f(e)!==e)throw Error(r(188))}function g(e){var t=e.alternate;if(!t){if(t=f(e),t===null)throw Error(r(188));return t!==e?null:e}for(var n=e,a=t;;){var o=n.return;if(o===null)break;var c=o.alternate;if(c===null){if(a=o.return,a!==null){n=a;continue}break}if(o.child===c.child){for(c=o.child;c;){if(c===n)return v(o),e;if(c===a)return v(o),t;c=c.sibling}throw Error(r(188))}if(n.return!==a.return)n=o,a=c;else{for(var d=!1,x=o.child;x;){if(x===n){d=!0,n=o,a=c;break}if(x===a){d=!0,a=o,n=c;break}x=x.sibling}if(!d){for(x=c.child;x;){if(x===n){d=!0,n=c,a=o;break}if(x===a){d=!0,a=c,n=o;break}x=x.sibling}if(!d)throw Error(r(189))}}if(n.alternate!==a)throw Error(r(190))}if(n.tag!==3)throw Error(r(188));return n.stateNode.current===n?e:t}function S(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=S(e),t!==null)return t;e=e.sibling}return null}var h=Object.assign,T=Symbol.for(\"react.element\"),N=Symbol.for(\"react.transitional.element\"),D=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),R=Symbol.for(\"react.strict_mode\"),O=Symbol.for(\"react.profiler\"),U=Symbol.for(\"react.consumer\"),L=Symbol.for(\"react.context\"),Q=Symbol.for(\"react.forward_ref\"),$=Symbol.for(\"react.suspense\"),F=Symbol.for(\"react.suspense_list\"),X=Symbol.for(\"react.memo\"),K=Symbol.for(\"react.lazy\"),se=Symbol.for(\"react.activity\"),ve=Symbol.for(\"react.memo_cache_sentinel\"),ye=Symbol.iterator;function fe(e){return e===null||typeof e!=\"object\"?null:(e=ye&&e[ye]||e[\"@@iterator\"],typeof e==\"function\"?e:null)}var de=Symbol.for(\"react.client.reference\");function me(e){if(e==null)return null;if(typeof e==\"function\")return e.$$typeof===de?null:e.displayName||e.name||null;if(typeof e==\"string\")return e;switch(e){case E:return\"Fragment\";case O:return\"Profiler\";case R:return\"StrictMode\";case $:return\"Suspense\";case F:return\"SuspenseList\";case se:return\"Activity\"}if(typeof e==\"object\")switch(e.$$typeof){case D:return\"Portal\";case L:return e.displayName||\"Context\";case U:return(e._context.displayName||\"Context\")+\".Consumer\";case Q:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||\"\",e=e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\"),e;case X:return t=e.displayName||null,t!==null?t:me(e.type)||\"Memo\";case K:t=e._payload,e=e._init;try{return me(e(t))}catch{}}return null}var he=Array.isArray,A=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,V=s.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,B={pending:!1,data:null,method:null,action:null},ne=[],ce=-1;function C(e){return{current:e}}function G(e){0>ce||(e.current=ne[ce],ne[ce]=null,ce--)}function Y(e,t){ce++,ne[ce]=e.current,e.current=t}var I=C(null),ee=C(null),ie=C(null),W=C(null);function te(e,t){switch(Y(ie,t),Y(ee,e),Y(I,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?ah(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=ah(t),e=lh(t,e);else switch(e){case\"svg\":e=1;break;case\"math\":e=2;break;default:e=0}}G(I),Y(I,e)}function ge(){G(I),G(ee),G(ie)}function Ee(e){e.memoizedState!==null&&Y(W,e);var t=I.current,n=lh(t,e.type);t!==n&&(Y(ee,e),Y(I,n))}function Ce(e){ee.current===e&&(G(I),G(ee)),W.current===e&&(G(W),ii._currentValue=B)}var Re,ut;function lt(e){if(Re===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\\n( *(at )?)/);Re=t&&t[1]||\"\",ut=-1<n.stack.indexOf(`\n    at`)?\" (<anonymous>)\":-1<n.stack.indexOf(\"@\")?\"@unknown:0:0\":\"\"}return`\n`+Re+e+ut}var On=!1;function gn(e,t){if(!e||On)return\"\";On=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var J=function(){throw Error()};if(Object.defineProperty(J.prototype,\"props\",{set:function(){throw Error()}}),typeof Reflect==\"object\"&&Reflect.construct){try{Reflect.construct(J,[])}catch(k){var H=k}Reflect.construct(e,[],J)}else{try{J.call()}catch(k){H=k}e.call(J.prototype)}}else{try{throw Error()}catch(k){H=k}(J=e())&&typeof J.catch==\"function\"&&J.catch(function(){})}}catch(k){if(k&&H&&typeof k.stack==\"string\")return[k.stack,H.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName=\"DetermineComponentFrameRoot\";var o=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,\"name\");o&&o.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,\"name\",{value:\"DetermineComponentFrameRoot\"});var c=a.DetermineComponentFrameRoot(),d=c[0],x=c[1];if(d&&x){var w=d.split(`\n`),j=x.split(`\n`);for(o=a=0;a<w.length&&!w[a].includes(\"DetermineComponentFrameRoot\");)a++;for(;o<j.length&&!j[o].includes(\"DetermineComponentFrameRoot\");)o++;if(a===w.length||o===j.length)for(a=w.length-1,o=j.length-1;1<=a&&0<=o&&w[a]!==j[o];)o--;for(;1<=a&&0<=o;a--,o--)if(w[a]!==j[o]){if(a!==1||o!==1)do if(a--,o--,0>o||w[a]!==j[o]){var q=`\n`+w[a].replace(\" at new \",\" at \");return e.displayName&&q.includes(\"<anonymous>\")&&(q=q.replace(\"<anonymous>\",e.displayName)),q}while(1<=a&&0<=o);break}}}finally{On=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:\"\")?lt(n):\"\"}function an(e,t){switch(e.tag){case 26:case 27:case 5:return lt(e.type);case 16:return lt(\"Lazy\");case 13:return e.child!==t&&t!==null?lt(\"Suspense Fallback\"):lt(\"Suspense\");case 19:return lt(\"SuspenseList\");case 0:case 15:return gn(e.type,!1);case 11:return gn(e.type.render,!1);case 1:return gn(e.type,!0);case 31:return lt(\"Activity\");default:return\"\"}}function go(e){try{var t=\"\",n=null;do t+=an(e,n),n=e,e=e.return;while(e);return t}catch(a){return`\nError generating stack: `+a.message+`\n`+a.stack}}var Ht=Object.prototype.hasOwnProperty,vo=l.unstable_scheduleCallback,yo=l.unstable_cancelCallback,St=l.unstable_shouldYield,ea=l.unstable_requestPaint,Et=l.unstable_now,vs=l.unstable_getCurrentPriorityLevel,Ha=l.unstable_ImmediatePriority,xi=l.unstable_UserBlockingPriority,Ba=l.unstable_NormalPriority,bo=l.unstable_LowPriority,Mn=l.unstable_IdlePriority,Si=l.log,ta=l.unstable_setDisableYieldValue,La=null,wt=null;function ln(e){if(typeof Si==\"function\"&&ta(e),wt&&typeof wt.setStrictMode==\"function\")try{wt.setStrictMode(La,e)}catch{}}var yt=Math.clz32?Math.clz32:vn,ys=Math.log,xo=Math.LN2;function vn(e){return e>>>=0,e===0?32:31-(ys(e)/xo|0)|0}var dl=256,ml=262144,ka=4194304;function yn(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function be(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var o=0,c=e.suspendedLanes,d=e.pingedLanes;e=e.warmLanes;var x=a&134217727;return x!==0?(a=x&~c,a!==0?o=yn(a):(d&=x,d!==0?o=yn(d):n||(n=x&~e,n!==0&&(o=yn(n))))):(x=a&~c,x!==0?o=yn(x):d!==0?o=yn(d):n||(n=a&~e,n!==0&&(o=yn(n)))),o===0?0:t!==0&&t!==o&&(t&c)===0&&(c=o&-o,n=t&-t,c>=n||c===32&&(n&4194048)!==0)?t:o}function Qe(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function rt(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function bt(){var e=ka;return ka<<=1,(ka&62914560)===0&&(ka=4194304),e}function na(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function $e(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ct(e,t,n,a,o,c){var d=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var x=e.entanglements,w=e.expirationTimes,j=e.hiddenUpdates;for(n=d&~n;0<n;){var q=31-yt(n),J=1<<q;x[q]=0,w[q]=-1;var H=j[q];if(H!==null)for(j[q]=null,q=0;q<H.length;q++){var k=H[q];k!==null&&(k.lane&=-536870913)}n&=~J}a!==0&&Va(e,a,0),c!==0&&o===0&&e.tag!==0&&(e.suspendedLanes|=c&~(d&~t))}function Va(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var a=31-yt(t);e.entangledLanes|=t,e.entanglements[a]=e.entanglements[a]|1073741824|n&261930}function At(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-yt(n),o=1<<a;o&t|e[a]&t&&(e[a]|=t),n&=~o}}function _t(e,t){var n=t&-t;return n=(n&42)!==0?1:pl(n),(n&(e.suspendedLanes|t))!==0?0:n}function pl(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function on(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function bs(){var e=V.p;return e!==0?e:(e=window.event,e===void 0?32:_h(e.type))}function qf(e,t){var n=V.p;try{return V.p=e,t()}finally{V.p=n}}var aa=Math.random().toString(36).slice(2),ft=\"__reactFiber$\"+aa,Nt=\"__reactProps$\"+aa,hl=\"__reactContainer$\"+aa,xs=\"__reactEvents$\"+aa,a0=\"__reactListeners$\"+aa,l0=\"__reactHandles$\"+aa,Xf=\"__reactResources$\"+aa,So=\"__reactMarker$\"+aa;function Ss(e){delete e[ft],delete e[Nt],delete e[xs],delete e[a0],delete e[l0]}function gl(e){var t=e[ft];if(t)return t;for(var n=e.parentNode;n;){if(t=n[hl]||n[ft]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=fh(e);e!==null;){if(n=e[ft])return n;e=fh(e)}return t}e=n,n=e.parentNode}return null}function vl(e){if(e=e[ft]||e[hl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Eo(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(r(33))}function yl(e){var t=e[Xf];return t||(t=e[Xf]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function st(e){e[So]=!0}var Kf=new Set,Qf={};function Ya(e,t){bl(e,t),bl(e+\"Capture\",t)}function bl(e,t){for(Qf[e]=t,e=0;e<t.length;e++)Kf.add(t[e])}var o0=RegExp(\"^[: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]*$\"),Zf={},Jf={};function i0(e){return Ht.call(Jf,e)?!0:Ht.call(Zf,e)?!1:o0.test(e)?Jf[e]=!0:(Zf[e]=!0,!1)}function Ei(e,t,n){if(i0(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case\"undefined\":case\"function\":case\"symbol\":e.removeAttribute(t);return;case\"boolean\":var a=t.toLowerCase().slice(0,5);if(a!==\"data-\"&&a!==\"aria-\"){e.removeAttribute(t);return}}e.setAttribute(t,\"\"+n)}}function wi(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case\"undefined\":case\"function\":case\"symbol\":case\"boolean\":e.removeAttribute(t);return}e.setAttribute(t,\"\"+n)}}function Dn(e,t,n,a){if(a===null)e.removeAttribute(n);else{switch(typeof a){case\"undefined\":case\"function\":case\"symbol\":case\"boolean\":e.removeAttribute(n);return}e.setAttributeNS(t,n,\"\"+a)}}function Qt(e){switch(typeof e){case\"bigint\":case\"boolean\":case\"number\":case\"string\":case\"undefined\":return e;case\"object\":return e;default:return\"\"}}function $f(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===\"input\"&&(t===\"checkbox\"||t===\"radio\")}function r0(e,t,n){var a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof a<\"u\"&&typeof a.get==\"function\"&&typeof a.set==\"function\"){var o=a.get,c=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(d){n=\"\"+d,c.call(this,d)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return n},setValue:function(d){n=\"\"+d},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Es(e){if(!e._valueTracker){var t=$f(e)?\"checked\":\"value\";e._valueTracker=r0(e,t,\"\"+e[t])}}function If(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a=\"\";return e&&(a=$f(e)?e.checked?\"true\":\"false\":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Ti(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}}var s0=/[\\n\"\\\\]/g;function Zt(e){return e.replace(s0,function(t){return\"\\\\\"+t.charCodeAt(0).toString(16)+\" \"})}function ws(e,t,n,a,o,c,d,x){e.name=\"\",d!=null&&typeof d!=\"function\"&&typeof d!=\"symbol\"&&typeof d!=\"boolean\"?e.type=d:e.removeAttribute(\"type\"),t!=null?d===\"number\"?(t===0&&e.value===\"\"||e.value!=t)&&(e.value=\"\"+Qt(t)):e.value!==\"\"+Qt(t)&&(e.value=\"\"+Qt(t)):d!==\"submit\"&&d!==\"reset\"||e.removeAttribute(\"value\"),t!=null?Ts(e,d,Qt(t)):n!=null?Ts(e,d,Qt(n)):a!=null&&e.removeAttribute(\"value\"),o==null&&c!=null&&(e.defaultChecked=!!c),o!=null&&(e.checked=o&&typeof o!=\"function\"&&typeof o!=\"symbol\"),x!=null&&typeof x!=\"function\"&&typeof x!=\"symbol\"&&typeof x!=\"boolean\"?e.name=\"\"+Qt(x):e.removeAttribute(\"name\")}function Ff(e,t,n,a,o,c,d,x){if(c!=null&&typeof c!=\"function\"&&typeof c!=\"symbol\"&&typeof c!=\"boolean\"&&(e.type=c),t!=null||n!=null){if(!(c!==\"submit\"&&c!==\"reset\"||t!=null)){Es(e);return}n=n!=null?\"\"+Qt(n):\"\",t=t!=null?\"\"+Qt(t):n,x||t===e.value||(e.value=t),e.defaultValue=t}a=a??o,a=typeof a!=\"function\"&&typeof a!=\"symbol\"&&!!a,e.checked=x?e.checked:!!a,e.defaultChecked=!!a,d!=null&&typeof d!=\"function\"&&typeof d!=\"symbol\"&&typeof d!=\"boolean\"&&(e.name=d),Es(e)}function Ts(e,t,n){t===\"number\"&&Ti(e.ownerDocument)===e||e.defaultValue===\"\"+n||(e.defaultValue=\"\"+n)}function xl(e,t,n,a){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t[\"$\"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty(\"$\"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&a&&(e[n].defaultSelected=!0)}else{for(n=\"\"+Qt(n),t=null,o=0;o<e.length;o++){if(e[o].value===n){e[o].selected=!0,a&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function Wf(e,t,n){if(t!=null&&(t=\"\"+Qt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?\"\"+Qt(n):\"\"}function Pf(e,t,n,a){if(t==null){if(a!=null){if(n!=null)throw Error(r(92));if(he(a)){if(1<a.length)throw Error(r(93));a=a[0]}n=a}n==null&&(n=\"\"),t=n}n=Qt(t),e.defaultValue=n,a=e.textContent,a===n&&a!==\"\"&&a!==null&&(e.value=a),Es(e)}function Sl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var c0=new Set(\"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\" \"));function ed(e,t,n){var a=t.indexOf(\"--\")===0;n==null||typeof n==\"boolean\"||n===\"\"?a?e.setProperty(t,\"\"):t===\"float\"?e.cssFloat=\"\":e[t]=\"\":a?e.setProperty(t,n):typeof n!=\"number\"||n===0||c0.has(t)?t===\"float\"?e.cssFloat=n:e[t]=(\"\"+n).trim():e[t]=n+\"px\"}function td(e,t,n){if(t!=null&&typeof t!=\"object\")throw Error(r(62));if(e=e.style,n!=null){for(var a in n)!n.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf(\"--\")===0?e.setProperty(a,\"\"):a===\"float\"?e.cssFloat=\"\":e[a]=\"\");for(var o in t)a=t[o],t.hasOwnProperty(o)&&n[o]!==a&&ed(e,o,a)}else for(var c in t)t.hasOwnProperty(c)&&ed(e,c,t[c])}function Cs(e){if(e.indexOf(\"-\")===-1)return!1;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 u0=new Map([[\"acceptCharset\",\"accept-charset\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"],[\"crossOrigin\",\"crossorigin\"],[\"accentHeight\",\"accent-height\"],[\"alignmentBaseline\",\"alignment-baseline\"],[\"arabicForm\",\"arabic-form\"],[\"baselineShift\",\"baseline-shift\"],[\"capHeight\",\"cap-height\"],[\"clipPath\",\"clip-path\"],[\"clipRule\",\"clip-rule\"],[\"colorInterpolation\",\"color-interpolation\"],[\"colorInterpolationFilters\",\"color-interpolation-filters\"],[\"colorProfile\",\"color-profile\"],[\"colorRendering\",\"color-rendering\"],[\"dominantBaseline\",\"dominant-baseline\"],[\"enableBackground\",\"enable-background\"],[\"fillOpacity\",\"fill-opacity\"],[\"fillRule\",\"fill-rule\"],[\"floodColor\",\"flood-color\"],[\"floodOpacity\",\"flood-opacity\"],[\"fontFamily\",\"font-family\"],[\"fontSize\",\"font-size\"],[\"fontSizeAdjust\",\"font-size-adjust\"],[\"fontStretch\",\"font-stretch\"],[\"fontStyle\",\"font-style\"],[\"fontVariant\",\"font-variant\"],[\"fontWeight\",\"font-weight\"],[\"glyphName\",\"glyph-name\"],[\"glyphOrientationHorizontal\",\"glyph-orientation-horizontal\"],[\"glyphOrientationVertical\",\"glyph-orientation-vertical\"],[\"horizAdvX\",\"horiz-adv-x\"],[\"horizOriginX\",\"horiz-origin-x\"],[\"imageRendering\",\"image-rendering\"],[\"letterSpacing\",\"letter-spacing\"],[\"lightingColor\",\"lighting-color\"],[\"markerEnd\",\"marker-end\"],[\"markerMid\",\"marker-mid\"],[\"markerStart\",\"marker-start\"],[\"overlinePosition\",\"overline-position\"],[\"overlineThickness\",\"overline-thickness\"],[\"paintOrder\",\"paint-order\"],[\"panose-1\",\"panose-1\"],[\"pointerEvents\",\"pointer-events\"],[\"renderingIntent\",\"rendering-intent\"],[\"shapeRendering\",\"shape-rendering\"],[\"stopColor\",\"stop-color\"],[\"stopOpacity\",\"stop-opacity\"],[\"strikethroughPosition\",\"strikethrough-position\"],[\"strikethroughThickness\",\"strikethrough-thickness\"],[\"strokeDasharray\",\"stroke-dasharray\"],[\"strokeDashoffset\",\"stroke-dashoffset\"],[\"strokeLinecap\",\"stroke-linecap\"],[\"strokeLinejoin\",\"stroke-linejoin\"],[\"strokeMiterlimit\",\"stroke-miterlimit\"],[\"strokeOpacity\",\"stroke-opacity\"],[\"strokeWidth\",\"stroke-width\"],[\"textAnchor\",\"text-anchor\"],[\"textDecoration\",\"text-decoration\"],[\"textRendering\",\"text-rendering\"],[\"transformOrigin\",\"transform-origin\"],[\"underlinePosition\",\"underline-position\"],[\"underlineThickness\",\"underline-thickness\"],[\"unicodeBidi\",\"unicode-bidi\"],[\"unicodeRange\",\"unicode-range\"],[\"unitsPerEm\",\"units-per-em\"],[\"vAlphabetic\",\"v-alphabetic\"],[\"vHanging\",\"v-hanging\"],[\"vIdeographic\",\"v-ideographic\"],[\"vMathematical\",\"v-mathematical\"],[\"vectorEffect\",\"vector-effect\"],[\"vertAdvY\",\"vert-adv-y\"],[\"vertOriginX\",\"vert-origin-x\"],[\"vertOriginY\",\"vert-origin-y\"],[\"wordSpacing\",\"word-spacing\"],[\"writingMode\",\"writing-mode\"],[\"xmlnsXlink\",\"xmlns:xlink\"],[\"xHeight\",\"x-height\"]]),f0=/^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;function Ci(e){return f0.test(\"\"+e)?\"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\":e}function zn(){}var As=null;function _s(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var El=null,wl=null;function nd(e){var t=vl(e);if(t&&(e=t.stateNode)){var n=e[Nt]||null;e:switch(e=t.stateNode,t.type){case\"input\":if(ws(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===\"radio\"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name=\"'+Zt(\"\"+t)+'\"][type=\"radio\"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var o=a[Nt]||null;if(!o)throw Error(r(90));ws(a,o.value,o.defaultValue,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name)}}for(t=0;t<n.length;t++)a=n[t],a.form===e.form&&If(a)}break e;case\"textarea\":Wf(e,n.value,n.defaultValue);break e;case\"select\":t=n.value,t!=null&&xl(e,!!n.multiple,t,!1)}}}var Ns=!1;function ad(e,t,n){if(Ns)return e(t,n);Ns=!0;try{var a=e(t);return a}finally{if(Ns=!1,(El!==null||wl!==null)&&(dr(),El&&(t=El,e=wl,wl=El=null,nd(t),e)))for(t=0;t<e.length;t++)nd(e[t])}}function wo(e,t){var n=e.stateNode;if(n===null)return null;var a=n[Nt]||null;if(a===null)return null;n=a[t];e:switch(t){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":case\"onMouseEnter\":(a=!a.disabled)||(e=e.type,a=!(e===\"button\"||e===\"input\"||e===\"select\"||e===\"textarea\")),e=!a;break e;default:e=!1}if(e)return null;if(n&&typeof n!=\"function\")throw Error(r(231,t,typeof n));return n}var jn=!(typeof window>\"u\"||typeof window.document>\"u\"||typeof window.document.createElement>\"u\"),Rs=!1;if(jn)try{var To={};Object.defineProperty(To,\"passive\",{get:function(){Rs=!0}}),window.addEventListener(\"test\",To,To),window.removeEventListener(\"test\",To,To)}catch{Rs=!1}var la=null,Os=null,Ai=null;function ld(){if(Ai)return Ai;var e,t=Os,n=t.length,a,o=\"value\"in la?la.value:la.textContent,c=o.length;for(e=0;e<n&&t[e]===o[e];e++);var d=n-e;for(a=1;a<=d&&t[n-a]===o[c-a];a++);return Ai=o.slice(e,1<a?1-a:void 0)}function _i(e){var t=e.keyCode;return\"charCode\"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Ni(){return!0}function od(){return!1}function Rt(e){function t(n,a,o,c,d){this._reactName=n,this._targetInst=o,this.type=a,this.nativeEvent=c,this.target=d,this.currentTarget=null;for(var x in e)e.hasOwnProperty(x)&&(n=e[x],this[x]=n?n(c):c[x]);return this.isDefaultPrevented=(c.defaultPrevented!=null?c.defaultPrevented:c.returnValue===!1)?Ni:od,this.isPropagationStopped=od,this}return h(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!=\"unknown\"&&(n.returnValue=!1),this.isDefaultPrevented=Ni)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!=\"unknown\"&&(n.cancelBubble=!0),this.isPropagationStopped=Ni)},persist:function(){},isPersistent:Ni}),t}var Ga={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ri=Rt(Ga),Co=h({},Ga,{view:0,detail:0}),d0=Rt(Co),Ms,Ds,Ao,Oi=h({},Co,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:js,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return\"movementX\"in e?e.movementX:(e!==Ao&&(Ao&&e.type===\"mousemove\"?(Ms=e.screenX-Ao.screenX,Ds=e.screenY-Ao.screenY):Ds=Ms=0,Ao=e),Ms)},movementY:function(e){return\"movementY\"in e?e.movementY:Ds}}),id=Rt(Oi),m0=h({},Oi,{dataTransfer:0}),p0=Rt(m0),h0=h({},Co,{relatedTarget:0}),zs=Rt(h0),g0=h({},Ga,{animationName:0,elapsedTime:0,pseudoElement:0}),v0=Rt(g0),y0=h({},Ga,{clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}}),b0=Rt(y0),x0=h({},Ga,{data:0}),rd=Rt(x0),S0={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},E0={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},w0={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function T0(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=w0[e])?!!t[e]:!1}function js(){return T0}var C0=h({},Co,{key:function(e){if(e.key){var t=S0[e.key]||e.key;if(t!==\"Unidentified\")return t}return e.type===\"keypress\"?(e=_i(e),e===13?\"Enter\":String.fromCharCode(e)):e.type===\"keydown\"||e.type===\"keyup\"?E0[e.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:js,charCode:function(e){return e.type===\"keypress\"?_i(e):0},keyCode:function(e){return e.type===\"keydown\"||e.type===\"keyup\"?e.keyCode:0},which:function(e){return e.type===\"keypress\"?_i(e):e.type===\"keydown\"||e.type===\"keyup\"?e.keyCode:0}}),A0=Rt(C0),_0=h({},Oi,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),sd=Rt(_0),N0=h({},Co,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:js}),R0=Rt(N0),O0=h({},Ga,{propertyName:0,elapsedTime:0,pseudoElement:0}),M0=Rt(O0),D0=h({},Oi,{deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),z0=Rt(D0),j0=h({},Ga,{newState:0,oldState:0}),U0=Rt(j0),H0=[9,13,27,32],Us=jn&&\"CompositionEvent\"in window,_o=null;jn&&\"documentMode\"in document&&(_o=document.documentMode);var B0=jn&&\"TextEvent\"in window&&!_o,cd=jn&&(!Us||_o&&8<_o&&11>=_o),ud=\" \",fd=!1;function dd(e,t){switch(e){case\"keyup\":return H0.indexOf(t.keyCode)!==-1;case\"keydown\":return t.keyCode!==229;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function md(e){return e=e.detail,typeof e==\"object\"&&\"data\"in e?e.data:null}var Tl=!1;function L0(e,t){switch(e){case\"compositionend\":return md(t);case\"keypress\":return t.which!==32?null:(fd=!0,ud);case\"textInput\":return e=t.data,e===ud&&fd?null:e;default:return null}}function k0(e,t){if(Tl)return e===\"compositionend\"||!Us&&dd(e,t)?(e=ld(),Ai=Os=la=null,Tl=!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.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\"compositionend\":return cd&&t.locale!==\"ko\"?null:t.data;default:return null}}var V0={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function pd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===\"input\"?!!V0[e.type]:t===\"textarea\"}function hd(e,t,n,a){El?wl?wl.push(a):wl=[a]:El=a,t=br(t,\"onChange\"),0<t.length&&(n=new Ri(\"onChange\",\"change\",null,n,a),e.push({event:n,listeners:t}))}var No=null,Ro=null;function Y0(e){Fp(e,0)}function Mi(e){var t=Eo(e);if(If(t))return e}function gd(e,t){if(e===\"change\")return t}var vd=!1;if(jn){var Hs;if(jn){var Bs=\"oninput\"in document;if(!Bs){var yd=document.createElement(\"div\");yd.setAttribute(\"oninput\",\"return;\"),Bs=typeof yd.oninput==\"function\"}Hs=Bs}else Hs=!1;vd=Hs&&(!document.documentMode||9<document.documentMode)}function bd(){No&&(No.detachEvent(\"onpropertychange\",xd),Ro=No=null)}function xd(e){if(e.propertyName===\"value\"&&Mi(Ro)){var t=[];hd(t,Ro,e,_s(e)),ad(Y0,t)}}function G0(e,t,n){e===\"focusin\"?(bd(),No=t,Ro=n,No.attachEvent(\"onpropertychange\",xd)):e===\"focusout\"&&bd()}function q0(e){if(e===\"selectionchange\"||e===\"keyup\"||e===\"keydown\")return Mi(Ro)}function X0(e,t){if(e===\"click\")return Mi(t)}function K0(e,t){if(e===\"input\"||e===\"change\")return Mi(t)}function Q0(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Bt=typeof Object.is==\"function\"?Object.is:Q0;function Oo(e,t){if(Bt(e,t))return!0;if(typeof e!=\"object\"||e===null||typeof t!=\"object\"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var o=n[a];if(!Ht.call(t,o)||!Bt(e[o],t[o]))return!1}return!0}function Sd(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ed(e,t){var n=Sd(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e<=t&&a>=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Sd(n)}}function wd(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?wd(e,t.parentNode):\"contains\"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Td(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ti(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==\"string\"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ti(e.document)}return t}function Ls(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===\"input\"&&(e.type===\"text\"||e.type===\"search\"||e.type===\"tel\"||e.type===\"url\"||e.type===\"password\")||t===\"textarea\"||e.contentEditable===\"true\")}var Z0=jn&&\"documentMode\"in document&&11>=document.documentMode,Cl=null,ks=null,Mo=null,Vs=!1;function Cd(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Vs||Cl==null||Cl!==Ti(a)||(a=Cl,\"selectionStart\"in a&&Ls(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Mo&&Oo(Mo,a)||(Mo=a,a=br(ks,\"onSelect\"),0<a.length&&(t=new Ri(\"onSelect\",\"select\",null,t,n),e.push({event:t,listeners:a}),t.target=Cl)))}function qa(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n}var Al={animationend:qa(\"Animation\",\"AnimationEnd\"),animationiteration:qa(\"Animation\",\"AnimationIteration\"),animationstart:qa(\"Animation\",\"AnimationStart\"),transitionrun:qa(\"Transition\",\"TransitionRun\"),transitionstart:qa(\"Transition\",\"TransitionStart\"),transitioncancel:qa(\"Transition\",\"TransitionCancel\"),transitionend:qa(\"Transition\",\"TransitionEnd\")},Ys={},Ad={};jn&&(Ad=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Al.animationend.animation,delete Al.animationiteration.animation,delete Al.animationstart.animation),\"TransitionEvent\"in window||delete Al.transitionend.transition);function Xa(e){if(Ys[e])return Ys[e];if(!Al[e])return e;var t=Al[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Ad)return Ys[e]=t[n];return e}var _d=Xa(\"animationend\"),Nd=Xa(\"animationiteration\"),Rd=Xa(\"animationstart\"),J0=Xa(\"transitionrun\"),$0=Xa(\"transitionstart\"),I0=Xa(\"transitioncancel\"),Od=Xa(\"transitionend\"),Md=new Map,Gs=\"abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");Gs.push(\"scrollEnd\");function rn(e,t){Md.set(e,t),Ya(t,[e])}var Di=typeof reportError==\"function\"?reportError:function(e){if(typeof window==\"object\"&&typeof window.ErrorEvent==\"function\"){var t=new window.ErrorEvent(\"error\",{bubbles:!0,cancelable:!0,message:typeof e==\"object\"&&e!==null&&typeof e.message==\"string\"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==\"object\"&&typeof process.emit==\"function\"){process.emit(\"uncaughtException\",e);return}console.error(e)},Jt=[],_l=0,qs=0;function zi(){for(var e=_l,t=qs=_l=0;t<e;){var n=Jt[t];Jt[t++]=null;var a=Jt[t];Jt[t++]=null;var o=Jt[t];Jt[t++]=null;var c=Jt[t];if(Jt[t++]=null,a!==null&&o!==null){var d=a.pending;d===null?o.next=o:(o.next=d.next,d.next=o),a.pending=o}c!==0&&Dd(n,o,c)}}function ji(e,t,n,a){Jt[_l++]=e,Jt[_l++]=t,Jt[_l++]=n,Jt[_l++]=a,qs|=a,e.lanes|=a,e=e.alternate,e!==null&&(e.lanes|=a)}function Xs(e,t,n,a){return ji(e,t,n,a),Ui(e)}function Ka(e,t){return ji(e,null,null,t),Ui(e)}function Dd(e,t,n){e.lanes|=n;var a=e.alternate;a!==null&&(a.lanes|=n);for(var o=!1,c=e.return;c!==null;)c.childLanes|=n,a=c.alternate,a!==null&&(a.childLanes|=n),c.tag===22&&(e=c.stateNode,e===null||e._visibility&1||(o=!0)),e=c,c=c.return;return e.tag===3?(c=e.stateNode,o&&t!==null&&(o=31-yt(n),e=c.hiddenUpdates,a=e[o],a===null?e[o]=[t]:a.push(t),t.lane=n|536870912),c):null}function Ui(e){if(50<Po)throw Po=0,Pc=null,Error(r(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Nl={};function F0(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Lt(e,t,n,a){return new F0(e,t,n,a)}function Ks(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Un(e,t){var n=e.alternate;return n===null?(n=Lt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function zd(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Hi(e,t,n,a,o,c){var d=0;if(a=e,typeof e==\"function\")Ks(e)&&(d=1);else if(typeof e==\"string\")d=n1(e,n,I.current)?26:e===\"html\"||e===\"head\"||e===\"body\"?27:5;else e:switch(e){case se:return e=Lt(31,n,t,o),e.elementType=se,e.lanes=c,e;case E:return Qa(n.children,o,c,t);case R:d=8,o|=24;break;case O:return e=Lt(12,n,t,o|2),e.elementType=O,e.lanes=c,e;case $:return e=Lt(13,n,t,o),e.elementType=$,e.lanes=c,e;case F:return e=Lt(19,n,t,o),e.elementType=F,e.lanes=c,e;default:if(typeof e==\"object\"&&e!==null)switch(e.$$typeof){case L:d=10;break e;case U:d=9;break e;case Q:d=11;break e;case X:d=14;break e;case K:d=16,a=null;break e}d=29,n=Error(r(130,e===null?\"null\":typeof e,\"\")),a=null}return t=Lt(d,n,t,o),t.elementType=e,t.type=a,t.lanes=c,t}function Qa(e,t,n,a){return e=Lt(7,e,a,t),e.lanes=n,e}function Qs(e,t,n){return e=Lt(6,e,null,t),e.lanes=n,e}function jd(e){var t=Lt(18,null,null,0);return t.stateNode=e,t}function Zs(e,t,n){return t=Lt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Ud=new WeakMap;function $t(e,t){if(typeof e==\"object\"&&e!==null){var n=Ud.get(e);return n!==void 0?n:(t={value:e,source:t,stack:go(t)},Ud.set(e,t),t)}return{value:e,source:t,stack:go(t)}}var Rl=[],Ol=0,Bi=null,Do=0,It=[],Ft=0,oa=null,bn=1,xn=\"\";function Hn(e,t){Rl[Ol++]=Do,Rl[Ol++]=Bi,Bi=e,Do=t}function Hd(e,t,n){It[Ft++]=bn,It[Ft++]=xn,It[Ft++]=oa,oa=e;var a=bn;e=xn;var o=32-yt(a)-1;a&=~(1<<o),n+=1;var c=32-yt(t)+o;if(30<c){var d=o-o%5;c=(a&(1<<d)-1).toString(32),a>>=d,o-=d,bn=1<<32-yt(t)+o|n<<o|a,xn=c+e}else bn=1<<c|n<<o|a,xn=e}function Js(e){e.return!==null&&(Hn(e,1),Hd(e,1,0))}function $s(e){for(;e===Bi;)Bi=Rl[--Ol],Rl[Ol]=null,Do=Rl[--Ol],Rl[Ol]=null;for(;e===oa;)oa=It[--Ft],It[Ft]=null,xn=It[--Ft],It[Ft]=null,bn=It[--Ft],It[Ft]=null}function Bd(e,t){It[Ft++]=bn,It[Ft++]=xn,It[Ft++]=oa,bn=t.id,xn=t.overflow,oa=e}var dt=null,Xe=null,ze=!1,ia=null,Wt=!1,Is=Error(r(519));function ra(e){var t=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?\"text\":\"HTML\",\"\"));throw zo($t(t,e)),Is}function Ld(e){var t=e.stateNode,n=e.type,a=e.memoizedProps;switch(t[ft]=e,t[Nt]=a,n){case\"dialog\":_e(\"cancel\",t),_e(\"close\",t);break;case\"iframe\":case\"object\":case\"embed\":_e(\"load\",t);break;case\"video\":case\"audio\":for(n=0;n<ti.length;n++)_e(ti[n],t);break;case\"source\":_e(\"error\",t);break;case\"img\":case\"image\":case\"link\":_e(\"error\",t),_e(\"load\",t);break;case\"details\":_e(\"toggle\",t);break;case\"input\":_e(\"invalid\",t),Ff(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case\"select\":_e(\"invalid\",t);break;case\"textarea\":_e(\"invalid\",t),Pf(t,a.value,a.defaultValue,a.children)}n=a.children,typeof n!=\"string\"&&typeof n!=\"number\"&&typeof n!=\"bigint\"||t.textContent===\"\"+n||a.suppressHydrationWarning===!0||th(t.textContent,n)?(a.popover!=null&&(_e(\"beforetoggle\",t),_e(\"toggle\",t)),a.onScroll!=null&&_e(\"scroll\",t),a.onScrollEnd!=null&&_e(\"scrollend\",t),a.onClick!=null&&(t.onclick=zn),t=!0):t=!1,t||ra(e,!0)}function kd(e){for(dt=e.return;dt;)switch(dt.tag){case 5:case 31:case 13:Wt=!1;return;case 27:case 3:Wt=!0;return;default:dt=dt.return}}function Ml(e){if(e!==dt)return!1;if(!ze)return kd(e),ze=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!==\"form\"&&n!==\"button\")||pu(e.type,e.memoizedProps)),n=!n),n&&Xe&&ra(e),kd(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));Xe=uh(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));Xe=uh(e)}else t===27?(t=Xe,Sa(e.type)?(e=bu,bu=null,Xe=e):Xe=t):Xe=dt?en(e.stateNode.nextSibling):null;return!0}function Za(){Xe=dt=null,ze=!1}function Fs(){var e=ia;return e!==null&&(zt===null?zt=e:zt.push.apply(zt,e),ia=null),e}function zo(e){ia===null?ia=[e]:ia.push(e)}var Ws=C(null),Ja=null,Bn=null;function sa(e,t,n){Y(Ws,t._currentValue),t._currentValue=n}function Ln(e){e._currentValue=Ws.current,G(Ws)}function Ps(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function ec(e,t,n,a){var o=e.child;for(o!==null&&(o.return=e);o!==null;){var c=o.dependencies;if(c!==null){var d=o.child;c=c.firstContext;e:for(;c!==null;){var x=c;c=o;for(var w=0;w<t.length;w++)if(x.context===t[w]){c.lanes|=n,x=c.alternate,x!==null&&(x.lanes|=n),Ps(c.return,n,e),a||(d=null);break e}c=x.next}}else if(o.tag===18){if(d=o.return,d===null)throw Error(r(341));d.lanes|=n,c=d.alternate,c!==null&&(c.lanes|=n),Ps(d,n,e),d=null}else d=o.child;if(d!==null)d.return=o;else for(d=o;d!==null;){if(d===e){d=null;break}if(o=d.sibling,o!==null){o.return=d.return,d=o;break}d=d.return}o=d}}function Dl(e,t,n,a){e=null;for(var o=t,c=!1;o!==null;){if(!c){if((o.flags&524288)!==0)c=!0;else if((o.flags&262144)!==0)break}if(o.tag===10){var d=o.alternate;if(d===null)throw Error(r(387));if(d=d.memoizedProps,d!==null){var x=o.type;Bt(o.pendingProps.value,d.value)||(e!==null?e.push(x):e=[x])}}else if(o===W.current){if(d=o.alternate,d===null)throw Error(r(387));d.memoizedState.memoizedState!==o.memoizedState.memoizedState&&(e!==null?e.push(ii):e=[ii])}o=o.return}e!==null&&ec(t,e,n,a),t.flags|=262144}function Li(e){for(e=e.firstContext;e!==null;){if(!Bt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function $a(e){Ja=e,Bn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function mt(e){return Vd(Ja,e)}function ki(e,t){return Ja===null&&$a(e),Vd(e,t)}function Vd(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Bn===null){if(e===null)throw Error(r(308));Bn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Bn=Bn.next=t;return n}var W0=typeof AbortController<\"u\"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,a){e.push(a)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},P0=l.unstable_scheduleCallback,eb=l.unstable_NormalPriority,et={$$typeof:L,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function tc(){return{controller:new W0,data:new Map,refCount:0}}function jo(e){e.refCount--,e.refCount===0&&P0(eb,function(){e.controller.abort()})}var Uo=null,nc=0,zl=0,jl=null;function tb(e,t){if(Uo===null){var n=Uo=[];nc=0,zl=ou(),jl={status:\"pending\",value:void 0,then:function(a){n.push(a)}}}return nc++,t.then(Yd,Yd),t}function Yd(){if(--nc===0&&Uo!==null){jl!==null&&(jl.status=\"fulfilled\");var e=Uo;Uo=null,zl=0,jl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function nb(e,t){var n=[],a={status:\"pending\",value:null,reason:null,then:function(o){n.push(o)}};return e.then(function(){a.status=\"fulfilled\",a.value=t;for(var o=0;o<n.length;o++)(0,n[o])(t)},function(o){for(a.status=\"rejected\",a.reason=o,o=0;o<n.length;o++)(0,n[o])(void 0)}),a}var Gd=A.S;A.S=function(e,t){Cp=Et(),typeof t==\"object\"&&t!==null&&typeof t.then==\"function\"&&tb(e,t),Gd!==null&&Gd(e,t)};var Ia=C(null);function ac(){var e=Ia.current;return e!==null?e:Ge.pooledCache}function Vi(e,t){t===null?Y(Ia,Ia.current):Y(Ia,t.pool)}function qd(){var e=ac();return e===null?null:{parent:et._currentValue,pool:e}}var Ul=Error(r(460)),lc=Error(r(474)),Yi=Error(r(542)),Gi={then:function(){}};function Xd(e){return e=e.status,e===\"fulfilled\"||e===\"rejected\"}function Kd(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(zn,zn),t=n),t.status){case\"fulfilled\":return t.value;case\"rejected\":throw e=t.reason,Zd(e),e;default:if(typeof t.status==\"string\")t.then(zn,zn);else{if(e=Ge,e!==null&&100<e.shellSuspendCounter)throw Error(r(482));e=t,e.status=\"pending\",e.then(function(a){if(t.status===\"pending\"){var o=t;o.status=\"fulfilled\",o.value=a}},function(a){if(t.status===\"pending\"){var o=t;o.status=\"rejected\",o.reason=a}})}switch(t.status){case\"fulfilled\":return t.value;case\"rejected\":throw e=t.reason,Zd(e),e}throw Wa=t,Ul}}function Fa(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n==\"object\"&&typeof n.then==\"function\"?(Wa=n,Ul):n}}var Wa=null;function Qd(){if(Wa===null)throw Error(r(459));var e=Wa;return Wa=null,e}function Zd(e){if(e===Ul||e===Yi)throw Error(r(483))}var Hl=null,Ho=0;function qi(e){var t=Ho;return Ho+=1,Hl===null&&(Hl=[]),Kd(Hl,e,t)}function Bo(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Xi(e,t){throw t.$$typeof===T?Error(r(525)):(e=Object.prototype.toString.call(t),Error(r(31,e===\"[object Object]\"?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":e)))}function Jd(e){function t(M,_){if(e){var z=M.deletions;z===null?(M.deletions=[_],M.flags|=16):z.push(_)}}function n(M,_){if(!e)return null;for(;_!==null;)t(M,_),_=_.sibling;return null}function a(M){for(var _=new Map;M!==null;)M.key!==null?_.set(M.key,M):_.set(M.index,M),M=M.sibling;return _}function o(M,_){return M=Un(M,_),M.index=0,M.sibling=null,M}function c(M,_,z){return M.index=z,e?(z=M.alternate,z!==null?(z=z.index,z<_?(M.flags|=67108866,_):z):(M.flags|=67108866,_)):(M.flags|=1048576,_)}function d(M){return e&&M.alternate===null&&(M.flags|=67108866),M}function x(M,_,z,Z){return _===null||_.tag!==6?(_=Qs(z,M.mode,Z),_.return=M,_):(_=o(_,z),_.return=M,_)}function w(M,_,z,Z){var ue=z.type;return ue===E?q(M,_,z.props.children,Z,z.key):_!==null&&(_.elementType===ue||typeof ue==\"object\"&&ue!==null&&ue.$$typeof===K&&Fa(ue)===_.type)?(_=o(_,z.props),Bo(_,z),_.return=M,_):(_=Hi(z.type,z.key,z.props,null,M.mode,Z),Bo(_,z),_.return=M,_)}function j(M,_,z,Z){return _===null||_.tag!==4||_.stateNode.containerInfo!==z.containerInfo||_.stateNode.implementation!==z.implementation?(_=Zs(z,M.mode,Z),_.return=M,_):(_=o(_,z.children||[]),_.return=M,_)}function q(M,_,z,Z,ue){return _===null||_.tag!==7?(_=Qa(z,M.mode,Z,ue),_.return=M,_):(_=o(_,z),_.return=M,_)}function J(M,_,z){if(typeof _==\"string\"&&_!==\"\"||typeof _==\"number\"||typeof _==\"bigint\")return _=Qs(\"\"+_,M.mode,z),_.return=M,_;if(typeof _==\"object\"&&_!==null){switch(_.$$typeof){case N:return z=Hi(_.type,_.key,_.props,null,M.mode,z),Bo(z,_),z.return=M,z;case D:return _=Zs(_,M.mode,z),_.return=M,_;case K:return _=Fa(_),J(M,_,z)}if(he(_)||fe(_))return _=Qa(_,M.mode,z,null),_.return=M,_;if(typeof _.then==\"function\")return J(M,qi(_),z);if(_.$$typeof===L)return J(M,ki(M,_),z);Xi(M,_)}return null}function H(M,_,z,Z){var ue=_!==null?_.key:null;if(typeof z==\"string\"&&z!==\"\"||typeof z==\"number\"||typeof z==\"bigint\")return ue!==null?null:x(M,_,\"\"+z,Z);if(typeof z==\"object\"&&z!==null){switch(z.$$typeof){case N:return z.key===ue?w(M,_,z,Z):null;case D:return z.key===ue?j(M,_,z,Z):null;case K:return z=Fa(z),H(M,_,z,Z)}if(he(z)||fe(z))return ue!==null?null:q(M,_,z,Z,null);if(typeof z.then==\"function\")return H(M,_,qi(z),Z);if(z.$$typeof===L)return H(M,_,ki(M,z),Z);Xi(M,z)}return null}function k(M,_,z,Z,ue){if(typeof Z==\"string\"&&Z!==\"\"||typeof Z==\"number\"||typeof Z==\"bigint\")return M=M.get(z)||null,x(_,M,\"\"+Z,ue);if(typeof Z==\"object\"&&Z!==null){switch(Z.$$typeof){case N:return M=M.get(Z.key===null?z:Z.key)||null,w(_,M,Z,ue);case D:return M=M.get(Z.key===null?z:Z.key)||null,j(_,M,Z,ue);case K:return Z=Fa(Z),k(M,_,z,Z,ue)}if(he(Z)||fe(Z))return M=M.get(z)||null,q(_,M,Z,ue,null);if(typeof Z.then==\"function\")return k(M,_,z,qi(Z),ue);if(Z.$$typeof===L)return k(M,_,z,ki(_,Z),ue);Xi(_,Z)}return null}function ae(M,_,z,Z){for(var ue=null,je=null,re=_,we=_=0,Me=null;re!==null&&we<z.length;we++){re.index>we?(Me=re,re=null):Me=re.sibling;var Ue=H(M,re,z[we],Z);if(Ue===null){re===null&&(re=Me);break}e&&re&&Ue.alternate===null&&t(M,re),_=c(Ue,_,we),je===null?ue=Ue:je.sibling=Ue,je=Ue,re=Me}if(we===z.length)return n(M,re),ze&&Hn(M,we),ue;if(re===null){for(;we<z.length;we++)re=J(M,z[we],Z),re!==null&&(_=c(re,_,we),je===null?ue=re:je.sibling=re,je=re);return ze&&Hn(M,we),ue}for(re=a(re);we<z.length;we++)Me=k(re,M,we,z[we],Z),Me!==null&&(e&&Me.alternate!==null&&re.delete(Me.key===null?we:Me.key),_=c(Me,_,we),je===null?ue=Me:je.sibling=Me,je=Me);return e&&re.forEach(function(Aa){return t(M,Aa)}),ze&&Hn(M,we),ue}function pe(M,_,z,Z){if(z==null)throw Error(r(151));for(var ue=null,je=null,re=_,we=_=0,Me=null,Ue=z.next();re!==null&&!Ue.done;we++,Ue=z.next()){re.index>we?(Me=re,re=null):Me=re.sibling;var Aa=H(M,re,Ue.value,Z);if(Aa===null){re===null&&(re=Me);break}e&&re&&Aa.alternate===null&&t(M,re),_=c(Aa,_,we),je===null?ue=Aa:je.sibling=Aa,je=Aa,re=Me}if(Ue.done)return n(M,re),ze&&Hn(M,we),ue;if(re===null){for(;!Ue.done;we++,Ue=z.next())Ue=J(M,Ue.value,Z),Ue!==null&&(_=c(Ue,_,we),je===null?ue=Ue:je.sibling=Ue,je=Ue);return ze&&Hn(M,we),ue}for(re=a(re);!Ue.done;we++,Ue=z.next())Ue=k(re,M,we,Ue.value,Z),Ue!==null&&(e&&Ue.alternate!==null&&re.delete(Ue.key===null?we:Ue.key),_=c(Ue,_,we),je===null?ue=Ue:je.sibling=Ue,je=Ue);return e&&re.forEach(function(m1){return t(M,m1)}),ze&&Hn(M,we),ue}function Ye(M,_,z,Z){if(typeof z==\"object\"&&z!==null&&z.type===E&&z.key===null&&(z=z.props.children),typeof z==\"object\"&&z!==null){switch(z.$$typeof){case N:e:{for(var ue=z.key;_!==null;){if(_.key===ue){if(ue=z.type,ue===E){if(_.tag===7){n(M,_.sibling),Z=o(_,z.props.children),Z.return=M,M=Z;break e}}else if(_.elementType===ue||typeof ue==\"object\"&&ue!==null&&ue.$$typeof===K&&Fa(ue)===_.type){n(M,_.sibling),Z=o(_,z.props),Bo(Z,z),Z.return=M,M=Z;break e}n(M,_);break}else t(M,_);_=_.sibling}z.type===E?(Z=Qa(z.props.children,M.mode,Z,z.key),Z.return=M,M=Z):(Z=Hi(z.type,z.key,z.props,null,M.mode,Z),Bo(Z,z),Z.return=M,M=Z)}return d(M);case D:e:{for(ue=z.key;_!==null;){if(_.key===ue)if(_.tag===4&&_.stateNode.containerInfo===z.containerInfo&&_.stateNode.implementation===z.implementation){n(M,_.sibling),Z=o(_,z.children||[]),Z.return=M,M=Z;break e}else{n(M,_);break}else t(M,_);_=_.sibling}Z=Zs(z,M.mode,Z),Z.return=M,M=Z}return d(M);case K:return z=Fa(z),Ye(M,_,z,Z)}if(he(z))return ae(M,_,z,Z);if(fe(z)){if(ue=fe(z),typeof ue!=\"function\")throw Error(r(150));return z=ue.call(z),pe(M,_,z,Z)}if(typeof z.then==\"function\")return Ye(M,_,qi(z),Z);if(z.$$typeof===L)return Ye(M,_,ki(M,z),Z);Xi(M,z)}return typeof z==\"string\"&&z!==\"\"||typeof z==\"number\"||typeof z==\"bigint\"?(z=\"\"+z,_!==null&&_.tag===6?(n(M,_.sibling),Z=o(_,z),Z.return=M,M=Z):(n(M,_),Z=Qs(z,M.mode,Z),Z.return=M,M=Z),d(M)):n(M,_)}return function(M,_,z,Z){try{Ho=0;var ue=Ye(M,_,z,Z);return Hl=null,ue}catch(re){if(re===Ul||re===Yi)throw re;var je=Lt(29,re,null,M.mode);return je.lanes=Z,je.return=M,je}finally{}}}var Pa=Jd(!0),$d=Jd(!1),ca=!1;function oc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ic(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function fa(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(He&2)!==0){var o=a.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),a.pending=t,t=Ui(e),Dd(e,null,n),t}return ji(e,a,t,n),Ui(e)}function Lo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,At(e,n)}}function rc(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var o=null,c=null;if(n=n.firstBaseUpdate,n!==null){do{var d={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};c===null?o=c=d:c=c.next=d,n=n.next}while(n!==null);c===null?o=c=t:c=c.next=t}else o=c=t;n={baseState:a.baseState,firstBaseUpdate:o,lastBaseUpdate:c,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var sc=!1;function ko(){if(sc){var e=jl;if(e!==null)throw e}}function Vo(e,t,n,a){sc=!1;var o=e.updateQueue;ca=!1;var c=o.firstBaseUpdate,d=o.lastBaseUpdate,x=o.shared.pending;if(x!==null){o.shared.pending=null;var w=x,j=w.next;w.next=null,d===null?c=j:d.next=j,d=w;var q=e.alternate;q!==null&&(q=q.updateQueue,x=q.lastBaseUpdate,x!==d&&(x===null?q.firstBaseUpdate=j:x.next=j,q.lastBaseUpdate=w))}if(c!==null){var J=o.baseState;d=0,q=j=w=null,x=c;do{var H=x.lane&-536870913,k=H!==x.lane;if(k?(Oe&H)===H:(a&H)===H){H!==0&&H===zl&&(sc=!0),q!==null&&(q=q.next={lane:0,tag:x.tag,payload:x.payload,callback:null,next:null});e:{var ae=e,pe=x;H=t;var Ye=n;switch(pe.tag){case 1:if(ae=pe.payload,typeof ae==\"function\"){J=ae.call(Ye,J,H);break e}J=ae;break e;case 3:ae.flags=ae.flags&-65537|128;case 0:if(ae=pe.payload,H=typeof ae==\"function\"?ae.call(Ye,J,H):ae,H==null)break e;J=h({},J,H);break e;case 2:ca=!0}}H=x.callback,H!==null&&(e.flags|=64,k&&(e.flags|=8192),k=o.callbacks,k===null?o.callbacks=[H]:k.push(H))}else k={lane:H,tag:x.tag,payload:x.payload,callback:x.callback,next:null},q===null?(j=q=k,w=J):q=q.next=k,d|=H;if(x=x.next,x===null){if(x=o.shared.pending,x===null)break;k=x,x=k.next,k.next=null,o.lastBaseUpdate=k,o.shared.pending=null}}while(!0);q===null&&(w=J),o.baseState=w,o.firstBaseUpdate=j,o.lastBaseUpdate=q,c===null&&(o.shared.lanes=0),ga|=d,e.lanes=d,e.memoizedState=J}}function Id(e,t){if(typeof e!=\"function\")throw Error(r(191,e));e.call(t)}function Fd(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)Id(n[e],t)}var Bl=C(null),Ki=C(0);function Wd(e,t){e=Zn,Y(Ki,e),Y(Bl,t),Zn=e|t.baseLanes}function cc(){Y(Ki,Zn),Y(Bl,Bl.current)}function uc(){Zn=Ki.current,G(Bl),G(Ki)}var kt=C(null),Pt=null;function da(e){var t=e.alternate;Y(We,We.current&1),Y(kt,e),Pt===null&&(t===null||Bl.current!==null||t.memoizedState!==null)&&(Pt=e)}function fc(e){Y(We,We.current),Y(kt,e),Pt===null&&(Pt=e)}function Pd(e){e.tag===22?(Y(We,We.current),Y(kt,e),Pt===null&&(Pt=e)):ma()}function ma(){Y(We,We.current),Y(kt,kt.current)}function Vt(e){G(kt),Pt===e&&(Pt=null),G(We)}var We=C(0);function Qi(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||vu(n)||yu(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===\"forwards\"||t.memoizedProps.revealOrder===\"backwards\"||t.memoizedProps.revealOrder===\"unstable_legacy-backwards\"||t.memoizedProps.revealOrder===\"together\")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var kn=0,Se=null,ke=null,tt=null,Zi=!1,Ll=!1,el=!1,Ji=0,Yo=0,kl=null,ab=0;function Ie(){throw Error(r(321))}function dc(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Bt(e[n],t[n]))return!1;return!0}function mc(e,t,n,a,o,c){return kn=c,Se=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,A.H=e===null||e.memoizedState===null?Hm:Nc,el=!1,c=n(a,o),el=!1,Ll&&(c=tm(t,n,a,o)),em(e),c}function em(e){A.H=Xo;var t=ke!==null&&ke.next!==null;if(kn=0,tt=ke=Se=null,Zi=!1,Yo=0,kl=null,t)throw Error(r(300));e===null||nt||(e=e.dependencies,e!==null&&Li(e)&&(nt=!0))}function tm(e,t,n,a){Se=e;var o=0;do{if(Ll&&(kl=null),Yo=0,Ll=!1,25<=o)throw Error(r(301));if(o+=1,tt=ke=null,e.updateQueue!=null){var c=e.updateQueue;c.lastEffect=null,c.events=null,c.stores=null,c.memoCache!=null&&(c.memoCache.index=0)}A.H=Bm,c=t(n,a)}while(Ll);return c}function lb(){var e=A.H,t=e.useState()[0];return t=typeof t.then==\"function\"?Go(t):t,e=e.useState()[0],(ke!==null?ke.memoizedState:null)!==e&&(Se.flags|=1024),t}function pc(){var e=Ji!==0;return Ji=0,e}function hc(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function gc(e){if(Zi){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Zi=!1}kn=0,tt=ke=Se=null,Ll=!1,Yo=Ji=0,kl=null}function Tt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return tt===null?Se.memoizedState=tt=e:tt=tt.next=e,tt}function Pe(){if(ke===null){var e=Se.alternate;e=e!==null?e.memoizedState:null}else e=ke.next;var t=tt===null?Se.memoizedState:tt.next;if(t!==null)tt=t,ke=e;else{if(e===null)throw Se.alternate===null?Error(r(467)):Error(r(310));ke=e,e={memoizedState:ke.memoizedState,baseState:ke.baseState,baseQueue:ke.baseQueue,queue:ke.queue,next:null},tt===null?Se.memoizedState=tt=e:tt=tt.next=e}return tt}function $i(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Go(e){var t=Yo;return Yo+=1,kl===null&&(kl=[]),e=Kd(kl,e,t),t=Se,(tt===null?t.memoizedState:tt.next)===null&&(t=t.alternate,A.H=t===null||t.memoizedState===null?Hm:Nc),e}function Ii(e){if(e!==null&&typeof e==\"object\"){if(typeof e.then==\"function\")return Go(e);if(e.$$typeof===L)return mt(e)}throw Error(r(438,String(e)))}function vc(e){var t=null,n=Se.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var a=Se.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(o){return o.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=$i(),Se.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),a=0;a<e;a++)n[a]=ve;return t.index++,n}function Vn(e,t){return typeof t==\"function\"?t(e):t}function Fi(e){var t=Pe();return yc(t,ke,e)}function yc(e,t,n){var a=e.queue;if(a===null)throw Error(r(311));a.lastRenderedReducer=n;var o=e.baseQueue,c=a.pending;if(c!==null){if(o!==null){var d=o.next;o.next=c.next,c.next=d}t.baseQueue=o=c,a.pending=null}if(c=e.baseState,o===null)e.memoizedState=c;else{t=o.next;var x=d=null,w=null,j=t,q=!1;do{var J=j.lane&-536870913;if(J!==j.lane?(Oe&J)===J:(kn&J)===J){var H=j.revertLane;if(H===0)w!==null&&(w=w.next={lane:0,revertLane:0,gesture:null,action:j.action,hasEagerState:j.hasEagerState,eagerState:j.eagerState,next:null}),J===zl&&(q=!0);else if((kn&H)===H){j=j.next,H===zl&&(q=!0);continue}else J={lane:0,revertLane:j.revertLane,gesture:null,action:j.action,hasEagerState:j.hasEagerState,eagerState:j.eagerState,next:null},w===null?(x=w=J,d=c):w=w.next=J,Se.lanes|=H,ga|=H;J=j.action,el&&n(c,J),c=j.hasEagerState?j.eagerState:n(c,J)}else H={lane:J,revertLane:j.revertLane,gesture:j.gesture,action:j.action,hasEagerState:j.hasEagerState,eagerState:j.eagerState,next:null},w===null?(x=w=H,d=c):w=w.next=H,Se.lanes|=J,ga|=J;j=j.next}while(j!==null&&j!==t);if(w===null?d=c:w.next=x,!Bt(c,e.memoizedState)&&(nt=!0,q&&(n=jl,n!==null)))throw n;e.memoizedState=c,e.baseState=d,e.baseQueue=w,a.lastRenderedState=c}return o===null&&(a.lanes=0),[e.memoizedState,a.dispatch]}function bc(e){var t=Pe(),n=t.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=e;var a=n.dispatch,o=n.pending,c=t.memoizedState;if(o!==null){n.pending=null;var d=o=o.next;do c=e(c,d.action),d=d.next;while(d!==o);Bt(c,t.memoizedState)||(nt=!0),t.memoizedState=c,t.baseQueue===null&&(t.baseState=c),n.lastRenderedState=c}return[c,a]}function nm(e,t,n){var a=Se,o=Pe(),c=ze;if(c){if(n===void 0)throw Error(r(407));n=n()}else n=t();var d=!Bt((ke||o).memoizedState,n);if(d&&(o.memoizedState=n,nt=!0),o=o.queue,Ec(om.bind(null,a,o,e),[e]),o.getSnapshot!==t||d||tt!==null&&tt.memoizedState.tag&1){if(a.flags|=2048,Vl(9,{destroy:void 0},lm.bind(null,a,o,n,t),null),Ge===null)throw Error(r(349));c||(kn&127)!==0||am(a,t,n)}return n}function am(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Se.updateQueue,t===null?(t=$i(),Se.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function lm(e,t,n,a){t.value=n,t.getSnapshot=a,im(t)&&rm(e)}function om(e,t,n){return n(function(){im(t)&&rm(e)})}function im(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Bt(e,n)}catch{return!0}}function rm(e){var t=Ka(e,2);t!==null&&jt(t,e,2)}function xc(e){var t=Tt();if(typeof e==\"function\"){var n=e;if(e=n(),el){ln(!0);try{n()}finally{ln(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Vn,lastRenderedState:e},t}function sm(e,t,n,a){return e.baseState=n,yc(e,ke,typeof a==\"function\"?a:Vn)}function ob(e,t,n,a,o){if(er(e))throw Error(r(485));if(e=t.action,e!==null){var c={payload:o,action:e,next:null,isTransition:!0,status:\"pending\",value:null,reason:null,listeners:[],then:function(d){c.listeners.push(d)}};A.T!==null?n(!0):c.isTransition=!1,a(c),n=t.pending,n===null?(c.next=t.pending=c,cm(t,c)):(c.next=n.next,t.pending=n.next=c)}}function cm(e,t){var n=t.action,a=t.payload,o=e.state;if(t.isTransition){var c=A.T,d={};A.T=d;try{var x=n(o,a),w=A.S;w!==null&&w(d,x),um(e,t,x)}catch(j){Sc(e,t,j)}finally{c!==null&&d.types!==null&&(c.types=d.types),A.T=c}}else try{c=n(o,a),um(e,t,c)}catch(j){Sc(e,t,j)}}function um(e,t,n){n!==null&&typeof n==\"object\"&&typeof n.then==\"function\"?n.then(function(a){fm(e,t,a)},function(a){return Sc(e,t,a)}):fm(e,t,n)}function fm(e,t,n){t.status=\"fulfilled\",t.value=n,dm(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,cm(e,n)))}function Sc(e,t,n){var a=e.pending;if(e.pending=null,a!==null){a=a.next;do t.status=\"rejected\",t.reason=n,dm(t),t=t.next;while(t!==a)}e.action=null}function dm(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function mm(e,t){return t}function pm(e,t){if(ze){var n=Ge.formState;if(n!==null){e:{var a=Se;if(ze){if(Xe){t:{for(var o=Xe,c=Wt;o.nodeType!==8;){if(!c){o=null;break t}if(o=en(o.nextSibling),o===null){o=null;break t}}c=o.data,o=c===\"F!\"||c===\"F\"?o:null}if(o){Xe=en(o.nextSibling),a=o.data===\"F!\";break e}}ra(a)}a=!1}a&&(t=n[0])}}return n=Tt(),n.memoizedState=n.baseState=t,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:mm,lastRenderedState:t},n.queue=a,n=zm.bind(null,Se,a),a.dispatch=n,a=xc(!1),c=_c.bind(null,Se,!1,a.queue),a=Tt(),o={state:t,dispatch:null,action:e,pending:null},a.queue=o,n=ob.bind(null,Se,o,c,n),o.dispatch=n,a.memoizedState=e,[t,n,!1]}function hm(e){var t=Pe();return gm(t,ke,e)}function gm(e,t,n){if(t=yc(e,t,mm)[0],e=Fi(Vn)[0],typeof t==\"object\"&&t!==null&&typeof t.then==\"function\")try{var a=Go(t)}catch(d){throw d===Ul?Yi:d}else a=t;t=Pe();var o=t.queue,c=o.dispatch;return n!==t.memoizedState&&(Se.flags|=2048,Vl(9,{destroy:void 0},ib.bind(null,o,n),null)),[a,c,e]}function ib(e,t){e.action=t}function vm(e){var t=Pe(),n=ke;if(n!==null)return gm(t,n,e);Pe(),t=t.memoizedState,n=Pe();var a=n.queue.dispatch;return n.memoizedState=e,[t,a,!1]}function Vl(e,t,n,a){return e={tag:e,create:n,deps:a,inst:t,next:null},t=Se.updateQueue,t===null&&(t=$i(),Se.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function ym(){return Pe().memoizedState}function Wi(e,t,n,a){var o=Tt();Se.flags|=e,o.memoizedState=Vl(1|t,{destroy:void 0},n,a===void 0?null:a)}function Pi(e,t,n,a){var o=Pe();a=a===void 0?null:a;var c=o.memoizedState.inst;ke!==null&&a!==null&&dc(a,ke.memoizedState.deps)?o.memoizedState=Vl(t,c,n,a):(Se.flags|=e,o.memoizedState=Vl(1|t,c,n,a))}function bm(e,t){Wi(8390656,8,e,t)}function Ec(e,t){Pi(2048,8,e,t)}function rb(e){Se.flags|=4;var t=Se.updateQueue;if(t===null)t=$i(),Se.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function xm(e){var t=Pe().memoizedState;return rb({ref:t,nextImpl:e}),function(){if((He&2)!==0)throw Error(r(440));return t.impl.apply(void 0,arguments)}}function Sm(e,t){return Pi(4,2,e,t)}function Em(e,t){return Pi(4,4,e,t)}function wm(e,t){if(typeof t==\"function\"){e=e();var n=t(e);return function(){typeof n==\"function\"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Tm(e,t,n){n=n!=null?n.concat([e]):null,Pi(4,4,wm.bind(null,t,e),n)}function wc(){}function Cm(e,t){var n=Pe();t=t===void 0?null:t;var a=n.memoizedState;return t!==null&&dc(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function Am(e,t){var n=Pe();t=t===void 0?null:t;var a=n.memoizedState;if(t!==null&&dc(t,a[1]))return a[0];if(a=e(),el){ln(!0);try{e()}finally{ln(!1)}}return n.memoizedState=[a,t],a}function Tc(e,t,n){return n===void 0||(kn&1073741824)!==0&&(Oe&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=_p(),Se.lanes|=e,ga|=e,n)}function _m(e,t,n,a){return Bt(n,t)?n:Bl.current!==null?(e=Tc(e,n,a),Bt(e,t)||(nt=!0),e):(kn&42)===0||(kn&1073741824)!==0&&(Oe&261930)===0?(nt=!0,e.memoizedState=n):(e=_p(),Se.lanes|=e,ga|=e,t)}function Nm(e,t,n,a,o){var c=V.p;V.p=c!==0&&8>c?c:8;var d=A.T,x={};A.T=x,_c(e,!1,t,n);try{var w=o(),j=A.S;if(j!==null&&j(x,w),w!==null&&typeof w==\"object\"&&typeof w.then==\"function\"){var q=nb(w,a);qo(e,t,q,qt(e))}else qo(e,t,a,qt(e))}catch(J){qo(e,t,{then:function(){},status:\"rejected\",reason:J},qt())}finally{V.p=c,d!==null&&x.types!==null&&(d.types=x.types),A.T=d}}function sb(){}function Cc(e,t,n,a){if(e.tag!==5)throw Error(r(476));var o=Rm(e).queue;Nm(e,o,t,B,n===null?sb:function(){return Om(e),n(a)})}function Rm(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:B,baseState:B,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Vn,lastRenderedState:B},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Vn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Om(e){var t=Rm(e);t.next===null&&(t=e.alternate.memoizedState),qo(e,t.next.queue,{},qt())}function Ac(){return mt(ii)}function Mm(){return Pe().memoizedState}function Dm(){return Pe().memoizedState}function cb(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=qt();e=ua(n);var a=fa(t,e,n);a!==null&&(jt(a,t,n),Lo(a,t,n)),t={cache:tc()},e.payload=t;return}t=t.return}}function ub(e,t,n){var a=qt();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},er(e)?jm(t,n):(n=Xs(e,t,n,a),n!==null&&(jt(n,e,a),Um(n,t,a)))}function zm(e,t,n){var a=qt();qo(e,t,n,a)}function qo(e,t,n,a){var o={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(er(e))jm(t,o);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var d=t.lastRenderedState,x=c(d,n);if(o.hasEagerState=!0,o.eagerState=x,Bt(x,d))return ji(e,t,o,0),Ge===null&&zi(),!1}catch{}finally{}if(n=Xs(e,t,o,a),n!==null)return jt(n,e,a),Um(n,t,a),!0}return!1}function _c(e,t,n,a){if(a={lane:2,revertLane:ou(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},er(e)){if(t)throw Error(r(479))}else t=Xs(e,n,a,2),t!==null&&jt(t,e,2)}function er(e){var t=e.alternate;return e===Se||t!==null&&t===Se}function jm(e,t){Ll=Zi=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Um(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,At(e,n)}}var Xo={readContext:mt,use:Ii,useCallback:Ie,useContext:Ie,useEffect:Ie,useImperativeHandle:Ie,useLayoutEffect:Ie,useInsertionEffect:Ie,useMemo:Ie,useReducer:Ie,useRef:Ie,useState:Ie,useDebugValue:Ie,useDeferredValue:Ie,useTransition:Ie,useSyncExternalStore:Ie,useId:Ie,useHostTransitionStatus:Ie,useFormState:Ie,useActionState:Ie,useOptimistic:Ie,useMemoCache:Ie,useCacheRefresh:Ie};Xo.useEffectEvent=Ie;var Hm={readContext:mt,use:Ii,useCallback:function(e,t){return Tt().memoizedState=[e,t===void 0?null:t],e},useContext:mt,useEffect:bm,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,Wi(4194308,4,wm.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Wi(4194308,4,e,t)},useInsertionEffect:function(e,t){Wi(4,2,e,t)},useMemo:function(e,t){var n=Tt();t=t===void 0?null:t;var a=e();if(el){ln(!0);try{e()}finally{ln(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=Tt();if(n!==void 0){var o=n(t);if(el){ln(!0);try{n(t)}finally{ln(!1)}}}else o=t;return a.memoizedState=a.baseState=o,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:o},a.queue=e,e=e.dispatch=ub.bind(null,Se,e),[a.memoizedState,e]},useRef:function(e){var t=Tt();return e={current:e},t.memoizedState=e},useState:function(e){e=xc(e);var t=e.queue,n=zm.bind(null,Se,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:wc,useDeferredValue:function(e,t){var n=Tt();return Tc(n,e,t)},useTransition:function(){var e=xc(!1);return e=Nm.bind(null,Se,e.queue,!0,!1),Tt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=Se,o=Tt();if(ze){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),Ge===null)throw Error(r(349));(Oe&127)!==0||am(a,t,n)}o.memoizedState=n;var c={value:n,getSnapshot:t};return o.queue=c,bm(om.bind(null,a,c,e),[e]),a.flags|=2048,Vl(9,{destroy:void 0},lm.bind(null,a,c,n,t),null),n},useId:function(){var e=Tt(),t=Ge.identifierPrefix;if(ze){var n=xn,a=bn;n=(a&~(1<<32-yt(a)-1)).toString(32)+n,t=\"_\"+t+\"R_\"+n,n=Ji++,0<n&&(t+=\"H\"+n.toString(32)),t+=\"_\"}else n=ab++,t=\"_\"+t+\"r_\"+n.toString(32)+\"_\";return e.memoizedState=t},useHostTransitionStatus:Ac,useFormState:pm,useActionState:pm,useOptimistic:function(e){var t=Tt();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=_c.bind(null,Se,!0,n),n.dispatch=t,[e,t]},useMemoCache:vc,useCacheRefresh:function(){return Tt().memoizedState=cb.bind(null,Se)},useEffectEvent:function(e){var t=Tt(),n={impl:e};return t.memoizedState=n,function(){if((He&2)!==0)throw Error(r(440));return n.impl.apply(void 0,arguments)}}},Nc={readContext:mt,use:Ii,useCallback:Cm,useContext:mt,useEffect:Ec,useImperativeHandle:Tm,useInsertionEffect:Sm,useLayoutEffect:Em,useMemo:Am,useReducer:Fi,useRef:ym,useState:function(){return Fi(Vn)},useDebugValue:wc,useDeferredValue:function(e,t){var n=Pe();return _m(n,ke.memoizedState,e,t)},useTransition:function(){var e=Fi(Vn)[0],t=Pe().memoizedState;return[typeof e==\"boolean\"?e:Go(e),t]},useSyncExternalStore:nm,useId:Mm,useHostTransitionStatus:Ac,useFormState:hm,useActionState:hm,useOptimistic:function(e,t){var n=Pe();return sm(n,ke,e,t)},useMemoCache:vc,useCacheRefresh:Dm};Nc.useEffectEvent=xm;var Bm={readContext:mt,use:Ii,useCallback:Cm,useContext:mt,useEffect:Ec,useImperativeHandle:Tm,useInsertionEffect:Sm,useLayoutEffect:Em,useMemo:Am,useReducer:bc,useRef:ym,useState:function(){return bc(Vn)},useDebugValue:wc,useDeferredValue:function(e,t){var n=Pe();return ke===null?Tc(n,e,t):_m(n,ke.memoizedState,e,t)},useTransition:function(){var e=bc(Vn)[0],t=Pe().memoizedState;return[typeof e==\"boolean\"?e:Go(e),t]},useSyncExternalStore:nm,useId:Mm,useHostTransitionStatus:Ac,useFormState:vm,useActionState:vm,useOptimistic:function(e,t){var n=Pe();return ke!==null?sm(n,ke,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:vc,useCacheRefresh:Dm};Bm.useEffectEvent=xm;function Rc(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:h({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Oc={enqueueSetState:function(e,t,n){e=e._reactInternals;var a=qt(),o=ua(a);o.payload=t,n!=null&&(o.callback=n),t=fa(e,o,a),t!==null&&(jt(t,e,a),Lo(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=qt(),o=ua(a);o.tag=1,o.payload=t,n!=null&&(o.callback=n),t=fa(e,o,a),t!==null&&(jt(t,e,a),Lo(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=qt(),a=ua(n);a.tag=2,t!=null&&(a.callback=t),t=fa(e,a,n),t!==null&&(jt(t,e,n),Lo(t,e,n))}};function Lm(e,t,n,a,o,c,d){return e=e.stateNode,typeof e.shouldComponentUpdate==\"function\"?e.shouldComponentUpdate(a,c,d):t.prototype&&t.prototype.isPureReactComponent?!Oo(n,a)||!Oo(o,c):!0}function km(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps==\"function\"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps==\"function\"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&Oc.enqueueReplaceState(t,t.state,null)}function tl(e,t){var n=t;if(\"ref\"in t){n={};for(var a in t)a!==\"ref\"&&(n[a]=t[a])}if(e=e.defaultProps){n===t&&(n=h({},n));for(var o in e)n[o]===void 0&&(n[o]=e[o])}return n}function Vm(e){Di(e)}function Ym(e){console.error(e)}function Gm(e){Di(e)}function tr(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function qm(e,t,n){try{var a=e.onCaughtError;a(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(o){setTimeout(function(){throw o})}}function Mc(e,t,n){return n=ua(n),n.tag=3,n.payload={element:null},n.callback=function(){tr(e,t)},n}function Xm(e){return e=ua(e),e.tag=3,e}function Km(e,t,n,a){var o=n.type.getDerivedStateFromError;if(typeof o==\"function\"){var c=a.value;e.payload=function(){return o(c)},e.callback=function(){qm(t,n,a)}}var d=n.stateNode;d!==null&&typeof d.componentDidCatch==\"function\"&&(e.callback=function(){qm(t,n,a),typeof o!=\"function\"&&(va===null?va=new Set([this]):va.add(this));var x=a.stack;this.componentDidCatch(a.value,{componentStack:x!==null?x:\"\"})})}function fb(e,t,n,a,o){if(n.flags|=32768,a!==null&&typeof a==\"object\"&&typeof a.then==\"function\"){if(t=n.alternate,t!==null&&Dl(t,n,o,!0),n=kt.current,n!==null){switch(n.tag){case 31:case 13:return Pt===null?mr():n.alternate===null&&Fe===0&&(Fe=3),n.flags&=-257,n.flags|=65536,n.lanes=o,a===Gi?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([a]):t.add(a),nu(e,a,o)),!1;case 22:return n.flags|=65536,a===Gi?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([a]):n.add(a)),nu(e,a,o)),!1}throw Error(r(435,n.tag))}return nu(e,a,o),mr(),!1}if(ze)return t=kt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=o,a!==Is&&(e=Error(r(422),{cause:a}),zo($t(e,n)))):(a!==Is&&(t=Error(r(423),{cause:a}),zo($t(t,n))),e=e.current.alternate,e.flags|=65536,o&=-o,e.lanes|=o,a=$t(a,n),o=Mc(e.stateNode,a,o),rc(e,o),Fe!==4&&(Fe=2)),!1;var c=Error(r(520),{cause:a});if(c=$t(c,n),Wo===null?Wo=[c]:Wo.push(c),Fe!==4&&(Fe=2),t===null)return!0;a=$t(a,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=o&-o,n.lanes|=e,e=Mc(n.stateNode,a,e),rc(n,e),!1;case 1:if(t=n.type,c=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError==\"function\"||c!==null&&typeof c.componentDidCatch==\"function\"&&(va===null||!va.has(c))))return n.flags|=65536,o&=-o,n.lanes|=o,o=Xm(o),Km(o,e,n,a),rc(n,o),!1}n=n.return}while(n!==null);return!1}var Dc=Error(r(461)),nt=!1;function pt(e,t,n,a){t.child=e===null?$d(t,null,n,a):Pa(t,e.child,n,a)}function Qm(e,t,n,a,o){n=n.render;var c=t.ref;if(\"ref\"in a){var d={};for(var x in a)x!==\"ref\"&&(d[x]=a[x])}else d=a;return $a(t),a=mc(e,t,n,d,c,o),x=pc(),e!==null&&!nt?(hc(e,t,o),Yn(e,t,o)):(ze&&x&&Js(t),t.flags|=1,pt(e,t,a,o),t.child)}function Zm(e,t,n,a,o){if(e===null){var c=n.type;return typeof c==\"function\"&&!Ks(c)&&c.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=c,Jm(e,t,c,a,o)):(e=Hi(n.type,null,a,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(c=e.child,!Vc(e,o)){var d=c.memoizedProps;if(n=n.compare,n=n!==null?n:Oo,n(d,a)&&e.ref===t.ref)return Yn(e,t,o)}return t.flags|=1,e=Un(c,a),e.ref=t.ref,e.return=t,t.child=e}function Jm(e,t,n,a,o){if(e!==null){var c=e.memoizedProps;if(Oo(c,a)&&e.ref===t.ref)if(nt=!1,t.pendingProps=a=c,Vc(e,o))(e.flags&131072)!==0&&(nt=!0);else return t.lanes=e.lanes,Yn(e,t,o)}return zc(e,t,n,a,o)}function $m(e,t,n,a){var o=a.children,c=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode===\"hidden\"){if((t.flags&128)!==0){if(c=c!==null?c.baseLanes|n:n,e!==null){for(a=t.child=e.child,o=0;a!==null;)o=o|a.lanes|a.childLanes,a=a.sibling;a=o&~c}else a=0,t.child=null;return Im(e,t,c,n,a)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Vi(t,c!==null?c.cachePool:null),c!==null?Wd(t,c):cc(),Pd(t);else return a=t.lanes=536870912,Im(e,t,c!==null?c.baseLanes|n:n,n,a)}else c!==null?(Vi(t,c.cachePool),Wd(t,c),ma(),t.memoizedState=null):(e!==null&&Vi(t,null),cc(),ma());return pt(e,t,o,n),t.child}function Ko(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Im(e,t,n,a,o){var c=ac();return c=c===null?null:{parent:et._currentValue,pool:c},t.memoizedState={baseLanes:n,cachePool:c},e!==null&&Vi(t,null),cc(),Pd(t),e!==null&&Dl(e,t,a,!0),t.childLanes=o,null}function nr(e,t){return t=lr({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Fm(e,t,n){return Pa(t,e.child,null,n),e=nr(t,t.pendingProps),e.flags|=2,Vt(t),t.memoizedState=null,e}function db(e,t,n){var a=t.pendingProps,o=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(ze){if(a.mode===\"hidden\")return e=nr(t,a),t.lanes=536870912,Ko(null,e);if(fc(t),(e=Xe)?(e=ch(e,Wt),e=e!==null&&e.data===\"&\"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:oa!==null?{id:bn,overflow:xn}:null,retryLane:536870912,hydrationErrors:null},n=jd(e),n.return=t,t.child=n,dt=t,Xe=null)):e=null,e===null)throw ra(t);return t.lanes=536870912,null}return nr(t,a)}var c=e.memoizedState;if(c!==null){var d=c.dehydrated;if(fc(t),o)if(t.flags&256)t.flags&=-257,t=Fm(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(r(558));else if(nt||Dl(e,t,n,!1),o=(n&e.childLanes)!==0,nt||o){if(a=Ge,a!==null&&(d=_t(a,n),d!==0&&d!==c.retryLane))throw c.retryLane=d,Ka(e,d),jt(a,e,d),Dc;mr(),t=Fm(e,t,n)}else e=c.treeContext,Xe=en(d.nextSibling),dt=t,ze=!0,ia=null,Wt=!1,e!==null&&Bd(t,e),t=nr(t,a),t.flags|=4096;return t}return e=Un(e.child,{mode:a.mode,children:a.children}),e.ref=t.ref,t.child=e,e.return=t,e}function ar(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=\"function\"&&typeof n!=\"object\")throw Error(r(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function zc(e,t,n,a,o){return $a(t),n=mc(e,t,n,a,void 0,o),a=pc(),e!==null&&!nt?(hc(e,t,o),Yn(e,t,o)):(ze&&a&&Js(t),t.flags|=1,pt(e,t,n,o),t.child)}function Wm(e,t,n,a,o,c){return $a(t),t.updateQueue=null,n=tm(t,a,n,o),em(e),a=pc(),e!==null&&!nt?(hc(e,t,c),Yn(e,t,c)):(ze&&a&&Js(t),t.flags|=1,pt(e,t,n,c),t.child)}function Pm(e,t,n,a,o){if($a(t),t.stateNode===null){var c=Nl,d=n.contextType;typeof d==\"object\"&&d!==null&&(c=mt(d)),c=new n(a,c),t.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,c.updater=Oc,t.stateNode=c,c._reactInternals=t,c=t.stateNode,c.props=a,c.state=t.memoizedState,c.refs={},oc(t),d=n.contextType,c.context=typeof d==\"object\"&&d!==null?mt(d):Nl,c.state=t.memoizedState,d=n.getDerivedStateFromProps,typeof d==\"function\"&&(Rc(t,n,d,a),c.state=t.memoizedState),typeof n.getDerivedStateFromProps==\"function\"||typeof c.getSnapshotBeforeUpdate==\"function\"||typeof c.UNSAFE_componentWillMount!=\"function\"&&typeof c.componentWillMount!=\"function\"||(d=c.state,typeof c.componentWillMount==\"function\"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount==\"function\"&&c.UNSAFE_componentWillMount(),d!==c.state&&Oc.enqueueReplaceState(c,c.state,null),Vo(t,a,c,o),ko(),c.state=t.memoizedState),typeof c.componentDidMount==\"function\"&&(t.flags|=4194308),a=!0}else if(e===null){c=t.stateNode;var x=t.memoizedProps,w=tl(n,x);c.props=w;var j=c.context,q=n.contextType;d=Nl,typeof q==\"object\"&&q!==null&&(d=mt(q));var J=n.getDerivedStateFromProps;q=typeof J==\"function\"||typeof c.getSnapshotBeforeUpdate==\"function\",x=t.pendingProps!==x,q||typeof c.UNSAFE_componentWillReceiveProps!=\"function\"&&typeof c.componentWillReceiveProps!=\"function\"||(x||j!==d)&&km(t,c,a,d),ca=!1;var H=t.memoizedState;c.state=H,Vo(t,a,c,o),ko(),j=t.memoizedState,x||H!==j||ca?(typeof J==\"function\"&&(Rc(t,n,J,a),j=t.memoizedState),(w=ca||Lm(t,n,w,a,H,j,d))?(q||typeof c.UNSAFE_componentWillMount!=\"function\"&&typeof c.componentWillMount!=\"function\"||(typeof c.componentWillMount==\"function\"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount==\"function\"&&c.UNSAFE_componentWillMount()),typeof c.componentDidMount==\"function\"&&(t.flags|=4194308)):(typeof c.componentDidMount==\"function\"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=j),c.props=a,c.state=j,c.context=d,a=w):(typeof c.componentDidMount==\"function\"&&(t.flags|=4194308),a=!1)}else{c=t.stateNode,ic(e,t),d=t.memoizedProps,q=tl(n,d),c.props=q,J=t.pendingProps,H=c.context,j=n.contextType,w=Nl,typeof j==\"object\"&&j!==null&&(w=mt(j)),x=n.getDerivedStateFromProps,(j=typeof x==\"function\"||typeof c.getSnapshotBeforeUpdate==\"function\")||typeof c.UNSAFE_componentWillReceiveProps!=\"function\"&&typeof c.componentWillReceiveProps!=\"function\"||(d!==J||H!==w)&&km(t,c,a,w),ca=!1,H=t.memoizedState,c.state=H,Vo(t,a,c,o),ko();var k=t.memoizedState;d!==J||H!==k||ca||e!==null&&e.dependencies!==null&&Li(e.dependencies)?(typeof x==\"function\"&&(Rc(t,n,x,a),k=t.memoizedState),(q=ca||Lm(t,n,q,a,H,k,w)||e!==null&&e.dependencies!==null&&Li(e.dependencies))?(j||typeof c.UNSAFE_componentWillUpdate!=\"function\"&&typeof c.componentWillUpdate!=\"function\"||(typeof c.componentWillUpdate==\"function\"&&c.componentWillUpdate(a,k,w),typeof c.UNSAFE_componentWillUpdate==\"function\"&&c.UNSAFE_componentWillUpdate(a,k,w)),typeof c.componentDidUpdate==\"function\"&&(t.flags|=4),typeof c.getSnapshotBeforeUpdate==\"function\"&&(t.flags|=1024)):(typeof c.componentDidUpdate!=\"function\"||d===e.memoizedProps&&H===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!=\"function\"||d===e.memoizedProps&&H===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=k),c.props=a,c.state=k,c.context=w,a=q):(typeof c.componentDidUpdate!=\"function\"||d===e.memoizedProps&&H===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!=\"function\"||d===e.memoizedProps&&H===e.memoizedState||(t.flags|=1024),a=!1)}return c=a,ar(e,t),a=(t.flags&128)!==0,c||a?(c=t.stateNode,n=a&&typeof n.getDerivedStateFromError!=\"function\"?null:c.render(),t.flags|=1,e!==null&&a?(t.child=Pa(t,e.child,null,o),t.child=Pa(t,null,n,o)):pt(e,t,n,o),t.memoizedState=c.state,e=t.child):e=Yn(e,t,o),e}function ep(e,t,n,a){return Za(),t.flags|=256,pt(e,t,n,a),t.child}var jc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Uc(e){return{baseLanes:e,cachePool:qd()}}function Hc(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Gt),e}function tp(e,t,n){var a=t.pendingProps,o=!1,c=(t.flags&128)!==0,d;if((d=c)||(d=e!==null&&e.memoizedState===null?!1:(We.current&2)!==0),d&&(o=!0,t.flags&=-129),d=(t.flags&32)!==0,t.flags&=-33,e===null){if(ze){if(o?da(t):ma(),(e=Xe)?(e=ch(e,Wt),e=e!==null&&e.data!==\"&\"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:oa!==null?{id:bn,overflow:xn}:null,retryLane:536870912,hydrationErrors:null},n=jd(e),n.return=t,t.child=n,dt=t,Xe=null)):e=null,e===null)throw ra(t);return yu(e)?t.lanes=32:t.lanes=536870912,null}var x=a.children;return a=a.fallback,o?(ma(),o=t.mode,x=lr({mode:\"hidden\",children:x},o),a=Qa(a,o,n,null),x.return=t,a.return=t,x.sibling=a,t.child=x,a=t.child,a.memoizedState=Uc(n),a.childLanes=Hc(e,d,n),t.memoizedState=jc,Ko(null,a)):(da(t),Bc(t,x))}var w=e.memoizedState;if(w!==null&&(x=w.dehydrated,x!==null)){if(c)t.flags&256?(da(t),t.flags&=-257,t=Lc(e,t,n)):t.memoizedState!==null?(ma(),t.child=e.child,t.flags|=128,t=null):(ma(),x=a.fallback,o=t.mode,a=lr({mode:\"visible\",children:a.children},o),x=Qa(x,o,n,null),x.flags|=2,a.return=t,x.return=t,a.sibling=x,t.child=a,Pa(t,e.child,null,n),a=t.child,a.memoizedState=Uc(n),a.childLanes=Hc(e,d,n),t.memoizedState=jc,t=Ko(null,a));else if(da(t),yu(x)){if(d=x.nextSibling&&x.nextSibling.dataset,d)var j=d.dgst;d=j,a=Error(r(419)),a.stack=\"\",a.digest=d,zo({value:a,source:null,stack:null}),t=Lc(e,t,n)}else if(nt||Dl(e,t,n,!1),d=(n&e.childLanes)!==0,nt||d){if(d=Ge,d!==null&&(a=_t(d,n),a!==0&&a!==w.retryLane))throw w.retryLane=a,Ka(e,a),jt(d,e,a),Dc;vu(x)||mr(),t=Lc(e,t,n)}else vu(x)?(t.flags|=192,t.child=e.child,t=null):(e=w.treeContext,Xe=en(x.nextSibling),dt=t,ze=!0,ia=null,Wt=!1,e!==null&&Bd(t,e),t=Bc(t,a.children),t.flags|=4096);return t}return o?(ma(),x=a.fallback,o=t.mode,w=e.child,j=w.sibling,a=Un(w,{mode:\"hidden\",children:a.children}),a.subtreeFlags=w.subtreeFlags&65011712,j!==null?x=Un(j,x):(x=Qa(x,o,n,null),x.flags|=2),x.return=t,a.return=t,a.sibling=x,t.child=a,Ko(null,a),a=t.child,x=e.child.memoizedState,x===null?x=Uc(n):(o=x.cachePool,o!==null?(w=et._currentValue,o=o.parent!==w?{parent:w,pool:w}:o):o=qd(),x={baseLanes:x.baseLanes|n,cachePool:o}),a.memoizedState=x,a.childLanes=Hc(e,d,n),t.memoizedState=jc,Ko(e.child,a)):(da(t),n=e.child,e=n.sibling,n=Un(n,{mode:\"visible\",children:a.children}),n.return=t,n.sibling=null,e!==null&&(d=t.deletions,d===null?(t.deletions=[e],t.flags|=16):d.push(e)),t.child=n,t.memoizedState=null,n)}function Bc(e,t){return t=lr({mode:\"visible\",children:t},e.mode),t.return=e,e.child=t}function lr(e,t){return e=Lt(22,e,null,t),e.lanes=0,e}function Lc(e,t,n){return Pa(t,e.child,null,n),e=Bc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function np(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Ps(e.return,t,n)}function kc(e,t,n,a,o,c){var d=e.memoizedState;d===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:o,treeForkCount:c}:(d.isBackwards=t,d.rendering=null,d.renderingStartTime=0,d.last=a,d.tail=n,d.tailMode=o,d.treeForkCount=c)}function ap(e,t,n){var a=t.pendingProps,o=a.revealOrder,c=a.tail;a=a.children;var d=We.current,x=(d&2)!==0;if(x?(d=d&1|2,t.flags|=128):d&=1,Y(We,d),pt(e,t,a,n),a=ze?Do:0,!x&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&np(e,n,t);else if(e.tag===19)np(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(o){case\"forwards\":for(n=t.child,o=null;n!==null;)e=n.alternate,e!==null&&Qi(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),kc(t,!1,o,n,c,a);break;case\"backwards\":case\"unstable_legacy-backwards\":for(n=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&Qi(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}kc(t,!0,n,null,c,a);break;case\"together\":kc(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function Yn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),ga|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(Dl(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,n=Un(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Un(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Vc(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Li(e)))}function mb(e,t,n){switch(t.tag){case 3:te(t,t.stateNode.containerInfo),sa(t,et,e.memoizedState.cache),Za();break;case 27:case 5:Ee(t);break;case 4:te(t,t.stateNode.containerInfo);break;case 10:sa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,fc(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(da(t),t.flags|=128,null):(n&t.child.childLanes)!==0?tp(e,t,n):(da(t),e=Yn(e,t,n),e!==null?e.sibling:null);da(t);break;case 19:var o=(e.flags&128)!==0;if(a=(n&t.childLanes)!==0,a||(Dl(e,t,n,!1),a=(n&t.childLanes)!==0),o){if(a)return ap(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),Y(We,We.current),a)break;return null;case 22:return t.lanes=0,$m(e,t,n,t.pendingProps);case 24:sa(t,et,e.memoizedState.cache)}return Yn(e,t,n)}function lp(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)nt=!0;else{if(!Vc(e,n)&&(t.flags&128)===0)return nt=!1,mb(e,t,n);nt=(e.flags&131072)!==0}else nt=!1,ze&&(t.flags&1048576)!==0&&Hd(t,Do,t.index);switch(t.lanes=0,t.tag){case 16:e:{var a=t.pendingProps;if(e=Fa(t.elementType),t.type=e,typeof e==\"function\")Ks(e)?(a=tl(e,a),t.tag=1,t=Pm(null,t,e,a,n)):(t.tag=0,t=zc(null,t,e,a,n));else{if(e!=null){var o=e.$$typeof;if(o===Q){t.tag=11,t=Qm(null,t,e,a,n);break e}else if(o===X){t.tag=14,t=Zm(null,t,e,a,n);break e}}throw t=me(e)||e,Error(r(306,t,\"\"))}}return t;case 0:return zc(e,t,t.type,t.pendingProps,n);case 1:return a=t.type,o=tl(a,t.pendingProps),Pm(e,t,a,o,n);case 3:e:{if(te(t,t.stateNode.containerInfo),e===null)throw Error(r(387));a=t.pendingProps;var c=t.memoizedState;o=c.element,ic(e,t),Vo(t,a,null,n);var d=t.memoizedState;if(a=d.cache,sa(t,et,a),a!==c.cache&&ec(t,[et],n,!0),ko(),a=d.element,c.isDehydrated)if(c={element:a,isDehydrated:!1,cache:d.cache},t.updateQueue.baseState=c,t.memoizedState=c,t.flags&256){t=ep(e,t,a,n);break e}else if(a!==o){o=$t(Error(r(424)),t),zo(o),t=ep(e,t,a,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===\"HTML\"?e.ownerDocument.body:e}for(Xe=en(e.firstChild),dt=t,ze=!0,ia=null,Wt=!0,n=$d(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Za(),a===o){t=Yn(e,t,n);break e}pt(e,t,a,n)}t=t.child}return t;case 26:return ar(e,t),e===null?(n=hh(t.type,null,t.pendingProps,null))?t.memoizedState=n:ze||(n=t.type,e=t.pendingProps,a=xr(ie.current).createElement(n),a[ft]=t,a[Nt]=e,ht(a,n,e),st(a),t.stateNode=a):t.memoizedState=hh(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Ee(t),e===null&&ze&&(a=t.stateNode=dh(t.type,t.pendingProps,ie.current),dt=t,Wt=!0,o=Xe,Sa(t.type)?(bu=o,Xe=en(a.firstChild)):Xe=o),pt(e,t,t.pendingProps.children,n),ar(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&ze&&((o=a=Xe)&&(a=qb(a,t.type,t.pendingProps,Wt),a!==null?(t.stateNode=a,dt=t,Xe=en(a.firstChild),Wt=!1,o=!0):o=!1),o||ra(t)),Ee(t),o=t.type,c=t.pendingProps,d=e!==null?e.memoizedProps:null,a=c.children,pu(o,c)?a=null:d!==null&&pu(o,d)&&(t.flags|=32),t.memoizedState!==null&&(o=mc(e,t,lb,null,null,n),ii._currentValue=o),ar(e,t),pt(e,t,a,n),t.child;case 6:return e===null&&ze&&((e=n=Xe)&&(n=Xb(n,t.pendingProps,Wt),n!==null?(t.stateNode=n,dt=t,Xe=null,e=!0):e=!1),e||ra(t)),null;case 13:return tp(e,t,n);case 4:return te(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Pa(t,null,a,n):pt(e,t,a,n),t.child;case 11:return Qm(e,t,t.type,t.pendingProps,n);case 7:return pt(e,t,t.pendingProps,n),t.child;case 8:return pt(e,t,t.pendingProps.children,n),t.child;case 12:return pt(e,t,t.pendingProps.children,n),t.child;case 10:return a=t.pendingProps,sa(t,t.type,a.value),pt(e,t,a.children,n),t.child;case 9:return o=t.type._context,a=t.pendingProps.children,$a(t),o=mt(o),a=a(o),t.flags|=1,pt(e,t,a,n),t.child;case 14:return Zm(e,t,t.type,t.pendingProps,n);case 15:return Jm(e,t,t.type,t.pendingProps,n);case 19:return ap(e,t,n);case 31:return db(e,t,n);case 22:return $m(e,t,n,t.pendingProps);case 24:return $a(t),a=mt(et),e===null?(o=ac(),o===null&&(o=Ge,c=tc(),o.pooledCache=c,c.refCount++,c!==null&&(o.pooledCacheLanes|=n),o=c),t.memoizedState={parent:a,cache:o},oc(t),sa(t,et,o)):((e.lanes&n)!==0&&(ic(e,t),Vo(t,null,null,n),ko()),o=e.memoizedState,c=t.memoizedState,o.parent!==a?(o={parent:a,cache:a},t.memoizedState=o,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=o),sa(t,et,a)):(a=c.cache,sa(t,et,a),a!==o.cache&&ec(t,[et],n,!0))),pt(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(r(156,t.tag))}function Gn(e){e.flags|=4}function Yc(e,t,n,a,o){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(o&335544128)===o)if(e.stateNode.complete)e.flags|=8192;else if(Mp())e.flags|=8192;else throw Wa=Gi,lc}else e.flags&=-16777217}function op(e,t){if(t.type!==\"stylesheet\"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!xh(t))if(Mp())e.flags|=8192;else throw Wa=Gi,lc}function or(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?bt():536870912,e.lanes|=t,Xl|=t)}function Qo(e,t){if(!ze)switch(e.tailMode){case\"hidden\":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case\"collapsed\":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function Ke(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,a|=o.subtreeFlags&65011712,a|=o.flags&65011712,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,a|=o.subtreeFlags,a|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function pb(e,t,n){var a=t.pendingProps;switch($s(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ke(t),null;case 1:return Ke(t),null;case 3:return n=t.stateNode,a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),Ln(et),ge(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Ml(t)?Gn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Fs())),Ke(t),null;case 26:var o=t.type,c=t.memoizedState;return e===null?(Gn(t),c!==null?(Ke(t),op(t,c)):(Ke(t),Yc(t,o,null,a,n))):c?c!==e.memoizedState?(Gn(t),Ke(t),op(t,c)):(Ke(t),t.flags&=-16777217):(e=e.memoizedProps,e!==a&&Gn(t),Ke(t),Yc(t,o,e,a,n)),null;case 27:if(Ce(t),n=ie.current,o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Gn(t);else{if(!a){if(t.stateNode===null)throw Error(r(166));return Ke(t),null}e=I.current,Ml(t)?Ld(t):(e=dh(o,a,n),t.stateNode=e,Gn(t))}return Ke(t),null;case 5:if(Ce(t),o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Gn(t);else{if(!a){if(t.stateNode===null)throw Error(r(166));return Ke(t),null}if(c=I.current,Ml(t))Ld(t);else{var d=xr(ie.current);switch(c){case 1:c=d.createElementNS(\"http://www.w3.org/2000/svg\",o);break;case 2:c=d.createElementNS(\"http://www.w3.org/1998/Math/MathML\",o);break;default:switch(o){case\"svg\":c=d.createElementNS(\"http://www.w3.org/2000/svg\",o);break;case\"math\":c=d.createElementNS(\"http://www.w3.org/1998/Math/MathML\",o);break;case\"script\":c=d.createElement(\"div\"),c.innerHTML=\"<script><\\/script>\",c=c.removeChild(c.firstChild);break;case\"select\":c=typeof a.is==\"string\"?d.createElement(\"select\",{is:a.is}):d.createElement(\"select\"),a.multiple?c.multiple=!0:a.size&&(c.size=a.size);break;default:c=typeof a.is==\"string\"?d.createElement(o,{is:a.is}):d.createElement(o)}}c[ft]=t,c[Nt]=a;e:for(d=t.child;d!==null;){if(d.tag===5||d.tag===6)c.appendChild(d.stateNode);else if(d.tag!==4&&d.tag!==27&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===t)break e;for(;d.sibling===null;){if(d.return===null||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}t.stateNode=c;e:switch(ht(c,o,a),o){case\"button\":case\"input\":case\"select\":case\"textarea\":a=!!a.autoFocus;break e;case\"img\":a=!0;break e;default:a=!1}a&&Gn(t)}}return Ke(t),Yc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&Gn(t);else{if(typeof a!=\"string\"&&t.stateNode===null)throw Error(r(166));if(e=ie.current,Ml(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,o=dt,o!==null)switch(o.tag){case 27:case 5:a=o.memoizedProps}e[ft]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||th(e.nodeValue,n)),e||ra(t,!0)}else e=xr(e).createTextNode(a),e[ft]=t,t.stateNode=e}return Ke(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=Ml(t),n!==null){if(e===null){if(!a)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[ft]=t}else Za(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ke(t),e=!1}else n=Fs(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Vt(t),t):(Vt(t),null);if((t.flags&128)!==0)throw Error(r(558))}return Ke(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(o=Ml(t),a!==null&&a.dehydrated!==null){if(e===null){if(!o)throw Error(r(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(r(317));o[ft]=t}else Za(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ke(t),o=!1}else o=Fs(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o)return t.flags&256?(Vt(t),t):(Vt(t),null)}return Vt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,o=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(o=a.alternate.memoizedState.cachePool.pool),c=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(c=a.memoizedState.cachePool.pool),c!==o&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),or(t,t.updateQueue),Ke(t),null);case 4:return ge(),e===null&&cu(t.stateNode.containerInfo),Ke(t),null;case 10:return Ln(t.type),Ke(t),null;case 19:if(G(We),a=t.memoizedState,a===null)return Ke(t),null;if(o=(t.flags&128)!==0,c=a.rendering,c===null)if(o)Qo(a,!1);else{if(Fe!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(c=Qi(e),c!==null){for(t.flags|=128,Qo(a,!1),e=c.updateQueue,t.updateQueue=e,or(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)zd(n,e),n=n.sibling;return Y(We,We.current&1|2),ze&&Hn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Et()>ur&&(t.flags|=128,o=!0,Qo(a,!1),t.lanes=4194304)}else{if(!o)if(e=Qi(c),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,or(t,e),Qo(a,!0),a.tail===null&&a.tailMode===\"hidden\"&&!c.alternate&&!ze)return Ke(t),null}else 2*Et()-a.renderingStartTime>ur&&n!==536870912&&(t.flags|=128,o=!0,Qo(a,!1),t.lanes=4194304);a.isBackwards?(c.sibling=t.child,t.child=c):(e=a.last,e!==null?e.sibling=c:t.child=c,a.last=c)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Et(),e.sibling=null,n=We.current,Y(We,o?n&1|2:n&1),ze&&Hn(t,a.treeForkCount),e):(Ke(t),null);case 22:case 23:return Vt(t),uc(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(Ke(t),t.subtreeFlags&6&&(t.flags|=8192)):Ke(t),n=t.updateQueue,n!==null&&or(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&G(Ia),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Ln(et),Ke(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function hb(e,t){switch($s(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ln(et),ge(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Ce(t),null;case 31:if(t.memoizedState!==null){if(Vt(t),t.alternate===null)throw Error(r(340));Za()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Vt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));Za()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return G(We),null;case 4:return ge(),null;case 10:return Ln(t.type),null;case 22:case 23:return Vt(t),uc(),e!==null&&G(Ia),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ln(et),null;case 25:return null;default:return null}}function ip(e,t){switch($s(t),t.tag){case 3:Ln(et),ge();break;case 26:case 27:case 5:Ce(t);break;case 4:ge();break;case 31:t.memoizedState!==null&&Vt(t);break;case 13:Vt(t);break;case 19:G(We);break;case 10:Ln(t.type);break;case 22:case 23:Vt(t),uc(),e!==null&&G(Ia);break;case 24:Ln(et)}}function Zo(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var o=a.next;n=o;do{if((n.tag&e)===e){a=void 0;var c=n.create,d=n.inst;a=c(),d.destroy=a}n=n.next}while(n!==o)}}catch(x){Le(t,t.return,x)}}function pa(e,t,n){try{var a=t.updateQueue,o=a!==null?a.lastEffect:null;if(o!==null){var c=o.next;a=c;do{if((a.tag&e)===e){var d=a.inst,x=d.destroy;if(x!==void 0){d.destroy=void 0,o=t;var w=n,j=x;try{j()}catch(q){Le(o,w,q)}}}a=a.next}while(a!==c)}}catch(q){Le(t,t.return,q)}}function rp(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Fd(t,n)}catch(a){Le(e,e.return,a)}}}function sp(e,t,n){n.props=tl(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){Le(e,t,a)}}function Jo(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n==\"function\"?e.refCleanup=n(a):n.current=a}}catch(o){Le(e,t,o)}}function Sn(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a==\"function\")try{a()}catch(o){Le(e,t,o)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==\"function\")try{n(null)}catch(o){Le(e,t,o)}else n.current=null}function cp(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case\"button\":case\"input\":case\"select\":case\"textarea\":n.autoFocus&&a.focus();break e;case\"img\":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(o){Le(e,e.return,o)}}function Gc(e,t,n){try{var a=e.stateNode;Bb(a,e.type,n,t),a[Nt]=t}catch(o){Le(e,e.return,o)}}function up(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Sa(e.type)||e.tag===4}function qc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||up(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Sa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Xc(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===\"HTML\"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===\"HTML\"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=zn));else if(a!==4&&(a===27&&Sa(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Xc(e,t,n),e=e.sibling;e!==null;)Xc(e,t,n),e=e.sibling}function ir(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&Sa(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ir(e,t,n),e=e.sibling;e!==null;)ir(e,t,n),e=e.sibling}function fp(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,o=t.attributes;o.length;)t.removeAttributeNode(o[0]);ht(t,a,n),t[ft]=e,t[Nt]=n}catch(c){Le(e,e.return,c)}}var qn=!1,at=!1,Kc=!1,dp=typeof WeakSet==\"function\"?WeakSet:Set,ct=null;function gb(e,t){if(e=e.containerInfo,du=_r,e=Td(e),Ls(e)){if(\"selectionStart\"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var o=a.anchorOffset,c=a.focusNode;a=a.focusOffset;try{n.nodeType,c.nodeType}catch{n=null;break e}var d=0,x=-1,w=-1,j=0,q=0,J=e,H=null;t:for(;;){for(var k;J!==n||o!==0&&J.nodeType!==3||(x=d+o),J!==c||a!==0&&J.nodeType!==3||(w=d+a),J.nodeType===3&&(d+=J.nodeValue.length),(k=J.firstChild)!==null;)H=J,J=k;for(;;){if(J===e)break t;if(H===n&&++j===o&&(x=d),H===c&&++q===a&&(w=d),(k=J.nextSibling)!==null)break;J=H,H=J.parentNode}J=k}n=x===-1||w===-1?null:{start:x,end:w}}else n=null}n=n||{start:0,end:0}}else n=null;for(mu={focusedElem:e,selectionRange:n},_r=!1,ct=t;ct!==null;)if(t=ct,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ct=e;else for(;ct!==null;){switch(t=ct,c=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)o=e[n],o.ref.impl=o.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&c!==null){e=void 0,n=t,o=c.memoizedProps,c=c.memoizedState,a=n.stateNode;try{var ae=tl(n.type,o);e=a.getSnapshotBeforeUpdate(ae,c),a.__reactInternalSnapshotBeforeUpdate=e}catch(pe){Le(n,n.return,pe)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)gu(e);else if(n===1)switch(e.nodeName){case\"HEAD\":case\"HTML\":case\"BODY\":gu(e);break;default:e.textContent=\"\"}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(r(163))}if(e=t.sibling,e!==null){e.return=t.return,ct=e;break}ct=t.return}}function mp(e,t,n){var a=n.flags;switch(n.tag){case 0:case 11:case 15:Kn(e,n),a&4&&Zo(5,n);break;case 1:if(Kn(e,n),a&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(d){Le(n,n.return,d)}else{var o=tl(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(o,t,e.__reactInternalSnapshotBeforeUpdate)}catch(d){Le(n,n.return,d)}}a&64&&rp(n),a&512&&Jo(n,n.return);break;case 3:if(Kn(e,n),a&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{Fd(e,t)}catch(d){Le(n,n.return,d)}}break;case 27:t===null&&a&4&&fp(n);case 26:case 5:Kn(e,n),t===null&&a&4&&cp(n),a&512&&Jo(n,n.return);break;case 12:Kn(e,n);break;case 31:Kn(e,n),a&4&&gp(e,n);break;case 13:Kn(e,n),a&4&&vp(e,n),a&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Cb.bind(null,n),Kb(e,n))));break;case 22:if(a=n.memoizedState!==null||qn,!a){t=t!==null&&t.memoizedState!==null||at,o=qn;var c=at;qn=a,(at=t)&&!c?Qn(e,n,(n.subtreeFlags&8772)!==0):Kn(e,n),qn=o,at=c}break;case 30:break;default:Kn(e,n)}}function pp(e){var t=e.alternate;t!==null&&(e.alternate=null,pp(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Ss(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ze=null,Ot=!1;function Xn(e,t,n){for(n=n.child;n!==null;)hp(e,t,n),n=n.sibling}function hp(e,t,n){if(wt&&typeof wt.onCommitFiberUnmount==\"function\")try{wt.onCommitFiberUnmount(La,n)}catch{}switch(n.tag){case 26:at||Sn(n,t),Xn(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:at||Sn(n,t);var a=Ze,o=Ot;Sa(n.type)&&(Ze=n.stateNode,Ot=!1),Xn(e,t,n),ai(n.stateNode),Ze=a,Ot=o;break;case 5:at||Sn(n,t);case 6:if(a=Ze,o=Ot,Ze=null,Xn(e,t,n),Ze=a,Ot=o,Ze!==null)if(Ot)try{(Ze.nodeType===9?Ze.body:Ze.nodeName===\"HTML\"?Ze.ownerDocument.body:Ze).removeChild(n.stateNode)}catch(c){Le(n,t,c)}else try{Ze.removeChild(n.stateNode)}catch(c){Le(n,t,c)}break;case 18:Ze!==null&&(Ot?(e=Ze,rh(e.nodeType===9?e.body:e.nodeName===\"HTML\"?e.ownerDocument.body:e,n.stateNode),Wl(e)):rh(Ze,n.stateNode));break;case 4:a=Ze,o=Ot,Ze=n.stateNode.containerInfo,Ot=!0,Xn(e,t,n),Ze=a,Ot=o;break;case 0:case 11:case 14:case 15:pa(2,n,t),at||pa(4,n,t),Xn(e,t,n);break;case 1:at||(Sn(n,t),a=n.stateNode,typeof a.componentWillUnmount==\"function\"&&sp(n,t,a)),Xn(e,t,n);break;case 21:Xn(e,t,n);break;case 22:at=(a=at)||n.memoizedState!==null,Xn(e,t,n),at=a;break;default:Xn(e,t,n)}}function gp(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Wl(e)}catch(n){Le(t,t.return,n)}}}function vp(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Wl(e)}catch(n){Le(t,t.return,n)}}function vb(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new dp),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new dp),t;default:throw Error(r(435,e.tag))}}function rr(e,t){var n=vb(e);t.forEach(function(a){if(!n.has(a)){n.add(a);var o=Ab.bind(null,e,a);a.then(o,o)}})}function Mt(e,t){var n=t.deletions;if(n!==null)for(var a=0;a<n.length;a++){var o=n[a],c=e,d=t,x=d;e:for(;x!==null;){switch(x.tag){case 27:if(Sa(x.type)){Ze=x.stateNode,Ot=!1;break e}break;case 5:Ze=x.stateNode,Ot=!1;break e;case 3:case 4:Ze=x.stateNode.containerInfo,Ot=!0;break e}x=x.return}if(Ze===null)throw Error(r(160));hp(c,d,o),Ze=null,Ot=!1,c=o.alternate,c!==null&&(c.return=null),o.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)yp(t,e),t=t.sibling}var sn=null;function yp(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Mt(t,e),Dt(e),a&4&&(pa(3,e,e.return),Zo(3,e),pa(5,e,e.return));break;case 1:Mt(t,e),Dt(e),a&512&&(at||n===null||Sn(n,n.return)),a&64&&qn&&(e=e.updateQueue,e!==null&&(a=e.callbacks,a!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?a:n.concat(a))));break;case 26:var o=sn;if(Mt(t,e),Dt(e),a&512&&(at||n===null||Sn(n,n.return)),a&4){var c=n!==null?n.memoizedState:null;if(a=e.memoizedState,n===null)if(a===null)if(e.stateNode===null){e:{a=e.type,n=e.memoizedProps,o=o.ownerDocument||o;t:switch(a){case\"title\":c=o.getElementsByTagName(\"title\")[0],(!c||c[So]||c[ft]||c.namespaceURI===\"http://www.w3.org/2000/svg\"||c.hasAttribute(\"itemprop\"))&&(c=o.createElement(a),o.head.insertBefore(c,o.querySelector(\"head > title\"))),ht(c,a,n),c[ft]=e,st(c),a=c;break e;case\"link\":var d=yh(\"link\",\"href\",o).get(a+(n.href||\"\"));if(d){for(var x=0;x<d.length;x++)if(c=d[x],c.getAttribute(\"href\")===(n.href==null||n.href===\"\"?null:n.href)&&c.getAttribute(\"rel\")===(n.rel==null?null:n.rel)&&c.getAttribute(\"title\")===(n.title==null?null:n.title)&&c.getAttribute(\"crossorigin\")===(n.crossOrigin==null?null:n.crossOrigin)){d.splice(x,1);break t}}c=o.createElement(a),ht(c,a,n),o.head.appendChild(c);break;case\"meta\":if(d=yh(\"meta\",\"content\",o).get(a+(n.content||\"\"))){for(x=0;x<d.length;x++)if(c=d[x],c.getAttribute(\"content\")===(n.content==null?null:\"\"+n.content)&&c.getAttribute(\"name\")===(n.name==null?null:n.name)&&c.getAttribute(\"property\")===(n.property==null?null:n.property)&&c.getAttribute(\"http-equiv\")===(n.httpEquiv==null?null:n.httpEquiv)&&c.getAttribute(\"charset\")===(n.charSet==null?null:n.charSet)){d.splice(x,1);break t}}c=o.createElement(a),ht(c,a,n),o.head.appendChild(c);break;default:throw Error(r(468,a))}c[ft]=e,st(c),a=c}e.stateNode=a}else bh(o,e.type,e.stateNode);else e.stateNode=vh(o,a,e.memoizedProps);else c!==a?(c===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):c.count--,a===null?bh(o,e.type,e.stateNode):vh(o,a,e.memoizedProps)):a===null&&e.stateNode!==null&&Gc(e,e.memoizedProps,n.memoizedProps)}break;case 27:Mt(t,e),Dt(e),a&512&&(at||n===null||Sn(n,n.return)),n!==null&&a&4&&Gc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(Mt(t,e),Dt(e),a&512&&(at||n===null||Sn(n,n.return)),e.flags&32){o=e.stateNode;try{Sl(o,\"\")}catch(ae){Le(e,e.return,ae)}}a&4&&e.stateNode!=null&&(o=e.memoizedProps,Gc(e,o,n!==null?n.memoizedProps:o)),a&1024&&(Kc=!0);break;case 6:if(Mt(t,e),Dt(e),a&4){if(e.stateNode===null)throw Error(r(162));a=e.memoizedProps,n=e.stateNode;try{n.nodeValue=a}catch(ae){Le(e,e.return,ae)}}break;case 3:if(wr=null,o=sn,sn=Sr(t.containerInfo),Mt(t,e),sn=o,Dt(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{Wl(t.containerInfo)}catch(ae){Le(e,e.return,ae)}Kc&&(Kc=!1,bp(e));break;case 4:a=sn,sn=Sr(e.stateNode.containerInfo),Mt(t,e),Dt(e),sn=a;break;case 12:Mt(t,e),Dt(e);break;case 31:Mt(t,e),Dt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,rr(e,a)));break;case 13:Mt(t,e),Dt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(cr=Et()),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,rr(e,a)));break;case 22:o=e.memoizedState!==null;var w=n!==null&&n.memoizedState!==null,j=qn,q=at;if(qn=j||o,at=q||w,Mt(t,e),at=q,qn=j,Dt(e),a&8192)e:for(t=e.stateNode,t._visibility=o?t._visibility&-2:t._visibility|1,o&&(n===null||w||qn||at||nl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){w=n=t;try{if(c=w.stateNode,o)d=c.style,typeof d.setProperty==\"function\"?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{x=w.stateNode;var J=w.memoizedProps.style,H=J!=null&&J.hasOwnProperty(\"display\")?J.display:null;x.style.display=H==null||typeof H==\"boolean\"?\"\":(\"\"+H).trim()}}catch(ae){Le(w,w.return,ae)}}}else if(t.tag===6){if(n===null){w=t;try{w.stateNode.nodeValue=o?\"\":w.memoizedProps}catch(ae){Le(w,w.return,ae)}}}else if(t.tag===18){if(n===null){w=t;try{var k=w.stateNode;o?sh(k,!0):sh(w.stateNode,!1)}catch(ae){Le(w,w.return,ae)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=e.updateQueue,a!==null&&(n=a.retryQueue,n!==null&&(a.retryQueue=null,rr(e,n))));break;case 19:Mt(t,e),Dt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,rr(e,a)));break;case 30:break;case 21:break;default:Mt(t,e),Dt(e)}}function Dt(e){var t=e.flags;if(t&2){try{for(var n,a=e.return;a!==null;){if(up(a)){n=a;break}a=a.return}if(n==null)throw Error(r(160));switch(n.tag){case 27:var o=n.stateNode,c=qc(e);ir(e,c,o);break;case 5:var d=n.stateNode;n.flags&32&&(Sl(d,\"\"),n.flags&=-33);var x=qc(e);ir(e,x,d);break;case 3:case 4:var w=n.stateNode.containerInfo,j=qc(e);Xc(e,j,w);break;default:throw Error(r(161))}}catch(q){Le(e,e.return,q)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function bp(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;bp(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Kn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)mp(e,t.alternate,t),t=t.sibling}function nl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:pa(4,t,t.return),nl(t);break;case 1:Sn(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==\"function\"&&sp(t,t.return,n),nl(t);break;case 27:ai(t.stateNode);case 26:case 5:Sn(t,t.return),nl(t);break;case 22:t.memoizedState===null&&nl(t);break;case 30:nl(t);break;default:nl(t)}e=e.sibling}}function Qn(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,o=e,c=t,d=c.flags;switch(c.tag){case 0:case 11:case 15:Qn(o,c,n),Zo(4,c);break;case 1:if(Qn(o,c,n),a=c,o=a.stateNode,typeof o.componentDidMount==\"function\")try{o.componentDidMount()}catch(j){Le(a,a.return,j)}if(a=c,o=a.updateQueue,o!==null){var x=a.stateNode;try{var w=o.shared.hiddenCallbacks;if(w!==null)for(o.shared.hiddenCallbacks=null,o=0;o<w.length;o++)Id(w[o],x)}catch(j){Le(a,a.return,j)}}n&&d&64&&rp(c),Jo(c,c.return);break;case 27:fp(c);case 26:case 5:Qn(o,c,n),n&&a===null&&d&4&&cp(c),Jo(c,c.return);break;case 12:Qn(o,c,n);break;case 31:Qn(o,c,n),n&&d&4&&gp(o,c);break;case 13:Qn(o,c,n),n&&d&4&&vp(o,c);break;case 22:c.memoizedState===null&&Qn(o,c,n),Jo(c,c.return);break;case 30:break;default:Qn(o,c,n)}t=t.sibling}}function Qc(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&jo(n))}function Zc(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&jo(e))}function cn(e,t,n,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)xp(e,t,n,a),t=t.sibling}function xp(e,t,n,a){var o=t.flags;switch(t.tag){case 0:case 11:case 15:cn(e,t,n,a),o&2048&&Zo(9,t);break;case 1:cn(e,t,n,a);break;case 3:cn(e,t,n,a),o&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&jo(e)));break;case 12:if(o&2048){cn(e,t,n,a),e=t.stateNode;try{var c=t.memoizedProps,d=c.id,x=c.onPostCommit;typeof x==\"function\"&&x(d,t.alternate===null?\"mount\":\"update\",e.passiveEffectDuration,-0)}catch(w){Le(t,t.return,w)}}else cn(e,t,n,a);break;case 31:cn(e,t,n,a);break;case 13:cn(e,t,n,a);break;case 23:break;case 22:c=t.stateNode,d=t.alternate,t.memoizedState!==null?c._visibility&2?cn(e,t,n,a):$o(e,t):c._visibility&2?cn(e,t,n,a):(c._visibility|=2,Yl(e,t,n,a,(t.subtreeFlags&10256)!==0||!1)),o&2048&&Qc(d,t);break;case 24:cn(e,t,n,a),o&2048&&Zc(t.alternate,t);break;default:cn(e,t,n,a)}}function Yl(e,t,n,a,o){for(o=o&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var c=e,d=t,x=n,w=a,j=d.flags;switch(d.tag){case 0:case 11:case 15:Yl(c,d,x,w,o),Zo(8,d);break;case 23:break;case 22:var q=d.stateNode;d.memoizedState!==null?q._visibility&2?Yl(c,d,x,w,o):$o(c,d):(q._visibility|=2,Yl(c,d,x,w,o)),o&&j&2048&&Qc(d.alternate,d);break;case 24:Yl(c,d,x,w,o),o&&j&2048&&Zc(d.alternate,d);break;default:Yl(c,d,x,w,o)}t=t.sibling}}function $o(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,a=t,o=a.flags;switch(a.tag){case 22:$o(n,a),o&2048&&Qc(a.alternate,a);break;case 24:$o(n,a),o&2048&&Zc(a.alternate,a);break;default:$o(n,a)}t=t.sibling}}var Io=8192;function Gl(e,t,n){if(e.subtreeFlags&Io)for(e=e.child;e!==null;)Sp(e,t,n),e=e.sibling}function Sp(e,t,n){switch(e.tag){case 26:Gl(e,t,n),e.flags&Io&&e.memoizedState!==null&&a1(n,sn,e.memoizedState,e.memoizedProps);break;case 5:Gl(e,t,n);break;case 3:case 4:var a=sn;sn=Sr(e.stateNode.containerInfo),Gl(e,t,n),sn=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=Io,Io=16777216,Gl(e,t,n),Io=a):Gl(e,t,n));break;default:Gl(e,t,n)}}function Ep(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Fo(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];ct=a,Tp(a,e)}Ep(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)wp(e),e=e.sibling}function wp(e){switch(e.tag){case 0:case 11:case 15:Fo(e),e.flags&2048&&pa(9,e,e.return);break;case 3:Fo(e);break;case 12:Fo(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,sr(e)):Fo(e);break;default:Fo(e)}}function sr(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];ct=a,Tp(a,e)}Ep(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:pa(8,t,t.return),sr(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,sr(t));break;default:sr(t)}e=e.sibling}}function Tp(e,t){for(;ct!==null;){var n=ct;switch(n.tag){case 0:case 11:case 15:pa(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var a=n.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:jo(n.memoizedState.cache)}if(a=n.child,a!==null)a.return=n,ct=a;else e:for(n=e;ct!==null;){a=ct;var o=a.sibling,c=a.return;if(pp(a),a===n){ct=null;break e}if(o!==null){o.return=c,ct=o;break e}ct=c}}}var yb={getCacheForType:function(e){var t=mt(et),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return mt(et).controller.signal}},bb=typeof WeakMap==\"function\"?WeakMap:Map,He=0,Ge=null,Ae=null,Oe=0,Be=0,Yt=null,ha=!1,ql=!1,Jc=!1,Zn=0,Fe=0,ga=0,al=0,$c=0,Gt=0,Xl=0,Wo=null,zt=null,Ic=!1,cr=0,Cp=0,ur=1/0,fr=null,va=null,ot=0,ya=null,Kl=null,Jn=0,Fc=0,Wc=null,Ap=null,Po=0,Pc=null;function qt(){return(He&2)!==0&&Oe!==0?Oe&-Oe:A.T!==null?ou():bs()}function _p(){if(Gt===0)if((Oe&536870912)===0||ze){var e=ml;ml<<=1,(ml&3932160)===0&&(ml=262144),Gt=e}else Gt=536870912;return e=kt.current,e!==null&&(e.flags|=32),Gt}function jt(e,t,n){(e===Ge&&(Be===2||Be===9)||e.cancelPendingCommit!==null)&&(Ql(e,0),ba(e,Oe,Gt,!1)),$e(e,n),((He&2)===0||e!==Ge)&&(e===Ge&&((He&2)===0&&(al|=n),Fe===4&&ba(e,Oe,Gt,!1)),En(e))}function Np(e,t,n){if((He&6)!==0)throw Error(r(327));var a=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Qe(e,t),o=a?Eb(e,t):tu(e,t,!0),c=a;do{if(o===0){ql&&!a&&ba(e,t,0,!1);break}else{if(n=e.current.alternate,c&&!xb(n)){o=tu(e,t,!1),c=!1;continue}if(o===2){if(c=t,e.errorRecoveryDisabledLanes&c)var d=0;else d=e.pendingLanes&-536870913,d=d!==0?d:d&536870912?536870912:0;if(d!==0){t=d;e:{var x=e;o=Wo;var w=x.current.memoizedState.isDehydrated;if(w&&(Ql(x,d).flags|=256),d=tu(x,d,!1),d!==2){if(Jc&&!w){x.errorRecoveryDisabledLanes|=c,al|=c,o=4;break e}c=zt,zt=o,c!==null&&(zt===null?zt=c:zt.push.apply(zt,c))}o=d}if(c=!1,o!==2)continue}}if(o===1){Ql(e,0),ba(e,t,0,!0);break}e:{switch(a=e,c=o,c){case 0:case 1:throw Error(r(345));case 4:if((t&4194048)!==t)break;case 6:ba(a,t,Gt,!ha);break e;case 2:zt=null;break;case 3:case 5:break;default:throw Error(r(329))}if((t&62914560)===t&&(o=cr+300-Et(),10<o)){if(ba(a,t,Gt,!ha),be(a,0,!0)!==0)break e;Jn=t,a.timeoutHandle=oh(Rp.bind(null,a,n,zt,fr,Ic,t,Gt,al,Xl,ha,c,\"Throttled\",-0,0),o);break e}Rp(a,n,zt,fr,Ic,t,Gt,al,Xl,ha,c,null,-0,0)}}break}while(!0);En(e)}function Rp(e,t,n,a,o,c,d,x,w,j,q,J,H,k){if(e.timeoutHandle=-1,J=t.subtreeFlags,J&8192||(J&16785408)===16785408){J={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:zn},Sp(t,c,J);var ae=(c&62914560)===c?cr-Et():(c&4194048)===c?Cp-Et():0;if(ae=l1(J,ae),ae!==null){Jn=c,e.cancelPendingCommit=ae(Bp.bind(null,e,t,c,n,a,o,d,x,w,q,J,null,H,k)),ba(e,c,d,!j);return}}Bp(e,t,c,n,a,o,d,x,w)}function xb(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var a=0;a<n.length;a++){var o=n[a],c=o.getSnapshot;o=o.value;try{if(!Bt(c(),o))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function ba(e,t,n,a){t&=~$c,t&=~al,e.suspendedLanes|=t,e.pingedLanes&=~t,a&&(e.warmLanes|=t),a=e.expirationTimes;for(var o=t;0<o;){var c=31-yt(o),d=1<<c;a[c]=-1,o&=~d}n!==0&&Va(e,n,t)}function dr(){return(He&6)===0?(ei(0),!1):!0}function eu(){if(Ae!==null){if(Be===0)var e=Ae.return;else e=Ae,Bn=Ja=null,gc(e),Hl=null,Ho=0,e=Ae;for(;e!==null;)ip(e.alternate,e),e=e.return;Ae=null}}function Ql(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,Vb(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),Jn=0,eu(),Ge=e,Ae=n=Un(e.current,null),Oe=t,Be=0,Yt=null,ha=!1,ql=Qe(e,t),Jc=!1,Xl=Gt=$c=al=ga=Fe=0,zt=Wo=null,Ic=!1,(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0<a;){var o=31-yt(a),c=1<<o;t|=e[o],a&=~c}return Zn=t,zi(),n}function Op(e,t){Se=null,A.H=Xo,t===Ul||t===Yi?(t=Qd(),Be=3):t===lc?(t=Qd(),Be=4):Be=t===Dc?8:t!==null&&typeof t==\"object\"&&typeof t.then==\"function\"?6:1,Yt=t,Ae===null&&(Fe=1,tr(e,$t(t,e.current)))}function Mp(){var e=kt.current;return e===null?!0:(Oe&4194048)===Oe?Pt===null:(Oe&62914560)===Oe||(Oe&536870912)!==0?e===Pt:!1}function Dp(){var e=A.H;return A.H=Xo,e===null?Xo:e}function zp(){var e=A.A;return A.A=yb,e}function mr(){Fe=4,ha||(Oe&4194048)!==Oe&&kt.current!==null||(ql=!0),(ga&134217727)===0&&(al&134217727)===0||Ge===null||ba(Ge,Oe,Gt,!1)}function tu(e,t,n){var a=He;He|=2;var o=Dp(),c=zp();(Ge!==e||Oe!==t)&&(fr=null,Ql(e,t)),t=!1;var d=Fe;e:do try{if(Be!==0&&Ae!==null){var x=Ae,w=Yt;switch(Be){case 8:eu(),d=6;break e;case 3:case 2:case 9:case 6:kt.current===null&&(t=!0);var j=Be;if(Be=0,Yt=null,Zl(e,x,w,j),n&&ql){d=0;break e}break;default:j=Be,Be=0,Yt=null,Zl(e,x,w,j)}}Sb(),d=Fe;break}catch(q){Op(e,q)}while(!0);return t&&e.shellSuspendCounter++,Bn=Ja=null,He=a,A.H=o,A.A=c,Ae===null&&(Ge=null,Oe=0,zi()),d}function Sb(){for(;Ae!==null;)jp(Ae)}function Eb(e,t){var n=He;He|=2;var a=Dp(),o=zp();Ge!==e||Oe!==t?(fr=null,ur=Et()+500,Ql(e,t)):ql=Qe(e,t);e:do try{if(Be!==0&&Ae!==null){t=Ae;var c=Yt;t:switch(Be){case 1:Be=0,Yt=null,Zl(e,t,c,1);break;case 2:case 9:if(Xd(c)){Be=0,Yt=null,Up(t);break}t=function(){Be!==2&&Be!==9||Ge!==e||(Be=7),En(e)},c.then(t,t);break e;case 3:Be=7;break e;case 4:Be=5;break e;case 7:Xd(c)?(Be=0,Yt=null,Up(t)):(Be=0,Yt=null,Zl(e,t,c,7));break;case 5:var d=null;switch(Ae.tag){case 26:d=Ae.memoizedState;case 5:case 27:var x=Ae;if(d?xh(d):x.stateNode.complete){Be=0,Yt=null;var w=x.sibling;if(w!==null)Ae=w;else{var j=x.return;j!==null?(Ae=j,pr(j)):Ae=null}break t}}Be=0,Yt=null,Zl(e,t,c,5);break;case 6:Be=0,Yt=null,Zl(e,t,c,6);break;case 8:eu(),Fe=6;break e;default:throw Error(r(462))}}wb();break}catch(q){Op(e,q)}while(!0);return Bn=Ja=null,A.H=a,A.A=o,He=n,Ae!==null?0:(Ge=null,Oe=0,zi(),Fe)}function wb(){for(;Ae!==null&&!St();)jp(Ae)}function jp(e){var t=lp(e.alternate,e,Zn);e.memoizedProps=e.pendingProps,t===null?pr(e):Ae=t}function Up(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Wm(n,t,t.pendingProps,t.type,void 0,Oe);break;case 11:t=Wm(n,t,t.pendingProps,t.type.render,t.ref,Oe);break;case 5:gc(t);default:ip(n,t),t=Ae=zd(t,Zn),t=lp(n,t,Zn)}e.memoizedProps=e.pendingProps,t===null?pr(e):Ae=t}function Zl(e,t,n,a){Bn=Ja=null,gc(t),Hl=null,Ho=0;var o=t.return;try{if(fb(e,o,t,n,Oe)){Fe=1,tr(e,$t(n,e.current)),Ae=null;return}}catch(c){if(o!==null)throw Ae=o,c;Fe=1,tr(e,$t(n,e.current)),Ae=null;return}t.flags&32768?(ze||a===1?e=!0:ql||(Oe&536870912)!==0?e=!1:(ha=e=!0,(a===2||a===9||a===3||a===6)&&(a=kt.current,a!==null&&a.tag===13&&(a.flags|=16384))),Hp(t,e)):pr(t)}function pr(e){var t=e;do{if((t.flags&32768)!==0){Hp(t,ha);return}e=t.return;var n=pb(t.alternate,t,Zn);if(n!==null){Ae=n;return}if(t=t.sibling,t!==null){Ae=t;return}Ae=t=e}while(t!==null);Fe===0&&(Fe=5)}function Hp(e,t){do{var n=hb(e.alternate,e);if(n!==null){n.flags&=32767,Ae=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){Ae=e;return}Ae=e=n}while(e!==null);Fe=6,Ae=null}function Bp(e,t,n,a,o,c,d,x,w){e.cancelPendingCommit=null;do hr();while(ot!==0);if((He&6)!==0)throw Error(r(327));if(t!==null){if(t===e.current)throw Error(r(177));if(c=t.lanes|t.childLanes,c|=qs,Ct(e,n,c,d,x,w),e===Ge&&(Ae=Ge=null,Oe=0),Kl=t,ya=e,Jn=n,Fc=c,Wc=o,Ap=a,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,_b(Ba,function(){return Gp(),null})):(e.callbackNode=null,e.callbackPriority=0),a=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||a){a=A.T,A.T=null,o=V.p,V.p=2,d=He,He|=4;try{gb(e,t,n)}finally{He=d,V.p=o,A.T=a}}ot=1,Lp(),kp(),Vp()}}function Lp(){if(ot===1){ot=0;var e=ya,t=Kl,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=A.T,A.T=null;var a=V.p;V.p=2;var o=He;He|=4;try{yp(t,e);var c=mu,d=Td(e.containerInfo),x=c.focusedElem,w=c.selectionRange;if(d!==x&&x&&x.ownerDocument&&wd(x.ownerDocument.documentElement,x)){if(w!==null&&Ls(x)){var j=w.start,q=w.end;if(q===void 0&&(q=j),\"selectionStart\"in x)x.selectionStart=j,x.selectionEnd=Math.min(q,x.value.length);else{var J=x.ownerDocument||document,H=J&&J.defaultView||window;if(H.getSelection){var k=H.getSelection(),ae=x.textContent.length,pe=Math.min(w.start,ae),Ye=w.end===void 0?pe:Math.min(w.end,ae);!k.extend&&pe>Ye&&(d=Ye,Ye=pe,pe=d);var M=Ed(x,pe),_=Ed(x,Ye);if(M&&_&&(k.rangeCount!==1||k.anchorNode!==M.node||k.anchorOffset!==M.offset||k.focusNode!==_.node||k.focusOffset!==_.offset)){var z=J.createRange();z.setStart(M.node,M.offset),k.removeAllRanges(),pe>Ye?(k.addRange(z),k.extend(_.node,_.offset)):(z.setEnd(_.node,_.offset),k.addRange(z))}}}}for(J=[],k=x;k=k.parentNode;)k.nodeType===1&&J.push({element:k,left:k.scrollLeft,top:k.scrollTop});for(typeof x.focus==\"function\"&&x.focus(),x=0;x<J.length;x++){var Z=J[x];Z.element.scrollLeft=Z.left,Z.element.scrollTop=Z.top}}_r=!!du,mu=du=null}finally{He=o,V.p=a,A.T=n}}e.current=t,ot=2}}function kp(){if(ot===2){ot=0;var e=ya,t=Kl,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=A.T,A.T=null;var a=V.p;V.p=2;var o=He;He|=4;try{mp(e,t.alternate,t)}finally{He=o,V.p=a,A.T=n}}ot=3}}function Vp(){if(ot===4||ot===3){ot=0,ea();var e=ya,t=Kl,n=Jn,a=Ap;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?ot=5:(ot=0,Kl=ya=null,Yp(e,e.pendingLanes));var o=e.pendingLanes;if(o===0&&(va=null),on(n),t=t.stateNode,wt&&typeof wt.onCommitFiberRoot==\"function\")try{wt.onCommitFiberRoot(La,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=A.T,o=V.p,V.p=2,A.T=null;try{for(var c=e.onRecoverableError,d=0;d<a.length;d++){var x=a[d];c(x.value,{componentStack:x.stack})}}finally{A.T=t,V.p=o}}(Jn&3)!==0&&hr(),En(e),o=e.pendingLanes,(n&261930)!==0&&(o&42)!==0?e===Pc?Po++:(Po=0,Pc=e):Po=0,ei(0)}}function Yp(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,jo(t)))}function hr(){return Lp(),kp(),Vp(),Gp()}function Gp(){if(ot!==5)return!1;var e=ya,t=Fc;Fc=0;var n=on(Jn),a=A.T,o=V.p;try{V.p=32>n?32:n,A.T=null,n=Wc,Wc=null;var c=ya,d=Jn;if(ot=0,Kl=ya=null,Jn=0,(He&6)!==0)throw Error(r(331));var x=He;if(He|=4,wp(c.current),xp(c,c.current,d,n),He=x,ei(0,!1),wt&&typeof wt.onPostCommitFiberRoot==\"function\")try{wt.onPostCommitFiberRoot(La,c)}catch{}return!0}finally{V.p=o,A.T=a,Yp(e,t)}}function qp(e,t,n){t=$t(n,t),t=Mc(e.stateNode,t,2),e=fa(e,t,2),e!==null&&($e(e,2),En(e))}function Le(e,t,n){if(e.tag===3)qp(e,e,n);else for(;t!==null;){if(t.tag===3){qp(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError==\"function\"||typeof a.componentDidCatch==\"function\"&&(va===null||!va.has(a))){e=$t(n,e),n=Xm(2),a=fa(t,n,2),a!==null&&(Km(n,a,t,e),$e(a,2),En(a));break}}t=t.return}}function nu(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new bb;var o=new Set;a.set(t,o)}else o=a.get(t),o===void 0&&(o=new Set,a.set(t,o));o.has(n)||(Jc=!0,o.add(n),e=Tb.bind(null,e,t,n),t.then(e,e))}function Tb(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Ge===e&&(Oe&n)===n&&(Fe===4||Fe===3&&(Oe&62914560)===Oe&&300>Et()-cr?(He&2)===0&&Ql(e,0):$c|=n,Xl===Oe&&(Xl=0)),En(e)}function Xp(e,t){t===0&&(t=bt()),e=Ka(e,t),e!==null&&($e(e,t),En(e))}function Cb(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Xp(e,n)}function Ab(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(r(314))}a!==null&&a.delete(t),Xp(e,n)}function _b(e,t){return vo(e,t)}var gr=null,Jl=null,au=!1,vr=!1,lu=!1,xa=0;function En(e){e!==Jl&&e.next===null&&(Jl===null?gr=Jl=e:Jl=Jl.next=e),vr=!0,au||(au=!0,Rb())}function ei(e,t){if(!lu&&vr){lu=!0;do for(var n=!1,a=gr;a!==null;){if(e!==0){var o=a.pendingLanes;if(o===0)var c=0;else{var d=a.suspendedLanes,x=a.pingedLanes;c=(1<<31-yt(42|e)+1)-1,c&=o&~(d&~x),c=c&201326741?c&201326741|1:c?c|2:0}c!==0&&(n=!0,Jp(a,c))}else c=Oe,c=be(a,a===Ge?c:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(c&3)===0||Qe(a,c)||(n=!0,Jp(a,c));a=a.next}while(n);lu=!1}}function Nb(){Kp()}function Kp(){vr=au=!1;var e=0;xa!==0&&kb()&&(e=xa);for(var t=Et(),n=null,a=gr;a!==null;){var o=a.next,c=Qp(a,t);c===0?(a.next=null,n===null?gr=o:n.next=o,o===null&&(Jl=n)):(n=a,(e!==0||(c&3)!==0)&&(vr=!0)),a=o}ot!==0&&ot!==5||ei(e),xa!==0&&(xa=0)}function Qp(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,o=e.expirationTimes,c=e.pendingLanes&-62914561;0<c;){var d=31-yt(c),x=1<<d,w=o[d];w===-1?((x&n)===0||(x&a)!==0)&&(o[d]=rt(x,t)):w<=t&&(e.expiredLanes|=x),c&=~x}if(t=Ge,n=Oe,n=be(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a=e.callbackNode,n===0||e===t&&(Be===2||Be===9)||e.cancelPendingCommit!==null)return a!==null&&a!==null&&yo(a),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Qe(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(a!==null&&yo(a),on(n)){case 2:case 8:n=xi;break;case 32:n=Ba;break;case 268435456:n=Mn;break;default:n=Ba}return a=Zp.bind(null,e),n=vo(n,a),e.callbackPriority=t,e.callbackNode=n,t}return a!==null&&a!==null&&yo(a),e.callbackPriority=2,e.callbackNode=null,2}function Zp(e,t){if(ot!==0&&ot!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(hr()&&e.callbackNode!==n)return null;var a=Oe;return a=be(e,e===Ge?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a===0?null:(Np(e,a,t),Qp(e,Et()),e.callbackNode!=null&&e.callbackNode===n?Zp.bind(null,e):null)}function Jp(e,t){if(hr())return null;Np(e,t,!0)}function Rb(){Yb(function(){(He&6)!==0?vo(Ha,Nb):Kp()})}function ou(){if(xa===0){var e=zl;e===0&&(e=dl,dl<<=1,(dl&261888)===0&&(dl=256)),xa=e}return xa}function $p(e){return e==null||typeof e==\"symbol\"||typeof e==\"boolean\"?null:typeof e==\"function\"?e:Ci(\"\"+e)}function Ip(e,t){var n=t.ownerDocument.createElement(\"input\");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(\"form\",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function Ob(e,t,n,a,o){if(t===\"submit\"&&n&&n.stateNode===o){var c=$p((o[Nt]||null).action),d=a.submitter;d&&(t=(t=d[Nt]||null)?$p(t.formAction):d.getAttribute(\"formAction\"),t!==null&&(c=t,d=null));var x=new Ri(\"action\",\"action\",null,a,o);e.push({event:x,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(xa!==0){var w=d?Ip(o,d):new FormData(o);Cc(n,{pending:!0,data:w,method:o.method,action:c},null,w)}}else typeof c==\"function\"&&(x.preventDefault(),w=d?Ip(o,d):new FormData(o),Cc(n,{pending:!0,data:w,method:o.method,action:c},c,w))},currentTarget:o}]})}}for(var iu=0;iu<Gs.length;iu++){var ru=Gs[iu],Mb=ru.toLowerCase(),Db=ru[0].toUpperCase()+ru.slice(1);rn(Mb,\"on\"+Db)}rn(_d,\"onAnimationEnd\"),rn(Nd,\"onAnimationIteration\"),rn(Rd,\"onAnimationStart\"),rn(\"dblclick\",\"onDoubleClick\"),rn(\"focusin\",\"onFocus\"),rn(\"focusout\",\"onBlur\"),rn(J0,\"onTransitionRun\"),rn($0,\"onTransitionStart\"),rn(I0,\"onTransitionCancel\"),rn(Od,\"onTransitionEnd\"),bl(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]),bl(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]),bl(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]),bl(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]),Ya(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \")),Ya(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \")),Ya(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]),Ya(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \")),Ya(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")),Ya(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var ti=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),zb=new Set(\"beforetoggle cancel close invalid load scroll scrollend toggle\".split(\" \").concat(ti));function Fp(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],o=a.event;a=a.listeners;e:{var c=void 0;if(t)for(var d=a.length-1;0<=d;d--){var x=a[d],w=x.instance,j=x.currentTarget;if(x=x.listener,w!==c&&o.isPropagationStopped())break e;c=x,o.currentTarget=j;try{c(o)}catch(q){Di(q)}o.currentTarget=null,c=w}else for(d=0;d<a.length;d++){if(x=a[d],w=x.instance,j=x.currentTarget,x=x.listener,w!==c&&o.isPropagationStopped())break e;c=x,o.currentTarget=j;try{c(o)}catch(q){Di(q)}o.currentTarget=null,c=w}}}}function _e(e,t){var n=t[xs];n===void 0&&(n=t[xs]=new Set);var a=e+\"__bubble\";n.has(a)||(Wp(t,e,2,!1),n.add(a))}function su(e,t,n){var a=0;t&&(a|=4),Wp(n,e,a,t)}var yr=\"_reactListening\"+Math.random().toString(36).slice(2);function cu(e){if(!e[yr]){e[yr]=!0,Kf.forEach(function(n){n!==\"selectionchange\"&&(zb.has(n)||su(n,!1,e),su(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[yr]||(t[yr]=!0,su(\"selectionchange\",!1,t))}}function Wp(e,t,n,a){switch(_h(t)){case 2:var o=r1;break;case 8:o=s1;break;default:o=Tu}n=o.bind(null,t,n,e),o=void 0,!Rs||t!==\"touchstart\"&&t!==\"touchmove\"&&t!==\"wheel\"||(o=!0),a?o!==void 0?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):o!==void 0?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function uu(e,t,n,a,o){var c=a;if((t&1)===0&&(t&2)===0&&a!==null)e:for(;;){if(a===null)return;var d=a.tag;if(d===3||d===4){var x=a.stateNode.containerInfo;if(x===o)break;if(d===4)for(d=a.return;d!==null;){var w=d.tag;if((w===3||w===4)&&d.stateNode.containerInfo===o)return;d=d.return}for(;x!==null;){if(d=gl(x),d===null)return;if(w=d.tag,w===5||w===6||w===26||w===27){a=c=d;continue e}x=x.parentNode}}a=a.return}ad(function(){var j=c,q=_s(n),J=[];e:{var H=Md.get(e);if(H!==void 0){var k=Ri,ae=e;switch(e){case\"keypress\":if(_i(n)===0)break e;case\"keydown\":case\"keyup\":k=A0;break;case\"focusin\":ae=\"focus\",k=zs;break;case\"focusout\":ae=\"blur\",k=zs;break;case\"beforeblur\":case\"afterblur\":k=zs;break;case\"click\":if(n.button===2)break e;case\"auxclick\":case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":k=id;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":k=p0;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":k=R0;break;case _d:case Nd:case Rd:k=v0;break;case Od:k=M0;break;case\"scroll\":case\"scrollend\":k=d0;break;case\"wheel\":k=z0;break;case\"copy\":case\"cut\":case\"paste\":k=b0;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":k=sd;break;case\"toggle\":case\"beforetoggle\":k=U0}var pe=(t&4)!==0,Ye=!pe&&(e===\"scroll\"||e===\"scrollend\"),M=pe?H!==null?H+\"Capture\":null:H;pe=[];for(var _=j,z;_!==null;){var Z=_;if(z=Z.stateNode,Z=Z.tag,Z!==5&&Z!==26&&Z!==27||z===null||M===null||(Z=wo(_,M),Z!=null&&pe.push(ni(_,Z,z))),Ye)break;_=_.return}0<pe.length&&(H=new k(H,ae,null,n,q),J.push({event:H,listeners:pe}))}}if((t&7)===0){e:{if(H=e===\"mouseover\"||e===\"pointerover\",k=e===\"mouseout\"||e===\"pointerout\",H&&n!==As&&(ae=n.relatedTarget||n.fromElement)&&(gl(ae)||ae[hl]))break e;if((k||H)&&(H=q.window===q?q:(H=q.ownerDocument)?H.defaultView||H.parentWindow:window,k?(ae=n.relatedTarget||n.toElement,k=j,ae=ae?gl(ae):null,ae!==null&&(Ye=f(ae),pe=ae.tag,ae!==Ye||pe!==5&&pe!==27&&pe!==6)&&(ae=null)):(k=null,ae=j),k!==ae)){if(pe=id,Z=\"onMouseLeave\",M=\"onMouseEnter\",_=\"mouse\",(e===\"pointerout\"||e===\"pointerover\")&&(pe=sd,Z=\"onPointerLeave\",M=\"onPointerEnter\",_=\"pointer\"),Ye=k==null?H:Eo(k),z=ae==null?H:Eo(ae),H=new pe(Z,_+\"leave\",k,n,q),H.target=Ye,H.relatedTarget=z,Z=null,gl(q)===j&&(pe=new pe(M,_+\"enter\",ae,n,q),pe.target=z,pe.relatedTarget=Ye,Z=pe),Ye=Z,k&&ae)t:{for(pe=jb,M=k,_=ae,z=0,Z=M;Z;Z=pe(Z))z++;Z=0;for(var ue=_;ue;ue=pe(ue))Z++;for(;0<z-Z;)M=pe(M),z--;for(;0<Z-z;)_=pe(_),Z--;for(;z--;){if(M===_||_!==null&&M===_.alternate){pe=M;break t}M=pe(M),_=pe(_)}pe=null}else pe=null;k!==null&&Pp(J,H,k,pe,!1),ae!==null&&Ye!==null&&Pp(J,Ye,ae,pe,!0)}}e:{if(H=j?Eo(j):window,k=H.nodeName&&H.nodeName.toLowerCase(),k===\"select\"||k===\"input\"&&H.type===\"file\")var je=gd;else if(pd(H))if(vd)je=K0;else{je=q0;var re=G0}else k=H.nodeName,!k||k.toLowerCase()!==\"input\"||H.type!==\"checkbox\"&&H.type!==\"radio\"?j&&Cs(j.elementType)&&(je=gd):je=X0;if(je&&(je=je(e,j))){hd(J,je,n,q);break e}re&&re(e,H,j),e===\"focusout\"&&j&&H.type===\"number\"&&j.memoizedProps.value!=null&&Ts(H,\"number\",H.value)}switch(re=j?Eo(j):window,e){case\"focusin\":(pd(re)||re.contentEditable===\"true\")&&(Cl=re,ks=j,Mo=null);break;case\"focusout\":Mo=ks=Cl=null;break;case\"mousedown\":Vs=!0;break;case\"contextmenu\":case\"mouseup\":case\"dragend\":Vs=!1,Cd(J,n,q);break;case\"selectionchange\":if(Z0)break;case\"keydown\":case\"keyup\":Cd(J,n,q)}var we;if(Us)e:{switch(e){case\"compositionstart\":var Me=\"onCompositionStart\";break e;case\"compositionend\":Me=\"onCompositionEnd\";break e;case\"compositionupdate\":Me=\"onCompositionUpdate\";break e}Me=void 0}else Tl?dd(e,n)&&(Me=\"onCompositionEnd\"):e===\"keydown\"&&n.keyCode===229&&(Me=\"onCompositionStart\");Me&&(cd&&n.locale!==\"ko\"&&(Tl||Me!==\"onCompositionStart\"?Me===\"onCompositionEnd\"&&Tl&&(we=ld()):(la=q,Os=\"value\"in la?la.value:la.textContent,Tl=!0)),re=br(j,Me),0<re.length&&(Me=new rd(Me,e,null,n,q),J.push({event:Me,listeners:re}),we?Me.data=we:(we=md(n),we!==null&&(Me.data=we)))),(we=B0?L0(e,n):k0(e,n))&&(Me=br(j,\"onBeforeInput\"),0<Me.length&&(re=new rd(\"onBeforeInput\",\"beforeinput\",null,n,q),J.push({event:re,listeners:Me}),re.data=we)),Ob(J,e,j,n,q)}Fp(J,t)})}function ni(e,t,n){return{instance:e,listener:t,currentTarget:n}}function br(e,t){for(var n=t+\"Capture\",a=[];e!==null;){var o=e,c=o.stateNode;if(o=o.tag,o!==5&&o!==26&&o!==27||c===null||(o=wo(e,n),o!=null&&a.unshift(ni(e,o,c)),o=wo(e,t),o!=null&&a.push(ni(e,o,c))),e.tag===3)return a;e=e.return}return[]}function jb(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Pp(e,t,n,a,o){for(var c=t._reactName,d=[];n!==null&&n!==a;){var x=n,w=x.alternate,j=x.stateNode;if(x=x.tag,w!==null&&w===a)break;x!==5&&x!==26&&x!==27||j===null||(w=j,o?(j=wo(n,c),j!=null&&d.unshift(ni(n,j,w))):o||(j=wo(n,c),j!=null&&d.push(ni(n,j,w)))),n=n.return}d.length!==0&&e.push({event:t,listeners:d})}var Ub=/\\r\\n?/g,Hb=/\\u0000|\\uFFFD/g;function eh(e){return(typeof e==\"string\"?e:\"\"+e).replace(Ub,`\n`).replace(Hb,\"\")}function th(e,t){return t=eh(t),eh(e)===t}function Ve(e,t,n,a,o,c){switch(n){case\"children\":typeof a==\"string\"?t===\"body\"||t===\"textarea\"&&a===\"\"||Sl(e,a):(typeof a==\"number\"||typeof a==\"bigint\")&&t!==\"body\"&&Sl(e,\"\"+a);break;case\"className\":wi(e,\"class\",a);break;case\"tabIndex\":wi(e,\"tabindex\",a);break;case\"dir\":case\"role\":case\"viewBox\":case\"width\":case\"height\":wi(e,n,a);break;case\"style\":td(e,a,c);break;case\"data\":if(t!==\"object\"){wi(e,\"data\",a);break}case\"src\":case\"href\":if(a===\"\"&&(t!==\"a\"||n!==\"href\")){e.removeAttribute(n);break}if(a==null||typeof a==\"function\"||typeof a==\"symbol\"||typeof a==\"boolean\"){e.removeAttribute(n);break}a=Ci(\"\"+a),e.setAttribute(n,a);break;case\"action\":case\"formAction\":if(typeof a==\"function\"){e.setAttribute(n,\"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')\");break}else typeof c==\"function\"&&(n===\"formAction\"?(t!==\"input\"&&Ve(e,t,\"name\",o.name,o,null),Ve(e,t,\"formEncType\",o.formEncType,o,null),Ve(e,t,\"formMethod\",o.formMethod,o,null),Ve(e,t,\"formTarget\",o.formTarget,o,null)):(Ve(e,t,\"encType\",o.encType,o,null),Ve(e,t,\"method\",o.method,o,null),Ve(e,t,\"target\",o.target,o,null)));if(a==null||typeof a==\"symbol\"||typeof a==\"boolean\"){e.removeAttribute(n);break}a=Ci(\"\"+a),e.setAttribute(n,a);break;case\"onClick\":a!=null&&(e.onclick=zn);break;case\"onScroll\":a!=null&&_e(\"scroll\",e);break;case\"onScrollEnd\":a!=null&&_e(\"scrollend\",e);break;case\"dangerouslySetInnerHTML\":if(a!=null){if(typeof a!=\"object\"||!(\"__html\"in a))throw Error(r(61));if(n=a.__html,n!=null){if(o.children!=null)throw Error(r(60));e.innerHTML=n}}break;case\"multiple\":e.multiple=a&&typeof a!=\"function\"&&typeof a!=\"symbol\";break;case\"muted\":e.muted=a&&typeof a!=\"function\"&&typeof a!=\"symbol\";break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"ref\":break;case\"autoFocus\":break;case\"xlinkHref\":if(a==null||typeof a==\"function\"||typeof a==\"boolean\"||typeof a==\"symbol\"){e.removeAttribute(\"xlink:href\");break}n=Ci(\"\"+a),e.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",n);break;case\"contentEditable\":case\"spellCheck\":case\"draggable\":case\"value\":case\"autoReverse\":case\"externalResourcesRequired\":case\"focusable\":case\"preserveAlpha\":a!=null&&typeof a!=\"function\"&&typeof a!=\"symbol\"?e.setAttribute(n,\"\"+a):e.removeAttribute(n);break;case\"inert\":case\"allowFullScreen\":case\"async\":case\"autoPlay\":case\"controls\":case\"default\":case\"defer\":case\"disabled\":case\"disablePictureInPicture\":case\"disableRemotePlayback\":case\"formNoValidate\":case\"hidden\":case\"loop\":case\"noModule\":case\"noValidate\":case\"open\":case\"playsInline\":case\"readOnly\":case\"required\":case\"reversed\":case\"scoped\":case\"seamless\":case\"itemScope\":a&&typeof a!=\"function\"&&typeof a!=\"symbol\"?e.setAttribute(n,\"\"):e.removeAttribute(n);break;case\"capture\":case\"download\":a===!0?e.setAttribute(n,\"\"):a!==!1&&a!=null&&typeof a!=\"function\"&&typeof a!=\"symbol\"?e.setAttribute(n,a):e.removeAttribute(n);break;case\"cols\":case\"rows\":case\"size\":case\"span\":a!=null&&typeof a!=\"function\"&&typeof a!=\"symbol\"&&!isNaN(a)&&1<=a?e.setAttribute(n,a):e.removeAttribute(n);break;case\"rowSpan\":case\"start\":a==null||typeof a==\"function\"||typeof a==\"symbol\"||isNaN(a)?e.removeAttribute(n):e.setAttribute(n,a);break;case\"popover\":_e(\"beforetoggle\",e),_e(\"toggle\",e),Ei(e,\"popover\",a);break;case\"xlinkActuate\":Dn(e,\"http://www.w3.org/1999/xlink\",\"xlink:actuate\",a);break;case\"xlinkArcrole\":Dn(e,\"http://www.w3.org/1999/xlink\",\"xlink:arcrole\",a);break;case\"xlinkRole\":Dn(e,\"http://www.w3.org/1999/xlink\",\"xlink:role\",a);break;case\"xlinkShow\":Dn(e,\"http://www.w3.org/1999/xlink\",\"xlink:show\",a);break;case\"xlinkTitle\":Dn(e,\"http://www.w3.org/1999/xlink\",\"xlink:title\",a);break;case\"xlinkType\":Dn(e,\"http://www.w3.org/1999/xlink\",\"xlink:type\",a);break;case\"xmlBase\":Dn(e,\"http://www.w3.org/XML/1998/namespace\",\"xml:base\",a);break;case\"xmlLang\":Dn(e,\"http://www.w3.org/XML/1998/namespace\",\"xml:lang\",a);break;case\"xmlSpace\":Dn(e,\"http://www.w3.org/XML/1998/namespace\",\"xml:space\",a);break;case\"is\":Ei(e,\"is\",a);break;case\"innerText\":case\"textContent\":break;default:(!(2<n.length)||n[0]!==\"o\"&&n[0]!==\"O\"||n[1]!==\"n\"&&n[1]!==\"N\")&&(n=u0.get(n)||n,Ei(e,n,a))}}function fu(e,t,n,a,o,c){switch(n){case\"style\":td(e,a,c);break;case\"dangerouslySetInnerHTML\":if(a!=null){if(typeof a!=\"object\"||!(\"__html\"in a))throw Error(r(61));if(n=a.__html,n!=null){if(o.children!=null)throw Error(r(60));e.innerHTML=n}}break;case\"children\":typeof a==\"string\"?Sl(e,a):(typeof a==\"number\"||typeof a==\"bigint\")&&Sl(e,\"\"+a);break;case\"onScroll\":a!=null&&_e(\"scroll\",e);break;case\"onScrollEnd\":a!=null&&_e(\"scrollend\",e);break;case\"onClick\":a!=null&&(e.onclick=zn);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":case\"innerHTML\":case\"ref\":break;case\"innerText\":case\"textContent\":break;default:if(!Qf.hasOwnProperty(n))e:{if(n[0]===\"o\"&&n[1]===\"n\"&&(o=n.endsWith(\"Capture\"),t=n.slice(2,o?n.length-7:void 0),c=e[Nt]||null,c=c!=null?c[n]:null,typeof c==\"function\"&&e.removeEventListener(t,c,o),typeof a==\"function\")){typeof c!=\"function\"&&c!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,a,o);break e}n in e?e[n]=a:a===!0?e.setAttribute(n,\"\"):Ei(e,n,a)}}}function ht(e,t,n){switch(t){case\"div\":case\"span\":case\"svg\":case\"path\":case\"a\":case\"g\":case\"p\":case\"li\":break;case\"img\":_e(\"error\",e),_e(\"load\",e);var a=!1,o=!1,c;for(c in n)if(n.hasOwnProperty(c)){var d=n[c];if(d!=null)switch(c){case\"src\":a=!0;break;case\"srcSet\":o=!0;break;case\"children\":case\"dangerouslySetInnerHTML\":throw Error(r(137,t));default:Ve(e,t,c,d,n,null)}}o&&Ve(e,t,\"srcSet\",n.srcSet,n,null),a&&Ve(e,t,\"src\",n.src,n,null);return;case\"input\":_e(\"invalid\",e);var x=c=d=o=null,w=null,j=null;for(a in n)if(n.hasOwnProperty(a)){var q=n[a];if(q!=null)switch(a){case\"name\":o=q;break;case\"type\":d=q;break;case\"checked\":w=q;break;case\"defaultChecked\":j=q;break;case\"value\":c=q;break;case\"defaultValue\":x=q;break;case\"children\":case\"dangerouslySetInnerHTML\":if(q!=null)throw Error(r(137,t));break;default:Ve(e,t,a,q,n,null)}}Ff(e,c,x,w,j,d,o,!1);return;case\"select\":_e(\"invalid\",e),a=d=c=null;for(o in n)if(n.hasOwnProperty(o)&&(x=n[o],x!=null))switch(o){case\"value\":c=x;break;case\"defaultValue\":d=x;break;case\"multiple\":a=x;default:Ve(e,t,o,x,n,null)}t=c,n=d,e.multiple=!!a,t!=null?xl(e,!!a,t,!1):n!=null&&xl(e,!!a,n,!0);return;case\"textarea\":_e(\"invalid\",e),c=o=a=null;for(d in n)if(n.hasOwnProperty(d)&&(x=n[d],x!=null))switch(d){case\"value\":a=x;break;case\"defaultValue\":o=x;break;case\"children\":c=x;break;case\"dangerouslySetInnerHTML\":if(x!=null)throw Error(r(91));break;default:Ve(e,t,d,x,n,null)}Pf(e,a,o,c);return;case\"option\":for(w in n)if(n.hasOwnProperty(w)&&(a=n[w],a!=null))switch(w){case\"selected\":e.selected=a&&typeof a!=\"function\"&&typeof a!=\"symbol\";break;default:Ve(e,t,w,a,n,null)}return;case\"dialog\":_e(\"beforetoggle\",e),_e(\"toggle\",e),_e(\"cancel\",e),_e(\"close\",e);break;case\"iframe\":case\"object\":_e(\"load\",e);break;case\"video\":case\"audio\":for(a=0;a<ti.length;a++)_e(ti[a],e);break;case\"image\":_e(\"error\",e),_e(\"load\",e);break;case\"details\":_e(\"toggle\",e);break;case\"embed\":case\"source\":case\"link\":_e(\"error\",e),_e(\"load\",e);case\"area\":case\"base\":case\"br\":case\"col\":case\"hr\":case\"keygen\":case\"meta\":case\"param\":case\"track\":case\"wbr\":case\"menuitem\":for(j in n)if(n.hasOwnProperty(j)&&(a=n[j],a!=null))switch(j){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(r(137,t));default:Ve(e,t,j,a,n,null)}return;default:if(Cs(t)){for(q in n)n.hasOwnProperty(q)&&(a=n[q],a!==void 0&&fu(e,t,q,a,n,void 0));return}}for(x in n)n.hasOwnProperty(x)&&(a=n[x],a!=null&&Ve(e,t,x,a,n,null))}function Bb(e,t,n,a){switch(t){case\"div\":case\"span\":case\"svg\":case\"path\":case\"a\":case\"g\":case\"p\":case\"li\":break;case\"input\":var o=null,c=null,d=null,x=null,w=null,j=null,q=null;for(k in n){var J=n[k];if(n.hasOwnProperty(k)&&J!=null)switch(k){case\"checked\":break;case\"value\":break;case\"defaultValue\":w=J;default:a.hasOwnProperty(k)||Ve(e,t,k,null,a,J)}}for(var H in a){var k=a[H];if(J=n[H],a.hasOwnProperty(H)&&(k!=null||J!=null))switch(H){case\"type\":c=k;break;case\"name\":o=k;break;case\"checked\":j=k;break;case\"defaultChecked\":q=k;break;case\"value\":d=k;break;case\"defaultValue\":x=k;break;case\"children\":case\"dangerouslySetInnerHTML\":if(k!=null)throw Error(r(137,t));break;default:k!==J&&Ve(e,t,H,k,a,J)}}ws(e,d,x,w,j,q,c,o);return;case\"select\":k=d=x=H=null;for(c in n)if(w=n[c],n.hasOwnProperty(c)&&w!=null)switch(c){case\"value\":break;case\"multiple\":k=w;default:a.hasOwnProperty(c)||Ve(e,t,c,null,a,w)}for(o in a)if(c=a[o],w=n[o],a.hasOwnProperty(o)&&(c!=null||w!=null))switch(o){case\"value\":H=c;break;case\"defaultValue\":x=c;break;case\"multiple\":d=c;default:c!==w&&Ve(e,t,o,c,a,w)}t=x,n=d,a=k,H!=null?xl(e,!!n,H,!1):!!a!=!!n&&(t!=null?xl(e,!!n,t,!0):xl(e,!!n,n?[]:\"\",!1));return;case\"textarea\":k=H=null;for(x in n)if(o=n[x],n.hasOwnProperty(x)&&o!=null&&!a.hasOwnProperty(x))switch(x){case\"value\":break;case\"children\":break;default:Ve(e,t,x,null,a,o)}for(d in a)if(o=a[d],c=n[d],a.hasOwnProperty(d)&&(o!=null||c!=null))switch(d){case\"value\":H=o;break;case\"defaultValue\":k=o;break;case\"children\":break;case\"dangerouslySetInnerHTML\":if(o!=null)throw Error(r(91));break;default:o!==c&&Ve(e,t,d,o,a,c)}Wf(e,H,k);return;case\"option\":for(var ae in n)if(H=n[ae],n.hasOwnProperty(ae)&&H!=null&&!a.hasOwnProperty(ae))switch(ae){case\"selected\":e.selected=!1;break;default:Ve(e,t,ae,null,a,H)}for(w in a)if(H=a[w],k=n[w],a.hasOwnProperty(w)&&H!==k&&(H!=null||k!=null))switch(w){case\"selected\":e.selected=H&&typeof H!=\"function\"&&typeof H!=\"symbol\";break;default:Ve(e,t,w,H,a,k)}return;case\"img\":case\"link\":case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"keygen\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":case\"menuitem\":for(var pe in n)H=n[pe],n.hasOwnProperty(pe)&&H!=null&&!a.hasOwnProperty(pe)&&Ve(e,t,pe,null,a,H);for(j in a)if(H=a[j],k=n[j],a.hasOwnProperty(j)&&H!==k&&(H!=null||k!=null))switch(j){case\"children\":case\"dangerouslySetInnerHTML\":if(H!=null)throw Error(r(137,t));break;default:Ve(e,t,j,H,a,k)}return;default:if(Cs(t)){for(var Ye in n)H=n[Ye],n.hasOwnProperty(Ye)&&H!==void 0&&!a.hasOwnProperty(Ye)&&fu(e,t,Ye,void 0,a,H);for(q in a)H=a[q],k=n[q],!a.hasOwnProperty(q)||H===k||H===void 0&&k===void 0||fu(e,t,q,H,a,k);return}}for(var M in n)H=n[M],n.hasOwnProperty(M)&&H!=null&&!a.hasOwnProperty(M)&&Ve(e,t,M,null,a,H);for(J in a)H=a[J],k=n[J],!a.hasOwnProperty(J)||H===k||H==null&&k==null||Ve(e,t,J,H,a,k)}function nh(e){switch(e){case\"css\":case\"script\":case\"font\":case\"img\":case\"image\":case\"input\":case\"link\":return!0;default:return!1}}function Lb(){if(typeof performance.getEntriesByType==\"function\"){for(var e=0,t=0,n=performance.getEntriesByType(\"resource\"),a=0;a<n.length;a++){var o=n[a],c=o.transferSize,d=o.initiatorType,x=o.duration;if(c&&x&&nh(d)){for(d=0,x=o.responseEnd,a+=1;a<n.length;a++){var w=n[a],j=w.startTime;if(j>x)break;var q=w.transferSize,J=w.initiatorType;q&&nh(J)&&(w=w.responseEnd,d+=q*(w<x?1:(x-j)/(w-j)))}if(--a,t+=8*(c+d)/(o.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==\"number\")?e:5}var du=null,mu=null;function xr(e){return e.nodeType===9?e:e.ownerDocument}function ah(e){switch(e){case\"http://www.w3.org/2000/svg\":return 1;case\"http://www.w3.org/1998/Math/MathML\":return 2;default:return 0}}function lh(e,t){if(e===0)switch(t){case\"svg\":return 1;case\"math\":return 2;default:return 0}return e===1&&t===\"foreignObject\"?0:e}function pu(e,t){return e===\"textarea\"||e===\"noscript\"||typeof t.children==\"string\"||typeof t.children==\"number\"||typeof t.children==\"bigint\"||typeof t.dangerouslySetInnerHTML==\"object\"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var hu=null;function kb(){var e=window.event;return e&&e.type===\"popstate\"?e===hu?!1:(hu=e,!0):(hu=null,!1)}var oh=typeof setTimeout==\"function\"?setTimeout:void 0,Vb=typeof clearTimeout==\"function\"?clearTimeout:void 0,ih=typeof Promise==\"function\"?Promise:void 0,Yb=typeof queueMicrotask==\"function\"?queueMicrotask:typeof ih<\"u\"?function(e){return ih.resolve(null).then(e).catch(Gb)}:oh;function Gb(e){setTimeout(function(){throw e})}function Sa(e){return e===\"head\"}function rh(e,t){var n=t,a=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&o.nodeType===8)if(n=o.data,n===\"/$\"||n===\"/&\"){if(a===0){e.removeChild(o),Wl(t);return}a--}else if(n===\"$\"||n===\"$?\"||n===\"$~\"||n===\"$!\"||n===\"&\")a++;else if(n===\"html\")ai(e.ownerDocument.documentElement);else if(n===\"head\"){n=e.ownerDocument.head,ai(n);for(var c=n.firstChild;c;){var d=c.nextSibling,x=c.nodeName;c[So]||x===\"SCRIPT\"||x===\"STYLE\"||x===\"LINK\"&&c.rel.toLowerCase()===\"stylesheet\"||n.removeChild(c),c=d}}else n===\"body\"&&ai(e.ownerDocument.body);n=o}while(n);Wl(t)}function sh(e,t){var n=e;e=0;do{var a=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=\"none\"):(n.style.display=n._stashedDisplay||\"\",n.getAttribute(\"style\")===\"\"&&n.removeAttribute(\"style\")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=\"\"):n.nodeValue=n._stashedText||\"\"),a&&a.nodeType===8)if(n=a.data,n===\"/$\"){if(e===0)break;e--}else n!==\"$\"&&n!==\"$?\"&&n!==\"$~\"&&n!==\"$!\"||e++;n=a}while(n)}function gu(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case\"HTML\":case\"HEAD\":case\"BODY\":gu(n),Ss(n);continue;case\"SCRIPT\":case\"STYLE\":continue;case\"LINK\":if(n.rel.toLowerCase()===\"stylesheet\")continue}e.removeChild(n)}}function qb(e,t,n,a){for(;e.nodeType===1;){var o=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!a&&(e.nodeName!==\"INPUT\"||e.type!==\"hidden\"))break}else if(a){if(!e[So])switch(t){case\"meta\":if(!e.hasAttribute(\"itemprop\"))break;return e;case\"link\":if(c=e.getAttribute(\"rel\"),c===\"stylesheet\"&&e.hasAttribute(\"data-precedence\"))break;if(c!==o.rel||e.getAttribute(\"href\")!==(o.href==null||o.href===\"\"?null:o.href)||e.getAttribute(\"crossorigin\")!==(o.crossOrigin==null?null:o.crossOrigin)||e.getAttribute(\"title\")!==(o.title==null?null:o.title))break;return e;case\"style\":if(e.hasAttribute(\"data-precedence\"))break;return e;case\"script\":if(c=e.getAttribute(\"src\"),(c!==(o.src==null?null:o.src)||e.getAttribute(\"type\")!==(o.type==null?null:o.type)||e.getAttribute(\"crossorigin\")!==(o.crossOrigin==null?null:o.crossOrigin))&&c&&e.hasAttribute(\"async\")&&!e.hasAttribute(\"itemprop\"))break;return e;default:return e}}else if(t===\"input\"&&e.type===\"hidden\"){var c=o.name==null?null:\"\"+o.name;if(o.type===\"hidden\"&&e.getAttribute(\"name\")===c)return e}else return e;if(e=en(e.nextSibling),e===null)break}return null}function Xb(e,t,n){if(t===\"\")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==\"INPUT\"||e.type!==\"hidden\")&&!n||(e=en(e.nextSibling),e===null))return null;return e}function ch(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==\"INPUT\"||e.type!==\"hidden\")&&!t||(e=en(e.nextSibling),e===null))return null;return e}function vu(e){return e.data===\"$?\"||e.data===\"$~\"}function yu(e){return e.data===\"$!\"||e.data===\"$?\"&&e.ownerDocument.readyState!==\"loading\"}function Kb(e,t){var n=e.ownerDocument;if(e.data===\"$~\")e._reactRetry=t;else if(e.data!==\"$?\"||n.readyState!==\"loading\")t();else{var a=function(){t(),n.removeEventListener(\"DOMContentLoaded\",a)};n.addEventListener(\"DOMContentLoaded\",a),e._reactRetry=a}}function en(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===\"$\"||t===\"$!\"||t===\"$?\"||t===\"$~\"||t===\"&\"||t===\"F!\"||t===\"F\")break;if(t===\"/$\"||t===\"/&\")return null}}return e}var bu=null;function uh(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===\"/$\"||n===\"/&\"){if(t===0)return en(e.nextSibling);t--}else n!==\"$\"&&n!==\"$!\"&&n!==\"$?\"&&n!==\"$~\"&&n!==\"&\"||t++}e=e.nextSibling}return null}function fh(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===\"$\"||n===\"$!\"||n===\"$?\"||n===\"$~\"||n===\"&\"){if(t===0)return e;t--}else n!==\"/$\"&&n!==\"/&\"||t++}e=e.previousSibling}return null}function dh(e,t,n){switch(t=xr(n),e){case\"html\":if(e=t.documentElement,!e)throw Error(r(452));return e;case\"head\":if(e=t.head,!e)throw Error(r(453));return e;case\"body\":if(e=t.body,!e)throw Error(r(454));return e;default:throw Error(r(451))}}function ai(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Ss(e)}var tn=new Map,mh=new Set;function Sr(e){return typeof e.getRootNode==\"function\"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var $n=V.d;V.d={f:Qb,r:Zb,D:Jb,C:$b,L:Ib,m:Fb,X:Pb,S:Wb,M:e1};function Qb(){var e=$n.f(),t=dr();return e||t}function Zb(e){var t=vl(e);t!==null&&t.tag===5&&t.type===\"form\"?Om(t):$n.r(e)}var $l=typeof document>\"u\"?null:document;function ph(e,t,n){var a=$l;if(a&&typeof t==\"string\"&&t){var o=Zt(t);o='link[rel=\"'+e+'\"][href=\"'+o+'\"]',typeof n==\"string\"&&(o+='[crossorigin=\"'+n+'\"]'),mh.has(o)||(mh.add(o),e={rel:e,crossOrigin:n,href:t},a.querySelector(o)===null&&(t=a.createElement(\"link\"),ht(t,\"link\",e),st(t),a.head.appendChild(t)))}}function Jb(e){$n.D(e),ph(\"dns-prefetch\",e,null)}function $b(e,t){$n.C(e,t),ph(\"preconnect\",e,t)}function Ib(e,t,n){$n.L(e,t,n);var a=$l;if(a&&e&&t){var o='link[rel=\"preload\"][as=\"'+Zt(t)+'\"]';t===\"image\"&&n&&n.imageSrcSet?(o+='[imagesrcset=\"'+Zt(n.imageSrcSet)+'\"]',typeof n.imageSizes==\"string\"&&(o+='[imagesizes=\"'+Zt(n.imageSizes)+'\"]')):o+='[href=\"'+Zt(e)+'\"]';var c=o;switch(t){case\"style\":c=Il(e);break;case\"script\":c=Fl(e)}tn.has(c)||(e=h({rel:\"preload\",href:t===\"image\"&&n&&n.imageSrcSet?void 0:e,as:t},n),tn.set(c,e),a.querySelector(o)!==null||t===\"style\"&&a.querySelector(li(c))||t===\"script\"&&a.querySelector(oi(c))||(t=a.createElement(\"link\"),ht(t,\"link\",e),st(t),a.head.appendChild(t)))}}function Fb(e,t){$n.m(e,t);var n=$l;if(n&&e){var a=t&&typeof t.as==\"string\"?t.as:\"script\",o='link[rel=\"modulepreload\"][as=\"'+Zt(a)+'\"][href=\"'+Zt(e)+'\"]',c=o;switch(a){case\"audioworklet\":case\"paintworklet\":case\"serviceworker\":case\"sharedworker\":case\"worker\":case\"script\":c=Fl(e)}if(!tn.has(c)&&(e=h({rel:\"modulepreload\",href:e},t),tn.set(c,e),n.querySelector(o)===null)){switch(a){case\"audioworklet\":case\"paintworklet\":case\"serviceworker\":case\"sharedworker\":case\"worker\":case\"script\":if(n.querySelector(oi(c)))return}a=n.createElement(\"link\"),ht(a,\"link\",e),st(a),n.head.appendChild(a)}}}function Wb(e,t,n){$n.S(e,t,n);var a=$l;if(a&&e){var o=yl(a).hoistableStyles,c=Il(e);t=t||\"default\";var d=o.get(c);if(!d){var x={loading:0,preload:null};if(d=a.querySelector(li(c)))x.loading=5;else{e=h({rel:\"stylesheet\",href:e,\"data-precedence\":t},n),(n=tn.get(c))&&xu(e,n);var w=d=a.createElement(\"link\");st(w),ht(w,\"link\",e),w._p=new Promise(function(j,q){w.onload=j,w.onerror=q}),w.addEventListener(\"load\",function(){x.loading|=1}),w.addEventListener(\"error\",function(){x.loading|=2}),x.loading|=4,Er(d,t,a)}d={type:\"stylesheet\",instance:d,count:1,state:x},o.set(c,d)}}}function Pb(e,t){$n.X(e,t);var n=$l;if(n&&e){var a=yl(n).hoistableScripts,o=Fl(e),c=a.get(o);c||(c=n.querySelector(oi(o)),c||(e=h({src:e,async:!0},t),(t=tn.get(o))&&Su(e,t),c=n.createElement(\"script\"),st(c),ht(c,\"link\",e),n.head.appendChild(c)),c={type:\"script\",instance:c,count:1,state:null},a.set(o,c))}}function e1(e,t){$n.M(e,t);var n=$l;if(n&&e){var a=yl(n).hoistableScripts,o=Fl(e),c=a.get(o);c||(c=n.querySelector(oi(o)),c||(e=h({src:e,async:!0,type:\"module\"},t),(t=tn.get(o))&&Su(e,t),c=n.createElement(\"script\"),st(c),ht(c,\"link\",e),n.head.appendChild(c)),c={type:\"script\",instance:c,count:1,state:null},a.set(o,c))}}function hh(e,t,n,a){var o=(o=ie.current)?Sr(o):null;if(!o)throw Error(r(446));switch(e){case\"meta\":case\"title\":return null;case\"style\":return typeof n.precedence==\"string\"&&typeof n.href==\"string\"?(t=Il(n.href),n=yl(o).hoistableStyles,a=n.get(t),a||(a={type:\"style\",instance:null,count:0,state:null},n.set(t,a)),a):{type:\"void\",instance:null,count:0,state:null};case\"link\":if(n.rel===\"stylesheet\"&&typeof n.href==\"string\"&&typeof n.precedence==\"string\"){e=Il(n.href);var c=yl(o).hoistableStyles,d=c.get(e);if(d||(o=o.ownerDocument||o,d={type:\"stylesheet\",instance:null,count:0,state:{loading:0,preload:null}},c.set(e,d),(c=o.querySelector(li(e)))&&!c._p&&(d.instance=c,d.state.loading=5),tn.has(e)||(n={rel:\"preload\",as:\"style\",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},tn.set(e,n),c||t1(o,e,n,d.state))),t&&a===null)throw Error(r(528,\"\"));return d}if(t&&a!==null)throw Error(r(529,\"\"));return null;case\"script\":return t=n.async,n=n.src,typeof n==\"string\"&&t&&typeof t!=\"function\"&&typeof t!=\"symbol\"?(t=Fl(n),n=yl(o).hoistableScripts,a=n.get(t),a||(a={type:\"script\",instance:null,count:0,state:null},n.set(t,a)),a):{type:\"void\",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function Il(e){return'href=\"'+Zt(e)+'\"'}function li(e){return'link[rel=\"stylesheet\"]['+e+\"]\"}function gh(e){return h({},e,{\"data-precedence\":e.precedence,precedence:null})}function t1(e,t,n,a){e.querySelector('link[rel=\"preload\"][as=\"style\"]['+t+\"]\")?a.loading=1:(t=e.createElement(\"link\"),a.preload=t,t.addEventListener(\"load\",function(){return a.loading|=1}),t.addEventListener(\"error\",function(){return a.loading|=2}),ht(t,\"link\",n),st(t),e.head.appendChild(t))}function Fl(e){return'[src=\"'+Zt(e)+'\"]'}function oi(e){return\"script[async]\"+e}function vh(e,t,n){if(t.count++,t.instance===null)switch(t.type){case\"style\":var a=e.querySelector('style[data-href~=\"'+Zt(n.href)+'\"]');if(a)return t.instance=a,st(a),a;var o=h({},n,{\"data-href\":n.href,\"data-precedence\":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement(\"style\"),st(a),ht(a,\"style\",o),Er(a,n.precedence,e),t.instance=a;case\"stylesheet\":o=Il(n.href);var c=e.querySelector(li(o));if(c)return t.state.loading|=4,t.instance=c,st(c),c;a=gh(n),(o=tn.get(o))&&xu(a,o),c=(e.ownerDocument||e).createElement(\"link\"),st(c);var d=c;return d._p=new Promise(function(x,w){d.onload=x,d.onerror=w}),ht(c,\"link\",a),t.state.loading|=4,Er(c,n.precedence,e),t.instance=c;case\"script\":return c=Fl(n.src),(o=e.querySelector(oi(c)))?(t.instance=o,st(o),o):(a=n,(o=tn.get(c))&&(a=h({},n),Su(a,o)),e=e.ownerDocument||e,o=e.createElement(\"script\"),st(o),ht(o,\"link\",a),e.head.appendChild(o),t.instance=o);case\"void\":return null;default:throw Error(r(443,t.type))}else t.type===\"stylesheet\"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,Er(a,n.precedence,e));return t.instance}function Er(e,t,n){for(var a=n.querySelectorAll('link[rel=\"stylesheet\"][data-precedence],style[data-precedence]'),o=a.length?a[a.length-1]:null,c=o,d=0;d<a.length;d++){var x=a[d];if(x.dataset.precedence===t)c=x;else if(c!==o)break}c?c.parentNode.insertBefore(e,c.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function xu(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Su(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var wr=null;function yh(e,t,n){if(wr===null){var a=new Map,o=wr=new Map;o.set(n,a)}else o=wr,a=o.get(n),a||(a=new Map,o.set(n,a));if(a.has(e))return a;for(a.set(e,null),n=n.getElementsByTagName(e),o=0;o<n.length;o++){var c=n[o];if(!(c[So]||c[ft]||e===\"link\"&&c.getAttribute(\"rel\")===\"stylesheet\")&&c.namespaceURI!==\"http://www.w3.org/2000/svg\"){var d=c.getAttribute(t)||\"\";d=e+d;var x=a.get(d);x?x.push(c):a.set(d,[c])}}return a}function bh(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===\"title\"?e.querySelector(\"head > title\"):null)}function n1(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case\"meta\":case\"title\":return!0;case\"style\":if(typeof t.precedence!=\"string\"||typeof t.href!=\"string\"||t.href===\"\")break;return!0;case\"link\":if(typeof t.rel!=\"string\"||typeof t.href!=\"string\"||t.href===\"\"||t.onLoad||t.onError)break;switch(t.rel){case\"stylesheet\":return e=t.disabled,typeof t.precedence==\"string\"&&e==null;default:return!0}case\"script\":if(t.async&&typeof t.async!=\"function\"&&typeof t.async!=\"symbol\"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==\"string\")return!0}return!1}function xh(e){return!(e.type===\"stylesheet\"&&(e.state.loading&3)===0)}function a1(e,t,n,a){if(n.type===\"stylesheet\"&&(typeof a.media!=\"string\"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var o=Il(a.href),c=t.querySelector(li(o));if(c){t=c._p,t!==null&&typeof t==\"object\"&&typeof t.then==\"function\"&&(e.count++,e=Tr.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=c,st(c);return}c=t.ownerDocument||t,a=gh(a),(o=tn.get(o))&&xu(a,o),c=c.createElement(\"link\"),st(c);var d=c;d._p=new Promise(function(x,w){d.onload=x,d.onerror=w}),ht(c,\"link\",a),n.instance=c}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=Tr.bind(e),t.addEventListener(\"load\",n),t.addEventListener(\"error\",n))}}var Eu=0;function l1(e,t){return e.stylesheets&&e.count===0&&Ar(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var a=setTimeout(function(){if(e.stylesheets&&Ar(e,e.stylesheets),e.unsuspend){var c=e.unsuspend;e.unsuspend=null,c()}},6e4+t);0<e.imgBytes&&Eu===0&&(Eu=62500*Lb());var o=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Ar(e,e.stylesheets),e.unsuspend)){var c=e.unsuspend;e.unsuspend=null,c()}},(e.imgBytes>Eu?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(o)}}:null}function Tr(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ar(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Cr=null;function Ar(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Cr=new Map,t.forEach(o1,e),Cr=null,Tr.call(e))}function o1(e,t){if(!(t.state.loading&4)){var n=Cr.get(e);if(n)var a=n.get(null);else{n=new Map,Cr.set(e,n);for(var o=e.querySelectorAll(\"link[data-precedence],style[data-precedence]\"),c=0;c<o.length;c++){var d=o[c];(d.nodeName===\"LINK\"||d.getAttribute(\"media\")!==\"not all\")&&(n.set(d.dataset.precedence,d),a=d)}a&&n.set(null,a)}o=t.instance,d=o.getAttribute(\"data-precedence\"),c=n.get(d)||a,c===a&&n.set(null,o),n.set(d,o),this.count++,a=Tr.bind(this),o.addEventListener(\"load\",a),o.addEventListener(\"error\",a),c?c.parentNode.insertBefore(o,c.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(o,e.firstChild)),t.state.loading|=4}}var ii={$$typeof:L,Provider:null,Consumer:null,_currentValue:B,_currentValue2:B,_threadCount:0};function i1(e,t,n,a,o,c,d,x,w){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=na(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=na(0),this.hiddenUpdates=na(null),this.identifierPrefix=a,this.onUncaughtError=o,this.onCaughtError=c,this.onRecoverableError=d,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=w,this.incompleteTransitions=new Map}function Sh(e,t,n,a,o,c,d,x,w,j,q,J){return e=new i1(e,t,n,d,w,j,q,J,x),t=1,c===!0&&(t|=24),c=Lt(3,null,null,t),e.current=c,c.stateNode=e,t=tc(),t.refCount++,e.pooledCache=t,t.refCount++,c.memoizedState={element:a,isDehydrated:n,cache:t},oc(c),e}function Eh(e){return e?(e=Nl,e):Nl}function wh(e,t,n,a,o,c){o=Eh(o),a.context===null?a.context=o:a.pendingContext=o,a=ua(t),a.payload={element:n},c=c===void 0?null:c,c!==null&&(a.callback=c),n=fa(e,a,t),n!==null&&(jt(n,e,t),Lo(n,e,t))}function Th(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function wu(e,t){Th(e,t),(e=e.alternate)&&Th(e,t)}function Ch(e){if(e.tag===13||e.tag===31){var t=Ka(e,67108864);t!==null&&jt(t,e,67108864),wu(e,67108864)}}function Ah(e){if(e.tag===13||e.tag===31){var t=qt();t=pl(t);var n=Ka(e,t);n!==null&&jt(n,e,t),wu(e,t)}}var _r=!0;function r1(e,t,n,a){var o=A.T;A.T=null;var c=V.p;try{V.p=2,Tu(e,t,n,a)}finally{V.p=c,A.T=o}}function s1(e,t,n,a){var o=A.T;A.T=null;var c=V.p;try{V.p=8,Tu(e,t,n,a)}finally{V.p=c,A.T=o}}function Tu(e,t,n,a){if(_r){var o=Cu(a);if(o===null)uu(e,t,a,Nr,n),Nh(e,a);else if(u1(o,e,t,n,a))a.stopPropagation();else if(Nh(e,a),t&4&&-1<c1.indexOf(e)){for(;o!==null;){var c=vl(o);if(c!==null)switch(c.tag){case 3:if(c=c.stateNode,c.current.memoizedState.isDehydrated){var d=yn(c.pendingLanes);if(d!==0){var x=c;for(x.pendingLanes|=2,x.entangledLanes|=2;d;){var w=1<<31-yt(d);x.entanglements[1]|=w,d&=~w}En(c),(He&6)===0&&(ur=Et()+500,ei(0))}}break;case 31:case 13:x=Ka(c,2),x!==null&&jt(x,c,2),dr(),wu(c,2)}if(c=Cu(a),c===null&&uu(e,t,a,Nr,n),c===o)break;o=c}o!==null&&a.stopPropagation()}else uu(e,t,a,null,n)}}function Cu(e){return e=_s(e),Au(e)}var Nr=null;function Au(e){if(Nr=null,e=gl(e),e!==null){var t=f(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=m(t),e!==null)return e;e=null}else if(n===31){if(e=p(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Nr=e,null}function _h(e){switch(e){case\"beforetoggle\":case\"cancel\":case\"click\":case\"close\":case\"contextmenu\":case\"copy\":case\"cut\":case\"auxclick\":case\"dblclick\":case\"dragend\":case\"dragstart\":case\"drop\":case\"focusin\":case\"focusout\":case\"input\":case\"invalid\":case\"keydown\":case\"keypress\":case\"keyup\":case\"mousedown\":case\"mouseup\":case\"paste\":case\"pause\":case\"play\":case\"pointercancel\":case\"pointerdown\":case\"pointerup\":case\"ratechange\":case\"reset\":case\"resize\":case\"seeked\":case\"submit\":case\"toggle\":case\"touchcancel\":case\"touchend\":case\"touchstart\":case\"volumechange\":case\"change\":case\"selectionchange\":case\"textInput\":case\"compositionstart\":case\"compositionend\":case\"compositionupdate\":case\"beforeblur\":case\"afterblur\":case\"beforeinput\":case\"blur\":case\"fullscreenchange\":case\"focus\":case\"hashchange\":case\"popstate\":case\"select\":case\"selectstart\":return 2;case\"drag\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"mousemove\":case\"mouseout\":case\"mouseover\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"scroll\":case\"touchmove\":case\"wheel\":case\"mouseenter\":case\"mouseleave\":case\"pointerenter\":case\"pointerleave\":return 8;case\"message\":switch(vs()){case Ha:return 2;case xi:return 8;case Ba:case bo:return 32;case Mn:return 268435456;default:return 32}default:return 32}}var _u=!1,Ea=null,wa=null,Ta=null,ri=new Map,si=new Map,Ca=[],c1=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset\".split(\" \");function Nh(e,t){switch(e){case\"focusin\":case\"focusout\":Ea=null;break;case\"dragenter\":case\"dragleave\":wa=null;break;case\"mouseover\":case\"mouseout\":Ta=null;break;case\"pointerover\":case\"pointerout\":ri.delete(t.pointerId);break;case\"gotpointercapture\":case\"lostpointercapture\":si.delete(t.pointerId)}}function ci(e,t,n,a,o,c){return e===null||e.nativeEvent!==c?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:c,targetContainers:[o]},t!==null&&(t=vl(t),t!==null&&Ch(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function u1(e,t,n,a,o){switch(t){case\"focusin\":return Ea=ci(Ea,e,t,n,a,o),!0;case\"dragenter\":return wa=ci(wa,e,t,n,a,o),!0;case\"mouseover\":return Ta=ci(Ta,e,t,n,a,o),!0;case\"pointerover\":var c=o.pointerId;return ri.set(c,ci(ri.get(c)||null,e,t,n,a,o)),!0;case\"gotpointercapture\":return c=o.pointerId,si.set(c,ci(si.get(c)||null,e,t,n,a,o)),!0}return!1}function Rh(e){var t=gl(e.target);if(t!==null){var n=f(t);if(n!==null){if(t=n.tag,t===13){if(t=m(n),t!==null){e.blockedOn=t,qf(e.priority,function(){Ah(n)});return}}else if(t===31){if(t=p(n),t!==null){e.blockedOn=t,qf(e.priority,function(){Ah(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Rr(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Cu(e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);As=a,n.target.dispatchEvent(a),As=null}else return t=vl(n),t!==null&&Ch(t),e.blockedOn=n,!1;t.shift()}return!0}function Oh(e,t,n){Rr(e)&&n.delete(t)}function f1(){_u=!1,Ea!==null&&Rr(Ea)&&(Ea=null),wa!==null&&Rr(wa)&&(wa=null),Ta!==null&&Rr(Ta)&&(Ta=null),ri.forEach(Oh),si.forEach(Oh)}function Or(e,t){e.blockedOn===t&&(e.blockedOn=null,_u||(_u=!0,l.unstable_scheduleCallback(l.unstable_NormalPriority,f1)))}var Mr=null;function Mh(e){Mr!==e&&(Mr=e,l.unstable_scheduleCallback(l.unstable_NormalPriority,function(){Mr===e&&(Mr=null);for(var t=0;t<e.length;t+=3){var n=e[t],a=e[t+1],o=e[t+2];if(typeof a!=\"function\"){if(Au(a||n)===null)continue;break}var c=vl(n);c!==null&&(e.splice(t,3),t-=3,Cc(c,{pending:!0,data:o,method:n.method,action:a},a,o))}}))}function Wl(e){function t(w){return Or(w,e)}Ea!==null&&Or(Ea,e),wa!==null&&Or(wa,e),Ta!==null&&Or(Ta,e),ri.forEach(t),si.forEach(t);for(var n=0;n<Ca.length;n++){var a=Ca[n];a.blockedOn===e&&(a.blockedOn=null)}for(;0<Ca.length&&(n=Ca[0],n.blockedOn===null);)Rh(n),n.blockedOn===null&&Ca.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(a=0;a<n.length;a+=3){var o=n[a],c=n[a+1],d=o[Nt]||null;if(typeof c==\"function\")d||Mh(n);else if(d){var x=null;if(c&&c.hasAttribute(\"formAction\")){if(o=c,d=c[Nt]||null)x=d.formAction;else if(Au(o)!==null)continue}else x=d.action;typeof x==\"function\"?n[a+1]=x:(n.splice(a,3),a-=3),Mh(n)}}}function Dh(){function e(c){c.canIntercept&&c.info===\"react-transition\"&&c.intercept({handler:function(){return new Promise(function(d){return o=d})},focusReset:\"manual\",scroll:\"manual\"})}function t(){o!==null&&(o(),o=null),a||setTimeout(n,20)}function n(){if(!a&&!navigation.transition){var c=navigation.currentEntry;c&&c.url!=null&&navigation.navigate(c.url,{state:c.getState(),info:\"react-transition\",history:\"replace\"})}}if(typeof navigation==\"object\"){var a=!1,o=null;return navigation.addEventListener(\"navigate\",e),navigation.addEventListener(\"navigatesuccess\",t),navigation.addEventListener(\"navigateerror\",t),setTimeout(n,100),function(){a=!0,navigation.removeEventListener(\"navigate\",e),navigation.removeEventListener(\"navigatesuccess\",t),navigation.removeEventListener(\"navigateerror\",t),o!==null&&(o(),o=null)}}}function Nu(e){this._internalRoot=e}Dr.prototype.render=Nu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));var n=t.current,a=qt();wh(n,a,e,t,null,null)},Dr.prototype.unmount=Nu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;wh(e.current,2,null,e,null,null),dr(),t[hl]=null}};function Dr(e){this._internalRoot=e}Dr.prototype.unstable_scheduleHydration=function(e){if(e){var t=bs();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Ca.length&&t!==0&&t<Ca[n].priority;n++);Ca.splice(n,0,e),n===0&&Rh(e)}};var zh=i.version;if(zh!==\"19.2.0\")throw Error(r(527,zh,\"19.2.0\"));V.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==\"function\"?Error(r(188)):(e=Object.keys(e).join(\",\"),Error(r(268,e)));return e=g(t),e=e!==null?S(e):null,e=e===null?null:e.stateNode,e};var d1={bundleType:0,version:\"19.2.0\",rendererPackageName:\"react-dom\",currentDispatcherRef:A,reconcilerVersion:\"19.2.0\"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<\"u\"){var zr=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zr.isDisabled&&zr.supportsFiber)try{La=zr.inject(d1),wt=zr}catch{}}return fi.createRoot=function(e,t){if(!u(e))throw Error(r(299));var n=!1,a=\"\",o=Vm,c=Ym,d=Gm;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(c=t.onCaughtError),t.onRecoverableError!==void 0&&(d=t.onRecoverableError)),t=Sh(e,1,!1,null,null,n,a,null,o,c,d,Dh),e[hl]=t.current,cu(e),new Nu(t)},fi.hydrateRoot=function(e,t,n){if(!u(e))throw Error(r(299));var a=!1,o=\"\",c=Vm,d=Ym,x=Gm,w=null;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onUncaughtError!==void 0&&(c=n.onUncaughtError),n.onCaughtError!==void 0&&(d=n.onCaughtError),n.onRecoverableError!==void 0&&(x=n.onRecoverableError),n.formState!==void 0&&(w=n.formState)),t=Sh(e,1,!0,t,n??null,a,o,w,c,d,x,Dh),t.context=Eh(null),n=t.current,a=qt(),a=pl(a),o=ua(a),o.callback=null,fa(n,o,a),n=a,t.current.lanes=n,$e(t,n),En(t),e[hl]=t.current,cu(e),new Dr(t)},fi.version=\"19.2.0\",fi}var qh;function E1(){if(qh)return Mu.exports;qh=1;function l(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>\"u\"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=\"function\"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(l)}catch(i){console.error(i)}}return l(),Mu.exports=S1(),Mu.exports}var w1=E1();function De(l,i,{checkForDefaultPrevented:s=!0}={}){return function(u){if(l?.(u),s===!1||!u.defaultPrevented)return i?.(u)}}function T1(l,i){const s=b.createContext(i),r=f=>{const{children:m,...p}=f,v=b.useMemo(()=>p,Object.values(p));return y.jsx(s.Provider,{value:v,children:m})};r.displayName=l+\"Provider\";function u(f){const m=b.useContext(s);if(m)return m;if(i!==void 0)return i;throw new Error(`\\`${f}\\` must be used within \\`${l}\\``)}return[r,u]}function za(l,i=[]){let s=[];function r(f,m){const p=b.createContext(m),v=s.length;s=[...s,m];const g=h=>{const{scope:T,children:N,...D}=h,E=T?.[l]?.[v]||p,R=b.useMemo(()=>D,Object.values(D));return y.jsx(E.Provider,{value:R,children:N})};g.displayName=f+\"Provider\";function S(h,T){const N=T?.[l]?.[v]||p,D=b.useContext(N);if(D)return D;if(m!==void 0)return m;throw new Error(`\\`${h}\\` must be used within \\`${f}\\``)}return[g,S]}const u=()=>{const f=s.map(m=>b.createContext(m));return function(p){const v=p?.[l]||f;return b.useMemo(()=>({[`__scope${l}`]:{...p,[l]:v}}),[p,v])}};return u.scopeName=l,[r,C1(u,...i)]}function C1(...l){const i=l[0];if(l.length===1)return i;const s=()=>{const r=l.map(u=>({useScope:u(),scopeName:u.scopeName}));return function(f){const m=r.reduce((p,{useScope:v,scopeName:g})=>{const h=v(f)[`__scope${g}`];return{...p,...h}},{});return b.useMemo(()=>({[`__scope${i.scopeName}`]:m}),[m])}};return s.scopeName=i.scopeName,s}function Xh(l,i){if(typeof l==\"function\")return l(i);l!=null&&(l.current=i)}function so(...l){return i=>{let s=!1;const r=l.map(u=>{const f=Xh(u,i);return!s&&typeof f==\"function\"&&(s=!0),f});if(s)return()=>{for(let u=0;u<r.length;u++){const f=r[u];typeof f==\"function\"?f():Xh(l[u],null)}}}}function Je(...l){return b.useCallback(so(...l),l)}function Kh(l){const i=A1(l),s=b.forwardRef((r,u)=>{const{children:f,...m}=r,p=b.Children.toArray(f),v=p.find(N1);if(v){const g=v.props.children,S=p.map(h=>h===v?b.Children.count(g)>1?b.Children.only(null):b.isValidElement(g)?g.props.children:null:h);return y.jsx(i,{...m,ref:u,children:b.isValidElement(g)?b.cloneElement(g,void 0,S):null})}return y.jsx(i,{...m,ref:u,children:f})});return s.displayName=`${l}.Slot`,s}function A1(l){const i=b.forwardRef((s,r)=>{const{children:u,...f}=s;if(b.isValidElement(u)){const m=O1(u),p=R1(f,u.props);return u.type!==b.Fragment&&(p.ref=r?so(r,m):m),b.cloneElement(u,p)}return b.Children.count(u)>1?b.Children.only(null):null});return i.displayName=`${l}.SlotClone`,i}var _1=Symbol(\"radix.slottable\");function N1(l){return b.isValidElement(l)&&typeof l.type==\"function\"&&\"__radixId\"in l.type&&l.type.__radixId===_1}function R1(l,i){const s={...i};for(const r in i){const u=l[r],f=i[r];/^on[A-Z]/.test(r)?u&&f?s[r]=(...p)=>{const v=f(...p);return u(...p),v}:u&&(s[r]=u):r===\"style\"?s[r]={...u,...f}:r===\"className\"&&(s[r]=[u,f].filter(Boolean).join(\" \"))}return{...l,...s}}function O1(l){let i=Object.getOwnPropertyDescriptor(l.props,\"ref\")?.get,s=i&&\"isReactWarning\"in i&&i.isReactWarning;return s?l.ref:(i=Object.getOwnPropertyDescriptor(l,\"ref\")?.get,s=i&&\"isReactWarning\"in i&&i.isReactWarning,s?l.props.ref:l.props.ref||l.ref)}function vf(l){const i=l+\"CollectionProvider\",[s,r]=za(i),[u,f]=s(i,{collectionRef:{current:null},itemMap:new Map}),m=E=>{const{scope:R,children:O}=E,U=P.useRef(null),L=P.useRef(new Map).current;return y.jsx(u,{scope:R,itemMap:L,collectionRef:U,children:O})};m.displayName=i;const p=l+\"CollectionSlot\",v=Kh(p),g=P.forwardRef((E,R)=>{const{scope:O,children:U}=E,L=f(p,O),Q=Je(R,L.collectionRef);return y.jsx(v,{ref:Q,children:U})});g.displayName=p;const S=l+\"CollectionItemSlot\",h=\"data-radix-collection-item\",T=Kh(S),N=P.forwardRef((E,R)=>{const{scope:O,children:U,...L}=E,Q=P.useRef(null),$=Je(R,Q),F=f(S,O);return P.useEffect(()=>(F.itemMap.set(Q,{ref:Q,...L}),()=>void F.itemMap.delete(Q))),y.jsx(T,{[h]:\"\",ref:$,children:U})});N.displayName=S;function D(E){const R=f(l+\"CollectionConsumer\",E);return P.useCallback(()=>{const U=R.collectionRef.current;if(!U)return[];const L=Array.from(U.querySelectorAll(`[${h}]`));return Array.from(R.itemMap.values()).sort((F,X)=>L.indexOf(F.ref.current)-L.indexOf(X.ref.current))},[R.collectionRef,R.itemMap])}return[{Provider:m,Slot:g,ItemSlot:N},D,r]}var gt=globalThis?.document?b.useLayoutEffect:()=>{},M1=gf[\" useId \".trim().toString()]||(()=>{}),D1=0;function An(l){const[i,s]=b.useState(M1());return gt(()=>{s(r=>r??String(D1++))},[l]),l||(i?`radix-${i}`:\"\")}var vi=Mg();const Dg=Og(vi);function z1(l){const i=j1(l),s=b.forwardRef((r,u)=>{const{children:f,...m}=r,p=b.Children.toArray(f),v=p.find(H1);if(v){const g=v.props.children,S=p.map(h=>h===v?b.Children.count(g)>1?b.Children.only(null):b.isValidElement(g)?g.props.children:null:h);return y.jsx(i,{...m,ref:u,children:b.isValidElement(g)?b.cloneElement(g,void 0,S):null})}return y.jsx(i,{...m,ref:u,children:f})});return s.displayName=`${l}.Slot`,s}function j1(l){const i=b.forwardRef((s,r)=>{const{children:u,...f}=s;if(b.isValidElement(u)){const m=L1(u),p=B1(f,u.props);return u.type!==b.Fragment&&(p.ref=r?so(r,m):m),b.cloneElement(u,p)}return b.Children.count(u)>1?b.Children.only(null):null});return i.displayName=`${l}.SlotClone`,i}var U1=Symbol(\"radix.slottable\");function H1(l){return b.isValidElement(l)&&typeof l.type==\"function\"&&\"__radixId\"in l.type&&l.type.__radixId===U1}function B1(l,i){const s={...i};for(const r in i){const u=l[r],f=i[r];/^on[A-Z]/.test(r)?u&&f?s[r]=(...p)=>{const v=f(...p);return u(...p),v}:u&&(s[r]=u):r===\"style\"?s[r]={...u,...f}:r===\"className\"&&(s[r]=[u,f].filter(Boolean).join(\" \"))}return{...l,...s}}function L1(l){let i=Object.getOwnPropertyDescriptor(l.props,\"ref\")?.get,s=i&&\"isReactWarning\"in i&&i.isReactWarning;return s?l.ref:(i=Object.getOwnPropertyDescriptor(l,\"ref\")?.get,s=i&&\"isReactWarning\"in i&&i.isReactWarning,s?l.props.ref:l.props.ref||l.ref)}var k1=[\"a\",\"button\",\"div\",\"form\",\"h2\",\"h3\",\"img\",\"input\",\"label\",\"li\",\"nav\",\"ol\",\"p\",\"select\",\"span\",\"svg\",\"ul\"],Ne=k1.reduce((l,i)=>{const s=z1(`Primitive.${i}`),r=b.forwardRef((u,f)=>{const{asChild:m,...p}=u,v=m?s:i;return typeof window<\"u\"&&(window[Symbol.for(\"radix-ui\")]=!0),y.jsx(v,{...p,ref:f})});return r.displayName=`Primitive.${i}`,{...l,[i]:r}},{});function V1(l,i){l&&vi.flushSync(()=>l.dispatchEvent(i))}function Ra(l){const i=b.useRef(l);return b.useEffect(()=>{i.current=l}),b.useMemo(()=>(...s)=>i.current?.(...s),[])}var Y1=gf[\" useInsertionEffect \".trim().toString()]||gt;function Oa({prop:l,defaultProp:i,onChange:s=()=>{},caller:r}){const[u,f,m]=G1({defaultProp:i,onChange:s}),p=l!==void 0,v=p?l:u;{const S=b.useRef(l!==void 0);b.useEffect(()=>{const h=S.current;h!==p&&console.warn(`${r} is changing from ${h?\"controlled\":\"uncontrolled\"} to ${p?\"controlled\":\"uncontrolled\"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),S.current=p},[p,r])}const g=b.useCallback(S=>{if(p){const h=q1(S)?S(l):S;h!==l&&m.current?.(h)}else f(S)},[p,l,f,m]);return[v,g]}function G1({defaultProp:l,onChange:i}){const[s,r]=b.useState(l),u=b.useRef(s),f=b.useRef(i);return Y1(()=>{f.current=i},[i]),b.useEffect(()=>{u.current!==s&&(f.current?.(s),u.current=s)},[s,u]),[s,r,f]}function q1(l){return typeof l==\"function\"}var X1=b.createContext(void 0);function ns(l){const i=b.useContext(X1);return l||i||\"ltr\"}var Uu=\"rovingFocusGroup.onEntryFocus\",K1={bubbles:!1,cancelable:!0},yi=\"RovingFocusGroup\",[Zu,zg,Q1]=vf(yi),[Z1,jg]=za(yi,[Q1]),[J1,$1]=Z1(yi),Ug=b.forwardRef((l,i)=>y.jsx(Zu.Provider,{scope:l.__scopeRovingFocusGroup,children:y.jsx(Zu.Slot,{scope:l.__scopeRovingFocusGroup,children:y.jsx(I1,{...l,ref:i})})}));Ug.displayName=yi;var I1=b.forwardRef((l,i)=>{const{__scopeRovingFocusGroup:s,orientation:r,loop:u=!1,dir:f,currentTabStopId:m,defaultCurrentTabStopId:p,onCurrentTabStopIdChange:v,onEntryFocus:g,preventScrollOnEntryFocus:S=!1,...h}=l,T=b.useRef(null),N=Je(i,T),D=ns(f),[E,R]=Oa({prop:m,defaultProp:p??null,onChange:v,caller:yi}),[O,U]=b.useState(!1),L=Ra(g),Q=zg(s),$=b.useRef(!1),[F,X]=b.useState(0);return b.useEffect(()=>{const K=T.current;if(K)return K.addEventListener(Uu,L),()=>K.removeEventListener(Uu,L)},[L]),y.jsx(J1,{scope:s,orientation:r,dir:D,loop:u,currentTabStopId:E,onItemFocus:b.useCallback(K=>R(K),[R]),onItemShiftTab:b.useCallback(()=>U(!0),[]),onFocusableItemAdd:b.useCallback(()=>X(K=>K+1),[]),onFocusableItemRemove:b.useCallback(()=>X(K=>K-1),[]),children:y.jsx(Ne.div,{tabIndex:O||F===0?-1:0,\"data-orientation\":r,...h,ref:N,style:{outline:\"none\",...l.style},onMouseDown:De(l.onMouseDown,()=>{$.current=!0}),onFocus:De(l.onFocus,K=>{const se=!$.current;if(K.target===K.currentTarget&&se&&!O){const ve=new CustomEvent(Uu,K1);if(K.currentTarget.dispatchEvent(ve),!ve.defaultPrevented){const ye=Q().filter(A=>A.focusable),fe=ye.find(A=>A.active),de=ye.find(A=>A.id===E),he=[fe,de,...ye].filter(Boolean).map(A=>A.ref.current);Lg(he,S)}}$.current=!1}),onBlur:De(l.onBlur,()=>U(!1))})})}),Hg=\"RovingFocusGroupItem\",Bg=b.forwardRef((l,i)=>{const{__scopeRovingFocusGroup:s,focusable:r=!0,active:u=!1,tabStopId:f,children:m,...p}=l,v=An(),g=f||v,S=$1(Hg,s),h=S.currentTabStopId===g,T=zg(s),{onFocusableItemAdd:N,onFocusableItemRemove:D,currentTabStopId:E}=S;return b.useEffect(()=>{if(r)return N(),()=>D()},[r,N,D]),y.jsx(Zu.ItemSlot,{scope:s,id:g,focusable:r,active:u,children:y.jsx(Ne.span,{tabIndex:h?0:-1,\"data-orientation\":S.orientation,...p,ref:i,onMouseDown:De(l.onMouseDown,R=>{r?S.onItemFocus(g):R.preventDefault()}),onFocus:De(l.onFocus,()=>S.onItemFocus(g)),onKeyDown:De(l.onKeyDown,R=>{if(R.key===\"Tab\"&&R.shiftKey){S.onItemShiftTab();return}if(R.target!==R.currentTarget)return;const O=P1(R,S.orientation,S.dir);if(O!==void 0){if(R.metaKey||R.ctrlKey||R.altKey||R.shiftKey)return;R.preventDefault();let L=T().filter(Q=>Q.focusable).map(Q=>Q.ref.current);if(O===\"last\")L.reverse();else if(O===\"prev\"||O===\"next\"){O===\"prev\"&&L.reverse();const Q=L.indexOf(R.currentTarget);L=S.loop?ex(L,Q+1):L.slice(Q+1)}setTimeout(()=>Lg(L))}}),children:typeof m==\"function\"?m({isCurrentTabStop:h,hasTabStop:E!=null}):m})})});Bg.displayName=Hg;var F1={ArrowLeft:\"prev\",ArrowUp:\"prev\",ArrowRight:\"next\",ArrowDown:\"next\",PageUp:\"first\",Home:\"first\",PageDown:\"last\",End:\"last\"};function W1(l,i){return i!==\"rtl\"?l:l===\"ArrowLeft\"?\"ArrowRight\":l===\"ArrowRight\"?\"ArrowLeft\":l}function P1(l,i,s){const r=W1(l.key,s);if(!(i===\"vertical\"&&[\"ArrowLeft\",\"ArrowRight\"].includes(r))&&!(i===\"horizontal\"&&[\"ArrowUp\",\"ArrowDown\"].includes(r)))return F1[r]}function Lg(l,i=!1){const s=document.activeElement;for(const r of l)if(r===s||(r.focus({preventScroll:i}),document.activeElement!==s))return}function ex(l,i){return l.map((s,r)=>l[(i+r)%l.length])}var tx=Ug,nx=Bg;function ax(l,i){return b.useReducer((s,r)=>i[s][r]??s,l)}var co=l=>{const{present:i,children:s}=l,r=lx(i),u=typeof s==\"function\"?s({present:r.isPresent}):b.Children.only(s),f=Je(r.ref,ox(u));return typeof s==\"function\"||r.isPresent?b.cloneElement(u,{ref:f}):null};co.displayName=\"Presence\";function lx(l){const[i,s]=b.useState(),r=b.useRef(null),u=b.useRef(l),f=b.useRef(\"none\"),m=l?\"mounted\":\"unmounted\",[p,v]=ax(m,{mounted:{UNMOUNT:\"unmounted\",ANIMATION_OUT:\"unmountSuspended\"},unmountSuspended:{MOUNT:\"mounted\",ANIMATION_END:\"unmounted\"},unmounted:{MOUNT:\"mounted\"}});return b.useEffect(()=>{const g=jr(r.current);f.current=p===\"mounted\"?g:\"none\"},[p]),gt(()=>{const g=r.current,S=u.current;if(S!==l){const T=f.current,N=jr(g);l?v(\"MOUNT\"):N===\"none\"||g?.display===\"none\"?v(\"UNMOUNT\"):v(S&&T!==N?\"ANIMATION_OUT\":\"UNMOUNT\"),u.current=l}},[l,v]),gt(()=>{if(i){let g;const S=i.ownerDocument.defaultView??window,h=N=>{const E=jr(r.current).includes(CSS.escape(N.animationName));if(N.target===i&&E&&(v(\"ANIMATION_END\"),!u.current)){const R=i.style.animationFillMode;i.style.animationFillMode=\"forwards\",g=S.setTimeout(()=>{i.style.animationFillMode===\"forwards\"&&(i.style.animationFillMode=R)})}},T=N=>{N.target===i&&(f.current=jr(r.current))};return i.addEventListener(\"animationstart\",T),i.addEventListener(\"animationcancel\",h),i.addEventListener(\"animationend\",h),()=>{S.clearTimeout(g),i.removeEventListener(\"animationstart\",T),i.removeEventListener(\"animationcancel\",h),i.removeEventListener(\"animationend\",h)}}else v(\"ANIMATION_END\")},[i,v]),{isPresent:[\"mounted\",\"unmountSuspended\"].includes(p),ref:b.useCallback(g=>{r.current=g?getComputedStyle(g):null,s(g)},[])}}function jr(l){return l?.animationName||\"none\"}function ox(l){let i=Object.getOwnPropertyDescriptor(l.props,\"ref\")?.get,s=i&&\"isReactWarning\"in i&&i.isReactWarning;return s?l.ref:(i=Object.getOwnPropertyDescriptor(l,\"ref\")?.get,s=i&&\"isReactWarning\"in i&&i.isReactWarning,s?l.props.ref:l.props.ref||l.ref)}var as=\"Tabs\",[ix]=za(as,[jg]),kg=jg(),[rx,yf]=ix(as),Vg=b.forwardRef((l,i)=>{const{__scopeTabs:s,value:r,onValueChange:u,defaultValue:f,orientation:m=\"horizontal\",dir:p,activationMode:v=\"automatic\",...g}=l,S=ns(p),[h,T]=Oa({prop:r,onChange:u,defaultProp:f??\"\",caller:as});return y.jsx(rx,{scope:s,baseId:An(),value:h,onValueChange:T,orientation:m,dir:S,activationMode:v,children:y.jsx(Ne.div,{dir:S,\"data-orientation\":m,...g,ref:i})})});Vg.displayName=as;var Yg=\"TabsList\",Gg=b.forwardRef((l,i)=>{const{__scopeTabs:s,loop:r=!0,...u}=l,f=yf(Yg,s),m=kg(s);return y.jsx(tx,{asChild:!0,...m,orientation:f.orientation,dir:f.dir,loop:r,children:y.jsx(Ne.div,{role:\"tablist\",\"aria-orientation\":f.orientation,...u,ref:i})})});Gg.displayName=Yg;var qg=\"TabsTrigger\",Xg=b.forwardRef((l,i)=>{const{__scopeTabs:s,value:r,disabled:u=!1,...f}=l,m=yf(qg,s),p=kg(s),v=Zg(m.baseId,r),g=Jg(m.baseId,r),S=r===m.value;return y.jsx(nx,{asChild:!0,...p,focusable:!u,active:S,children:y.jsx(Ne.button,{type:\"button\",role:\"tab\",\"aria-selected\":S,\"aria-controls\":g,\"data-state\":S?\"active\":\"inactive\",\"data-disabled\":u?\"\":void 0,disabled:u,id:v,...f,ref:i,onMouseDown:De(l.onMouseDown,h=>{!u&&h.button===0&&h.ctrlKey===!1?m.onValueChange(r):h.preventDefault()}),onKeyDown:De(l.onKeyDown,h=>{[\" \",\"Enter\"].includes(h.key)&&m.onValueChange(r)}),onFocus:De(l.onFocus,()=>{const h=m.activationMode!==\"manual\";!S&&!u&&h&&m.onValueChange(r)})})})});Xg.displayName=qg;var Kg=\"TabsContent\",Qg=b.forwardRef((l,i)=>{const{__scopeTabs:s,value:r,forceMount:u,children:f,...m}=l,p=yf(Kg,s),v=Zg(p.baseId,r),g=Jg(p.baseId,r),S=r===p.value,h=b.useRef(S);return b.useEffect(()=>{const T=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(T)},[]),y.jsx(co,{present:u||S,children:({present:T})=>y.jsx(Ne.div,{\"data-state\":S?\"active\":\"inactive\",\"data-orientation\":p.orientation,role:\"tabpanel\",\"aria-labelledby\":v,hidden:!T,id:g,tabIndex:0,...m,ref:i,style:{...l.style,animationDuration:h.current?\"0s\":void 0},children:T&&f})})});Qg.displayName=Kg;function Zg(l,i){return`${l}-trigger-${i}`}function Jg(l,i){return`${l}-content-${i}`}var sx=Vg,cx=Gg,ux=Xg,fx=Qg;function $g(l){var i,s,r=\"\";if(typeof l==\"string\"||typeof l==\"number\")r+=l;else if(typeof l==\"object\")if(Array.isArray(l)){var u=l.length;for(i=0;i<u;i++)l[i]&&(s=$g(l[i]))&&(r&&(r+=\" \"),r+=s)}else for(s in l)l[s]&&(r&&(r+=\" \"),r+=s);return r}function Ig(){for(var l,i,s=0,r=\"\",u=arguments.length;s<u;s++)(l=arguments[s])&&(i=$g(l))&&(r&&(r+=\" \"),r+=i);return r}const bf=\"-\",dx=l=>{const i=px(l),{conflictingClassGroups:s,conflictingClassGroupModifiers:r}=l;return{getClassGroupId:m=>{const p=m.split(bf);return p[0]===\"\"&&p.length!==1&&p.shift(),Fg(p,i)||mx(m)},getConflictingClassGroupIds:(m,p)=>{const v=s[m]||[];return p&&r[m]?[...v,...r[m]]:v}}},Fg=(l,i)=>{if(l.length===0)return i.classGroupId;const s=l[0],r=i.nextPart.get(s),u=r?Fg(l.slice(1),r):void 0;if(u)return u;if(i.validators.length===0)return;const f=l.join(bf);return i.validators.find(({validator:m})=>m(f))?.classGroupId},Qh=/^\\[(.+)\\]$/,mx=l=>{if(Qh.test(l)){const i=Qh.exec(l)[1],s=i?.substring(0,i.indexOf(\":\"));if(s)return\"arbitrary..\"+s}},px=l=>{const{theme:i,classGroups:s}=l,r={nextPart:new Map,validators:[]};for(const u in s)Ju(s[u],r,u,i);return r},Ju=(l,i,s,r)=>{l.forEach(u=>{if(typeof u==\"string\"){const f=u===\"\"?i:Zh(i,u);f.classGroupId=s;return}if(typeof u==\"function\"){if(hx(u)){Ju(u(r),i,s,r);return}i.validators.push({validator:u,classGroupId:s});return}Object.entries(u).forEach(([f,m])=>{Ju(m,Zh(i,f),s,r)})})},Zh=(l,i)=>{let s=l;return i.split(bf).forEach(r=>{s.nextPart.has(r)||s.nextPart.set(r,{nextPart:new Map,validators:[]}),s=s.nextPart.get(r)}),s},hx=l=>l.isThemeGetter,gx=l=>{if(l<1)return{get:()=>{},set:()=>{}};let i=0,s=new Map,r=new Map;const u=(f,m)=>{s.set(f,m),i++,i>l&&(i=0,r=s,s=new Map)};return{get(f){let m=s.get(f);if(m!==void 0)return m;if((m=r.get(f))!==void 0)return u(f,m),m},set(f,m){s.has(f)?s.set(f,m):u(f,m)}}},$u=\"!\",Iu=\":\",vx=Iu.length,yx=l=>{const{prefix:i,experimentalParseClassName:s}=l;let r=u=>{const f=[];let m=0,p=0,v=0,g;for(let D=0;D<u.length;D++){let E=u[D];if(m===0&&p===0){if(E===Iu){f.push(u.slice(v,D)),v=D+vx;continue}if(E===\"/\"){g=D;continue}}E===\"[\"?m++:E===\"]\"?m--:E===\"(\"?p++:E===\")\"&&p--}const S=f.length===0?u:u.substring(v),h=bx(S),T=h!==S,N=g&&g>v?g-v:void 0;return{modifiers:f,hasImportantModifier:T,baseClassName:h,maybePostfixModifierPosition:N}};if(i){const u=i+Iu,f=r;r=m=>m.startsWith(u)?f(m.substring(u.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:m,maybePostfixModifierPosition:void 0}}if(s){const u=r;r=f=>s({className:f,parseClassName:u})}return r},bx=l=>l.endsWith($u)?l.substring(0,l.length-1):l.startsWith($u)?l.substring(1):l,xx=l=>{const i=Object.fromEntries(l.orderSensitiveModifiers.map(r=>[r,!0]));return r=>{if(r.length<=1)return r;const u=[];let f=[];return r.forEach(m=>{m[0]===\"[\"||i[m]?(u.push(...f.sort(),m),f=[]):f.push(m)}),u.push(...f.sort()),u}},Sx=l=>({cache:gx(l.cacheSize),parseClassName:yx(l),sortModifiers:xx(l),...dx(l)}),Ex=/\\s+/,wx=(l,i)=>{const{parseClassName:s,getClassGroupId:r,getConflictingClassGroupIds:u,sortModifiers:f}=i,m=[],p=l.trim().split(Ex);let v=\"\";for(let g=p.length-1;g>=0;g-=1){const S=p[g],{isExternal:h,modifiers:T,hasImportantModifier:N,baseClassName:D,maybePostfixModifierPosition:E}=s(S);if(h){v=S+(v.length>0?\" \"+v:v);continue}let R=!!E,O=r(R?D.substring(0,E):D);if(!O){if(!R){v=S+(v.length>0?\" \"+v:v);continue}if(O=r(D),!O){v=S+(v.length>0?\" \"+v:v);continue}R=!1}const U=f(T).join(\":\"),L=N?U+$u:U,Q=L+O;if(m.includes(Q))continue;m.push(Q);const $=u(O,R);for(let F=0;F<$.length;++F){const X=$[F];m.push(L+X)}v=S+(v.length>0?\" \"+v:v)}return v};function Tx(){let l=0,i,s,r=\"\";for(;l<arguments.length;)(i=arguments[l++])&&(s=Wg(i))&&(r&&(r+=\" \"),r+=s);return r}const Wg=l=>{if(typeof l==\"string\")return l;let i,s=\"\";for(let r=0;r<l.length;r++)l[r]&&(i=Wg(l[r]))&&(s&&(s+=\" \"),s+=i);return s};function Cx(l,...i){let s,r,u,f=m;function m(v){const g=i.reduce((S,h)=>h(S),l());return s=Sx(g),r=s.cache.get,u=s.cache.set,f=p,p(v)}function p(v){const g=r(v);if(g)return g;const S=wx(v,s);return u(v,S),S}return function(){return f(Tx.apply(null,arguments))}}const it=l=>{const i=s=>s[l]||[];return i.isThemeGetter=!0,i},Pg=/^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i,ev=/^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i,Ax=/^\\d+\\/\\d+$/,_x=/^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/,Nx=/\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/,Rx=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\\(.+\\)$/,Ox=/^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/,Mx=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/,Pl=l=>Ax.test(l),Te=l=>!!l&&!Number.isNaN(Number(l)),_a=l=>!!l&&Number.isInteger(Number(l)),Hu=l=>l.endsWith(\"%\")&&Te(l.slice(0,-1)),In=l=>_x.test(l),Dx=()=>!0,zx=l=>Nx.test(l)&&!Rx.test(l),tv=()=>!1,jx=l=>Ox.test(l),Ux=l=>Mx.test(l),Hx=l=>!le(l)&&!oe(l),Bx=l=>uo(l,lv,tv),le=l=>Pg.test(l),ll=l=>uo(l,ov,zx),Bu=l=>uo(l,Gx,Te),Jh=l=>uo(l,nv,tv),Lx=l=>uo(l,av,Ux),Ur=l=>uo(l,iv,jx),oe=l=>ev.test(l),di=l=>fo(l,ov),kx=l=>fo(l,qx),$h=l=>fo(l,nv),Vx=l=>fo(l,lv),Yx=l=>fo(l,av),Hr=l=>fo(l,iv,!0),uo=(l,i,s)=>{const r=Pg.exec(l);return r?r[1]?i(r[1]):s(r[2]):!1},fo=(l,i,s=!1)=>{const r=ev.exec(l);return r?r[1]?i(r[1]):s:!1},nv=l=>l===\"position\"||l===\"percentage\",av=l=>l===\"image\"||l===\"url\",lv=l=>l===\"length\"||l===\"size\"||l===\"bg-size\",ov=l=>l===\"length\",Gx=l=>l===\"number\",qx=l=>l===\"family-name\",iv=l=>l===\"shadow\",Xx=()=>{const l=it(\"color\"),i=it(\"font\"),s=it(\"text\"),r=it(\"font-weight\"),u=it(\"tracking\"),f=it(\"leading\"),m=it(\"breakpoint\"),p=it(\"container\"),v=it(\"spacing\"),g=it(\"radius\"),S=it(\"shadow\"),h=it(\"inset-shadow\"),T=it(\"text-shadow\"),N=it(\"drop-shadow\"),D=it(\"blur\"),E=it(\"perspective\"),R=it(\"aspect\"),O=it(\"ease\"),U=it(\"animate\"),L=()=>[\"auto\",\"avoid\",\"all\",\"avoid-page\",\"page\",\"left\",\"right\",\"column\"],Q=()=>[\"center\",\"top\",\"bottom\",\"left\",\"right\",\"top-left\",\"left-top\",\"top-right\",\"right-top\",\"bottom-right\",\"right-bottom\",\"bottom-left\",\"left-bottom\"],$=()=>[...Q(),oe,le],F=()=>[\"auto\",\"hidden\",\"clip\",\"visible\",\"scroll\"],X=()=>[\"auto\",\"contain\",\"none\"],K=()=>[oe,le,v],se=()=>[Pl,\"full\",\"auto\",...K()],ve=()=>[_a,\"none\",\"subgrid\",oe,le],ye=()=>[\"auto\",{span:[\"full\",_a,oe,le]},_a,oe,le],fe=()=>[_a,\"auto\",oe,le],de=()=>[\"auto\",\"min\",\"max\",\"fr\",oe,le],me=()=>[\"start\",\"end\",\"center\",\"between\",\"around\",\"evenly\",\"stretch\",\"baseline\",\"center-safe\",\"end-safe\"],he=()=>[\"start\",\"end\",\"center\",\"stretch\",\"center-safe\",\"end-safe\"],A=()=>[\"auto\",...K()],V=()=>[Pl,\"auto\",\"full\",\"dvw\",\"dvh\",\"lvw\",\"lvh\",\"svw\",\"svh\",\"min\",\"max\",\"fit\",...K()],B=()=>[l,oe,le],ne=()=>[...Q(),$h,Jh,{position:[oe,le]}],ce=()=>[\"no-repeat\",{repeat:[\"\",\"x\",\"y\",\"space\",\"round\"]}],C=()=>[\"auto\",\"cover\",\"contain\",Vx,Bx,{size:[oe,le]}],G=()=>[Hu,di,ll],Y=()=>[\"\",\"none\",\"full\",g,oe,le],I=()=>[\"\",Te,di,ll],ee=()=>[\"solid\",\"dashed\",\"dotted\",\"double\"],ie=()=>[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\"],W=()=>[Te,Hu,$h,Jh],te=()=>[\"\",\"none\",D,oe,le],ge=()=>[\"none\",Te,oe,le],Ee=()=>[\"none\",Te,oe,le],Ce=()=>[Te,oe,le],Re=()=>[Pl,\"full\",...K()];return{cacheSize:500,theme:{animate:[\"spin\",\"ping\",\"pulse\",\"bounce\"],aspect:[\"video\"],blur:[In],breakpoint:[In],color:[Dx],container:[In],\"drop-shadow\":[In],ease:[\"in\",\"out\",\"in-out\"],font:[Hx],\"font-weight\":[\"thin\",\"extralight\",\"light\",\"normal\",\"medium\",\"semibold\",\"bold\",\"extrabold\",\"black\"],\"inset-shadow\":[In],leading:[\"none\",\"tight\",\"snug\",\"normal\",\"relaxed\",\"loose\"],perspective:[\"dramatic\",\"near\",\"normal\",\"midrange\",\"distant\",\"none\"],radius:[In],shadow:[In],spacing:[\"px\",Te],text:[In],\"text-shadow\":[In],tracking:[\"tighter\",\"tight\",\"normal\",\"wide\",\"wider\",\"widest\"]},classGroups:{aspect:[{aspect:[\"auto\",\"square\",Pl,le,oe,R]}],container:[\"container\"],columns:[{columns:[Te,le,oe,p]}],\"break-after\":[{\"break-after\":L()}],\"break-before\":[{\"break-before\":L()}],\"break-inside\":[{\"break-inside\":[\"auto\",\"avoid\",\"avoid-page\",\"avoid-column\"]}],\"box-decoration\":[{\"box-decoration\":[\"slice\",\"clone\"]}],box:[{box:[\"border\",\"content\"]}],display:[\"block\",\"inline-block\",\"inline\",\"flex\",\"inline-flex\",\"table\",\"inline-table\",\"table-caption\",\"table-cell\",\"table-column\",\"table-column-group\",\"table-footer-group\",\"table-header-group\",\"table-row-group\",\"table-row\",\"flow-root\",\"grid\",\"inline-grid\",\"contents\",\"list-item\",\"hidden\"],sr:[\"sr-only\",\"not-sr-only\"],float:[{float:[\"right\",\"left\",\"none\",\"start\",\"end\"]}],clear:[{clear:[\"left\",\"right\",\"both\",\"none\",\"start\",\"end\"]}],isolation:[\"isolate\",\"isolation-auto\"],\"object-fit\":[{object:[\"contain\",\"cover\",\"fill\",\"none\",\"scale-down\"]}],\"object-position\":[{object:$()}],overflow:[{overflow:F()}],\"overflow-x\":[{\"overflow-x\":F()}],\"overflow-y\":[{\"overflow-y\":F()}],overscroll:[{overscroll:X()}],\"overscroll-x\":[{\"overscroll-x\":X()}],\"overscroll-y\":[{\"overscroll-y\":X()}],position:[\"static\",\"fixed\",\"absolute\",\"relative\",\"sticky\"],inset:[{inset:se()}],\"inset-x\":[{\"inset-x\":se()}],\"inset-y\":[{\"inset-y\":se()}],start:[{start:se()}],end:[{end:se()}],top:[{top:se()}],right:[{right:se()}],bottom:[{bottom:se()}],left:[{left:se()}],visibility:[\"visible\",\"invisible\",\"collapse\"],z:[{z:[_a,\"auto\",oe,le]}],basis:[{basis:[Pl,\"full\",\"auto\",p,...K()]}],\"flex-direction\":[{flex:[\"row\",\"row-reverse\",\"col\",\"col-reverse\"]}],\"flex-wrap\":[{flex:[\"nowrap\",\"wrap\",\"wrap-reverse\"]}],flex:[{flex:[Te,Pl,\"auto\",\"initial\",\"none\",le]}],grow:[{grow:[\"\",Te,oe,le]}],shrink:[{shrink:[\"\",Te,oe,le]}],order:[{order:[_a,\"first\",\"last\",\"none\",oe,le]}],\"grid-cols\":[{\"grid-cols\":ve()}],\"col-start-end\":[{col:ye()}],\"col-start\":[{\"col-start\":fe()}],\"col-end\":[{\"col-end\":fe()}],\"grid-rows\":[{\"grid-rows\":ve()}],\"row-start-end\":[{row:ye()}],\"row-start\":[{\"row-start\":fe()}],\"row-end\":[{\"row-end\":fe()}],\"grid-flow\":[{\"grid-flow\":[\"row\",\"col\",\"dense\",\"row-dense\",\"col-dense\"]}],\"auto-cols\":[{\"auto-cols\":de()}],\"auto-rows\":[{\"auto-rows\":de()}],gap:[{gap:K()}],\"gap-x\":[{\"gap-x\":K()}],\"gap-y\":[{\"gap-y\":K()}],\"justify-content\":[{justify:[...me(),\"normal\"]}],\"justify-items\":[{\"justify-items\":[...he(),\"normal\"]}],\"justify-self\":[{\"justify-self\":[\"auto\",...he()]}],\"align-content\":[{content:[\"normal\",...me()]}],\"align-items\":[{items:[...he(),{baseline:[\"\",\"last\"]}]}],\"align-self\":[{self:[\"auto\",...he(),{baseline:[\"\",\"last\"]}]}],\"place-content\":[{\"place-content\":me()}],\"place-items\":[{\"place-items\":[...he(),\"baseline\"]}],\"place-self\":[{\"place-self\":[\"auto\",...he()]}],p:[{p:K()}],px:[{px:K()}],py:[{py:K()}],ps:[{ps:K()}],pe:[{pe:K()}],pt:[{pt:K()}],pr:[{pr:K()}],pb:[{pb:K()}],pl:[{pl:K()}],m:[{m:A()}],mx:[{mx:A()}],my:[{my:A()}],ms:[{ms:A()}],me:[{me:A()}],mt:[{mt:A()}],mr:[{mr:A()}],mb:[{mb:A()}],ml:[{ml:A()}],\"space-x\":[{\"space-x\":K()}],\"space-x-reverse\":[\"space-x-reverse\"],\"space-y\":[{\"space-y\":K()}],\"space-y-reverse\":[\"space-y-reverse\"],size:[{size:V()}],w:[{w:[p,\"screen\",...V()]}],\"min-w\":[{\"min-w\":[p,\"screen\",\"none\",...V()]}],\"max-w\":[{\"max-w\":[p,\"screen\",\"none\",\"prose\",{screen:[m]},...V()]}],h:[{h:[\"screen\",\"lh\",...V()]}],\"min-h\":[{\"min-h\":[\"screen\",\"lh\",\"none\",...V()]}],\"max-h\":[{\"max-h\":[\"screen\",\"lh\",...V()]}],\"font-size\":[{text:[\"base\",s,di,ll]}],\"font-smoothing\":[\"antialiased\",\"subpixel-antialiased\"],\"font-style\":[\"italic\",\"not-italic\"],\"font-weight\":[{font:[r,oe,Bu]}],\"font-stretch\":[{\"font-stretch\":[\"ultra-condensed\",\"extra-condensed\",\"condensed\",\"semi-condensed\",\"normal\",\"semi-expanded\",\"expanded\",\"extra-expanded\",\"ultra-expanded\",Hu,le]}],\"font-family\":[{font:[kx,le,i]}],\"fvn-normal\":[\"normal-nums\"],\"fvn-ordinal\":[\"ordinal\"],\"fvn-slashed-zero\":[\"slashed-zero\"],\"fvn-figure\":[\"lining-nums\",\"oldstyle-nums\"],\"fvn-spacing\":[\"proportional-nums\",\"tabular-nums\"],\"fvn-fraction\":[\"diagonal-fractions\",\"stacked-fractions\"],tracking:[{tracking:[u,oe,le]}],\"line-clamp\":[{\"line-clamp\":[Te,\"none\",oe,Bu]}],leading:[{leading:[f,...K()]}],\"list-image\":[{\"list-image\":[\"none\",oe,le]}],\"list-style-position\":[{list:[\"inside\",\"outside\"]}],\"list-style-type\":[{list:[\"disc\",\"decimal\",\"none\",oe,le]}],\"text-alignment\":[{text:[\"left\",\"center\",\"right\",\"justify\",\"start\",\"end\"]}],\"placeholder-color\":[{placeholder:B()}],\"text-color\":[{text:B()}],\"text-decoration\":[\"underline\",\"overline\",\"line-through\",\"no-underline\"],\"text-decoration-style\":[{decoration:[...ee(),\"wavy\"]}],\"text-decoration-thickness\":[{decoration:[Te,\"from-font\",\"auto\",oe,ll]}],\"text-decoration-color\":[{decoration:B()}],\"underline-offset\":[{\"underline-offset\":[Te,\"auto\",oe,le]}],\"text-transform\":[\"uppercase\",\"lowercase\",\"capitalize\",\"normal-case\"],\"text-overflow\":[\"truncate\",\"text-ellipsis\",\"text-clip\"],\"text-wrap\":[{text:[\"wrap\",\"nowrap\",\"balance\",\"pretty\"]}],indent:[{indent:K()}],\"vertical-align\":[{align:[\"baseline\",\"top\",\"middle\",\"bottom\",\"text-top\",\"text-bottom\",\"sub\",\"super\",oe,le]}],whitespace:[{whitespace:[\"normal\",\"nowrap\",\"pre\",\"pre-line\",\"pre-wrap\",\"break-spaces\"]}],break:[{break:[\"normal\",\"words\",\"all\",\"keep\"]}],wrap:[{wrap:[\"break-word\",\"anywhere\",\"normal\"]}],hyphens:[{hyphens:[\"none\",\"manual\",\"auto\"]}],content:[{content:[\"none\",oe,le]}],\"bg-attachment\":[{bg:[\"fixed\",\"local\",\"scroll\"]}],\"bg-clip\":[{\"bg-clip\":[\"border\",\"padding\",\"content\",\"text\"]}],\"bg-origin\":[{\"bg-origin\":[\"border\",\"padding\",\"content\"]}],\"bg-position\":[{bg:ne()}],\"bg-repeat\":[{bg:ce()}],\"bg-size\":[{bg:C()}],\"bg-image\":[{bg:[\"none\",{linear:[{to:[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"]},_a,oe,le],radial:[\"\",oe,le],conic:[_a,oe,le]},Yx,Lx]}],\"bg-color\":[{bg:B()}],\"gradient-from-pos\":[{from:G()}],\"gradient-via-pos\":[{via:G()}],\"gradient-to-pos\":[{to:G()}],\"gradient-from\":[{from:B()}],\"gradient-via\":[{via:B()}],\"gradient-to\":[{to:B()}],rounded:[{rounded:Y()}],\"rounded-s\":[{\"rounded-s\":Y()}],\"rounded-e\":[{\"rounded-e\":Y()}],\"rounded-t\":[{\"rounded-t\":Y()}],\"rounded-r\":[{\"rounded-r\":Y()}],\"rounded-b\":[{\"rounded-b\":Y()}],\"rounded-l\":[{\"rounded-l\":Y()}],\"rounded-ss\":[{\"rounded-ss\":Y()}],\"rounded-se\":[{\"rounded-se\":Y()}],\"rounded-ee\":[{\"rounded-ee\":Y()}],\"rounded-es\":[{\"rounded-es\":Y()}],\"rounded-tl\":[{\"rounded-tl\":Y()}],\"rounded-tr\":[{\"rounded-tr\":Y()}],\"rounded-br\":[{\"rounded-br\":Y()}],\"rounded-bl\":[{\"rounded-bl\":Y()}],\"border-w\":[{border:I()}],\"border-w-x\":[{\"border-x\":I()}],\"border-w-y\":[{\"border-y\":I()}],\"border-w-s\":[{\"border-s\":I()}],\"border-w-e\":[{\"border-e\":I()}],\"border-w-t\":[{\"border-t\":I()}],\"border-w-r\":[{\"border-r\":I()}],\"border-w-b\":[{\"border-b\":I()}],\"border-w-l\":[{\"border-l\":I()}],\"divide-x\":[{\"divide-x\":I()}],\"divide-x-reverse\":[\"divide-x-reverse\"],\"divide-y\":[{\"divide-y\":I()}],\"divide-y-reverse\":[\"divide-y-reverse\"],\"border-style\":[{border:[...ee(),\"hidden\",\"none\"]}],\"divide-style\":[{divide:[...ee(),\"hidden\",\"none\"]}],\"border-color\":[{border:B()}],\"border-color-x\":[{\"border-x\":B()}],\"border-color-y\":[{\"border-y\":B()}],\"border-color-s\":[{\"border-s\":B()}],\"border-color-e\":[{\"border-e\":B()}],\"border-color-t\":[{\"border-t\":B()}],\"border-color-r\":[{\"border-r\":B()}],\"border-color-b\":[{\"border-b\":B()}],\"border-color-l\":[{\"border-l\":B()}],\"divide-color\":[{divide:B()}],\"outline-style\":[{outline:[...ee(),\"none\",\"hidden\"]}],\"outline-offset\":[{\"outline-offset\":[Te,oe,le]}],\"outline-w\":[{outline:[\"\",Te,di,ll]}],\"outline-color\":[{outline:B()}],shadow:[{shadow:[\"\",\"none\",S,Hr,Ur]}],\"shadow-color\":[{shadow:B()}],\"inset-shadow\":[{\"inset-shadow\":[\"none\",h,Hr,Ur]}],\"inset-shadow-color\":[{\"inset-shadow\":B()}],\"ring-w\":[{ring:I()}],\"ring-w-inset\":[\"ring-inset\"],\"ring-color\":[{ring:B()}],\"ring-offset-w\":[{\"ring-offset\":[Te,ll]}],\"ring-offset-color\":[{\"ring-offset\":B()}],\"inset-ring-w\":[{\"inset-ring\":I()}],\"inset-ring-color\":[{\"inset-ring\":B()}],\"text-shadow\":[{\"text-shadow\":[\"none\",T,Hr,Ur]}],\"text-shadow-color\":[{\"text-shadow\":B()}],opacity:[{opacity:[Te,oe,le]}],\"mix-blend\":[{\"mix-blend\":[...ie(),\"plus-darker\",\"plus-lighter\"]}],\"bg-blend\":[{\"bg-blend\":ie()}],\"mask-clip\":[{\"mask-clip\":[\"border\",\"padding\",\"content\",\"fill\",\"stroke\",\"view\"]},\"mask-no-clip\"],\"mask-composite\":[{mask:[\"add\",\"subtract\",\"intersect\",\"exclude\"]}],\"mask-image-linear-pos\":[{\"mask-linear\":[Te]}],\"mask-image-linear-from-pos\":[{\"mask-linear-from\":W()}],\"mask-image-linear-to-pos\":[{\"mask-linear-to\":W()}],\"mask-image-linear-from-color\":[{\"mask-linear-from\":B()}],\"mask-image-linear-to-color\":[{\"mask-linear-to\":B()}],\"mask-image-t-from-pos\":[{\"mask-t-from\":W()}],\"mask-image-t-to-pos\":[{\"mask-t-to\":W()}],\"mask-image-t-from-color\":[{\"mask-t-from\":B()}],\"mask-image-t-to-color\":[{\"mask-t-to\":B()}],\"mask-image-r-from-pos\":[{\"mask-r-from\":W()}],\"mask-image-r-to-pos\":[{\"mask-r-to\":W()}],\"mask-image-r-from-color\":[{\"mask-r-from\":B()}],\"mask-image-r-to-color\":[{\"mask-r-to\":B()}],\"mask-image-b-from-pos\":[{\"mask-b-from\":W()}],\"mask-image-b-to-pos\":[{\"mask-b-to\":W()}],\"mask-image-b-from-color\":[{\"mask-b-from\":B()}],\"mask-image-b-to-color\":[{\"mask-b-to\":B()}],\"mask-image-l-from-pos\":[{\"mask-l-from\":W()}],\"mask-image-l-to-pos\":[{\"mask-l-to\":W()}],\"mask-image-l-from-color\":[{\"mask-l-from\":B()}],\"mask-image-l-to-color\":[{\"mask-l-to\":B()}],\"mask-image-x-from-pos\":[{\"mask-x-from\":W()}],\"mask-image-x-to-pos\":[{\"mask-x-to\":W()}],\"mask-image-x-from-color\":[{\"mask-x-from\":B()}],\"mask-image-x-to-color\":[{\"mask-x-to\":B()}],\"mask-image-y-from-pos\":[{\"mask-y-from\":W()}],\"mask-image-y-to-pos\":[{\"mask-y-to\":W()}],\"mask-image-y-from-color\":[{\"mask-y-from\":B()}],\"mask-image-y-to-color\":[{\"mask-y-to\":B()}],\"mask-image-radial\":[{\"mask-radial\":[oe,le]}],\"mask-image-radial-from-pos\":[{\"mask-radial-from\":W()}],\"mask-image-radial-to-pos\":[{\"mask-radial-to\":W()}],\"mask-image-radial-from-color\":[{\"mask-radial-from\":B()}],\"mask-image-radial-to-color\":[{\"mask-radial-to\":B()}],\"mask-image-radial-shape\":[{\"mask-radial\":[\"circle\",\"ellipse\"]}],\"mask-image-radial-size\":[{\"mask-radial\":[{closest:[\"side\",\"corner\"],farthest:[\"side\",\"corner\"]}]}],\"mask-image-radial-pos\":[{\"mask-radial-at\":Q()}],\"mask-image-conic-pos\":[{\"mask-conic\":[Te]}],\"mask-image-conic-from-pos\":[{\"mask-conic-from\":W()}],\"mask-image-conic-to-pos\":[{\"mask-conic-to\":W()}],\"mask-image-conic-from-color\":[{\"mask-conic-from\":B()}],\"mask-image-conic-to-color\":[{\"mask-conic-to\":B()}],\"mask-mode\":[{mask:[\"alpha\",\"luminance\",\"match\"]}],\"mask-origin\":[{\"mask-origin\":[\"border\",\"padding\",\"content\",\"fill\",\"stroke\",\"view\"]}],\"mask-position\":[{mask:ne()}],\"mask-repeat\":[{mask:ce()}],\"mask-size\":[{mask:C()}],\"mask-type\":[{\"mask-type\":[\"alpha\",\"luminance\"]}],\"mask-image\":[{mask:[\"none\",oe,le]}],filter:[{filter:[\"\",\"none\",oe,le]}],blur:[{blur:te()}],brightness:[{brightness:[Te,oe,le]}],contrast:[{contrast:[Te,oe,le]}],\"drop-shadow\":[{\"drop-shadow\":[\"\",\"none\",N,Hr,Ur]}],\"drop-shadow-color\":[{\"drop-shadow\":B()}],grayscale:[{grayscale:[\"\",Te,oe,le]}],\"hue-rotate\":[{\"hue-rotate\":[Te,oe,le]}],invert:[{invert:[\"\",Te,oe,le]}],saturate:[{saturate:[Te,oe,le]}],sepia:[{sepia:[\"\",Te,oe,le]}],\"backdrop-filter\":[{\"backdrop-filter\":[\"\",\"none\",oe,le]}],\"backdrop-blur\":[{\"backdrop-blur\":te()}],\"backdrop-brightness\":[{\"backdrop-brightness\":[Te,oe,le]}],\"backdrop-contrast\":[{\"backdrop-contrast\":[Te,oe,le]}],\"backdrop-grayscale\":[{\"backdrop-grayscale\":[\"\",Te,oe,le]}],\"backdrop-hue-rotate\":[{\"backdrop-hue-rotate\":[Te,oe,le]}],\"backdrop-invert\":[{\"backdrop-invert\":[\"\",Te,oe,le]}],\"backdrop-opacity\":[{\"backdrop-opacity\":[Te,oe,le]}],\"backdrop-saturate\":[{\"backdrop-saturate\":[Te,oe,le]}],\"backdrop-sepia\":[{\"backdrop-sepia\":[\"\",Te,oe,le]}],\"border-collapse\":[{border:[\"collapse\",\"separate\"]}],\"border-spacing\":[{\"border-spacing\":K()}],\"border-spacing-x\":[{\"border-spacing-x\":K()}],\"border-spacing-y\":[{\"border-spacing-y\":K()}],\"table-layout\":[{table:[\"auto\",\"fixed\"]}],caption:[{caption:[\"top\",\"bottom\"]}],transition:[{transition:[\"\",\"all\",\"colors\",\"opacity\",\"shadow\",\"transform\",\"none\",oe,le]}],\"transition-behavior\":[{transition:[\"normal\",\"discrete\"]}],duration:[{duration:[Te,\"initial\",oe,le]}],ease:[{ease:[\"linear\",\"initial\",O,oe,le]}],delay:[{delay:[Te,oe,le]}],animate:[{animate:[\"none\",U,oe,le]}],backface:[{backface:[\"hidden\",\"visible\"]}],perspective:[{perspective:[E,oe,le]}],\"perspective-origin\":[{\"perspective-origin\":$()}],rotate:[{rotate:ge()}],\"rotate-x\":[{\"rotate-x\":ge()}],\"rotate-y\":[{\"rotate-y\":ge()}],\"rotate-z\":[{\"rotate-z\":ge()}],scale:[{scale:Ee()}],\"scale-x\":[{\"scale-x\":Ee()}],\"scale-y\":[{\"scale-y\":Ee()}],\"scale-z\":[{\"scale-z\":Ee()}],\"scale-3d\":[\"scale-3d\"],skew:[{skew:Ce()}],\"skew-x\":[{\"skew-x\":Ce()}],\"skew-y\":[{\"skew-y\":Ce()}],transform:[{transform:[oe,le,\"\",\"none\",\"gpu\",\"cpu\"]}],\"transform-origin\":[{origin:$()}],\"transform-style\":[{transform:[\"3d\",\"flat\"]}],translate:[{translate:Re()}],\"translate-x\":[{\"translate-x\":Re()}],\"translate-y\":[{\"translate-y\":Re()}],\"translate-z\":[{\"translate-z\":Re()}],\"translate-none\":[\"translate-none\"],accent:[{accent:B()}],appearance:[{appearance:[\"none\",\"auto\"]}],\"caret-color\":[{caret:B()}],\"color-scheme\":[{scheme:[\"normal\",\"dark\",\"light\",\"light-dark\",\"only-dark\",\"only-light\"]}],cursor:[{cursor:[\"auto\",\"default\",\"pointer\",\"wait\",\"text\",\"move\",\"help\",\"not-allowed\",\"none\",\"context-menu\",\"progress\",\"cell\",\"crosshair\",\"vertical-text\",\"alias\",\"copy\",\"no-drop\",\"grab\",\"grabbing\",\"all-scroll\",\"col-resize\",\"row-resize\",\"n-resize\",\"e-resize\",\"s-resize\",\"w-resize\",\"ne-resize\",\"nw-resize\",\"se-resize\",\"sw-resize\",\"ew-resize\",\"ns-resize\",\"nesw-resize\",\"nwse-resize\",\"zoom-in\",\"zoom-out\",oe,le]}],\"field-sizing\":[{\"field-sizing\":[\"fixed\",\"content\"]}],\"pointer-events\":[{\"pointer-events\":[\"auto\",\"none\"]}],resize:[{resize:[\"none\",\"\",\"y\",\"x\"]}],\"scroll-behavior\":[{scroll:[\"auto\",\"smooth\"]}],\"scroll-m\":[{\"scroll-m\":K()}],\"scroll-mx\":[{\"scroll-mx\":K()}],\"scroll-my\":[{\"scroll-my\":K()}],\"scroll-ms\":[{\"scroll-ms\":K()}],\"scroll-me\":[{\"scroll-me\":K()}],\"scroll-mt\":[{\"scroll-mt\":K()}],\"scroll-mr\":[{\"scroll-mr\":K()}],\"scroll-mb\":[{\"scroll-mb\":K()}],\"scroll-ml\":[{\"scroll-ml\":K()}],\"scroll-p\":[{\"scroll-p\":K()}],\"scroll-px\":[{\"scroll-px\":K()}],\"scroll-py\":[{\"scroll-py\":K()}],\"scroll-ps\":[{\"scroll-ps\":K()}],\"scroll-pe\":[{\"scroll-pe\":K()}],\"scroll-pt\":[{\"scroll-pt\":K()}],\"scroll-pr\":[{\"scroll-pr\":K()}],\"scroll-pb\":[{\"scroll-pb\":K()}],\"scroll-pl\":[{\"scroll-pl\":K()}],\"snap-align\":[{snap:[\"start\",\"end\",\"center\",\"align-none\"]}],\"snap-stop\":[{snap:[\"normal\",\"always\"]}],\"snap-type\":[{snap:[\"none\",\"x\",\"y\",\"both\"]}],\"snap-strictness\":[{snap:[\"mandatory\",\"proximity\"]}],touch:[{touch:[\"auto\",\"none\",\"manipulation\"]}],\"touch-x\":[{\"touch-pan\":[\"x\",\"left\",\"right\"]}],\"touch-y\":[{\"touch-pan\":[\"y\",\"up\",\"down\"]}],\"touch-pz\":[\"touch-pinch-zoom\"],select:[{select:[\"none\",\"text\",\"all\",\"auto\"]}],\"will-change\":[{\"will-change\":[\"auto\",\"scroll\",\"contents\",\"transform\",oe,le]}],fill:[{fill:[\"none\",...B()]}],\"stroke-w\":[{stroke:[Te,di,ll,Bu]}],stroke:[{stroke:[\"none\",...B()]}],\"forced-color-adjust\":[{\"forced-color-adjust\":[\"auto\",\"none\"]}]},conflictingClassGroups:{overflow:[\"overflow-x\",\"overflow-y\"],overscroll:[\"overscroll-x\",\"overscroll-y\"],inset:[\"inset-x\",\"inset-y\",\"start\",\"end\",\"top\",\"right\",\"bottom\",\"left\"],\"inset-x\":[\"right\",\"left\"],\"inset-y\":[\"top\",\"bottom\"],flex:[\"basis\",\"grow\",\"shrink\"],gap:[\"gap-x\",\"gap-y\"],p:[\"px\",\"py\",\"ps\",\"pe\",\"pt\",\"pr\",\"pb\",\"pl\"],px:[\"pr\",\"pl\"],py:[\"pt\",\"pb\"],m:[\"mx\",\"my\",\"ms\",\"me\",\"mt\",\"mr\",\"mb\",\"ml\"],mx:[\"mr\",\"ml\"],my:[\"mt\",\"mb\"],size:[\"w\",\"h\"],\"font-size\":[\"leading\"],\"fvn-normal\":[\"fvn-ordinal\",\"fvn-slashed-zero\",\"fvn-figure\",\"fvn-spacing\",\"fvn-fraction\"],\"fvn-ordinal\":[\"fvn-normal\"],\"fvn-slashed-zero\":[\"fvn-normal\"],\"fvn-figure\":[\"fvn-normal\"],\"fvn-spacing\":[\"fvn-normal\"],\"fvn-fraction\":[\"fvn-normal\"],\"line-clamp\":[\"display\",\"overflow\"],rounded:[\"rounded-s\",\"rounded-e\",\"rounded-t\",\"rounded-r\",\"rounded-b\",\"rounded-l\",\"rounded-ss\",\"rounded-se\",\"rounded-ee\",\"rounded-es\",\"rounded-tl\",\"rounded-tr\",\"rounded-br\",\"rounded-bl\"],\"rounded-s\":[\"rounded-ss\",\"rounded-es\"],\"rounded-e\":[\"rounded-se\",\"rounded-ee\"],\"rounded-t\":[\"rounded-tl\",\"rounded-tr\"],\"rounded-r\":[\"rounded-tr\",\"rounded-br\"],\"rounded-b\":[\"rounded-br\",\"rounded-bl\"],\"rounded-l\":[\"rounded-tl\",\"rounded-bl\"],\"border-spacing\":[\"border-spacing-x\",\"border-spacing-y\"],\"border-w\":[\"border-w-x\",\"border-w-y\",\"border-w-s\",\"border-w-e\",\"border-w-t\",\"border-w-r\",\"border-w-b\",\"border-w-l\"],\"border-w-x\":[\"border-w-r\",\"border-w-l\"],\"border-w-y\":[\"border-w-t\",\"border-w-b\"],\"border-color\":[\"border-color-x\",\"border-color-y\",\"border-color-s\",\"border-color-e\",\"border-color-t\",\"border-color-r\",\"border-color-b\",\"border-color-l\"],\"border-color-x\":[\"border-color-r\",\"border-color-l\"],\"border-color-y\":[\"border-color-t\",\"border-color-b\"],translate:[\"translate-x\",\"translate-y\",\"translate-none\"],\"translate-none\":[\"translate\",\"translate-x\",\"translate-y\",\"translate-z\"],\"scroll-m\":[\"scroll-mx\",\"scroll-my\",\"scroll-ms\",\"scroll-me\",\"scroll-mt\",\"scroll-mr\",\"scroll-mb\",\"scroll-ml\"],\"scroll-mx\":[\"scroll-mr\",\"scroll-ml\"],\"scroll-my\":[\"scroll-mt\",\"scroll-mb\"],\"scroll-p\":[\"scroll-px\",\"scroll-py\",\"scroll-ps\",\"scroll-pe\",\"scroll-pt\",\"scroll-pr\",\"scroll-pb\",\"scroll-pl\"],\"scroll-px\":[\"scroll-pr\",\"scroll-pl\"],\"scroll-py\":[\"scroll-pt\",\"scroll-pb\"],touch:[\"touch-x\",\"touch-y\",\"touch-pz\"],\"touch-x\":[\"touch\"],\"touch-y\":[\"touch\"],\"touch-pz\":[\"touch\"]},conflictingClassGroupModifiers:{\"font-size\":[\"leading\"]},orderSensitiveModifiers:[\"*\",\"**\",\"after\",\"backdrop\",\"before\",\"details-content\",\"file\",\"first-letter\",\"first-line\",\"marker\",\"placeholder\",\"selection\"]}},Kx=Cx(Xx);function qe(...l){return Kx(Ig(l))}function Qx({className:l,...i}){return y.jsx(sx,{\"data-slot\":\"tabs\",className:qe(\"flex flex-col gap-2\",l),...i})}function Zx({className:l,...i}){return y.jsx(cx,{\"data-slot\":\"tabs-list\",className:qe(\"bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1\",l),...i})}function Ih({className:l,...i}){return y.jsx(ux,{\"data-slot\":\"tabs-trigger\",className:qe(\"data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex items-center justify-center gap-2 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",l),...i})}function Fh({className:l,...i}){return y.jsx(fx,{\"data-slot\":\"tabs-content\",className:qe(\"flex-1 outline-none\",l),...i})}var Jx=Symbol.for(\"react.lazy\"),Qr=gf[\" use \".trim().toString()];function $x(l){return typeof l==\"object\"&&l!==null&&\"then\"in l}function rv(l){return l!=null&&typeof l==\"object\"&&\"$$typeof\"in l&&l.$$typeof===Jx&&\"_payload\"in l&&$x(l._payload)}function Ix(l){const i=Wx(l),s=b.forwardRef((r,u)=>{let{children:f,...m}=r;rv(f)&&typeof Qr==\"function\"&&(f=Qr(f._payload));const p=b.Children.toArray(f),v=p.find(eS);if(v){const g=v.props.children,S=p.map(h=>h===v?b.Children.count(g)>1?b.Children.only(null):b.isValidElement(g)?g.props.children:null:h);return y.jsx(i,{...m,ref:u,children:b.isValidElement(g)?b.cloneElement(g,void 0,S):null})}return y.jsx(i,{...m,ref:u,children:f})});return s.displayName=`${l}.Slot`,s}var Fx=Ix(\"Slot\");function Wx(l){const i=b.forwardRef((s,r)=>{let{children:u,...f}=s;if(rv(u)&&typeof Qr==\"function\"&&(u=Qr(u._payload)),b.isValidElement(u)){const m=nS(u),p=tS(f,u.props);return u.type!==b.Fragment&&(p.ref=r?so(r,m):m),b.cloneElement(u,p)}return b.Children.count(u)>1?b.Children.only(null):null});return i.displayName=`${l}.SlotClone`,i}var Px=Symbol(\"radix.slottable\");function eS(l){return b.isValidElement(l)&&typeof l.type==\"function\"&&\"__radixId\"in l.type&&l.type.__radixId===Px}function tS(l,i){const s={...i};for(const r in i){const u=l[r],f=i[r];/^on[A-Z]/.test(r)?u&&f?s[r]=(...p)=>{const v=f(...p);return u(...p),v}:u&&(s[r]=u):r===\"style\"?s[r]={...u,...f}:r===\"className\"&&(s[r]=[u,f].filter(Boolean).join(\" \"))}return{...l,...s}}function nS(l){let i=Object.getOwnPropertyDescriptor(l.props,\"ref\")?.get,s=i&&\"isReactWarning\"in i&&i.isReactWarning;return s?l.ref:(i=Object.getOwnPropertyDescriptor(l,\"ref\")?.get,s=i&&\"isReactWarning\"in i&&i.isReactWarning,s?l.props.ref:l.props.ref||l.ref)}const Wh=l=>typeof l==\"boolean\"?`${l}`:l===0?\"0\":l,Ph=Ig,sv=(l,i)=>s=>{var r;if(i?.variants==null)return Ph(l,s?.class,s?.className);const{variants:u,defaultVariants:f}=i,m=Object.keys(u).map(g=>{const S=s?.[g],h=f?.[g];if(S===null)return null;const T=Wh(S)||Wh(h);return u[g][T]}),p=s&&Object.entries(s).reduce((g,S)=>{let[h,T]=S;return T===void 0||(g[h]=T),g},{}),v=i==null||(r=i.compoundVariants)===null||r===void 0?void 0:r.reduce((g,S)=>{let{class:h,className:T,...N}=S;return Object.entries(N).every(D=>{let[E,R]=D;return Array.isArray(R)?R.includes({...f,...p}[E]):{...f,...p}[E]===R})?[...g,h,T]:g},[]);return Ph(l,m,v,s?.class,s?.className)},aS=sv(\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",{variants:{variant:{default:\"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",destructive:\"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40\",outline:\"border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground\",secondary:\"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",ghost:\"hover:bg-accent hover:text-accent-foreground\",link:\"text-primary underline-offset-4 hover:underline\"},size:{default:\"h-9 px-4 py-2 has-[>svg]:px-3\",sm:\"h-8 rounded-md px-3 has-[>svg]:px-2.5\",lg:\"h-10 rounded-md px-6 has-[>svg]:px-4\",icon:\"size-9\"}},defaultVariants:{variant:\"default\",size:\"default\"}});function nn({className:l,variant:i,size:s,asChild:r=!1,...u}){const f=r?Fx:\"button\";return y.jsx(f,{\"data-slot\":\"button\",className:qe(aS({variant:i,size:s,className:l})),...u})}function lS(l,i=globalThis?.document){const s=Ra(l);b.useEffect(()=>{const r=u=>{u.key===\"Escape\"&&s(u)};return i.addEventListener(\"keydown\",r,{capture:!0}),()=>i.removeEventListener(\"keydown\",r,{capture:!0})},[s,i])}var oS=\"DismissableLayer\",Fu=\"dismissableLayer.update\",iS=\"dismissableLayer.pointerDownOutside\",rS=\"dismissableLayer.focusOutside\",eg,cv=b.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),xf=b.forwardRef((l,i)=>{const{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:r,onPointerDownOutside:u,onFocusOutside:f,onInteractOutside:m,onDismiss:p,...v}=l,g=b.useContext(cv),[S,h]=b.useState(null),T=S?.ownerDocument??globalThis?.document,[,N]=b.useState({}),D=Je(i,X=>h(X)),E=Array.from(g.layers),[R]=[...g.layersWithOutsidePointerEventsDisabled].slice(-1),O=E.indexOf(R),U=S?E.indexOf(S):-1,L=g.layersWithOutsidePointerEventsDisabled.size>0,Q=U>=O,$=uS(X=>{const K=X.target,se=[...g.branches].some(ve=>ve.contains(K));!Q||se||(u?.(X),m?.(X),X.defaultPrevented||p?.())},T),F=fS(X=>{const K=X.target;[...g.branches].some(ve=>ve.contains(K))||(f?.(X),m?.(X),X.defaultPrevented||p?.())},T);return lS(X=>{U===g.layers.size-1&&(r?.(X),!X.defaultPrevented&&p&&(X.preventDefault(),p()))},T),b.useEffect(()=>{if(S)return s&&(g.layersWithOutsidePointerEventsDisabled.size===0&&(eg=T.body.style.pointerEvents,T.body.style.pointerEvents=\"none\"),g.layersWithOutsidePointerEventsDisabled.add(S)),g.layers.add(S),tg(),()=>{s&&g.layersWithOutsidePointerEventsDisabled.size===1&&(T.body.style.pointerEvents=eg)}},[S,T,s,g]),b.useEffect(()=>()=>{S&&(g.layers.delete(S),g.layersWithOutsidePointerEventsDisabled.delete(S),tg())},[S,g]),b.useEffect(()=>{const X=()=>N({});return document.addEventListener(Fu,X),()=>document.removeEventListener(Fu,X)},[]),y.jsx(Ne.div,{...v,ref:D,style:{pointerEvents:L?Q?\"auto\":\"none\":void 0,...l.style},onFocusCapture:De(l.onFocusCapture,F.onFocusCapture),onBlurCapture:De(l.onBlurCapture,F.onBlurCapture),onPointerDownCapture:De(l.onPointerDownCapture,$.onPointerDownCapture)})});xf.displayName=oS;var sS=\"DismissableLayerBranch\",cS=b.forwardRef((l,i)=>{const s=b.useContext(cv),r=b.useRef(null),u=Je(i,r);return b.useEffect(()=>{const f=r.current;if(f)return s.branches.add(f),()=>{s.branches.delete(f)}},[s.branches]),y.jsx(Ne.div,{...l,ref:u})});cS.displayName=sS;function uS(l,i=globalThis?.document){const s=Ra(l),r=b.useRef(!1),u=b.useRef(()=>{});return b.useEffect(()=>{const f=p=>{if(p.target&&!r.current){let v=function(){uv(iS,s,g,{discrete:!0})};const g={originalEvent:p};p.pointerType===\"touch\"?(i.removeEventListener(\"click\",u.current),u.current=v,i.addEventListener(\"click\",u.current,{once:!0})):v()}else i.removeEventListener(\"click\",u.current);r.current=!1},m=window.setTimeout(()=>{i.addEventListener(\"pointerdown\",f)},0);return()=>{window.clearTimeout(m),i.removeEventListener(\"pointerdown\",f),i.removeEventListener(\"click\",u.current)}},[i,s]),{onPointerDownCapture:()=>r.current=!0}}function fS(l,i=globalThis?.document){const s=Ra(l),r=b.useRef(!1);return b.useEffect(()=>{const u=f=>{f.target&&!r.current&&uv(rS,s,{originalEvent:f},{discrete:!1})};return i.addEventListener(\"focusin\",u),()=>i.removeEventListener(\"focusin\",u)},[i,s]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function tg(){const l=new CustomEvent(Fu);document.dispatchEvent(l)}function uv(l,i,s,{discrete:r}){const u=s.originalEvent.target,f=new CustomEvent(l,{bubbles:!1,cancelable:!0,detail:s});i&&u.addEventListener(l,i,{once:!0}),r?V1(u,f):u.dispatchEvent(f)}var Lu=\"focusScope.autoFocusOnMount\",ku=\"focusScope.autoFocusOnUnmount\",ng={bubbles:!1,cancelable:!0},dS=\"FocusScope\",Sf=b.forwardRef((l,i)=>{const{loop:s=!1,trapped:r=!1,onMountAutoFocus:u,onUnmountAutoFocus:f,...m}=l,[p,v]=b.useState(null),g=Ra(u),S=Ra(f),h=b.useRef(null),T=Je(i,E=>v(E)),N=b.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;b.useEffect(()=>{if(r){let E=function(L){if(N.paused||!p)return;const Q=L.target;p.contains(Q)?h.current=Q:Na(h.current,{select:!0})},R=function(L){if(N.paused||!p)return;const Q=L.relatedTarget;Q!==null&&(p.contains(Q)||Na(h.current,{select:!0}))},O=function(L){if(document.activeElement===document.body)for(const $ of L)$.removedNodes.length>0&&Na(p)};document.addEventListener(\"focusin\",E),document.addEventListener(\"focusout\",R);const U=new MutationObserver(O);return p&&U.observe(p,{childList:!0,subtree:!0}),()=>{document.removeEventListener(\"focusin\",E),document.removeEventListener(\"focusout\",R),U.disconnect()}}},[r,p,N.paused]),b.useEffect(()=>{if(p){lg.add(N);const E=document.activeElement;if(!p.contains(E)){const O=new CustomEvent(Lu,ng);p.addEventListener(Lu,g),p.dispatchEvent(O),O.defaultPrevented||(mS(yS(fv(p)),{select:!0}),document.activeElement===E&&Na(p))}return()=>{p.removeEventListener(Lu,g),setTimeout(()=>{const O=new CustomEvent(ku,ng);p.addEventListener(ku,S),p.dispatchEvent(O),O.defaultPrevented||Na(E??document.body,{select:!0}),p.removeEventListener(ku,S),lg.remove(N)},0)}}},[p,g,S,N]);const D=b.useCallback(E=>{if(!s&&!r||N.paused)return;const R=E.key===\"Tab\"&&!E.altKey&&!E.ctrlKey&&!E.metaKey,O=document.activeElement;if(R&&O){const U=E.currentTarget,[L,Q]=pS(U);L&&Q?!E.shiftKey&&O===Q?(E.preventDefault(),s&&Na(L,{select:!0})):E.shiftKey&&O===L&&(E.preventDefault(),s&&Na(Q,{select:!0})):O===U&&E.preventDefault()}},[s,r,N.paused]);return y.jsx(Ne.div,{tabIndex:-1,...m,ref:T,onKeyDown:D})});Sf.displayName=dS;function mS(l,{select:i=!1}={}){const s=document.activeElement;for(const r of l)if(Na(r,{select:i}),document.activeElement!==s)return}function pS(l){const i=fv(l),s=ag(i,l),r=ag(i.reverse(),l);return[s,r]}function fv(l){const i=[],s=document.createTreeWalker(l,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const u=r.tagName===\"INPUT\"&&r.type===\"hidden\";return r.disabled||r.hidden||u?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;s.nextNode();)i.push(s.currentNode);return i}function ag(l,i){for(const s of l)if(!hS(s,{upTo:i}))return s}function hS(l,{upTo:i}){if(getComputedStyle(l).visibility===\"hidden\")return!0;for(;l;){if(i!==void 0&&l===i)return!1;if(getComputedStyle(l).display===\"none\")return!0;l=l.parentElement}return!1}function gS(l){return l instanceof HTMLInputElement&&\"select\"in l}function Na(l,{select:i=!1}={}){if(l&&l.focus){const s=document.activeElement;l.focus({preventScroll:!0}),l!==s&&gS(l)&&i&&l.select()}}var lg=vS();function vS(){let l=[];return{add(i){const s=l[0];i!==s&&s?.pause(),l=og(l,i),l.unshift(i)},remove(i){l=og(l,i),l[0]?.resume()}}}function og(l,i){const s=[...l],r=s.indexOf(i);return r!==-1&&s.splice(r,1),s}function yS(l){return l.filter(i=>i.tagName!==\"A\")}var bS=\"Portal\",Ef=b.forwardRef((l,i)=>{const{container:s,...r}=l,[u,f]=b.useState(!1);gt(()=>f(!0),[]);const m=s||u&&globalThis?.document?.body;return m?Dg.createPortal(y.jsx(Ne.div,{...r,ref:i}),m):null});Ef.displayName=bS;var Vu=0;function dv(){b.useEffect(()=>{const l=document.querySelectorAll(\"[data-radix-focus-guard]\");return document.body.insertAdjacentElement(\"afterbegin\",l[0]??ig()),document.body.insertAdjacentElement(\"beforeend\",l[1]??ig()),Vu++,()=>{Vu===1&&document.querySelectorAll(\"[data-radix-focus-guard]\").forEach(i=>i.remove()),Vu--}},[])}function ig(){const l=document.createElement(\"span\");return l.setAttribute(\"data-radix-focus-guard\",\"\"),l.tabIndex=0,l.style.outline=\"none\",l.style.opacity=\"0\",l.style.position=\"fixed\",l.style.pointerEvents=\"none\",l}var Tn=function(){return Tn=Object.assign||function(i){for(var s,r=1,u=arguments.length;r<u;r++){s=arguments[r];for(var f in s)Object.prototype.hasOwnProperty.call(s,f)&&(i[f]=s[f])}return i},Tn.apply(this,arguments)};function mv(l,i){var s={};for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&i.indexOf(r)<0&&(s[r]=l[r]);if(l!=null&&typeof Object.getOwnPropertySymbols==\"function\")for(var u=0,r=Object.getOwnPropertySymbols(l);u<r.length;u++)i.indexOf(r[u])<0&&Object.prototype.propertyIsEnumerable.call(l,r[u])&&(s[r[u]]=l[r[u]]);return s}function xS(l,i,s){if(s||arguments.length===2)for(var r=0,u=i.length,f;r<u;r++)(f||!(r in i))&&(f||(f=Array.prototype.slice.call(i,0,r)),f[r]=i[r]);return l.concat(f||Array.prototype.slice.call(i))}var qr=\"right-scroll-bar-position\",Xr=\"width-before-scroll-bar\",SS=\"with-scroll-bars-hidden\",ES=\"--removed-body-scroll-bar-size\";function Yu(l,i){return typeof l==\"function\"?l(i):l&&(l.current=i),l}function wS(l,i){var s=b.useState(function(){return{value:l,callback:i,facade:{get current(){return s.value},set current(r){var u=s.value;u!==r&&(s.value=r,s.callback(r,u))}}}})[0];return s.callback=i,s.facade}var TS=typeof window<\"u\"?b.useLayoutEffect:b.useEffect,rg=new WeakMap;function CS(l,i){var s=wS(null,function(r){return l.forEach(function(u){return Yu(u,r)})});return TS(function(){var r=rg.get(s);if(r){var u=new Set(r),f=new Set(l),m=s.current;u.forEach(function(p){f.has(p)||Yu(p,null)}),f.forEach(function(p){u.has(p)||Yu(p,m)})}rg.set(s,l)},[l]),s}function AS(l){return l}function _S(l,i){i===void 0&&(i=AS);var s=[],r=!1,u={read:function(){if(r)throw new Error(\"Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.\");return s.length?s[s.length-1]:l},useMedium:function(f){var m=i(f,r);return s.push(m),function(){s=s.filter(function(p){return p!==m})}},assignSyncMedium:function(f){for(r=!0;s.length;){var m=s;s=[],m.forEach(f)}s={push:function(p){return f(p)},filter:function(){return s}}},assignMedium:function(f){r=!0;var m=[];if(s.length){var p=s;s=[],p.forEach(f),m=s}var v=function(){var S=m;m=[],S.forEach(f)},g=function(){return Promise.resolve().then(v)};g(),s={push:function(S){m.push(S),g()},filter:function(S){return m=m.filter(S),s}}}};return u}function NS(l){l===void 0&&(l={});var i=_S(null);return i.options=Tn({async:!0,ssr:!1},l),i}var pv=function(l){var i=l.sideCar,s=mv(l,[\"sideCar\"]);if(!i)throw new Error(\"Sidecar: please provide `sideCar` property to import the right car\");var r=i.read();if(!r)throw new Error(\"Sidecar medium not found\");return b.createElement(r,Tn({},s))};pv.isSideCarExport=!0;function RS(l,i){return l.useMedium(i),pv}var hv=NS(),Gu=function(){},ls=b.forwardRef(function(l,i){var s=b.useRef(null),r=b.useState({onScrollCapture:Gu,onWheelCapture:Gu,onTouchMoveCapture:Gu}),u=r[0],f=r[1],m=l.forwardProps,p=l.children,v=l.className,g=l.removeScrollBar,S=l.enabled,h=l.shards,T=l.sideCar,N=l.noIsolation,D=l.inert,E=l.allowPinchZoom,R=l.as,O=R===void 0?\"div\":R,U=l.gapMode,L=mv(l,[\"forwardProps\",\"children\",\"className\",\"removeScrollBar\",\"enabled\",\"shards\",\"sideCar\",\"noIsolation\",\"inert\",\"allowPinchZoom\",\"as\",\"gapMode\"]),Q=T,$=CS([s,i]),F=Tn(Tn({},L),u);return b.createElement(b.Fragment,null,S&&b.createElement(Q,{sideCar:hv,removeScrollBar:g,shards:h,noIsolation:N,inert:D,setCallbacks:f,allowPinchZoom:!!E,lockRef:s,gapMode:U}),m?b.cloneElement(b.Children.only(p),Tn(Tn({},F),{ref:$})):b.createElement(O,Tn({},F,{className:v,ref:$}),p))});ls.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};ls.classNames={fullWidth:Xr,zeroRight:qr};var OS=function(){if(typeof __webpack_nonce__<\"u\")return __webpack_nonce__};function MS(){if(!document)return null;var l=document.createElement(\"style\");l.type=\"text/css\";var i=OS();return i&&l.setAttribute(\"nonce\",i),l}function DS(l,i){l.styleSheet?l.styleSheet.cssText=i:l.appendChild(document.createTextNode(i))}function zS(l){var i=document.head||document.getElementsByTagName(\"head\")[0];i.appendChild(l)}var jS=function(){var l=0,i=null;return{add:function(s){l==0&&(i=MS())&&(DS(i,s),zS(i)),l++},remove:function(){l--,!l&&i&&(i.parentNode&&i.parentNode.removeChild(i),i=null)}}},US=function(){var l=jS();return function(i,s){b.useEffect(function(){return l.add(i),function(){l.remove()}},[i&&s])}},gv=function(){var l=US(),i=function(s){var r=s.styles,u=s.dynamic;return l(r,u),null};return i},HS={left:0,top:0,right:0,gap:0},qu=function(l){return parseInt(l||\"\",10)||0},BS=function(l){var i=window.getComputedStyle(document.body),s=i[l===\"padding\"?\"paddingLeft\":\"marginLeft\"],r=i[l===\"padding\"?\"paddingTop\":\"marginTop\"],u=i[l===\"padding\"?\"paddingRight\":\"marginRight\"];return[qu(s),qu(r),qu(u)]},LS=function(l){if(l===void 0&&(l=\"margin\"),typeof window>\"u\")return HS;var i=BS(l),s=document.documentElement.clientWidth,r=window.innerWidth;return{left:i[0],top:i[1],right:i[2],gap:Math.max(0,r-s+i[2]-i[0])}},kS=gv(),ao=\"data-scroll-locked\",VS=function(l,i,s,r){var u=l.left,f=l.top,m=l.right,p=l.gap;return s===void 0&&(s=\"margin\"),`\n  .`.concat(SS,` {\n   overflow: hidden `).concat(r,`;\n   padding-right: `).concat(p,\"px \").concat(r,`;\n  }\n  body[`).concat(ao,`] {\n    overflow: hidden `).concat(r,`;\n    overscroll-behavior: contain;\n    `).concat([i&&\"position: relative \".concat(r,\";\"),s===\"margin\"&&`\n    padding-left: `.concat(u,`px;\n    padding-top: `).concat(f,`px;\n    padding-right: `).concat(m,`px;\n    margin-left:0;\n    margin-top:0;\n    margin-right: `).concat(p,\"px \").concat(r,`;\n    `),s===\"padding\"&&\"padding-right: \".concat(p,\"px \").concat(r,\";\")].filter(Boolean).join(\"\"),`\n  }\n  \n  .`).concat(qr,` {\n    right: `).concat(p,\"px \").concat(r,`;\n  }\n  \n  .`).concat(Xr,` {\n    margin-right: `).concat(p,\"px \").concat(r,`;\n  }\n  \n  .`).concat(qr,\" .\").concat(qr,` {\n    right: 0 `).concat(r,`;\n  }\n  \n  .`).concat(Xr,\" .\").concat(Xr,` {\n    margin-right: 0 `).concat(r,`;\n  }\n  \n  body[`).concat(ao,`] {\n    `).concat(ES,\": \").concat(p,`px;\n  }\n`)},sg=function(){var l=parseInt(document.body.getAttribute(ao)||\"0\",10);return isFinite(l)?l:0},YS=function(){b.useEffect(function(){return document.body.setAttribute(ao,(sg()+1).toString()),function(){var l=sg()-1;l<=0?document.body.removeAttribute(ao):document.body.setAttribute(ao,l.toString())}},[])},GS=function(l){var i=l.noRelative,s=l.noImportant,r=l.gapMode,u=r===void 0?\"margin\":r;YS();var f=b.useMemo(function(){return LS(u)},[u]);return b.createElement(kS,{styles:VS(f,!i,u,s?\"\":\"!important\")})},Wu=!1;if(typeof window<\"u\")try{var Br=Object.defineProperty({},\"passive\",{get:function(){return Wu=!0,!0}});window.addEventListener(\"test\",Br,Br),window.removeEventListener(\"test\",Br,Br)}catch{Wu=!1}var eo=Wu?{passive:!1}:!1,qS=function(l){return l.tagName===\"TEXTAREA\"},vv=function(l,i){if(!(l instanceof Element))return!1;var s=window.getComputedStyle(l);return s[i]!==\"hidden\"&&!(s.overflowY===s.overflowX&&!qS(l)&&s[i]===\"visible\")},XS=function(l){return vv(l,\"overflowY\")},KS=function(l){return vv(l,\"overflowX\")},cg=function(l,i){var s=i.ownerDocument,r=i;do{typeof ShadowRoot<\"u\"&&r instanceof ShadowRoot&&(r=r.host);var u=yv(l,r);if(u){var f=bv(l,r),m=f[1],p=f[2];if(m>p)return!0}r=r.parentNode}while(r&&r!==s.body);return!1},QS=function(l){var i=l.scrollTop,s=l.scrollHeight,r=l.clientHeight;return[i,s,r]},ZS=function(l){var i=l.scrollLeft,s=l.scrollWidth,r=l.clientWidth;return[i,s,r]},yv=function(l,i){return l===\"v\"?XS(i):KS(i)},bv=function(l,i){return l===\"v\"?QS(i):ZS(i)},JS=function(l,i){return l===\"h\"&&i===\"rtl\"?-1:1},$S=function(l,i,s,r,u){var f=JS(l,window.getComputedStyle(i).direction),m=f*r,p=s.target,v=i.contains(p),g=!1,S=m>0,h=0,T=0;do{var N=bv(l,p),D=N[0],E=N[1],R=N[2],O=E-R-f*D;(D||O)&&yv(l,p)&&(h+=O,T+=D),p instanceof ShadowRoot?p=p.host:p=p.parentNode}while(!v&&p!==document.body||v&&(i.contains(p)||i===p));return(S&&Math.abs(h)<1||!S&&Math.abs(T)<1)&&(g=!0),g},Lr=function(l){return\"changedTouches\"in l?[l.changedTouches[0].clientX,l.changedTouches[0].clientY]:[0,0]},ug=function(l){return[l.deltaX,l.deltaY]},fg=function(l){return l&&\"current\"in l?l.current:l},IS=function(l,i){return l[0]===i[0]&&l[1]===i[1]},FS=function(l){return`\n  .block-interactivity-`.concat(l,` {pointer-events: none;}\n  .allow-interactivity-`).concat(l,` {pointer-events: all;}\n`)},WS=0,to=[];function PS(l){var i=b.useRef([]),s=b.useRef([0,0]),r=b.useRef(),u=b.useState(WS++)[0],f=b.useState(gv)[0],m=b.useRef(l);b.useEffect(function(){m.current=l},[l]),b.useEffect(function(){if(l.inert){document.body.classList.add(\"block-interactivity-\".concat(u));var E=xS([l.lockRef.current],(l.shards||[]).map(fg),!0).filter(Boolean);return E.forEach(function(R){return R.classList.add(\"allow-interactivity-\".concat(u))}),function(){document.body.classList.remove(\"block-interactivity-\".concat(u)),E.forEach(function(R){return R.classList.remove(\"allow-interactivity-\".concat(u))})}}},[l.inert,l.lockRef.current,l.shards]);var p=b.useCallback(function(E,R){if(\"touches\"in E&&E.touches.length===2||E.type===\"wheel\"&&E.ctrlKey)return!m.current.allowPinchZoom;var O=Lr(E),U=s.current,L=\"deltaX\"in E?E.deltaX:U[0]-O[0],Q=\"deltaY\"in E?E.deltaY:U[1]-O[1],$,F=E.target,X=Math.abs(L)>Math.abs(Q)?\"h\":\"v\";if(\"touches\"in E&&X===\"h\"&&F.type===\"range\")return!1;var K=cg(X,F);if(!K)return!0;if(K?$=X:($=X===\"v\"?\"h\":\"v\",K=cg(X,F)),!K)return!1;if(!r.current&&\"changedTouches\"in E&&(L||Q)&&(r.current=$),!$)return!0;var se=r.current||$;return $S(se,R,E,se===\"h\"?L:Q)},[]),v=b.useCallback(function(E){var R=E;if(!(!to.length||to[to.length-1]!==f)){var O=\"deltaY\"in R?ug(R):Lr(R),U=i.current.filter(function($){return $.name===R.type&&($.target===R.target||R.target===$.shadowParent)&&IS($.delta,O)})[0];if(U&&U.should){R.cancelable&&R.preventDefault();return}if(!U){var L=(m.current.shards||[]).map(fg).filter(Boolean).filter(function($){return $.contains(R.target)}),Q=L.length>0?p(R,L[0]):!m.current.noIsolation;Q&&R.cancelable&&R.preventDefault()}}},[]),g=b.useCallback(function(E,R,O,U){var L={name:E,delta:R,target:O,should:U,shadowParent:e2(O)};i.current.push(L),setTimeout(function(){i.current=i.current.filter(function(Q){return Q!==L})},1)},[]),S=b.useCallback(function(E){s.current=Lr(E),r.current=void 0},[]),h=b.useCallback(function(E){g(E.type,ug(E),E.target,p(E,l.lockRef.current))},[]),T=b.useCallback(function(E){g(E.type,Lr(E),E.target,p(E,l.lockRef.current))},[]);b.useEffect(function(){return to.push(f),l.setCallbacks({onScrollCapture:h,onWheelCapture:h,onTouchMoveCapture:T}),document.addEventListener(\"wheel\",v,eo),document.addEventListener(\"touchmove\",v,eo),document.addEventListener(\"touchstart\",S,eo),function(){to=to.filter(function(E){return E!==f}),document.removeEventListener(\"wheel\",v,eo),document.removeEventListener(\"touchmove\",v,eo),document.removeEventListener(\"touchstart\",S,eo)}},[]);var N=l.removeScrollBar,D=l.inert;return b.createElement(b.Fragment,null,D?b.createElement(f,{styles:FS(u)}):null,N?b.createElement(GS,{gapMode:l.gapMode}):null)}function e2(l){for(var i=null;l!==null;)l instanceof ShadowRoot&&(i=l.host,l=l.host),l=l.parentNode;return i}const t2=RS(hv,PS);var wf=b.forwardRef(function(l,i){return b.createElement(ls,Tn({},l,{ref:i,sideCar:t2}))});wf.classNames=ls.classNames;var n2=function(l){if(typeof document>\"u\")return null;var i=Array.isArray(l)?l[0]:l;return i.ownerDocument.body},no=new WeakMap,kr=new WeakMap,Vr={},Xu=0,xv=function(l){return l&&(l.host||xv(l.parentNode))},a2=function(l,i){return i.map(function(s){if(l.contains(s))return s;var r=xv(s);return r&&l.contains(r)?r:(console.error(\"aria-hidden\",s,\"in not contained inside\",l,\". Doing nothing\"),null)}).filter(function(s){return!!s})},l2=function(l,i,s,r){var u=a2(i,Array.isArray(l)?l:[l]);Vr[s]||(Vr[s]=new WeakMap);var f=Vr[s],m=[],p=new Set,v=new Set(u),g=function(h){!h||p.has(h)||(p.add(h),g(h.parentNode))};u.forEach(g);var S=function(h){!h||v.has(h)||Array.prototype.forEach.call(h.children,function(T){if(p.has(T))S(T);else try{var N=T.getAttribute(r),D=N!==null&&N!==\"false\",E=(no.get(T)||0)+1,R=(f.get(T)||0)+1;no.set(T,E),f.set(T,R),m.push(T),E===1&&D&&kr.set(T,!0),R===1&&T.setAttribute(s,\"true\"),D||T.setAttribute(r,\"true\")}catch(O){console.error(\"aria-hidden: cannot operate on \",T,O)}})};return S(i),p.clear(),Xu++,function(){m.forEach(function(h){var T=no.get(h)-1,N=f.get(h)-1;no.set(h,T),f.set(h,N),T||(kr.has(h)||h.removeAttribute(r),kr.delete(h)),N||h.removeAttribute(s)}),Xu--,Xu||(no=new WeakMap,no=new WeakMap,kr=new WeakMap,Vr={})}},Sv=function(l,i,s){s===void 0&&(s=\"data-aria-hidden\");var r=Array.from(Array.isArray(l)?l:[l]),u=n2(l);return u?(r.push.apply(r,Array.from(u.querySelectorAll(\"[aria-live]\"))),l2(r,u,s,\"aria-hidden\")):function(){return null}};function o2(l){const i=i2(l),s=b.forwardRef((r,u)=>{const{children:f,...m}=r,p=b.Children.toArray(f),v=p.find(s2);if(v){const g=v.props.children,S=p.map(h=>h===v?b.Children.count(g)>1?b.Children.only(null):b.isValidElement(g)?g.props.children:null:h);return y.jsx(i,{...m,ref:u,children:b.isValidElement(g)?b.cloneElement(g,void 0,S):null})}return y.jsx(i,{...m,ref:u,children:f})});return s.displayName=`${l}.Slot`,s}function i2(l){const i=b.forwardRef((s,r)=>{const{children:u,...f}=s;if(b.isValidElement(u)){const m=u2(u),p=c2(f,u.props);return u.type!==b.Fragment&&(p.ref=r?so(r,m):m),b.cloneElement(u,p)}return b.Children.count(u)>1?b.Children.only(null):null});return i.displayName=`${l}.SlotClone`,i}var r2=Symbol(\"radix.slottable\");function s2(l){return b.isValidElement(l)&&typeof l.type==\"function\"&&\"__radixId\"in l.type&&l.type.__radixId===r2}function c2(l,i){const s={...i};for(const r in i){const u=l[r],f=i[r];/^on[A-Z]/.test(r)?u&&f?s[r]=(...p)=>{const v=f(...p);return u(...p),v}:u&&(s[r]=u):r===\"style\"?s[r]={...u,...f}:r===\"className\"&&(s[r]=[u,f].filter(Boolean).join(\" \"))}return{...l,...s}}function u2(l){let i=Object.getOwnPropertyDescriptor(l.props,\"ref\")?.get,s=i&&\"isReactWarning\"in i&&i.isReactWarning;return s?l.ref:(i=Object.getOwnPropertyDescriptor(l,\"ref\")?.get,s=i&&\"isReactWarning\"in i&&i.isReactWarning,s?l.props.ref:l.props.ref||l.ref)}var os=\"Dialog\",[Ev]=za(os),[f2,pn]=Ev(os),wv=l=>{const{__scopeDialog:i,children:s,open:r,defaultOpen:u,onOpenChange:f,modal:m=!0}=l,p=b.useRef(null),v=b.useRef(null),[g,S]=Oa({prop:r,defaultProp:u??!1,onChange:f,caller:os});return y.jsx(f2,{scope:i,triggerRef:p,contentRef:v,contentId:An(),titleId:An(),descriptionId:An(),open:g,onOpenChange:S,onOpenToggle:b.useCallback(()=>S(h=>!h),[S]),modal:m,children:s})};wv.displayName=os;var Tv=\"DialogTrigger\",Cv=b.forwardRef((l,i)=>{const{__scopeDialog:s,...r}=l,u=pn(Tv,s),f=Je(i,u.triggerRef);return y.jsx(Ne.button,{type:\"button\",\"aria-haspopup\":\"dialog\",\"aria-expanded\":u.open,\"aria-controls\":u.contentId,\"data-state\":Af(u.open),...r,ref:f,onClick:De(l.onClick,u.onOpenToggle)})});Cv.displayName=Tv;var Tf=\"DialogPortal\",[d2,Av]=Ev(Tf,{forceMount:void 0}),_v=l=>{const{__scopeDialog:i,forceMount:s,children:r,container:u}=l,f=pn(Tf,i);return y.jsx(d2,{scope:i,forceMount:s,children:b.Children.map(r,m=>y.jsx(co,{present:s||f.open,children:y.jsx(Ef,{asChild:!0,container:u,children:m})}))})};_v.displayName=Tf;var Zr=\"DialogOverlay\",Nv=b.forwardRef((l,i)=>{const s=Av(Zr,l.__scopeDialog),{forceMount:r=s.forceMount,...u}=l,f=pn(Zr,l.__scopeDialog);return f.modal?y.jsx(co,{present:r||f.open,children:y.jsx(p2,{...u,ref:i})}):null});Nv.displayName=Zr;var m2=o2(\"DialogOverlay.RemoveScroll\"),p2=b.forwardRef((l,i)=>{const{__scopeDialog:s,...r}=l,u=pn(Zr,s);return y.jsx(wf,{as:m2,allowPinchZoom:!0,shards:[u.contentRef],children:y.jsx(Ne.div,{\"data-state\":Af(u.open),...r,ref:i,style:{pointerEvents:\"auto\",...r.style}})})}),sl=\"DialogContent\",Rv=b.forwardRef((l,i)=>{const s=Av(sl,l.__scopeDialog),{forceMount:r=s.forceMount,...u}=l,f=pn(sl,l.__scopeDialog);return y.jsx(co,{present:r||f.open,children:f.modal?y.jsx(h2,{...u,ref:i}):y.jsx(g2,{...u,ref:i})})});Rv.displayName=sl;var h2=b.forwardRef((l,i)=>{const s=pn(sl,l.__scopeDialog),r=b.useRef(null),u=Je(i,s.contentRef,r);return b.useEffect(()=>{const f=r.current;if(f)return Sv(f)},[]),y.jsx(Ov,{...l,ref:u,trapFocus:s.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:De(l.onCloseAutoFocus,f=>{f.preventDefault(),s.triggerRef.current?.focus()}),onPointerDownOutside:De(l.onPointerDownOutside,f=>{const m=f.detail.originalEvent,p=m.button===0&&m.ctrlKey===!0;(m.button===2||p)&&f.preventDefault()}),onFocusOutside:De(l.onFocusOutside,f=>f.preventDefault())})}),g2=b.forwardRef((l,i)=>{const s=pn(sl,l.__scopeDialog),r=b.useRef(!1),u=b.useRef(!1);return y.jsx(Ov,{...l,ref:i,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:f=>{l.onCloseAutoFocus?.(f),f.defaultPrevented||(r.current||s.triggerRef.current?.focus(),f.preventDefault()),r.current=!1,u.current=!1},onInteractOutside:f=>{l.onInteractOutside?.(f),f.defaultPrevented||(r.current=!0,f.detail.originalEvent.type===\"pointerdown\"&&(u.current=!0));const m=f.target;s.triggerRef.current?.contains(m)&&f.preventDefault(),f.detail.originalEvent.type===\"focusin\"&&u.current&&f.preventDefault()}})}),Ov=b.forwardRef((l,i)=>{const{__scopeDialog:s,trapFocus:r,onOpenAutoFocus:u,onCloseAutoFocus:f,...m}=l,p=pn(sl,s),v=b.useRef(null),g=Je(i,v);return dv(),y.jsxs(y.Fragment,{children:[y.jsx(Sf,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:u,onUnmountAutoFocus:f,children:y.jsx(xf,{role:\"dialog\",id:p.contentId,\"aria-describedby\":p.descriptionId,\"aria-labelledby\":p.titleId,\"data-state\":Af(p.open),...m,ref:g,onDismiss:()=>p.onOpenChange(!1)})}),y.jsxs(y.Fragment,{children:[y.jsx(y2,{titleId:p.titleId}),y.jsx(x2,{contentRef:v,descriptionId:p.descriptionId})]})]})}),Cf=\"DialogTitle\",Mv=b.forwardRef((l,i)=>{const{__scopeDialog:s,...r}=l,u=pn(Cf,s);return y.jsx(Ne.h2,{id:u.titleId,...r,ref:i})});Mv.displayName=Cf;var Dv=\"DialogDescription\",v2=b.forwardRef((l,i)=>{const{__scopeDialog:s,...r}=l,u=pn(Dv,s);return y.jsx(Ne.p,{id:u.descriptionId,...r,ref:i})});v2.displayName=Dv;var zv=\"DialogClose\",jv=b.forwardRef((l,i)=>{const{__scopeDialog:s,...r}=l,u=pn(zv,s);return y.jsx(Ne.button,{type:\"button\",...r,ref:i,onClick:De(l.onClick,()=>u.onOpenChange(!1))})});jv.displayName=zv;function Af(l){return l?\"open\":\"closed\"}var Uv=\"DialogTitleWarning\",[_C,Hv]=T1(Uv,{contentName:sl,titleName:Cf,docsSlug:\"dialog\"}),y2=({titleId:l})=>{const i=Hv(Uv),s=`\\`${i.contentName}\\` requires a \\`${i.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${i.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${i.docsSlug}`;return b.useEffect(()=>{l&&(document.getElementById(l)||console.error(s))},[s,l]),null},b2=\"DialogDescriptionWarning\",x2=({contentRef:l,descriptionId:i})=>{const r=`Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${Hv(b2).contentName}}.`;return b.useEffect(()=>{const u=l.current?.getAttribute(\"aria-describedby\");i&&u&&(document.getElementById(i)||console.warn(r))},[r,l,i]),null},S2=wv,E2=Cv,w2=_v,T2=Nv,C2=Rv,A2=Mv,_2=jv;const N2=l=>l.replace(/([a-z0-9])([A-Z])/g,\"$1-$2\").toLowerCase(),R2=l=>l.replace(/^([A-Z])|[\\s-_]+(\\w)/g,(i,s,r)=>r?r.toUpperCase():s.toLowerCase()),dg=l=>{const i=R2(l);return i.charAt(0).toUpperCase()+i.slice(1)},Bv=(...l)=>l.filter((i,s,r)=>!!i&&i.trim()!==\"\"&&r.indexOf(i)===s).join(\" \").trim(),O2=l=>{for(const i in l)if(i.startsWith(\"aria-\")||i===\"role\"||i===\"title\")return!0};var M2={xmlns:\"http://www.w3.org/2000/svg\",width:24,height:24,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\"};const D2=b.forwardRef(({color:l=\"currentColor\",size:i=24,strokeWidth:s=2,absoluteStrokeWidth:r,className:u=\"\",children:f,iconNode:m,...p},v)=>b.createElement(\"svg\",{ref:v,...M2,width:i,height:i,stroke:l,strokeWidth:r?Number(s)*24/Number(i):s,className:Bv(\"lucide\",u),...!f&&!O2(p)&&{\"aria-hidden\":\"true\"},...p},[...m.map(([g,S])=>b.createElement(g,S)),...Array.isArray(f)?f:[f]]));const vt=(l,i)=>{const s=b.forwardRef(({className:r,...u},f)=>b.createElement(D2,{ref:f,iconNode:i,className:Bv(`lucide-${N2(dg(l))}`,`lucide-${l}`,r),...u}));return s.displayName=dg(l),s};const z2=[[\"path\",{d:\"M20 6 9 17l-5-5\",key:\"1gmf2c\"}]],j2=vt(\"check\",z2);const U2=[[\"path\",{d:\"m6 9 6 6 6-6\",key:\"qrunsl\"}]],_f=vt(\"chevron-down\",U2);const H2=[[\"path\",{d:\"m18 15-6-6-6 6\",key:\"153udz\"}]],B2=vt(\"chevron-up\",H2);const L2=[[\"circle\",{cx:\"12\",cy:\"12\",r:\"10\",key:\"1mglay\"}],[\"line\",{x1:\"12\",x2:\"12\",y1:\"8\",y2:\"12\",key:\"1pkeuh\"}],[\"line\",{x1:\"12\",x2:\"12.01\",y1:\"16\",y2:\"16\",key:\"4dfq90\"}]],Lv=vt(\"circle-alert\",L2);const k2=[[\"rect\",{width:\"14\",height:\"14\",x:\"8\",y:\"8\",rx:\"2\",ry:\"2\",key:\"17jyea\"}],[\"path\",{d:\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\",key:\"zix9uf\"}]],kv=vt(\"copy\",k2);const V2=[[\"path\",{d:\"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49\",key:\"ct8e1f\"}],[\"path\",{d:\"M14.084 14.158a3 3 0 0 1-4.242-4.242\",key:\"151rxh\"}],[\"path\",{d:\"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143\",key:\"13bj9a\"}],[\"path\",{d:\"m2 2 20 20\",key:\"1ooewy\"}]],Y2=vt(\"eye-off\",V2);const G2=[[\"path\",{d:\"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0\",key:\"1nclc0\"}],[\"circle\",{cx:\"12\",cy:\"12\",r:\"3\",key:\"1v7zrd\"}]],q2=vt(\"eye\",G2);const X2=[[\"circle\",{cx:\"12\",cy:\"12\",r:\"10\",key:\"1mglay\"}],[\"path\",{d:\"M12 16v-4\",key:\"1dtifu\"}],[\"path\",{d:\"M12 8h.01\",key:\"e9boi3\"}]],Vv=vt(\"info\",X2);const K2=[[\"path\",{d:\"M21 12a9 9 0 1 1-6.219-8.56\",key:\"13zald\"}]],pi=vt(\"loader-circle\",K2);const Q2=[[\"path\",{d:\"M12 19v3\",key:\"npa21l\"}],[\"path\",{d:\"M19 10v2a7 7 0 0 1-14 0v-2\",key:\"1vc78b\"}],[\"rect\",{x:\"9\",y:\"2\",width:\"6\",height:\"13\",rx:\"3\",key:\"s6n7sd\"}]],mg=vt(\"mic\",Q2);const Z2=[[\"path\",{d:\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\",key:\"kfwtm\"}]],J2=vt(\"moon\",Z2);const $2=[[\"path\",{d:\"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z\",key:\"1c8476\"}],[\"path\",{d:\"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7\",key:\"1ydtos\"}],[\"path\",{d:\"M7 3v4a1 1 0 0 0 1 1h7\",key:\"t51u73\"}]],I2=vt(\"save\",$2);const F2=[[\"path\",{d:\"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915\",key:\"1i5ecw\"}],[\"circle\",{cx:\"12\",cy:\"12\",r:\"3\",key:\"1v7zrd\"}]],W2=vt(\"settings\",F2);const P2=[[\"circle\",{cx:\"12\",cy:\"12\",r:\"4\",key:\"4exip2\"}],[\"path\",{d:\"M12 2v2\",key:\"tus03m\"}],[\"path\",{d:\"M12 20v2\",key:\"1lh1kg\"}],[\"path\",{d:\"m4.93 4.93 1.41 1.41\",key:\"149t6j\"}],[\"path\",{d:\"m17.66 17.66 1.41 1.41\",key:\"ptbguv\"}],[\"path\",{d:\"M2 12h2\",key:\"1t8f8n\"}],[\"path\",{d:\"M20 12h2\",key:\"1q8mjw\"}],[\"path\",{d:\"m6.34 17.66-1.41 1.41\",key:\"1m8zz5\"}],[\"path\",{d:\"m19.07 4.93-1.41 1.41\",key:\"1shlcs\"}]],eE=vt(\"sun\",P2);const tE=[[\"path\",{d:\"M10 11v6\",key:\"nco0om\"}],[\"path\",{d:\"M14 11v6\",key:\"outv1u\"}],[\"path\",{d:\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6\",key:\"miytrc\"}],[\"path\",{d:\"M3 6h18\",key:\"d0wm0j\"}],[\"path\",{d:\"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\",key:\"e791ji\"}]],Yv=vt(\"trash-2\",tE);const nE=[[\"path\",{d:\"M18 6 6 18\",key:\"1bl5f8\"}],[\"path\",{d:\"m6 6 12 12\",key:\"d8bk6v\"}]],Gv=vt(\"x\",nE);const aE=[[\"path\",{d:\"M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17\",key:\"1q2vi4\"}],[\"path\",{d:\"m10 15 5-3-5-3z\",key:\"1jp15x\"}]],lE=vt(\"youtube\",aE);function oE({...l}){return y.jsx(S2,{\"data-slot\":\"sheet\",...l})}function iE({...l}){return y.jsx(E2,{\"data-slot\":\"sheet-trigger\",...l})}function rE({...l}){return y.jsx(w2,{\"data-slot\":\"sheet-portal\",...l})}function sE({className:l,...i}){return y.jsx(T2,{\"data-slot\":\"sheet-overlay\",className:qe(\"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80\",l),...i})}function cE({className:l,children:i,side:s=\"right\",...r}){return y.jsxs(rE,{children:[y.jsx(sE,{}),y.jsxs(C2,{\"data-slot\":\"sheet-content\",className:qe(\"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",s===\"right\"&&\"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm\",s===\"left\"&&\"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm\",s===\"top\"&&\"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b\",s===\"bottom\"&&\"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t\",l),...r,children:[i,y.jsxs(_2,{className:\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\",children:[y.jsx(Gv,{className:\"size-4\"}),y.jsx(\"span\",{className:\"sr-only\",children:\"Close\"})]})]})]})}function uE({className:l,...i}){return y.jsx(\"div\",{\"data-slot\":\"sheet-header\",className:qe(\"flex flex-col gap-1.5 p-4\",l),...i})}function fE({className:l,...i}){return y.jsx(A2,{\"data-slot\":\"sheet-title\",className:qe(\"text-foreground font-semibold\",l),...i})}function lo({className:l,...i}){return y.jsx(\"div\",{\"data-slot\":\"card\",className:qe(\"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm\",l),...i})}function Jr({className:l,...i}){return y.jsx(\"div\",{\"data-slot\":\"card-header\",className:qe(\"flex flex-col gap-1.5 px-6\",l),...i})}function $r({className:l,...i}){return y.jsx(\"div\",{\"data-slot\":\"card-title\",className:qe(\"leading-none font-semibold\",l),...i})}function oo({className:l,...i}){return y.jsx(\"div\",{\"data-slot\":\"card-content\",className:qe(\"px-6\",l),...i})}function qv({className:l,...i}){return y.jsx(\"div\",{\"data-slot\":\"card-footer\",className:qe(\"flex items-center px-6\",l),...i})}function is({className:l,type:i,...s}){return y.jsx(\"input\",{type:i,\"data-slot\":\"input\",className:qe(\"border-input file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",l),...s})}function pg(l,[i,s]){return Math.min(s,Math.max(i,l))}const dE=[\"top\",\"right\",\"bottom\",\"left\"],Ma=Math.min,Xt=Math.max,Ir=Math.round,Yr=Math.floor,_n=l=>({x:l,y:l}),mE={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"},pE={start:\"end\",end:\"start\"};function Pu(l,i,s){return Xt(l,Ma(i,s))}function Wn(l,i){return typeof l==\"function\"?l(i):l}function Pn(l){return l.split(\"-\")[0]}function mo(l){return l.split(\"-\")[1]}function Nf(l){return l===\"x\"?\"y\":\"x\"}function Rf(l){return l===\"y\"?\"height\":\"width\"}const hE=new Set([\"top\",\"bottom\"]);function Cn(l){return hE.has(Pn(l))?\"y\":\"x\"}function Of(l){return Nf(Cn(l))}function gE(l,i,s){s===void 0&&(s=!1);const r=mo(l),u=Of(l),f=Rf(u);let m=u===\"x\"?r===(s?\"end\":\"start\")?\"right\":\"left\":r===\"start\"?\"bottom\":\"top\";return i.reference[f]>i.floating[f]&&(m=Fr(m)),[m,Fr(m)]}function vE(l){const i=Fr(l);return[ef(l),i,ef(i)]}function ef(l){return l.replace(/start|end/g,i=>pE[i])}const hg=[\"left\",\"right\"],gg=[\"right\",\"left\"],yE=[\"top\",\"bottom\"],bE=[\"bottom\",\"top\"];function xE(l,i,s){switch(l){case\"top\":case\"bottom\":return s?i?gg:hg:i?hg:gg;case\"left\":case\"right\":return i?yE:bE;default:return[]}}function SE(l,i,s,r){const u=mo(l);let f=xE(Pn(l),s===\"start\",r);return u&&(f=f.map(m=>m+\"-\"+u),i&&(f=f.concat(f.map(ef)))),f}function Fr(l){return l.replace(/left|right|bottom|top/g,i=>mE[i])}function EE(l){return{top:0,right:0,bottom:0,left:0,...l}}function Xv(l){return typeof l!=\"number\"?EE(l):{top:l,right:l,bottom:l,left:l}}function Wr(l){const{x:i,y:s,width:r,height:u}=l;return{width:r,height:u,top:s,left:i,right:i+r,bottom:s+u,x:i,y:s}}function vg(l,i,s){let{reference:r,floating:u}=l;const f=Cn(i),m=Of(i),p=Rf(m),v=Pn(i),g=f===\"y\",S=r.x+r.width/2-u.width/2,h=r.y+r.height/2-u.height/2,T=r[p]/2-u[p]/2;let N;switch(v){case\"top\":N={x:S,y:r.y-u.height};break;case\"bottom\":N={x:S,y:r.y+r.height};break;case\"right\":N={x:r.x+r.width,y:h};break;case\"left\":N={x:r.x-u.width,y:h};break;default:N={x:r.x,y:r.y}}switch(mo(i)){case\"start\":N[m]-=T*(s&&g?-1:1);break;case\"end\":N[m]+=T*(s&&g?-1:1);break}return N}const wE=async(l,i,s)=>{const{placement:r=\"bottom\",strategy:u=\"absolute\",middleware:f=[],platform:m}=s,p=f.filter(Boolean),v=await(m.isRTL==null?void 0:m.isRTL(i));let g=await m.getElementRects({reference:l,floating:i,strategy:u}),{x:S,y:h}=vg(g,r,v),T=r,N={},D=0;for(let E=0;E<p.length;E++){const{name:R,fn:O}=p[E],{x:U,y:L,data:Q,reset:$}=await O({x:S,y:h,initialPlacement:r,placement:T,strategy:u,middlewareData:N,rects:g,platform:m,elements:{reference:l,floating:i}});S=U??S,h=L??h,N={...N,[R]:{...N[R],...Q}},$&&D<=50&&(D++,typeof $==\"object\"&&($.placement&&(T=$.placement),$.rects&&(g=$.rects===!0?await m.getElementRects({reference:l,floating:i,strategy:u}):$.rects),{x:S,y:h}=vg(g,T,v)),E=-1)}return{x:S,y:h,placement:T,strategy:u,middlewareData:N}};async function hi(l,i){var s;i===void 0&&(i={});const{x:r,y:u,platform:f,rects:m,elements:p,strategy:v}=l,{boundary:g=\"clippingAncestors\",rootBoundary:S=\"viewport\",elementContext:h=\"floating\",altBoundary:T=!1,padding:N=0}=Wn(i,l),D=Xv(N),R=p[T?h===\"floating\"?\"reference\":\"floating\":h],O=Wr(await f.getClippingRect({element:(s=await(f.isElement==null?void 0:f.isElement(R)))==null||s?R:R.contextElement||await(f.getDocumentElement==null?void 0:f.getDocumentElement(p.floating)),boundary:g,rootBoundary:S,strategy:v})),U=h===\"floating\"?{x:r,y:u,width:m.floating.width,height:m.floating.height}:m.reference,L=await(f.getOffsetParent==null?void 0:f.getOffsetParent(p.floating)),Q=await(f.isElement==null?void 0:f.isElement(L))?await(f.getScale==null?void 0:f.getScale(L))||{x:1,y:1}:{x:1,y:1},$=Wr(f.convertOffsetParentRelativeRectToViewportRelativeRect?await f.convertOffsetParentRelativeRectToViewportRelativeRect({elements:p,rect:U,offsetParent:L,strategy:v}):U);return{top:(O.top-$.top+D.top)/Q.y,bottom:($.bottom-O.bottom+D.bottom)/Q.y,left:(O.left-$.left+D.left)/Q.x,right:($.right-O.right+D.right)/Q.x}}const TE=l=>({name:\"arrow\",options:l,async fn(i){const{x:s,y:r,placement:u,rects:f,platform:m,elements:p,middlewareData:v}=i,{element:g,padding:S=0}=Wn(l,i)||{};if(g==null)return{};const h=Xv(S),T={x:s,y:r},N=Of(u),D=Rf(N),E=await m.getDimensions(g),R=N===\"y\",O=R?\"top\":\"left\",U=R?\"bottom\":\"right\",L=R?\"clientHeight\":\"clientWidth\",Q=f.reference[D]+f.reference[N]-T[N]-f.floating[D],$=T[N]-f.reference[N],F=await(m.getOffsetParent==null?void 0:m.getOffsetParent(g));let X=F?F[L]:0;(!X||!await(m.isElement==null?void 0:m.isElement(F)))&&(X=p.floating[L]||f.floating[D]);const K=Q/2-$/2,se=X/2-E[D]/2-1,ve=Ma(h[O],se),ye=Ma(h[U],se),fe=ve,de=X-E[D]-ye,me=X/2-E[D]/2+K,he=Pu(fe,me,de),A=!v.arrow&&mo(u)!=null&&me!==he&&f.reference[D]/2-(me<fe?ve:ye)-E[D]/2<0,V=A?me<fe?me-fe:me-de:0;return{[N]:T[N]+V,data:{[N]:he,centerOffset:me-he-V,...A&&{alignmentOffset:V}},reset:A}}}),CE=function(l){return l===void 0&&(l={}),{name:\"flip\",options:l,async fn(i){var s,r;const{placement:u,middlewareData:f,rects:m,initialPlacement:p,platform:v,elements:g}=i,{mainAxis:S=!0,crossAxis:h=!0,fallbackPlacements:T,fallbackStrategy:N=\"bestFit\",fallbackAxisSideDirection:D=\"none\",flipAlignment:E=!0,...R}=Wn(l,i);if((s=f.arrow)!=null&&s.alignmentOffset)return{};const O=Pn(u),U=Cn(p),L=Pn(p)===p,Q=await(v.isRTL==null?void 0:v.isRTL(g.floating)),$=T||(L||!E?[Fr(p)]:vE(p)),F=D!==\"none\";!T&&F&&$.push(...SE(p,E,D,Q));const X=[p,...$],K=await hi(i,R),se=[];let ve=((r=f.flip)==null?void 0:r.overflows)||[];if(S&&se.push(K[O]),h){const me=gE(u,m,Q);se.push(K[me[0]],K[me[1]])}if(ve=[...ve,{placement:u,overflows:se}],!se.every(me=>me<=0)){var ye,fe;const me=(((ye=f.flip)==null?void 0:ye.index)||0)+1,he=X[me];if(he&&(!(h===\"alignment\"?U!==Cn(he):!1)||ve.every(B=>Cn(B.placement)===U?B.overflows[0]>0:!0)))return{data:{index:me,overflows:ve},reset:{placement:he}};let A=(fe=ve.filter(V=>V.overflows[0]<=0).sort((V,B)=>V.overflows[1]-B.overflows[1])[0])==null?void 0:fe.placement;if(!A)switch(N){case\"bestFit\":{var de;const V=(de=ve.filter(B=>{if(F){const ne=Cn(B.placement);return ne===U||ne===\"y\"}return!0}).map(B=>[B.placement,B.overflows.filter(ne=>ne>0).reduce((ne,ce)=>ne+ce,0)]).sort((B,ne)=>B[1]-ne[1])[0])==null?void 0:de[0];V&&(A=V);break}case\"initialPlacement\":A=p;break}if(u!==A)return{reset:{placement:A}}}return{}}}};function yg(l,i){return{top:l.top-i.height,right:l.right-i.width,bottom:l.bottom-i.height,left:l.left-i.width}}function bg(l){return dE.some(i=>l[i]>=0)}const AE=function(l){return l===void 0&&(l={}),{name:\"hide\",options:l,async fn(i){const{rects:s}=i,{strategy:r=\"referenceHidden\",...u}=Wn(l,i);switch(r){case\"referenceHidden\":{const f=await hi(i,{...u,elementContext:\"reference\"}),m=yg(f,s.reference);return{data:{referenceHiddenOffsets:m,referenceHidden:bg(m)}}}case\"escaped\":{const f=await hi(i,{...u,altBoundary:!0}),m=yg(f,s.floating);return{data:{escapedOffsets:m,escaped:bg(m)}}}default:return{}}}}},Kv=new Set([\"left\",\"top\"]);async function _E(l,i){const{placement:s,platform:r,elements:u}=l,f=await(r.isRTL==null?void 0:r.isRTL(u.floating)),m=Pn(s),p=mo(s),v=Cn(s)===\"y\",g=Kv.has(m)?-1:1,S=f&&v?-1:1,h=Wn(i,l);let{mainAxis:T,crossAxis:N,alignmentAxis:D}=typeof h==\"number\"?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return p&&typeof D==\"number\"&&(N=p===\"end\"?D*-1:D),v?{x:N*S,y:T*g}:{x:T*g,y:N*S}}const NE=function(l){return l===void 0&&(l=0),{name:\"offset\",options:l,async fn(i){var s,r;const{x:u,y:f,placement:m,middlewareData:p}=i,v=await _E(i,l);return m===((s=p.offset)==null?void 0:s.placement)&&(r=p.arrow)!=null&&r.alignmentOffset?{}:{x:u+v.x,y:f+v.y,data:{...v,placement:m}}}}},RE=function(l){return l===void 0&&(l={}),{name:\"shift\",options:l,async fn(i){const{x:s,y:r,placement:u}=i,{mainAxis:f=!0,crossAxis:m=!1,limiter:p={fn:R=>{let{x:O,y:U}=R;return{x:O,y:U}}},...v}=Wn(l,i),g={x:s,y:r},S=await hi(i,v),h=Cn(Pn(u)),T=Nf(h);let N=g[T],D=g[h];if(f){const R=T===\"y\"?\"top\":\"left\",O=T===\"y\"?\"bottom\":\"right\",U=N+S[R],L=N-S[O];N=Pu(U,N,L)}if(m){const R=h===\"y\"?\"top\":\"left\",O=h===\"y\"?\"bottom\":\"right\",U=D+S[R],L=D-S[O];D=Pu(U,D,L)}const E=p.fn({...i,[T]:N,[h]:D});return{...E,data:{x:E.x-s,y:E.y-r,enabled:{[T]:f,[h]:m}}}}}},OE=function(l){return l===void 0&&(l={}),{options:l,fn(i){const{x:s,y:r,placement:u,rects:f,middlewareData:m}=i,{offset:p=0,mainAxis:v=!0,crossAxis:g=!0}=Wn(l,i),S={x:s,y:r},h=Cn(u),T=Nf(h);let N=S[T],D=S[h];const E=Wn(p,i),R=typeof E==\"number\"?{mainAxis:E,crossAxis:0}:{mainAxis:0,crossAxis:0,...E};if(v){const L=T===\"y\"?\"height\":\"width\",Q=f.reference[T]-f.floating[L]+R.mainAxis,$=f.reference[T]+f.reference[L]-R.mainAxis;N<Q?N=Q:N>$&&(N=$)}if(g){var O,U;const L=T===\"y\"?\"width\":\"height\",Q=Kv.has(Pn(u)),$=f.reference[h]-f.floating[L]+(Q&&((O=m.offset)==null?void 0:O[h])||0)+(Q?0:R.crossAxis),F=f.reference[h]+f.reference[L]+(Q?0:((U=m.offset)==null?void 0:U[h])||0)-(Q?R.crossAxis:0);D<$?D=$:D>F&&(D=F)}return{[T]:N,[h]:D}}}},ME=function(l){return l===void 0&&(l={}),{name:\"size\",options:l,async fn(i){var s,r;const{placement:u,rects:f,platform:m,elements:p}=i,{apply:v=()=>{},...g}=Wn(l,i),S=await hi(i,g),h=Pn(u),T=mo(u),N=Cn(u)===\"y\",{width:D,height:E}=f.floating;let R,O;h===\"top\"||h===\"bottom\"?(R=h,O=T===(await(m.isRTL==null?void 0:m.isRTL(p.floating))?\"start\":\"end\")?\"left\":\"right\"):(O=h,R=T===\"end\"?\"top\":\"bottom\");const U=E-S.top-S.bottom,L=D-S.left-S.right,Q=Ma(E-S[R],U),$=Ma(D-S[O],L),F=!i.middlewareData.shift;let X=Q,K=$;if((s=i.middlewareData.shift)!=null&&s.enabled.x&&(K=L),(r=i.middlewareData.shift)!=null&&r.enabled.y&&(X=U),F&&!T){const ve=Xt(S.left,0),ye=Xt(S.right,0),fe=Xt(S.top,0),de=Xt(S.bottom,0);N?K=D-2*(ve!==0||ye!==0?ve+ye:Xt(S.left,S.right)):X=E-2*(fe!==0||de!==0?fe+de:Xt(S.top,S.bottom))}await v({...i,availableWidth:K,availableHeight:X});const se=await m.getDimensions(p.floating);return D!==se.width||E!==se.height?{reset:{rects:!0}}:{}}}};function rs(){return typeof window<\"u\"}function po(l){return Qv(l)?(l.nodeName||\"\").toLowerCase():\"#document\"}function Kt(l){var i;return(l==null||(i=l.ownerDocument)==null?void 0:i.defaultView)||window}function Rn(l){var i;return(i=(Qv(l)?l.ownerDocument:l.document)||window.document)==null?void 0:i.documentElement}function Qv(l){return rs()?l instanceof Node||l instanceof Kt(l).Node:!1}function dn(l){return rs()?l instanceof Element||l instanceof Kt(l).Element:!1}function Nn(l){return rs()?l instanceof HTMLElement||l instanceof Kt(l).HTMLElement:!1}function xg(l){return!rs()||typeof ShadowRoot>\"u\"?!1:l instanceof ShadowRoot||l instanceof Kt(l).ShadowRoot}const DE=new Set([\"inline\",\"contents\"]);function bi(l){const{overflow:i,overflowX:s,overflowY:r,display:u}=mn(l);return/auto|scroll|overlay|hidden|clip/.test(i+r+s)&&!DE.has(u)}const zE=new Set([\"table\",\"td\",\"th\"]);function jE(l){return zE.has(po(l))}const UE=[\":popover-open\",\":modal\"];function ss(l){return UE.some(i=>{try{return l.matches(i)}catch{return!1}})}const HE=[\"transform\",\"translate\",\"scale\",\"rotate\",\"perspective\"],BE=[\"transform\",\"translate\",\"scale\",\"rotate\",\"perspective\",\"filter\"],LE=[\"paint\",\"layout\",\"strict\",\"content\"];function Mf(l){const i=Df(),s=dn(l)?mn(l):l;return HE.some(r=>s[r]?s[r]!==\"none\":!1)||(s.containerType?s.containerType!==\"normal\":!1)||!i&&(s.backdropFilter?s.backdropFilter!==\"none\":!1)||!i&&(s.filter?s.filter!==\"none\":!1)||BE.some(r=>(s.willChange||\"\").includes(r))||LE.some(r=>(s.contain||\"\").includes(r))}function kE(l){let i=Da(l);for(;Nn(i)&&!ro(i);){if(Mf(i))return i;if(ss(i))return null;i=Da(i)}return null}function Df(){return typeof CSS>\"u\"||!CSS.supports?!1:CSS.supports(\"-webkit-backdrop-filter\",\"none\")}const VE=new Set([\"html\",\"body\",\"#document\"]);function ro(l){return VE.has(po(l))}function mn(l){return Kt(l).getComputedStyle(l)}function cs(l){return dn(l)?{scrollLeft:l.scrollLeft,scrollTop:l.scrollTop}:{scrollLeft:l.scrollX,scrollTop:l.scrollY}}function Da(l){if(po(l)===\"html\")return l;const i=l.assignedSlot||l.parentNode||xg(l)&&l.host||Rn(l);return xg(i)?i.host:i}function Zv(l){const i=Da(l);return ro(i)?l.ownerDocument?l.ownerDocument.body:l.body:Nn(i)&&bi(i)?i:Zv(i)}function gi(l,i,s){var r;i===void 0&&(i=[]),s===void 0&&(s=!0);const u=Zv(l),f=u===((r=l.ownerDocument)==null?void 0:r.body),m=Kt(u);if(f){const p=tf(m);return i.concat(m,m.visualViewport||[],bi(u)?u:[],p&&s?gi(p):[])}return i.concat(u,gi(u,[],s))}function tf(l){return l.parent&&Object.getPrototypeOf(l.parent)?l.frameElement:null}function Jv(l){const i=mn(l);let s=parseFloat(i.width)||0,r=parseFloat(i.height)||0;const u=Nn(l),f=u?l.offsetWidth:s,m=u?l.offsetHeight:r,p=Ir(s)!==f||Ir(r)!==m;return p&&(s=f,r=m),{width:s,height:r,$:p}}function zf(l){return dn(l)?l:l.contextElement}function io(l){const i=zf(l);if(!Nn(i))return _n(1);const s=i.getBoundingClientRect(),{width:r,height:u,$:f}=Jv(i);let m=(f?Ir(s.width):s.width)/r,p=(f?Ir(s.height):s.height)/u;return(!m||!Number.isFinite(m))&&(m=1),(!p||!Number.isFinite(p))&&(p=1),{x:m,y:p}}const YE=_n(0);function $v(l){const i=Kt(l);return!Df()||!i.visualViewport?YE:{x:i.visualViewport.offsetLeft,y:i.visualViewport.offsetTop}}function GE(l,i,s){return i===void 0&&(i=!1),!s||i&&s!==Kt(l)?!1:i}function cl(l,i,s,r){i===void 0&&(i=!1),s===void 0&&(s=!1);const u=l.getBoundingClientRect(),f=zf(l);let m=_n(1);i&&(r?dn(r)&&(m=io(r)):m=io(l));const p=GE(f,s,r)?$v(f):_n(0);let v=(u.left+p.x)/m.x,g=(u.top+p.y)/m.y,S=u.width/m.x,h=u.height/m.y;if(f){const T=Kt(f),N=r&&dn(r)?Kt(r):r;let D=T,E=tf(D);for(;E&&r&&N!==D;){const R=io(E),O=E.getBoundingClientRect(),U=mn(E),L=O.left+(E.clientLeft+parseFloat(U.paddingLeft))*R.x,Q=O.top+(E.clientTop+parseFloat(U.paddingTop))*R.y;v*=R.x,g*=R.y,S*=R.x,h*=R.y,v+=L,g+=Q,D=Kt(E),E=tf(D)}}return Wr({width:S,height:h,x:v,y:g})}function us(l,i){const s=cs(l).scrollLeft;return i?i.left+s:cl(Rn(l)).left+s}function Iv(l,i){const s=l.getBoundingClientRect(),r=s.left+i.scrollLeft-us(l,s),u=s.top+i.scrollTop;return{x:r,y:u}}function qE(l){let{elements:i,rect:s,offsetParent:r,strategy:u}=l;const f=u===\"fixed\",m=Rn(r),p=i?ss(i.floating):!1;if(r===m||p&&f)return s;let v={scrollLeft:0,scrollTop:0},g=_n(1);const S=_n(0),h=Nn(r);if((h||!h&&!f)&&((po(r)!==\"body\"||bi(m))&&(v=cs(r)),Nn(r))){const N=cl(r);g=io(r),S.x=N.x+r.clientLeft,S.y=N.y+r.clientTop}const T=m&&!h&&!f?Iv(m,v):_n(0);return{width:s.width*g.x,height:s.height*g.y,x:s.x*g.x-v.scrollLeft*g.x+S.x+T.x,y:s.y*g.y-v.scrollTop*g.y+S.y+T.y}}function XE(l){return Array.from(l.getClientRects())}function KE(l){const i=Rn(l),s=cs(l),r=l.ownerDocument.body,u=Xt(i.scrollWidth,i.clientWidth,r.scrollWidth,r.clientWidth),f=Xt(i.scrollHeight,i.clientHeight,r.scrollHeight,r.clientHeight);let m=-s.scrollLeft+us(l);const p=-s.scrollTop;return mn(r).direction===\"rtl\"&&(m+=Xt(i.clientWidth,r.clientWidth)-u),{width:u,height:f,x:m,y:p}}const Sg=25;function QE(l,i){const s=Kt(l),r=Rn(l),u=s.visualViewport;let f=r.clientWidth,m=r.clientHeight,p=0,v=0;if(u){f=u.width,m=u.height;const S=Df();(!S||S&&i===\"fixed\")&&(p=u.offsetLeft,v=u.offsetTop)}const g=us(r);if(g<=0){const S=r.ownerDocument,h=S.body,T=getComputedStyle(h),N=S.compatMode===\"CSS1Compat\"&&parseFloat(T.marginLeft)+parseFloat(T.marginRight)||0,D=Math.abs(r.clientWidth-h.clientWidth-N);D<=Sg&&(f-=D)}else g<=Sg&&(f+=g);return{width:f,height:m,x:p,y:v}}const ZE=new Set([\"absolute\",\"fixed\"]);function JE(l,i){const s=cl(l,!0,i===\"fixed\"),r=s.top+l.clientTop,u=s.left+l.clientLeft,f=Nn(l)?io(l):_n(1),m=l.clientWidth*f.x,p=l.clientHeight*f.y,v=u*f.x,g=r*f.y;return{width:m,height:p,x:v,y:g}}function Eg(l,i,s){let r;if(i===\"viewport\")r=QE(l,s);else if(i===\"document\")r=KE(Rn(l));else if(dn(i))r=JE(i,s);else{const u=$v(l);r={x:i.x-u.x,y:i.y-u.y,width:i.width,height:i.height}}return Wr(r)}function Fv(l,i){const s=Da(l);return s===i||!dn(s)||ro(s)?!1:mn(s).position===\"fixed\"||Fv(s,i)}function $E(l,i){const s=i.get(l);if(s)return s;let r=gi(l,[],!1).filter(p=>dn(p)&&po(p)!==\"body\"),u=null;const f=mn(l).position===\"fixed\";let m=f?Da(l):l;for(;dn(m)&&!ro(m);){const p=mn(m),v=Mf(m);!v&&p.position===\"fixed\"&&(u=null),(f?!v&&!u:!v&&p.position===\"static\"&&!!u&&ZE.has(u.position)||bi(m)&&!v&&Fv(l,m))?r=r.filter(S=>S!==m):u=p,m=Da(m)}return i.set(l,r),r}function IE(l){let{element:i,boundary:s,rootBoundary:r,strategy:u}=l;const m=[...s===\"clippingAncestors\"?ss(i)?[]:$E(i,this._c):[].concat(s),r],p=m[0],v=m.reduce((g,S)=>{const h=Eg(i,S,u);return g.top=Xt(h.top,g.top),g.right=Ma(h.right,g.right),g.bottom=Ma(h.bottom,g.bottom),g.left=Xt(h.left,g.left),g},Eg(i,p,u));return{width:v.right-v.left,height:v.bottom-v.top,x:v.left,y:v.top}}function FE(l){const{width:i,height:s}=Jv(l);return{width:i,height:s}}function WE(l,i,s){const r=Nn(i),u=Rn(i),f=s===\"fixed\",m=cl(l,!0,f,i);let p={scrollLeft:0,scrollTop:0};const v=_n(0);function g(){v.x=us(u)}if(r||!r&&!f)if((po(i)!==\"body\"||bi(u))&&(p=cs(i)),r){const N=cl(i,!0,f,i);v.x=N.x+i.clientLeft,v.y=N.y+i.clientTop}else u&&g();f&&!r&&u&&g();const S=u&&!r&&!f?Iv(u,p):_n(0),h=m.left+p.scrollLeft-v.x-S.x,T=m.top+p.scrollTop-v.y-S.y;return{x:h,y:T,width:m.width,height:m.height}}function Ku(l){return mn(l).position===\"static\"}function wg(l,i){if(!Nn(l)||mn(l).position===\"fixed\")return null;if(i)return i(l);let s=l.offsetParent;return Rn(l)===s&&(s=s.ownerDocument.body),s}function Wv(l,i){const s=Kt(l);if(ss(l))return s;if(!Nn(l)){let u=Da(l);for(;u&&!ro(u);){if(dn(u)&&!Ku(u))return u;u=Da(u)}return s}let r=wg(l,i);for(;r&&jE(r)&&Ku(r);)r=wg(r,i);return r&&ro(r)&&Ku(r)&&!Mf(r)?s:r||kE(l)||s}const PE=async function(l){const i=this.getOffsetParent||Wv,s=this.getDimensions,r=await s(l.floating);return{reference:WE(l.reference,await i(l.floating),l.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function ew(l){return mn(l).direction===\"rtl\"}const tw={convertOffsetParentRelativeRectToViewportRelativeRect:qE,getDocumentElement:Rn,getClippingRect:IE,getOffsetParent:Wv,getElementRects:PE,getClientRects:XE,getDimensions:FE,getScale:io,isElement:dn,isRTL:ew};function Pv(l,i){return l.x===i.x&&l.y===i.y&&l.width===i.width&&l.height===i.height}function nw(l,i){let s=null,r;const u=Rn(l);function f(){var p;clearTimeout(r),(p=s)==null||p.disconnect(),s=null}function m(p,v){p===void 0&&(p=!1),v===void 0&&(v=1),f();const g=l.getBoundingClientRect(),{left:S,top:h,width:T,height:N}=g;if(p||i(),!T||!N)return;const D=Yr(h),E=Yr(u.clientWidth-(S+T)),R=Yr(u.clientHeight-(h+N)),O=Yr(S),L={rootMargin:-D+\"px \"+-E+\"px \"+-R+\"px \"+-O+\"px\",threshold:Xt(0,Ma(1,v))||1};let Q=!0;function $(F){const X=F[0].intersectionRatio;if(X!==v){if(!Q)return m();X?m(!1,X):r=setTimeout(()=>{m(!1,1e-7)},1e3)}X===1&&!Pv(g,l.getBoundingClientRect())&&m(),Q=!1}try{s=new IntersectionObserver($,{...L,root:u.ownerDocument})}catch{s=new IntersectionObserver($,L)}s.observe(l)}return m(!0),f}function aw(l,i,s,r){r===void 0&&(r={});const{ancestorScroll:u=!0,ancestorResize:f=!0,elementResize:m=typeof ResizeObserver==\"function\",layoutShift:p=typeof IntersectionObserver==\"function\",animationFrame:v=!1}=r,g=zf(l),S=u||f?[...g?gi(g):[],...gi(i)]:[];S.forEach(O=>{u&&O.addEventListener(\"scroll\",s,{passive:!0}),f&&O.addEventListener(\"resize\",s)});const h=g&&p?nw(g,s):null;let T=-1,N=null;m&&(N=new ResizeObserver(O=>{let[U]=O;U&&U.target===g&&N&&(N.unobserve(i),cancelAnimationFrame(T),T=requestAnimationFrame(()=>{var L;(L=N)==null||L.observe(i)})),s()}),g&&!v&&N.observe(g),N.observe(i));let D,E=v?cl(l):null;v&&R();function R(){const O=cl(l);E&&!Pv(E,O)&&s(),E=O,D=requestAnimationFrame(R)}return s(),()=>{var O;S.forEach(U=>{u&&U.removeEventListener(\"scroll\",s),f&&U.removeEventListener(\"resize\",s)}),h?.(),(O=N)==null||O.disconnect(),N=null,v&&cancelAnimationFrame(D)}}const lw=NE,ow=RE,iw=CE,rw=ME,sw=AE,Tg=TE,cw=OE,uw=(l,i,s)=>{const r=new Map,u={platform:tw,...s},f={...u.platform,_c:r};return wE(l,i,{...u,platform:f})};var fw=typeof document<\"u\",dw=function(){},Kr=fw?b.useLayoutEffect:dw;function Pr(l,i){if(l===i)return!0;if(typeof l!=typeof i)return!1;if(typeof l==\"function\"&&l.toString()===i.toString())return!0;let s,r,u;if(l&&i&&typeof l==\"object\"){if(Array.isArray(l)){if(s=l.length,s!==i.length)return!1;for(r=s;r--!==0;)if(!Pr(l[r],i[r]))return!1;return!0}if(u=Object.keys(l),s=u.length,s!==Object.keys(i).length)return!1;for(r=s;r--!==0;)if(!{}.hasOwnProperty.call(i,u[r]))return!1;for(r=s;r--!==0;){const f=u[r];if(!(f===\"_owner\"&&l.$$typeof)&&!Pr(l[f],i[f]))return!1}return!0}return l!==l&&i!==i}function ey(l){return typeof window>\"u\"?1:(l.ownerDocument.defaultView||window).devicePixelRatio||1}function Cg(l,i){const s=ey(l);return Math.round(i*s)/s}function Qu(l){const i=b.useRef(l);return Kr(()=>{i.current=l}),i}function mw(l){l===void 0&&(l={});const{placement:i=\"bottom\",strategy:s=\"absolute\",middleware:r=[],platform:u,elements:{reference:f,floating:m}={},transform:p=!0,whileElementsMounted:v,open:g}=l,[S,h]=b.useState({x:0,y:0,strategy:s,placement:i,middlewareData:{},isPositioned:!1}),[T,N]=b.useState(r);Pr(T,r)||N(r);const[D,E]=b.useState(null),[R,O]=b.useState(null),U=b.useCallback(B=>{B!==F.current&&(F.current=B,E(B))},[]),L=b.useCallback(B=>{B!==X.current&&(X.current=B,O(B))},[]),Q=f||D,$=m||R,F=b.useRef(null),X=b.useRef(null),K=b.useRef(S),se=v!=null,ve=Qu(v),ye=Qu(u),fe=Qu(g),de=b.useCallback(()=>{if(!F.current||!X.current)return;const B={placement:i,strategy:s,middleware:T};ye.current&&(B.platform=ye.current),uw(F.current,X.current,B).then(ne=>{const ce={...ne,isPositioned:fe.current!==!1};me.current&&!Pr(K.current,ce)&&(K.current=ce,vi.flushSync(()=>{h(ce)}))})},[T,i,s,ye,fe]);Kr(()=>{g===!1&&K.current.isPositioned&&(K.current.isPositioned=!1,h(B=>({...B,isPositioned:!1})))},[g]);const me=b.useRef(!1);Kr(()=>(me.current=!0,()=>{me.current=!1}),[]),Kr(()=>{if(Q&&(F.current=Q),$&&(X.current=$),Q&&$){if(ve.current)return ve.current(Q,$,de);de()}},[Q,$,de,ve,se]);const he=b.useMemo(()=>({reference:F,floating:X,setReference:U,setFloating:L}),[U,L]),A=b.useMemo(()=>({reference:Q,floating:$}),[Q,$]),V=b.useMemo(()=>{const B={position:s,left:0,top:0};if(!A.floating)return B;const ne=Cg(A.floating,S.x),ce=Cg(A.floating,S.y);return p?{...B,transform:\"translate(\"+ne+\"px, \"+ce+\"px)\",...ey(A.floating)>=1.5&&{willChange:\"transform\"}}:{position:s,left:ne,top:ce}},[s,p,A.floating,S.x,S.y]);return b.useMemo(()=>({...S,update:de,refs:he,elements:A,floatingStyles:V}),[S,de,he,A,V])}const pw=l=>{function i(s){return{}.hasOwnProperty.call(s,\"current\")}return{name:\"arrow\",options:l,fn(s){const{element:r,padding:u}=typeof l==\"function\"?l(s):l;return r&&i(r)?r.current!=null?Tg({element:r.current,padding:u}).fn(s):{}:r?Tg({element:r,padding:u}).fn(s):{}}}},hw=(l,i)=>({...lw(l),options:[l,i]}),gw=(l,i)=>({...ow(l),options:[l,i]}),vw=(l,i)=>({...cw(l),options:[l,i]}),yw=(l,i)=>({...iw(l),options:[l,i]}),bw=(l,i)=>({...rw(l),options:[l,i]}),xw=(l,i)=>({...sw(l),options:[l,i]}),Sw=(l,i)=>({...pw(l),options:[l,i]});var Ew=\"Arrow\",ty=b.forwardRef((l,i)=>{const{children:s,width:r=10,height:u=5,...f}=l;return y.jsx(Ne.svg,{...f,ref:i,width:r,height:u,viewBox:\"0 0 30 10\",preserveAspectRatio:\"none\",children:l.asChild?s:y.jsx(\"polygon\",{points:\"0,0 30,0 15,10\"})})});ty.displayName=Ew;var ww=ty;function Tw(l){const[i,s]=b.useState(void 0);return gt(()=>{if(l){s({width:l.offsetWidth,height:l.offsetHeight});const r=new ResizeObserver(u=>{if(!Array.isArray(u)||!u.length)return;const f=u[0];let m,p;if(\"borderBoxSize\"in f){const v=f.borderBoxSize,g=Array.isArray(v)?v[0]:v;m=g.inlineSize,p=g.blockSize}else m=l.offsetWidth,p=l.offsetHeight;s({width:m,height:p})});return r.observe(l,{box:\"border-box\"}),()=>r.unobserve(l)}else s(void 0)},[l]),i}var jf=\"Popper\",[ny,ay]=za(jf),[Cw,ly]=ny(jf),oy=l=>{const{__scopePopper:i,children:s}=l,[r,u]=b.useState(null);return y.jsx(Cw,{scope:i,anchor:r,onAnchorChange:u,children:s})};oy.displayName=jf;var iy=\"PopperAnchor\",ry=b.forwardRef((l,i)=>{const{__scopePopper:s,virtualRef:r,...u}=l,f=ly(iy,s),m=b.useRef(null),p=Je(i,m),v=b.useRef(null);return b.useEffect(()=>{const g=v.current;v.current=r?.current||m.current,g!==v.current&&f.onAnchorChange(v.current)}),r?null:y.jsx(Ne.div,{...u,ref:p})});ry.displayName=iy;var Uf=\"PopperContent\",[Aw,_w]=ny(Uf),sy=b.forwardRef((l,i)=>{const{__scopePopper:s,side:r=\"bottom\",sideOffset:u=0,align:f=\"center\",alignOffset:m=0,arrowPadding:p=0,avoidCollisions:v=!0,collisionBoundary:g=[],collisionPadding:S=0,sticky:h=\"partial\",hideWhenDetached:T=!1,updatePositionStrategy:N=\"optimized\",onPlaced:D,...E}=l,R=ly(Uf,s),[O,U]=b.useState(null),L=Je(i,W=>U(W)),[Q,$]=b.useState(null),F=Tw(Q),X=F?.width??0,K=F?.height??0,se=r+(f!==\"center\"?\"-\"+f:\"\"),ve=typeof S==\"number\"?S:{top:0,right:0,bottom:0,left:0,...S},ye=Array.isArray(g)?g:[g],fe=ye.length>0,de={padding:ve,boundary:ye.filter(Rw),altBoundary:fe},{refs:me,floatingStyles:he,placement:A,isPositioned:V,middlewareData:B}=mw({strategy:\"fixed\",placement:se,whileElementsMounted:(...W)=>aw(...W,{animationFrame:N===\"always\"}),elements:{reference:R.anchor},middleware:[hw({mainAxis:u+K,alignmentAxis:m}),v&&gw({mainAxis:!0,crossAxis:!1,limiter:h===\"partial\"?vw():void 0,...de}),v&&yw({...de}),bw({...de,apply:({elements:W,rects:te,availableWidth:ge,availableHeight:Ee})=>{const{width:Ce,height:Re}=te.reference,ut=W.floating.style;ut.setProperty(\"--radix-popper-available-width\",`${ge}px`),ut.setProperty(\"--radix-popper-available-height\",`${Ee}px`),ut.setProperty(\"--radix-popper-anchor-width\",`${Ce}px`),ut.setProperty(\"--radix-popper-anchor-height\",`${Re}px`)}}),Q&&Sw({element:Q,padding:p}),Ow({arrowWidth:X,arrowHeight:K}),T&&xw({strategy:\"referenceHidden\",...de})]}),[ne,ce]=fy(A),C=Ra(D);gt(()=>{V&&C?.()},[V,C]);const G=B.arrow?.x,Y=B.arrow?.y,I=B.arrow?.centerOffset!==0,[ee,ie]=b.useState();return gt(()=>{O&&ie(window.getComputedStyle(O).zIndex)},[O]),y.jsx(\"div\",{ref:me.setFloating,\"data-radix-popper-content-wrapper\":\"\",style:{...he,transform:V?he.transform:\"translate(0, -200%)\",minWidth:\"max-content\",zIndex:ee,\"--radix-popper-transform-origin\":[B.transformOrigin?.x,B.transformOrigin?.y].join(\" \"),...B.hide?.referenceHidden&&{visibility:\"hidden\",pointerEvents:\"none\"}},dir:l.dir,children:y.jsx(Aw,{scope:s,placedSide:ne,onArrowChange:$,arrowX:G,arrowY:Y,shouldHideArrow:I,children:y.jsx(Ne.div,{\"data-side\":ne,\"data-align\":ce,...E,ref:L,style:{...E.style,animation:V?void 0:\"none\"}})})})});sy.displayName=Uf;var cy=\"PopperArrow\",Nw={top:\"bottom\",right:\"left\",bottom:\"top\",left:\"right\"},uy=b.forwardRef(function(i,s){const{__scopePopper:r,...u}=i,f=_w(cy,r),m=Nw[f.placedSide];return y.jsx(\"span\",{ref:f.onArrowChange,style:{position:\"absolute\",left:f.arrowX,top:f.arrowY,[m]:0,transformOrigin:{top:\"\",right:\"0 0\",bottom:\"center 0\",left:\"100% 0\"}[f.placedSide],transform:{top:\"translateY(100%)\",right:\"translateY(50%) rotate(90deg) translateX(-50%)\",bottom:\"rotate(180deg)\",left:\"translateY(50%) rotate(-90deg) translateX(50%)\"}[f.placedSide],visibility:f.shouldHideArrow?\"hidden\":void 0},children:y.jsx(ww,{...u,ref:s,style:{...u.style,display:\"block\"}})})});uy.displayName=cy;function Rw(l){return l!==null}var Ow=l=>({name:\"transformOrigin\",options:l,fn(i){const{placement:s,rects:r,middlewareData:u}=i,m=u.arrow?.centerOffset!==0,p=m?0:l.arrowWidth,v=m?0:l.arrowHeight,[g,S]=fy(s),h={start:\"0%\",center:\"50%\",end:\"100%\"}[S],T=(u.arrow?.x??0)+p/2,N=(u.arrow?.y??0)+v/2;let D=\"\",E=\"\";return g===\"bottom\"?(D=m?h:`${T}px`,E=`${-v}px`):g===\"top\"?(D=m?h:`${T}px`,E=`${r.floating.height+v}px`):g===\"right\"?(D=`${-v}px`,E=m?h:`${N}px`):g===\"left\"&&(D=`${r.floating.width+v}px`,E=m?h:`${N}px`),{data:{x:D,y:E}}}});function fy(l){const[i,s=\"center\"]=l.split(\"-\");return[i,s]}var Mw=oy,Dw=ry,zw=sy,jw=uy;function Uw(l){const i=Hw(l),s=b.forwardRef((r,u)=>{const{children:f,...m}=r,p=b.Children.toArray(f),v=p.find(Lw);if(v){const g=v.props.children,S=p.map(h=>h===v?b.Children.count(g)>1?b.Children.only(null):b.isValidElement(g)?g.props.children:null:h);return y.jsx(i,{...m,ref:u,children:b.isValidElement(g)?b.cloneElement(g,void 0,S):null})}return y.jsx(i,{...m,ref:u,children:f})});return s.displayName=`${l}.Slot`,s}function Hw(l){const i=b.forwardRef((s,r)=>{const{children:u,...f}=s;if(b.isValidElement(u)){const m=Vw(u),p=kw(f,u.props);return u.type!==b.Fragment&&(p.ref=r?so(r,m):m),b.cloneElement(u,p)}return b.Children.count(u)>1?b.Children.only(null):null});return i.displayName=`${l}.SlotClone`,i}var Bw=Symbol(\"radix.slottable\");function Lw(l){return b.isValidElement(l)&&typeof l.type==\"function\"&&\"__radixId\"in l.type&&l.type.__radixId===Bw}function kw(l,i){const s={...i};for(const r in i){const u=l[r],f=i[r];/^on[A-Z]/.test(r)?u&&f?s[r]=(...p)=>{const v=f(...p);return u(...p),v}:u&&(s[r]=u):r===\"style\"?s[r]={...u,...f}:r===\"className\"&&(s[r]=[u,f].filter(Boolean).join(\" \"))}return{...l,...s}}function Vw(l){let i=Object.getOwnPropertyDescriptor(l.props,\"ref\")?.get,s=i&&\"isReactWarning\"in i&&i.isReactWarning;return s?l.ref:(i=Object.getOwnPropertyDescriptor(l,\"ref\")?.get,s=i&&\"isReactWarning\"in i&&i.isReactWarning,s?l.props.ref:l.props.ref||l.ref)}function Yw(l){const i=b.useRef({value:l,previous:l});return b.useMemo(()=>(i.current.value!==l&&(i.current.previous=i.current.value,i.current.value=l),i.current.previous),[l])}var dy=Object.freeze({position:\"absolute\",border:0,width:1,height:1,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",wordWrap:\"normal\"}),Gw=\"VisuallyHidden\",qw=b.forwardRef((l,i)=>y.jsx(Ne.span,{...l,ref:i,style:{...dy,...l.style}}));qw.displayName=Gw;var Xw=[\" \",\"Enter\",\"ArrowUp\",\"ArrowDown\"],Kw=[\" \",\"Enter\"],ul=\"Select\",[fs,ds,Qw]=vf(ul),[ho]=za(ul,[Qw,ay]),ms=ay(),[Zw,ja]=ho(ul),[Jw,$w]=ho(ul),my=l=>{const{__scopeSelect:i,children:s,open:r,defaultOpen:u,onOpenChange:f,value:m,defaultValue:p,onValueChange:v,dir:g,name:S,autoComplete:h,disabled:T,required:N,form:D}=l,E=ms(i),[R,O]=b.useState(null),[U,L]=b.useState(null),[Q,$]=b.useState(!1),F=ns(g),[X,K]=Oa({prop:r,defaultProp:u??!1,onChange:f,caller:ul}),[se,ve]=Oa({prop:m,defaultProp:p,onChange:v,caller:ul}),ye=b.useRef(null),fe=R?D||!!R.closest(\"form\"):!0,[de,me]=b.useState(new Set),he=Array.from(de).map(A=>A.props.value).join(\";\");return y.jsx(Mw,{...E,children:y.jsxs(Zw,{required:N,scope:i,trigger:R,onTriggerChange:O,valueNode:U,onValueNodeChange:L,valueNodeHasChildren:Q,onValueNodeHasChildrenChange:$,contentId:An(),value:se,onValueChange:ve,open:X,onOpenChange:K,dir:F,triggerPointerDownPosRef:ye,disabled:T,children:[y.jsx(fs.Provider,{scope:i,children:y.jsx(Jw,{scope:l.__scopeSelect,onNativeOptionAdd:b.useCallback(A=>{me(V=>new Set(V).add(A))},[]),onNativeOptionRemove:b.useCallback(A=>{me(V=>{const B=new Set(V);return B.delete(A),B})},[]),children:s})}),fe?y.jsxs(Uy,{\"aria-hidden\":!0,required:N,tabIndex:-1,name:S,autoComplete:h,value:se,onChange:A=>ve(A.target.value),disabled:T,form:D,children:[se===void 0?y.jsx(\"option\",{value:\"\"}):null,Array.from(de)]},he):null]})})};my.displayName=ul;var py=\"SelectTrigger\",hy=b.forwardRef((l,i)=>{const{__scopeSelect:s,disabled:r=!1,...u}=l,f=ms(s),m=ja(py,s),p=m.disabled||r,v=Je(i,m.onTriggerChange),g=ds(s),S=b.useRef(\"touch\"),[h,T,N]=By(E=>{const R=g().filter(L=>!L.disabled),O=R.find(L=>L.value===m.value),U=Ly(R,E,O);U!==void 0&&m.onValueChange(U.value)}),D=E=>{p||(m.onOpenChange(!0),N()),E&&(m.triggerPointerDownPosRef.current={x:Math.round(E.pageX),y:Math.round(E.pageY)})};return y.jsx(Dw,{asChild:!0,...f,children:y.jsx(Ne.button,{type:\"button\",role:\"combobox\",\"aria-controls\":m.contentId,\"aria-expanded\":m.open,\"aria-required\":m.required,\"aria-autocomplete\":\"none\",dir:m.dir,\"data-state\":m.open?\"open\":\"closed\",disabled:p,\"data-disabled\":p?\"\":void 0,\"data-placeholder\":Hy(m.value)?\"\":void 0,...u,ref:v,onClick:De(u.onClick,E=>{E.currentTarget.focus(),S.current!==\"mouse\"&&D(E)}),onPointerDown:De(u.onPointerDown,E=>{S.current=E.pointerType;const R=E.target;R.hasPointerCapture(E.pointerId)&&R.releasePointerCapture(E.pointerId),E.button===0&&E.ctrlKey===!1&&E.pointerType===\"mouse\"&&(D(E),E.preventDefault())}),onKeyDown:De(u.onKeyDown,E=>{const R=h.current!==\"\";!(E.ctrlKey||E.altKey||E.metaKey)&&E.key.length===1&&T(E.key),!(R&&E.key===\" \")&&Xw.includes(E.key)&&(D(),E.preventDefault())})})})});hy.displayName=py;var gy=\"SelectValue\",vy=b.forwardRef((l,i)=>{const{__scopeSelect:s,className:r,style:u,children:f,placeholder:m=\"\",...p}=l,v=ja(gy,s),{onValueNodeHasChildrenChange:g}=v,S=f!==void 0,h=Je(i,v.onValueNodeChange);return gt(()=>{g(S)},[g,S]),y.jsx(Ne.span,{...p,ref:h,style:{pointerEvents:\"none\"},children:Hy(v.value)?y.jsx(y.Fragment,{children:m}):f})});vy.displayName=gy;var Iw=\"SelectIcon\",yy=b.forwardRef((l,i)=>{const{__scopeSelect:s,children:r,...u}=l;return y.jsx(Ne.span,{\"aria-hidden\":!0,...u,ref:i,children:r||\"▼\"})});yy.displayName=Iw;var Fw=\"SelectPortal\",by=l=>y.jsx(Ef,{asChild:!0,...l});by.displayName=Fw;var fl=\"SelectContent\",xy=b.forwardRef((l,i)=>{const s=ja(fl,l.__scopeSelect),[r,u]=b.useState();if(gt(()=>{u(new DocumentFragment)},[]),!s.open){const f=r;return f?vi.createPortal(y.jsx(Sy,{scope:l.__scopeSelect,children:y.jsx(fs.Slot,{scope:l.__scopeSelect,children:y.jsx(\"div\",{children:l.children})})}),f):null}return y.jsx(Ey,{...l,ref:i})});xy.displayName=fl;var un=10,[Sy,Ua]=ho(fl),Ww=\"SelectContentImpl\",Pw=Uw(\"SelectContent.RemoveScroll\"),Ey=b.forwardRef((l,i)=>{const{__scopeSelect:s,position:r=\"item-aligned\",onCloseAutoFocus:u,onEscapeKeyDown:f,onPointerDownOutside:m,side:p,sideOffset:v,align:g,alignOffset:S,arrowPadding:h,collisionBoundary:T,collisionPadding:N,sticky:D,hideWhenDetached:E,avoidCollisions:R,...O}=l,U=ja(fl,s),[L,Q]=b.useState(null),[$,F]=b.useState(null),X=Je(i,W=>Q(W)),[K,se]=b.useState(null),[ve,ye]=b.useState(null),fe=ds(s),[de,me]=b.useState(!1),he=b.useRef(!1);b.useEffect(()=>{if(L)return Sv(L)},[L]),dv();const A=b.useCallback(W=>{const[te,...ge]=fe().map(Re=>Re.ref.current),[Ee]=ge.slice(-1),Ce=document.activeElement;for(const Re of W)if(Re===Ce||(Re?.scrollIntoView({block:\"nearest\"}),Re===te&&$&&($.scrollTop=0),Re===Ee&&$&&($.scrollTop=$.scrollHeight),Re?.focus(),document.activeElement!==Ce))return},[fe,$]),V=b.useCallback(()=>A([K,L]),[A,K,L]);b.useEffect(()=>{de&&V()},[de,V]);const{onOpenChange:B,triggerPointerDownPosRef:ne}=U;b.useEffect(()=>{if(L){let W={x:0,y:0};const te=Ee=>{W={x:Math.abs(Math.round(Ee.pageX)-(ne.current?.x??0)),y:Math.abs(Math.round(Ee.pageY)-(ne.current?.y??0))}},ge=Ee=>{W.x<=10&&W.y<=10?Ee.preventDefault():L.contains(Ee.target)||B(!1),document.removeEventListener(\"pointermove\",te),ne.current=null};return ne.current!==null&&(document.addEventListener(\"pointermove\",te),document.addEventListener(\"pointerup\",ge,{capture:!0,once:!0})),()=>{document.removeEventListener(\"pointermove\",te),document.removeEventListener(\"pointerup\",ge,{capture:!0})}}},[L,B,ne]),b.useEffect(()=>{const W=()=>B(!1);return window.addEventListener(\"blur\",W),window.addEventListener(\"resize\",W),()=>{window.removeEventListener(\"blur\",W),window.removeEventListener(\"resize\",W)}},[B]);const[ce,C]=By(W=>{const te=fe().filter(Ce=>!Ce.disabled),ge=te.find(Ce=>Ce.ref.current===document.activeElement),Ee=Ly(te,W,ge);Ee&&setTimeout(()=>Ee.ref.current.focus())}),G=b.useCallback((W,te,ge)=>{const Ee=!he.current&&!ge;(U.value!==void 0&&U.value===te||Ee)&&(se(W),Ee&&(he.current=!0))},[U.value]),Y=b.useCallback(()=>L?.focus(),[L]),I=b.useCallback((W,te,ge)=>{const Ee=!he.current&&!ge;(U.value!==void 0&&U.value===te||Ee)&&ye(W)},[U.value]),ee=r===\"popper\"?nf:wy,ie=ee===nf?{side:p,sideOffset:v,align:g,alignOffset:S,arrowPadding:h,collisionBoundary:T,collisionPadding:N,sticky:D,hideWhenDetached:E,avoidCollisions:R}:{};return y.jsx(Sy,{scope:s,content:L,viewport:$,onViewportChange:F,itemRefCallback:G,selectedItem:K,onItemLeave:Y,itemTextRefCallback:I,focusSelectedItem:V,selectedItemText:ve,position:r,isPositioned:de,searchRef:ce,children:y.jsx(wf,{as:Pw,allowPinchZoom:!0,children:y.jsx(Sf,{asChild:!0,trapped:U.open,onMountAutoFocus:W=>{W.preventDefault()},onUnmountAutoFocus:De(u,W=>{U.trigger?.focus({preventScroll:!0}),W.preventDefault()}),children:y.jsx(xf,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:f,onPointerDownOutside:m,onFocusOutside:W=>W.preventDefault(),onDismiss:()=>U.onOpenChange(!1),children:y.jsx(ee,{role:\"listbox\",id:U.contentId,\"data-state\":U.open?\"open\":\"closed\",dir:U.dir,onContextMenu:W=>W.preventDefault(),...O,...ie,onPlaced:()=>me(!0),ref:X,style:{display:\"flex\",flexDirection:\"column\",outline:\"none\",...O.style},onKeyDown:De(O.onKeyDown,W=>{const te=W.ctrlKey||W.altKey||W.metaKey;if(W.key===\"Tab\"&&W.preventDefault(),!te&&W.key.length===1&&C(W.key),[\"ArrowUp\",\"ArrowDown\",\"Home\",\"End\"].includes(W.key)){let Ee=fe().filter(Ce=>!Ce.disabled).map(Ce=>Ce.ref.current);if([\"ArrowUp\",\"End\"].includes(W.key)&&(Ee=Ee.slice().reverse()),[\"ArrowUp\",\"ArrowDown\"].includes(W.key)){const Ce=W.target,Re=Ee.indexOf(Ce);Ee=Ee.slice(Re+1)}setTimeout(()=>A(Ee)),W.preventDefault()}})})})})})})});Ey.displayName=Ww;var eT=\"SelectItemAlignedPosition\",wy=b.forwardRef((l,i)=>{const{__scopeSelect:s,onPlaced:r,...u}=l,f=ja(fl,s),m=Ua(fl,s),[p,v]=b.useState(null),[g,S]=b.useState(null),h=Je(i,X=>S(X)),T=ds(s),N=b.useRef(!1),D=b.useRef(!0),{viewport:E,selectedItem:R,selectedItemText:O,focusSelectedItem:U}=m,L=b.useCallback(()=>{if(f.trigger&&f.valueNode&&p&&g&&E&&R&&O){const X=f.trigger.getBoundingClientRect(),K=g.getBoundingClientRect(),se=f.valueNode.getBoundingClientRect(),ve=O.getBoundingClientRect();if(f.dir!==\"rtl\"){const Ce=ve.left-K.left,Re=se.left-Ce,ut=X.left-Re,lt=X.width+ut,On=Math.max(lt,K.width),gn=window.innerWidth-un,an=pg(Re,[un,Math.max(un,gn-On)]);p.style.minWidth=lt+\"px\",p.style.left=an+\"px\"}else{const Ce=K.right-ve.right,Re=window.innerWidth-se.right-Ce,ut=window.innerWidth-X.right-Re,lt=X.width+ut,On=Math.max(lt,K.width),gn=window.innerWidth-un,an=pg(Re,[un,Math.max(un,gn-On)]);p.style.minWidth=lt+\"px\",p.style.right=an+\"px\"}const ye=T(),fe=window.innerHeight-un*2,de=E.scrollHeight,me=window.getComputedStyle(g),he=parseInt(me.borderTopWidth,10),A=parseInt(me.paddingTop,10),V=parseInt(me.borderBottomWidth,10),B=parseInt(me.paddingBottom,10),ne=he+A+de+B+V,ce=Math.min(R.offsetHeight*5,ne),C=window.getComputedStyle(E),G=parseInt(C.paddingTop,10),Y=parseInt(C.paddingBottom,10),I=X.top+X.height/2-un,ee=fe-I,ie=R.offsetHeight/2,W=R.offsetTop+ie,te=he+A+W,ge=ne-te;if(te<=I){const Ce=ye.length>0&&R===ye[ye.length-1].ref.current;p.style.bottom=\"0px\";const Re=g.clientHeight-E.offsetTop-E.offsetHeight,ut=Math.max(ee,ie+(Ce?Y:0)+Re+V),lt=te+ut;p.style.height=lt+\"px\"}else{const Ce=ye.length>0&&R===ye[0].ref.current;p.style.top=\"0px\";const ut=Math.max(I,he+E.offsetTop+(Ce?G:0)+ie)+ge;p.style.height=ut+\"px\",E.scrollTop=te-I+E.offsetTop}p.style.margin=`${un}px 0`,p.style.minHeight=ce+\"px\",p.style.maxHeight=fe+\"px\",r?.(),requestAnimationFrame(()=>N.current=!0)}},[T,f.trigger,f.valueNode,p,g,E,R,O,f.dir,r]);gt(()=>L(),[L]);const[Q,$]=b.useState();gt(()=>{g&&$(window.getComputedStyle(g).zIndex)},[g]);const F=b.useCallback(X=>{X&&D.current===!0&&(L(),U?.(),D.current=!1)},[L,U]);return y.jsx(nT,{scope:s,contentWrapper:p,shouldExpandOnScrollRef:N,onScrollButtonChange:F,children:y.jsx(\"div\",{ref:v,style:{display:\"flex\",flexDirection:\"column\",position:\"fixed\",zIndex:Q},children:y.jsx(Ne.div,{...u,ref:h,style:{boxSizing:\"border-box\",maxHeight:\"100%\",...u.style}})})})});wy.displayName=eT;var tT=\"SelectPopperPosition\",nf=b.forwardRef((l,i)=>{const{__scopeSelect:s,align:r=\"start\",collisionPadding:u=un,...f}=l,m=ms(s);return y.jsx(zw,{...m,...f,ref:i,align:r,collisionPadding:u,style:{boxSizing:\"border-box\",...f.style,\"--radix-select-content-transform-origin\":\"var(--radix-popper-transform-origin)\",\"--radix-select-content-available-width\":\"var(--radix-popper-available-width)\",\"--radix-select-content-available-height\":\"var(--radix-popper-available-height)\",\"--radix-select-trigger-width\":\"var(--radix-popper-anchor-width)\",\"--radix-select-trigger-height\":\"var(--radix-popper-anchor-height)\"}})});nf.displayName=tT;var[nT,Hf]=ho(fl,{}),af=\"SelectViewport\",Ty=b.forwardRef((l,i)=>{const{__scopeSelect:s,nonce:r,...u}=l,f=Ua(af,s),m=Hf(af,s),p=Je(i,f.onViewportChange),v=b.useRef(0);return y.jsxs(y.Fragment,{children:[y.jsx(\"style\",{dangerouslySetInnerHTML:{__html:\"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}\"},nonce:r}),y.jsx(fs.Slot,{scope:s,children:y.jsx(Ne.div,{\"data-radix-select-viewport\":\"\",role:\"presentation\",...u,ref:p,style:{position:\"relative\",flex:1,overflow:\"hidden auto\",...u.style},onScroll:De(u.onScroll,g=>{const S=g.currentTarget,{contentWrapper:h,shouldExpandOnScrollRef:T}=m;if(T?.current&&h){const N=Math.abs(v.current-S.scrollTop);if(N>0){const D=window.innerHeight-un*2,E=parseFloat(h.style.minHeight),R=parseFloat(h.style.height),O=Math.max(E,R);if(O<D){const U=O+N,L=Math.min(D,U),Q=U-L;h.style.height=L+\"px\",h.style.bottom===\"0px\"&&(S.scrollTop=Q>0?Q:0,h.style.justifyContent=\"flex-end\")}}}v.current=S.scrollTop})})})]})});Ty.displayName=af;var Cy=\"SelectGroup\",[aT,lT]=ho(Cy),oT=b.forwardRef((l,i)=>{const{__scopeSelect:s,...r}=l,u=An();return y.jsx(aT,{scope:s,id:u,children:y.jsx(Ne.div,{role:\"group\",\"aria-labelledby\":u,...r,ref:i})})});oT.displayName=Cy;var Ay=\"SelectLabel\",iT=b.forwardRef((l,i)=>{const{__scopeSelect:s,...r}=l,u=lT(Ay,s);return y.jsx(Ne.div,{id:u.id,...r,ref:i})});iT.displayName=Ay;var es=\"SelectItem\",[rT,_y]=ho(es),Ny=b.forwardRef((l,i)=>{const{__scopeSelect:s,value:r,disabled:u=!1,textValue:f,...m}=l,p=ja(es,s),v=Ua(es,s),g=p.value===r,[S,h]=b.useState(f??\"\"),[T,N]=b.useState(!1),D=Je(i,U=>v.itemRefCallback?.(U,r,u)),E=An(),R=b.useRef(\"touch\"),O=()=>{u||(p.onValueChange(r),p.onOpenChange(!1))};if(r===\"\")throw new Error(\"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\");return y.jsx(rT,{scope:s,value:r,disabled:u,textId:E,isSelected:g,onItemTextChange:b.useCallback(U=>{h(L=>L||(U?.textContent??\"\").trim())},[]),children:y.jsx(fs.ItemSlot,{scope:s,value:r,disabled:u,textValue:S,children:y.jsx(Ne.div,{role:\"option\",\"aria-labelledby\":E,\"data-highlighted\":T?\"\":void 0,\"aria-selected\":g&&T,\"data-state\":g?\"checked\":\"unchecked\",\"aria-disabled\":u||void 0,\"data-disabled\":u?\"\":void 0,tabIndex:u?void 0:-1,...m,ref:D,onFocus:De(m.onFocus,()=>N(!0)),onBlur:De(m.onBlur,()=>N(!1)),onClick:De(m.onClick,()=>{R.current!==\"mouse\"&&O()}),onPointerUp:De(m.onPointerUp,()=>{R.current===\"mouse\"&&O()}),onPointerDown:De(m.onPointerDown,U=>{R.current=U.pointerType}),onPointerMove:De(m.onPointerMove,U=>{R.current=U.pointerType,u?v.onItemLeave?.():R.current===\"mouse\"&&U.currentTarget.focus({preventScroll:!0})}),onPointerLeave:De(m.onPointerLeave,U=>{U.currentTarget===document.activeElement&&v.onItemLeave?.()}),onKeyDown:De(m.onKeyDown,U=>{v.searchRef?.current!==\"\"&&U.key===\" \"||(Kw.includes(U.key)&&O(),U.key===\" \"&&U.preventDefault())})})})})});Ny.displayName=es;var mi=\"SelectItemText\",Ry=b.forwardRef((l,i)=>{const{__scopeSelect:s,className:r,style:u,...f}=l,m=ja(mi,s),p=Ua(mi,s),v=_y(mi,s),g=$w(mi,s),[S,h]=b.useState(null),T=Je(i,O=>h(O),v.onItemTextChange,O=>p.itemTextRefCallback?.(O,v.value,v.disabled)),N=S?.textContent,D=b.useMemo(()=>y.jsx(\"option\",{value:v.value,disabled:v.disabled,children:N},v.value),[v.disabled,v.value,N]),{onNativeOptionAdd:E,onNativeOptionRemove:R}=g;return gt(()=>(E(D),()=>R(D)),[E,R,D]),y.jsxs(y.Fragment,{children:[y.jsx(Ne.span,{id:v.textId,...f,ref:T}),v.isSelected&&m.valueNode&&!m.valueNodeHasChildren?vi.createPortal(f.children,m.valueNode):null]})});Ry.displayName=mi;var Oy=\"SelectItemIndicator\",My=b.forwardRef((l,i)=>{const{__scopeSelect:s,...r}=l;return _y(Oy,s).isSelected?y.jsx(Ne.span,{\"aria-hidden\":!0,...r,ref:i}):null});My.displayName=Oy;var lf=\"SelectScrollUpButton\",Dy=b.forwardRef((l,i)=>{const s=Ua(lf,l.__scopeSelect),r=Hf(lf,l.__scopeSelect),[u,f]=b.useState(!1),m=Je(i,r.onScrollButtonChange);return gt(()=>{if(s.viewport&&s.isPositioned){let p=function(){const g=v.scrollTop>0;f(g)};const v=s.viewport;return p(),v.addEventListener(\"scroll\",p),()=>v.removeEventListener(\"scroll\",p)}},[s.viewport,s.isPositioned]),u?y.jsx(jy,{...l,ref:m,onAutoScroll:()=>{const{viewport:p,selectedItem:v}=s;p&&v&&(p.scrollTop=p.scrollTop-v.offsetHeight)}}):null});Dy.displayName=lf;var of=\"SelectScrollDownButton\",zy=b.forwardRef((l,i)=>{const s=Ua(of,l.__scopeSelect),r=Hf(of,l.__scopeSelect),[u,f]=b.useState(!1),m=Je(i,r.onScrollButtonChange);return gt(()=>{if(s.viewport&&s.isPositioned){let p=function(){const g=v.scrollHeight-v.clientHeight,S=Math.ceil(v.scrollTop)<g;f(S)};const v=s.viewport;return p(),v.addEventListener(\"scroll\",p),()=>v.removeEventListener(\"scroll\",p)}},[s.viewport,s.isPositioned]),u?y.jsx(jy,{...l,ref:m,onAutoScroll:()=>{const{viewport:p,selectedItem:v}=s;p&&v&&(p.scrollTop=p.scrollTop+v.offsetHeight)}}):null});zy.displayName=of;var jy=b.forwardRef((l,i)=>{const{__scopeSelect:s,onAutoScroll:r,...u}=l,f=Ua(\"SelectScrollButton\",s),m=b.useRef(null),p=ds(s),v=b.useCallback(()=>{m.current!==null&&(window.clearInterval(m.current),m.current=null)},[]);return b.useEffect(()=>()=>v(),[v]),gt(()=>{p().find(S=>S.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:\"nearest\"})},[p]),y.jsx(Ne.div,{\"aria-hidden\":!0,...u,ref:i,style:{flexShrink:0,...u.style},onPointerDown:De(u.onPointerDown,()=>{m.current===null&&(m.current=window.setInterval(r,50))}),onPointerMove:De(u.onPointerMove,()=>{f.onItemLeave?.(),m.current===null&&(m.current=window.setInterval(r,50))}),onPointerLeave:De(u.onPointerLeave,()=>{v()})})}),sT=\"SelectSeparator\",cT=b.forwardRef((l,i)=>{const{__scopeSelect:s,...r}=l;return y.jsx(Ne.div,{\"aria-hidden\":!0,...r,ref:i})});cT.displayName=sT;var rf=\"SelectArrow\",uT=b.forwardRef((l,i)=>{const{__scopeSelect:s,...r}=l,u=ms(s),f=ja(rf,s),m=Ua(rf,s);return f.open&&m.position===\"popper\"?y.jsx(jw,{...u,...r,ref:i}):null});uT.displayName=rf;var fT=\"SelectBubbleInput\",Uy=b.forwardRef(({__scopeSelect:l,value:i,...s},r)=>{const u=b.useRef(null),f=Je(r,u),m=Yw(i);return b.useEffect(()=>{const p=u.current;if(!p)return;const v=window.HTMLSelectElement.prototype,S=Object.getOwnPropertyDescriptor(v,\"value\").set;if(m!==i&&S){const h=new Event(\"change\",{bubbles:!0});S.call(p,i),p.dispatchEvent(h)}},[m,i]),y.jsx(Ne.select,{...s,style:{...dy,...s.style},ref:f,defaultValue:i})});Uy.displayName=fT;function Hy(l){return l===\"\"||l===void 0}function By(l){const i=Ra(l),s=b.useRef(\"\"),r=b.useRef(0),u=b.useCallback(m=>{const p=s.current+m;i(p),function v(g){s.current=g,window.clearTimeout(r.current),g!==\"\"&&(r.current=window.setTimeout(()=>v(\"\"),1e3))}(p)},[i]),f=b.useCallback(()=>{s.current=\"\",window.clearTimeout(r.current)},[]);return b.useEffect(()=>()=>window.clearTimeout(r.current),[]),[s,u,f]}function Ly(l,i,s){const u=i.length>1&&Array.from(i).every(g=>g===i[0])?i[0]:i,f=s?l.indexOf(s):-1;let m=dT(l,Math.max(f,0));u.length===1&&(m=m.filter(g=>g!==s));const v=m.find(g=>g.textValue.toLowerCase().startsWith(u.toLowerCase()));return v!==s?v:void 0}function dT(l,i){return l.map((s,r)=>l[(i+r)%l.length])}var mT=my,pT=hy,hT=vy,gT=yy,vT=by,yT=xy,bT=Ty,xT=Ny,ST=Ry,ET=My,wT=Dy,TT=zy;function sf({...l}){return y.jsx(mT,{\"data-slot\":\"select\",...l})}function cf({...l}){return y.jsx(hT,{\"data-slot\":\"select-value\",...l})}function uf({className:l,children:i,...s}){return y.jsxs(pT,{\"data-slot\":\"select-trigger\",className:qe(\"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&>span]:line-clamp-1\",l),...s,children:[i,y.jsx(gT,{asChild:!0,children:y.jsx(_f,{className:\"size-4 opacity-50\"})})]})}function ff({className:l,children:i,position:s=\"popper\",...r}){return y.jsx(vT,{children:y.jsxs(yT,{\"data-slot\":\"select-content\",className:qe(\"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md\",s===\"popper\"&&\"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",l),position:s,...r,children:[y.jsx(CT,{}),y.jsx(bT,{className:qe(\"p-1\",s===\"popper\"&&\"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"),children:i}),y.jsx(AT,{})]})})}function df({className:l,children:i,...s}){return y.jsxs(xT,{\"data-slot\":\"select-item\",className:qe(\"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",l),...s,children:[y.jsx(\"span\",{className:\"absolute right-2 flex size-3.5 items-center justify-center\",children:y.jsx(ET,{children:y.jsx(j2,{className:\"size-4\"})})}),y.jsx(ST,{children:i})]})}function CT({className:l,...i}){return y.jsx(wT,{\"data-slot\":\"select-scroll-up-button\",className:qe(\"flex cursor-default items-center justify-center py-1\",l),...i,children:y.jsx(B2,{className:\"size-4\"})})}function AT({className:l,...i}){return y.jsx(TT,{\"data-slot\":\"select-scroll-down-button\",className:qe(\"flex cursor-default items-center justify-center py-1\",l),...i,children:y.jsx(_f,{className:\"size-4\"})})}function _T(l){if(typeof document>\"u\")return;let i=document.head||document.getElementsByTagName(\"head\")[0],s=document.createElement(\"style\");s.type=\"text/css\",i.appendChild(s),s.styleSheet?s.styleSheet.cssText=l:s.appendChild(document.createTextNode(l))}const NT=l=>{switch(l){case\"success\":return MT;case\"info\":return zT;case\"warning\":return DT;case\"error\":return jT;default:return null}},RT=Array(12).fill(0),OT=({visible:l,className:i})=>P.createElement(\"div\",{className:[\"sonner-loading-wrapper\",i].filter(Boolean).join(\" \"),\"data-visible\":l},P.createElement(\"div\",{className:\"sonner-spinner\"},RT.map((s,r)=>P.createElement(\"div\",{className:\"sonner-loading-bar\",key:`spinner-bar-${r}`})))),MT=P.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 20 20\",fill:\"currentColor\",height:\"20\",width:\"20\"},P.createElement(\"path\",{fillRule:\"evenodd\",d:\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z\",clipRule:\"evenodd\"})),DT=P.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 24 24\",fill:\"currentColor\",height:\"20\",width:\"20\"},P.createElement(\"path\",{fillRule:\"evenodd\",d:\"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z\",clipRule:\"evenodd\"})),zT=P.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 20 20\",fill:\"currentColor\",height:\"20\",width:\"20\"},P.createElement(\"path\",{fillRule:\"evenodd\",d:\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z\",clipRule:\"evenodd\"})),jT=P.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 20 20\",fill:\"currentColor\",height:\"20\",width:\"20\"},P.createElement(\"path\",{fillRule:\"evenodd\",d:\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z\",clipRule:\"evenodd\"})),UT=P.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"12\",height:\"12\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"},P.createElement(\"line\",{x1:\"18\",y1:\"6\",x2:\"6\",y2:\"18\"}),P.createElement(\"line\",{x1:\"6\",y1:\"6\",x2:\"18\",y2:\"18\"})),HT=()=>{const[l,i]=P.useState(document.hidden);return P.useEffect(()=>{const s=()=>{i(document.hidden)};return document.addEventListener(\"visibilitychange\",s),()=>window.removeEventListener(\"visibilitychange\",s)},[]),l};let mf=1;class BT{constructor(){this.subscribe=i=>(this.subscribers.push(i),()=>{const s=this.subscribers.indexOf(i);this.subscribers.splice(s,1)}),this.publish=i=>{this.subscribers.forEach(s=>s(i))},this.addToast=i=>{this.publish(i),this.toasts=[...this.toasts,i]},this.create=i=>{var s;const{message:r,...u}=i,f=typeof i?.id==\"number\"||((s=i.id)==null?void 0:s.length)>0?i.id:mf++,m=this.toasts.find(v=>v.id===f),p=i.dismissible===void 0?!0:i.dismissible;return this.dismissedToasts.has(f)&&this.dismissedToasts.delete(f),m?this.toasts=this.toasts.map(v=>v.id===f?(this.publish({...v,...i,id:f,title:r}),{...v,...i,id:f,dismissible:p,title:r}):v):this.addToast({title:r,...u,dismissible:p,id:f}),f},this.dismiss=i=>(i?(this.dismissedToasts.add(i),requestAnimationFrame(()=>this.subscribers.forEach(s=>s({id:i,dismiss:!0})))):this.toasts.forEach(s=>{this.subscribers.forEach(r=>r({id:s.id,dismiss:!0}))}),i),this.message=(i,s)=>this.create({...s,message:i}),this.error=(i,s)=>this.create({...s,message:i,type:\"error\"}),this.success=(i,s)=>this.create({...s,type:\"success\",message:i}),this.info=(i,s)=>this.create({...s,type:\"info\",message:i}),this.warning=(i,s)=>this.create({...s,type:\"warning\",message:i}),this.loading=(i,s)=>this.create({...s,type:\"loading\",message:i}),this.promise=(i,s)=>{if(!s)return;let r;s.loading!==void 0&&(r=this.create({...s,promise:i,type:\"loading\",message:s.loading,description:typeof s.description!=\"function\"?s.description:void 0}));const u=Promise.resolve(i instanceof Function?i():i);let f=r!==void 0,m;const p=u.then(async g=>{if(m=[\"resolve\",g],P.isValidElement(g))f=!1,this.create({id:r,type:\"default\",message:g});else if(kT(g)&&!g.ok){f=!1;const h=typeof s.error==\"function\"?await s.error(`HTTP error! status: ${g.status}`):s.error,T=typeof s.description==\"function\"?await s.description(`HTTP error! status: ${g.status}`):s.description,D=typeof h==\"object\"&&!P.isValidElement(h)?h:{message:h};this.create({id:r,type:\"error\",description:T,...D})}else if(g instanceof Error){f=!1;const h=typeof s.error==\"function\"?await s.error(g):s.error,T=typeof s.description==\"function\"?await s.description(g):s.description,D=typeof h==\"object\"&&!P.isValidElement(h)?h:{message:h};this.create({id:r,type:\"error\",description:T,...D})}else if(s.success!==void 0){f=!1;const h=typeof s.success==\"function\"?await s.success(g):s.success,T=typeof s.description==\"function\"?await s.description(g):s.description,D=typeof h==\"object\"&&!P.isValidElement(h)?h:{message:h};this.create({id:r,type:\"success\",description:T,...D})}}).catch(async g=>{if(m=[\"reject\",g],s.error!==void 0){f=!1;const S=typeof s.error==\"function\"?await s.error(g):s.error,h=typeof s.description==\"function\"?await s.description(g):s.description,N=typeof S==\"object\"&&!P.isValidElement(S)?S:{message:S};this.create({id:r,type:\"error\",description:h,...N})}}).finally(()=>{f&&(this.dismiss(r),r=void 0),s.finally==null||s.finally.call(s)}),v=()=>new Promise((g,S)=>p.then(()=>m[0]===\"reject\"?S(m[1]):g(m[1])).catch(S));return typeof r!=\"string\"&&typeof r!=\"number\"?{unwrap:v}:Object.assign(r,{unwrap:v})},this.custom=(i,s)=>{const r=s?.id||mf++;return this.create({jsx:i(r),id:r,...s}),r},this.getActiveToasts=()=>this.toasts.filter(i=>!this.dismissedToasts.has(i.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const Ut=new BT,LT=(l,i)=>{const s=i?.id||mf++;return Ut.addToast({title:l,...i,id:s}),s},kT=l=>l&&typeof l==\"object\"&&\"ok\"in l&&typeof l.ok==\"boolean\"&&\"status\"in l&&typeof l.status==\"number\",VT=LT,YT=()=>Ut.toasts,GT=()=>Ut.getActiveToasts(),fn=Object.assign(VT,{success:Ut.success,info:Ut.info,warning:Ut.warning,error:Ut.error,custom:Ut.custom,message:Ut.message,promise:Ut.promise,dismiss:Ut.dismiss,loading:Ut.loading},{getHistory:YT,getToasts:GT});_T(\"[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}\");function Gr(l){return l.label!==void 0}const qT=3,XT=\"24px\",KT=\"16px\",Ag=4e3,QT=356,ZT=14,JT=45,$T=200;function wn(...l){return l.filter(Boolean).join(\" \")}function IT(l){const[i,s]=l.split(\"-\"),r=[];return i&&r.push(i),s&&r.push(s),r}const FT=l=>{var i,s,r,u,f,m,p,v,g;const{invert:S,toast:h,unstyled:T,interacting:N,setHeights:D,visibleToasts:E,heights:R,index:O,toasts:U,expanded:L,removeToast:Q,defaultRichColors:$,closeButton:F,style:X,cancelButtonStyle:K,actionButtonStyle:se,className:ve=\"\",descriptionClassName:ye=\"\",duration:fe,position:de,gap:me,expandByDefault:he,classNames:A,icons:V,closeButtonAriaLabel:B=\"Close toast\"}=l,[ne,ce]=P.useState(null),[C,G]=P.useState(null),[Y,I]=P.useState(!1),[ee,ie]=P.useState(!1),[W,te]=P.useState(!1),[ge,Ee]=P.useState(!1),[Ce,Re]=P.useState(!1),[ut,lt]=P.useState(0),[On,gn]=P.useState(0),an=P.useRef(h.duration||fe||Ag),go=P.useRef(null),Ht=P.useRef(null),vo=O===0,yo=O+1<=E,St=h.type,ea=h.dismissible!==!1,Et=h.className||\"\",vs=h.descriptionClassName||\"\",Ha=P.useMemo(()=>R.findIndex(be=>be.toastId===h.id)||0,[R,h.id]),xi=P.useMemo(()=>{var be;return(be=h.closeButton)!=null?be:F},[h.closeButton,F]),Ba=P.useMemo(()=>h.duration||fe||Ag,[h.duration,fe]),bo=P.useRef(0),Mn=P.useRef(0),Si=P.useRef(0),ta=P.useRef(null),[La,wt]=de.split(\"-\"),ln=P.useMemo(()=>R.reduce((be,Qe,rt)=>rt>=Ha?be:be+Qe.height,0),[R,Ha]),yt=HT(),ys=h.invert||S,xo=St===\"loading\";Mn.current=P.useMemo(()=>Ha*me+ln,[Ha,ln]),P.useEffect(()=>{an.current=Ba},[Ba]),P.useEffect(()=>{I(!0)},[]),P.useEffect(()=>{const be=Ht.current;if(be){const Qe=be.getBoundingClientRect().height;return gn(Qe),D(rt=>[{toastId:h.id,height:Qe,position:h.position},...rt]),()=>D(rt=>rt.filter(bt=>bt.toastId!==h.id))}},[D,h.id]),P.useLayoutEffect(()=>{if(!Y)return;const be=Ht.current,Qe=be.style.height;be.style.height=\"auto\";const rt=be.getBoundingClientRect().height;be.style.height=Qe,gn(rt),D(bt=>bt.find($e=>$e.toastId===h.id)?bt.map($e=>$e.toastId===h.id?{...$e,height:rt}:$e):[{toastId:h.id,height:rt,position:h.position},...bt])},[Y,h.title,h.description,D,h.id,h.jsx,h.action,h.cancel]);const vn=P.useCallback(()=>{ie(!0),lt(Mn.current),D(be=>be.filter(Qe=>Qe.toastId!==h.id)),setTimeout(()=>{Q(h)},$T)},[h,Q,D,Mn]);P.useEffect(()=>{if(h.promise&&St===\"loading\"||h.duration===1/0||h.type===\"loading\")return;let be;return L||N||yt?(()=>{if(Si.current<bo.current){const bt=new Date().getTime()-bo.current;an.current=an.current-bt}Si.current=new Date().getTime()})():(()=>{an.current!==1/0&&(bo.current=new Date().getTime(),be=setTimeout(()=>{h.onAutoClose==null||h.onAutoClose.call(h,h),vn()},an.current))})(),()=>clearTimeout(be)},[L,N,h,St,yt,vn]),P.useEffect(()=>{h.delete&&(vn(),h.onDismiss==null||h.onDismiss.call(h,h))},[vn,h.delete]);function dl(){var be;if(V?.loading){var Qe;return P.createElement(\"div\",{className:wn(A?.loader,h==null||(Qe=h.classNames)==null?void 0:Qe.loader,\"sonner-loader\"),\"data-visible\":St===\"loading\"},V.loading)}return P.createElement(OT,{className:wn(A?.loader,h==null||(be=h.classNames)==null?void 0:be.loader),visible:St===\"loading\"})}const ml=h.icon||V?.[St]||NT(St);var ka,yn;return P.createElement(\"li\",{tabIndex:0,ref:Ht,className:wn(ve,Et,A?.toast,h==null||(i=h.classNames)==null?void 0:i.toast,A?.default,A?.[St],h==null||(s=h.classNames)==null?void 0:s[St]),\"data-sonner-toast\":\"\",\"data-rich-colors\":(ka=h.richColors)!=null?ka:$,\"data-styled\":!(h.jsx||h.unstyled||T),\"data-mounted\":Y,\"data-promise\":!!h.promise,\"data-swiped\":Ce,\"data-removed\":ee,\"data-visible\":yo,\"data-y-position\":La,\"data-x-position\":wt,\"data-index\":O,\"data-front\":vo,\"data-swiping\":W,\"data-dismissible\":ea,\"data-type\":St,\"data-invert\":ys,\"data-swipe-out\":ge,\"data-swipe-direction\":C,\"data-expanded\":!!(L||he&&Y),\"data-testid\":h.testId,style:{\"--index\":O,\"--toasts-before\":O,\"--z-index\":U.length-O,\"--offset\":`${ee?ut:Mn.current}px`,\"--initial-height\":he?\"auto\":`${On}px`,...X,...h.style},onDragEnd:()=>{te(!1),ce(null),ta.current=null},onPointerDown:be=>{be.button!==2&&(xo||!ea||(go.current=new Date,lt(Mn.current),be.target.setPointerCapture(be.pointerId),be.target.tagName!==\"BUTTON\"&&(te(!0),ta.current={x:be.clientX,y:be.clientY})))},onPointerUp:()=>{var be,Qe,rt;if(ge||!ea)return;ta.current=null;const bt=Number(((be=Ht.current)==null?void 0:be.style.getPropertyValue(\"--swipe-amount-x\").replace(\"px\",\"\"))||0),na=Number(((Qe=Ht.current)==null?void 0:Qe.style.getPropertyValue(\"--swipe-amount-y\").replace(\"px\",\"\"))||0),$e=new Date().getTime()-((rt=go.current)==null?void 0:rt.getTime()),Ct=ne===\"x\"?bt:na,Va=Math.abs(Ct)/$e;if(Math.abs(Ct)>=JT||Va>.11){lt(Mn.current),h.onDismiss==null||h.onDismiss.call(h,h),G(ne===\"x\"?bt>0?\"right\":\"left\":na>0?\"down\":\"up\"),vn(),Ee(!0);return}else{var At,_t;(At=Ht.current)==null||At.style.setProperty(\"--swipe-amount-x\",\"0px\"),(_t=Ht.current)==null||_t.style.setProperty(\"--swipe-amount-y\",\"0px\")}Re(!1),te(!1),ce(null)},onPointerMove:be=>{var Qe,rt,bt;if(!ta.current||!ea||((Qe=window.getSelection())==null?void 0:Qe.toString().length)>0)return;const $e=be.clientY-ta.current.y,Ct=be.clientX-ta.current.x;var Va;const At=(Va=l.swipeDirections)!=null?Va:IT(de);!ne&&(Math.abs(Ct)>1||Math.abs($e)>1)&&ce(Math.abs(Ct)>Math.abs($e)?\"x\":\"y\");let _t={x:0,y:0};const pl=on=>1/(1.5+Math.abs(on)/20);if(ne===\"y\"){if(At.includes(\"top\")||At.includes(\"bottom\"))if(At.includes(\"top\")&&$e<0||At.includes(\"bottom\")&&$e>0)_t.y=$e;else{const on=$e*pl($e);_t.y=Math.abs(on)<Math.abs($e)?on:$e}}else if(ne===\"x\"&&(At.includes(\"left\")||At.includes(\"right\")))if(At.includes(\"left\")&&Ct<0||At.includes(\"right\")&&Ct>0)_t.x=Ct;else{const on=Ct*pl(Ct);_t.x=Math.abs(on)<Math.abs(Ct)?on:Ct}(Math.abs(_t.x)>0||Math.abs(_t.y)>0)&&Re(!0),(rt=Ht.current)==null||rt.style.setProperty(\"--swipe-amount-x\",`${_t.x}px`),(bt=Ht.current)==null||bt.style.setProperty(\"--swipe-amount-y\",`${_t.y}px`)}},xi&&!h.jsx&&St!==\"loading\"?P.createElement(\"button\",{\"aria-label\":B,\"data-disabled\":xo,\"data-close-button\":!0,onClick:xo||!ea?()=>{}:()=>{vn(),h.onDismiss==null||h.onDismiss.call(h,h)},className:wn(A?.closeButton,h==null||(r=h.classNames)==null?void 0:r.closeButton)},(yn=V?.close)!=null?yn:UT):null,(St||h.icon||h.promise)&&h.icon!==null&&(V?.[St]!==null||h.icon)?P.createElement(\"div\",{\"data-icon\":\"\",className:wn(A?.icon,h==null||(u=h.classNames)==null?void 0:u.icon)},h.promise||h.type===\"loading\"&&!h.icon?h.icon||dl():null,h.type!==\"loading\"?ml:null):null,P.createElement(\"div\",{\"data-content\":\"\",className:wn(A?.content,h==null||(f=h.classNames)==null?void 0:f.content)},P.createElement(\"div\",{\"data-title\":\"\",className:wn(A?.title,h==null||(m=h.classNames)==null?void 0:m.title)},h.jsx?h.jsx:typeof h.title==\"function\"?h.title():h.title),h.description?P.createElement(\"div\",{\"data-description\":\"\",className:wn(ye,vs,A?.description,h==null||(p=h.classNames)==null?void 0:p.description)},typeof h.description==\"function\"?h.description():h.description):null),P.isValidElement(h.cancel)?h.cancel:h.cancel&&Gr(h.cancel)?P.createElement(\"button\",{\"data-button\":!0,\"data-cancel\":!0,style:h.cancelButtonStyle||K,onClick:be=>{Gr(h.cancel)&&ea&&(h.cancel.onClick==null||h.cancel.onClick.call(h.cancel,be),vn())},className:wn(A?.cancelButton,h==null||(v=h.classNames)==null?void 0:v.cancelButton)},h.cancel.label):null,P.isValidElement(h.action)?h.action:h.action&&Gr(h.action)?P.createElement(\"button\",{\"data-button\":!0,\"data-action\":!0,style:h.actionButtonStyle||se,onClick:be=>{Gr(h.action)&&(h.action.onClick==null||h.action.onClick.call(h.action,be),!be.defaultPrevented&&vn())},className:wn(A?.actionButton,h==null||(g=h.classNames)==null?void 0:g.actionButton)},h.action.label):null)};function _g(){if(typeof window>\"u\"||typeof document>\"u\")return\"ltr\";const l=document.documentElement.getAttribute(\"dir\");return l===\"auto\"||!l?window.getComputedStyle(document.documentElement).direction:l}function WT(l,i){const s={};return[l,i].forEach((r,u)=>{const f=u===1,m=f?\"--mobile-offset\":\"--offset\",p=f?KT:XT;function v(g){[\"top\",\"right\",\"bottom\",\"left\"].forEach(S=>{s[`${m}-${S}`]=typeof g==\"number\"?`${g}px`:g})}typeof r==\"number\"||typeof r==\"string\"?v(r):typeof r==\"object\"?[\"top\",\"right\",\"bottom\",\"left\"].forEach(g=>{r[g]===void 0?s[`${m}-${g}`]=p:s[`${m}-${g}`]=typeof r[g]==\"number\"?`${r[g]}px`:r[g]}):v(p)}),s}const Ng=P.forwardRef(function(i,s){const{id:r,invert:u,position:f=\"bottom-right\",hotkey:m=[\"altKey\",\"KeyT\"],expand:p,closeButton:v,className:g,offset:S,mobileOffset:h,theme:T=\"light\",richColors:N,duration:D,style:E,visibleToasts:R=qT,toastOptions:O,dir:U=_g(),gap:L=ZT,icons:Q,containerAriaLabel:$=\"Notifications\"}=i,[F,X]=P.useState([]),K=P.useMemo(()=>r?F.filter(Y=>Y.toasterId===r):F.filter(Y=>!Y.toasterId),[F,r]),se=P.useMemo(()=>Array.from(new Set([f].concat(K.filter(Y=>Y.position).map(Y=>Y.position)))),[K,f]),[ve,ye]=P.useState([]),[fe,de]=P.useState(!1),[me,he]=P.useState(!1),[A,V]=P.useState(T!==\"system\"?T:typeof window<\"u\"&&window.matchMedia&&window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\"),B=P.useRef(null),ne=m.join(\"+\").replace(/Key/g,\"\").replace(/Digit/g,\"\"),ce=P.useRef(null),C=P.useRef(!1),G=P.useCallback(Y=>{X(I=>{var ee;return(ee=I.find(ie=>ie.id===Y.id))!=null&&ee.delete||Ut.dismiss(Y.id),I.filter(({id:ie})=>ie!==Y.id)})},[]);return P.useEffect(()=>Ut.subscribe(Y=>{if(Y.dismiss){requestAnimationFrame(()=>{X(I=>I.map(ee=>ee.id===Y.id?{...ee,delete:!0}:ee))});return}setTimeout(()=>{Dg.flushSync(()=>{X(I=>{const ee=I.findIndex(ie=>ie.id===Y.id);return ee!==-1?[...I.slice(0,ee),{...I[ee],...Y},...I.slice(ee+1)]:[Y,...I]})})})}),[F]),P.useEffect(()=>{if(T!==\"system\"){V(T);return}if(T===\"system\"&&(window.matchMedia&&window.matchMedia(\"(prefers-color-scheme: dark)\").matches?V(\"dark\"):V(\"light\")),typeof window>\"u\")return;const Y=window.matchMedia(\"(prefers-color-scheme: dark)\");try{Y.addEventListener(\"change\",({matches:I})=>{V(I?\"dark\":\"light\")})}catch{Y.addListener(({matches:ee})=>{try{V(ee?\"dark\":\"light\")}catch(ie){console.error(ie)}})}},[T]),P.useEffect(()=>{F.length<=1&&de(!1)},[F]),P.useEffect(()=>{const Y=I=>{var ee;if(m.every(te=>I[te]||I.code===te)){var W;de(!0),(W=B.current)==null||W.focus()}I.code===\"Escape\"&&(document.activeElement===B.current||(ee=B.current)!=null&&ee.contains(document.activeElement))&&de(!1)};return document.addEventListener(\"keydown\",Y),()=>document.removeEventListener(\"keydown\",Y)},[m]),P.useEffect(()=>{if(B.current)return()=>{ce.current&&(ce.current.focus({preventScroll:!0}),ce.current=null,C.current=!1)}},[B.current]),P.createElement(\"section\",{ref:s,\"aria-label\":`${$} ${ne}`,tabIndex:-1,\"aria-live\":\"polite\",\"aria-relevant\":\"additions text\",\"aria-atomic\":\"false\",suppressHydrationWarning:!0},se.map((Y,I)=>{var ee;const[ie,W]=Y.split(\"-\");return K.length?P.createElement(\"ol\",{key:Y,dir:U===\"auto\"?_g():U,tabIndex:-1,ref:B,className:g,\"data-sonner-toaster\":!0,\"data-sonner-theme\":A,\"data-y-position\":ie,\"data-x-position\":W,style:{\"--front-toast-height\":`${((ee=ve[0])==null?void 0:ee.height)||0}px`,\"--width\":`${QT}px`,\"--gap\":`${L}px`,...E,...WT(S,h)},onBlur:te=>{C.current&&!te.currentTarget.contains(te.relatedTarget)&&(C.current=!1,ce.current&&(ce.current.focus({preventScroll:!0}),ce.current=null))},onFocus:te=>{te.target instanceof HTMLElement&&te.target.dataset.dismissible===\"false\"||C.current||(C.current=!0,ce.current=te.relatedTarget)},onMouseEnter:()=>de(!0),onMouseMove:()=>de(!0),onMouseLeave:()=>{me||de(!1)},onDragEnd:()=>de(!1),onPointerDown:te=>{te.target instanceof HTMLElement&&te.target.dataset.dismissible===\"false\"||he(!0)},onPointerUp:()=>he(!1)},K.filter(te=>!te.position&&I===0||te.position===Y).map((te,ge)=>{var Ee,Ce;return P.createElement(FT,{key:te.id,icons:Q,index:ge,toast:te,defaultRichColors:N,duration:(Ee=O?.duration)!=null?Ee:D,className:O?.className,descriptionClassName:O?.descriptionClassName,invert:u,visibleToasts:R,closeButton:(Ce=O?.closeButton)!=null?Ce:v,interacting:me,position:Y,style:O?.style,unstyled:O?.unstyled,classNames:O?.classNames,cancelButtonStyle:O?.cancelButtonStyle,actionButtonStyle:O?.actionButtonStyle,closeButtonAriaLabel:O?.closeButtonAriaLabel,removeToast:G,toasts:K.filter(Re=>Re.position==te.position),heights:ve.filter(Re=>Re.position==te.position),setHeights:ye,expandByDefault:p,gap:L,expanded:fe,swipeDirections:i.swipeDirections})})):null}))});function PT(l,i){const s=b.useRef(null),r=b.useCallback(()=>{s.current&&(s.current.close(),s.current=null)},[]),u=b.useCallback(()=>{r(),i(m=>({...m,isTranscribing:!1,error:\"Transcription cancelled\"})),fn.info(\"Transcription cancelled\")},[r,i]),f=b.useCallback((m,p)=>{if(m){i(v=>({...v,error:\"\",transcript:\"\",isTranscribing:!0}));try{const v=new URLSearchParams({url:m,model:p}),g=new EventSource(`/ytt?${v}`);s.current=g,g.onmessage=S=>{if(S.data===\"error\"){i(h=>({...h,error:\"Transcription failed\",isTranscribing:!1})),r();return}i(h=>({...h,transcript:h.transcript+S.data}))},g.onerror=()=>{i(S=>({...S,error:\"Connection error\",isTranscribing:!1})),r(),fn.error(\"Transcription failed\")},g.addEventListener(\"done\",()=>{r(),i(S=>({...S,isTranscribing:!1})),fn.success(\"Transcription completed\")})}catch(v){i(g=>({...g,error:v instanceof Error?v.message:\"An error occurred\",isTranscribing:!1})),fn.error(\"Transcription failed\")}}},[r,i]);return b.useEffect(()=>()=>{r()},[r]),{startTranscription:f,cancelTranscription:u,isTranscribing:l.isTranscribing}}const eC=({youtubeState:l,setYoutubeState:i,models:s})=>{const{startTranscription:r,cancelTranscription:u,isTranscribing:f}=PT(l,i),m=h=>{i(T=>({...T,url:h.target.value}))},p=h=>{i(T=>({...T,model:h}))},v=h=>{h.preventDefault(),r(l.url,l.model)},g=()=>{navigator.clipboard.writeText(l.transcript),fn.success(\"Copied to clipboard\")},S=()=>{i(h=>({...h,transcript:\"\",error:\"\"})),fn.success(\"Transcript cleared\")};return y.jsxs(\"div\",{className:\"space-y-6\",children:[y.jsxs(lo,{children:[y.jsx(Jr,{children:y.jsx($r,{children:\"Generate Transcript from YouTube Videos\"})}),y.jsx(oo,{children:y.jsxs(\"form\",{onSubmit:v,className:\"space-y-4\",children:[y.jsxs(\"div\",{className:\"space-y-2\",children:[y.jsx(\"label\",{htmlFor:\"youtube-url\",className:\"text-sm font-medium\",children:\"YouTube URL\"}),y.jsx(is,{id:\"youtube-url\",type:\"url\",placeholder:\"https://www.youtube.com/watch?v=...\",value:l.url,onChange:m,className:\"placeholder:text-muted-foreground/60\"}),y.jsxs(\"div\",{className:\"mt-2 flex items-start space-x-2 rounded-lg bg-blue-50 p-3 dark:bg-blue-950\",children:[y.jsx(Vv,{className:\"mt-0.5 h-4 w-4 text-blue-600 dark:text-blue-400\"}),y.jsx(\"p\",{className:\"text-sm text-blue-700 dark:text-blue-300\",children:\"Transcripts are generated by formatting autogenerated captions using an LLM model.\"})]})]}),y.jsxs(\"div\",{className:\"space-y-2\",children:[y.jsx(\"label\",{htmlFor:\"model-select\",className:\"text-sm font-medium\",children:\"Model\"}),y.jsxs(sf,{value:l.model,onValueChange:p,children:[y.jsx(uf,{id:\"model-select\",children:y.jsx(cf,{placeholder:\"Select a model\"})}),y.jsx(ff,{children:s.map(h=>y.jsx(df,{value:h.value,children:h.label},h.value))})]})]})]})}),y.jsx(qv,{children:f?y.jsxs(\"div\",{className:\"flex w-full gap-2\",children:[y.jsxs(nn,{variant:\"destructive\",onClick:u,className:\"flex-1\",children:[y.jsx(Gv,{className:\"mr-2 h-4 w-4\"}),\"Cancel Transcription\"]}),y.jsxs(nn,{disabled:!0,className:\"flex-1\",children:[y.jsx(pi,{className:\"mr-2 h-4 w-4 animate-spin\"}),\"Transcribing...\"]})]}):y.jsx(nn,{onClick:v,disabled:f||!l.url,className:\"w-full\",children:\"Generate Transcript\"})})]}),l.error&&y.jsx(lo,{className:\"border-red-200 bg-red-50 dark:border-red-900 dark:bg-red-950\",children:y.jsx(oo,{className:\"pt-6\",children:y.jsx(\"p\",{className:\"text-red-700 dark:text-red-300\",children:l.error})})}),l.transcript&&y.jsxs(lo,{children:[y.jsx(Jr,{className:\"pb-3\",children:y.jsxs(\"div\",{className:\"flex items-center justify-between\",children:[y.jsx($r,{children:\"Transcript\"}),y.jsxs(\"div\",{className:\"flex space-x-2\",children:[y.jsx(nn,{variant:\"ghost\",size:\"icon\",onClick:g,title:\"Copy to clipboard\",\"aria-label\":\"Copy transcript to clipboard\",children:y.jsx(kv,{className:\"h-4 w-4\"})}),y.jsx(nn,{variant:\"ghost\",size:\"icon\",onClick:S,title:\"Clear transcript\",\"aria-label\":\"Clear transcript\",children:y.jsx(Yv,{className:\"h-4 w-4\"})})]})]})}),y.jsx(oo,{children:y.jsx(\"div\",{className:\"bg-muted rounded-md p-4 whitespace-pre-wrap\",role:\"region\",\"aria-label\":\"Transcript content\",children:l.transcript})})]})]})},tC=({audioState:l,setAudioState:i,providers:s})=>{const r=(p=l.source)=>s.find(v=>v.provider.value===p)?.models??[],u=p=>{const v=r(p);i(g=>({...g,source:p,model:v.length>0?v[0].value:\"\"}))},f=b.useCallback(async()=>{if(!(!l.url||!l.source)){i(p=>({...p,error:\"\",transcript:\"\",isTranscribing:!0}));try{const p=await fetch(\"/audio\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({url:l.url,service:l.source,model:l.model})}),v=await p.json();if(!p.ok)throw new Error(v.error??\"Failed to transcribe audio\");i(g=>({...g,transcript:v.text,isTranscribing:!1})),fn.success(\"Transcription completed\")}catch(p){const v=p instanceof Error?p.message:\"An error occurred\";i(g=>({...g,error:v,isTranscribing:!1})),fn.error(\"Transcription failed\")}}},[l.url,l.source,l.model,i]),m=r();return y.jsxs(\"div\",{className:\"space-y-6\",children:[y.jsxs(lo,{children:[y.jsx(Jr,{children:y.jsx($r,{children:\"Generate Transcript from Audio URLs\"})}),y.jsx(oo,{children:y.jsxs(\"form\",{onSubmit:p=>{p.preventDefault(),f()},className:\"space-y-4\",children:[y.jsxs(\"div\",{className:\"space-y-2\",children:[y.jsx(\"label\",{htmlFor:\"audio-url\",className:\"text-sm font-medium\",children:\"Audio URL\"}),y.jsx(is,{id:\"audio-url\",type:\"url\",placeholder:\"https://example.com/podcast.mp3\",value:l.url,onChange:p=>i(v=>({...v,url:p.target.value})),className:\"placeholder:text-muted-foreground/60\"}),y.jsxs(\"div\",{className:\"mt-2 flex items-start space-x-2 rounded-lg bg-blue-50 p-3 dark:bg-blue-950\",children:[y.jsx(Vv,{className:\"mt-0.5 h-4 w-4 text-blue-600 dark:text-blue-400\"}),y.jsxs(\"p\",{className:\"text-sm text-blue-700 dark:text-blue-300\",children:[\"You can find the audio download link for a podcast on\",\" \",y.jsx(\"a\",{href:\"https://www.listennotes.com/\",className:\"underline hover:text-blue-800 dark:hover:text-blue-200\",target:\"_blank\",rel:\"noopener noreferrer\",children:\"ListenNotes\"})]})]})]}),y.jsxs(\"div\",{className:\"space-y-2\",children:[y.jsx(\"label\",{htmlFor:\"provider-select\",className:\"text-sm font-medium\",children:\"Speech-to-Text (STT) Provider\"}),y.jsxs(sf,{value:l.source,onValueChange:u,children:[y.jsx(uf,{id:\"provider-select\",children:y.jsx(cf,{})}),y.jsx(ff,{children:s.map(p=>y.jsx(df,{value:p.provider.value,children:p.provider.label},p.provider.value))})]})]}),y.jsxs(\"div\",{className:\"space-y-2\",children:[y.jsx(\"label\",{htmlFor:\"model-select\",className:\"text-sm font-medium\",children:\"Model\"}),y.jsxs(sf,{value:l.model||(m.length>0?m[0].value:\"\"),onValueChange:p=>i(v=>({...v,model:p})),children:[y.jsx(uf,{id:\"model-select\",children:y.jsx(cf,{placeholder:\"Select a model\"})}),y.jsx(ff,{children:m.map(p=>y.jsx(df,{value:p.value,children:p.label},p.value))})]})]})]})}),y.jsx(qv,{children:y.jsx(nn,{onClick:()=>void f(),disabled:l.isTranscribing||!l.url,className:\"w-full\",children:l.isTranscribing?y.jsxs(y.Fragment,{children:[y.jsx(pi,{className:\"mr-2 h-4 w-4 animate-spin\"}),\"Transcribing...\"]}):\"Generate Transcript\"})})]}),l.error&&y.jsx(lo,{className:\"border-red-200 bg-red-50 dark:border-red-900 dark:bg-red-950\",children:y.jsx(oo,{className:\"pt-6\",children:y.jsx(\"p\",{className:\"text-red-700 dark:text-red-300\",children:l.error})})}),l.transcript&&y.jsxs(lo,{children:[y.jsx(Jr,{className:\"pb-3\",children:y.jsxs(\"div\",{className:\"flex items-center justify-between\",children:[y.jsx($r,{children:\"Transcript\"}),y.jsxs(\"div\",{className:\"flex space-x-2\",children:[y.jsx(nn,{variant:\"ghost\",size:\"icon\",onClick:()=>{navigator.clipboard.writeText(l.transcript),fn.success(\"Copied to clipboard\")},title:\"Copy to clipboard\",\"aria-label\":\"Copy transcript to clipboard\",children:y.jsx(kv,{className:\"h-4 w-4\"})}),y.jsx(nn,{variant:\"ghost\",size:\"icon\",onClick:()=>{i(p=>({...p,transcript:\"\",error:\"\"})),fn.success(\"Transcript cleared\")},title:\"Clear transcript\",\"aria-label\":\"Clear transcript\",children:y.jsx(Yv,{className:\"h-4 w-4\"})})]})]})}),y.jsx(oo,{children:y.jsx(\"div\",{className:\"bg-muted rounded-md p-4 whitespace-pre-wrap\",role:\"region\",\"aria-label\":\"Transcript content\",children:l.transcript})})]})]})},nC=sv(\"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",{variants:{variant:{default:\"bg-background text-foreground\",destructive:\"text-destructive-foreground [&>svg]:text-current *:data-[slot=alert-description]:text-destructive-foreground/80\"}},defaultVariants:{variant:\"default\"}});function ky({className:l,variant:i,...s}){return y.jsx(\"div\",{\"data-slot\":\"alert\",role:\"alert\",className:qe(nC({variant:i}),l),...s})}function aC({className:l,...i}){return y.jsx(\"div\",{\"data-slot\":\"alert-title\",className:qe(\"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",l),...i})}function Vy({className:l,...i}){return y.jsx(\"div\",{\"data-slot\":\"alert-description\",className:qe(\"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",l),...i})}var ps=\"Collapsible\",[lC,Yy]=za(ps),[oC,Bf]=lC(ps),Gy=b.forwardRef((l,i)=>{const{__scopeCollapsible:s,open:r,defaultOpen:u,disabled:f,onOpenChange:m,...p}=l,[v,g]=Oa({prop:r,defaultProp:u??!1,onChange:m,caller:ps});return y.jsx(oC,{scope:s,disabled:f,contentId:An(),open:v,onOpenToggle:b.useCallback(()=>g(S=>!S),[g]),children:y.jsx(Ne.div,{\"data-state\":kf(v),\"data-disabled\":f?\"\":void 0,...p,ref:i})})});Gy.displayName=ps;var qy=\"CollapsibleTrigger\",Xy=b.forwardRef((l,i)=>{const{__scopeCollapsible:s,...r}=l,u=Bf(qy,s);return y.jsx(Ne.button,{type:\"button\",\"aria-controls\":u.contentId,\"aria-expanded\":u.open||!1,\"data-state\":kf(u.open),\"data-disabled\":u.disabled?\"\":void 0,disabled:u.disabled,...r,ref:i,onClick:De(l.onClick,u.onOpenToggle)})});Xy.displayName=qy;var Lf=\"CollapsibleContent\",Ky=b.forwardRef((l,i)=>{const{forceMount:s,...r}=l,u=Bf(Lf,l.__scopeCollapsible);return y.jsx(co,{present:s||u.open,children:({present:f})=>y.jsx(iC,{...r,ref:i,present:f})})});Ky.displayName=Lf;var iC=b.forwardRef((l,i)=>{const{__scopeCollapsible:s,present:r,children:u,...f}=l,m=Bf(Lf,s),[p,v]=b.useState(r),g=b.useRef(null),S=Je(i,g),h=b.useRef(0),T=h.current,N=b.useRef(0),D=N.current,E=m.open||p,R=b.useRef(E),O=b.useRef(void 0);return b.useEffect(()=>{const U=requestAnimationFrame(()=>R.current=!1);return()=>cancelAnimationFrame(U)},[]),gt(()=>{const U=g.current;if(U){O.current=O.current||{transitionDuration:U.style.transitionDuration,animationName:U.style.animationName},U.style.transitionDuration=\"0s\",U.style.animationName=\"none\";const L=U.getBoundingClientRect();h.current=L.height,N.current=L.width,R.current||(U.style.transitionDuration=O.current.transitionDuration,U.style.animationName=O.current.animationName),v(r)}},[m.open,r]),y.jsx(Ne.div,{\"data-state\":kf(m.open),\"data-disabled\":m.disabled?\"\":void 0,id:m.contentId,hidden:!E,...f,ref:S,style:{\"--radix-collapsible-content-height\":T?`${T}px`:void 0,\"--radix-collapsible-content-width\":D?`${D}px`:void 0,...l.style},children:E&&u})});function kf(l){return l?\"open\":\"closed\"}var rC=Gy,sC=Xy,cC=Ky,hn=\"Accordion\",uC=[\"Home\",\"End\",\"ArrowDown\",\"ArrowUp\",\"ArrowLeft\",\"ArrowRight\"],[Vf,fC,dC]=vf(hn),[hs]=za(hn,[dC,Yy]),Yf=Yy(),Qy=P.forwardRef((l,i)=>{const{type:s,...r}=l,u=r,f=r;return y.jsx(Vf.Provider,{scope:l.__scopeAccordion,children:s===\"multiple\"?y.jsx(gC,{...f,ref:i}):y.jsx(hC,{...u,ref:i})})});Qy.displayName=hn;var[Zy,mC]=hs(hn),[Jy,pC]=hs(hn,{collapsible:!1}),hC=P.forwardRef((l,i)=>{const{value:s,defaultValue:r,onValueChange:u=()=>{},collapsible:f=!1,...m}=l,[p,v]=Oa({prop:s,defaultProp:r??\"\",onChange:u,caller:hn});return y.jsx(Zy,{scope:l.__scopeAccordion,value:P.useMemo(()=>p?[p]:[],[p]),onItemOpen:v,onItemClose:P.useCallback(()=>f&&v(\"\"),[f,v]),children:y.jsx(Jy,{scope:l.__scopeAccordion,collapsible:f,children:y.jsx($y,{...m,ref:i})})})}),gC=P.forwardRef((l,i)=>{const{value:s,defaultValue:r,onValueChange:u=()=>{},...f}=l,[m,p]=Oa({prop:s,defaultProp:r??[],onChange:u,caller:hn}),v=P.useCallback(S=>p((h=[])=>[...h,S]),[p]),g=P.useCallback(S=>p((h=[])=>h.filter(T=>T!==S)),[p]);return y.jsx(Zy,{scope:l.__scopeAccordion,value:m,onItemOpen:v,onItemClose:g,children:y.jsx(Jy,{scope:l.__scopeAccordion,collapsible:!0,children:y.jsx($y,{...f,ref:i})})})}),[vC,gs]=hs(hn),$y=P.forwardRef((l,i)=>{const{__scopeAccordion:s,disabled:r,dir:u,orientation:f=\"vertical\",...m}=l,p=P.useRef(null),v=Je(p,i),g=fC(s),h=ns(u)===\"ltr\",T=De(l.onKeyDown,N=>{if(!uC.includes(N.key))return;const D=N.target,E=g().filter(K=>!K.ref.current?.disabled),R=E.findIndex(K=>K.ref.current===D),O=E.length;if(R===-1)return;N.preventDefault();let U=R;const L=0,Q=O-1,$=()=>{U=R+1,U>Q&&(U=L)},F=()=>{U=R-1,U<L&&(U=Q)};switch(N.key){case\"Home\":U=L;break;case\"End\":U=Q;break;case\"ArrowRight\":f===\"horizontal\"&&(h?$():F());break;case\"ArrowDown\":f===\"vertical\"&&$();break;case\"ArrowLeft\":f===\"horizontal\"&&(h?F():$());break;case\"ArrowUp\":f===\"vertical\"&&F();break}const X=U%O;E[X].ref.current?.focus()});return y.jsx(vC,{scope:s,disabled:r,direction:u,orientation:f,children:y.jsx(Vf.Slot,{scope:s,children:y.jsx(Ne.div,{...m,\"data-orientation\":f,ref:v,onKeyDown:r?void 0:T})})})}),ts=\"AccordionItem\",[yC,Gf]=hs(ts),Iy=P.forwardRef((l,i)=>{const{__scopeAccordion:s,value:r,...u}=l,f=gs(ts,s),m=mC(ts,s),p=Yf(s),v=An(),g=r&&m.value.includes(r)||!1,S=f.disabled||l.disabled;return y.jsx(yC,{scope:s,open:g,disabled:S,triggerId:v,children:y.jsx(rC,{\"data-orientation\":f.orientation,\"data-state\":n0(g),...p,...u,ref:i,disabled:S,open:g,onOpenChange:h=>{h?m.onItemOpen(r):m.onItemClose(r)}})})});Iy.displayName=ts;var Fy=\"AccordionHeader\",Wy=P.forwardRef((l,i)=>{const{__scopeAccordion:s,...r}=l,u=gs(hn,s),f=Gf(Fy,s);return y.jsx(Ne.h3,{\"data-orientation\":u.orientation,\"data-state\":n0(f.open),\"data-disabled\":f.disabled?\"\":void 0,...r,ref:i})});Wy.displayName=Fy;var pf=\"AccordionTrigger\",Py=P.forwardRef((l,i)=>{const{__scopeAccordion:s,...r}=l,u=gs(hn,s),f=Gf(pf,s),m=pC(pf,s),p=Yf(s);return y.jsx(Vf.ItemSlot,{scope:s,children:y.jsx(sC,{\"aria-disabled\":f.open&&!m.collapsible||void 0,\"data-orientation\":u.orientation,id:f.triggerId,...p,...r,ref:i})})});Py.displayName=pf;var e0=\"AccordionContent\",t0=P.forwardRef((l,i)=>{const{__scopeAccordion:s,...r}=l,u=gs(hn,s),f=Gf(e0,s),m=Yf(s);return y.jsx(cC,{role:\"region\",\"aria-labelledby\":f.triggerId,\"data-orientation\":u.orientation,...m,...r,ref:i,style:{\"--radix-accordion-content-height\":\"var(--radix-collapsible-content-height)\",\"--radix-accordion-content-width\":\"var(--radix-collapsible-content-width)\",...l.style}})});t0.displayName=e0;function n0(l){return l?\"open\":\"closed\"}var bC=Qy,xC=Iy,SC=Wy,EC=Py,wC=t0;function TC({...l}){return y.jsx(bC,{\"data-slot\":\"accordion\",...l})}function ol({className:l,...i}){return y.jsx(xC,{\"data-slot\":\"accordion-item\",className:qe(\"border-b last:border-b-0\",l),...i})}function il({className:l,children:i,...s}){return y.jsx(SC,{className:\"flex\",children:y.jsxs(EC,{\"data-slot\":\"accordion-trigger\",className:qe(\"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",l),...s,children:[i,y.jsx(_f,{className:\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\"})]})})}function rl({className:l,children:i,...s}){return y.jsx(wC,{\"data-slot\":\"accordion-content\",className:\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\",...s,children:y.jsx(\"div\",{className:qe(\"pt-0 pb-4\",l),children:i})})}const Fn=({id:l,value:i,onChange:s,placeholder:r,label:u})=>{const[f,m]=b.useState(!1);return y.jsxs(\"div\",{className:\"space-y-1.5\",children:[y.jsx(\"label\",{htmlFor:l,className:\"block text-sm font-medium\",children:u}),y.jsxs(\"div\",{className:\"relative\",children:[y.jsx(is,{id:l,type:f?\"text\":\"password\",value:i,onChange:s,placeholder:r,autoComplete:\"new-password\",className:\"placeholder:text-muted-foreground/60\"}),y.jsx(\"button\",{type:\"button\",onClick:()=>m(!f),className:\"absolute top-1/2 right-2 -translate-y-1/2 text-gray-500 hover:text-gray-700\",children:f?y.jsx(Y2,{size:16}):y.jsx(q2,{size:16})})]})]})},CC=()=>{const[l,i]=b.useState({openai:{apiKey:\"\"},anthropic:{apiKey:\"\"},groq:{apiKey:\"\"},deepgram:{apiKey:\"\"},assemblyai:{apiKey:\"\"},google:{apiKey:\"\"},aws:{accessKeyId:\"\",secretAccessKey:\"\",sessionToken:\"\",region:\"us-east-1\"}}),[s,r]=b.useState({message:\"\",isError:!1}),[u,f]=b.useState(!1),[m,p]=b.useState(!0);b.useEffect(()=>{(async()=>{p(!0);try{const h=await fetch(\"/settings\");if(!h.ok)throw new Error(\"Failed to load settings\");const T=await h.json();i({openai:{apiKey:T.openai_api_key??\"\"},anthropic:{apiKey:T.anthropic_api_key??\"\"},groq:{apiKey:T.groq_api_key??\"\"},deepgram:{apiKey:T.deepgram_api_key??\"\"},assemblyai:{apiKey:T.assembly_ai_api_key??\"\"},google:{apiKey:T.gemini_api_key??\"\"},aws:{accessKeyId:T.aws_access_key_id??\"\",secretAccessKey:T.aws_secret_access_key??\"\",sessionToken:T.aws_session_token??\"\",region:T.aws_region??\"us-east-1\"}})}catch(h){console.error(\"Error fetching settings:\",h),r({message:\"Failed to load settings. Please refresh the page.\",isError:!0})}finally{p(!1)}})()},[]);const v=(S,h,T)=>{i(N=>({...N,[S]:{...N[S],[h]:T}}))},g=async S=>{S.preventDefault(),f(!0),r({message:\"\",isError:!1});try{const h={openai_api_key:l.openai.apiKey,anthropic_api_key:l.anthropic.apiKey,groq_api_key:l.groq.apiKey,deepgram_api_key:l.deepgram.apiKey,assembly_ai_api_key:l.assemblyai.apiKey,gemini_api_key:l.google.apiKey,aws_region:l.aws.region,aws_access_key_id:l.aws.accessKeyId,aws_secret_access_key:l.aws.secretAccessKey,aws_session_token:l.aws.sessionToken};if(!(await fetch(\"/settings\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(h)})).ok)throw new Error(\"Failed to save settings\");r({message:\"Settings saved successfully!\",isError:!1})}catch(h){console.error(\"Error saving settings:\",h),r({message:\"Error saving settings. Please try again.\",isError:!0})}finally{f(!1),s.isError||setTimeout(()=>{r({message:\"\",isError:!1})},3e3)}};return m?y.jsxs(\"div\",{className:\"flex h-full items-center justify-center p-4\",children:[y.jsx(pi,{className:\"h-8 w-8 animate-spin text-gray-400\"}),y.jsx(\"span\",{className:\"ml-2\",children:\"Loading settings...\"})]}):y.jsxs(\"div\",{className:\"flex h-full flex-col\",children:[y.jsx(\"div\",{className:\"flex-1 overflow-y-auto\",children:y.jsxs(\"div\",{className:\"space-y-6 p-4 pb-24\",children:[\" \",s.message&&y.jsxs(ky,{className:s.isError?\"bg-red-100 text-red-800 dark:bg-red-900/20 dark:text-red-300\":\"bg-green-100 text-green-800 dark:bg-green-900/20 dark:text-green-300\",children:[y.jsx(Lv,{className:\"mr-2 h-4 w-4\"}),y.jsx(Vy,{children:s.message})]}),y.jsx(\"form\",{id:\"settings-form\",onSubmit:S=>{g(S)},className:\"space-y-6\",children:y.jsxs(TC,{type:\"multiple\",className:\"w-full rounded-lg border p-2\",children:[y.jsxs(ol,{value:\"openai\",children:[y.jsx(il,{children:\"OpenAI\"}),y.jsx(rl,{children:y.jsx(\"div\",{className:\"space-y-4\",children:y.jsx(Fn,{id:\"openai-api-key\",value:l.openai.apiKey,onChange:S=>v(\"openai\",\"apiKey\",S.target.value),placeholder:\"sk-...\",label:\"API Key\"})})})]}),y.jsxs(ol,{value:\"anthropic\",children:[y.jsx(il,{children:\"Anthropic\"}),y.jsx(rl,{children:y.jsx(\"div\",{className:\"space-y-4\",children:y.jsx(Fn,{id:\"anthropic-api-key\",value:l.anthropic.apiKey,onChange:S=>v(\"anthropic\",\"apiKey\",S.target.value),placeholder:\"sk-ant-...\",label:\"API Key\"})})})]}),y.jsxs(ol,{value:\"groq\",children:[y.jsx(il,{children:\"Groq\"}),y.jsx(rl,{children:y.jsx(\"div\",{className:\"space-y-4\",children:y.jsx(Fn,{id:\"groq-api-key\",value:l.groq.apiKey,onChange:S=>v(\"groq\",\"apiKey\",S.target.value),placeholder:\"gsk_...\",label:\"API Key\"})})})]}),y.jsxs(ol,{value:\"deepgram\",children:[y.jsx(il,{children:\"Deepgram\"}),y.jsx(rl,{children:y.jsx(\"div\",{className:\"space-y-4\",children:y.jsx(Fn,{id:\"deepgram-api-key\",value:l.deepgram.apiKey,onChange:S=>v(\"deepgram\",\"apiKey\",S.target.value),placeholder:\"...\",label:\"API Key\"})})})]}),y.jsxs(ol,{value:\"assemblyai\",children:[y.jsx(il,{children:\"AssemblyAI\"}),y.jsx(rl,{children:y.jsx(\"div\",{className:\"space-y-4\",children:y.jsx(Fn,{id:\"assemblyai-api-key\",value:l.assemblyai.apiKey,onChange:S=>v(\"assemblyai\",\"apiKey\",S.target.value),placeholder:\"...\",label:\"API Key\"})})})]}),y.jsxs(ol,{value:\"google\",children:[y.jsx(il,{children:\"Google Gemini\"}),y.jsx(rl,{children:y.jsx(\"div\",{className:\"space-y-4\",children:y.jsx(Fn,{id:\"google-api-key\",value:l.google.apiKey,onChange:S=>v(\"google\",\"apiKey\",S.target.value),placeholder:\"...\",label:\"API Key\"})})})]}),y.jsxs(ol,{value:\"aws\",children:[y.jsx(il,{children:\"AWS Bedrock\"}),y.jsx(rl,{children:y.jsxs(\"div\",{className:\"space-y-4\",children:[y.jsx(Fn,{id:\"aws-access-key\",value:l.aws.accessKeyId,onChange:S=>v(\"aws\",\"accessKeyId\",S.target.value),placeholder:\"AKIA...\",label:\"Access Key ID\"}),y.jsx(Fn,{id:\"aws-secret-key\",value:l.aws.secretAccessKey,onChange:S=>v(\"aws\",\"secretAccessKey\",S.target.value),placeholder:\"...\",label:\"Secret Access Key\"}),y.jsx(Fn,{id:\"aws-session-token\",value:l.aws.sessionToken,onChange:S=>v(\"aws\",\"sessionToken\",S.target.value),placeholder:\"...\",label:\"Session Token (Optional)\"}),y.jsxs(\"div\",{className:\"space-y-1.5\",children:[y.jsx(\"label\",{htmlFor:\"aws-region\",className:\"block text-sm font-medium\",children:\"Region\"}),y.jsx(is,{id:\"aws-region\",type:\"text\",value:l.aws.region,onChange:S=>v(\"aws\",\"region\",S.target.value),placeholder:\"us-east-1\",autoComplete:\"off\",className:\"placeholder:text-muted-foreground/60\"})]})]})})]})]})})]})}),y.jsx(\"div\",{className:\"sticky bottom-0 border-t border-gray-200 bg-white p-4 shadow-md dark:border-gray-800 dark:bg-gray-950\",children:y.jsx(nn,{form:\"settings-form\",type:\"submit\",className:\"w-full\",disabled:u,children:u?y.jsxs(y.Fragment,{children:[y.jsx(pi,{className:\"mr-2 h-4 w-4 animate-spin\"}),\"Saving...\"]}):y.jsxs(y.Fragment,{children:[y.jsx(I2,{className:\"mr-2 h-4 w-4\"}),\"Save Settings\"]})})})]})},Rg=[{value:\"deepgram\",label:\"Deepgram\"},{value:\"aai\",label:\"AssemblyAI\"}],AC=()=>{const[l,i]=b.useState(\"dark\"),[s,r]=b.useState([]),[u,f]=b.useState([]),[m,p]=b.useState(\"\"),[v,g]=b.useState(!0),[S,h]=b.useState({url:\"\",model:\"\",transcript:\"\",error:\"\",isTranscribing:!1}),[T,N]=b.useState({url:\"\",source:\"deepgram\",model:\"\",transcript:\"\",error:\"\",isTranscribing:!1});b.useEffect(()=>{(async()=>{try{const O=await(await fetch(\"/models/ytt\")).json(),U=O.models.map(F=>({value:F,label:F}));r(U),h(F=>({...F,model:O.default||(O.models.length>0?O.models[0]:\"\")}));const Q=(await Promise.all(Rg.map(async F=>{try{const K=await(await fetch(`/models/${F.value}`)).json();return{provider:F.value,models:K.models.map(se=>({value:se,label:se})),defaultModel:K.default}}catch(X){return console.error(`Error fetching models for ${F.value}:`,X),{provider:F.value,models:[],defaultModel:\"\"}}}))).filter(F=>F.models.length>0).map(F=>({provider:{value:F.provider,label:Rg.find(X=>X.value===F.provider)?.label??F.provider},models:F.models}));f(Q);const $=Q.find(F=>F.provider.value===\"deepgram\");$?.models.length&&N(F=>({...F,model:$.models[0].value})),g(!1)}catch(R){console.error(\"Error fetching models:\",R),p(\"Failed to load models. Please refresh the page and try again.\"),g(!1)}})()},[]),b.useEffect(()=>{document.documentElement.classList.toggle(\"dark\",l===\"dark\")},[l]);const D=()=>y.jsxs(\"header\",{className:\"flex items-center justify-between border-b p-4\",children:[y.jsxs(\"div\",{className:\"flex items-center gap-2\",children:[y.jsx(mg,{className:\"h-6 w-6\"}),y.jsx(\"h1\",{className:\"font-mono text-xl font-bold\",children:\"podscript\"})]}),y.jsxs(\"div\",{className:\"flex items-center gap-2\",children:[y.jsx(nn,{variant:\"ghost\",size:\"icon\",onClick:()=>i(l===\"light\"?\"dark\":\"light\"),children:l===\"light\"?y.jsx(J2,{className:\"h-5 w-5\"}):y.jsx(eE,{className:\"h-5 w-5\"})}),y.jsxs(oE,{children:[y.jsx(iE,{asChild:!0,children:y.jsx(nn,{variant:\"ghost\",size:\"icon\",children:y.jsx(W2,{className:\"h-5 w-5\"})})}),y.jsxs(cE,{className:\"w-80 sm:w-96\",children:[y.jsx(uE,{children:y.jsx(fE,{children:\"Settings\"})}),y.jsx(CC,{})]})]})]})]});return v?y.jsx(\"div\",{className:\"bg-background flex min-h-screen items-center justify-center\",children:y.jsxs(\"div\",{className:\"flex flex-col items-center gap-4\",children:[y.jsx(pi,{className:\"text-primary h-8 w-8 animate-spin\"}),y.jsx(\"p\",{className:\"text-lg\",children:\"Loading models...\"})]})}):m?y.jsxs(\"div\",{className:\"bg-background text-foreground min-h-screen transition-colors\",children:[y.jsx(Ng,{position:\"top-center\"}),y.jsx(D,{}),y.jsxs(\"main\",{className:\"container mx-auto max-w-3xl p-4\",children:[y.jsxs(ky,{variant:\"destructive\",children:[y.jsx(Lv,{className:\"h-4 w-4\"}),y.jsx(aC,{children:\"Error\"}),y.jsx(Vy,{children:m})]}),y.jsx(\"div\",{className:\"mt-4 text-center\",children:y.jsx(nn,{onClick:()=>window.location.reload(),children:\"Refresh Page\"})})]})]}):y.jsxs(\"div\",{className:\"bg-background text-foreground min-h-screen transition-colors\",children:[y.jsx(Ng,{position:\"top-center\"}),y.jsx(D,{}),y.jsx(\"main\",{className:\"container mx-auto max-w-3xl p-4\",children:y.jsxs(Qx,{defaultValue:\"youtube\",className:\"w-full\",onValueChange:()=>{if(S.isTranscribing||T.isTranscribing)return fn.error(\"Please wait for the active transcription to complete before switching tabs\"),!1},children:[y.jsxs(Zx,{className:\"mb-6 w-full\",children:[y.jsxs(Ih,{value:\"youtube\",className:\"flex w-1/2 items-center gap-2\",disabled:T.isTranscribing,children:[y.jsx(lE,{className:\"h-4 w-4\"}),\"YouTube URL\"]}),y.jsxs(Ih,{value:\"audio\",className:\"flex w-1/2 items-center gap-2\",disabled:S.isTranscribing,children:[y.jsx(mg,{className:\"h-4 w-4\"}),\"Audio URL\"]})]}),y.jsx(Fh,{value:\"youtube\",children:y.jsx(eC,{youtubeState:S,setYoutubeState:h,models:s})}),y.jsx(Fh,{value:\"audio\",children:y.jsx(tC,{audioState:T,setAudioState:N,providers:u})})]})})]})};w1.createRoot(document.getElementById(\"root\")).render(y.jsx(b.StrictMode,{children:y.jsx(AC,{})}));\n"
  },
  {
    "path": "dist/assets/index-CqtPYu3T.css",
    "content": "@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-green-100:oklch(96.2% .044 156.743);--color-green-300:oklch(87.1% .15 154.449);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-950:oklch(28.2% .091 267.935);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-950:oklch(13% .028 261.692);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-8{top:calc(var(--spacing)*-8)}.top-0{top:calc(var(--spacing)*0)}.top-1\\/2{top:50%}.top-4{top:calc(var(--spacing)*4)}.-right-2{right:calc(var(--spacing)*-2)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-50{z-index:50}.col-start-2{grid-column-start:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.ml-2{margin-left:calc(var(--spacing)*2)}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.size-3\\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-16{height:calc(var(--spacing)*16)}.h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:calc(var(--spacing)*96)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-3\\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-80{width:calc(var(--spacing)*80)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\\[8rem\\]{min-width:8rem}.min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0\\.5{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.resize{resize:both}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.grid-cols-\\[0_1fr\\]{grid-template-columns:0 1fr}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-items-start{justify-items:start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-0\\.5{row-gap:calc(var(--spacing)*.5)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.border-input{border-color:var(--input)}.border-red-200{border-color:var(--color-red-200)}.bg-background{background-color:var(--background)}.bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-green-100{background-color:var(--color-green-100)}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-8{padding-right:calc(var(--spacing)*8)}.pr-10{padding-right:calc(var(--spacing)*10)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.pl-2{padding-left:calc(var(--spacing)*2)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-card-foreground{color:var(--card-foreground)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-green-800{color:var(--color-green-800)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition\\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.group-data-\\[disabled\\=true\\]\\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\\[disabled\\=true\\]\\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-\\[\\.toast\\]\\:bg-muted:is(:where(.group).toast *){background-color:var(--muted)}.group-\\[\\.toast\\]\\:bg-primary:is(:where(.group).toast *){background-color:var(--primary)}.group-\\[\\.toast\\]\\:text-muted-foreground:is(:where(.group).toast *){color:var(--muted-foreground)}.group-\\[\\.toast\\]\\:text-primary-foreground:is(:where(.group).toast *){color:var(--primary-foreground)}.group-\\[\\.toaster\\]\\:border-border:is(:where(.group).toaster *){border-color:var(--border)}.group-\\[\\.toaster\\]\\:bg-background:is(:where(.group).toaster *){background-color:var(--background)}.group-\\[\\.toaster\\]\\:text-foreground:is(:where(.group).toaster *){color:var(--foreground)}.group-\\[\\.toaster\\]\\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peer-disabled\\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\\:bg-primary ::selection{background-color:var(--primary)}.selection\\:bg-primary::selection{background-color:var(--primary)}.selection\\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\\:inline-flex::file-selector-button{display:inline-flex}.file\\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\\:bg-transparent::file-selector-button{background-color:#0000}.file\\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\\:text-muted-foreground::placeholder,.placeholder\\:text-muted-foreground\\/60::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.placeholder\\:text-muted-foreground\\/60::placeholder{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\\:bg-accent:hover{background-color:var(--accent)}.hover\\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\\:bg-destructive\\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\\:bg-white\\/\\[0\\.12\\]:hover{background-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/\\[0\\.12\\]:hover{background-color:color-mix(in oklab,var(--color-white)12%,transparent)}}.hover\\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\\:text-blue-800:hover{color:var(--color-blue-800)}.hover\\:text-gray-600:hover{color:var(--color-gray-600)}.hover\\:text-gray-700:hover{color:var(--color-gray-700)}.hover\\:text-gray-800:hover{color:var(--color-gray-800)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}}.focus\\:bg-accent:focus{background-color:var(--accent)}.focus\\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-ring:focus-visible{outline-color:var(--ring)}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-blue-300:disabled{background-color:var(--color-blue-300)}.disabled\\:opacity-50:disabled{opacity:.5}.has-\\[\\>svg\\]\\:grid-cols-\\[calc\\(var\\(--spacing\\)\\*4\\)_1fr\\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.has-\\[\\>svg\\]\\:gap-x-3:has(>svg){column-gap:calc(var(--spacing)*3)}.has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[error\\=true\\]\\:text-destructive-foreground[data-error=true]{color:var(--destructive-foreground)}.data-\\[placeholder\\]\\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}:is(.\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive-foreground\\/80>*)[data-slot=alert-description]{color:var(--destructive-foreground)}@supports (color:color-mix(in lab,red,red)){:is(.\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive-foreground\\/80>*)[data-slot=alert-description]{color:color-mix(in oklab,var(--destructive-foreground)80%,transparent)}}:is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}:is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\\[state\\=active\\]\\:bg-background[data-state=active]{background-color:var(--background)}.data-\\[state\\=active\\]\\:text-foreground[data-state=active]{color:var(--foreground)}.data-\\[state\\=active\\]\\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\\[state\\=closed\\]\\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\\[state\\=closed\\]\\:duration-300[data-state=closed]{animation-duration:.3s}.data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\\[state\\=closed\\]\\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\\[state\\=closed\\]\\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\\[state\\=closed\\]\\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\\[state\\=closed\\]\\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\\[state\\=open\\]\\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\\[state\\=open\\]\\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\\[state\\=open\\]\\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\\[state\\=open\\]\\:duration-500[data-state=open]{animation-duration:.5s}.data-\\[state\\=open\\]\\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\\[state\\=open\\]\\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\\[state\\=open\\]\\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\\[state\\=open\\]\\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\\[state\\=open\\]\\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\\[state\\=open\\]\\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}@media (min-width:40rem){.sm\\:w-96{width:calc(var(--spacing)*96)}.sm\\:max-w-sm{max-width:var(--container-sm)}}@media (min-width:48rem){.md\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\\:border-gray-800:is(.dark *){border-color:var(--color-gray-800)}.dark\\:border-red-900:is(.dark *){border-color:var(--color-red-900)}.dark\\:bg-blue-950:is(.dark *){background-color:var(--color-blue-950)}.dark\\:bg-gray-950:is(.dark *){background-color:var(--color-gray-950)}.dark\\:bg-green-900\\/20:is(.dark *){background-color:#0d542b33}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-green-900\\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-green-900)20%,transparent)}}.dark\\:bg-red-900\\/20:is(.dark *){background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-900\\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\\:bg-red-950:is(.dark *){background-color:var(--color-red-950)}.dark\\:text-blue-300:is(.dark *){color:var(--color-blue-300)}.dark\\:text-blue-400:is(.dark *){color:var(--color-blue-400)}.dark\\:text-green-300:is(.dark *){color:var(--color-green-300)}.dark\\:text-red-300:is(.dark *){color:var(--color-red-300)}@media (hover:hover){.dark\\:hover\\:text-blue-200:is(.dark *):hover{color:var(--color-blue-200)}}.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.\\[\\&_p\\]\\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'text-\\'\\]\\)\\]\\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}:is(.\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}:is(.\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}:is(.\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}.\\[\\&\\>span\\]\\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\\[\\&\\>svg\\]\\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&\\>svg\\]\\:translate-y-0\\.5>svg{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.\\[\\&\\>svg\\]\\:text-current>svg{color:currentColor}.\\[\\&\\[data-state\\=open\\]\\>svg\\]\\:rotate-180[data-state=open]>svg{rotate:180deg}}:root{--background:oklch(100% 0 0);--foreground:oklch(13% .028 261.692);--card:oklch(100% 0 0);--card-foreground:oklch(13% .028 261.692);--popover:oklch(100% 0 0);--popover-foreground:oklch(13% .028 261.692);--primary:oklch(21% .034 264.665);--primary-foreground:oklch(98.5% .002 247.839);--secondary:oklch(96.7% .003 264.542);--secondary-foreground:oklch(21% .034 264.665);--muted:oklch(96.7% .003 264.542);--muted-foreground:oklch(55.1% .027 264.364);--accent:oklch(96.7% .003 264.542);--accent-foreground:oklch(21% .034 264.665);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(57.7% .245 27.325);--border:oklch(92.8% .006 264.531);--input:oklch(92.8% .006 264.531);--ring:oklch(87.2% .01 258.338);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--radius:.625rem;--sidebar:oklch(98.5% .002 247.839);--sidebar-foreground:oklch(13% .028 261.692);--sidebar-primary:oklch(21% .034 264.665);--sidebar-primary-foreground:oklch(98.5% .002 247.839);--sidebar-accent:oklch(96.7% .003 264.542);--sidebar-accent-foreground:oklch(21% .034 264.665);--sidebar-border:oklch(92.8% .006 264.531);--sidebar-ring:oklch(87.2% .01 258.338)}.dark{--background:oklch(13% .028 261.692);--foreground:oklch(98.5% .002 247.839);--card:oklch(13% .028 261.692);--card-foreground:oklch(98.5% .002 247.839);--popover:oklch(13% .028 261.692);--popover-foreground:oklch(98.5% .002 247.839);--primary:oklch(98.5% .002 247.839);--primary-foreground:oklch(21% .034 264.665);--secondary:oklch(27.8% .033 256.848);--secondary-foreground:oklch(98.5% .002 247.839);--muted:oklch(27.8% .033 256.848);--muted-foreground:oklch(70.7% .022 261.325);--accent:oklch(27.8% .033 256.848);--accent-foreground:oklch(98.5% .002 247.839);--destructive:oklch(39.6% .141 25.723);--destructive-foreground:oklch(63.7% .237 25.331);--border:oklch(27.8% .033 256.848);--input:oklch(27.8% .033 256.848);--ring:oklch(44.6% .03 256.802);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(21% .034 264.665);--sidebar-foreground:oklch(98.5% .002 247.839);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% .002 247.839);--sidebar-accent:oklch(27.8% .033 256.848);--sidebar-accent-foreground:oklch(98.5% .002 247.839);--sidebar-border:oklch(27.8% .033 256.848);--sidebar-ring:oklch(44.6% .03 256.802)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}\n"
  },
  {
    "path": "dist/index.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <link rel=\"icon\" type=\"image/svg+xml\" href=\"/mike.svg\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Podscript</title>\n    <script type=\"module\" crossorigin src=\"/assets/index-BvKMAqt1.js\"></script>\n    <link rel=\"stylesheet\" crossorigin href=\"/assets/index-CqtPYu3T.css\">\n  </head>\n  <body>\n    <div id=\"root\"></div>\n  </body>\n</html>\n"
  },
  {
    "path": "go.mod",
    "content": "module github.com/cottonggeeks/podscript\n\ngo 1.24.2\n\nrequire (\n\tgithub.com/AssemblyAI/assemblyai-go-sdk v1.10.0\n\tgithub.com/alecthomas/kong v1.13.0\n\tgithub.com/anthropics/anthropic-sdk-go v1.19.0\n\tgithub.com/aws/aws-sdk-go-v2 v1.41.0\n\tgithub.com/aws/aws-sdk-go-v2/config v1.32.6\n\tgithub.com/aws/aws-sdk-go-v2/credentials v1.19.6\n\tgithub.com/aws/aws-sdk-go-v2/service/bedrockruntime v1.47.1\n\tgithub.com/charmbracelet/huh v0.8.0\n\tgithub.com/deepakjois/groq v0.0.0-20250118174530-0262c383bbb6\n\tgithub.com/deepakjois/ytt v0.0.0-20250614130656-34596ccf7d63\n\tgithub.com/deepgram/deepgram-go-sdk/v2 v2.1.0\n\tgithub.com/google/generative-ai-go v0.20.1\n\tgithub.com/openai/openai-go v1.12.0\n\tgithub.com/pelletier/go-toml/v2 v2.2.4\n\tgoogle.golang.org/api v0.258.0\n)\n\nrequire (\n\tcloud.google.com/go v0.118.2 // indirect\n\tcloud.google.com/go/ai v0.10.0 // indirect\n\tcloud.google.com/go/auth v0.17.0 // indirect\n\tcloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect\n\tcloud.google.com/go/compute/metadata v0.9.0 // indirect\n\tcloud.google.com/go/longrunning v0.6.4 // indirect\n\tgithub.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 // indirect\n\tgithub.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.16 // indirect\n\tgithub.com/aws/aws-sdk-go-v2/internal/configsources v1.4.16 // indirect\n\tgithub.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.16 // indirect\n\tgithub.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 // indirect\n\tgithub.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4 // indirect\n\tgithub.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.16 // indirect\n\tgithub.com/aws/aws-sdk-go-v2/service/signin v1.0.4 // indirect\n\tgithub.com/aws/aws-sdk-go-v2/service/sso v1.30.8 // indirect\n\tgithub.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.12 // indirect\n\tgithub.com/aws/aws-sdk-go-v2/service/sts v1.41.5 // indirect\n\tgithub.com/aws/smithy-go v1.24.0 // indirect\n\tgithub.com/charmbracelet/colorprofile v0.3.3 // indirect\n\tgithub.com/charmbracelet/x/cellbuf v0.0.13 // indirect\n\tgithub.com/clipperhouse/displaywidth v0.4.1 // indirect\n\tgithub.com/clipperhouse/stringish v0.1.1 // indirect\n\tgithub.com/clipperhouse/uax29/v2 v2.3.0 // indirect\n\tgithub.com/coder/websocket v1.8.14 // indirect\n\tgithub.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect\n\tgithub.com/dvonthenen/websocket v1.5.1-dyv.2 // indirect\n\tgithub.com/felixge/httpsnoop v1.0.4 // indirect\n\tgithub.com/go-logr/stdr v1.2.2 // indirect\n\tgithub.com/google/s2a-go v0.1.9 // indirect\n\tgithub.com/google/uuid v1.6.0 // indirect\n\tgithub.com/googleapis/enterprise-certificate-proxy v0.3.7 // indirect\n\tgithub.com/googleapis/gax-go/v2 v2.15.0 // indirect\n\tgithub.com/mitchellh/hashstructure/v2 v2.0.2 // indirect\n\tgithub.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect\n\tgithub.com/tidwall/gjson v1.18.0 // indirect\n\tgithub.com/tidwall/match v1.2.0 // indirect\n\tgithub.com/tidwall/pretty v1.2.1 // indirect\n\tgithub.com/tidwall/sjson v1.2.5 // indirect\n\tgo.opentelemetry.io/auto/sdk v1.2.1 // indirect\n\tgo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 // indirect\n\tgo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 // indirect\n\tgo.opentelemetry.io/otel v1.38.0 // indirect\n\tgo.opentelemetry.io/otel/metric v1.38.0 // indirect\n\tgo.opentelemetry.io/otel/trace v1.38.0 // indirect\n\tgolang.org/x/crypto v0.46.0 // indirect\n\tgolang.org/x/net v0.48.0 // indirect\n\tgolang.org/x/oauth2 v0.34.0 // indirect\n\tgolang.org/x/time v0.14.0 // indirect\n\tgoogle.golang.org/genproto/googleapis/api v0.0.0-20251022142026-3a174f9686a8 // indirect\n\tgoogle.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 // indirect\n\tgoogle.golang.org/grpc v1.77.0 // indirect\n\tgoogle.golang.org/protobuf v1.36.11 // indirect\n)\n\nrequire (\n\tgithub.com/atotto/clipboard v0.1.4 // indirect\n\tgithub.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect\n\n\t// indirect dependencies\n\tgithub.com/catppuccin/go v0.3.0 // indirect\n\tgithub.com/cenkalti/backoff v2.2.1+incompatible // indirect\n\tgithub.com/charmbracelet/bubbles v0.21.1-0.20250623103423-23b8fd6302d7 // indirect\n\tgithub.com/charmbracelet/bubbletea v1.3.10 // indirect\n\tgithub.com/charmbracelet/lipgloss v1.1.0 // indirect\n\tgithub.com/charmbracelet/x/ansi v0.10.3 // indirect\n\tgithub.com/charmbracelet/x/exp/strings v0.0.0-20251106155416-42745044e6bc // indirect\n\tgithub.com/charmbracelet/x/term v0.2.2 // indirect\n\tgithub.com/dustin/go-humanize v1.0.1 // indirect\n\tgithub.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect\n\tgithub.com/go-logr/logr v1.4.3 // indirect\n\tgithub.com/google/go-querystring v1.1.0 // indirect\n\tgithub.com/gorilla/schema v1.4.1 // indirect\n\tgithub.com/lucasb-eyer/go-colorful v1.3.0 // indirect\n\tgithub.com/mattn/go-isatty v0.0.20 // indirect\n\tgithub.com/mattn/go-localereader v0.0.1 // indirect\n\tgithub.com/mattn/go-runewidth v0.0.19 // indirect\n\tgithub.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect\n\tgithub.com/muesli/cancelreader v0.2.2 // indirect\n\tgithub.com/muesli/termenv v0.16.0 // indirect\n\tgithub.com/rivo/uniseg v0.4.7 // indirect\n\tgithub.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect\n\tgolang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect\n\tgolang.org/x/sync v0.19.0 // indirect\n\tgolang.org/x/sys v0.39.0 // indirect\n\tgolang.org/x/text v0.32.0 // indirect\n\tk8s.io/klog/v2 v2.130.1 // indirect\n)\n"
  },
  {
    "path": "go.sum",
    "content": "cloud.google.com/go v0.118.2 h1:bKXO7RXMFDkniAAvvuMrAPtQ/VHrs9e7J5UT3yrGdTY=\ncloud.google.com/go v0.118.2/go.mod h1:CFO4UPEPi8oV21xoezZCrd3d81K4fFkDTEJu4R8K+9M=\ncloud.google.com/go/ai v0.10.0 h1:hwj6CI6sMKubXodoJJGTy/c2T1RbbLGM6TL3QoAvzU8=\ncloud.google.com/go/ai v0.10.0/go.mod h1:kvnt2KeHqX8+41PVeMRBETDyQAp/RFvBWGdx/aGjNMo=\ncloud.google.com/go/auth v0.17.0 h1:74yCm7hCj2rUyyAocqnFzsAYXgJhrG26XCFimrc/Kz4=\ncloud.google.com/go/auth v0.17.0/go.mod h1:6wv/t5/6rOPAX4fJiRjKkJCvswLwdet7G8+UGXt7nCQ=\ncloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc=\ncloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c=\ncloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs=\ncloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10=\ncloud.google.com/go/longrunning v0.6.4 h1:3tyw9rO3E2XVXzSApn1gyEEnH2K9SynNQjMlBi3uHLg=\ncloud.google.com/go/longrunning v0.6.4/go.mod h1:ttZpLCe6e7EXvn9OxpBRx7kZEB0efv8yBO6YnVMfhJs=\ngithub.com/AssemblyAI/assemblyai-go-sdk v1.10.0 h1:JInE2GaIriJtT6HkOOoEtmMKomdzfUJfCdhl46Y8laI=\ngithub.com/AssemblyAI/assemblyai-go-sdk v1.10.0/go.mod h1:dwv8jDdg+UKPU9ClZzhQNXIVj3Yw68IaTVRuyKRLigw=\ngithub.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ=\ngithub.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE=\ngithub.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0=\ngithub.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k=\ngithub.com/alecthomas/kong v1.13.0 h1:5e/7XC3ugvhP1DQBmTS+WuHtCbcv44hsohMgcvVxSrA=\ngithub.com/alecthomas/kong v1.13.0/go.mod h1:wrlbXem1CWqUV5Vbmss5ISYhsVPkBb1Yo7YKJghju2I=\ngithub.com/alecthomas/repr v0.5.2 h1:SU73FTI9D1P5UNtvseffFSGmdNci/O6RsqzeXJtP0Qs=\ngithub.com/alecthomas/repr v0.5.2/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=\ngithub.com/anthropics/anthropic-sdk-go v1.19.0 h1:mO6E+ffSzLRvR/YUH9KJC0uGw0uV8GjISIuzem//3KE=\ngithub.com/anthropics/anthropic-sdk-go v1.19.0/go.mod h1:WTz31rIUHUHqai2UslPpw5CwXrQP3geYBioRV4WOLvE=\ngithub.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4=\ngithub.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI=\ngithub.com/aws/aws-sdk-go-v2 v1.41.0 h1:tNvqh1s+v0vFYdA1xq0aOJH+Y5cRyZ5upu6roPgPKd4=\ngithub.com/aws/aws-sdk-go-v2 v1.41.0/go.mod h1:MayyLB8y+buD9hZqkCW3kX1AKq07Y5pXxtgB+rRFhz0=\ngithub.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 h1:489krEF9xIGkOaaX3CE/Be2uWjiXrkCH6gUX+bZA/BU=\ngithub.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4/go.mod h1:IOAPF6oT9KCsceNTvvYMNHy0+kMF8akOjeDvPENWxp4=\ngithub.com/aws/aws-sdk-go-v2/config v1.32.6 h1:hFLBGUKjmLAekvi1evLi5hVvFQtSo3GYwi+Bx4lpJf8=\ngithub.com/aws/aws-sdk-go-v2/config v1.32.6/go.mod h1:lcUL/gcd8WyjCrMnxez5OXkO3/rwcNmvfno62tnXNcI=\ngithub.com/aws/aws-sdk-go-v2/credentials v1.19.6 h1:F9vWao2TwjV2MyiyVS+duza0NIRtAslgLUM0vTA1ZaE=\ngithub.com/aws/aws-sdk-go-v2/credentials v1.19.6/go.mod h1:SgHzKjEVsdQr6Opor0ihgWtkWdfRAIwxYzSJ8O85VHY=\ngithub.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.16 h1:80+uETIWS1BqjnN9uJ0dBUaETh+P1XwFy5vwHwK5r9k=\ngithub.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.16/go.mod h1:wOOsYuxYuB/7FlnVtzeBYRcjSRtQpAW0hCP7tIULMwo=\ngithub.com/aws/aws-sdk-go-v2/internal/configsources v1.4.16 h1:rgGwPzb82iBYSvHMHXc8h9mRoOUBZIGFgKb9qniaZZc=\ngithub.com/aws/aws-sdk-go-v2/internal/configsources v1.4.16/go.mod h1:L/UxsGeKpGoIj6DxfhOWHWQ/kGKcd4I1VncE4++IyKA=\ngithub.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.16 h1:1jtGzuV7c82xnqOVfx2F0xmJcOw5374L7N6juGW6x6U=\ngithub.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.16/go.mod h1:M2E5OQf+XLe+SZGmmpaI2yy+J326aFf6/+54PoxSANc=\ngithub.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 h1:WKuaxf++XKWlHWu9ECbMlha8WOEGm0OUEZqm4K/Gcfk=\ngithub.com/aws/aws-sdk-go-v2/internal/ini v1.8.4/go.mod h1:ZWy7j6v1vWGmPReu0iSGvRiise4YI5SkR3OHKTZ6Wuc=\ngithub.com/aws/aws-sdk-go-v2/service/bedrockruntime v1.47.1 h1:xryaVPvLLcCf7Y/4beWjOcWxiftorB/KDjtiYORVSNo=\ngithub.com/aws/aws-sdk-go-v2/service/bedrockruntime v1.47.1/go.mod h1:ckSglleOJ2avj81L6vBb70nK51cnhTwvVK1SkLgFtj4=\ngithub.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4 h1:0ryTNEdJbzUCEWkVXEXoqlXV72J5keC1GvILMOuD00E=\ngithub.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4/go.mod h1:HQ4qwNZh32C3CBeO6iJLQlgtMzqeG17ziAA/3KDJFow=\ngithub.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.16 h1:oHjJHeUy0ImIV0bsrX0X91GkV5nJAyv1l1CC9lnO0TI=\ngithub.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.16/go.mod h1:iRSNGgOYmiYwSCXxXaKb9HfOEj40+oTKn8pTxMlYkRM=\ngithub.com/aws/aws-sdk-go-v2/service/signin v1.0.4 h1:HpI7aMmJ+mm1wkSHIA2t5EaFFv5EFYXePW30p1EIrbQ=\ngithub.com/aws/aws-sdk-go-v2/service/signin v1.0.4/go.mod h1:C5RdGMYGlfM0gYq/tifqgn4EbyX99V15P2V3R+VHbQU=\ngithub.com/aws/aws-sdk-go-v2/service/sso v1.30.8 h1:aM/Q24rIlS3bRAhTyFurowU8A0SMyGDtEOY/l/s/1Uw=\ngithub.com/aws/aws-sdk-go-v2/service/sso v1.30.8/go.mod h1:+fWt2UHSb4kS7Pu8y+BMBvJF0EWx+4H0hzNwtDNRTrg=\ngithub.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.12 h1:AHDr0DaHIAo8c9t1emrzAlVDFp+iMMKnPdYy6XO4MCE=\ngithub.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.12/go.mod h1:GQ73XawFFiWxyWXMHWfhiomvP3tXtdNar/fi8z18sx0=\ngithub.com/aws/aws-sdk-go-v2/service/sts v1.41.5 h1:SciGFVNZ4mHdm7gpD1dgZYnCuVdX1s+lFTg4+4DOy70=\ngithub.com/aws/aws-sdk-go-v2/service/sts v1.41.5/go.mod h1:iW40X4QBmUxdP+fZNOpfmkdMZqsovezbAeO+Ubiv2pk=\ngithub.com/aws/smithy-go v1.24.0 h1:LpilSUItNPFr1eY85RYgTIg5eIEPtvFbskaFcmmIUnk=\ngithub.com/aws/smithy-go v1.24.0/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0=\ngithub.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=\ngithub.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=\ngithub.com/aymanbagabas/go-udiff v0.3.1 h1:LV+qyBQ2pqe0u42ZsUEtPiCaUoqgA9gYRDs3vj1nolY=\ngithub.com/aymanbagabas/go-udiff v0.3.1/go.mod h1:G0fsKmG+P6ylD0r6N/KgQD/nWzgfnl8ZBcNLgcbrw8E=\ngithub.com/catppuccin/go v0.3.0 h1:d+0/YicIq+hSTo5oPuRi5kOpqkVA5tAsU6dNhvRu+aY=\ngithub.com/catppuccin/go v0.3.0/go.mod h1:8IHJuMGaUUjQM82qBrGNBv7LFq6JI3NnQCF6MOlZjpc=\ngithub.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4=\ngithub.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=\ngithub.com/charmbracelet/bubbles v0.21.1-0.20250623103423-23b8fd6302d7 h1:JFgG/xnwFfbezlUnFMJy0nusZvytYysV4SCS2cYbvws=\ngithub.com/charmbracelet/bubbles v0.21.1-0.20250623103423-23b8fd6302d7/go.mod h1:ISC1gtLcVilLOf23wvTfoQuYbW2q0JevFxPfUzZ9Ybw=\ngithub.com/charmbracelet/bubbletea v1.3.10 h1:otUDHWMMzQSB0Pkc87rm691KZ3SWa4KUlvF9nRvCICw=\ngithub.com/charmbracelet/bubbletea v1.3.10/go.mod h1:ORQfo0fk8U+po9VaNvnV95UPWA1BitP1E0N6xJPlHr4=\ngithub.com/charmbracelet/colorprofile v0.3.3 h1:DjJzJtLP6/NZ8p7Cgjno0CKGr7wwRJGxWUwh2IyhfAI=\ngithub.com/charmbracelet/colorprofile v0.3.3/go.mod h1:nB1FugsAbzq284eJcjfah2nhdSLppN2NqvfotkfRYP4=\ngithub.com/charmbracelet/huh v0.8.0 h1:Xz/Pm2h64cXQZn/Jvele4J3r7DDiqFCNIVteYukxDvY=\ngithub.com/charmbracelet/huh v0.8.0/go.mod h1:5YVc+SlZ1IhQALxRPpkGwwEKftN/+OlJlnJYlDRFqN4=\ngithub.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=\ngithub.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=\ngithub.com/charmbracelet/x/ansi v0.10.3 h1:3WoV9XN8uMEnFRZZ+vBPRy59TaIWa+gJodS4Vg5Fut0=\ngithub.com/charmbracelet/x/ansi v0.10.3/go.mod h1:uQt8bOrq/xgXjlGcFMc8U2WYbnxyjrKhnvTQluvfCaE=\ngithub.com/charmbracelet/x/cellbuf v0.0.13 h1:/KBBKHuVRbq1lYx5BzEHBAFBP8VcQzJejZ/IA3iR28k=\ngithub.com/charmbracelet/x/cellbuf v0.0.13/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=\ngithub.com/charmbracelet/x/conpty v0.1.0 h1:4zc8KaIcbiL4mghEON8D72agYtSeIgq8FSThSPQIb+U=\ngithub.com/charmbracelet/x/conpty v0.1.0/go.mod h1:rMFsDJoDwVmiYM10aD4bH2XiRgwI7NYJtQgl5yskjEQ=\ngithub.com/charmbracelet/x/errors v0.0.0-20240508181413-e8d8b6e2de86 h1:JSt3B+U9iqk37QUU2Rvb6DSBYRLtWqFqfxf8l5hOZUA=\ngithub.com/charmbracelet/x/errors v0.0.0-20240508181413-e8d8b6e2de86/go.mod h1:2P0UgXMEa6TsToMSuFqKFQR+fZTO9CNGUNokkPatT/0=\ngithub.com/charmbracelet/x/exp/golden v0.0.0-20241011142426-46044092ad91 h1:payRxjMjKgx2PaCWLZ4p3ro9y97+TVLZNaRZgJwSVDQ=\ngithub.com/charmbracelet/x/exp/golden v0.0.0-20241011142426-46044092ad91/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U=\ngithub.com/charmbracelet/x/exp/strings v0.0.0-20251106155416-42745044e6bc h1:BlaReNFLf93gTMJdtcZ5RLeegmW/qepH74tqBY+b1fM=\ngithub.com/charmbracelet/x/exp/strings v0.0.0-20251106155416-42745044e6bc/go.mod h1:/ehtMPNh9K4odGFkqYJKpIYyePhdp1hLBRvyY4bWkH8=\ngithub.com/charmbracelet/x/term v0.2.2 h1:xVRT/S2ZcKdhhOuSP4t5cLi5o+JxklsoEObBSgfgZRk=\ngithub.com/charmbracelet/x/term v0.2.2/go.mod h1:kF8CY5RddLWrsgVwpw4kAa6TESp6EB5y3uxGLeCqzAI=\ngithub.com/charmbracelet/x/termios v0.1.1 h1:o3Q2bT8eqzGnGPOYheoYS8eEleT5ZVNYNy8JawjaNZY=\ngithub.com/charmbracelet/x/termios v0.1.1/go.mod h1:rB7fnv1TgOPOyyKRJ9o+AsTU/vK5WHJ2ivHeut/Pcwo=\ngithub.com/charmbracelet/x/xpty v0.1.2 h1:Pqmu4TEJ8KeA9uSkISKMU3f+C1F6OGBn8ABuGlqCbtI=\ngithub.com/charmbracelet/x/xpty v0.1.2/go.mod h1:XK2Z0id5rtLWcpeNiMYBccNNBrP2IJnzHI0Lq13Xzq4=\ngithub.com/clipperhouse/displaywidth v0.4.1 h1:uVw9V8UDfnggg3K2U84VWY1YLQ/x2aKSCtkRyYozfoU=\ngithub.com/clipperhouse/displaywidth v0.4.1/go.mod h1:R+kHuzaYWFkTm7xoMmK1lFydbci4X2CicfbGstSGg0o=\ngithub.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfatpWHKCs=\ngithub.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA=\ngithub.com/clipperhouse/uax29/v2 v2.3.0 h1:SNdx9DVUqMoBuBoW3iLOj4FQv3dN5mDtuqwuhIGpJy4=\ngithub.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g=\ngithub.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f h1:Y8xYupdHxryycyPlc9Y+bSQAYZnetRJ70VMVKm5CKI0=\ngithub.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f/go.mod h1:HlzOvOjVBOfTGSRXRyY0OiCS/3J1akRGQQpRO/7zyF4=\ngithub.com/coder/websocket v1.8.14 h1:9L0p0iKiNOibykf283eHkKUHHrpG7f65OE3BhhO7v9g=\ngithub.com/coder/websocket v1.8.14/go.mod h1:NX3SzP+inril6yawo5CQXx8+fk145lPDC6pumgx0mVg=\ngithub.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s=\ngithub.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE=\ngithub.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=\ngithub.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=\ngithub.com/deepakjois/groq v0.0.0-20250118174530-0262c383bbb6 h1:8R+GRNhodcNVfXFFbOExWkPRN9D3W4ahi7gLzFj0ens=\ngithub.com/deepakjois/groq v0.0.0-20250118174530-0262c383bbb6/go.mod h1:O53wA/JpiZr628LmB6xRbS52Oo4u9spQ7USdkz/1+JA=\ngithub.com/deepakjois/ytt v0.0.0-20250614130656-34596ccf7d63 h1:gn7Y0vDlNTTISpTyqyAqJCpvgsNeG+pEg1EdTIdXzTU=\ngithub.com/deepakjois/ytt v0.0.0-20250614130656-34596ccf7d63/go.mod h1:10sJT4UpmA1U9aeWkgHpFDAHxmIrN3kShFq9U6cEelo=\ngithub.com/deepgram/deepgram-go-sdk/v2 v2.1.0 h1:BmO+h3mJ/WUnJ+vJzcI7FQH2b0+68RdpJkfWZ/SqX10=\ngithub.com/deepgram/deepgram-go-sdk/v2 v2.1.0/go.mod h1:KZpM7mSAZj9CsyDsppA4l/b7rzt+IE3Ya6BcAcdTTxI=\ngithub.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=\ngithub.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=\ngithub.com/dvonthenen/websocket v1.5.1-dyv.2 h1:OXlWJJkeHt8k4+MEI0Y8SQjY2ihHYD2z/tI7sZZfsnA=\ngithub.com/dvonthenen/websocket v1.5.1-dyv.2/go.mod h1:q2GbopbpFJvBP4iqVvqwwahVmvu2HnCfdqCWDoQVKMM=\ngithub.com/envoyproxy/go-control-plane v0.13.5-0.20251024222203-75eaa193e329 h1:K+fnvUM0VZ7ZFJf0n4L/BRlnsb9pL/GuDG6FqaH+PwM=\ngithub.com/envoyproxy/go-control-plane/envoy v1.35.0 h1:ixjkELDE+ru6idPxcHLj8LBVc2bFP7iBytj353BoHUo=\ngithub.com/envoyproxy/go-control-plane/envoy v1.35.0/go.mod h1:09qwbGVuSWWAyN5t/b3iyVfz5+z8QWGrzkoqm/8SbEs=\ngithub.com/envoyproxy/protoc-gen-validate v1.2.1 h1:DEo3O99U8j4hBFwbJfrz9VtgcDfUKS7KJ7spH3d86P8=\ngithub.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU=\ngithub.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6baUTXGLOoWe4PQhGxaX0KpnayAqC48p4=\ngithub.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM=\ngithub.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=\ngithub.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=\ngithub.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=\ngithub.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=\ngithub.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=\ngithub.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=\ngithub.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=\ngithub.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=\ngithub.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=\ngithub.com/google/generative-ai-go v0.20.1 h1:6dEIujpgN2V0PgLhr6c/M1ynRdc7ARtiIDPFzj45uNQ=\ngithub.com/google/generative-ai-go v0.20.1/go.mod h1:TjOnZJmZKzarWbjUJgy+r3Ee7HGBRVLhOIgupnwR4Bg=\ngithub.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=\ngithub.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=\ngithub.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=\ngithub.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=\ngithub.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=\ngithub.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0=\ngithub.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM=\ngithub.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=\ngithub.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=\ngithub.com/googleapis/enterprise-certificate-proxy v0.3.7 h1:zrn2Ee/nWmHulBx5sAVrGgAa0f2/R35S4DJwfFaUPFQ=\ngithub.com/googleapis/enterprise-certificate-proxy v0.3.7/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA=\ngithub.com/googleapis/gax-go/v2 v2.15.0 h1:SyjDc1mGgZU5LncH8gimWo9lW1DtIfPibOG81vgd/bo=\ngithub.com/googleapis/gax-go/v2 v2.15.0/go.mod h1:zVVkkxAQHa1RQpg9z2AUCMnKhi0Qld9rcmyfL1OZhoc=\ngithub.com/gorilla/schema v1.4.1 h1:jUg5hUjCSDZpNGLuXQOgIWGdlgrIdYvgQ0wZtdK1M3E=\ngithub.com/gorilla/schema v1.4.1/go.mod h1:Dg5SSm5PV60mhF2NFaTV1xuYYj8tV8NOPRo4FggUMnM=\ngithub.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=\ngithub.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=\ngithub.com/lucasb-eyer/go-colorful v1.3.0 h1:2/yBRLdWBZKrf7gB40FoiKfAWYQ0lqNcbuQwVHXptag=\ngithub.com/lucasb-eyer/go-colorful v1.3.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=\ngithub.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=\ngithub.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=\ngithub.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4=\ngithub.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=\ngithub.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw=\ngithub.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs=\ngithub.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4=\ngithub.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE=\ngithub.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI=\ngithub.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo=\ngithub.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA=\ngithub.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo=\ngithub.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=\ngithub.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=\ngithub.com/openai/openai-go v1.12.0 h1:NBQCnXzqOTv5wsgNC36PrFEiskGfO5wccfCWDo9S1U0=\ngithub.com/openai/openai-go v1.12.0/go.mod h1:g461MYGXEXBVdV5SaR/5tNzNbSfwTBBefwc+LlDCK0Y=\ngithub.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=\ngithub.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=\ngithub.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo=\ngithub.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8=\ngithub.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=\ngithub.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=\ngithub.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=\ngithub.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=\ngithub.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=\ngithub.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=\ngithub.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=\ngithub.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY=\ngithub.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=\ngithub.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=\ngithub.com/tidwall/match v1.2.0 h1:0pt8FlkOwjN2fPt4bIl4BoNxb98gGHN2ObFEDkrfZnM=\ngithub.com/tidwall/match v1.2.0/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=\ngithub.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=\ngithub.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4=\ngithub.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=\ngithub.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY=\ngithub.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28=\ngithub.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=\ngithub.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=\ngo.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=\ngo.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=\ngo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 h1:q4XOmH/0opmeuJtPsbFNivyl7bCt7yRBbeEm2sC/XtQ=\ngo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0/go.mod h1:snMWehoOh2wsEwnvvwtDyFCxVeDAODenXHtn5vzrKjo=\ngo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 h1:RbKq8BG0FI8OiXhBfcRtqqHcZcka+gU3cskNuf05R18=\ngo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0/go.mod h1:h06DGIukJOevXaj/xrNjhi/2098RZzcLTbc0jDAUbsg=\ngo.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8=\ngo.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM=\ngo.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA=\ngo.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI=\ngo.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E=\ngo.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg=\ngo.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM=\ngo.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA=\ngo.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE=\ngo.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs=\ngolang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU=\ngolang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0=\ngolang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ=\ngolang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc=\ngolang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU=\ngolang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY=\ngolang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw=\ngolang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=\ngolang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=\ngolang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=\ngolang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk=\ngolang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=\ngolang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU=\ngolang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY=\ngolang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=\ngolang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=\ngolang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=\ngonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=\ngonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=\ngoogle.golang.org/api v0.258.0 h1:IKo1j5FBlN74fe5isA2PVozN3Y5pwNKriEgAXPOkDAc=\ngoogle.golang.org/api v0.258.0/go.mod h1:qhOMTQEZ6lUps63ZNq9jhODswwjkjYYguA7fA3TBFww=\ngoogle.golang.org/genproto v0.0.0-20250603155806-513f23925822 h1:rHWScKit0gvAPuOnu87KpaYtjK5zBMLcULh7gxkCXu4=\ngoogle.golang.org/genproto v0.0.0-20250603155806-513f23925822/go.mod h1:HubltRL7rMh0LfnQPkMH4NPDFEWp0jw3vixw7jEM53s=\ngoogle.golang.org/genproto/googleapis/api v0.0.0-20251022142026-3a174f9686a8 h1:mepRgnBZa07I4TRuomDE4sTIYieg/osKmzIf4USdWS4=\ngoogle.golang.org/genproto/googleapis/api v0.0.0-20251022142026-3a174f9686a8/go.mod h1:fDMmzKV90WSg1NbozdqrE64fkuTv6mlq2zxo9ad+3yo=\ngoogle.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 h1:2I6GHUeJ/4shcDpoUlLs/2WPnhg7yJwvXtqcMJt9liA=\ngoogle.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk=\ngoogle.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM=\ngoogle.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig=\ngoogle.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=\ngoogle.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=\ngopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=\ngopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=\nk8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=\nk8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=\n"
  },
  {
    "path": "groq.go",
    "content": "package main\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/deepakjois/groq\"\n)\n\ntype GroqCmd struct {\n\tFile   string `arg:\"\" help:\"Audio file to transcribe\"`\n\tOutput string `help:\"Path to output transcript file (default: stdout)\" short:\"o\"`\n\tAPIKey string `env:\"GROQ_API_KEY\" default:\"\" hidden:\"\"`\n}\n\nfunc (g *GroqCmd) Run() error {\n\tif g.APIKey == \"\" {\n\t\treturn errors.New(\"API key not found. Please run 'podscript configure' or set the GROQ_API_KEY environment variable\")\n\t}\n\n\tfile, err := os.Open(g.File)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error opening file: %w\", err)\n\t}\n\tdefer file.Close()\n\n\tclient := groq.NewClient(groq.WithAPIKey(g.APIKey))\n\n\tresponse, err := client.CreateTranscription(groq.TranscriptionCreateParams{\n\t\tFile:  file,\n\t\tModel: \"whisper-large-v3\",\n\t})\n\tif err != nil {\n\t\treturn fmt.Errorf(\"transcription failed: %w\", err)\n\t}\n\n\tif g.Output != \"\" {\n\t\tif err = os.WriteFile(g.Output, []byte(response.Text), 0644); err != nil {\n\t\t\treturn fmt.Errorf(\"failed to write transcript: %w\", err)\n\t\t}\n\t} else {\n\t\tfmt.Println(response.Text)\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "hooks/pre-commit",
    "content": "#!/bin/bash\nset -euo pipefail\n\n# Check if there are changes in web/frontend\nif git diff --cached --quiet web/frontend/; then\n    exit 0\nfi\n\necho \"Frontend changes detected. Running lint checks...\"\n\nCURRENT_DIR=$(pwd)\n\n# Navigate to frontend dir and run lint\ncd web/frontend\nif ! npm run lint; then\n    echo \"❌ Frontend lint check failed. Please fix the errors before committing.\"\n    cd \"$CURRENT_DIR\"\n    exit 1\nfi\n\necho \"✅ Frontend lint check passed. Building and copying dist...\"\n\n# Run build\nnpm run build\n\ncd \"$CURRENT_DIR\"\n\n# Stage the new dist files that were outputted by vite\ngit add dist/\n\necho \"All frontend checks passed and dist files updated!\"\nexit 0"
  },
  {
    "path": "llms.go",
    "content": "package main\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\n\t\"github.com/anthropics/anthropic-sdk-go\"\n\tanthropicoption \"github.com/anthropics/anthropic-sdk-go/option\"\n\n\t\"github.com/openai/openai-go\"\n\topenoption \"github.com/openai/openai-go/option\"\n\n\t\"github.com/deepakjois/groq\"\n\n\t\"github.com/aws/aws-sdk-go-v2/aws\"\n\t\"github.com/aws/aws-sdk-go-v2/config\"\n\t\"github.com/aws/aws-sdk-go-v2/credentials\"\n\t\"github.com/aws/aws-sdk-go-v2/service/bedrockruntime\"\n\t\"github.com/aws/aws-sdk-go-v2/service/bedrockruntime/types\"\n\t\"github.com/google/generative-ai-go/genai\"\n\t\"google.golang.org/api/iterator\"\n\t\"google.golang.org/api/option\"\n)\n\ntype LLMProvider string\n\nconst (\n\tOpenAI  LLMProvider = \"openai\"\n\tClaude  LLMProvider = \"claude\"\n\tGroq    LLMProvider = \"groq\"\n\tGemini  LLMProvider = \"gemini\"\n\tBedrock LLMProvider = \"bedrock\"\n)\n\ntype LLMModel string\n\nconst (\n\tGPT4o          LLMModel = \"gpt-4o\"\n\tGPT4oMini      LLMModel = \"gpt-4o-mini\"\n\tClaude37Sonnet LLMModel = \"claude-3-7-sonnet-20250219\"\n\tClaude35Haiku  LLMModel = \"claude-3-5-haiku-20241022\"\n\tLlama3370b     LLMModel = \"llama-3.3-70b-versatile\"\n\tLlama318b      LLMModel = \"llama-3.1-8b-instant\"\n\t// Gemini models\n\tGemini2Flash LLMModel = \"gemini-2.0-flash\"\n\t// Bedrock models\n\tBedrockClaude35Haiku  LLMModel = \"anthropic.claude-3-5-haiku-20241022-v1:0\"\n\tBedrockClaude37Sonnet LLMModel = \"anthropic.claude-3-7-sonnet-20250219-v1:0\"\n)\n\n// output token limits for each model\nvar modelTokenLimits = map[LLMModel]int{\n\tGPT4o:                 16384,\n\tGPT4oMini:             16384,\n\tClaude37Sonnet:        8192,\n\tClaude35Haiku:         8192,\n\tLlama3370b:            32768,\n\tLlama318b:             8192,\n\tGemini2Flash:          8192,\n\tBedrockClaude37Sonnet: 4096,\n\tBedrockClaude35Haiku:  4096,\n}\n\n// CompletionRequest represents a generic completion request\ntype CompletionRequest struct {\n\tSystemPrompt string\n\tUserPrompt   string\n\tModel        LLMModel\n}\n\n// CompletionChunk represents a piece of streamed response\ntype CompletionChunk struct {\n\tText     string\n\tProvider LLMProvider\n\tDone     bool // Indicates if this is the last chunk\n}\n\n// CompletionResponse represents a complete response (for non-streaming requests)\ntype CompletionResponse struct {\n\tText     string\n\tProvider LLMProvider\n}\n\n// LLMClient interface defines the common contract for all LLM providers\ntype LLMClient interface {\n\tComplete(ctx context.Context, req CompletionRequest) (*CompletionResponse, error)\n\tCompleteStream(ctx context.Context, req CompletionRequest) (<-chan CompletionChunk, <-chan error)\n}\n\nfunc NewLLMClient(provider LLMProvider, config Config) (LLMClient, error) {\n\tswitch provider {\n\tcase OpenAI:\n\t\treturn NewOpenAIClient(config.OpenAIAPIKey), nil\n\tcase Claude:\n\t\treturn NewClaudeClient(config.AnthropicAPIKey), nil\n\tcase Groq:\n\t\treturn NewGroqClient(config.GroqAPIKey), nil\n\tcase Gemini:\n\t\treturn NewGeminiClient(config.GeminiAPIKey), nil\n\tcase Bedrock:\n\t\treturn NewBedrockClient(config.AWSRegion, config.AWSAccessKeyID, config.AWSSecretAccessKey, config.AWSSessionToken)\n\tdefault:\n\t\treturn nil, fmt.Errorf(\"unsupported provider: %s\", provider)\n\t}\n}\n\ntype OpenAIClient struct {\n\tclient openai.Client\n}\n\nfunc NewOpenAIClient(apiKey string) *OpenAIClient {\n\treturn &OpenAIClient{\n\t\tclient: openai.NewClient(openoption.WithAPIKey(apiKey)),\n\t}\n}\n\nfunc (c *OpenAIClient) Complete(ctx context.Context, req CompletionRequest) (*CompletionResponse, error) {\n\tresp, err := c.client.Chat.Completions.New(\n\t\tctx,\n\t\topenai.ChatCompletionNewParams{\n\t\t\tModel: openai.ChatModel(string(req.Model)),\n\t\t\tMessages: []openai.ChatCompletionMessageParamUnion{\n\t\t\t\topenai.SystemMessage(req.SystemPrompt),\n\t\t\t\topenai.UserMessage(req.UserPrompt),\n\t\t\t},\n\t\t},\n\t)\n\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn &CompletionResponse{\n\t\tText:     resp.Choices[0].Message.Content,\n\t\tProvider: OpenAI,\n\t}, nil\n}\n\nfunc (c *OpenAIClient) CompleteStream(ctx context.Context, req CompletionRequest) (<-chan CompletionChunk, <-chan error) {\n\tchunkChan := make(chan CompletionChunk)\n\terrChan := make(chan error, 1)\n\n\tgo func() {\n\t\tdefer close(chunkChan)\n\t\tdefer close(errChan)\n\n\t\tstream := c.client.Chat.Completions.NewStreaming(\n\t\t\tctx,\n\t\t\topenai.ChatCompletionNewParams{\n\t\t\t\tModel: openai.ChatModel(string(req.Model)),\n\t\t\t\tMessages: []openai.ChatCompletionMessageParamUnion{\n\t\t\t\t\topenai.SystemMessage(req.SystemPrompt),\n\t\t\t\t\topenai.UserMessage(req.UserPrompt),\n\t\t\t\t},\n\t\t\t},\n\t\t)\n\n\t\tfor stream.Next() {\n\t\t\tchunk := stream.Current()\n\t\t\tif len(chunk.Choices) > 0 {\n\t\t\t\tchunkChan <- CompletionChunk{\n\t\t\t\t\tText:     chunk.Choices[0].Delta.Content,\n\t\t\t\t\tProvider: OpenAI,\n\t\t\t\t\tDone:     false,\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif err := stream.Err(); err != nil {\n\t\t\terrChan <- err\n\t\t\treturn\n\t\t}\n\n\t\t// Send final done chunk\n\t\tchunkChan <- CompletionChunk{\n\t\t\tDone: true,\n\t\t}\n\t}()\n\n\treturn chunkChan, errChan\n}\n\ntype GeminiClient struct {\n\tclient *genai.Client\n\tmodel  *genai.GenerativeModel\n}\n\nfunc NewGeminiClient(apiKey string) *GeminiClient {\n\tctx := context.Background()\n\tclient, err := genai.NewClient(ctx, option.WithAPIKey(apiKey))\n\tif err != nil {\n\t\tpanic(fmt.Sprintf(\"failed to create Gemini client: %v\", err))\n\t}\n\n\tmodel := client.GenerativeModel(\"gemini-2.0-flash\")\n\treturn &GeminiClient{\n\t\tclient: client,\n\t\tmodel:  model,\n\t}\n}\n\nfunc (c *GeminiClient) Complete(ctx context.Context, req CompletionRequest) (*CompletionResponse, error) {\n\tprompt := req.UserPrompt\n\tif req.SystemPrompt != \"\" {\n\t\tprompt = req.SystemPrompt + \"\\n\\n\" + req.UserPrompt\n\t}\n\n\tresp, err := c.model.GenerateContent(ctx, genai.Text(prompt))\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to generate content: %w\", err)\n\t}\n\n\tif len(resp.Candidates) == 0 || len(resp.Candidates[0].Content.Parts) == 0 {\n\t\treturn nil, fmt.Errorf(\"no content in response\")\n\t}\n\n\treturn &CompletionResponse{\n\t\tText:     fmt.Sprint(resp.Candidates[0].Content.Parts[0]),\n\t\tProvider: Gemini,\n\t}, nil\n}\n\nfunc (c *GeminiClient) CompleteStream(ctx context.Context, req CompletionRequest) (<-chan CompletionChunk, <-chan error) {\n\tchunkChan := make(chan CompletionChunk)\n\terrChan := make(chan error, 1)\n\n\tgo func() {\n\t\tdefer close(chunkChan)\n\t\tdefer close(errChan)\n\n\t\tprompt := req.UserPrompt\n\t\tif req.SystemPrompt != \"\" {\n\t\t\tprompt = req.SystemPrompt + \"\\n\\n\" + req.UserPrompt\n\t\t}\n\n\t\titer := c.model.GenerateContentStream(ctx, genai.Text(prompt))\n\t\tfor {\n\t\t\tresp, err := iter.Next()\n\t\t\tif err != nil {\n\t\t\t\tif errors.Is(err, iterator.Done) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\terrChan <- fmt.Errorf(\"stream error: %w\", err)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif len(resp.Candidates) > 0 && len(resp.Candidates[0].Content.Parts) > 0 {\n\t\t\t\tchunkChan <- CompletionChunk{\n\t\t\t\t\tText:     fmt.Sprint(resp.Candidates[0].Content.Parts[0]),\n\t\t\t\t\tProvider: Gemini,\n\t\t\t\t\tDone:     false,\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Send final done chunk\n\t\tchunkChan <- CompletionChunk{\n\t\t\tDone: true,\n\t\t}\n\t}()\n\n\treturn chunkChan, errChan\n}\n\ntype ClaudeClient struct {\n\tclient anthropic.Client\n}\n\nfunc NewClaudeClient(apiKey string) *ClaudeClient {\n\treturn &ClaudeClient{\n\t\tclient: anthropic.NewClient(anthropicoption.WithAPIKey(apiKey)),\n\t}\n}\n\nfunc (c *ClaudeClient) Complete(ctx context.Context, req CompletionRequest) (*CompletionResponse, error) {\n\tparams := anthropic.MessageNewParams{\n\t\tModel:     anthropic.Model(string(req.Model)),\n\t\tMaxTokens: int64(modelTokenLimits[req.Model]),\n\t\tMessages: []anthropic.MessageParam{\n\t\t\tanthropic.NewUserMessage(anthropic.NewTextBlock(req.UserPrompt)),\n\t\t},\n\t}\n\n\tif req.SystemPrompt != \"\" {\n\t\tparams.System = []anthropic.TextBlockParam{\n\t\t\t{Text: req.SystemPrompt},\n\t\t}\n\t}\n\n\tresp, err := c.client.Messages.New(ctx, params)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn &CompletionResponse{\n\t\tText:     resp.Content[0].Text,\n\t\tProvider: Claude,\n\t}, nil\n}\n\nfunc (c *ClaudeClient) CompleteStream(ctx context.Context, req CompletionRequest) (<-chan CompletionChunk, <-chan error) {\n\tchunkChan := make(chan CompletionChunk)\n\terrChan := make(chan error, 1)\n\n\tgo func() {\n\t\tdefer close(chunkChan)\n\t\tdefer close(errChan)\n\n\t\tparams := anthropic.MessageNewParams{\n\t\t\tModel:     anthropic.Model(string(req.Model)),\n\t\t\tMaxTokens: int64(modelTokenLimits[req.Model]),\n\t\t\tMessages: []anthropic.MessageParam{\n\t\t\t\tanthropic.NewUserMessage(anthropic.NewTextBlock(req.UserPrompt)),\n\t\t\t},\n\t\t}\n\n\t\tif req.SystemPrompt != \"\" {\n\t\t\tparams.System = []anthropic.TextBlockParam{\n\t\t\t\t{Text: req.SystemPrompt},\n\t\t\t}\n\t\t}\n\n\t\tstream := c.client.Messages.NewStreaming(ctx, params)\n\t\tmessage := anthropic.Message{}\n\t\tfor stream.Next() {\n\t\t\tevent := stream.Current()\n\t\t\tmessage.Accumulate(event)\n\n\t\t\tif event.Delta.Type == \"content_block_delta\" && event.Delta.Text != \"\" {\n\t\t\t\tchunkChan <- CompletionChunk{\n\t\t\t\t\tText:     event.Delta.Text,\n\t\t\t\t\tProvider: Claude,\n\t\t\t\t\tDone:     false,\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif err := stream.Err(); err != nil {\n\t\t\terrChan <- err\n\t\t\treturn\n\t\t}\n\n\t\t// Send final done chunk\n\t\tchunkChan <- CompletionChunk{\n\t\t\tDone: true,\n\t\t}\n\t}()\n\n\treturn chunkChan, errChan\n}\n\ntype GroqClient struct {\n\tclient *groq.Client\n}\n\nfunc NewGroqClient(apiKey string) *GroqClient {\n\treturn &GroqClient{\n\t\tclient: groq.NewClient(groq.WithAPIKey(apiKey)),\n\t}\n}\n\nfunc (c *GroqClient) Complete(ctx context.Context, req CompletionRequest) (*CompletionResponse, error) {\n\tresp, err := c.client.CreateChatCompletion(groq.CompletionCreateParams{\n\t\tModel: string(req.Model),\n\t\tMessages: []groq.Message{\n\t\t\t{Role: \"system\", Content: req.SystemPrompt},\n\t\t\t{Role: \"user\", Content: req.UserPrompt},\n\t\t},\n\t\tStream: false,\n\t})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn &CompletionResponse{\n\t\tText:     resp.Choices[0].Message.Content,\n\t\tProvider: Groq,\n\t}, nil\n}\n\nfunc (c *GroqClient) CompleteStream(ctx context.Context, req CompletionRequest) (<-chan CompletionChunk, <-chan error) {\n\tchunkChan := make(chan CompletionChunk)\n\terrChan := make(chan error, 1)\n\n\tgo func() {\n\t\tdefer close(chunkChan)\n\t\tdefer close(errChan)\n\n\t\tresp, err := c.client.CreateChatCompletion(groq.CompletionCreateParams{\n\t\t\tModel: string(req.Model),\n\t\t\tMessages: []groq.Message{\n\t\t\t\t{Role: \"system\", Content: req.SystemPrompt},\n\t\t\t\t{Role: \"user\", Content: req.UserPrompt},\n\t\t\t},\n\t\t\tStream: true,\n\t\t})\n\t\tif err != nil {\n\t\t\terrChan <- err\n\t\t\treturn\n\t\t}\n\n\t\tfor chunk := range resp.Stream {\n\t\t\tif len(chunk.Choices) > 0 {\n\t\t\t\tchunkChan <- CompletionChunk{\n\t\t\t\t\tText:     chunk.Choices[0].Delta.Content,\n\t\t\t\t\tProvider: Groq,\n\t\t\t\t\tDone:     false,\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Send final done chunk\n\t\tchunkChan <- CompletionChunk{\n\t\t\tDone: true,\n\t\t}\n\t}()\n\n\treturn chunkChan, errChan\n}\n\ntype BedrockClient struct {\n\tclient      *bedrockruntime.Client\n\ttemperature float32\n}\n\nfunc NewBedrockClient(region, accessKeyID, secretAccessKey string, sessionToken string) (*BedrockClient, error) {\n\tcfg, err := config.LoadDefaultConfig(context.Background(),\n\t\tconfig.WithRegion(region),\n\t\tconfig.WithCredentialsProvider(credentials.NewStaticCredentialsProvider(\n\t\t\taccessKeyID,\n\t\t\tsecretAccessKey,\n\t\t\tsessionToken,\n\t\t)),\n\t)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to load AWS config: %w\", err)\n\t}\n\n\tclient := bedrockruntime.NewFromConfig(cfg)\n\treturn &BedrockClient{\n\t\tclient:      client,\n\t\ttemperature: 0,\n\t}, nil\n}\n\nfunc (c *BedrockClient) buildRequest(req CompletionRequest) BedrockCompletionRequest {\n\treturn BedrockCompletionRequest{\n\t\tAnthropicVersion: BedrockAnthropicVersion,\n\t\tMaxTokens:        modelTokenLimits[req.Model],\n\t\tTemperature:      c.temperature,\n\t\tSystem:           req.SystemPrompt,\n\t\tMessages: []BedrockMessage{\n\t\t\t{\n\t\t\t\tRole: \"user\",\n\t\t\t\tContent: []BedrockMessageBlock{\n\t\t\t\t\t{\n\t\t\t\t\t\tType: \"text\",\n\t\t\t\t\t\tText: req.UserPrompt,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t}\n}\n\nfunc (c *BedrockClient) invokeModel(ctx context.Context, modelID string, body []byte) (*bedrockruntime.InvokeModelOutput, error) {\n\treturn c.client.InvokeModel(ctx, &bedrockruntime.InvokeModelInput{\n\t\tModelId:     aws.String(modelID),\n\t\tContentType: aws.String(BedrockContentType),\n\t\tBody:        body,\n\t})\n}\n\nfunc (c *BedrockClient) invokeModelStream(ctx context.Context, modelID string, body []byte) (*bedrockruntime.InvokeModelWithResponseStreamOutput, error) {\n\treturn c.client.InvokeModelWithResponseStream(ctx, &bedrockruntime.InvokeModelWithResponseStreamInput{\n\t\tModelId:     aws.String(modelID),\n\t\tContentType: aws.String(BedrockContentType),\n\t\tBody:        body,\n\t})\n}\n\nfunc (c *BedrockClient) Complete(ctx context.Context, req CompletionRequest) (*CompletionResponse, error) {\n\tbedrockReq := c.buildRequest(req)\n\tbody, err := json.Marshal(bedrockReq)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to marshal request: %w\", err)\n\t}\n\n\toutput, err := c.invokeModel(ctx, string(req.Model), body)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to invoke model: %w\", err)\n\t}\n\n\tvar response BedrockCompletionResponse\n\tif err := json.Unmarshal(output.Body, &response); err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to unmarshal response: %w\", err)\n\t}\n\n\treturn &CompletionResponse{\n\t\tText:     response.Content[0].Text,\n\t\tProvider: Bedrock,\n\t}, nil\n}\n\nfunc (c *BedrockClient) CompleteStream(ctx context.Context, req CompletionRequest) (<-chan CompletionChunk, <-chan error) {\n\tchunkChan := make(chan CompletionChunk)\n\terrChan := make(chan error, 1)\n\n\tgo func() {\n\t\tdefer close(chunkChan)\n\t\tdefer close(errChan)\n\n\t\tbedrockReq := c.buildRequest(req)\n\t\tbody, err := json.Marshal(bedrockReq)\n\t\tif err != nil {\n\t\t\terrChan <- fmt.Errorf(\"failed to marshal request: %w\", err)\n\t\t\treturn\n\t\t}\n\n\t\toutput, err := c.invokeModelStream(ctx, string(req.Model), body)\n\t\tif err != nil {\n\t\t\terrChan <- fmt.Errorf(\"failed to invoke model: %w\", err)\n\t\t\treturn\n\t\t}\n\n\t\tfor event := range output.GetStream().Events() {\n\t\t\tswitch v := event.(type) {\n\t\t\tcase *types.ResponseStreamMemberChunk:\n\t\t\t\tvar output BedrockStreamCompletionResponse\n\t\t\t\tif err := json.Unmarshal(v.Value.Bytes, &output); err != nil {\n\t\t\t\t\terrChan <- fmt.Errorf(\"failed to decode chunk: %w\", err)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tif output.Type == \"content_block_delta\" && output.Delta.Text != \"\" {\n\t\t\t\t\tchunkChan <- CompletionChunk{\n\t\t\t\t\t\tText:     output.Delta.Text,\n\t\t\t\t\t\tProvider: Bedrock,\n\t\t\t\t\t\tDone:     false,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase *types.UnknownUnionMember:\n\t\t\t\terrChan <- fmt.Errorf(\"unknown response stream event: %s\", v.Tag)\n\t\t\t\treturn\n\t\t\tdefault:\n\t\t\t\tif event == nil {\n\t\t\t\t\terrChan <- fmt.Errorf(\"received nil event\")\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\terrChan <- fmt.Errorf(\"received unknown event type: %T\", event)\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\t// Send final done chunk\n\t\tchunkChan <- CompletionChunk{\n\t\t\tDone: true,\n\t\t}\n\t}()\n\n\treturn chunkChan, errChan\n}\n"
  },
  {
    "path": "main.go",
    "content": "package main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/alecthomas/kong\"\n)\n\nvar cli struct {\n\tConfigure  ConfigureCmd  `cmd:\"\" help:\"Configure podscript with API keys\"`\n\tYTT        YTTCmd        `cmd:\"\" help:\"Transcribe YouTube videos from autogenerated captions\"`\n\tDeepgram   DeepgramCmd   `cmd:\"\" help:\"Transcribe audio using Deepgram API\"`\n\tAssemblyAI AssemblyAICmd `cmd:\"\" help:\"Transcribe audio using AssemblyAI\"`\n\tGroq       GroqCmd       `cmd:\"\" help:\"Transcribe audio using Groq's Whisper API\"`\n\tWeb        WebCmd        `cmd:\"\" help:\"Run web based UI server locally\"`\n}\n\nfunc main() {\n\tctx := kong.Parse(&cli, kong.Configuration(ConfLoader, \"~/.podscript.toml\"))\n\terr := ctx.Run()\n\tif err != nil {\n\t\tfmt.Fprintf(os.Stderr, \"%s\\n\", err)\n\t\tos.Exit(1)\n\t}\n}\n"
  },
  {
    "path": "renovate.json",
    "content": "{\n  \"$schema\": \"https://docs.renovatebot.com/renovate-schema.json\",\n  \"extends\": [\n    \"config:recommended\"\n  ]\n}\n"
  },
  {
    "path": "types.go",
    "content": "package main\n\nconst (\n\tBedrockAnthropicVersion = \"bedrock-2023-05-31\"\n\tBedrockContentType      = \"application/json\"\n)\n\ntype BedrockMetrics struct {\n\tInvocationMetrics struct {\n\t\tInputTokenCount  int `json:\"inputTokenCount\"`\n\t\tOutputTokenCount int `json:\"outputTokenCount\"`\n\t} `json:\"invocationMetrics\"`\n}\n\ntype BedrockMessageBlock struct {\n\tType string `json:\"type\"`\n\tText string `json:\"text\"`\n}\n\ntype BedrockMessage struct {\n\tRole    string                `json:\"role\"`\n\tContent []BedrockMessageBlock `json:\"content\"`\n}\n\ntype BedrockCompletionRequest struct {\n\tAnthropicVersion string           `json:\"anthropic_version\"`\n\tMaxTokens        int              `json:\"max_tokens\"`\n\tTemperature      float32          `json:\"temperature\"`\n\tSystem           string           `json:\"system,omitempty\"`\n\tMessages         []BedrockMessage `json:\"messages\"`\n}\n\ntype BedrockCompletionResponse struct {\n\tContent []struct {\n\t\tText string `json:\"text\"`\n\t} `json:\"content\"`\n\tStopReason string          `json:\"stop_reason\"`\n\tModel      string          `json:\"model\"`\n\tMetrics    *BedrockMetrics `json:\"amazon-bedrock-invocationMetrics\"`\n}\n\ntype BedrockStreamCompletionResponse struct {\n\tType  string `json:\"type\"`\n\tIndex int    `json:\"index\"`\n\tDelta struct {\n\t\tType string `json:\"type\"`\n\t\tText string `json:\"text\"`\n\t} `json:\"delta\"`\n}\n\ntype BedrockConfig struct {\n\tRegion        string\n\tAccessKeyID   string\n\tSecretKey     string\n\tSessionToken  string\n\tTemperature   float32\n\tDefaultSystem string\n}\n"
  },
  {
    "path": "web/Caddyfile",
    "content": "# Caddyfile for podscript web server development.\n#\n# For the backend server, we proxy requests to the Go backend server running on port 5170.\n#\n# For the frontend app, we proxy to the Vite dev server running on port 5173.\n#\n# To run the web server, do the following:\n#\n# - npm run dev in the frontend directory\n# - podscript web --dev in the backend directory\n# - caddy run\n#\n# Then you can access the web server at http://localhost:8080\n:8080 {\n\t# Define a path matcher for the backend API routes\n\t@paths {\n\t\tpath_regexp ^/(settings|models.*|audio|ytt)$\n\t}\n\n\t# Handle all backend API routes - proxy to Go backend server\n\thandle @paths {\n\t\treverse_proxy localhost:5170\n\t}\n\n\t# Handle all other routes - proxy to Vite dev server\n\thandle {\n\t\treverse_proxy localhost:5173\n\t}\n}\n"
  },
  {
    "path": "web/frontend/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\nlerna-debug.log*\n\nnode_modules\n./dist\ndist-ssr\n*.local\n\n# Editor directories and files\n.vscode/*\n!.vscode/extensions.json\n.idea\n.DS_Store\n*.suo\n*.ntvs*\n*.njsproj\n*.sln\n*.sw?\n"
  },
  {
    "path": "web/frontend/.prettierignore",
    "content": "dist\nnode_modules\nbuild\ncoverage\nsrc/components/ui/**\n.vite\n"
  },
  {
    "path": "web/frontend/.prettierrc",
    "content": "{\n  \"semi\": false,\n  \"singleQuote\": true,\n  \"trailingComma\": \"all\",\n  \"tabWidth\": 2,\n  \"printWidth\": 100,\n  \"bracketSpacing\": true,\n  \"arrowParens\": \"avoid\",\n  \"endOfLine\": \"lf\",\n  \"jsxSingleQuote\": false,\n  \"bracketSameLine\": false,\n  \"plugins\": [\"prettier-plugin-tailwindcss\"]\n}\n"
  },
  {
    "path": "web/frontend/README.md",
    "content": "# React + TypeScript + Vite\n\nThis template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.\n\nCurrently, two official plugins are available:\n\n- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh\n- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh\n\n## Expanding the ESLint configuration\n\nIf you are developing a production application, we recommend updating the configuration to enable type aware lint rules:\n\n- Configure the top-level `parserOptions` property like this:\n\n```js\nexport default tseslint.config({\n  languageOptions: {\n    // other options...\n    parserOptions: {\n      project: ['./tsconfig.node.json', './tsconfig.app.json'],\n      tsconfigRootDir: import.meta.dirname,\n    },\n  },\n})\n```\n\n- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked`\n- Optionally add `...tseslint.configs.stylisticTypeChecked`\n- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config:\n\n```js\n// eslint.config.js\nimport react from 'eslint-plugin-react'\n\nexport default tseslint.config({\n  // Set the react version\n  settings: { react: { version: '18.3' } },\n  plugins: {\n    // Add the react plugin\n    react,\n  },\n  rules: {\n    // other rules...\n    // Enable its recommended rules\n    ...react.configs.recommended.rules,\n    ...react.configs['jsx-runtime'].rules,\n  },\n})\n```\n"
  },
  {
    "path": "web/frontend/components.json",
    "content": "{\n  \"$schema\": \"https://ui.shadcn.com/schema.json\",\n  \"style\": \"new-york\",\n  \"rsc\": false,\n  \"tsx\": true,\n  \"tailwind\": {\n    \"config\": \"\",\n    \"css\": \"src/index.css\",\n    \"baseColor\": \"gray\",\n    \"cssVariables\": true,\n    \"prefix\": \"\"\n  },\n  \"aliases\": {\n    \"components\": \"@/components\",\n    \"utils\": \"@/lib/utils\",\n    \"ui\": \"@/components/ui\",\n    \"lib\": \"@/lib\",\n    \"hooks\": \"@/hooks\"\n  },\n  \"iconLibrary\": \"lucide\"\n}\n"
  },
  {
    "path": "web/frontend/dist/assets/index-BW_J7set.css",
    "content": "/*! tailwindcss v4.0.0 | MIT License | https://tailwindcss.com */@layer theme{:root{--font-sans:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-serif:ui-serif,Georgia,Cambria,\"Times New Roman\",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--color-red-50:oklch(.971 .013 17.38);--color-red-100:oklch(.936 .032 17.717);--color-red-200:oklch(.885 .062 18.334);--color-red-300:oklch(.808 .114 19.571);--color-red-400:oklch(.704 .191 22.216);--color-red-500:oklch(.637 .237 25.331);--color-red-600:oklch(.577 .245 27.325);--color-red-700:oklch(.505 .213 27.518);--color-red-800:oklch(.444 .177 26.899);--color-red-900:oklch(.396 .141 25.723);--color-red-950:oklch(.258 .092 26.042);--color-orange-50:oklch(.98 .016 73.684);--color-orange-100:oklch(.954 .038 75.164);--color-orange-200:oklch(.901 .076 70.697);--color-orange-300:oklch(.837 .128 66.29);--color-orange-400:oklch(.75 .183 55.934);--color-orange-500:oklch(.705 .213 47.604);--color-orange-600:oklch(.646 .222 41.116);--color-orange-700:oklch(.553 .195 38.402);--color-orange-800:oklch(.47 .157 37.304);--color-orange-900:oklch(.408 .123 38.172);--color-orange-950:oklch(.266 .079 36.259);--color-amber-50:oklch(.987 .022 95.277);--color-amber-100:oklch(.962 .059 95.617);--color-amber-200:oklch(.924 .12 95.746);--color-amber-300:oklch(.879 .169 91.605);--color-amber-400:oklch(.828 .189 84.429);--color-amber-500:oklch(.769 .188 70.08);--color-amber-600:oklch(.666 .179 58.318);--color-amber-700:oklch(.555 .163 48.998);--color-amber-800:oklch(.473 .137 46.201);--color-amber-900:oklch(.414 .112 45.904);--color-amber-950:oklch(.279 .077 45.635);--color-yellow-50:oklch(.987 .026 102.212);--color-yellow-100:oklch(.973 .071 103.193);--color-yellow-200:oklch(.945 .129 101.54);--color-yellow-300:oklch(.905 .182 98.111);--color-yellow-400:oklch(.852 .199 91.936);--color-yellow-500:oklch(.795 .184 86.047);--color-yellow-600:oklch(.681 .162 75.834);--color-yellow-700:oklch(.554 .135 66.442);--color-yellow-800:oklch(.476 .114 61.907);--color-yellow-900:oklch(.421 .095 57.708);--color-yellow-950:oklch(.286 .066 53.813);--color-lime-50:oklch(.986 .031 120.757);--color-lime-100:oklch(.967 .067 122.328);--color-lime-200:oklch(.938 .127 124.321);--color-lime-300:oklch(.897 .196 126.665);--color-lime-400:oklch(.841 .238 128.85);--color-lime-500:oklch(.768 .233 130.85);--color-lime-600:oklch(.648 .2 131.684);--color-lime-700:oklch(.532 .157 131.589);--color-lime-800:oklch(.453 .124 130.933);--color-lime-900:oklch(.405 .101 131.063);--color-lime-950:oklch(.274 .072 132.109);--color-green-50:oklch(.982 .018 155.826);--color-green-100:oklch(.962 .044 156.743);--color-green-200:oklch(.925 .084 155.995);--color-green-300:oklch(.871 .15 154.449);--color-green-400:oklch(.792 .209 151.711);--color-green-500:oklch(.723 .219 149.579);--color-green-600:oklch(.627 .194 149.214);--color-green-700:oklch(.527 .154 150.069);--color-green-800:oklch(.448 .119 151.328);--color-green-900:oklch(.393 .095 152.535);--color-green-950:oklch(.266 .065 152.934);--color-emerald-50:oklch(.979 .021 166.113);--color-emerald-100:oklch(.95 .052 163.051);--color-emerald-200:oklch(.905 .093 164.15);--color-emerald-300:oklch(.845 .143 164.978);--color-emerald-400:oklch(.765 .177 163.223);--color-emerald-500:oklch(.696 .17 162.48);--color-emerald-600:oklch(.596 .145 163.225);--color-emerald-700:oklch(.508 .118 165.612);--color-emerald-800:oklch(.432 .095 166.913);--color-emerald-900:oklch(.378 .077 168.94);--color-emerald-950:oklch(.262 .051 172.552);--color-teal-50:oklch(.984 .014 180.72);--color-teal-100:oklch(.953 .051 180.801);--color-teal-200:oklch(.91 .096 180.426);--color-teal-300:oklch(.855 .138 181.071);--color-teal-400:oklch(.777 .152 181.912);--color-teal-500:oklch(.704 .14 182.503);--color-teal-600:oklch(.6 .118 184.704);--color-teal-700:oklch(.511 .096 186.391);--color-teal-800:oklch(.437 .078 188.216);--color-teal-900:oklch(.386 .063 188.416);--color-teal-950:oklch(.277 .046 192.524);--color-cyan-50:oklch(.984 .019 200.873);--color-cyan-100:oklch(.956 .045 203.388);--color-cyan-200:oklch(.917 .08 205.041);--color-cyan-300:oklch(.865 .127 207.078);--color-cyan-400:oklch(.789 .154 211.53);--color-cyan-500:oklch(.715 .143 215.221);--color-cyan-600:oklch(.609 .126 221.723);--color-cyan-700:oklch(.52 .105 223.128);--color-cyan-800:oklch(.45 .085 224.283);--color-cyan-900:oklch(.398 .07 227.392);--color-cyan-950:oklch(.302 .056 229.695);--color-sky-50:oklch(.977 .013 236.62);--color-sky-100:oklch(.951 .026 236.824);--color-sky-200:oklch(.901 .058 230.902);--color-sky-300:oklch(.828 .111 230.318);--color-sky-400:oklch(.746 .16 232.661);--color-sky-500:oklch(.685 .169 237.323);--color-sky-600:oklch(.588 .158 241.966);--color-sky-700:oklch(.5 .134 242.749);--color-sky-800:oklch(.443 .11 240.79);--color-sky-900:oklch(.391 .09 240.876);--color-sky-950:oklch(.293 .066 243.157);--color-blue-50:oklch(.97 .014 254.604);--color-blue-100:oklch(.932 .032 255.585);--color-blue-200:oklch(.882 .059 254.128);--color-blue-300:oklch(.809 .105 251.813);--color-blue-400:oklch(.707 .165 254.624);--color-blue-500:oklch(.623 .214 259.815);--color-blue-600:oklch(.546 .245 262.881);--color-blue-700:oklch(.488 .243 264.376);--color-blue-800:oklch(.424 .199 265.638);--color-blue-900:oklch(.379 .146 265.522);--color-blue-950:oklch(.282 .091 267.935);--color-indigo-50:oklch(.962 .018 272.314);--color-indigo-100:oklch(.93 .034 272.788);--color-indigo-200:oklch(.87 .065 274.039);--color-indigo-300:oklch(.785 .115 274.713);--color-indigo-400:oklch(.673 .182 276.935);--color-indigo-500:oklch(.585 .233 277.117);--color-indigo-600:oklch(.511 .262 276.966);--color-indigo-700:oklch(.457 .24 277.023);--color-indigo-800:oklch(.398 .195 277.366);--color-indigo-900:oklch(.359 .144 278.697);--color-indigo-950:oklch(.257 .09 281.288);--color-violet-50:oklch(.969 .016 293.756);--color-violet-100:oklch(.943 .029 294.588);--color-violet-200:oklch(.894 .057 293.283);--color-violet-300:oklch(.811 .111 293.571);--color-violet-400:oklch(.702 .183 293.541);--color-violet-500:oklch(.606 .25 292.717);--color-violet-600:oklch(.541 .281 293.009);--color-violet-700:oklch(.491 .27 292.581);--color-violet-800:oklch(.432 .232 292.759);--color-violet-900:oklch(.38 .189 293.745);--color-violet-950:oklch(.283 .141 291.089);--color-purple-50:oklch(.977 .014 308.299);--color-purple-100:oklch(.946 .033 307.174);--color-purple-200:oklch(.902 .063 306.703);--color-purple-300:oklch(.827 .119 306.383);--color-purple-400:oklch(.714 .203 305.504);--color-purple-500:oklch(.627 .265 303.9);--color-purple-600:oklch(.558 .288 302.321);--color-purple-700:oklch(.496 .265 301.924);--color-purple-800:oklch(.438 .218 303.724);--color-purple-900:oklch(.381 .176 304.987);--color-purple-950:oklch(.291 .149 302.717);--color-fuchsia-50:oklch(.977 .017 320.058);--color-fuchsia-100:oklch(.952 .037 318.852);--color-fuchsia-200:oklch(.903 .076 319.62);--color-fuchsia-300:oklch(.833 .145 321.434);--color-fuchsia-400:oklch(.74 .238 322.16);--color-fuchsia-500:oklch(.667 .295 322.15);--color-fuchsia-600:oklch(.591 .293 322.896);--color-fuchsia-700:oklch(.518 .253 323.949);--color-fuchsia-800:oklch(.452 .211 324.591);--color-fuchsia-900:oklch(.401 .17 325.612);--color-fuchsia-950:oklch(.293 .136 325.661);--color-pink-50:oklch(.971 .014 343.198);--color-pink-100:oklch(.948 .028 342.258);--color-pink-200:oklch(.899 .061 343.231);--color-pink-300:oklch(.823 .12 346.018);--color-pink-400:oklch(.718 .202 349.761);--color-pink-500:oklch(.656 .241 354.308);--color-pink-600:oklch(.592 .249 .584);--color-pink-700:oklch(.525 .223 3.958);--color-pink-800:oklch(.459 .187 3.815);--color-pink-900:oklch(.408 .153 2.432);--color-pink-950:oklch(.284 .109 3.907);--color-rose-50:oklch(.969 .015 12.422);--color-rose-100:oklch(.941 .03 12.58);--color-rose-200:oklch(.892 .058 10.001);--color-rose-300:oklch(.81 .117 11.638);--color-rose-400:oklch(.712 .194 13.428);--color-rose-500:oklch(.645 .246 16.439);--color-rose-600:oklch(.586 .253 17.585);--color-rose-700:oklch(.514 .222 16.935);--color-rose-800:oklch(.455 .188 13.697);--color-rose-900:oklch(.41 .159 10.272);--color-rose-950:oklch(.271 .105 12.094);--color-slate-50:oklch(.984 .003 247.858);--color-slate-100:oklch(.968 .007 247.896);--color-slate-200:oklch(.929 .013 255.508);--color-slate-300:oklch(.869 .022 252.894);--color-slate-400:oklch(.704 .04 256.788);--color-slate-500:oklch(.554 .046 257.417);--color-slate-600:oklch(.446 .043 257.281);--color-slate-700:oklch(.372 .044 257.287);--color-slate-800:oklch(.279 .041 260.031);--color-slate-900:oklch(.208 .042 265.755);--color-slate-950:oklch(.129 .042 264.695);--color-gray-50:oklch(.985 .002 247.839);--color-gray-100:oklch(.967 .003 264.542);--color-gray-200:oklch(.928 .006 264.531);--color-gray-300:oklch(.872 .01 258.338);--color-gray-400:oklch(.707 .022 261.325);--color-gray-500:oklch(.551 .027 264.364);--color-gray-600:oklch(.446 .03 256.802);--color-gray-700:oklch(.373 .034 259.733);--color-gray-800:oklch(.278 .033 256.848);--color-gray-900:oklch(.21 .034 264.665);--color-gray-950:oklch(.13 .028 261.692);--color-zinc-50:oklch(.985 0 0);--color-zinc-100:oklch(.967 .001 286.375);--color-zinc-200:oklch(.92 .004 286.32);--color-zinc-300:oklch(.871 .006 286.286);--color-zinc-400:oklch(.705 .015 286.067);--color-zinc-500:oklch(.552 .016 285.938);--color-zinc-600:oklch(.442 .017 285.786);--color-zinc-700:oklch(.37 .013 285.805);--color-zinc-800:oklch(.274 .006 286.033);--color-zinc-900:oklch(.21 .006 285.885);--color-zinc-950:oklch(.141 .005 285.823);--color-neutral-50:oklch(.985 0 0);--color-neutral-100:oklch(.97 0 0);--color-neutral-200:oklch(.922 0 0);--color-neutral-300:oklch(.87 0 0);--color-neutral-400:oklch(.708 0 0);--color-neutral-500:oklch(.556 0 0);--color-neutral-600:oklch(.439 0 0);--color-neutral-700:oklch(.371 0 0);--color-neutral-800:oklch(.269 0 0);--color-neutral-900:oklch(.205 0 0);--color-neutral-950:oklch(.145 0 0);--color-stone-50:oklch(.985 .001 106.423);--color-stone-100:oklch(.97 .001 106.424);--color-stone-200:oklch(.923 .003 48.717);--color-stone-300:oklch(.869 .005 56.366);--color-stone-400:oklch(.709 .01 56.259);--color-stone-500:oklch(.553 .013 58.071);--color-stone-600:oklch(.444 .011 73.639);--color-stone-700:oklch(.374 .01 67.558);--color-stone-800:oklch(.268 .007 34.298);--color-stone-900:oklch(.216 .006 56.043);--color-stone-950:oklch(.147 .004 49.25);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-2xs:18rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--shadow-2xs:0 1px #0000000d;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--inset-shadow-2xs:inset 0 1px #0000000d;--inset-shadow-xs:inset 0 1px 1px #0000000d;--inset-shadow-sm:inset 0 2px 4px #0000000d;--drop-shadow-xs:0 1px 1px #0000000d;--drop-shadow-sm:0 1px 2px #00000026;--drop-shadow-md:0 3px 3px #0000001f;--drop-shadow-lg:0 4px 4px #00000026;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--perspective-dramatic:100px;--perspective-near:300px;--perspective-normal:500px;--perspective-midrange:800px;--perspective-distant:1200px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.-top-8{top:calc(var(--spacing)*-8)}.top-1\\/2{top:50%}.-right-2{right:calc(var(--spacing)*-2)}.right-2{right:calc(var(--spacing)*2)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-5{height:calc(var(--spacing)*5)}.h-16{height:calc(var(--spacing)*16)}.w-1\\/2{width:50%}.w-5{width:calc(var(--spacing)*5)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-md{max-width:var(--container-md)}.shrink{flex-shrink:1}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-3d{scale:var(--tw-scale-x)var(--tw-scale-y)var(--tw-scale-z)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.columns-2{columns:2}.columns-3{columns:3}.columns-4{columns:4}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-red-50{background-color:var(--color-red-50)}.bg-white{background-color:var(--color-white)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-4{padding-block:calc(var(--spacing)*4)}.pr-10{padding-right:calc(var(--spacing)*10)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-pre-wrap{white-space:pre-wrap}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-gray-400{color:var(--color-gray-400)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.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{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:bg-white\\/\\[0\\.12\\]:hover{background-color:color-mix(in oklab,var(--color-white)12%,transparent)}.hover\\:text-blue-800:hover{color:var(--color-blue-800)}.hover\\:text-gray-600:hover{color:var(--color-gray-600)}.hover\\:text-gray-800:hover{color:var(--color-gray-800)}}.disabled\\:bg-blue-300:disabled{background-color:var(--color-blue-300)}.disabled\\:opacity-50:disabled{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:\"*\";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:\"*\";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:\"*\";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:\"*\";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:\"*\";inherits:false;initial-value:skewY(0)}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}\n"
  },
  {
    "path": "web/frontend/dist/assets/index-bX8PDyqL.js",
    "content": "(function(){const a=document.createElement(\"link\").relList;if(a&&a.supports&&a.supports(\"modulepreload\"))return;for(const h of document.querySelectorAll('link[rel=\"modulepreload\"]'))d(h);new MutationObserver(h=>{for(const w of h)if(w.type===\"childList\")for(const x of w.addedNodes)x.tagName===\"LINK\"&&x.rel===\"modulepreload\"&&d(x)}).observe(document,{childList:!0,subtree:!0});function s(h){const w={};return h.integrity&&(w.integrity=h.integrity),h.referrerPolicy&&(w.referrerPolicy=h.referrerPolicy),h.crossOrigin===\"use-credentials\"?w.credentials=\"include\":h.crossOrigin===\"anonymous\"?w.credentials=\"omit\":w.credentials=\"same-origin\",w}function d(h){if(h.ep)return;h.ep=!0;const w=s(h);fetch(h.href,w)}})();function Vd(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,\"default\")?o.default:o}var Xo={exports:{}},Rr={},Zo={exports:{}},b={};/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var sc;function Bd(){if(sc)return b;sc=1;var o=Symbol.for(\"react.element\"),a=Symbol.for(\"react.portal\"),s=Symbol.for(\"react.fragment\"),d=Symbol.for(\"react.strict_mode\"),h=Symbol.for(\"react.profiler\"),w=Symbol.for(\"react.provider\"),x=Symbol.for(\"react.context\"),N=Symbol.for(\"react.forward_ref\"),T=Symbol.for(\"react.suspense\"),I=Symbol.for(\"react.memo\"),j=Symbol.for(\"react.lazy\"),R=Symbol.iterator;function D(m){return m===null||typeof m!=\"object\"?null:(m=R&&m[R]||m[\"@@iterator\"],typeof m==\"function\"?m:null)}var z={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},V=Object.assign,G={};function Z(m,S,J){this.props=m,this.context=S,this.refs=G,this.updater=J||z}Z.prototype.isReactComponent={},Z.prototype.setState=function(m,S){if(typeof m!=\"object\"&&typeof m!=\"function\"&&m!=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,m,S,\"setState\")},Z.prototype.forceUpdate=function(m){this.updater.enqueueForceUpdate(this,m,\"forceUpdate\")};function X(){}X.prototype=Z.prototype;function B(m,S,J){this.props=m,this.context=S,this.refs=G,this.updater=J||z}var ve=B.prototype=new X;ve.constructor=B,V(ve,Z.prototype),ve.isPureReactComponent=!0;var de=Array.isArray,ye=Object.prototype.hasOwnProperty,oe={current:null},Se={key:!0,ref:!0,__self:!0,__source:!0};function Re(m,S,J){var q,ee={},ne=null,se=null;if(S!=null)for(q in S.ref!==void 0&&(se=S.ref),S.key!==void 0&&(ne=\"\"+S.key),S)ye.call(S,q)&&!Se.hasOwnProperty(q)&&(ee[q]=S[q]);var le=arguments.length-2;if(le===1)ee.children=J;else if(1<le){for(var me=Array(le),Je=0;Je<le;Je++)me[Je]=arguments[Je+2];ee.children=me}if(m&&m.defaultProps)for(q in le=m.defaultProps,le)ee[q]===void 0&&(ee[q]=le[q]);return{$$typeof:o,type:m,key:ne,ref:se,props:ee,_owner:oe.current}}function Be(m,S){return{$$typeof:o,type:m.type,key:S,ref:m.ref,props:m.props,_owner:m._owner}}function ie(m){return typeof m==\"object\"&&m!==null&&m.$$typeof===o}function Me(m){var S={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+m.replace(/[=:]/g,function(J){return S[J]})}var Pe=/\\/+/g;function Ue(m,S){return typeof m==\"object\"&&m!==null&&m.key!=null?Me(\"\"+m.key):S.toString(36)}function We(m,S,J,q,ee){var ne=typeof m;(ne===\"undefined\"||ne===\"boolean\")&&(m=null);var se=!1;if(m===null)se=!0;else switch(ne){case\"string\":case\"number\":se=!0;break;case\"object\":switch(m.$$typeof){case o:case a:se=!0}}if(se)return se=m,ee=ee(se),m=q===\"\"?\".\"+Ue(se,0):q,de(ee)?(J=\"\",m!=null&&(J=m.replace(Pe,\"$&/\")+\"/\"),We(ee,S,J,\"\",function(Je){return Je})):ee!=null&&(ie(ee)&&(ee=Be(ee,J+(!ee.key||se&&se.key===ee.key?\"\":(\"\"+ee.key).replace(Pe,\"$&/\")+\"/\")+m)),S.push(ee)),1;if(se=0,q=q===\"\"?\".\":q+\":\",de(m))for(var le=0;le<m.length;le++){ne=m[le];var me=q+Ue(ne,le);se+=We(ne,S,J,me,ee)}else if(me=D(m),typeof me==\"function\")for(m=me.call(m),le=0;!(ne=m.next()).done;)ne=ne.value,me=q+Ue(ne,le++),se+=We(ne,S,J,me,ee);else if(ne===\"object\")throw S=String(m),Error(\"Objects are not valid as a React child (found: \"+(S===\"[object Object]\"?\"object with keys {\"+Object.keys(m).join(\", \")+\"}\":S)+\"). If you meant to render a collection of children, use an array instead.\");return se}function nt(m,S,J){if(m==null)return m;var q=[],ee=0;return We(m,q,\"\",\"\",function(ne){return S.call(J,ne,ee++)}),q}function Fe(m){if(m._status===-1){var S=m._result;S=S(),S.then(function(J){(m._status===0||m._status===-1)&&(m._status=1,m._result=J)},function(J){(m._status===0||m._status===-1)&&(m._status=2,m._result=J)}),m._status===-1&&(m._status=0,m._result=S)}if(m._status===1)return m._result.default;throw m._result}var pe={current:null},$={transition:null},K={ReactCurrentDispatcher:pe,ReactCurrentBatchConfig:$,ReactCurrentOwner:oe};function F(){throw Error(\"act(...) is not supported in production builds of React.\")}return b.Children={map:nt,forEach:function(m,S,J){nt(m,function(){S.apply(this,arguments)},J)},count:function(m){var S=0;return nt(m,function(){S++}),S},toArray:function(m){return nt(m,function(S){return S})||[]},only:function(m){if(!ie(m))throw Error(\"React.Children.only expected to receive a single React element child.\");return m}},b.Component=Z,b.Fragment=s,b.Profiler=h,b.PureComponent=B,b.StrictMode=d,b.Suspense=T,b.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=K,b.act=F,b.cloneElement=function(m,S,J){if(m==null)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+m+\".\");var q=V({},m.props),ee=m.key,ne=m.ref,se=m._owner;if(S!=null){if(S.ref!==void 0&&(ne=S.ref,se=oe.current),S.key!==void 0&&(ee=\"\"+S.key),m.type&&m.type.defaultProps)var le=m.type.defaultProps;for(me in S)ye.call(S,me)&&!Se.hasOwnProperty(me)&&(q[me]=S[me]===void 0&&le!==void 0?le[me]:S[me])}var me=arguments.length-2;if(me===1)q.children=J;else if(1<me){le=Array(me);for(var Je=0;Je<me;Je++)le[Je]=arguments[Je+2];q.children=le}return{$$typeof:o,type:m.type,key:ee,ref:ne,props:q,_owner:se}},b.createContext=function(m){return m={$$typeof:x,_currentValue:m,_currentValue2:m,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},m.Provider={$$typeof:w,_context:m},m.Consumer=m},b.createElement=Re,b.createFactory=function(m){var S=Re.bind(null,m);return S.type=m,S},b.createRef=function(){return{current:null}},b.forwardRef=function(m){return{$$typeof:N,render:m}},b.isValidElement=ie,b.lazy=function(m){return{$$typeof:j,_payload:{_status:-1,_result:m},_init:Fe}},b.memo=function(m,S){return{$$typeof:I,type:m,compare:S===void 0?null:S}},b.startTransition=function(m){var S=$.transition;$.transition={};try{m()}finally{$.transition=S}},b.unstable_act=F,b.useCallback=function(m,S){return pe.current.useCallback(m,S)},b.useContext=function(m){return pe.current.useContext(m)},b.useDebugValue=function(){},b.useDeferredValue=function(m){return pe.current.useDeferredValue(m)},b.useEffect=function(m,S){return pe.current.useEffect(m,S)},b.useId=function(){return pe.current.useId()},b.useImperativeHandle=function(m,S,J){return pe.current.useImperativeHandle(m,S,J)},b.useInsertionEffect=function(m,S){return pe.current.useInsertionEffect(m,S)},b.useLayoutEffect=function(m,S){return pe.current.useLayoutEffect(m,S)},b.useMemo=function(m,S){return pe.current.useMemo(m,S)},b.useReducer=function(m,S,J){return pe.current.useReducer(m,S,J)},b.useRef=function(m){return pe.current.useRef(m)},b.useState=function(m){return pe.current.useState(m)},b.useSyncExternalStore=function(m,S,J){return pe.current.useSyncExternalStore(m,S,J)},b.useTransition=function(){return pe.current.useTransition()},b.version=\"18.3.1\",b}var ac;function ai(){return ac||(ac=1,Zo.exports=Bd()),Zo.exports}/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var cc;function Wd(){if(cc)return Rr;cc=1;var o=ai(),a=Symbol.for(\"react.element\"),s=Symbol.for(\"react.fragment\"),d=Object.prototype.hasOwnProperty,h=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,w={key:!0,ref:!0,__self:!0,__source:!0};function x(N,T,I){var j,R={},D=null,z=null;I!==void 0&&(D=\"\"+I),T.key!==void 0&&(D=\"\"+T.key),T.ref!==void 0&&(z=T.ref);for(j in T)d.call(T,j)&&!w.hasOwnProperty(j)&&(R[j]=T[j]);if(N&&N.defaultProps)for(j in T=N.defaultProps,T)R[j]===void 0&&(R[j]=T[j]);return{$$typeof:a,type:N,key:D,ref:z,props:R,_owner:h.current}}return Rr.Fragment=s,Rr.jsx=x,Rr.jsxs=x,Rr}var fc;function Qd(){return fc||(fc=1,Xo.exports=Wd()),Xo.exports}var P=Qd(),C=ai();const $t=Vd(C);var Jl={},Jo={exports:{}},Ze={},qo={exports:{}},bo={};/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var dc;function Kd(){return dc||(dc=1,function(o){function a($,K){var F=$.length;$.push(K);e:for(;0<F;){var m=F-1>>>1,S=$[m];if(0<h(S,K))$[m]=K,$[F]=S,F=m;else break e}}function s($){return $.length===0?null:$[0]}function d($){if($.length===0)return null;var K=$[0],F=$.pop();if(F!==K){$[0]=F;e:for(var m=0,S=$.length,J=S>>>1;m<J;){var q=2*(m+1)-1,ee=$[q],ne=q+1,se=$[ne];if(0>h(ee,F))ne<S&&0>h(se,ee)?($[m]=se,$[ne]=F,m=ne):($[m]=ee,$[q]=F,m=q);else if(ne<S&&0>h(se,F))$[m]=se,$[ne]=F,m=ne;else break e}}return K}function h($,K){var F=$.sortIndex-K.sortIndex;return F!==0?F:$.id-K.id}if(typeof performance==\"object\"&&typeof performance.now==\"function\"){var w=performance;o.unstable_now=function(){return w.now()}}else{var x=Date,N=x.now();o.unstable_now=function(){return x.now()-N}}var T=[],I=[],j=1,R=null,D=3,z=!1,V=!1,G=!1,Z=typeof setTimeout==\"function\"?setTimeout:null,X=typeof clearTimeout==\"function\"?clearTimeout:null,B=typeof setImmediate<\"u\"?setImmediate:null;typeof navigator<\"u\"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function ve($){for(var K=s(I);K!==null;){if(K.callback===null)d(I);else if(K.startTime<=$)d(I),K.sortIndex=K.expirationTime,a(T,K);else break;K=s(I)}}function de($){if(G=!1,ve($),!V)if(s(T)!==null)V=!0,Fe(ye);else{var K=s(I);K!==null&&pe(de,K.startTime-$)}}function ye($,K){V=!1,G&&(G=!1,X(Re),Re=-1),z=!0;var F=D;try{for(ve(K),R=s(T);R!==null&&(!(R.expirationTime>K)||$&&!Me());){var m=R.callback;if(typeof m==\"function\"){R.callback=null,D=R.priorityLevel;var S=m(R.expirationTime<=K);K=o.unstable_now(),typeof S==\"function\"?R.callback=S:R===s(T)&&d(T),ve(K)}else d(T);R=s(T)}if(R!==null)var J=!0;else{var q=s(I);q!==null&&pe(de,q.startTime-K),J=!1}return J}finally{R=null,D=F,z=!1}}var oe=!1,Se=null,Re=-1,Be=5,ie=-1;function Me(){return!(o.unstable_now()-ie<Be)}function Pe(){if(Se!==null){var $=o.unstable_now();ie=$;var K=!0;try{K=Se(!0,$)}finally{K?Ue():(oe=!1,Se=null)}}else oe=!1}var Ue;if(typeof B==\"function\")Ue=function(){B(Pe)};else if(typeof MessageChannel<\"u\"){var We=new MessageChannel,nt=We.port2;We.port1.onmessage=Pe,Ue=function(){nt.postMessage(null)}}else Ue=function(){Z(Pe,0)};function Fe($){Se=$,oe||(oe=!0,Ue())}function pe($,K){Re=Z(function(){$(o.unstable_now())},K)}o.unstable_IdlePriority=5,o.unstable_ImmediatePriority=1,o.unstable_LowPriority=4,o.unstable_NormalPriority=3,o.unstable_Profiling=null,o.unstable_UserBlockingPriority=2,o.unstable_cancelCallback=function($){$.callback=null},o.unstable_continueExecution=function(){V||z||(V=!0,Fe(ye))},o.unstable_forceFrameRate=function($){0>$||125<$?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):Be=0<$?Math.floor(1e3/$):5},o.unstable_getCurrentPriorityLevel=function(){return D},o.unstable_getFirstCallbackNode=function(){return s(T)},o.unstable_next=function($){switch(D){case 1:case 2:case 3:var K=3;break;default:K=D}var F=D;D=K;try{return $()}finally{D=F}},o.unstable_pauseExecution=function(){},o.unstable_requestPaint=function(){},o.unstable_runWithPriority=function($,K){switch($){case 1:case 2:case 3:case 4:case 5:break;default:$=3}var F=D;D=$;try{return K()}finally{D=F}},o.unstable_scheduleCallback=function($,K,F){var m=o.unstable_now();switch(typeof F==\"object\"&&F!==null?(F=F.delay,F=typeof F==\"number\"&&0<F?m+F:m):F=m,$){case 1:var S=-1;break;case 2:S=250;break;case 5:S=1073741823;break;case 4:S=1e4;break;default:S=5e3}return S=F+S,$={id:j++,callback:K,priorityLevel:$,startTime:F,expirationTime:S,sortIndex:-1},F>m?($.sortIndex=F,a(I,$),s(T)===null&&$===s(I)&&(G?(X(Re),Re=-1):G=!0,pe(de,F-m))):($.sortIndex=S,a(T,$),V||z||(V=!0,Fe(ye))),$},o.unstable_shouldYield=Me,o.unstable_wrapCallback=function($){var K=D;return function(){var F=D;D=K;try{return $.apply(this,arguments)}finally{D=F}}}}(bo)),bo}var pc;function Yd(){return pc||(pc=1,qo.exports=Kd()),qo.exports}/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var mc;function Gd(){if(mc)return Ze;mc=1;var o=ai(),a=Yd();function s(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,n=1;n<arguments.length;n++)t+=\"&args[]=\"+encodeURIComponent(arguments[n]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var d=new Set,h={};function w(e,t){x(e,t),x(e+\"Capture\",t)}function x(e,t){for(h[e]=t,e=0;e<t.length;e++)d.add(t[e])}var N=!(typeof window>\"u\"||typeof window.document>\"u\"||typeof window.document.createElement>\"u\"),T=Object.prototype.hasOwnProperty,I=/^[: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]*$/,j={},R={};function D(e){return T.call(R,e)?!0:T.call(j,e)?!1:I.test(e)?R[e]=!0:(j[e]=!0,!1)}function z(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!==\"data-\"&&e!==\"aria-\");default:return!1}}function V(e,t,n,r){if(t===null||typeof t>\"u\"||z(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.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 G(e,t,n,r,l,u,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=u,this.removeEmptyString=i}var Z={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(e){Z[e]=new G(e,0,!1,e,null,!1,!1)}),[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(e){var t=e[0];Z[t]=new G(t,1,!1,e[1],null,!1,!1)}),[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(e){Z[e]=new G(e,2,!1,e.toLowerCase(),null,!1,!1)}),[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(e){Z[e]=new G(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){Z[e]=new G(e,3,!1,e.toLowerCase(),null,!1,!1)}),[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(e){Z[e]=new G(e,3,!0,e,null,!1,!1)}),[\"capture\",\"download\"].forEach(function(e){Z[e]=new G(e,4,!1,e,null,!1,!1)}),[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(e){Z[e]=new G(e,6,!1,e,null,!1,!1)}),[\"rowSpan\",\"start\"].forEach(function(e){Z[e]=new G(e,5,!1,e.toLowerCase(),null,!1,!1)});var X=/[\\-:]([a-z])/g;function B(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(X,B);Z[t]=new G(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(X,B);Z[t]=new G(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(X,B);Z[t]=new G(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}),[\"tabIndex\",\"crossOrigin\"].forEach(function(e){Z[e]=new G(e,1,!1,e.toLowerCase(),null,!1,!1)}),Z.xlinkHref=new G(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1),[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(e){Z[e]=new G(e,1,!1,e.toLowerCase(),null,!0,!0)});function ve(e,t,n,r){var l=Z.hasOwnProperty(t)?Z[t]:null;(l!==null?l.type!==0:r||!(2<t.length)||t[0]!==\"o\"&&t[0]!==\"O\"||t[1]!==\"n\"&&t[1]!==\"N\")&&(V(t,n,l,r)&&(n=null),r||l===null?D(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,\"\"+n)):l.mustUseProperty?e[l.propertyName]=n===null?l.type===3?!1:\"\":n:(t=l.attributeName,r=l.attributeNamespace,n===null?e.removeAttribute(t):(l=l.type,n=l===3||l===4&&n===!0?\"\":\"\"+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var de=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,ye=Symbol.for(\"react.element\"),oe=Symbol.for(\"react.portal\"),Se=Symbol.for(\"react.fragment\"),Re=Symbol.for(\"react.strict_mode\"),Be=Symbol.for(\"react.profiler\"),ie=Symbol.for(\"react.provider\"),Me=Symbol.for(\"react.context\"),Pe=Symbol.for(\"react.forward_ref\"),Ue=Symbol.for(\"react.suspense\"),We=Symbol.for(\"react.suspense_list\"),nt=Symbol.for(\"react.memo\"),Fe=Symbol.for(\"react.lazy\"),pe=Symbol.for(\"react.offscreen\"),$=Symbol.iterator;function K(e){return e===null||typeof e!=\"object\"?null:(e=$&&e[$]||e[\"@@iterator\"],typeof e==\"function\"?e:null)}var F=Object.assign,m;function S(e){if(m===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\\n( *(at )?)/);m=t&&t[1]||\"\"}return`\n`+m+e}var J=!1;function q(e,t){if(!e||J)return\"\";J=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,\"props\",{set:function(){throw Error()}}),typeof Reflect==\"object\"&&Reflect.construct){try{Reflect.construct(t,[])}catch(g){var r=g}Reflect.construct(e,[],t)}else{try{t.call()}catch(g){r=g}e.call(t.prototype)}else{try{throw Error()}catch(g){r=g}e()}}catch(g){if(g&&r&&typeof g.stack==\"string\"){for(var l=g.stack.split(`\n`),u=r.stack.split(`\n`),i=l.length-1,c=u.length-1;1<=i&&0<=c&&l[i]!==u[c];)c--;for(;1<=i&&0<=c;i--,c--)if(l[i]!==u[c]){if(i!==1||c!==1)do if(i--,c--,0>c||l[i]!==u[c]){var f=`\n`+l[i].replace(\" at new \",\" at \");return e.displayName&&f.includes(\"<anonymous>\")&&(f=f.replace(\"<anonymous>\",e.displayName)),f}while(1<=i&&0<=c);break}}}finally{J=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:\"\")?S(e):\"\"}function ee(e){switch(e.tag){case 5:return S(e.type);case 16:return S(\"Lazy\");case 13:return S(\"Suspense\");case 19:return S(\"SuspenseList\");case 0:case 2:case 15:return e=q(e.type,!1),e;case 11:return e=q(e.type.render,!1),e;case 1:return e=q(e.type,!0),e;default:return\"\"}}function ne(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 Se:return\"Fragment\";case oe:return\"Portal\";case Be:return\"Profiler\";case Re:return\"StrictMode\";case Ue:return\"Suspense\";case We:return\"SuspenseList\"}if(typeof e==\"object\")switch(e.$$typeof){case Me:return(e.displayName||\"Context\")+\".Consumer\";case ie:return(e._context.displayName||\"Context\")+\".Provider\";case Pe:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||\"\",e=e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\"),e;case nt:return t=e.displayName||null,t!==null?t:ne(e.type)||\"Memo\";case Fe:t=e._payload,e=e._init;try{return ne(e(t))}catch{}}return null}function se(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 ne(t);case 8:return t===Re?\"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 le(e){switch(typeof e){case\"boolean\":case\"number\":case\"string\":case\"undefined\":return e;case\"object\":return e;default:return\"\"}}function me(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===\"input\"&&(t===\"checkbox\"||t===\"radio\")}function Je(e){var t=me(e)?\"checked\":\"value\",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=\"\"+e[t];if(!e.hasOwnProperty(t)&&typeof n<\"u\"&&typeof n.get==\"function\"&&typeof n.set==\"function\"){var l=n.get,u=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(i){r=\"\"+i,u.call(this,i)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(i){r=\"\"+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Hr(e){e._valueTracker||(e._valueTracker=Je(e))}function mi(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=\"\";return e&&(r=me(e)?e.checked?\"true\":\"false\":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Vr(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 tu(e,t){var n=t.checked;return F({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function hi(e,t){var n=t.defaultValue==null?\"\":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=le(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type===\"checkbox\"||t.type===\"radio\"?t.checked!=null:t.value!=null}}function vi(e,t){t=t.checked,t!=null&&ve(e,\"checked\",t,!1)}function nu(e,t){vi(e,t);var n=le(t.value),r=t.type;if(n!=null)r===\"number\"?(n===0&&e.value===\"\"||e.value!=n)&&(e.value=\"\"+n):e.value!==\"\"+n&&(e.value=\"\"+n);else if(r===\"submit\"||r===\"reset\"){e.removeAttribute(\"value\");return}t.hasOwnProperty(\"value\")?ru(e,t.type,n):t.hasOwnProperty(\"defaultValue\")&&ru(e,t.type,le(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function yi(e,t,n){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var r=t.type;if(!(r!==\"submit\"&&r!==\"reset\"||t.value!==void 0&&t.value!==null))return;t=\"\"+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==\"\"&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,n!==\"\"&&(e.name=n)}function ru(e,t,n){(t!==\"number\"||Vr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+n&&(e.defaultValue=\"\"+n))}var Xn=Array.isArray;function vn(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t[\"$\"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty(\"$\"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&r&&(e[n].defaultSelected=!0)}else{for(n=\"\"+le(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,r&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function lu(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(s(91));return F({},t,{value:void 0,defaultValue:void 0,children:\"\"+e._wrapperState.initialValue})}function gi(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(s(92));if(Xn(n)){if(1<n.length)throw Error(s(93));n=n[0]}t=n}t==null&&(t=\"\"),n=t}e._wrapperState={initialValue:le(n)}}function wi(e,t){var n=le(t.value),r=le(t.defaultValue);n!=null&&(n=\"\"+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=\"\"+r)}function Si(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==\"\"&&t!==null&&(e.value=t)}function xi(e){switch(e){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function uu(e,t){return e==null||e===\"http://www.w3.org/1999/xhtml\"?xi(t):e===\"http://www.w3.org/2000/svg\"&&t===\"foreignObject\"?\"http://www.w3.org/1999/xhtml\":e}var Br,ki=function(e){return typeof MSApp<\"u\"&&MSApp.execUnsafeLocalFunction?function(t,n,r,l){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,l)})}:e}(function(e,t){if(e.namespaceURI!==\"http://www.w3.org/2000/svg\"||\"innerHTML\"in e)e.innerHTML=t;else{for(Br=Br||document.createElement(\"div\"),Br.innerHTML=\"<svg>\"+t.valueOf().toString()+\"</svg>\",t=Br.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Zn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Jn={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},Kc=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(Jn).forEach(function(e){Kc.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Jn[t]=Jn[e]})});function Ei(e,t,n){return t==null||typeof t==\"boolean\"||t===\"\"?\"\":n||typeof t!=\"number\"||t===0||Jn.hasOwnProperty(e)&&Jn[e]?(\"\"+t).trim():t+\"px\"}function Ci(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf(\"--\")===0,l=Ei(n,t[n],r);n===\"float\"&&(n=\"cssFloat\"),r?e.setProperty(n,l):e[n]=l}}var Yc=F({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 ou(e,t){if(t){if(Yc[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(s(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(s(60));if(typeof t.dangerouslySetInnerHTML!=\"object\"||!(\"__html\"in t.dangerouslySetInnerHTML))throw Error(s(61))}if(t.style!=null&&typeof t.style!=\"object\")throw Error(s(62))}}function iu(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 su=null;function au(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var cu=null,yn=null,gn=null;function _i(e){if(e=wr(e)){if(typeof cu!=\"function\")throw Error(s(280));var t=e.stateNode;t&&(t=dl(t),cu(e.stateNode,e.type,t))}}function Ni(e){yn?gn?gn.push(e):gn=[e]:yn=e}function Pi(){if(yn){var e=yn,t=gn;if(gn=yn=null,_i(e),t)for(e=0;e<t.length;e++)_i(t[e])}}function Ti(e,t){return e(t)}function Li(){}var fu=!1;function ji(e,t,n){if(fu)return e(t,n);fu=!0;try{return Ti(e,t,n)}finally{fu=!1,(yn!==null||gn!==null)&&(Li(),Pi())}}function qn(e,t){var n=e.stateNode;if(n===null)return null;var r=dl(n);if(r===null)return null;n=r[t];e:switch(t){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":case\"onMouseEnter\":(r=!r.disabled)||(e=e.type,r=!(e===\"button\"||e===\"input\"||e===\"select\"||e===\"textarea\")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!=\"function\")throw Error(s(231,t,typeof n));return n}var du=!1;if(N)try{var bn={};Object.defineProperty(bn,\"passive\",{get:function(){du=!0}}),window.addEventListener(\"test\",bn,bn),window.removeEventListener(\"test\",bn,bn)}catch{du=!1}function Gc(e,t,n,r,l,u,i,c,f){var g=Array.prototype.slice.call(arguments,3);try{t.apply(n,g)}catch(E){this.onError(E)}}var er=!1,Wr=null,Qr=!1,pu=null,Xc={onError:function(e){er=!0,Wr=e}};function Zc(e,t,n,r,l,u,i,c,f){er=!1,Wr=null,Gc.apply(Xc,arguments)}function Jc(e,t,n,r,l,u,i,c,f){if(Zc.apply(this,arguments),er){if(er){var g=Wr;er=!1,Wr=null}else throw Error(s(198));Qr||(Qr=!0,pu=g)}}function bt(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function Fi(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function zi(e){if(bt(e)!==e)throw Error(s(188))}function qc(e){var t=e.alternate;if(!t){if(t=bt(e),t===null)throw Error(s(188));return t!==e?null:e}for(var n=e,r=t;;){var l=n.return;if(l===null)break;var u=l.alternate;if(u===null){if(r=l.return,r!==null){n=r;continue}break}if(l.child===u.child){for(u=l.child;u;){if(u===n)return zi(l),e;if(u===r)return zi(l),t;u=u.sibling}throw Error(s(188))}if(n.return!==r.return)n=l,r=u;else{for(var i=!1,c=l.child;c;){if(c===n){i=!0,n=l,r=u;break}if(c===r){i=!0,r=l,n=u;break}c=c.sibling}if(!i){for(c=u.child;c;){if(c===n){i=!0,n=u,r=l;break}if(c===r){i=!0,r=u,n=l;break}c=c.sibling}if(!i)throw Error(s(189))}}if(n.alternate!==r)throw Error(s(190))}if(n.tag!==3)throw Error(s(188));return n.stateNode.current===n?e:t}function $i(e){return e=qc(e),e!==null?Ri(e):null}function Ri(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Ri(e);if(t!==null)return t;e=e.sibling}return null}var Mi=a.unstable_scheduleCallback,Ii=a.unstable_cancelCallback,bc=a.unstable_shouldYield,ef=a.unstable_requestPaint,ke=a.unstable_now,tf=a.unstable_getCurrentPriorityLevel,mu=a.unstable_ImmediatePriority,Oi=a.unstable_UserBlockingPriority,Kr=a.unstable_NormalPriority,nf=a.unstable_LowPriority,Di=a.unstable_IdlePriority,Yr=null,wt=null;function rf(e){if(wt&&typeof wt.onCommitFiberRoot==\"function\")try{wt.onCommitFiberRoot(Yr,e,void 0,(e.current.flags&128)===128)}catch{}}var ct=Math.clz32?Math.clz32:of,lf=Math.log,uf=Math.LN2;function of(e){return e>>>=0,e===0?32:31-(lf(e)/uf|0)|0}var Gr=64,Xr=4194304;function tr(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 Zr(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,u=e.pingedLanes,i=n&268435455;if(i!==0){var c=i&~l;c!==0?r=tr(c):(u&=i,u!==0&&(r=tr(u)))}else i=n&~l,i!==0?r=tr(i):u!==0&&(r=tr(u));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,u=t&-t,l>=u||l===16&&(u&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-ct(t),l=1<<n,r|=e[n],t&=~l;return r}function sf(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 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 t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function af(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,l=e.expirationTimes,u=e.pendingLanes;0<u;){var i=31-ct(u),c=1<<i,f=l[i];f===-1?(!(c&n)||c&r)&&(l[i]=sf(c,t)):f<=t&&(e.expiredLanes|=c),u&=~c}}function hu(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Ai(){var e=Gr;return Gr<<=1,!(Gr&4194240)&&(Gr=64),e}function vu(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function nr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-ct(t),e[t]=n}function cf(e,t){var n=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 r=e.eventTimes;for(e=e.expirationTimes;0<n;){var l=31-ct(n),u=1<<l;t[l]=0,r[l]=-1,e[l]=-1,n&=~u}}function yu(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ct(n),l=1<<r;l&t|e[r]&t&&(e[r]|=t),n&=~l}}var ue=0;function Ui(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Hi,gu,Vi,Bi,Wi,wu=!1,Jr=[],Rt=null,Mt=null,It=null,rr=new Map,lr=new Map,Ot=[],ff=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");function Qi(e,t){switch(e){case\"focusin\":case\"focusout\":Rt=null;break;case\"dragenter\":case\"dragleave\":Mt=null;break;case\"mouseover\":case\"mouseout\":It=null;break;case\"pointerover\":case\"pointerout\":rr.delete(t.pointerId);break;case\"gotpointercapture\":case\"lostpointercapture\":lr.delete(t.pointerId)}}function ur(e,t,n,r,l,u){return e===null||e.nativeEvent!==u?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:u,targetContainers:[l]},t!==null&&(t=wr(t),t!==null&&gu(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function df(e,t,n,r,l){switch(t){case\"focusin\":return Rt=ur(Rt,e,t,n,r,l),!0;case\"dragenter\":return Mt=ur(Mt,e,t,n,r,l),!0;case\"mouseover\":return It=ur(It,e,t,n,r,l),!0;case\"pointerover\":var u=l.pointerId;return rr.set(u,ur(rr.get(u)||null,e,t,n,r,l)),!0;case\"gotpointercapture\":return u=l.pointerId,lr.set(u,ur(lr.get(u)||null,e,t,n,r,l)),!0}return!1}function Ki(e){var t=en(e.target);if(t!==null){var n=bt(t);if(n!==null){if(t=n.tag,t===13){if(t=Fi(n),t!==null){e.blockedOn=t,Wi(e.priority,function(){Vi(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function qr(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=xu(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);su=r,n.target.dispatchEvent(r),su=null}else return t=wr(n),t!==null&&gu(t),e.blockedOn=n,!1;t.shift()}return!0}function Yi(e,t,n){qr(e)&&n.delete(t)}function pf(){wu=!1,Rt!==null&&qr(Rt)&&(Rt=null),Mt!==null&&qr(Mt)&&(Mt=null),It!==null&&qr(It)&&(It=null),rr.forEach(Yi),lr.forEach(Yi)}function or(e,t){e.blockedOn===t&&(e.blockedOn=null,wu||(wu=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,pf)))}function ir(e){function t(l){return or(l,e)}if(0<Jr.length){or(Jr[0],e);for(var n=1;n<Jr.length;n++){var r=Jr[n];r.blockedOn===e&&(r.blockedOn=null)}}for(Rt!==null&&or(Rt,e),Mt!==null&&or(Mt,e),It!==null&&or(It,e),rr.forEach(t),lr.forEach(t),n=0;n<Ot.length;n++)r=Ot[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<Ot.length&&(n=Ot[0],n.blockedOn===null);)Ki(n),n.blockedOn===null&&Ot.shift()}var wn=de.ReactCurrentBatchConfig,br=!0;function mf(e,t,n,r){var l=ue,u=wn.transition;wn.transition=null;try{ue=1,Su(e,t,n,r)}finally{ue=l,wn.transition=u}}function hf(e,t,n,r){var l=ue,u=wn.transition;wn.transition=null;try{ue=4,Su(e,t,n,r)}finally{ue=l,wn.transition=u}}function Su(e,t,n,r){if(br){var l=xu(e,t,n,r);if(l===null)Du(e,t,r,el,n),Qi(e,r);else if(df(l,e,t,n,r))r.stopPropagation();else if(Qi(e,r),t&4&&-1<ff.indexOf(e)){for(;l!==null;){var u=wr(l);if(u!==null&&Hi(u),u=xu(e,t,n,r),u===null&&Du(e,t,r,el,n),u===l)break;l=u}l!==null&&r.stopPropagation()}else Du(e,t,r,null,n)}}var el=null;function xu(e,t,n,r){if(el=null,e=au(r),e=en(e),e!==null)if(t=bt(e),t===null)e=null;else if(n=t.tag,n===13){if(e=Fi(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return el=e,null}function Gi(e){switch(e){case\"cancel\":case\"click\":case\"close\":case\"contextmenu\":case\"copy\":case\"cut\":case\"auxclick\":case\"dblclick\":case\"dragend\":case\"dragstart\":case\"drop\":case\"focusin\":case\"focusout\":case\"input\":case\"invalid\":case\"keydown\":case\"keypress\":case\"keyup\":case\"mousedown\":case\"mouseup\":case\"paste\":case\"pause\":case\"play\":case\"pointercancel\":case\"pointerdown\":case\"pointerup\":case\"ratechange\":case\"reset\":case\"resize\":case\"seeked\":case\"submit\":case\"touchcancel\":case\"touchend\":case\"touchstart\":case\"volumechange\":case\"change\":case\"selectionchange\":case\"textInput\":case\"compositionstart\":case\"compositionend\":case\"compositionupdate\":case\"beforeblur\":case\"afterblur\":case\"beforeinput\":case\"blur\":case\"fullscreenchange\":case\"focus\":case\"hashchange\":case\"popstate\":case\"select\":case\"selectstart\":return 1;case\"drag\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"mousemove\":case\"mouseout\":case\"mouseover\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"scroll\":case\"toggle\":case\"touchmove\":case\"wheel\":case\"mouseenter\":case\"mouseleave\":case\"pointerenter\":case\"pointerleave\":return 4;case\"message\":switch(tf()){case mu:return 1;case Oi:return 4;case Kr:case nf:return 16;case Di:return 536870912;default:return 16}default:return 16}}var Dt=null,ku=null,tl=null;function Xi(){if(tl)return tl;var e,t=ku,n=t.length,r,l=\"value\"in Dt?Dt.value:Dt.textContent,u=l.length;for(e=0;e<n&&t[e]===l[e];e++);var i=n-e;for(r=1;r<=i&&t[n-r]===l[u-r];r++);return tl=l.slice(e,1<r?1-r:void 0)}function nl(e){var t=e.keyCode;return\"charCode\"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function rl(){return!0}function Zi(){return!1}function qe(e){function t(n,r,l,u,i){this._reactName=n,this._targetInst=l,this.type=r,this.nativeEvent=u,this.target=i,this.currentTarget=null;for(var c in e)e.hasOwnProperty(c)&&(n=e[c],this[c]=n?n(u):u[c]);return this.isDefaultPrevented=(u.defaultPrevented!=null?u.defaultPrevented:u.returnValue===!1)?rl:Zi,this.isPropagationStopped=Zi,this}return F(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!=\"unknown\"&&(n.returnValue=!1),this.isDefaultPrevented=rl)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!=\"unknown\"&&(n.cancelBubble=!0),this.isPropagationStopped=rl)},persist:function(){},isPersistent:rl}),t}var Sn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Eu=qe(Sn),sr=F({},Sn,{view:0,detail:0}),vf=qe(sr),Cu,_u,ar,ll=F({},sr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Pu,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return\"movementX\"in e?e.movementX:(e!==ar&&(ar&&e.type===\"mousemove\"?(Cu=e.screenX-ar.screenX,_u=e.screenY-ar.screenY):_u=Cu=0,ar=e),Cu)},movementY:function(e){return\"movementY\"in e?e.movementY:_u}}),Ji=qe(ll),yf=F({},ll,{dataTransfer:0}),gf=qe(yf),wf=F({},sr,{relatedTarget:0}),Nu=qe(wf),Sf=F({},Sn,{animationName:0,elapsedTime:0,pseudoElement:0}),xf=qe(Sf),kf=F({},Sn,{clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}}),Ef=qe(kf),Cf=F({},Sn,{data:0}),qi=qe(Cf),_f={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nf={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Pf={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Tf(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Pf[e])?!!t[e]:!1}function Pu(){return Tf}var Lf=F({},sr,{key:function(e){if(e.key){var t=_f[e.key]||e.key;if(t!==\"Unidentified\")return t}return e.type===\"keypress\"?(e=nl(e),e===13?\"Enter\":String.fromCharCode(e)):e.type===\"keydown\"||e.type===\"keyup\"?Nf[e.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Pu,charCode:function(e){return e.type===\"keypress\"?nl(e):0},keyCode:function(e){return e.type===\"keydown\"||e.type===\"keyup\"?e.keyCode:0},which:function(e){return e.type===\"keypress\"?nl(e):e.type===\"keydown\"||e.type===\"keyup\"?e.keyCode:0}}),jf=qe(Lf),Ff=F({},ll,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),bi=qe(Ff),zf=F({},sr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Pu}),$f=qe(zf),Rf=F({},Sn,{propertyName:0,elapsedTime:0,pseudoElement:0}),Mf=qe(Rf),If=F({},ll,{deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Of=qe(If),Df=[9,13,27,32],Tu=N&&\"CompositionEvent\"in window,cr=null;N&&\"documentMode\"in document&&(cr=document.documentMode);var Af=N&&\"TextEvent\"in window&&!cr,es=N&&(!Tu||cr&&8<cr&&11>=cr),ts=\" \",ns=!1;function rs(e,t){switch(e){case\"keyup\":return Df.indexOf(t.keyCode)!==-1;case\"keydown\":return t.keyCode!==229;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function ls(e){return e=e.detail,typeof e==\"object\"&&\"data\"in e?e.data:null}var xn=!1;function Uf(e,t){switch(e){case\"compositionend\":return ls(t);case\"keypress\":return t.which!==32?null:(ns=!0,ts);case\"textInput\":return e=t.data,e===ts&&ns?null:e;default:return null}}function Hf(e,t){if(xn)return e===\"compositionend\"||!Tu&&rs(e,t)?(e=Xi(),tl=ku=Dt=null,xn=!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.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\"compositionend\":return es&&t.locale!==\"ko\"?null:t.data;default:return null}}var Vf={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function us(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===\"input\"?!!Vf[e.type]:t===\"textarea\"}function os(e,t,n,r){Ni(r),t=al(t,\"onChange\"),0<t.length&&(n=new Eu(\"onChange\",\"change\",null,n,r),e.push({event:n,listeners:t}))}var fr=null,dr=null;function Bf(e){Cs(e,0)}function ul(e){var t=Nn(e);if(mi(t))return e}function Wf(e,t){if(e===\"change\")return t}var is=!1;if(N){var Lu;if(N){var ju=\"oninput\"in document;if(!ju){var ss=document.createElement(\"div\");ss.setAttribute(\"oninput\",\"return;\"),ju=typeof ss.oninput==\"function\"}Lu=ju}else Lu=!1;is=Lu&&(!document.documentMode||9<document.documentMode)}function as(){fr&&(fr.detachEvent(\"onpropertychange\",cs),dr=fr=null)}function cs(e){if(e.propertyName===\"value\"&&ul(dr)){var t=[];os(t,dr,e,au(e)),ji(Bf,t)}}function Qf(e,t,n){e===\"focusin\"?(as(),fr=t,dr=n,fr.attachEvent(\"onpropertychange\",cs)):e===\"focusout\"&&as()}function Kf(e){if(e===\"selectionchange\"||e===\"keyup\"||e===\"keydown\")return ul(dr)}function Yf(e,t){if(e===\"click\")return ul(t)}function Gf(e,t){if(e===\"input\"||e===\"change\")return ul(t)}function Xf(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var ft=typeof Object.is==\"function\"?Object.is:Xf;function pr(e,t){if(ft(e,t))return!0;if(typeof e!=\"object\"||e===null||typeof t!=\"object\"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var l=n[r];if(!T.call(t,l)||!ft(e[l],t[l]))return!1}return!0}function fs(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ds(e,t){var n=fs(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=fs(n)}}function ps(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ps(e,t.parentNode):\"contains\"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function ms(){for(var e=window,t=Vr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==\"string\"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Vr(e.document)}return t}function Fu(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 Zf(e){var t=ms(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&ps(n.ownerDocument.documentElement,n)){if(r!==null&&Fu(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),\"selectionStart\"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,u=Math.min(r.start,l);r=r.end===void 0?u:Math.min(r.end,l),!e.extend&&u>r&&(l=r,r=u,u=l),l=ds(n,u);var i=ds(n,r);l&&i&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),u>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus==\"function\"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Jf=N&&\"documentMode\"in document&&11>=document.documentMode,kn=null,zu=null,mr=null,$u=!1;function hs(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;$u||kn==null||kn!==Vr(r)||(r=kn,\"selectionStart\"in r&&Fu(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),mr&&pr(mr,r)||(mr=r,r=al(zu,\"onSelect\"),0<r.length&&(t=new Eu(\"onSelect\",\"select\",null,t,n),e.push({event:t,listeners:r}),t.target=kn)))}function ol(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n}var En={animationend:ol(\"Animation\",\"AnimationEnd\"),animationiteration:ol(\"Animation\",\"AnimationIteration\"),animationstart:ol(\"Animation\",\"AnimationStart\"),transitionend:ol(\"Transition\",\"TransitionEnd\")},Ru={},vs={};N&&(vs=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete En.animationend.animation,delete En.animationiteration.animation,delete En.animationstart.animation),\"TransitionEvent\"in window||delete En.transitionend.transition);function il(e){if(Ru[e])return Ru[e];if(!En[e])return e;var t=En[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in vs)return Ru[e]=t[n];return e}var ys=il(\"animationend\"),gs=il(\"animationiteration\"),ws=il(\"animationstart\"),Ss=il(\"transitionend\"),xs=new Map,ks=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");function At(e,t){xs.set(e,t),w(t,[e])}for(var Mu=0;Mu<ks.length;Mu++){var Iu=ks[Mu],qf=Iu.toLowerCase(),bf=Iu[0].toUpperCase()+Iu.slice(1);At(qf,\"on\"+bf)}At(ys,\"onAnimationEnd\"),At(gs,\"onAnimationIteration\"),At(ws,\"onAnimationStart\"),At(\"dblclick\",\"onDoubleClick\"),At(\"focusin\",\"onFocus\"),At(\"focusout\",\"onBlur\"),At(Ss,\"onTransitionEnd\"),x(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]),x(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]),x(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]),x(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]),w(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \")),w(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \")),w(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]),w(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \")),w(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")),w(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var hr=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),ed=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(hr));function Es(e,t,n){var r=e.type||\"unknown-event\";e.currentTarget=n,Jc(r,t,void 0,e),e.currentTarget=null}function Cs(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],l=r.event;r=r.listeners;e:{var u=void 0;if(t)for(var i=r.length-1;0<=i;i--){var c=r[i],f=c.instance,g=c.currentTarget;if(c=c.listener,f!==u&&l.isPropagationStopped())break e;Es(l,c,g),u=f}else for(i=0;i<r.length;i++){if(c=r[i],f=c.instance,g=c.currentTarget,c=c.listener,f!==u&&l.isPropagationStopped())break e;Es(l,c,g),u=f}}}if(Qr)throw e=pu,Qr=!1,pu=null,e}function ce(e,t){var n=t[Wu];n===void 0&&(n=t[Wu]=new Set);var r=e+\"__bubble\";n.has(r)||(_s(t,e,2,!1),n.add(r))}function Ou(e,t,n){var r=0;t&&(r|=4),_s(n,e,r,t)}var sl=\"_reactListening\"+Math.random().toString(36).slice(2);function vr(e){if(!e[sl]){e[sl]=!0,d.forEach(function(n){n!==\"selectionchange\"&&(ed.has(n)||Ou(n,!1,e),Ou(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[sl]||(t[sl]=!0,Ou(\"selectionchange\",!1,t))}}function _s(e,t,n,r){switch(Gi(t)){case 1:var l=mf;break;case 4:l=hf;break;default:l=Su}n=l.bind(null,t,n,e),l=void 0,!du||t!==\"touchstart\"&&t!==\"touchmove\"&&t!==\"wheel\"||(l=!0),r?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function Du(e,t,n,r,l){var u=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var i=r.tag;if(i===3||i===4){var c=r.stateNode.containerInfo;if(c===l||c.nodeType===8&&c.parentNode===l)break;if(i===4)for(i=r.return;i!==null;){var f=i.tag;if((f===3||f===4)&&(f=i.stateNode.containerInfo,f===l||f.nodeType===8&&f.parentNode===l))return;i=i.return}for(;c!==null;){if(i=en(c),i===null)return;if(f=i.tag,f===5||f===6){r=u=i;continue e}c=c.parentNode}}r=r.return}ji(function(){var g=u,E=au(n),_=[];e:{var k=xs.get(e);if(k!==void 0){var M=Eu,A=e;switch(e){case\"keypress\":if(nl(n)===0)break e;case\"keydown\":case\"keyup\":M=jf;break;case\"focusin\":A=\"focus\",M=Nu;break;case\"focusout\":A=\"blur\",M=Nu;break;case\"beforeblur\":case\"afterblur\":M=Nu;break;case\"click\":if(n.button===2)break e;case\"auxclick\":case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":M=Ji;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":M=gf;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":M=$f;break;case ys:case gs:case ws:M=xf;break;case Ss:M=Mf;break;case\"scroll\":M=vf;break;case\"wheel\":M=Of;break;case\"copy\":case\"cut\":case\"paste\":M=Ef;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":M=bi}var U=(t&4)!==0,Ee=!U&&e===\"scroll\",v=U?k!==null?k+\"Capture\":null:k;U=[];for(var p=g,y;p!==null;){y=p;var L=y.stateNode;if(y.tag===5&&L!==null&&(y=L,v!==null&&(L=qn(p,v),L!=null&&U.push(yr(p,L,y)))),Ee)break;p=p.return}0<U.length&&(k=new M(k,A,null,n,E),_.push({event:k,listeners:U}))}}if(!(t&7)){e:{if(k=e===\"mouseover\"||e===\"pointerover\",M=e===\"mouseout\"||e===\"pointerout\",k&&n!==su&&(A=n.relatedTarget||n.fromElement)&&(en(A)||A[_t]))break e;if((M||k)&&(k=E.window===E?E:(k=E.ownerDocument)?k.defaultView||k.parentWindow:window,M?(A=n.relatedTarget||n.toElement,M=g,A=A?en(A):null,A!==null&&(Ee=bt(A),A!==Ee||A.tag!==5&&A.tag!==6)&&(A=null)):(M=null,A=g),M!==A)){if(U=Ji,L=\"onMouseLeave\",v=\"onMouseEnter\",p=\"mouse\",(e===\"pointerout\"||e===\"pointerover\")&&(U=bi,L=\"onPointerLeave\",v=\"onPointerEnter\",p=\"pointer\"),Ee=M==null?k:Nn(M),y=A==null?k:Nn(A),k=new U(L,p+\"leave\",M,n,E),k.target=Ee,k.relatedTarget=y,L=null,en(E)===g&&(U=new U(v,p+\"enter\",A,n,E),U.target=y,U.relatedTarget=Ee,L=U),Ee=L,M&&A)t:{for(U=M,v=A,p=0,y=U;y;y=Cn(y))p++;for(y=0,L=v;L;L=Cn(L))y++;for(;0<p-y;)U=Cn(U),p--;for(;0<y-p;)v=Cn(v),y--;for(;p--;){if(U===v||v!==null&&U===v.alternate)break t;U=Cn(U),v=Cn(v)}U=null}else U=null;M!==null&&Ns(_,k,M,U,!1),A!==null&&Ee!==null&&Ns(_,Ee,A,U,!0)}}e:{if(k=g?Nn(g):window,M=k.nodeName&&k.nodeName.toLowerCase(),M===\"select\"||M===\"input\"&&k.type===\"file\")var H=Wf;else if(us(k))if(is)H=Gf;else{H=Kf;var W=Qf}else(M=k.nodeName)&&M.toLowerCase()===\"input\"&&(k.type===\"checkbox\"||k.type===\"radio\")&&(H=Yf);if(H&&(H=H(e,g))){os(_,H,n,E);break e}W&&W(e,k,g),e===\"focusout\"&&(W=k._wrapperState)&&W.controlled&&k.type===\"number\"&&ru(k,\"number\",k.value)}switch(W=g?Nn(g):window,e){case\"focusin\":(us(W)||W.contentEditable===\"true\")&&(kn=W,zu=g,mr=null);break;case\"focusout\":mr=zu=kn=null;break;case\"mousedown\":$u=!0;break;case\"contextmenu\":case\"mouseup\":case\"dragend\":$u=!1,hs(_,n,E);break;case\"selectionchange\":if(Jf)break;case\"keydown\":case\"keyup\":hs(_,n,E)}var Q;if(Tu)e:{switch(e){case\"compositionstart\":var Y=\"onCompositionStart\";break e;case\"compositionend\":Y=\"onCompositionEnd\";break e;case\"compositionupdate\":Y=\"onCompositionUpdate\";break e}Y=void 0}else xn?rs(e,n)&&(Y=\"onCompositionEnd\"):e===\"keydown\"&&n.keyCode===229&&(Y=\"onCompositionStart\");Y&&(es&&n.locale!==\"ko\"&&(xn||Y!==\"onCompositionStart\"?Y===\"onCompositionEnd\"&&xn&&(Q=Xi()):(Dt=E,ku=\"value\"in Dt?Dt.value:Dt.textContent,xn=!0)),W=al(g,Y),0<W.length&&(Y=new qi(Y,e,null,n,E),_.push({event:Y,listeners:W}),Q?Y.data=Q:(Q=ls(n),Q!==null&&(Y.data=Q)))),(Q=Af?Uf(e,n):Hf(e,n))&&(g=al(g,\"onBeforeInput\"),0<g.length&&(E=new qi(\"onBeforeInput\",\"beforeinput\",null,n,E),_.push({event:E,listeners:g}),E.data=Q))}Cs(_,t)})}function yr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function al(e,t){for(var n=t+\"Capture\",r=[];e!==null;){var l=e,u=l.stateNode;l.tag===5&&u!==null&&(l=u,u=qn(e,n),u!=null&&r.unshift(yr(e,u,l)),u=qn(e,t),u!=null&&r.push(yr(e,u,l))),e=e.return}return r}function Cn(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Ns(e,t,n,r,l){for(var u=t._reactName,i=[];n!==null&&n!==r;){var c=n,f=c.alternate,g=c.stateNode;if(f!==null&&f===r)break;c.tag===5&&g!==null&&(c=g,l?(f=qn(n,u),f!=null&&i.unshift(yr(n,f,c))):l||(f=qn(n,u),f!=null&&i.push(yr(n,f,c)))),n=n.return}i.length!==0&&e.push({event:t,listeners:i})}var td=/\\r\\n?/g,nd=/\\u0000|\\uFFFD/g;function Ps(e){return(typeof e==\"string\"?e:\"\"+e).replace(td,`\n`).replace(nd,\"\")}function cl(e,t,n){if(t=Ps(t),Ps(e)!==t&&n)throw Error(s(425))}function fl(){}var Au=null,Uu=null;function Hu(e,t){return e===\"textarea\"||e===\"noscript\"||typeof t.children==\"string\"||typeof t.children==\"number\"||typeof t.dangerouslySetInnerHTML==\"object\"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Vu=typeof setTimeout==\"function\"?setTimeout:void 0,rd=typeof clearTimeout==\"function\"?clearTimeout:void 0,Ts=typeof Promise==\"function\"?Promise:void 0,ld=typeof queueMicrotask==\"function\"?queueMicrotask:typeof Ts<\"u\"?function(e){return Ts.resolve(null).then(e).catch(ud)}:Vu;function ud(e){setTimeout(function(){throw e})}function Bu(e,t){var n=t,r=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n===\"/$\"){if(r===0){e.removeChild(l),ir(t);return}r--}else n!==\"$\"&&n!==\"$?\"&&n!==\"$!\"||r++;n=l}while(n);ir(t)}function Ut(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===\"$\"||t===\"$!\"||t===\"$?\")break;if(t===\"/$\")return null}}return e}function Ls(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===\"$\"||n===\"$!\"||n===\"$?\"){if(t===0)return e;t--}else n===\"/$\"&&t++}e=e.previousSibling}return null}var _n=Math.random().toString(36).slice(2),St=\"__reactFiber$\"+_n,gr=\"__reactProps$\"+_n,_t=\"__reactContainer$\"+_n,Wu=\"__reactEvents$\"+_n,od=\"__reactListeners$\"+_n,id=\"__reactHandles$\"+_n;function en(e){var t=e[St];if(t)return t;for(var n=e.parentNode;n;){if(t=n[_t]||n[St]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Ls(e);e!==null;){if(n=e[St])return n;e=Ls(e)}return t}e=n,n=e.parentNode}return null}function wr(e){return e=e[St]||e[_t],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Nn(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(s(33))}function dl(e){return e[gr]||null}var Qu=[],Pn=-1;function Ht(e){return{current:e}}function fe(e){0>Pn||(e.current=Qu[Pn],Qu[Pn]=null,Pn--)}function ae(e,t){Pn++,Qu[Pn]=e.current,e.current=t}var Vt={},Ie=Ht(Vt),Qe=Ht(!1),tn=Vt;function Tn(e,t){var n=e.type.contextTypes;if(!n)return Vt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},u;for(u in n)l[u]=t[u];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function Ke(e){return e=e.childContextTypes,e!=null}function pl(){fe(Qe),fe(Ie)}function js(e,t,n){if(Ie.current!==Vt)throw Error(s(168));ae(Ie,t),ae(Qe,n)}function Fs(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!=\"function\")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(s(108,se(e)||\"Unknown\",l));return F({},n,r)}function ml(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Vt,tn=Ie.current,ae(Ie,e),ae(Qe,Qe.current),!0}function zs(e,t,n){var r=e.stateNode;if(!r)throw Error(s(169));n?(e=Fs(e,t,tn),r.__reactInternalMemoizedMergedChildContext=e,fe(Qe),fe(Ie),ae(Ie,e)):fe(Qe),ae(Qe,n)}var Nt=null,hl=!1,Ku=!1;function $s(e){Nt===null?Nt=[e]:Nt.push(e)}function sd(e){hl=!0,$s(e)}function Bt(){if(!Ku&&Nt!==null){Ku=!0;var e=0,t=ue;try{var n=Nt;for(ue=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}Nt=null,hl=!1}catch(l){throw Nt!==null&&(Nt=Nt.slice(e+1)),Mi(mu,Bt),l}finally{ue=t,Ku=!1}}return null}var Ln=[],jn=0,vl=null,yl=0,rt=[],lt=0,nn=null,Pt=1,Tt=\"\";function rn(e,t){Ln[jn++]=yl,Ln[jn++]=vl,vl=e,yl=t}function Rs(e,t,n){rt[lt++]=Pt,rt[lt++]=Tt,rt[lt++]=nn,nn=e;var r=Pt;e=Tt;var l=32-ct(r)-1;r&=~(1<<l),n+=1;var u=32-ct(t)+l;if(30<u){var i=l-l%5;u=(r&(1<<i)-1).toString(32),r>>=i,l-=i,Pt=1<<32-ct(t)+l|n<<l|r,Tt=u+e}else Pt=1<<u|n<<l|r,Tt=e}function Yu(e){e.return!==null&&(rn(e,1),Rs(e,1,0))}function Gu(e){for(;e===vl;)vl=Ln[--jn],Ln[jn]=null,yl=Ln[--jn],Ln[jn]=null;for(;e===nn;)nn=rt[--lt],rt[lt]=null,Tt=rt[--lt],rt[lt]=null,Pt=rt[--lt],rt[lt]=null}var be=null,et=null,he=!1,dt=null;function Ms(e,t){var n=st(5,null,null,0);n.elementType=\"DELETED\",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function Is(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,be=e,et=Ut(t.firstChild),!0):!1;case 6:return t=e.pendingProps===\"\"||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,be=e,et=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=nn!==null?{id:Pt,overflow:Tt}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=st(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,be=e,et=null,!0):!1;default:return!1}}function Xu(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Zu(e){if(he){var t=et;if(t){var n=t;if(!Is(e,t)){if(Xu(e))throw Error(s(418));t=Ut(n.nextSibling);var r=be;t&&Is(e,t)?Ms(r,n):(e.flags=e.flags&-4097|2,he=!1,be=e)}}else{if(Xu(e))throw Error(s(418));e.flags=e.flags&-4097|2,he=!1,be=e}}}function Os(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;be=e}function gl(e){if(e!==be)return!1;if(!he)return Os(e),he=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!==\"head\"&&t!==\"body\"&&!Hu(e.type,e.memoizedProps)),t&&(t=et)){if(Xu(e))throw Ds(),Error(s(418));for(;t;)Ms(e,t),t=Ut(t.nextSibling)}if(Os(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(s(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n===\"/$\"){if(t===0){et=Ut(e.nextSibling);break e}t--}else n!==\"$\"&&n!==\"$!\"&&n!==\"$?\"||t++}e=e.nextSibling}et=null}}else et=be?Ut(e.stateNode.nextSibling):null;return!0}function Ds(){for(var e=et;e;)e=Ut(e.nextSibling)}function Fn(){et=be=null,he=!1}function Ju(e){dt===null?dt=[e]:dt.push(e)}var ad=de.ReactCurrentBatchConfig;function Sr(e,t,n){if(e=n.ref,e!==null&&typeof e!=\"function\"&&typeof e!=\"object\"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(s(309));var r=n.stateNode}if(!r)throw Error(s(147,e));var l=r,u=\"\"+e;return t!==null&&t.ref!==null&&typeof t.ref==\"function\"&&t.ref._stringRef===u?t.ref:(t=function(i){var c=l.refs;i===null?delete c[u]:c[u]=i},t._stringRef=u,t)}if(typeof e!=\"string\")throw Error(s(284));if(!n._owner)throw Error(s(290,e))}return e}function wl(e,t){throw e=Object.prototype.toString.call(t),Error(s(31,e===\"[object Object]\"?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":e))}function As(e){var t=e._init;return t(e._payload)}function Us(e){function t(v,p){if(e){var y=v.deletions;y===null?(v.deletions=[p],v.flags|=16):y.push(p)}}function n(v,p){if(!e)return null;for(;p!==null;)t(v,p),p=p.sibling;return null}function r(v,p){for(v=new Map;p!==null;)p.key!==null?v.set(p.key,p):v.set(p.index,p),p=p.sibling;return v}function l(v,p){return v=Jt(v,p),v.index=0,v.sibling=null,v}function u(v,p,y){return v.index=y,e?(y=v.alternate,y!==null?(y=y.index,y<p?(v.flags|=2,p):y):(v.flags|=2,p)):(v.flags|=1048576,p)}function i(v){return e&&v.alternate===null&&(v.flags|=2),v}function c(v,p,y,L){return p===null||p.tag!==6?(p=Bo(y,v.mode,L),p.return=v,p):(p=l(p,y),p.return=v,p)}function f(v,p,y,L){var H=y.type;return H===Se?E(v,p,y.props.children,L,y.key):p!==null&&(p.elementType===H||typeof H==\"object\"&&H!==null&&H.$$typeof===Fe&&As(H)===p.type)?(L=l(p,y.props),L.ref=Sr(v,p,y),L.return=v,L):(L=Bl(y.type,y.key,y.props,null,v.mode,L),L.ref=Sr(v,p,y),L.return=v,L)}function g(v,p,y,L){return p===null||p.tag!==4||p.stateNode.containerInfo!==y.containerInfo||p.stateNode.implementation!==y.implementation?(p=Wo(y,v.mode,L),p.return=v,p):(p=l(p,y.children||[]),p.return=v,p)}function E(v,p,y,L,H){return p===null||p.tag!==7?(p=dn(y,v.mode,L,H),p.return=v,p):(p=l(p,y),p.return=v,p)}function _(v,p,y){if(typeof p==\"string\"&&p!==\"\"||typeof p==\"number\")return p=Bo(\"\"+p,v.mode,y),p.return=v,p;if(typeof p==\"object\"&&p!==null){switch(p.$$typeof){case ye:return y=Bl(p.type,p.key,p.props,null,v.mode,y),y.ref=Sr(v,null,p),y.return=v,y;case oe:return p=Wo(p,v.mode,y),p.return=v,p;case Fe:var L=p._init;return _(v,L(p._payload),y)}if(Xn(p)||K(p))return p=dn(p,v.mode,y,null),p.return=v,p;wl(v,p)}return null}function k(v,p,y,L){var H=p!==null?p.key:null;if(typeof y==\"string\"&&y!==\"\"||typeof y==\"number\")return H!==null?null:c(v,p,\"\"+y,L);if(typeof y==\"object\"&&y!==null){switch(y.$$typeof){case ye:return y.key===H?f(v,p,y,L):null;case oe:return y.key===H?g(v,p,y,L):null;case Fe:return H=y._init,k(v,p,H(y._payload),L)}if(Xn(y)||K(y))return H!==null?null:E(v,p,y,L,null);wl(v,y)}return null}function M(v,p,y,L,H){if(typeof L==\"string\"&&L!==\"\"||typeof L==\"number\")return v=v.get(y)||null,c(p,v,\"\"+L,H);if(typeof L==\"object\"&&L!==null){switch(L.$$typeof){case ye:return v=v.get(L.key===null?y:L.key)||null,f(p,v,L,H);case oe:return v=v.get(L.key===null?y:L.key)||null,g(p,v,L,H);case Fe:var W=L._init;return M(v,p,y,W(L._payload),H)}if(Xn(L)||K(L))return v=v.get(y)||null,E(p,v,L,H,null);wl(p,L)}return null}function A(v,p,y,L){for(var H=null,W=null,Q=p,Y=p=0,je=null;Q!==null&&Y<y.length;Y++){Q.index>Y?(je=Q,Q=null):je=Q.sibling;var re=k(v,Q,y[Y],L);if(re===null){Q===null&&(Q=je);break}e&&Q&&re.alternate===null&&t(v,Q),p=u(re,p,Y),W===null?H=re:W.sibling=re,W=re,Q=je}if(Y===y.length)return n(v,Q),he&&rn(v,Y),H;if(Q===null){for(;Y<y.length;Y++)Q=_(v,y[Y],L),Q!==null&&(p=u(Q,p,Y),W===null?H=Q:W.sibling=Q,W=Q);return he&&rn(v,Y),H}for(Q=r(v,Q);Y<y.length;Y++)je=M(Q,v,Y,y[Y],L),je!==null&&(e&&je.alternate!==null&&Q.delete(je.key===null?Y:je.key),p=u(je,p,Y),W===null?H=je:W.sibling=je,W=je);return e&&Q.forEach(function(qt){return t(v,qt)}),he&&rn(v,Y),H}function U(v,p,y,L){var H=K(y);if(typeof H!=\"function\")throw Error(s(150));if(y=H.call(y),y==null)throw Error(s(151));for(var W=H=null,Q=p,Y=p=0,je=null,re=y.next();Q!==null&&!re.done;Y++,re=y.next()){Q.index>Y?(je=Q,Q=null):je=Q.sibling;var qt=k(v,Q,re.value,L);if(qt===null){Q===null&&(Q=je);break}e&&Q&&qt.alternate===null&&t(v,Q),p=u(qt,p,Y),W===null?H=qt:W.sibling=qt,W=qt,Q=je}if(re.done)return n(v,Q),he&&rn(v,Y),H;if(Q===null){for(;!re.done;Y++,re=y.next())re=_(v,re.value,L),re!==null&&(p=u(re,p,Y),W===null?H=re:W.sibling=re,W=re);return he&&rn(v,Y),H}for(Q=r(v,Q);!re.done;Y++,re=y.next())re=M(Q,v,Y,re.value,L),re!==null&&(e&&re.alternate!==null&&Q.delete(re.key===null?Y:re.key),p=u(re,p,Y),W===null?H=re:W.sibling=re,W=re);return e&&Q.forEach(function(Hd){return t(v,Hd)}),he&&rn(v,Y),H}function Ee(v,p,y,L){if(typeof y==\"object\"&&y!==null&&y.type===Se&&y.key===null&&(y=y.props.children),typeof y==\"object\"&&y!==null){switch(y.$$typeof){case ye:e:{for(var H=y.key,W=p;W!==null;){if(W.key===H){if(H=y.type,H===Se){if(W.tag===7){n(v,W.sibling),p=l(W,y.props.children),p.return=v,v=p;break e}}else if(W.elementType===H||typeof H==\"object\"&&H!==null&&H.$$typeof===Fe&&As(H)===W.type){n(v,W.sibling),p=l(W,y.props),p.ref=Sr(v,W,y),p.return=v,v=p;break e}n(v,W);break}else t(v,W);W=W.sibling}y.type===Se?(p=dn(y.props.children,v.mode,L,y.key),p.return=v,v=p):(L=Bl(y.type,y.key,y.props,null,v.mode,L),L.ref=Sr(v,p,y),L.return=v,v=L)}return i(v);case oe:e:{for(W=y.key;p!==null;){if(p.key===W)if(p.tag===4&&p.stateNode.containerInfo===y.containerInfo&&p.stateNode.implementation===y.implementation){n(v,p.sibling),p=l(p,y.children||[]),p.return=v,v=p;break e}else{n(v,p);break}else t(v,p);p=p.sibling}p=Wo(y,v.mode,L),p.return=v,v=p}return i(v);case Fe:return W=y._init,Ee(v,p,W(y._payload),L)}if(Xn(y))return A(v,p,y,L);if(K(y))return U(v,p,y,L);wl(v,y)}return typeof y==\"string\"&&y!==\"\"||typeof y==\"number\"?(y=\"\"+y,p!==null&&p.tag===6?(n(v,p.sibling),p=l(p,y),p.return=v,v=p):(n(v,p),p=Bo(y,v.mode,L),p.return=v,v=p),i(v)):n(v,p)}return Ee}var zn=Us(!0),Hs=Us(!1),Sl=Ht(null),xl=null,$n=null,qu=null;function bu(){qu=$n=xl=null}function eo(e){var t=Sl.current;fe(Sl),e._currentValue=t}function to(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Rn(e,t){xl=e,qu=$n=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Ye=!0),e.firstContext=null)}function ut(e){var t=e._currentValue;if(qu!==e)if(e={context:e,memoizedValue:t,next:null},$n===null){if(xl===null)throw Error(s(308));$n=e,xl.dependencies={lanes:0,firstContext:e}}else $n=$n.next=e;return t}var ln=null;function no(e){ln===null?ln=[e]:ln.push(e)}function Vs(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,no(t)):(n.next=l.next,l.next=n),t.interleaved=n,Lt(e,r)}function Lt(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Wt=!1;function ro(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Bs(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 jt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Qt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,te&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Lt(e,n)}return l=r.interleaved,l===null?(t.next=t,no(r)):(t.next=l.next,l.next=t),r.interleaved=t,Lt(e,n)}function kl(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,yu(e,n)}}function Ws(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,u=null;if(n=n.firstBaseUpdate,n!==null){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};u===null?l=u=i:u=u.next=i,n=n.next}while(n!==null);u===null?l=u=t:u=u.next=t}else l=u=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:u,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function El(e,t,n,r){var l=e.updateQueue;Wt=!1;var u=l.firstBaseUpdate,i=l.lastBaseUpdate,c=l.shared.pending;if(c!==null){l.shared.pending=null;var f=c,g=f.next;f.next=null,i===null?u=g:i.next=g,i=f;var E=e.alternate;E!==null&&(E=E.updateQueue,c=E.lastBaseUpdate,c!==i&&(c===null?E.firstBaseUpdate=g:c.next=g,E.lastBaseUpdate=f))}if(u!==null){var _=l.baseState;i=0,E=g=f=null,c=u;do{var k=c.lane,M=c.eventTime;if((r&k)===k){E!==null&&(E=E.next={eventTime:M,lane:0,tag:c.tag,payload:c.payload,callback:c.callback,next:null});e:{var A=e,U=c;switch(k=t,M=n,U.tag){case 1:if(A=U.payload,typeof A==\"function\"){_=A.call(M,_,k);break e}_=A;break e;case 3:A.flags=A.flags&-65537|128;case 0:if(A=U.payload,k=typeof A==\"function\"?A.call(M,_,k):A,k==null)break e;_=F({},_,k);break e;case 2:Wt=!0}}c.callback!==null&&c.lane!==0&&(e.flags|=64,k=l.effects,k===null?l.effects=[c]:k.push(c))}else M={eventTime:M,lane:k,tag:c.tag,payload:c.payload,callback:c.callback,next:null},E===null?(g=E=M,f=_):E=E.next=M,i|=k;if(c=c.next,c===null){if(c=l.shared.pending,c===null)break;k=c,c=k.next,k.next=null,l.lastBaseUpdate=k,l.shared.pending=null}}while(!0);if(E===null&&(f=_),l.baseState=f,l.firstBaseUpdate=g,l.lastBaseUpdate=E,t=l.shared.interleaved,t!==null){l=t;do i|=l.lane,l=l.next;while(l!==t)}else u===null&&(l.shared.lanes=0);sn|=i,e.lanes=i,e.memoizedState=_}}function Qs(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],l=r.callback;if(l!==null){if(r.callback=null,r=n,typeof l!=\"function\")throw Error(s(191,l));l.call(r)}}}var xr={},xt=Ht(xr),kr=Ht(xr),Er=Ht(xr);function un(e){if(e===xr)throw Error(s(174));return e}function lo(e,t){switch(ae(Er,t),ae(kr,e),ae(xt,xr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:uu(null,\"\");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=uu(t,e)}fe(xt),ae(xt,t)}function Mn(){fe(xt),fe(kr),fe(Er)}function Ks(e){un(Er.current);var t=un(xt.current),n=uu(t,e.type);t!==n&&(ae(kr,e),ae(xt,n))}function uo(e){kr.current===e&&(fe(xt),fe(kr))}var ge=Ht(0);function Cl(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data===\"$?\"||n.data===\"$!\"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var oo=[];function io(){for(var e=0;e<oo.length;e++)oo[e]._workInProgressVersionPrimary=null;oo.length=0}var _l=de.ReactCurrentDispatcher,so=de.ReactCurrentBatchConfig,on=0,we=null,_e=null,Te=null,Nl=!1,Cr=!1,_r=0,cd=0;function Oe(){throw Error(s(321))}function ao(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ft(e[n],t[n]))return!1;return!0}function co(e,t,n,r,l,u){if(on=u,we=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,_l.current=e===null||e.memoizedState===null?md:hd,e=n(r,l),Cr){u=0;do{if(Cr=!1,_r=0,25<=u)throw Error(s(301));u+=1,Te=_e=null,t.updateQueue=null,_l.current=vd,e=n(r,l)}while(Cr)}if(_l.current=Ll,t=_e!==null&&_e.next!==null,on=0,Te=_e=we=null,Nl=!1,t)throw Error(s(300));return e}function fo(){var e=_r!==0;return _r=0,e}function kt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Te===null?we.memoizedState=Te=e:Te=Te.next=e,Te}function ot(){if(_e===null){var e=we.alternate;e=e!==null?e.memoizedState:null}else e=_e.next;var t=Te===null?we.memoizedState:Te.next;if(t!==null)Te=t,_e=e;else{if(e===null)throw Error(s(310));_e=e,e={memoizedState:_e.memoizedState,baseState:_e.baseState,baseQueue:_e.baseQueue,queue:_e.queue,next:null},Te===null?we.memoizedState=Te=e:Te=Te.next=e}return Te}function Nr(e,t){return typeof t==\"function\"?t(e):t}function po(e){var t=ot(),n=t.queue;if(n===null)throw Error(s(311));n.lastRenderedReducer=e;var r=_e,l=r.baseQueue,u=n.pending;if(u!==null){if(l!==null){var i=l.next;l.next=u.next,u.next=i}r.baseQueue=l=u,n.pending=null}if(l!==null){u=l.next,r=r.baseState;var c=i=null,f=null,g=u;do{var E=g.lane;if((on&E)===E)f!==null&&(f=f.next={lane:0,action:g.action,hasEagerState:g.hasEagerState,eagerState:g.eagerState,next:null}),r=g.hasEagerState?g.eagerState:e(r,g.action);else{var _={lane:E,action:g.action,hasEagerState:g.hasEagerState,eagerState:g.eagerState,next:null};f===null?(c=f=_,i=r):f=f.next=_,we.lanes|=E,sn|=E}g=g.next}while(g!==null&&g!==u);f===null?i=r:f.next=c,ft(r,t.memoizedState)||(Ye=!0),t.memoizedState=r,t.baseState=i,t.baseQueue=f,n.lastRenderedState=r}if(e=n.interleaved,e!==null){l=e;do u=l.lane,we.lanes|=u,sn|=u,l=l.next;while(l!==e)}else l===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function mo(e){var t=ot(),n=t.queue;if(n===null)throw Error(s(311));n.lastRenderedReducer=e;var r=n.dispatch,l=n.pending,u=t.memoizedState;if(l!==null){n.pending=null;var i=l=l.next;do u=e(u,i.action),i=i.next;while(i!==l);ft(u,t.memoizedState)||(Ye=!0),t.memoizedState=u,t.baseQueue===null&&(t.baseState=u),n.lastRenderedState=u}return[u,r]}function Ys(){}function Gs(e,t){var n=we,r=ot(),l=t(),u=!ft(r.memoizedState,l);if(u&&(r.memoizedState=l,Ye=!0),r=r.queue,ho(Js.bind(null,n,r,e),[e]),r.getSnapshot!==t||u||Te!==null&&Te.memoizedState.tag&1){if(n.flags|=2048,Pr(9,Zs.bind(null,n,r,l,t),void 0,null),Le===null)throw Error(s(349));on&30||Xs(n,t,l)}return l}function Xs(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=we.updateQueue,t===null?(t={lastEffect:null,stores:null},we.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Zs(e,t,n,r){t.value=n,t.getSnapshot=r,qs(t)&&bs(e)}function Js(e,t,n){return n(function(){qs(t)&&bs(e)})}function qs(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!ft(e,n)}catch{return!0}}function bs(e){var t=Lt(e,1);t!==null&&vt(t,e,1,-1)}function ea(e){var t=kt();return typeof e==\"function\"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Nr,lastRenderedState:e},t.queue=e,e=e.dispatch=pd.bind(null,we,e),[t.memoizedState,e]}function Pr(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=we.updateQueue,t===null?(t={lastEffect:null,stores:null},we.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function ta(){return ot().memoizedState}function Pl(e,t,n,r){var l=kt();we.flags|=e,l.memoizedState=Pr(1|t,n,void 0,r===void 0?null:r)}function Tl(e,t,n,r){var l=ot();r=r===void 0?null:r;var u=void 0;if(_e!==null){var i=_e.memoizedState;if(u=i.destroy,r!==null&&ao(r,i.deps)){l.memoizedState=Pr(t,n,u,r);return}}we.flags|=e,l.memoizedState=Pr(1|t,n,u,r)}function na(e,t){return Pl(8390656,8,e,t)}function ho(e,t){return Tl(2048,8,e,t)}function ra(e,t){return Tl(4,2,e,t)}function la(e,t){return Tl(4,4,e,t)}function ua(e,t){if(typeof t==\"function\")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function oa(e,t,n){return n=n!=null?n.concat([e]):null,Tl(4,4,ua.bind(null,t,e),n)}function vo(){}function ia(e,t){var n=ot();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ao(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function sa(e,t){var n=ot();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ao(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function aa(e,t,n){return on&21?(ft(n,t)||(n=Ai(),we.lanes|=n,sn|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Ye=!0),e.memoizedState=n)}function fd(e,t){var n=ue;ue=n!==0&&4>n?n:4,e(!0);var r=so.transition;so.transition={};try{e(!1),t()}finally{ue=n,so.transition=r}}function ca(){return ot().memoizedState}function dd(e,t,n){var r=Xt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},fa(e))da(t,n);else if(n=Vs(e,t,n,r),n!==null){var l=Ve();vt(n,e,r,l),pa(n,t,r)}}function pd(e,t,n){var r=Xt(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(fa(e))da(t,l);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var i=t.lastRenderedState,c=u(i,n);if(l.hasEagerState=!0,l.eagerState=c,ft(c,i)){var f=t.interleaved;f===null?(l.next=l,no(t)):(l.next=f.next,f.next=l),t.interleaved=l;return}}catch{}finally{}n=Vs(e,t,l,r),n!==null&&(l=Ve(),vt(n,e,r,l),pa(n,t,r))}}function fa(e){var t=e.alternate;return e===we||t!==null&&t===we}function da(e,t){Cr=Nl=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function pa(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,yu(e,n)}}var Ll={readContext:ut,useCallback:Oe,useContext:Oe,useEffect:Oe,useImperativeHandle:Oe,useInsertionEffect:Oe,useLayoutEffect:Oe,useMemo:Oe,useReducer:Oe,useRef:Oe,useState:Oe,useDebugValue:Oe,useDeferredValue:Oe,useTransition:Oe,useMutableSource:Oe,useSyncExternalStore:Oe,useId:Oe,unstable_isNewReconciler:!1},md={readContext:ut,useCallback:function(e,t){return kt().memoizedState=[e,t===void 0?null:t],e},useContext:ut,useEffect:na,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Pl(4194308,4,ua.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Pl(4194308,4,e,t)},useInsertionEffect:function(e,t){return Pl(4,2,e,t)},useMemo:function(e,t){var n=kt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=kt();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=dd.bind(null,we,e),[r.memoizedState,e]},useRef:function(e){var t=kt();return e={current:e},t.memoizedState=e},useState:ea,useDebugValue:vo,useDeferredValue:function(e){return kt().memoizedState=e},useTransition:function(){var e=ea(!1),t=e[0];return e=fd.bind(null,e[1]),kt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=we,l=kt();if(he){if(n===void 0)throw Error(s(407));n=n()}else{if(n=t(),Le===null)throw Error(s(349));on&30||Xs(r,t,n)}l.memoizedState=n;var u={value:n,getSnapshot:t};return l.queue=u,na(Js.bind(null,r,u,e),[e]),r.flags|=2048,Pr(9,Zs.bind(null,r,u,n,t),void 0,null),n},useId:function(){var e=kt(),t=Le.identifierPrefix;if(he){var n=Tt,r=Pt;n=(r&~(1<<32-ct(r)-1)).toString(32)+n,t=\":\"+t+\"R\"+n,n=_r++,0<n&&(t+=\"H\"+n.toString(32)),t+=\":\"}else n=cd++,t=\":\"+t+\"r\"+n.toString(32)+\":\";return e.memoizedState=t},unstable_isNewReconciler:!1},hd={readContext:ut,useCallback:ia,useContext:ut,useEffect:ho,useImperativeHandle:oa,useInsertionEffect:ra,useLayoutEffect:la,useMemo:sa,useReducer:po,useRef:ta,useState:function(){return po(Nr)},useDebugValue:vo,useDeferredValue:function(e){var t=ot();return aa(t,_e.memoizedState,e)},useTransition:function(){var e=po(Nr)[0],t=ot().memoizedState;return[e,t]},useMutableSource:Ys,useSyncExternalStore:Gs,useId:ca,unstable_isNewReconciler:!1},vd={readContext:ut,useCallback:ia,useContext:ut,useEffect:ho,useImperativeHandle:oa,useInsertionEffect:ra,useLayoutEffect:la,useMemo:sa,useReducer:mo,useRef:ta,useState:function(){return mo(Nr)},useDebugValue:vo,useDeferredValue:function(e){var t=ot();return _e===null?t.memoizedState=e:aa(t,_e.memoizedState,e)},useTransition:function(){var e=mo(Nr)[0],t=ot().memoizedState;return[e,t]},useMutableSource:Ys,useSyncExternalStore:Gs,useId:ca,unstable_isNewReconciler:!1};function pt(e,t){if(e&&e.defaultProps){t=F({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function yo(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:F({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var jl={isMounted:function(e){return(e=e._reactInternals)?bt(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Ve(),l=Xt(e),u=jt(r,l);u.payload=t,n!=null&&(u.callback=n),t=Qt(e,u,l),t!==null&&(vt(t,e,l,r),kl(t,e,l))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Ve(),l=Xt(e),u=jt(r,l);u.tag=1,u.payload=t,n!=null&&(u.callback=n),t=Qt(e,u,l),t!==null&&(vt(t,e,l,r),kl(t,e,l))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Ve(),r=Xt(e),l=jt(n,r);l.tag=2,t!=null&&(l.callback=t),t=Qt(e,l,r),t!==null&&(vt(t,e,r,n),kl(t,e,r))}};function ma(e,t,n,r,l,u,i){return e=e.stateNode,typeof e.shouldComponentUpdate==\"function\"?e.shouldComponentUpdate(r,u,i):t.prototype&&t.prototype.isPureReactComponent?!pr(n,r)||!pr(l,u):!0}function ha(e,t,n){var r=!1,l=Vt,u=t.contextType;return typeof u==\"object\"&&u!==null?u=ut(u):(l=Ke(t)?tn:Ie.current,r=t.contextTypes,u=(r=r!=null)?Tn(e,l):Vt),t=new t(n,u),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=jl,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=l,e.__reactInternalMemoizedMaskedChildContext=u),t}function va(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==\"function\"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==\"function\"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&jl.enqueueReplaceState(t,t.state,null)}function go(e,t,n,r){var l=e.stateNode;l.props=n,l.state=e.memoizedState,l.refs={},ro(e);var u=t.contextType;typeof u==\"object\"&&u!==null?l.context=ut(u):(u=Ke(t)?tn:Ie.current,l.context=Tn(e,u)),l.state=e.memoizedState,u=t.getDerivedStateFromProps,typeof u==\"function\"&&(yo(e,t,u,n),l.state=e.memoizedState),typeof t.getDerivedStateFromProps==\"function\"||typeof l.getSnapshotBeforeUpdate==\"function\"||typeof l.UNSAFE_componentWillMount!=\"function\"&&typeof l.componentWillMount!=\"function\"||(t=l.state,typeof l.componentWillMount==\"function\"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount==\"function\"&&l.UNSAFE_componentWillMount(),t!==l.state&&jl.enqueueReplaceState(l,l.state,null),El(e,n,l,r),l.state=e.memoizedState),typeof l.componentDidMount==\"function\"&&(e.flags|=4194308)}function In(e,t){try{var n=\"\",r=t;do n+=ee(r),r=r.return;while(r);var l=n}catch(u){l=`\nError generating stack: `+u.message+`\n`+u.stack}return{value:e,source:t,stack:l,digest:null}}function wo(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function So(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var yd=typeof WeakMap==\"function\"?WeakMap:Map;function ya(e,t,n){n=jt(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ol||(Ol=!0,Mo=r),So(e,t)},n}function ga(e,t,n){n=jt(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r==\"function\"){var l=t.value;n.payload=function(){return r(l)},n.callback=function(){So(e,t)}}var u=e.stateNode;return u!==null&&typeof u.componentDidCatch==\"function\"&&(n.callback=function(){So(e,t),typeof r!=\"function\"&&(Yt===null?Yt=new Set([this]):Yt.add(this));var i=t.stack;this.componentDidCatch(t.value,{componentStack:i!==null?i:\"\"})}),n}function wa(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new yd;var l=new Set;r.set(t,l)}else l=r.get(t),l===void 0&&(l=new Set,r.set(t,l));l.has(n)||(l.add(n),e=Fd.bind(null,e,t,n),t.then(e,e))}function Sa(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function xa(e,t,n,r,l){return e.mode&1?(e.flags|=65536,e.lanes=l,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=jt(-1,1),t.tag=2,Qt(n,t,1))),n.lanes|=1),e)}var gd=de.ReactCurrentOwner,Ye=!1;function He(e,t,n,r){t.child=e===null?Hs(t,null,n,r):zn(t,e.child,n,r)}function ka(e,t,n,r,l){n=n.render;var u=t.ref;return Rn(t,l),r=co(e,t,n,r,u,l),n=fo(),e!==null&&!Ye?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,Ft(e,t,l)):(he&&n&&Yu(t),t.flags|=1,He(e,t,r,l),t.child)}function Ea(e,t,n,r,l){if(e===null){var u=n.type;return typeof u==\"function\"&&!Vo(u)&&u.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=u,Ca(e,t,u,r,l)):(e=Bl(n.type,null,r,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(u=e.child,!(e.lanes&l)){var i=u.memoizedProps;if(n=n.compare,n=n!==null?n:pr,n(i,r)&&e.ref===t.ref)return Ft(e,t,l)}return t.flags|=1,e=Jt(u,r),e.ref=t.ref,e.return=t,t.child=e}function Ca(e,t,n,r,l){if(e!==null){var u=e.memoizedProps;if(pr(u,r)&&e.ref===t.ref)if(Ye=!1,t.pendingProps=r=u,(e.lanes&l)!==0)e.flags&131072&&(Ye=!0);else return t.lanes=e.lanes,Ft(e,t,l)}return xo(e,t,n,r,l)}function _a(e,t,n){var r=t.pendingProps,l=r.children,u=e!==null?e.memoizedState:null;if(r.mode===\"hidden\")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ae(Dn,tt),tt|=n;else{if(!(n&1073741824))return e=u!==null?u.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ae(Dn,tt),tt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=u!==null?u.baseLanes:n,ae(Dn,tt),tt|=r}else u!==null?(r=u.baseLanes|n,t.memoizedState=null):r=n,ae(Dn,tt),tt|=r;return He(e,t,l,n),t.child}function Na(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function xo(e,t,n,r,l){var u=Ke(n)?tn:Ie.current;return u=Tn(t,u),Rn(t,l),n=co(e,t,n,r,u,l),r=fo(),e!==null&&!Ye?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,Ft(e,t,l)):(he&&r&&Yu(t),t.flags|=1,He(e,t,n,l),t.child)}function Pa(e,t,n,r,l){if(Ke(n)){var u=!0;ml(t)}else u=!1;if(Rn(t,l),t.stateNode===null)zl(e,t),ha(t,n,r),go(t,n,r,l),r=!0;else if(e===null){var i=t.stateNode,c=t.memoizedProps;i.props=c;var f=i.context,g=n.contextType;typeof g==\"object\"&&g!==null?g=ut(g):(g=Ke(n)?tn:Ie.current,g=Tn(t,g));var E=n.getDerivedStateFromProps,_=typeof E==\"function\"||typeof i.getSnapshotBeforeUpdate==\"function\";_||typeof i.UNSAFE_componentWillReceiveProps!=\"function\"&&typeof i.componentWillReceiveProps!=\"function\"||(c!==r||f!==g)&&va(t,i,r,g),Wt=!1;var k=t.memoizedState;i.state=k,El(t,r,i,l),f=t.memoizedState,c!==r||k!==f||Qe.current||Wt?(typeof E==\"function\"&&(yo(t,n,E,r),f=t.memoizedState),(c=Wt||ma(t,n,c,r,k,f,g))?(_||typeof i.UNSAFE_componentWillMount!=\"function\"&&typeof i.componentWillMount!=\"function\"||(typeof i.componentWillMount==\"function\"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount==\"function\"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount==\"function\"&&(t.flags|=4194308)):(typeof i.componentDidMount==\"function\"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=f),i.props=r,i.state=f,i.context=g,r=c):(typeof i.componentDidMount==\"function\"&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Bs(e,t),c=t.memoizedProps,g=t.type===t.elementType?c:pt(t.type,c),i.props=g,_=t.pendingProps,k=i.context,f=n.contextType,typeof f==\"object\"&&f!==null?f=ut(f):(f=Ke(n)?tn:Ie.current,f=Tn(t,f));var M=n.getDerivedStateFromProps;(E=typeof M==\"function\"||typeof i.getSnapshotBeforeUpdate==\"function\")||typeof i.UNSAFE_componentWillReceiveProps!=\"function\"&&typeof i.componentWillReceiveProps!=\"function\"||(c!==_||k!==f)&&va(t,i,r,f),Wt=!1,k=t.memoizedState,i.state=k,El(t,r,i,l);var A=t.memoizedState;c!==_||k!==A||Qe.current||Wt?(typeof M==\"function\"&&(yo(t,n,M,r),A=t.memoizedState),(g=Wt||ma(t,n,g,r,k,A,f)||!1)?(E||typeof i.UNSAFE_componentWillUpdate!=\"function\"&&typeof i.componentWillUpdate!=\"function\"||(typeof i.componentWillUpdate==\"function\"&&i.componentWillUpdate(r,A,f),typeof i.UNSAFE_componentWillUpdate==\"function\"&&i.UNSAFE_componentWillUpdate(r,A,f)),typeof i.componentDidUpdate==\"function\"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate==\"function\"&&(t.flags|=1024)):(typeof i.componentDidUpdate!=\"function\"||c===e.memoizedProps&&k===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!=\"function\"||c===e.memoizedProps&&k===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=A),i.props=r,i.state=A,i.context=f,r=g):(typeof i.componentDidUpdate!=\"function\"||c===e.memoizedProps&&k===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!=\"function\"||c===e.memoizedProps&&k===e.memoizedState||(t.flags|=1024),r=!1)}return ko(e,t,n,r,u,l)}function ko(e,t,n,r,l,u){Na(e,t);var i=(t.flags&128)!==0;if(!r&&!i)return l&&zs(t,n,!1),Ft(e,t,u);r=t.stateNode,gd.current=t;var c=i&&typeof n.getDerivedStateFromError!=\"function\"?null:r.render();return t.flags|=1,e!==null&&i?(t.child=zn(t,e.child,null,u),t.child=zn(t,null,c,u)):He(e,t,c,u),t.memoizedState=r.state,l&&zs(t,n,!0),t.child}function Ta(e){var t=e.stateNode;t.pendingContext?js(e,t.pendingContext,t.pendingContext!==t.context):t.context&&js(e,t.context,!1),lo(e,t.containerInfo)}function La(e,t,n,r,l){return Fn(),Ju(l),t.flags|=256,He(e,t,n,r),t.child}var Eo={dehydrated:null,treeContext:null,retryLane:0};function Co(e){return{baseLanes:e,cachePool:null,transitions:null}}function ja(e,t,n){var r=t.pendingProps,l=ge.current,u=!1,i=(t.flags&128)!==0,c;if((c=i)||(c=e!==null&&e.memoizedState===null?!1:(l&2)!==0),c?(u=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(l|=1),ae(ge,l&1),e===null)return Zu(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data===\"$!\"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(i=r.children,e=r.fallback,u?(r=t.mode,u=t.child,i={mode:\"hidden\",children:i},!(r&1)&&u!==null?(u.childLanes=0,u.pendingProps=i):u=Wl(i,r,0,null),e=dn(e,r,n,null),u.return=t,e.return=t,u.sibling=e,t.child=u,t.child.memoizedState=Co(n),t.memoizedState=Eo,e):_o(t,i));if(l=e.memoizedState,l!==null&&(c=l.dehydrated,c!==null))return wd(e,t,i,r,c,l,n);if(u){u=r.fallback,i=t.mode,l=e.child,c=l.sibling;var f={mode:\"hidden\",children:r.children};return!(i&1)&&t.child!==l?(r=t.child,r.childLanes=0,r.pendingProps=f,t.deletions=null):(r=Jt(l,f),r.subtreeFlags=l.subtreeFlags&14680064),c!==null?u=Jt(c,u):(u=dn(u,i,n,null),u.flags|=2),u.return=t,r.return=t,r.sibling=u,t.child=r,r=u,u=t.child,i=e.child.memoizedState,i=i===null?Co(n):{baseLanes:i.baseLanes|n,cachePool:null,transitions:i.transitions},u.memoizedState=i,u.childLanes=e.childLanes&~n,t.memoizedState=Eo,r}return u=e.child,e=u.sibling,r=Jt(u,{mode:\"visible\",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function _o(e,t){return t=Wl({mode:\"visible\",children:t},e.mode,0,null),t.return=e,e.child=t}function Fl(e,t,n,r){return r!==null&&Ju(r),zn(t,e.child,null,n),e=_o(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function wd(e,t,n,r,l,u,i){if(n)return t.flags&256?(t.flags&=-257,r=wo(Error(s(422))),Fl(e,t,i,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(u=r.fallback,l=t.mode,r=Wl({mode:\"visible\",children:r.children},l,0,null),u=dn(u,l,i,null),u.flags|=2,r.return=t,u.return=t,r.sibling=u,t.child=r,t.mode&1&&zn(t,e.child,null,i),t.child.memoizedState=Co(i),t.memoizedState=Eo,u);if(!(t.mode&1))return Fl(e,t,i,null);if(l.data===\"$!\"){if(r=l.nextSibling&&l.nextSibling.dataset,r)var c=r.dgst;return r=c,u=Error(s(419)),r=wo(u,r,void 0),Fl(e,t,i,r)}if(c=(i&e.childLanes)!==0,Ye||c){if(r=Le,r!==null){switch(i&-i){case 4:l=2;break;case 16:l=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:l=32;break;case 536870912:l=268435456;break;default:l=0}l=l&(r.suspendedLanes|i)?0:l,l!==0&&l!==u.retryLane&&(u.retryLane=l,Lt(e,l),vt(r,e,l,-1))}return Ho(),r=wo(Error(s(421))),Fl(e,t,i,r)}return l.data===\"$?\"?(t.flags|=128,t.child=e.child,t=zd.bind(null,e),l._reactRetry=t,null):(e=u.treeContext,et=Ut(l.nextSibling),be=t,he=!0,dt=null,e!==null&&(rt[lt++]=Pt,rt[lt++]=Tt,rt[lt++]=nn,Pt=e.id,Tt=e.overflow,nn=t),t=_o(t,r.children),t.flags|=4096,t)}function Fa(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),to(e.return,t,n)}function No(e,t,n,r,l){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:l}:(u.isBackwards=t,u.rendering=null,u.renderingStartTime=0,u.last=r,u.tail=n,u.tailMode=l)}function za(e,t,n){var r=t.pendingProps,l=r.revealOrder,u=r.tail;if(He(e,t,r.children,n),r=ge.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Fa(e,n,t);else if(e.tag===19)Fa(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ae(ge,r),!(t.mode&1))t.memoizedState=null;else switch(l){case\"forwards\":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&Cl(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),No(t,!1,l,n,u);break;case\"backwards\":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&Cl(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}No(t,!0,n,null,u);break;case\"together\":No(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function zl(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Ft(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),sn|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(s(153));if(t.child!==null){for(e=t.child,n=Jt(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Jt(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Sd(e,t,n){switch(t.tag){case 3:Ta(t),Fn();break;case 5:Ks(t);break;case 1:Ke(t.type)&&ml(t);break;case 4:lo(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,l=t.memoizedProps.value;ae(Sl,r._currentValue),r._currentValue=l;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(ae(ge,ge.current&1),t.flags|=128,null):n&t.child.childLanes?ja(e,t,n):(ae(ge,ge.current&1),e=Ft(e,t,n),e!==null?e.sibling:null);ae(ge,ge.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return za(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),ae(ge,ge.current),r)break;return null;case 22:case 23:return t.lanes=0,_a(e,t,n)}return Ft(e,t,n)}var $a,Po,Ra,Ma;$a=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Po=function(){},Ra=function(e,t,n,r){var l=e.memoizedProps;if(l!==r){e=t.stateNode,un(xt.current);var u=null;switch(n){case\"input\":l=tu(e,l),r=tu(e,r),u=[];break;case\"select\":l=F({},l,{value:void 0}),r=F({},r,{value:void 0}),u=[];break;case\"textarea\":l=lu(e,l),r=lu(e,r),u=[];break;default:typeof l.onClick!=\"function\"&&typeof r.onClick==\"function\"&&(e.onclick=fl)}ou(n,r);var i;n=null;for(g in l)if(!r.hasOwnProperty(g)&&l.hasOwnProperty(g)&&l[g]!=null)if(g===\"style\"){var c=l[g];for(i in c)c.hasOwnProperty(i)&&(n||(n={}),n[i]=\"\")}else g!==\"dangerouslySetInnerHTML\"&&g!==\"children\"&&g!==\"suppressContentEditableWarning\"&&g!==\"suppressHydrationWarning\"&&g!==\"autoFocus\"&&(h.hasOwnProperty(g)?u||(u=[]):(u=u||[]).push(g,null));for(g in r){var f=r[g];if(c=l!=null?l[g]:void 0,r.hasOwnProperty(g)&&f!==c&&(f!=null||c!=null))if(g===\"style\")if(c){for(i in c)!c.hasOwnProperty(i)||f&&f.hasOwnProperty(i)||(n||(n={}),n[i]=\"\");for(i in f)f.hasOwnProperty(i)&&c[i]!==f[i]&&(n||(n={}),n[i]=f[i])}else n||(u||(u=[]),u.push(g,n)),n=f;else g===\"dangerouslySetInnerHTML\"?(f=f?f.__html:void 0,c=c?c.__html:void 0,f!=null&&c!==f&&(u=u||[]).push(g,f)):g===\"children\"?typeof f!=\"string\"&&typeof f!=\"number\"||(u=u||[]).push(g,\"\"+f):g!==\"suppressContentEditableWarning\"&&g!==\"suppressHydrationWarning\"&&(h.hasOwnProperty(g)?(f!=null&&g===\"onScroll\"&&ce(\"scroll\",e),u||c===f||(u=[])):(u=u||[]).push(g,f))}n&&(u=u||[]).push(\"style\",n);var g=u;(t.updateQueue=g)&&(t.flags|=4)}},Ma=function(e,t,n,r){n!==r&&(t.flags|=4)};function Tr(e,t){if(!he)switch(e.tailMode){case\"hidden\":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case\"collapsed\":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function De(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags&14680064,r|=l.flags&14680064,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function xd(e,t,n){var r=t.pendingProps;switch(Gu(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return De(t),null;case 1:return Ke(t.type)&&pl(),De(t),null;case 3:return r=t.stateNode,Mn(),fe(Qe),fe(Ie),io(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(gl(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,dt!==null&&(Do(dt),dt=null))),Po(e,t),De(t),null;case 5:uo(t);var l=un(Er.current);if(n=t.type,e!==null&&t.stateNode!=null)Ra(e,t,n,r,l),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(s(166));return De(t),null}if(e=un(xt.current),gl(t)){r=t.stateNode,n=t.type;var u=t.memoizedProps;switch(r[St]=t,r[gr]=u,e=(t.mode&1)!==0,n){case\"dialog\":ce(\"cancel\",r),ce(\"close\",r);break;case\"iframe\":case\"object\":case\"embed\":ce(\"load\",r);break;case\"video\":case\"audio\":for(l=0;l<hr.length;l++)ce(hr[l],r);break;case\"source\":ce(\"error\",r);break;case\"img\":case\"image\":case\"link\":ce(\"error\",r),ce(\"load\",r);break;case\"details\":ce(\"toggle\",r);break;case\"input\":hi(r,u),ce(\"invalid\",r);break;case\"select\":r._wrapperState={wasMultiple:!!u.multiple},ce(\"invalid\",r);break;case\"textarea\":gi(r,u),ce(\"invalid\",r)}ou(n,u),l=null;for(var i in u)if(u.hasOwnProperty(i)){var c=u[i];i===\"children\"?typeof c==\"string\"?r.textContent!==c&&(u.suppressHydrationWarning!==!0&&cl(r.textContent,c,e),l=[\"children\",c]):typeof c==\"number\"&&r.textContent!==\"\"+c&&(u.suppressHydrationWarning!==!0&&cl(r.textContent,c,e),l=[\"children\",\"\"+c]):h.hasOwnProperty(i)&&c!=null&&i===\"onScroll\"&&ce(\"scroll\",r)}switch(n){case\"input\":Hr(r),yi(r,u,!0);break;case\"textarea\":Hr(r),Si(r);break;case\"select\":case\"option\":break;default:typeof u.onClick==\"function\"&&(r.onclick=fl)}r=l,t.updateQueue=r,r!==null&&(t.flags|=4)}else{i=l.nodeType===9?l:l.ownerDocument,e===\"http://www.w3.org/1999/xhtml\"&&(e=xi(n)),e===\"http://www.w3.org/1999/xhtml\"?n===\"script\"?(e=i.createElement(\"div\"),e.innerHTML=\"<script><\\/script>\",e=e.removeChild(e.firstChild)):typeof r.is==\"string\"?e=i.createElement(n,{is:r.is}):(e=i.createElement(n),n===\"select\"&&(i=e,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):e=i.createElementNS(e,n),e[St]=t,e[gr]=r,$a(e,t,!1,!1),t.stateNode=e;e:{switch(i=iu(n,r),n){case\"dialog\":ce(\"cancel\",e),ce(\"close\",e),l=r;break;case\"iframe\":case\"object\":case\"embed\":ce(\"load\",e),l=r;break;case\"video\":case\"audio\":for(l=0;l<hr.length;l++)ce(hr[l],e);l=r;break;case\"source\":ce(\"error\",e),l=r;break;case\"img\":case\"image\":case\"link\":ce(\"error\",e),ce(\"load\",e),l=r;break;case\"details\":ce(\"toggle\",e),l=r;break;case\"input\":hi(e,r),l=tu(e,r),ce(\"invalid\",e);break;case\"option\":l=r;break;case\"select\":e._wrapperState={wasMultiple:!!r.multiple},l=F({},r,{value:void 0}),ce(\"invalid\",e);break;case\"textarea\":gi(e,r),l=lu(e,r),ce(\"invalid\",e);break;default:l=r}ou(n,l),c=l;for(u in c)if(c.hasOwnProperty(u)){var f=c[u];u===\"style\"?Ci(e,f):u===\"dangerouslySetInnerHTML\"?(f=f?f.__html:void 0,f!=null&&ki(e,f)):u===\"children\"?typeof f==\"string\"?(n!==\"textarea\"||f!==\"\")&&Zn(e,f):typeof f==\"number\"&&Zn(e,\"\"+f):u!==\"suppressContentEditableWarning\"&&u!==\"suppressHydrationWarning\"&&u!==\"autoFocus\"&&(h.hasOwnProperty(u)?f!=null&&u===\"onScroll\"&&ce(\"scroll\",e):f!=null&&ve(e,u,f,i))}switch(n){case\"input\":Hr(e),yi(e,r,!1);break;case\"textarea\":Hr(e),Si(e);break;case\"option\":r.value!=null&&e.setAttribute(\"value\",\"\"+le(r.value));break;case\"select\":e.multiple=!!r.multiple,u=r.value,u!=null?vn(e,!!r.multiple,u,!1):r.defaultValue!=null&&vn(e,!!r.multiple,r.defaultValue,!0);break;default:typeof l.onClick==\"function\"&&(e.onclick=fl)}switch(n){case\"button\":case\"input\":case\"select\":case\"textarea\":r=!!r.autoFocus;break e;case\"img\":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return De(t),null;case 6:if(e&&t.stateNode!=null)Ma(e,t,e.memoizedProps,r);else{if(typeof r!=\"string\"&&t.stateNode===null)throw Error(s(166));if(n=un(Er.current),un(xt.current),gl(t)){if(r=t.stateNode,n=t.memoizedProps,r[St]=t,(u=r.nodeValue!==n)&&(e=be,e!==null))switch(e.tag){case 3:cl(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&cl(r.nodeValue,n,(e.mode&1)!==0)}u&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[St]=t,t.stateNode=r}return De(t),null;case 13:if(fe(ge),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(he&&et!==null&&t.mode&1&&!(t.flags&128))Ds(),Fn(),t.flags|=98560,u=!1;else if(u=gl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!u)throw Error(s(318));if(u=t.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(s(317));u[St]=t}else Fn(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;De(t),u=!1}else dt!==null&&(Do(dt),dt=null),u=!0;if(!u)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,t.mode&1&&(e===null||ge.current&1?Ne===0&&(Ne=3):Ho())),t.updateQueue!==null&&(t.flags|=4),De(t),null);case 4:return Mn(),Po(e,t),e===null&&vr(t.stateNode.containerInfo),De(t),null;case 10:return eo(t.type._context),De(t),null;case 17:return Ke(t.type)&&pl(),De(t),null;case 19:if(fe(ge),u=t.memoizedState,u===null)return De(t),null;if(r=(t.flags&128)!==0,i=u.rendering,i===null)if(r)Tr(u,!1);else{if(Ne!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(i=Cl(e),i!==null){for(t.flags|=128,Tr(u,!1),r=i.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)u=n,e=r,u.flags&=14680066,i=u.alternate,i===null?(u.childLanes=0,u.lanes=e,u.child=null,u.subtreeFlags=0,u.memoizedProps=null,u.memoizedState=null,u.updateQueue=null,u.dependencies=null,u.stateNode=null):(u.childLanes=i.childLanes,u.lanes=i.lanes,u.child=i.child,u.subtreeFlags=0,u.deletions=null,u.memoizedProps=i.memoizedProps,u.memoizedState=i.memoizedState,u.updateQueue=i.updateQueue,u.type=i.type,e=i.dependencies,u.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return ae(ge,ge.current&1|2),t.child}e=e.sibling}u.tail!==null&&ke()>An&&(t.flags|=128,r=!0,Tr(u,!1),t.lanes=4194304)}else{if(!r)if(e=Cl(i),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Tr(u,!0),u.tail===null&&u.tailMode===\"hidden\"&&!i.alternate&&!he)return De(t),null}else 2*ke()-u.renderingStartTime>An&&n!==1073741824&&(t.flags|=128,r=!0,Tr(u,!1),t.lanes=4194304);u.isBackwards?(i.sibling=t.child,t.child=i):(n=u.last,n!==null?n.sibling=i:t.child=i,u.last=i)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=ke(),t.sibling=null,n=ge.current,ae(ge,r?n&1|2:n&1),t):(De(t),null);case 22:case 23:return Uo(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?tt&1073741824&&(De(t),t.subtreeFlags&6&&(t.flags|=8192)):De(t),null;case 24:return null;case 25:return null}throw Error(s(156,t.tag))}function kd(e,t){switch(Gu(t),t.tag){case 1:return Ke(t.type)&&pl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Mn(),fe(Qe),fe(Ie),io(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return uo(t),null;case 13:if(fe(ge),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(s(340));Fn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return fe(ge),null;case 4:return Mn(),null;case 10:return eo(t.type._context),null;case 22:case 23:return Uo(),null;case 24:return null;default:return null}}var $l=!1,Ae=!1,Ed=typeof WeakSet==\"function\"?WeakSet:Set,O=null;function On(e,t){var n=e.ref;if(n!==null)if(typeof n==\"function\")try{n(null)}catch(r){xe(e,t,r)}else n.current=null}function To(e,t,n){try{n()}catch(r){xe(e,t,r)}}var Ia=!1;function Cd(e,t){if(Au=br,e=ms(),Fu(e)){if(\"selectionStart\"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,u=r.focusNode;r=r.focusOffset;try{n.nodeType,u.nodeType}catch{n=null;break e}var i=0,c=-1,f=-1,g=0,E=0,_=e,k=null;t:for(;;){for(var M;_!==n||l!==0&&_.nodeType!==3||(c=i+l),_!==u||r!==0&&_.nodeType!==3||(f=i+r),_.nodeType===3&&(i+=_.nodeValue.length),(M=_.firstChild)!==null;)k=_,_=M;for(;;){if(_===e)break t;if(k===n&&++g===l&&(c=i),k===u&&++E===r&&(f=i),(M=_.nextSibling)!==null)break;_=k,k=_.parentNode}_=M}n=c===-1||f===-1?null:{start:c,end:f}}else n=null}n=n||{start:0,end:0}}else n=null;for(Uu={focusedElem:e,selectionRange:n},br=!1,O=t;O!==null;)if(t=O,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,O=e;else for(;O!==null;){t=O;try{var A=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(A!==null){var U=A.memoizedProps,Ee=A.memoizedState,v=t.stateNode,p=v.getSnapshotBeforeUpdate(t.elementType===t.type?U:pt(t.type,U),Ee);v.__reactInternalSnapshotBeforeUpdate=p}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent=\"\":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(s(163))}}catch(L){xe(t,t.return,L)}if(e=t.sibling,e!==null){e.return=t.return,O=e;break}O=t.return}return A=Ia,Ia=!1,A}function Lr(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var u=l.destroy;l.destroy=void 0,u!==void 0&&To(t,n,u)}l=l.next}while(l!==r)}}function Rl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Lo(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t==\"function\"?t(e):t.current=e}}function Oa(e){var t=e.alternate;t!==null&&(e.alternate=null,Oa(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[St],delete t[gr],delete t[Wu],delete t[od],delete t[id])),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 Da(e){return e.tag===5||e.tag===3||e.tag===4}function Aa(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Da(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 jo(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=fl));else if(r!==4&&(e=e.child,e!==null))for(jo(e,t,n),e=e.sibling;e!==null;)jo(e,t,n),e=e.sibling}function Fo(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Fo(e,t,n),e=e.sibling;e!==null;)Fo(e,t,n),e=e.sibling}var ze=null,mt=!1;function Kt(e,t,n){for(n=n.child;n!==null;)Ua(e,t,n),n=n.sibling}function Ua(e,t,n){if(wt&&typeof wt.onCommitFiberUnmount==\"function\")try{wt.onCommitFiberUnmount(Yr,n)}catch{}switch(n.tag){case 5:Ae||On(n,t);case 6:var r=ze,l=mt;ze=null,Kt(e,t,n),ze=r,mt=l,ze!==null&&(mt?(e=ze,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ze.removeChild(n.stateNode));break;case 18:ze!==null&&(mt?(e=ze,n=n.stateNode,e.nodeType===8?Bu(e.parentNode,n):e.nodeType===1&&Bu(e,n),ir(e)):Bu(ze,n.stateNode));break;case 4:r=ze,l=mt,ze=n.stateNode.containerInfo,mt=!0,Kt(e,t,n),ze=r,mt=l;break;case 0:case 11:case 14:case 15:if(!Ae&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var u=l,i=u.destroy;u=u.tag,i!==void 0&&(u&2||u&4)&&To(n,t,i),l=l.next}while(l!==r)}Kt(e,t,n);break;case 1:if(!Ae&&(On(n,t),r=n.stateNode,typeof r.componentWillUnmount==\"function\"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(c){xe(n,t,c)}Kt(e,t,n);break;case 21:Kt(e,t,n);break;case 22:n.mode&1?(Ae=(r=Ae)||n.memoizedState!==null,Kt(e,t,n),Ae=r):Kt(e,t,n);break;default:Kt(e,t,n)}}function Ha(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Ed),t.forEach(function(r){var l=$d.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function ht(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var l=n[r];try{var u=e,i=t,c=i;e:for(;c!==null;){switch(c.tag){case 5:ze=c.stateNode,mt=!1;break e;case 3:ze=c.stateNode.containerInfo,mt=!0;break e;case 4:ze=c.stateNode.containerInfo,mt=!0;break e}c=c.return}if(ze===null)throw Error(s(160));Ua(u,i,l),ze=null,mt=!1;var f=l.alternate;f!==null&&(f.return=null),l.return=null}catch(g){xe(l,t,g)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Va(t,e),t=t.sibling}function Va(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(ht(t,e),Et(e),r&4){try{Lr(3,e,e.return),Rl(3,e)}catch(U){xe(e,e.return,U)}try{Lr(5,e,e.return)}catch(U){xe(e,e.return,U)}}break;case 1:ht(t,e),Et(e),r&512&&n!==null&&On(n,n.return);break;case 5:if(ht(t,e),Et(e),r&512&&n!==null&&On(n,n.return),e.flags&32){var l=e.stateNode;try{Zn(l,\"\")}catch(U){xe(e,e.return,U)}}if(r&4&&(l=e.stateNode,l!=null)){var u=e.memoizedProps,i=n!==null?n.memoizedProps:u,c=e.type,f=e.updateQueue;if(e.updateQueue=null,f!==null)try{c===\"input\"&&u.type===\"radio\"&&u.name!=null&&vi(l,u),iu(c,i);var g=iu(c,u);for(i=0;i<f.length;i+=2){var E=f[i],_=f[i+1];E===\"style\"?Ci(l,_):E===\"dangerouslySetInnerHTML\"?ki(l,_):E===\"children\"?Zn(l,_):ve(l,E,_,g)}switch(c){case\"input\":nu(l,u);break;case\"textarea\":wi(l,u);break;case\"select\":var k=l._wrapperState.wasMultiple;l._wrapperState.wasMultiple=!!u.multiple;var M=u.value;M!=null?vn(l,!!u.multiple,M,!1):k!==!!u.multiple&&(u.defaultValue!=null?vn(l,!!u.multiple,u.defaultValue,!0):vn(l,!!u.multiple,u.multiple?[]:\"\",!1))}l[gr]=u}catch(U){xe(e,e.return,U)}}break;case 6:if(ht(t,e),Et(e),r&4){if(e.stateNode===null)throw Error(s(162));l=e.stateNode,u=e.memoizedProps;try{l.nodeValue=u}catch(U){xe(e,e.return,U)}}break;case 3:if(ht(t,e),Et(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{ir(t.containerInfo)}catch(U){xe(e,e.return,U)}break;case 4:ht(t,e),Et(e);break;case 13:ht(t,e),Et(e),l=e.child,l.flags&8192&&(u=l.memoizedState!==null,l.stateNode.isHidden=u,!u||l.alternate!==null&&l.alternate.memoizedState!==null||(Ro=ke())),r&4&&Ha(e);break;case 22:if(E=n!==null&&n.memoizedState!==null,e.mode&1?(Ae=(g=Ae)||E,ht(t,e),Ae=g):ht(t,e),Et(e),r&8192){if(g=e.memoizedState!==null,(e.stateNode.isHidden=g)&&!E&&e.mode&1)for(O=e,E=e.child;E!==null;){for(_=O=E;O!==null;){switch(k=O,M=k.child,k.tag){case 0:case 11:case 14:case 15:Lr(4,k,k.return);break;case 1:On(k,k.return);var A=k.stateNode;if(typeof A.componentWillUnmount==\"function\"){r=k,n=k.return;try{t=r,A.props=t.memoizedProps,A.state=t.memoizedState,A.componentWillUnmount()}catch(U){xe(r,n,U)}}break;case 5:On(k,k.return);break;case 22:if(k.memoizedState!==null){Qa(_);continue}}M!==null?(M.return=k,O=M):Qa(_)}E=E.sibling}e:for(E=null,_=e;;){if(_.tag===5){if(E===null){E=_;try{l=_.stateNode,g?(u=l.style,typeof u.setProperty==\"function\"?u.setProperty(\"display\",\"none\",\"important\"):u.display=\"none\"):(c=_.stateNode,f=_.memoizedProps.style,i=f!=null&&f.hasOwnProperty(\"display\")?f.display:null,c.style.display=Ei(\"display\",i))}catch(U){xe(e,e.return,U)}}}else if(_.tag===6){if(E===null)try{_.stateNode.nodeValue=g?\"\":_.memoizedProps}catch(U){xe(e,e.return,U)}}else if((_.tag!==22&&_.tag!==23||_.memoizedState===null||_===e)&&_.child!==null){_.child.return=_,_=_.child;continue}if(_===e)break e;for(;_.sibling===null;){if(_.return===null||_.return===e)break e;E===_&&(E=null),_=_.return}E===_&&(E=null),_.sibling.return=_.return,_=_.sibling}}break;case 19:ht(t,e),Et(e),r&4&&Ha(e);break;case 21:break;default:ht(t,e),Et(e)}}function Et(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(Da(n)){var r=n;break e}n=n.return}throw Error(s(160))}switch(r.tag){case 5:var l=r.stateNode;r.flags&32&&(Zn(l,\"\"),r.flags&=-33);var u=Aa(e);Fo(e,u,l);break;case 3:case 4:var i=r.stateNode.containerInfo,c=Aa(e);jo(e,c,i);break;default:throw Error(s(161))}}catch(f){xe(e,e.return,f)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function _d(e,t,n){O=e,Ba(e)}function Ba(e,t,n){for(var r=(e.mode&1)!==0;O!==null;){var l=O,u=l.child;if(l.tag===22&&r){var i=l.memoizedState!==null||$l;if(!i){var c=l.alternate,f=c!==null&&c.memoizedState!==null||Ae;c=$l;var g=Ae;if($l=i,(Ae=f)&&!g)for(O=l;O!==null;)i=O,f=i.child,i.tag===22&&i.memoizedState!==null?Ka(l):f!==null?(f.return=i,O=f):Ka(l);for(;u!==null;)O=u,Ba(u),u=u.sibling;O=l,$l=c,Ae=g}Wa(e)}else l.subtreeFlags&8772&&u!==null?(u.return=l,O=u):Wa(e)}}function Wa(e){for(;O!==null;){var t=O;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:Ae||Rl(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!Ae)if(n===null)r.componentDidMount();else{var l=t.elementType===t.type?n.memoizedProps:pt(t.type,n.memoizedProps);r.componentDidUpdate(l,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var u=t.updateQueue;u!==null&&Qs(t,u,r);break;case 3:var i=t.updateQueue;if(i!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}Qs(t,i,n)}break;case 5:var c=t.stateNode;if(n===null&&t.flags&4){n=c;var f=t.memoizedProps;switch(t.type){case\"button\":case\"input\":case\"select\":case\"textarea\":f.autoFocus&&n.focus();break;case\"img\":f.src&&(n.src=f.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var g=t.alternate;if(g!==null){var E=g.memoizedState;if(E!==null){var _=E.dehydrated;_!==null&&ir(_)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(s(163))}Ae||t.flags&512&&Lo(t)}catch(k){xe(t,t.return,k)}}if(t===e){O=null;break}if(n=t.sibling,n!==null){n.return=t.return,O=n;break}O=t.return}}function Qa(e){for(;O!==null;){var t=O;if(t===e){O=null;break}var n=t.sibling;if(n!==null){n.return=t.return,O=n;break}O=t.return}}function Ka(e){for(;O!==null;){var t=O;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Rl(4,t)}catch(f){xe(t,n,f)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount==\"function\"){var l=t.return;try{r.componentDidMount()}catch(f){xe(t,l,f)}}var u=t.return;try{Lo(t)}catch(f){xe(t,u,f)}break;case 5:var i=t.return;try{Lo(t)}catch(f){xe(t,i,f)}}}catch(f){xe(t,t.return,f)}if(t===e){O=null;break}var c=t.sibling;if(c!==null){c.return=t.return,O=c;break}O=t.return}}var Nd=Math.ceil,Ml=de.ReactCurrentDispatcher,zo=de.ReactCurrentOwner,it=de.ReactCurrentBatchConfig,te=0,Le=null,Ce=null,$e=0,tt=0,Dn=Ht(0),Ne=0,jr=null,sn=0,Il=0,$o=0,Fr=null,Ge=null,Ro=0,An=1/0,zt=null,Ol=!1,Mo=null,Yt=null,Dl=!1,Gt=null,Al=0,zr=0,Io=null,Ul=-1,Hl=0;function Ve(){return te&6?ke():Ul!==-1?Ul:Ul=ke()}function Xt(e){return e.mode&1?te&2&&$e!==0?$e&-$e:ad.transition!==null?(Hl===0&&(Hl=Ai()),Hl):(e=ue,e!==0||(e=window.event,e=e===void 0?16:Gi(e.type)),e):1}function vt(e,t,n,r){if(50<zr)throw zr=0,Io=null,Error(s(185));nr(e,n,r),(!(te&2)||e!==Le)&&(e===Le&&(!(te&2)&&(Il|=n),Ne===4&&Zt(e,$e)),Xe(e,r),n===1&&te===0&&!(t.mode&1)&&(An=ke()+500,hl&&Bt()))}function Xe(e,t){var n=e.callbackNode;af(e,t);var r=Zr(e,e===Le?$e:0);if(r===0)n!==null&&Ii(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&Ii(n),t===1)e.tag===0?sd(Ga.bind(null,e)):$s(Ga.bind(null,e)),ld(function(){!(te&6)&&Bt()}),n=null;else{switch(Ui(r)){case 1:n=mu;break;case 4:n=Oi;break;case 16:n=Kr;break;case 536870912:n=Di;break;default:n=Kr}n=nc(n,Ya.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Ya(e,t){if(Ul=-1,Hl=0,te&6)throw Error(s(327));var n=e.callbackNode;if(Un()&&e.callbackNode!==n)return null;var r=Zr(e,e===Le?$e:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=Vl(e,r);else{t=r;var l=te;te|=2;var u=Za();(Le!==e||$e!==t)&&(zt=null,An=ke()+500,cn(e,t));do try{Ld();break}catch(c){Xa(e,c)}while(!0);bu(),Ml.current=u,te=l,Ce!==null?t=0:(Le=null,$e=0,t=Ne)}if(t!==0){if(t===2&&(l=hu(e),l!==0&&(r=l,t=Oo(e,l))),t===1)throw n=jr,cn(e,0),Zt(e,r),Xe(e,ke()),n;if(t===6)Zt(e,r);else{if(l=e.current.alternate,!(r&30)&&!Pd(l)&&(t=Vl(e,r),t===2&&(u=hu(e),u!==0&&(r=u,t=Oo(e,u))),t===1))throw n=jr,cn(e,0),Zt(e,r),Xe(e,ke()),n;switch(e.finishedWork=l,e.finishedLanes=r,t){case 0:case 1:throw Error(s(345));case 2:fn(e,Ge,zt);break;case 3:if(Zt(e,r),(r&130023424)===r&&(t=Ro+500-ke(),10<t)){if(Zr(e,0)!==0)break;if(l=e.suspendedLanes,(l&r)!==r){Ve(),e.pingedLanes|=e.suspendedLanes&l;break}e.timeoutHandle=Vu(fn.bind(null,e,Ge,zt),t);break}fn(e,Ge,zt);break;case 4:if(Zt(e,r),(r&4194240)===r)break;for(t=e.eventTimes,l=-1;0<r;){var i=31-ct(r);u=1<<i,i=t[i],i>l&&(l=i),r&=~u}if(r=l,r=ke()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Nd(r/1960))-r,10<r){e.timeoutHandle=Vu(fn.bind(null,e,Ge,zt),r);break}fn(e,Ge,zt);break;case 5:fn(e,Ge,zt);break;default:throw Error(s(329))}}}return Xe(e,ke()),e.callbackNode===n?Ya.bind(null,e):null}function Oo(e,t){var n=Fr;return e.current.memoizedState.isDehydrated&&(cn(e,t).flags|=256),e=Vl(e,t),e!==2&&(t=Ge,Ge=n,t!==null&&Do(t)),e}function Do(e){Ge===null?Ge=e:Ge.push.apply(Ge,e)}function Pd(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var l=n[r],u=l.getSnapshot;l=l.value;try{if(!ft(u(),l))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Zt(e,t){for(t&=~$o,t&=~Il,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-ct(t),r=1<<n;e[n]=-1,t&=~r}}function Ga(e){if(te&6)throw Error(s(327));Un();var t=Zr(e,0);if(!(t&1))return Xe(e,ke()),null;var n=Vl(e,t);if(e.tag!==0&&n===2){var r=hu(e);r!==0&&(t=r,n=Oo(e,r))}if(n===1)throw n=jr,cn(e,0),Zt(e,t),Xe(e,ke()),n;if(n===6)throw Error(s(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,fn(e,Ge,zt),Xe(e,ke()),null}function Ao(e,t){var n=te;te|=1;try{return e(t)}finally{te=n,te===0&&(An=ke()+500,hl&&Bt())}}function an(e){Gt!==null&&Gt.tag===0&&!(te&6)&&Un();var t=te;te|=1;var n=it.transition,r=ue;try{if(it.transition=null,ue=1,e)return e()}finally{ue=r,it.transition=n,te=t,!(te&6)&&Bt()}}function Uo(){tt=Dn.current,fe(Dn)}function cn(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,rd(n)),Ce!==null)for(n=Ce.return;n!==null;){var r=n;switch(Gu(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&pl();break;case 3:Mn(),fe(Qe),fe(Ie),io();break;case 5:uo(r);break;case 4:Mn();break;case 13:fe(ge);break;case 19:fe(ge);break;case 10:eo(r.type._context);break;case 22:case 23:Uo()}n=n.return}if(Le=e,Ce=e=Jt(e.current,null),$e=tt=t,Ne=0,jr=null,$o=Il=sn=0,Ge=Fr=null,ln!==null){for(t=0;t<ln.length;t++)if(n=ln[t],r=n.interleaved,r!==null){n.interleaved=null;var l=r.next,u=n.pending;if(u!==null){var i=u.next;u.next=l,r.next=i}n.pending=r}ln=null}return e}function Xa(e,t){do{var n=Ce;try{if(bu(),_l.current=Ll,Nl){for(var r=we.memoizedState;r!==null;){var l=r.queue;l!==null&&(l.pending=null),r=r.next}Nl=!1}if(on=0,Te=_e=we=null,Cr=!1,_r=0,zo.current=null,n===null||n.return===null){Ne=1,jr=t,Ce=null;break}e:{var u=e,i=n.return,c=n,f=t;if(t=$e,c.flags|=32768,f!==null&&typeof f==\"object\"&&typeof f.then==\"function\"){var g=f,E=c,_=E.tag;if(!(E.mode&1)&&(_===0||_===11||_===15)){var k=E.alternate;k?(E.updateQueue=k.updateQueue,E.memoizedState=k.memoizedState,E.lanes=k.lanes):(E.updateQueue=null,E.memoizedState=null)}var M=Sa(i);if(M!==null){M.flags&=-257,xa(M,i,c,u,t),M.mode&1&&wa(u,g,t),t=M,f=g;var A=t.updateQueue;if(A===null){var U=new Set;U.add(f),t.updateQueue=U}else A.add(f);break e}else{if(!(t&1)){wa(u,g,t),Ho();break e}f=Error(s(426))}}else if(he&&c.mode&1){var Ee=Sa(i);if(Ee!==null){!(Ee.flags&65536)&&(Ee.flags|=256),xa(Ee,i,c,u,t),Ju(In(f,c));break e}}u=f=In(f,c),Ne!==4&&(Ne=2),Fr===null?Fr=[u]:Fr.push(u),u=i;do{switch(u.tag){case 3:u.flags|=65536,t&=-t,u.lanes|=t;var v=ya(u,f,t);Ws(u,v);break e;case 1:c=f;var p=u.type,y=u.stateNode;if(!(u.flags&128)&&(typeof p.getDerivedStateFromError==\"function\"||y!==null&&typeof y.componentDidCatch==\"function\"&&(Yt===null||!Yt.has(y)))){u.flags|=65536,t&=-t,u.lanes|=t;var L=ga(u,c,t);Ws(u,L);break e}}u=u.return}while(u!==null)}qa(n)}catch(H){t=H,Ce===n&&n!==null&&(Ce=n=n.return);continue}break}while(!0)}function Za(){var e=Ml.current;return Ml.current=Ll,e===null?Ll:e}function Ho(){(Ne===0||Ne===3||Ne===2)&&(Ne=4),Le===null||!(sn&268435455)&&!(Il&268435455)||Zt(Le,$e)}function Vl(e,t){var n=te;te|=2;var r=Za();(Le!==e||$e!==t)&&(zt=null,cn(e,t));do try{Td();break}catch(l){Xa(e,l)}while(!0);if(bu(),te=n,Ml.current=r,Ce!==null)throw Error(s(261));return Le=null,$e=0,Ne}function Td(){for(;Ce!==null;)Ja(Ce)}function Ld(){for(;Ce!==null&&!bc();)Ja(Ce)}function Ja(e){var t=tc(e.alternate,e,tt);e.memoizedProps=e.pendingProps,t===null?qa(e):Ce=t,zo.current=null}function qa(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=kd(n,t),n!==null){n.flags&=32767,Ce=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Ne=6,Ce=null;return}}else if(n=xd(n,t,tt),n!==null){Ce=n;return}if(t=t.sibling,t!==null){Ce=t;return}Ce=t=e}while(t!==null);Ne===0&&(Ne=5)}function fn(e,t,n){var r=ue,l=it.transition;try{it.transition=null,ue=1,jd(e,t,n,r)}finally{it.transition=l,ue=r}return null}function jd(e,t,n,r){do Un();while(Gt!==null);if(te&6)throw Error(s(327));n=e.finishedWork;var l=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(s(177));e.callbackNode=null,e.callbackPriority=0;var u=n.lanes|n.childLanes;if(cf(e,u),e===Le&&(Ce=Le=null,$e=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||Dl||(Dl=!0,nc(Kr,function(){return Un(),null})),u=(n.flags&15990)!==0,n.subtreeFlags&15990||u){u=it.transition,it.transition=null;var i=ue;ue=1;var c=te;te|=4,zo.current=null,Cd(e,n),Va(n,e),Zf(Uu),br=!!Au,Uu=Au=null,e.current=n,_d(n),ef(),te=c,ue=i,it.transition=u}else e.current=n;if(Dl&&(Dl=!1,Gt=e,Al=l),u=e.pendingLanes,u===0&&(Yt=null),rf(n.stateNode),Xe(e,ke()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)l=t[n],r(l.value,{componentStack:l.stack,digest:l.digest});if(Ol)throw Ol=!1,e=Mo,Mo=null,e;return Al&1&&e.tag!==0&&Un(),u=e.pendingLanes,u&1?e===Io?zr++:(zr=0,Io=e):zr=0,Bt(),null}function Un(){if(Gt!==null){var e=Ui(Al),t=it.transition,n=ue;try{if(it.transition=null,ue=16>e?16:e,Gt===null)var r=!1;else{if(e=Gt,Gt=null,Al=0,te&6)throw Error(s(331));var l=te;for(te|=4,O=e.current;O!==null;){var u=O,i=u.child;if(O.flags&16){var c=u.deletions;if(c!==null){for(var f=0;f<c.length;f++){var g=c[f];for(O=g;O!==null;){var E=O;switch(E.tag){case 0:case 11:case 15:Lr(8,E,u)}var _=E.child;if(_!==null)_.return=E,O=_;else for(;O!==null;){E=O;var k=E.sibling,M=E.return;if(Oa(E),E===g){O=null;break}if(k!==null){k.return=M,O=k;break}O=M}}}var A=u.alternate;if(A!==null){var U=A.child;if(U!==null){A.child=null;do{var Ee=U.sibling;U.sibling=null,U=Ee}while(U!==null)}}O=u}}if(u.subtreeFlags&2064&&i!==null)i.return=u,O=i;else e:for(;O!==null;){if(u=O,u.flags&2048)switch(u.tag){case 0:case 11:case 15:Lr(9,u,u.return)}var v=u.sibling;if(v!==null){v.return=u.return,O=v;break e}O=u.return}}var p=e.current;for(O=p;O!==null;){i=O;var y=i.child;if(i.subtreeFlags&2064&&y!==null)y.return=i,O=y;else e:for(i=p;O!==null;){if(c=O,c.flags&2048)try{switch(c.tag){case 0:case 11:case 15:Rl(9,c)}}catch(H){xe(c,c.return,H)}if(c===i){O=null;break e}var L=c.sibling;if(L!==null){L.return=c.return,O=L;break e}O=c.return}}if(te=l,Bt(),wt&&typeof wt.onPostCommitFiberRoot==\"function\")try{wt.onPostCommitFiberRoot(Yr,e)}catch{}r=!0}return r}finally{ue=n,it.transition=t}}return!1}function ba(e,t,n){t=In(n,t),t=ya(e,t,1),e=Qt(e,t,1),t=Ve(),e!==null&&(nr(e,1,t),Xe(e,t))}function xe(e,t,n){if(e.tag===3)ba(e,e,n);else for(;t!==null;){if(t.tag===3){ba(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==\"function\"||typeof r.componentDidCatch==\"function\"&&(Yt===null||!Yt.has(r))){e=In(n,e),e=ga(t,e,1),t=Qt(t,e,1),e=Ve(),t!==null&&(nr(t,1,e),Xe(t,e));break}}t=t.return}}function Fd(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=Ve(),e.pingedLanes|=e.suspendedLanes&n,Le===e&&($e&n)===n&&(Ne===4||Ne===3&&($e&130023424)===$e&&500>ke()-Ro?cn(e,0):$o|=n),Xe(e,t)}function ec(e,t){t===0&&(e.mode&1?(t=Xr,Xr<<=1,!(Xr&130023424)&&(Xr=4194304)):t=1);var n=Ve();e=Lt(e,t),e!==null&&(nr(e,t,n),Xe(e,n))}function zd(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ec(e,n)}function $d(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(s(314))}r!==null&&r.delete(t),ec(e,n)}var tc;tc=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Qe.current)Ye=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Ye=!1,Sd(e,t,n);Ye=!!(e.flags&131072)}else Ye=!1,he&&t.flags&1048576&&Rs(t,yl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;zl(e,t),e=t.pendingProps;var l=Tn(t,Ie.current);Rn(t,n),l=co(null,t,r,e,l,n);var u=fo();return t.flags|=1,typeof l==\"object\"&&l!==null&&typeof l.render==\"function\"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ke(r)?(u=!0,ml(t)):u=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,ro(t),l.updater=jl,t.stateNode=l,l._reactInternals=t,go(t,r,e,n),t=ko(null,t,r,!0,u,n)):(t.tag=0,he&&u&&Yu(t),He(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(zl(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Md(r),e=pt(r,e),l){case 0:t=xo(null,t,r,e,n);break e;case 1:t=Pa(null,t,r,e,n);break e;case 11:t=ka(null,t,r,e,n);break e;case 14:t=Ea(null,t,r,pt(r.type,e),n);break e}throw Error(s(306,r,\"\"))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:pt(r,l),xo(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:pt(r,l),Pa(e,t,r,l,n);case 3:e:{if(Ta(t),e===null)throw Error(s(387));r=t.pendingProps,u=t.memoizedState,l=u.element,Bs(e,t),El(t,r,null,n);var i=t.memoizedState;if(r=i.element,u.isDehydrated)if(u={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=u,t.memoizedState=u,t.flags&256){l=In(Error(s(423)),t),t=La(e,t,r,n,l);break e}else if(r!==l){l=In(Error(s(424)),t),t=La(e,t,r,n,l);break e}else for(et=Ut(t.stateNode.containerInfo.firstChild),be=t,he=!0,dt=null,n=Hs(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Fn(),r===l){t=Ft(e,t,n);break e}He(e,t,r,n)}t=t.child}return t;case 5:return Ks(t),e===null&&Zu(t),r=t.type,l=t.pendingProps,u=e!==null?e.memoizedProps:null,i=l.children,Hu(r,l)?i=null:u!==null&&Hu(r,u)&&(t.flags|=32),Na(e,t),He(e,t,i,n),t.child;case 6:return e===null&&Zu(t),null;case 13:return ja(e,t,n);case 4:return lo(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=zn(t,null,r,n):He(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:pt(r,l),ka(e,t,r,l,n);case 7:return He(e,t,t.pendingProps,n),t.child;case 8:return He(e,t,t.pendingProps.children,n),t.child;case 12:return He(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,u=t.memoizedProps,i=l.value,ae(Sl,r._currentValue),r._currentValue=i,u!==null)if(ft(u.value,i)){if(u.children===l.children&&!Qe.current){t=Ft(e,t,n);break e}}else for(u=t.child,u!==null&&(u.return=t);u!==null;){var c=u.dependencies;if(c!==null){i=u.child;for(var f=c.firstContext;f!==null;){if(f.context===r){if(u.tag===1){f=jt(-1,n&-n),f.tag=2;var g=u.updateQueue;if(g!==null){g=g.shared;var E=g.pending;E===null?f.next=f:(f.next=E.next,E.next=f),g.pending=f}}u.lanes|=n,f=u.alternate,f!==null&&(f.lanes|=n),to(u.return,n,t),c.lanes|=n;break}f=f.next}}else if(u.tag===10)i=u.type===t.type?null:u.child;else if(u.tag===18){if(i=u.return,i===null)throw Error(s(341));i.lanes|=n,c=i.alternate,c!==null&&(c.lanes|=n),to(i,n,t),i=u.sibling}else i=u.child;if(i!==null)i.return=u;else for(i=u;i!==null;){if(i===t){i=null;break}if(u=i.sibling,u!==null){u.return=i.return,i=u;break}i=i.return}u=i}He(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,Rn(t,n),l=ut(l),r=r(l),t.flags|=1,He(e,t,r,n),t.child;case 14:return r=t.type,l=pt(r,t.pendingProps),l=pt(r.type,l),Ea(e,t,r,l,n);case 15:return Ca(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:pt(r,l),zl(e,t),t.tag=1,Ke(r)?(e=!0,ml(t)):e=!1,Rn(t,n),ha(t,r,l),go(t,r,l,n),ko(null,t,r,!0,e,n);case 19:return za(e,t,n);case 22:return _a(e,t,n)}throw Error(s(156,t.tag))};function nc(e,t){return Mi(e,t)}function Rd(e,t,n,r){this.tag=e,this.key=n,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=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function st(e,t,n,r){return new Rd(e,t,n,r)}function Vo(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Md(e){if(typeof e==\"function\")return Vo(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Pe)return 11;if(e===nt)return 14}return 2}function Jt(e,t){var n=e.alternate;return n===null?(n=st(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Bl(e,t,n,r,l,u){var i=2;if(r=e,typeof e==\"function\")Vo(e)&&(i=1);else if(typeof e==\"string\")i=5;else e:switch(e){case Se:return dn(n.children,l,u,t);case Re:i=8,l|=8;break;case Be:return e=st(12,n,t,l|2),e.elementType=Be,e.lanes=u,e;case Ue:return e=st(13,n,t,l),e.elementType=Ue,e.lanes=u,e;case We:return e=st(19,n,t,l),e.elementType=We,e.lanes=u,e;case pe:return Wl(n,l,u,t);default:if(typeof e==\"object\"&&e!==null)switch(e.$$typeof){case ie:i=10;break e;case Me:i=9;break e;case Pe:i=11;break e;case nt:i=14;break e;case Fe:i=16,r=null;break e}throw Error(s(130,e==null?e:typeof e,\"\"))}return t=st(i,n,t,l),t.elementType=e,t.type=r,t.lanes=u,t}function dn(e,t,n,r){return e=st(7,e,r,t),e.lanes=n,e}function Wl(e,t,n,r){return e=st(22,e,r,t),e.elementType=pe,e.lanes=n,e.stateNode={isHidden:!1},e}function Bo(e,t,n){return e=st(6,e,null,t),e.lanes=n,e}function Wo(e,t,n){return t=st(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Id(e,t,n,r,l){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=vu(0),this.expirationTimes=vu(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=vu(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Qo(e,t,n,r,l,u,i,c,f){return e=new Id(e,t,n,c,f),t===1?(t=1,u===!0&&(t|=8)):t=0,u=st(3,null,null,t),e.current=u,u.stateNode=e,u.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},ro(u),e}function Od(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:oe,key:r==null?null:\"\"+r,children:e,containerInfo:t,implementation:n}}function rc(e){if(!e)return Vt;e=e._reactInternals;e:{if(bt(e)!==e||e.tag!==1)throw Error(s(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ke(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(s(171))}if(e.tag===1){var n=e.type;if(Ke(n))return Fs(e,n,t)}return t}function lc(e,t,n,r,l,u,i,c,f){return e=Qo(n,r,!0,e,l,u,i,c,f),e.context=rc(null),n=e.current,r=Ve(),l=Xt(n),u=jt(r,l),u.callback=t??null,Qt(n,u,l),e.current.lanes=l,nr(e,l,r),Xe(e,r),e}function Ql(e,t,n,r){var l=t.current,u=Ve(),i=Xt(l);return n=rc(n),t.context===null?t.context=n:t.pendingContext=n,t=jt(u,i),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=Qt(l,t,i),e!==null&&(vt(e,l,i,u),kl(e,l,i)),i}function Kl(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function uc(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Ko(e,t){uc(e,t),(e=e.alternate)&&uc(e,t)}var oc=typeof reportError==\"function\"?reportError:function(e){console.error(e)};function Yo(e){this._internalRoot=e}Yl.prototype.render=Yo.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(s(409));Ql(e,t,null,null)},Yl.prototype.unmount=Yo.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;an(function(){Ql(null,e,null,null)}),t[_t]=null}};function Yl(e){this._internalRoot=e}Yl.prototype.unstable_scheduleHydration=function(e){if(e){var t=Bi();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Ot.length&&t!==0&&t<Ot[n].priority;n++);Ot.splice(n,0,e),n===0&&Ki(e)}};function Go(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Gl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==\" react-mount-point-unstable \"))}function ic(){}function Dd(e,t,n,r,l){if(l){if(typeof r==\"function\"){var u=r;r=function(){var g=Kl(i);u.call(g)}}var i=lc(t,r,e,0,null,!1,!1,\"\",ic);return e._reactRootContainer=i,e[_t]=i.current,vr(e.nodeType===8?e.parentNode:e),an(),i}for(;l=e.lastChild;)e.removeChild(l);if(typeof r==\"function\"){var c=r;r=function(){var g=Kl(f);c.call(g)}}var f=Qo(e,0,!1,null,null,!1,!1,\"\",ic);return e._reactRootContainer=f,e[_t]=f.current,vr(e.nodeType===8?e.parentNode:e),an(function(){Ql(t,f,n,r)}),f}function Xl(e,t,n,r,l){var u=n._reactRootContainer;if(u){var i=u;if(typeof l==\"function\"){var c=l;l=function(){var f=Kl(i);c.call(f)}}Ql(t,i,e,l)}else i=Dd(n,t,e,l,r);return Kl(i)}Hi=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=tr(t.pendingLanes);n!==0&&(yu(t,n|1),Xe(t,ke()),!(te&6)&&(An=ke()+500,Bt()))}break;case 13:an(function(){var r=Lt(e,1);if(r!==null){var l=Ve();vt(r,e,1,l)}}),Ko(e,1)}},gu=function(e){if(e.tag===13){var t=Lt(e,134217728);if(t!==null){var n=Ve();vt(t,e,134217728,n)}Ko(e,134217728)}},Vi=function(e){if(e.tag===13){var t=Xt(e),n=Lt(e,t);if(n!==null){var r=Ve();vt(n,e,t,r)}Ko(e,t)}},Bi=function(){return ue},Wi=function(e,t){var n=ue;try{return ue=e,t()}finally{ue=n}},cu=function(e,t,n){switch(t){case\"input\":if(nu(e,n),t=n.name,n.type===\"radio\"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+t)+'][type=\"radio\"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var l=dl(r);if(!l)throw Error(s(90));mi(r),nu(r,l)}}}break;case\"textarea\":wi(e,n);break;case\"select\":t=n.value,t!=null&&vn(e,!!n.multiple,t,!1)}},Ti=Ao,Li=an;var Ad={usingClientEntryPoint:!1,Events:[wr,Nn,dl,Ni,Pi,Ao]},$r={findFiberByHostInstance:en,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"},Ud={bundleType:$r.bundleType,version:$r.version,rendererPackageName:$r.rendererPackageName,rendererConfig:$r.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:de.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=$i(e),e===null?null:e.stateNode},findFiberByHostInstance:$r.findFiberByHostInstance,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<\"u\"){var Zl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Zl.isDisabled&&Zl.supportsFiber)try{Yr=Zl.inject(Ud),wt=Zl}catch{}}return Ze.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ad,Ze.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Go(t))throw Error(s(200));return Od(e,t,null,n)},Ze.createRoot=function(e,t){if(!Go(e))throw Error(s(299));var n=!1,r=\"\",l=oc;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(l=t.onRecoverableError)),t=Qo(e,1,!1,null,null,n,!1,r,l),e[_t]=t.current,vr(e.nodeType===8?e.parentNode:e),new Yo(t)},Ze.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render==\"function\"?Error(s(188)):(e=Object.keys(e).join(\",\"),Error(s(268,e)));return e=$i(t),e=e===null?null:e.stateNode,e},Ze.flushSync=function(e){return an(e)},Ze.hydrate=function(e,t,n){if(!Gl(t))throw Error(s(200));return Xl(null,e,t,!0,n)},Ze.hydrateRoot=function(e,t,n){if(!Go(e))throw Error(s(405));var r=n!=null&&n.hydratedSources||null,l=!1,u=\"\",i=oc;if(n!=null&&(n.unstable_strictMode===!0&&(l=!0),n.identifierPrefix!==void 0&&(u=n.identifierPrefix),n.onRecoverableError!==void 0&&(i=n.onRecoverableError)),t=lc(t,null,e,1,n??null,l,!1,u,i),e[_t]=t.current,vr(e),r)for(e=0;e<r.length;e++)n=r[e],l=n._getVersion,l=l(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,l]:t.mutableSourceEagerHydrationData.push(n,l);return new Yl(t)},Ze.render=function(e,t,n){if(!Gl(t))throw Error(s(200));return Xl(null,e,t,!1,n)},Ze.unmountComponentAtNode=function(e){if(!Gl(e))throw Error(s(40));return e._reactRootContainer?(an(function(){Xl(null,null,e,!1,function(){e._reactRootContainer=null,e[_t]=null})}),!0):!1},Ze.unstable_batchedUpdates=Ao,Ze.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Gl(n))throw Error(s(200));if(e==null||e._reactInternals===void 0)throw Error(s(38));return Xl(e,t,n,!1,r)},Ze.version=\"18.3.1-next-f1338f8080-20240426\",Ze}var hc;function Xd(){if(hc)return Jo.exports;hc=1;function o(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>\"u\"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=\"function\"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(o)}catch(a){console.error(a)}}return o(),Jo.exports=Gd(),Jo.exports}var vc;function Zd(){if(vc)return Jl;vc=1;var o=Xd();return Jl.createRoot=o.createRoot,Jl.hydrateRoot=o.hydrateRoot,Jl}var Jd=Zd();const xc=typeof document<\"u\"?$t.useLayoutEffect:()=>{};function qd(o){const a=C.useRef(null);return xc(()=>{a.current=o},[o]),C.useCallback((...s)=>{const d=a.current;return d==null?void 0:d(...s)},[])}const Dr=o=>{var a;return(a=o==null?void 0:o.ownerDocument)!==null&&a!==void 0?a:document},pn=o=>o&&\"window\"in o&&o.window===o?o:Dr(o).defaultView||window;function bd(o){var a;return typeof window>\"u\"||window.navigator==null?!1:((a=window.navigator.userAgentData)===null||a===void 0?void 0:a.brands.some(s=>o.test(s.brand)))||o.test(window.navigator.userAgent)}function ep(o){var a;return typeof window<\"u\"&&window.navigator!=null?o.test(((a=window.navigator.userAgentData)===null||a===void 0?void 0:a.platform)||window.navigator.platform):!1}function kc(o){let a=null;return()=>(a==null&&(a=o()),a)}const tp=kc(function(){return ep(/^Mac/i)}),np=kc(function(){return bd(/Android/i)});function rp(o){return o.mozInputSource===0&&o.isTrusted?!0:np()&&o.pointerType?o.type===\"click\"&&o.buttons===1:o.detail===0&&!o.pointerType}class lp{isDefaultPrevented(){return this.nativeEvent.defaultPrevented}preventDefault(){this.defaultPrevented=!0,this.nativeEvent.preventDefault()}stopPropagation(){this.nativeEvent.stopPropagation(),this.isPropagationStopped=()=>!0}isPropagationStopped(){return!1}persist(){}constructor(a,s){this.nativeEvent=s,this.target=s.target,this.currentTarget=s.currentTarget,this.relatedTarget=s.relatedTarget,this.bubbles=s.bubbles,this.cancelable=s.cancelable,this.defaultPrevented=s.defaultPrevented,this.eventPhase=s.eventPhase,this.isTrusted=s.isTrusted,this.timeStamp=s.timeStamp,this.type=a}}function Ec(o){let a=C.useRef({isFocused:!1,observer:null});xc(()=>{const d=a.current;return()=>{d.observer&&(d.observer.disconnect(),d.observer=null)}},[]);let s=qd(d=>{o==null||o(d)});return C.useCallback(d=>{if(d.target instanceof HTMLButtonElement||d.target instanceof HTMLInputElement||d.target instanceof HTMLTextAreaElement||d.target instanceof HTMLSelectElement){a.current.isFocused=!0;let h=d.target,w=x=>{a.current.isFocused=!1,h.disabled&&s(new lp(\"blur\",x)),a.current.observer&&(a.current.observer.disconnect(),a.current.observer=null)};h.addEventListener(\"focusout\",w,{once:!0}),a.current.observer=new MutationObserver(()=>{if(a.current.isFocused&&h.disabled){var x;(x=a.current.observer)===null||x===void 0||x.disconnect();let N=h===document.activeElement?null:document.activeElement;h.dispatchEvent(new FocusEvent(\"blur\",{relatedTarget:N})),h.dispatchEvent(new FocusEvent(\"focusout\",{bubbles:!0,relatedTarget:N}))}}),a.current.observer.observe(h,{attributes:!0,attributeFilter:[\"disabled\"]})}},[s])}function up(o){let{isDisabled:a,onFocus:s,onBlur:d,onFocusChange:h}=o;const w=C.useCallback(T=>{if(T.target===T.currentTarget)return d&&d(T),h&&h(!1),!0},[d,h]),x=Ec(w),N=C.useCallback(T=>{const I=Dr(T.target);T.target===T.currentTarget&&I.activeElement===T.target&&(s&&s(T),h&&h(!0),x(T))},[h,s,x]);return{focusProps:{onFocus:!a&&(s||h||d)?N:void 0,onBlur:!a&&(d||h)?w:void 0}}}let Ar=null,ri=new Set,Or=new Map,hn=!1,li=!1;const op={Tab:!0,Escape:!0};function ci(o,a){for(let s of ri)s(o,a)}function ip(o){return!(o.metaKey||!tp()&&o.altKey||o.ctrlKey||o.key===\"Control\"||o.key===\"Shift\"||o.key===\"Meta\")}function bl(o){hn=!0,ip(o)&&(Ar=\"keyboard\",ci(\"keyboard\",o))}function at(o){Ar=\"pointer\",(o.type===\"mousedown\"||o.type===\"pointerdown\")&&(hn=!0,ci(\"pointer\",o))}function Cc(o){rp(o)&&(hn=!0,Ar=\"virtual\")}function _c(o){o.target===window||o.target===document||(!hn&&!li&&(Ar=\"virtual\",ci(\"virtual\",o)),hn=!1,li=!1)}function Nc(){hn=!1,li=!0}function ui(o){if(typeof window>\"u\"||Or.get(pn(o)))return;const a=pn(o),s=Dr(o);let d=a.HTMLElement.prototype.focus;a.HTMLElement.prototype.focus=function(){hn=!0,d.apply(this,arguments)},s.addEventListener(\"keydown\",bl,!0),s.addEventListener(\"keyup\",bl,!0),s.addEventListener(\"click\",Cc,!0),a.addEventListener(\"focus\",_c,!0),a.addEventListener(\"blur\",Nc,!1),typeof PointerEvent<\"u\"?(s.addEventListener(\"pointerdown\",at,!0),s.addEventListener(\"pointermove\",at,!0),s.addEventListener(\"pointerup\",at,!0)):(s.addEventListener(\"mousedown\",at,!0),s.addEventListener(\"mousemove\",at,!0),s.addEventListener(\"mouseup\",at,!0)),a.addEventListener(\"beforeunload\",()=>{Pc(o)},{once:!0}),Or.set(a,{focus:d})}const Pc=(o,a)=>{const s=pn(o),d=Dr(o);a&&d.removeEventListener(\"DOMContentLoaded\",a),Or.has(s)&&(s.HTMLElement.prototype.focus=Or.get(s).focus,d.removeEventListener(\"keydown\",bl,!0),d.removeEventListener(\"keyup\",bl,!0),d.removeEventListener(\"click\",Cc,!0),s.removeEventListener(\"focus\",_c,!0),s.removeEventListener(\"blur\",Nc,!1),typeof PointerEvent<\"u\"?(d.removeEventListener(\"pointerdown\",at,!0),d.removeEventListener(\"pointermove\",at,!0),d.removeEventListener(\"pointerup\",at,!0)):(d.removeEventListener(\"mousedown\",at,!0),d.removeEventListener(\"mousemove\",at,!0),d.removeEventListener(\"mouseup\",at,!0)),Or.delete(s))};function sp(o){const a=Dr(o);let s;return a.readyState!==\"loading\"?ui(o):(s=()=>{ui(o)},a.addEventListener(\"DOMContentLoaded\",s)),()=>Pc(o,s)}typeof document<\"u\"&&sp();function Tc(){return Ar!==\"pointer\"}const ap=new Set([\"checkbox\",\"radio\",\"range\",\"color\",\"file\",\"image\",\"button\",\"submit\",\"reset\"]);function cp(o,a,s){var d;const h=typeof window<\"u\"?pn(s==null?void 0:s.target).HTMLInputElement:HTMLInputElement,w=typeof window<\"u\"?pn(s==null?void 0:s.target).HTMLTextAreaElement:HTMLTextAreaElement,x=typeof window<\"u\"?pn(s==null?void 0:s.target).HTMLElement:HTMLElement,N=typeof window<\"u\"?pn(s==null?void 0:s.target).KeyboardEvent:KeyboardEvent;return o=o||(s==null?void 0:s.target)instanceof h&&!ap.has(s==null||(d=s.target)===null||d===void 0?void 0:d.type)||(s==null?void 0:s.target)instanceof w||(s==null?void 0:s.target)instanceof x&&(s==null?void 0:s.target.isContentEditable),!(o&&a===\"keyboard\"&&s instanceof N&&!op[s.key])}function fp(o,a,s){ui(),C.useEffect(()=>{let d=(h,w)=>{cp(!!(s!=null&&s.isTextInput),h,w)&&o(Tc())};return ri.add(d),()=>{ri.delete(d)}},a)}function dp(o){let{isDisabled:a,onBlurWithin:s,onFocusWithin:d,onFocusWithinChange:h}=o,w=C.useRef({isFocusWithin:!1}),x=C.useCallback(I=>{w.current.isFocusWithin&&!I.currentTarget.contains(I.relatedTarget)&&(w.current.isFocusWithin=!1,s&&s(I),h&&h(!1))},[s,h,w]),N=Ec(x),T=C.useCallback(I=>{!w.current.isFocusWithin&&document.activeElement===I.target&&(d&&d(I),h&&h(!0),w.current.isFocusWithin=!0,N(I))},[d,h,N]);return a?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:T,onBlur:x}}}let eu=!1,ei=0;function oi(){eu=!0,setTimeout(()=>{eu=!1},50)}function yc(o){o.pointerType===\"touch\"&&oi()}function pp(){if(!(typeof document>\"u\"))return typeof PointerEvent<\"u\"?document.addEventListener(\"pointerup\",yc):document.addEventListener(\"touchend\",oi),ei++,()=>{ei--,!(ei>0)&&(typeof PointerEvent<\"u\"?document.removeEventListener(\"pointerup\",yc):document.removeEventListener(\"touchend\",oi))}}function mp(o){let{onHoverStart:a,onHoverChange:s,onHoverEnd:d,isDisabled:h}=o,[w,x]=C.useState(!1),N=C.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:\"\",target:null}).current;C.useEffect(pp,[]);let{hoverProps:T,triggerHoverEnd:I}=C.useMemo(()=>{let j=(z,V)=>{if(N.pointerType=V,h||V===\"touch\"||N.isHovered||!z.currentTarget.contains(z.target))return;N.isHovered=!0;let G=z.currentTarget;N.target=G,a&&a({type:\"hoverstart\",target:G,pointerType:V}),s&&s(!0),x(!0)},R=(z,V)=>{if(N.pointerType=\"\",N.target=null,V===\"touch\"||!N.isHovered)return;N.isHovered=!1;let G=z.currentTarget;d&&d({type:\"hoverend\",target:G,pointerType:V}),s&&s(!1),x(!1)},D={};return typeof PointerEvent<\"u\"?(D.onPointerEnter=z=>{eu&&z.pointerType===\"mouse\"||j(z,z.pointerType)},D.onPointerLeave=z=>{!h&&z.currentTarget.contains(z.target)&&R(z,z.pointerType)}):(D.onTouchStart=()=>{N.ignoreEmulatedMouseEvents=!0},D.onMouseEnter=z=>{!N.ignoreEmulatedMouseEvents&&!eu&&j(z,\"mouse\"),N.ignoreEmulatedMouseEvents=!1},D.onMouseLeave=z=>{!h&&z.currentTarget.contains(z.target)&&R(z,\"mouse\")}),{hoverProps:D,triggerHoverEnd:R}},[a,s,d,h,N]);return C.useEffect(()=>{h&&I({currentTarget:N.target},N.pointerType)},[h]),{hoverProps:T,isHovered:w}}function Lc(o={}){let{autoFocus:a=!1,isTextInput:s,within:d}=o,h=C.useRef({isFocused:!1,isFocusVisible:a||Tc()}),[w,x]=C.useState(!1),[N,T]=C.useState(()=>h.current.isFocused&&h.current.isFocusVisible),I=C.useCallback(()=>T(h.current.isFocused&&h.current.isFocusVisible),[]),j=C.useCallback(z=>{h.current.isFocused=z,x(z),I()},[I]);fp(z=>{h.current.isFocusVisible=z,I()},[],{isTextInput:s});let{focusProps:R}=up({isDisabled:d,onFocusChange:j}),{focusWithinProps:D}=dp({isDisabled:!d,onFocusWithinChange:j});return{isFocused:w,isFocusVisible:N,focusProps:d?D:R}}var hp=Object.defineProperty,vp=(o,a,s)=>a in o?hp(o,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):o[a]=s,ti=(o,a,s)=>(vp(o,typeof a!=\"symbol\"?a+\"\":a,s),s);let yp=class{constructor(){ti(this,\"current\",this.detect()),ti(this,\"handoffState\",\"pending\"),ti(this,\"currentId\",0)}set(a){this.current!==a&&(this.handoffState=\"pending\",this.currentId=0,this.current=a)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===\"server\"}get isClient(){return this.current===\"client\"}detect(){return typeof window>\"u\"||typeof document>\"u\"?\"server\":\"client\"}handoff(){this.handoffState===\"pending\"&&(this.handoffState=\"complete\")}get isHandoffComplete(){return this.handoffState===\"complete\"}},jc=new yp;function Fc(o){return jc.isServer?null:o instanceof Node?o.ownerDocument:o!=null&&o.hasOwnProperty(\"current\")&&o.current instanceof Node?o.current.ownerDocument:document}function zc(o){typeof queueMicrotask==\"function\"?queueMicrotask(o):Promise.resolve().then(o).catch(a=>setTimeout(()=>{throw a}))}function $c(){let o=[],a={addEventListener(s,d,h,w){return s.addEventListener(d,h,w),a.add(()=>s.removeEventListener(d,h,w))},requestAnimationFrame(...s){let d=requestAnimationFrame(...s);return a.add(()=>cancelAnimationFrame(d))},nextFrame(...s){return a.requestAnimationFrame(()=>a.requestAnimationFrame(...s))},setTimeout(...s){let d=setTimeout(...s);return a.add(()=>clearTimeout(d))},microTask(...s){let d={current:!0};return zc(()=>{d.current&&s[0]()}),a.add(()=>{d.current=!1})},style(s,d,h){let w=s.style.getPropertyValue(d);return Object.assign(s.style,{[d]:h}),this.add(()=>{Object.assign(s.style,{[d]:w})})},group(s){let d=$c();return s(d),this.add(()=>d.dispose())},add(s){return o.includes(s)||o.push(s),()=>{let d=o.indexOf(s);if(d>=0)for(let h of o.splice(d,1))h()}},dispose(){for(let s of o.splice(0))s()}};return a}function gp(){let[o]=C.useState($c);return C.useEffect(()=>()=>o.dispose(),[o]),o}let Wn=(o,a)=>{jc.isServer?C.useEffect(o,a):C.useLayoutEffect(o,a)};function Mr(o){let a=C.useRef(o);return Wn(()=>{a.current=o},[o]),a}let Ct=function(o){let a=Mr(o);return $t.useCallback((...s)=>a.current(...s),[a])};function wp(o){let a=o.width/2,s=o.height/2;return{top:o.clientY-s,right:o.clientX+a,bottom:o.clientY+s,left:o.clientX-a}}function Sp(o,a){return!(!o||!a||o.right<a.left||o.left>a.right||o.bottom<a.top||o.top>a.bottom)}function xp({disabled:o=!1}={}){let a=C.useRef(null),[s,d]=C.useState(!1),h=gp(),w=Ct(()=>{a.current=null,d(!1),h.dispose()}),x=Ct(N=>{if(h.dispose(),a.current===null){a.current=N.currentTarget,d(!0);{let T=Fc(N.currentTarget);h.addEventListener(T,\"pointerup\",w,!1),h.addEventListener(T,\"pointermove\",I=>{if(a.current){let j=wp(I);d(Sp(j,a.current.getBoundingClientRect()))}},!1),h.addEventListener(T,\"pointercancel\",w,!1)}}});return{pressed:s,pressProps:o?{}:{onPointerDown:x,onPointerUp:w,onClick:w}}}function gc(...o){return Array.from(new Set(o.flatMap(a=>typeof a==\"string\"?a.split(\" \"):[]))).filter(Boolean).join(\" \")}function mn(o,a,...s){if(o in a){let h=a[o];return typeof h==\"function\"?h(...s):h}let d=new Error(`Tried to handle \"${o}\" but there is no handler defined. Only defined handlers are: ${Object.keys(a).map(h=>`\"${h}\"`).join(\", \")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(d,mn),d}var ii=(o=>(o[o.None=0]=\"None\",o[o.RenderStrategy=1]=\"RenderStrategy\",o[o.Static=2]=\"Static\",o))(ii||{}),kp=(o=>(o[o.Unmount=0]=\"Unmount\",o[o.Hidden=1]=\"Hidden\",o))(kp||{});function Kn(){let o=Cp();return C.useCallback(a=>Ep({mergeRefs:o,...a}),[o])}function Ep({ourProps:o,theirProps:a,slot:s,defaultTag:d,features:h,visible:w=!0,name:x,mergeRefs:N}){N=N??_p;let T=Rc(a,o);if(w)return ql(T,s,d,x,N);let I=h??0;if(I&2){let{static:j=!1,...R}=T;if(j)return ql(R,s,d,x,N)}if(I&1){let{unmount:j=!0,...R}=T;return mn(j?0:1,{0(){return null},1(){return ql({...R,hidden:!0,style:{display:\"none\"}},s,d,x,N)}})}return ql(T,s,d,x,N)}function ql(o,a={},s,d,h){let{as:w=s,children:x,refName:N=\"ref\",...T}=ni(o,[\"unmount\",\"static\"]),I=o.ref!==void 0?{[N]:o.ref}:{},j=typeof x==\"function\"?x(a):x;\"className\"in T&&T.className&&typeof T.className==\"function\"&&(T.className=T.className(a)),T[\"aria-labelledby\"]&&T[\"aria-labelledby\"]===T.id&&(T[\"aria-labelledby\"]=void 0);let R={};if(a){let D=!1,z=[];for(let[V,G]of Object.entries(a))typeof G==\"boolean\"&&(D=!0),G===!0&&z.push(V.replace(/([A-Z])/g,Z=>`-${Z.toLowerCase()}`));if(D){R[\"data-headlessui-state\"]=z.join(\" \");for(let V of z)R[`data-${V}`]=\"\"}}if(w===C.Fragment&&(Object.keys(Hn(T)).length>0||Object.keys(Hn(R)).length>0))if(!C.isValidElement(j)||Array.isArray(j)&&j.length>1){if(Object.keys(Hn(T)).length>0)throw new Error(['Passing props on \"Fragment\"!',\"\",`The current component <${d} /> is rendering a \"Fragment\".`,\"However we need to passthrough the following props:\",Object.keys(Hn(T)).concat(Object.keys(Hn(R))).map(D=>`  - ${D}`).join(`\n`),\"\",\"You can apply a few solutions:\",['Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"Fragment\".',\"Render a single element as the child so that we can forward the props onto that element.\"].map(D=>`  - ${D}`).join(`\n`)].join(`\n`))}else{let D=j.props,z=D==null?void 0:D.className,V=typeof z==\"function\"?(...X)=>gc(z(...X),T.className):gc(z,T.className),G=V?{className:V}:{},Z=Rc(j.props,Hn(ni(T,[\"ref\"])));for(let X in R)X in Z&&delete R[X];return C.cloneElement(j,Object.assign({},Z,R,I,{ref:h(Np(j),I.ref)},G))}return C.createElement(w,Object.assign({},ni(T,[\"ref\"]),w!==C.Fragment&&I,w!==C.Fragment&&R),j)}function Cp(){let o=C.useRef([]),a=C.useCallback(s=>{for(let d of o.current)d!=null&&(typeof d==\"function\"?d(s):d.current=s)},[]);return(...s)=>{if(!s.every(d=>d==null))return o.current=s,a}}function _p(...o){return o.every(a=>a==null)?void 0:a=>{for(let s of o)s!=null&&(typeof s==\"function\"?s(a):s.current=a)}}function Rc(...o){if(o.length===0)return{};if(o.length===1)return o[0];let a={},s={};for(let d of o)for(let h in d)h.startsWith(\"on\")&&typeof d[h]==\"function\"?(s[h]!=null||(s[h]=[]),s[h].push(d[h])):a[h]=d[h];if(a.disabled||a[\"aria-disabled\"])for(let d in s)/^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(d)&&(s[d]=[h=>{var w;return(w=h==null?void 0:h.preventDefault)==null?void 0:w.call(h)}]);for(let d in s)Object.assign(a,{[d](h,...w){let x=s[d];for(let N of x){if((h instanceof Event||(h==null?void 0:h.nativeEvent)instanceof Event)&&h.defaultPrevented)return;N(h,...w)}}});return a}function Mc(...o){if(o.length===0)return{};if(o.length===1)return o[0];let a={},s={};for(let d of o)for(let h in d)h.startsWith(\"on\")&&typeof d[h]==\"function\"?(s[h]!=null||(s[h]=[]),s[h].push(d[h])):a[h]=d[h];for(let d in s)Object.assign(a,{[d](...h){let w=s[d];for(let x of w)x==null||x(...h)}});return a}function Yn(o){var a;return Object.assign(C.forwardRef(o),{displayName:(a=o.displayName)!=null?a:o.name})}function Hn(o){let a=Object.assign({},o);for(let s in a)a[s]===void 0&&delete a[s];return a}function ni(o,a=[]){let s=Object.assign({},o);for(let d of a)d in s&&delete s[d];return s}function Np(o){return $t.version.split(\".\")[0]>=\"19\"?o.props.ref:o.ref}let Pp=\"span\";var Ic=(o=>(o[o.None=1]=\"None\",o[o.Focusable=2]=\"Focusable\",o[o.Hidden=4]=\"Hidden\",o))(Ic||{});function Tp(o,a){var s;let{features:d=1,...h}=o,w={ref:a,\"aria-hidden\":(d&2)===2?!0:(s=h[\"aria-hidden\"])!=null?s:void 0,hidden:(d&4)===4?!0:void 0,style:{position:\"fixed\",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\",...(d&4)===4&&(d&2)!==2&&{display:\"none\"}}};return Kn()({ourProps:w,theirProps:h,slot:{},defaultTag:Pp,name:\"Hidden\"})}let Oc=Yn(Tp),Lp=Symbol();function Ur(...o){let a=C.useRef(o);C.useEffect(()=>{a.current=o},[o]);let s=Ct(d=>{for(let h of a.current)h!=null&&(typeof h==\"function\"?h(d):h.current=d)});return o.every(d=>d==null||(d==null?void 0:d[Lp]))?void 0:s}var yt=(o=>(o.Space=\" \",o.Enter=\"Enter\",o.Escape=\"Escape\",o.Backspace=\"Backspace\",o.Delete=\"Delete\",o.ArrowLeft=\"ArrowLeft\",o.ArrowUp=\"ArrowUp\",o.ArrowRight=\"ArrowRight\",o.ArrowDown=\"ArrowDown\",o.Home=\"Home\",o.End=\"End\",o.PageUp=\"PageUp\",o.PageDown=\"PageDown\",o.Tab=\"Tab\",o))(yt||{});let jp=[\"[contentEditable=true]\",\"[tabindex]\",\"a[href]\",\"area[href]\",\"button:not([disabled])\",\"iframe\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].map(o=>`${o}:not([tabindex='-1'])`).join(\",\"),Fp=[\"[data-autofocus]\"].map(o=>`${o}:not([tabindex='-1'])`).join(\",\");var gt=(o=>(o[o.First=1]=\"First\",o[o.Previous=2]=\"Previous\",o[o.Next=4]=\"Next\",o[o.Last=8]=\"Last\",o[o.WrapAround=16]=\"WrapAround\",o[o.NoScroll=32]=\"NoScroll\",o[o.AutoFocus=64]=\"AutoFocus\",o))(gt||{}),Ir=(o=>(o[o.Error=0]=\"Error\",o[o.Overflow=1]=\"Overflow\",o[o.Success=2]=\"Success\",o[o.Underflow=3]=\"Underflow\",o))(Ir||{}),zp=(o=>(o[o.Previous=-1]=\"Previous\",o[o.Next=1]=\"Next\",o))(zp||{});function $p(o=document.body){return o==null?[]:Array.from(o.querySelectorAll(jp)).sort((a,s)=>Math.sign((a.tabIndex||Number.MAX_SAFE_INTEGER)-(s.tabIndex||Number.MAX_SAFE_INTEGER)))}function Rp(o=document.body){return o==null?[]:Array.from(o.querySelectorAll(Fp)).sort((a,s)=>Math.sign((a.tabIndex||Number.MAX_SAFE_INTEGER)-(s.tabIndex||Number.MAX_SAFE_INTEGER)))}var Mp=(o=>(o[o.Strict=0]=\"Strict\",o[o.Loose=1]=\"Loose\",o))(Mp||{}),Ip=(o=>(o[o.Keyboard=0]=\"Keyboard\",o[o.Mouse=1]=\"Mouse\",o))(Ip||{});typeof window<\"u\"&&typeof document<\"u\"&&(document.addEventListener(\"keydown\",o=>{o.metaKey||o.altKey||o.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0),document.addEventListener(\"click\",o=>{o.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:o.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0));let Op=[\"textarea\",\"input\"].join(\",\");function Dp(o){var a,s;return(s=(a=o==null?void 0:o.matches)==null?void 0:a.call(o,Op))!=null?s:!1}function Bn(o,a=s=>s){return o.slice().sort((s,d)=>{let h=a(s),w=a(d);if(h===null||w===null)return 0;let x=h.compareDocumentPosition(w);return x&Node.DOCUMENT_POSITION_FOLLOWING?-1:x&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Vn(o,a,{sorted:s=!0,relativeTo:d=null,skipElements:h=[]}={}){let w=Array.isArray(o)?o.length>0?o[0].ownerDocument:document:o.ownerDocument,x=Array.isArray(o)?s?Bn(o):o:a&64?Rp(o):$p(o);h.length>0&&x.length>1&&(x=x.filter(z=>!h.some(V=>V!=null&&\"current\"in V?(V==null?void 0:V.current)===z:V===z))),d=d??w.activeElement;let N=(()=>{if(a&5)return 1;if(a&10)return-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),T=(()=>{if(a&1)return 0;if(a&2)return Math.max(0,x.indexOf(d))-1;if(a&4)return Math.max(0,x.indexOf(d))+1;if(a&8)return x.length-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),I=a&32?{preventScroll:!0}:{},j=0,R=x.length,D;do{if(j>=R||j+R<=0)return 0;let z=T+j;if(a&16)z=(z+R)%R;else{if(z<0)return 3;if(z>=R)return 1}D=x[z],D==null||D.focus(I),j+=N}while(D!==w.activeElement);return a&6&&Dp(D)&&D.select(),2}function Ap(o,a){return C.useMemo(()=>{var s;if(o.type)return o.type;let d=(s=o.as)!=null?s:\"button\";if(typeof d==\"string\"&&d.toLowerCase()===\"button\"||(a==null?void 0:a.tagName)===\"BUTTON\"&&!a.hasAttribute(\"type\"))return\"button\"},[o.type,o.as,a])}function Up(){let o=C.useRef(!1);return Wn(()=>(o.current=!0,()=>{o.current=!1}),[]),o}function Hp({onFocus:o}){let[a,s]=C.useState(!0),d=Up();return a?$t.createElement(Oc,{as:\"button\",type:\"button\",features:Ic.Focusable,onFocus:h=>{h.preventDefault();let w,x=50;function N(){if(x--<=0){w&&cancelAnimationFrame(w);return}if(o()){if(cancelAnimationFrame(w),!d.current)return;s(!1);return}w=requestAnimationFrame(N)}w=requestAnimationFrame(N)}}):null}const Dc=C.createContext(null);function Vp(){return{groups:new Map,get(o,a){var s;let d=this.groups.get(o);d||(d=new Map,this.groups.set(o,d));let h=(s=d.get(a))!=null?s:0;d.set(a,h+1);let w=Array.from(d.keys()).indexOf(a);function x(){let N=d.get(a);N>1?d.set(a,N-1):d.delete(a)}return[w,x]}}}function Bp({children:o}){let a=C.useRef(Vp());return C.createElement(Dc.Provider,{value:a},o)}function Ac(o){let a=C.useContext(Dc);if(!a)throw new Error(\"You must wrap your component in a <StableCollection>\");let s=C.useId(),[d,h]=a.current.get(o,s);return C.useEffect(()=>h,[]),d}var Wp=(o=>(o[o.Forwards=0]=\"Forwards\",o[o.Backwards=1]=\"Backwards\",o))(Wp||{}),Qp=(o=>(o[o.Less=-1]=\"Less\",o[o.Equal=0]=\"Equal\",o[o.Greater=1]=\"Greater\",o))(Qp||{}),Kp=(o=>(o[o.SetSelectedIndex=0]=\"SetSelectedIndex\",o[o.RegisterTab=1]=\"RegisterTab\",o[o.UnregisterTab=2]=\"UnregisterTab\",o[o.RegisterPanel=3]=\"RegisterPanel\",o[o.UnregisterPanel=4]=\"UnregisterPanel\",o))(Kp||{});let Yp={0(o,a){var s;let d=Bn(o.tabs,j=>j.current),h=Bn(o.panels,j=>j.current),w=d.filter(j=>{var R;return!((R=j.current)!=null&&R.hasAttribute(\"disabled\"))}),x={...o,tabs:d,panels:h};if(a.index<0||a.index>d.length-1){let j=mn(Math.sign(a.index-o.selectedIndex),{[-1]:()=>1,0:()=>mn(Math.sign(a.index),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0});if(w.length===0)return x;let R=mn(j,{0:()=>d.indexOf(w[0]),1:()=>d.indexOf(w[w.length-1])});return{...x,selectedIndex:R===-1?o.selectedIndex:R}}let N=d.slice(0,a.index),T=[...d.slice(a.index),...N].find(j=>w.includes(j));if(!T)return x;let I=(s=d.indexOf(T))!=null?s:o.selectedIndex;return I===-1&&(I=o.selectedIndex),{...x,selectedIndex:I}},1(o,a){if(o.tabs.includes(a.tab))return o;let s=o.tabs[o.selectedIndex],d=Bn([...o.tabs,a.tab],w=>w.current),h=o.selectedIndex;return o.info.current.isControlled||(h=d.indexOf(s),h===-1&&(h=o.selectedIndex)),{...o,tabs:d,selectedIndex:h}},2(o,a){return{...o,tabs:o.tabs.filter(s=>s!==a.tab)}},3(o,a){return o.panels.includes(a.panel)?o:{...o,panels:Bn([...o.panels,a.panel],s=>s.current)}},4(o,a){return{...o,panels:o.panels.filter(s=>s!==a.panel)}}},fi=C.createContext(null);fi.displayName=\"TabsDataContext\";function Qn(o){let a=C.useContext(fi);if(a===null){let s=new Error(`<${o} /> is missing a parent <Tab.Group /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(s,Qn),s}return a}let di=C.createContext(null);di.displayName=\"TabsActionsContext\";function pi(o){let a=C.useContext(di);if(a===null){let s=new Error(`<${o} /> is missing a parent <Tab.Group /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(s,pi),s}return a}function Gp(o,a){return mn(a.type,Yp,o,a)}let Xp=\"div\";function Zp(o,a){let{defaultIndex:s=0,vertical:d=!1,manual:h=!1,onChange:w,selectedIndex:x=null,...N}=o;const T=d?\"vertical\":\"horizontal\",I=h?\"manual\":\"auto\";let j=x!==null,R=Mr({isControlled:j}),D=Ur(a),[z,V]=C.useReducer(Gp,{info:R,selectedIndex:x??s,tabs:[],panels:[]}),G=C.useMemo(()=>({selectedIndex:z.selectedIndex}),[z.selectedIndex]),Z=Mr(w||(()=>{})),X=Mr(z.tabs),B=C.useMemo(()=>({orientation:T,activation:I,...z}),[T,I,z]),ve=Ct(ie=>(V({type:1,tab:ie}),()=>V({type:2,tab:ie}))),de=Ct(ie=>(V({type:3,panel:ie}),()=>V({type:4,panel:ie}))),ye=Ct(ie=>{oe.current!==ie&&Z.current(ie),j||V({type:0,index:ie})}),oe=Mr(j?o.selectedIndex:z.selectedIndex),Se=C.useMemo(()=>({registerTab:ve,registerPanel:de,change:ye}),[]);Wn(()=>{V({type:0,index:x??s})},[x]),Wn(()=>{if(oe.current===void 0||z.tabs.length<=0)return;let ie=Bn(z.tabs,Me=>Me.current);ie.some((Me,Pe)=>z.tabs[Pe]!==Me)&&ye(ie.indexOf(z.tabs[oe.current]))});let Re={ref:D},Be=Kn();return $t.createElement(Bp,null,$t.createElement(di.Provider,{value:Se},$t.createElement(fi.Provider,{value:B},B.tabs.length<=0&&$t.createElement(Hp,{onFocus:()=>{var ie,Me;for(let Pe of X.current)if(((ie=Pe.current)==null?void 0:ie.tabIndex)===0)return(Me=Pe.current)==null||Me.focus(),!0;return!1}}),Be({ourProps:Re,theirProps:N,slot:G,defaultTag:Xp,name:\"Tabs\"}))))}let Jp=\"div\";function qp(o,a){let{orientation:s,selectedIndex:d}=Qn(\"Tab.List\"),h=Ur(a),w=C.useMemo(()=>({selectedIndex:d}),[d]),x=o,N={ref:h,role:\"tablist\",\"aria-orientation\":s};return Kn()({ourProps:N,theirProps:x,slot:w,defaultTag:Jp,name:\"Tabs.List\"})}let bp=\"button\";function em(o,a){var s,d;let h=C.useId(),{id:w=`headlessui-tabs-tab-${h}`,disabled:x=!1,autoFocus:N=!1,...T}=o,{orientation:I,activation:j,selectedIndex:R,tabs:D,panels:z}=Qn(\"Tab\"),V=pi(\"Tab\"),G=Qn(\"Tab\"),[Z,X]=C.useState(null),B=C.useRef(null),ve=Ur(B,a,X);Wn(()=>V.registerTab(B),[V,B]);let de=Ac(\"tabs\"),ye=D.indexOf(B);ye===-1&&(ye=de);let oe=ye===R,Se=Ct(F=>{var m;let S=F();if(S===Ir.Success&&j===\"auto\"){let J=(m=Fc(B))==null?void 0:m.activeElement,q=G.tabs.findIndex(ee=>ee.current===J);q!==-1&&V.change(q)}return S}),Re=Ct(F=>{let m=D.map(S=>S.current).filter(Boolean);if(F.key===yt.Space||F.key===yt.Enter){F.preventDefault(),F.stopPropagation(),V.change(ye);return}switch(F.key){case yt.Home:case yt.PageUp:return F.preventDefault(),F.stopPropagation(),Se(()=>Vn(m,gt.First));case yt.End:case yt.PageDown:return F.preventDefault(),F.stopPropagation(),Se(()=>Vn(m,gt.Last))}if(Se(()=>mn(I,{vertical(){return F.key===yt.ArrowUp?Vn(m,gt.Previous|gt.WrapAround):F.key===yt.ArrowDown?Vn(m,gt.Next|gt.WrapAround):Ir.Error},horizontal(){return F.key===yt.ArrowLeft?Vn(m,gt.Previous|gt.WrapAround):F.key===yt.ArrowRight?Vn(m,gt.Next|gt.WrapAround):Ir.Error}}))===Ir.Success)return F.preventDefault()}),Be=C.useRef(!1),ie=Ct(()=>{var F;Be.current||(Be.current=!0,(F=B.current)==null||F.focus({preventScroll:!0}),V.change(ye),zc(()=>{Be.current=!1}))}),Me=Ct(F=>{F.preventDefault()}),{isFocusVisible:Pe,focusProps:Ue}=Lc({autoFocus:N}),{isHovered:We,hoverProps:nt}=mp({isDisabled:x}),{pressed:Fe,pressProps:pe}=xp({disabled:x}),$=C.useMemo(()=>({selected:oe,hover:We,active:Fe,focus:Pe,autofocus:N,disabled:x}),[oe,We,Pe,Fe,N,x]),K=Mc({ref:ve,onKeyDown:Re,onMouseDown:Me,onClick:ie,id:w,role:\"tab\",type:Ap(o,Z),\"aria-controls\":(d=(s=z[ye])==null?void 0:s.current)==null?void 0:d.id,\"aria-selected\":oe,tabIndex:oe?0:-1,disabled:x||void 0,autoFocus:N},Ue,nt,pe);return Kn()({ourProps:K,theirProps:T,slot:$,defaultTag:bp,name:\"Tabs.Tab\"})}let tm=\"div\";function nm(o,a){let{selectedIndex:s}=Qn(\"Tab.Panels\"),d=Ur(a),h=C.useMemo(()=>({selectedIndex:s}),[s]),w=o,x={ref:d};return Kn()({ourProps:x,theirProps:w,slot:h,defaultTag:tm,name:\"Tabs.Panels\"})}let rm=\"div\",lm=ii.RenderStrategy|ii.Static;function um(o,a){var s,d,h,w;let x=C.useId(),{id:N=`headlessui-tabs-panel-${x}`,tabIndex:T=0,...I}=o,{selectedIndex:j,tabs:R,panels:D}=Qn(\"Tab.Panel\"),z=pi(\"Tab.Panel\"),V=C.useRef(null),G=Ur(V,a);Wn(()=>z.registerPanel(V),[z,V]);let Z=Ac(\"panels\"),X=D.indexOf(V);X===-1&&(X=Z);let B=X===j,{isFocusVisible:ve,focusProps:de}=Lc(),ye=C.useMemo(()=>({selected:B,focus:ve}),[B,ve]),oe=Mc({ref:G,id:N,role:\"tabpanel\",\"aria-labelledby\":(d=(s=R[X])==null?void 0:s.current)==null?void 0:d.id,tabIndex:B?T:-1},de),Se=Kn();return!B&&((h=I.unmount)==null||h)&&!((w=I.static)!=null&&w)?$t.createElement(Oc,{\"aria-hidden\":\"true\",...oe}):Se({ourProps:oe,theirProps:I,slot:ye,defaultTag:rm,features:lm,visible:B,name:\"Tabs.Panel\"})}let om=Yn(em),Uc=Yn(Zp),Hc=Yn(qp),Vc=Yn(nm),si=Yn(um),wc=Object.assign(om,{Group:Uc,List:Hc,Panels:Vc,Panel:si});/**\n * @license lucide-react v0.474.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const im=o=>o.replace(/([a-z0-9])([A-Z])/g,\"$1-$2\").toLowerCase(),Bc=(...o)=>o.filter((a,s,d)=>!!a&&a.trim()!==\"\"&&d.indexOf(a)===s).join(\" \").trim();/**\n * @license lucide-react v0.474.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */var sm={xmlns:\"http://www.w3.org/2000/svg\",width:24,height:24,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\"};/**\n * @license lucide-react v0.474.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const am=C.forwardRef(({color:o=\"currentColor\",size:a=24,strokeWidth:s=2,absoluteStrokeWidth:d,className:h=\"\",children:w,iconNode:x,...N},T)=>C.createElement(\"svg\",{ref:T,...sm,width:a,height:a,stroke:o,strokeWidth:d?Number(s)*24/Number(a):s,className:Bc(\"lucide\",h),...N},[...x.map(([I,j])=>C.createElement(I,j)),...Array.isArray(w)?w:[w]]));/**\n * @license lucide-react v0.474.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const Gn=(o,a)=>{const s=C.forwardRef(({className:d,...h},w)=>C.createElement(am,{ref:w,iconNode:a,className:Bc(`lucide-${im(o)}`,d),...h}));return s.displayName=`${o}`,s};/**\n * @license lucide-react v0.474.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const cm=[[\"path\",{d:\"m12 19-7-7 7-7\",key:\"1l729n\"}],[\"path\",{d:\"M19 12H5\",key:\"x3x0zl\"}]],fm=Gn(\"ArrowLeft\",cm);/**\n * @license lucide-react v0.474.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const dm=[[\"rect\",{width:\"14\",height:\"14\",x:\"8\",y:\"8\",rx:\"2\",ry:\"2\",key:\"17jyea\"}],[\"path\",{d:\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\",key:\"zix9uf\"}]],Wc=Gn(\"Copy\",dm);/**\n * @license lucide-react v0.474.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const pm=[[\"path\",{d:\"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49\",key:\"ct8e1f\"}],[\"path\",{d:\"M14.084 14.158a3 3 0 0 1-4.242-4.242\",key:\"151rxh\"}],[\"path\",{d:\"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143\",key:\"13bj9a\"}],[\"path\",{d:\"m2 2 20 20\",key:\"1ooewy\"}]],mm=Gn(\"EyeOff\",pm);/**\n * @license lucide-react v0.474.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const hm=[[\"path\",{d:\"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0\",key:\"1nclc0\"}],[\"circle\",{cx:\"12\",cy:\"12\",r:\"3\",key:\"1v7zrd\"}]],vm=Gn(\"Eye\",hm);/**\n * @license lucide-react v0.474.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const ym=[[\"circle\",{cx:\"12\",cy:\"12\",r:\"10\",key:\"1mglay\"}],[\"path\",{d:\"M12 16v-4\",key:\"1dtifu\"}],[\"path\",{d:\"M12 8h.01\",key:\"e9boi3\"}]],Qc=Gn(\"Info\",ym);/**\n * @license lucide-react v0.474.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const gm=[[\"path\",{d:\"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z\",key:\"1qme2f\"}],[\"circle\",{cx:\"12\",cy:\"12\",r:\"3\",key:\"1v7zrd\"}]],wm=Gn(\"Settings\",gm),Sc={openai_api_key:\"OpenAI API Key\",anthropic_api_key:\"Anthropic API Key\",assembly_ai_api_key:\"AssemblyAI API Key\",deepgram_api_key:\"Deepgram API Key\",groq_api_key:\"Groq API Key\"};function Sm({onClose:o}){const[a,s]=C.useState(Object.keys(Sc).reduce((j,R)=>({...j,[R]:!1}),{})),[d,h]=C.useState({}),[w,x]=C.useState(\"\"),[N,T]=C.useState(!1);C.useEffect(()=>{fetch(\"/settings\").then(j=>j.json()).then(j=>h(j)).catch(()=>x(\"Failed to load settings\"))},[]);const I=async()=>{x(\"\"),T(!0);try{if(!(await fetch(\"/settings\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(d)})).ok)throw new Error(\"Failed to save settings\");o()}catch(j){console.error(j),x(\"Failed to save settings. Please try again.\")}finally{T(!1)}};return P.jsxs(P.Fragment,{children:[P.jsx(\"div\",{className:\"py-4\",children:P.jsx(\"button\",{onClick:o,className:\"rounded-full p-2 hover:bg-gray-100\",children:P.jsx(fm,{size:24})})}),P.jsxs(\"div\",{className:\"mx-auto mt-8 max-w-md space-y-6\",children:[Object.keys(d).map(j=>P.jsxs(\"div\",{children:[P.jsx(\"label\",{className:\"mb-2 block text-sm font-medium\",children:Sc[j]}),P.jsxs(\"div\",{className:\"relative\",children:[P.jsx(\"input\",{type:a[j]?\"text\":\"password\",value:d[j],onChange:R=>h(D=>({...D,[j]:R.target.value})),className:\"w-full rounded-lg border px-4 py-2 pr-10\"}),P.jsx(\"button\",{onClick:()=>s(R=>({...R,[j]:!R[j]})),className:\"absolute top-1/2 right-2 -translate-y-1/2\",children:a[j]?P.jsx(mm,{size:20}):P.jsx(vm,{size:20})})]})]},j)),w&&P.jsx(\"div\",{className:\"rounded-md bg-red-50 p-4\",children:P.jsx(\"p\",{className:\"text-sm text-red-700\",children:w})}),P.jsx(\"div\",{className:\"flex justify-center\",children:P.jsx(\"button\",{onClick:()=>void I(),disabled:N,className:\"w-1/2 rounded-lg bg-blue-600 px-4 py-2 text-white hover:bg-blue-700 disabled:opacity-50\",children:N?\"Saving...\":\"Save Settings\"})})]})]})}function xm(){const[o,a]=C.useState(\"\"),[s,d]=C.useState([]),[h,w]=C.useState(\"\"),[x,N]=C.useState(!1),[T,I]=C.useState(\"\"),[j,R]=C.useState(\"\"),[D,z]=C.useState(!1),V=C.useRef(\"\");C.useEffect(()=>{fetch(\"/models/ytt\").then(X=>X.json()).then(X=>{d(X.models),w(X.default)}).catch(console.error)},[]);const G=()=>{N(!0),I(\"\"),V.current=\"\",R(\"\");try{const X=new URLSearchParams({url:o,model:h}),B=new EventSource(`/ytt?${X}`);B.onmessage=ve=>{if(ve.data===\"error\"){I(\"Transcription failed\"),B.close();return}V.current+=ve.data,R(V.current)},B.onerror=()=>{I(\"Connection error\"),B.close(),N(!1)},B.addEventListener(\"done\",()=>{B.close(),N(!1)})}catch(X){I(X instanceof Error?X.message:\"An error occurred\"),N(!1)}},Z=()=>{navigator.clipboard.writeText(j),z(!0),setTimeout(()=>z(!1),2e3)};return P.jsxs(\"div\",{className:\"space-y-4 p-4\",children:[P.jsx(\"p\",{className:\"mb-4 text-lg text-gray-600\",children:\"Generate transcripts from YouTube podcasts.\"}),P.jsxs(\"div\",{children:[P.jsx(\"label\",{className:\"mb-2 block text-sm font-medium\",children:\"YouTube URL\"}),P.jsx(\"input\",{type:\"text\",value:o,onChange:X=>a(X.target.value),placeholder:\"Enter YouTube URL\",className:\"w-full rounded-lg border px-4 py-2\"}),P.jsxs(\"div\",{className:\"mt-2 flex items-start space-x-2 rounded-lg bg-blue-50 p-4\",children:[P.jsx(Qc,{className:\"mt-0.5 h-5 w-5 text-blue-600\"}),P.jsx(\"p\",{className:\"text-sm text-blue-700\",children:\"Transcripts are generated by formatting autogenerated captions\"})]})]}),P.jsxs(\"div\",{children:[P.jsx(\"label\",{className:\"mb-2 block text-sm font-medium\",children:\"Model\"}),P.jsx(\"select\",{value:h,onChange:X=>w(X.target.value),className:\"w-full rounded-lg border px-4 py-2\",children:s.map(X=>P.jsx(\"option\",{value:X,children:X},X))})]}),P.jsx(\"div\",{className:\"flex justify-center\",children:P.jsx(\"button\",{onClick:G,disabled:x||!o,className:\"w-1/2 rounded-lg bg-blue-600 px-4 py-2 text-white hover:bg-blue-700 disabled:bg-blue-300\",children:x?P.jsxs(\"span\",{className:\"flex items-center justify-center\",children:[P.jsxs(\"svg\",{className:\"mr-2 h-5 w-5 animate-spin\",viewBox:\"0 0 24 24\",children:[P.jsx(\"circle\",{className:\"opacity-25\",cx:\"12\",cy:\"12\",r:\"10\",stroke:\"currentColor\",strokeWidth:\"4\",fill:\"none\"}),P.jsx(\"path\",{className:\"opacity-75\",fill:\"currentColor\",d:\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"})]}),\"Transcribing...\"]}):\"Transcribe\"})}),T&&P.jsx(\"div\",{className:\"rounded-lg bg-red-50 p-4 text-red-700\",children:T}),j&&P.jsxs(\"div\",{className:\"mt-4 rounded-lg border p-4\",children:[P.jsxs(\"div\",{className:\"mb-2 flex items-center justify-between\",children:[P.jsx(\"h3\",{className:\"font-medium\",children:\"Transcript\"}),P.jsxs(\"button\",{onClick:()=>void Z(),className:\"relative text-gray-400 hover:text-gray-600\",\"aria-label\":\"Copy transcript\",children:[P.jsx(Wc,{className:\"h-5 w-5\"}),D&&P.jsx(\"span\",{className:\"absolute -top-8 -right-2 rounded bg-gray-800 px-2 py-1 text-xs text-white\",children:\"Copied\"})]})]}),P.jsx(\"div\",{className:\"whitespace-pre-wrap text-gray-700\",children:j})]})]})}function km(){const[o,a]=C.useState(\"\"),[s,d]=C.useState(\"deepgram\"),[h,w]=C.useState([]),[x,N]=C.useState(\"\"),[T,I]=C.useState(!1),[j,R]=C.useState(\"\"),[D,z]=C.useState(\"\"),[V,G]=C.useState(!1);C.useEffect(()=>{fetch(`/models/${s}`).then(B=>B.json()).then(B=>{w(B.models),N(B.default)}).catch(console.error)},[s]);const Z=()=>{(async()=>{I(!0),R(\"\"),z(\"\");try{const B=await fetch(\"/audio\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({url:o,service:s,model:x})});if(!B.ok){const de=await B.json();throw new Error(de.error??\"Failed to transcribe audio\")}const ve=await B.json();z(ve.text)}catch(B){R(B instanceof Error?B.message:\"An error occurred\")}finally{I(!1)}})()},X=()=>{navigator.clipboard.writeText(D),G(!0),setTimeout(()=>G(!1),2e3)};return P.jsxs(\"div\",{className:\"space-y-4 p-4\",children:[P.jsx(\"p\",{className:\"mb-4 text-lg text-gray-600\",children:\"Generate transcripts for audio files online.\"}),P.jsxs(\"div\",{children:[P.jsx(\"label\",{className:\"mb-2 block text-sm font-medium\",children:\"Audio URL\"}),P.jsx(\"input\",{type:\"text\",value:o,onChange:B=>a(B.target.value),placeholder:\"Enter Audio URL\",className:\"w-full rounded-lg border px-4 py-2\"}),P.jsxs(\"div\",{className:\"mt-2 flex items-start space-x-2 rounded-lg bg-blue-50 p-4\",children:[P.jsx(Qc,{className:\"mt-0.5 h-5 w-5 text-blue-600\"}),P.jsxs(\"p\",{className:\"text-sm text-blue-700\",children:[\"You can find the audio download link for a podcast on\",\" \",P.jsx(\"a\",{href:\"https://www.listennotes.com/\",className:\"underline hover:text-blue-800\",children:\"ListenNotes\"})]})]})]}),P.jsxs(\"div\",{children:[P.jsx(\"label\",{className:\"mb-2 block text-sm font-medium\",children:\"Speech-to-Text (STT) API Service\"}),P.jsxs(\"select\",{value:s,onChange:B=>d(B.target.value),className:\"w-full rounded-lg border px-4 py-2\",children:[P.jsx(\"option\",{value:\"deepgram\",children:\"Deepgram\"}),P.jsx(\"option\",{value:\"aai\",children:\"AssemblyAI\"})]})]}),P.jsxs(\"div\",{children:[P.jsx(\"label\",{className:\"mb-2 block text-sm font-medium\",children:\"Model\"}),P.jsx(\"select\",{value:x,onChange:B=>N(B.target.value),className:\"w-full rounded-lg border px-4 py-2\",children:h.map(B=>P.jsx(\"option\",{value:B,children:B},B))})]}),P.jsx(\"div\",{className:\"flex justify-center\",children:P.jsx(\"button\",{onClick:()=>Z(),disabled:T||!o,className:\"w-1/2 rounded-lg bg-blue-600 px-4 py-2 text-white hover:bg-blue-700 disabled:bg-blue-300\",children:T?P.jsxs(\"span\",{className:\"flex items-center justify-center\",children:[P.jsxs(\"svg\",{className:\"mr-2 h-5 w-5 animate-spin\",viewBox:\"0 0 24 24\",children:[P.jsx(\"circle\",{className:\"opacity-25\",cx:\"12\",cy:\"12\",r:\"10\",stroke:\"currentColor\",strokeWidth:\"4\",fill:\"none\"}),P.jsx(\"path\",{className:\"opacity-75\",fill:\"currentColor\",d:\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"})]}),\"Transcribing...\"]}):\"Transcribe\"})}),j&&P.jsx(\"div\",{className:\"rounded-lg bg-red-50 p-4 text-red-700\",children:j}),D&&P.jsxs(\"div\",{className:\"mt-4 rounded-lg border p-4\",children:[P.jsxs(\"div\",{className:\"mb-2 flex items-center justify-between\",children:[P.jsx(\"h3\",{className:\"font-medium\",children:\"Transcript\"}),P.jsxs(\"button\",{onClick:()=>void X(),className:\"relative text-gray-400 hover:text-gray-600\",\"aria-label\":\"Copy transcript\",children:[P.jsx(Wc,{className:\"h-5 w-5\"}),V&&P.jsx(\"span\",{className:\"absolute -top-8 -right-2 rounded bg-gray-800 px-2 py-1 text-xs text-white\",children:\"Copied\"})]})]}),P.jsx(\"div\",{className:\"whitespace-pre-wrap text-gray-700\",children:D})]})]})}function Em(){const[o,a]=C.useState(!1);return P.jsx(P.Fragment,{children:P.jsxs(\"div\",{className:\"mx-auto max-w-3xl px-4\",children:[P.jsxs(\"div\",{className:\"flex h-16 items-center justify-between py-4\",children:[P.jsx(\"h1\",{className:\"font-mono text-2xl font-bold\",children:\"podscript\"}),!o&&P.jsx(\"button\",{onClick:()=>a(!0),className:\"rounded-full p-2 hover:bg-gray-100\",children:P.jsx(wm,{size:24})})]}),o?P.jsx(Sm,{onClose:()=>a(!1)}):P.jsxs(Uc,{children:[P.jsxs(Hc,{className:\"flex space-x-1 rounded-xl bg-gray-100 p-1\",children:[P.jsx(wc,{className:({selected:s})=>`w-full rounded-lg py-2.5 text-sm leading-5 font-medium ${s?\"bg-white shadow\":\"text-gray-700 hover:bg-white/[0.12] hover:text-gray-800\"}`,children:\"YouTube URL\"}),P.jsx(wc,{className:({selected:s})=>`w-full rounded-lg py-2.5 text-sm leading-5 font-medium ${s?\"bg-white shadow\":\"text-gray-700 hover:bg-white/[0.12] hover:text-gray-800\"}`,children:\"Audio URL\"})]}),P.jsxs(Vc,{className:\"mt-4\",children:[P.jsx(si,{children:P.jsx(xm,{})}),P.jsx(si,{children:P.jsx(km,{})})]})]})]})})}Jd.createRoot(document.getElementById(\"root\")).render(P.jsx(C.StrictMode,{children:P.jsx(Em,{})}));\n"
  },
  {
    "path": "web/frontend/dist/index.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <link rel=\"icon\" type=\"image/svg+xml\" href=\"/mike.svg\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Podscript</title>\n    <script type=\"module\" crossorigin src=\"/assets/index-bX8PDyqL.js\"></script>\n    <link rel=\"stylesheet\" crossorigin href=\"/assets/index-BW_J7set.css\">\n  </head>\n  <body>\n    <div id=\"root\"></div>\n  </body>\n</html>\n"
  },
  {
    "path": "web/frontend/eslint.config.js",
    "content": "import js from '@eslint/js'\nimport globals from 'globals'\nimport reactHooks from 'eslint-plugin-react-hooks'\nimport reactRefresh from 'eslint-plugin-react-refresh'\nimport react from 'eslint-plugin-react'\nimport tseslint from 'typescript-eslint'\nimport prettier from 'eslint-plugin-prettier'\n\nexport default tseslint.config(\n  { ignores: ['dist', 'src/components/ui/**', 'eslint.config.js'] },\n  // Base configuration for all files\n  {\n    files: ['**/*.{js,jsx,ts,tsx}'],\n    extends: [js.configs.recommended],\n    plugins: {\n      react,\n      prettier,\n      'react-hooks': reactHooks,\n      'react-refresh': reactRefresh,\n    },\n    settings: {\n      react: {\n        version: '18.3',\n      },\n    },\n    rules: {\n      'no-unused-vars': 'error',\n      'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],\n      ...reactHooks.configs.recommended.rules,\n      ...react.configs.recommended.rules,\n      ...react.configs['jsx-runtime'].rules,\n      ...prettier.configs.recommended.rules,\n    },\n  },\n  // TypeScript-specific configuration\n  {\n    files: ['**/*.{ts,tsx}'],\n    extends: [...tseslint.configs.recommendedTypeChecked, ...tseslint.configs.stylisticTypeChecked],\n    languageOptions: {\n      ecmaVersion: 2020,\n      globals: globals.browser,\n      parserOptions: {\n        project: ['./tsconfig.node.json', './tsconfig.app.json'],\n        tsconfigRootDir: import.meta.dirname,\n      },\n    },\n  },\n)\n"
  },
  {
    "path": "web/frontend/index.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <link rel=\"icon\" type=\"image/svg+xml\" href=\"/mike.svg\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Podscript</title>\n  </head>\n  <body>\n    <div id=\"root\"></div>\n    <script type=\"module\" src=\"/src/main.tsx\"></script>\n  </body>\n</html>\n"
  },
  {
    "path": "web/frontend/package.json",
    "content": "{\n  \"name\": \"frontend\",\n  \"private\": true,\n  \"version\": \"0.0.0\",\n  \"type\": \"module\",\n  \"scripts\": {\n    \"dev\": \"vite --host\",\n    \"build\": \"tsc -b && vite build\",\n    \"lint\": \"eslint .\",\n    \"preview\": \"vite preview\"\n  },\n  \"devDependencies\": {\n    \"@eslint/js\": \"^9.39.2\",\n    \"@radix-ui/react-dialog\": \"^1.1.15\",\n    \"@radix-ui/react-form\": \"^0.1.8\",\n    \"@radix-ui/react-label\": \"^2.1.8\",\n    \"@radix-ui/react-select\": \"^2.2.6\",\n    \"@radix-ui/react-slot\": \"^1.2.4\",\n    \"@radix-ui/react-tabs\": \"^1.1.13\",\n    \"@tailwindcss/vite\": \"^4.1.18\",\n    \"@types/node\": \"^25.0.3\",\n    \"@types/react\": \"^19.2.7\",\n    \"@types/react-dom\": \"^19.2.3\",\n    \"@vitejs/plugin-react\": \"^5.1.2\",\n    \"class-variance-authority\": \"^0.7.1\",\n    \"clsx\": \"^2.1.1\",\n    \"eslint\": \"^9.39.2\",\n    \"eslint-config-prettier\": \"^10.1.8\",\n    \"eslint-plugin-prettier\": \"^5.5.4\",\n    \"eslint-plugin-react\": \"^7.37.4\",\n    \"eslint-plugin-react-hooks\": \"^7.0.1\",\n    \"eslint-plugin-react-refresh\": \"^0.4.26\",\n    \"globals\": \"^16.5.0\",\n    \"lucide-react\": \"^0.562.0\",\n    \"next-themes\": \"^0.4.4\",\n    \"prettier\": \"^3.7.4\",\n    \"prettier-plugin-tailwindcss\": \"^0.7.2\",\n    \"react\": \"^19.2.3\",\n    \"react-dom\": \"^19.2.3\",\n    \"react-hook-form\": \"^7.69.0\",\n    \"tailwind-merge\": \"^3.4.0\",\n    \"tailwindcss\": \"^4.0.0\",\n    \"tailwindcss-animate\": \"^1.0.7\",\n    \"typescript\": \"^5.9.3\",\n    \"typescript-eslint\": \"^8.50.0\",\n    \"vite\": \"^7.3.0\"\n  },\n  \"dependencies\": {\n    \"@hookform/resolvers\": \"^5.2.2\",\n    \"@radix-ui/react-accordion\": \"^1.2.12\",\n    \"sonner\": \"^2.0.7\",\n    \"zod\": \"^4.2.1\"\n  }\n}\n"
  },
  {
    "path": "web/frontend/src/App.tsx",
    "content": "import { useState, useEffect } from 'react'\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from '@/components/ui/tabs'\nimport { Button } from '@/components/ui/button'\nimport { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from '@/components/ui/sheet'\nimport { Moon, Sun, Settings, Mic, Youtube, AlertCircle } from 'lucide-react'\nimport YouTubeTranscription, { YouTubeTranscriptionState } from '@/components/YouTubeTranscription'\nimport AudioTranscription, {\n  AudioTranscriptionState,\n  AudioProvider,\n} from '@/components/AudioTranscription'\nimport SettingsPanel from '@/components/SettingsPanel'\nimport { Toaster, toast } from 'sonner'\nimport { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert'\nimport { Loader2 } from 'lucide-react'\n\n// Speech-to-Text providers\nconst STT_PROVIDERS = [\n  { value: 'deepgram', label: 'Deepgram' },\n  { value: 'aai', label: 'AssemblyAI' },\n]\n\ninterface ModelsResponse {\n  models: string[]\n  default: string\n}\n\ninterface ProviderResult {\n  provider: string\n  models: { value: string; label: string }[]\n  defaultModel: string\n}\n\nconst App = () => {\n  const [theme, setTheme] = useState('dark')\n  const [ytModels, setYtModels] = useState<{ value: string; label: string }[]>([])\n  const [audioProviders, setAudioProviders] = useState<AudioProvider[]>([])\n  const [modelsError, setModelsError] = useState('')\n  const [isLoadingModels, setIsLoadingModels] = useState(true)\n\n  const [youtubeState, setYoutubeState] = useState<YouTubeTranscriptionState>({\n    url: '',\n    model: '',\n    transcript: '',\n    error: '',\n    isTranscribing: false,\n  })\n\n  const [audioState, setAudioState] = useState<AudioTranscriptionState>({\n    url: '',\n    source: 'deepgram',\n    model: '',\n    transcript: '',\n    error: '',\n    isTranscribing: false,\n  })\n\n  // Fetch models on mount\n  useEffect(() => {\n    const fetchModels = async () => {\n      try {\n        // Fetch YouTube models\n        const ytResponse = await fetch('/models/ytt')\n        const ytData = (await ytResponse.json()) as ModelsResponse\n\n        const ytModelOptions = ytData.models.map(model => ({ value: model, label: model }))\n        setYtModels(ytModelOptions)\n\n        // Set initial YouTube model\n        setYoutubeState(prev => ({\n          ...prev,\n          model: ytData.default || (ytData.models.length > 0 ? ytData.models[0] : ''),\n        }))\n\n        // Fetch audio models for all providers\n        const audioResults = await Promise.all(\n          STT_PROVIDERS.map(async provider => {\n            try {\n              const response = await fetch(`/models/${provider.value}`)\n              const data = (await response.json()) as ModelsResponse\n\n              return {\n                provider: provider.value,\n                models: data.models.map(model => ({ value: model, label: model })),\n                defaultModel: data.default,\n              } as ProviderResult\n            } catch (error: unknown) {\n              console.error(`Error fetching models for ${provider.value}:`, error)\n              return { provider: provider.value, models: [], defaultModel: '' } as ProviderResult\n            }\n          }),\n        )\n\n        // Process audio providers\n        const providers: AudioProvider[] = audioResults\n          .filter(result => result.models.length > 0)\n          .map(result => ({\n            provider: {\n              value: result.provider,\n              label: STT_PROVIDERS.find(p => p.value === result.provider)?.label ?? result.provider,\n            },\n            models: result.models,\n          }))\n\n        setAudioProviders(providers)\n\n        // Set initial audio model\n        const initialProvider = providers.find(p => p.provider.value === 'deepgram')\n        if (initialProvider?.models.length) {\n          setAudioState(prev => ({ ...prev, model: initialProvider.models[0].value }))\n        }\n\n        setIsLoadingModels(false)\n      } catch (error: unknown) {\n        console.error('Error fetching models:', error)\n        setModelsError('Failed to load models. Please refresh the page and try again.')\n        setIsLoadingModels(false)\n      }\n    }\n\n    void fetchModels()\n  }, [])\n\n  // Update theme when it changes\n  useEffect(() => {\n    document.documentElement.classList.toggle('dark', theme === 'dark')\n  }, [theme])\n\n  // Header component\n  const Header = () => (\n    <header className=\"flex items-center justify-between border-b p-4\">\n      <div className=\"flex items-center gap-2\">\n        <Mic className=\"h-6 w-6\" />\n        <h1 className=\"font-mono text-xl font-bold\">podscript</h1>\n      </div>\n\n      <div className=\"flex items-center gap-2\">\n        <Button\n          variant=\"ghost\"\n          size=\"icon\"\n          onClick={() => setTheme(theme === 'light' ? 'dark' : 'light')}\n        >\n          {theme === 'light' ? <Moon className=\"h-5 w-5\" /> : <Sun className=\"h-5 w-5\" />}\n        </Button>\n\n        <Sheet>\n          <SheetTrigger asChild>\n            <Button variant=\"ghost\" size=\"icon\">\n              <Settings className=\"h-5 w-5\" />\n            </Button>\n          </SheetTrigger>\n          <SheetContent className=\"w-80 sm:w-96\">\n            <SheetHeader>\n              <SheetTitle>Settings</SheetTitle>\n            </SheetHeader>\n            <SettingsPanel />\n          </SheetContent>\n        </Sheet>\n      </div>\n    </header>\n  )\n\n  // Loading state\n  if (isLoadingModels) {\n    return (\n      <div className=\"bg-background flex min-h-screen items-center justify-center\">\n        <div className=\"flex flex-col items-center gap-4\">\n          <Loader2 className=\"text-primary h-8 w-8 animate-spin\" />\n          <p className=\"text-lg\">Loading models...</p>\n        </div>\n      </div>\n    )\n  }\n\n  // Error state\n  if (modelsError) {\n    return (\n      <div className=\"bg-background text-foreground min-h-screen transition-colors\">\n        <Toaster position=\"top-center\" />\n        <Header />\n        <main className=\"container mx-auto max-w-3xl p-4\">\n          <Alert variant=\"destructive\">\n            <AlertCircle className=\"h-4 w-4\" />\n            <AlertTitle>Error</AlertTitle>\n            <AlertDescription>{modelsError}</AlertDescription>\n          </Alert>\n          <div className=\"mt-4 text-center\">\n            <Button onClick={() => window.location.reload()}>Refresh Page</Button>\n          </div>\n        </main>\n      </div>\n    )\n  }\n\n  // Main app\n  return (\n    <div className=\"bg-background text-foreground min-h-screen transition-colors\">\n      <Toaster position=\"top-center\" />\n      <Header />\n      <main className=\"container mx-auto max-w-3xl p-4\">\n        <Tabs\n          defaultValue=\"youtube\"\n          className=\"w-full\"\n          onValueChange={() => {\n            if (youtubeState.isTranscribing || audioState.isTranscribing) {\n              toast.error(\n                'Please wait for the active transcription to complete before switching tabs',\n              )\n              return false\n            }\n          }}\n        >\n          <TabsList className=\"mb-6 w-full\">\n            <TabsTrigger\n              value=\"youtube\"\n              className=\"flex w-1/2 items-center gap-2\"\n              disabled={audioState.isTranscribing}\n            >\n              <Youtube className=\"h-4 w-4\" />\n              YouTube URL\n            </TabsTrigger>\n            <TabsTrigger\n              value=\"audio\"\n              className=\"flex w-1/2 items-center gap-2\"\n              disabled={youtubeState.isTranscribing}\n            >\n              <Mic className=\"h-4 w-4\" />\n              Audio URL\n            </TabsTrigger>\n          </TabsList>\n\n          <TabsContent value=\"youtube\">\n            <YouTubeTranscription\n              youtubeState={youtubeState}\n              setYoutubeState={setYoutubeState}\n              models={ytModels}\n            />\n          </TabsContent>\n\n          <TabsContent value=\"audio\">\n            <AudioTranscription\n              audioState={audioState}\n              setAudioState={setAudioState}\n              providers={audioProviders}\n            />\n          </TabsContent>\n        </Tabs>\n      </main>\n    </div>\n  )\n}\n\nexport default App\n"
  },
  {
    "path": "web/frontend/src/components/AudioTranscription.tsx",
    "content": "import { Card, CardContent, CardFooter, CardHeader, CardTitle } from '@/components/ui/card'\nimport { Button } from '@/components/ui/button'\nimport { Input } from '@/components/ui/input'\nimport {\n  Select,\n  SelectContent,\n  SelectItem,\n  SelectTrigger,\n  SelectValue,\n} from '@/components/ui/select'\nimport { Loader2, Copy, Info, Trash2 } from 'lucide-react'\nimport { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nexport interface AudioTranscriptionState {\n  url: string\n  source: string\n  model: string\n  transcript: string\n  error: string\n  isTranscribing: boolean\n}\n\nexport interface ProviderModel {\n  value: string\n  label: string\n}\n\nexport interface AudioProvider {\n  provider: ProviderModel\n  models: ProviderModel[]\n}\n\nexport interface AudioTranscriptionProps {\n  audioState: AudioTranscriptionState\n  setAudioState: React.Dispatch<React.SetStateAction<AudioTranscriptionState>>\n  providers: AudioProvider[]\n}\n\n// Define response types for better type safety\ninterface TranscriptResponse {\n  text: string\n  error?: string\n}\n\nconst AudioTranscription = ({ audioState, setAudioState, providers }: AudioTranscriptionProps) => {\n  // Get models for the current or specified provider\n  const getModels = (providerValue = audioState.source) => {\n    return providers.find(p => p.provider.value === providerValue)?.models ?? []\n  }\n\n  // Handle provider selection changes\n  const handleProviderChange = (provider: string) => {\n    const models = getModels(provider)\n\n    setAudioState(prev => ({\n      ...prev,\n      source: provider,\n      model: models.length > 0 ? models[0].value : '',\n    }))\n  }\n\n  // Start transcription\n  const startTranscription = useCallback(async () => {\n    if (!audioState.url || !audioState.source) return\n\n    setAudioState(prev => ({ ...prev, error: '', transcript: '', isTranscribing: true }))\n\n    try {\n      const response = await fetch('/audio', {\n        method: 'POST',\n        headers: { 'Content-Type': 'application/json' },\n        body: JSON.stringify({\n          url: audioState.url,\n          service: audioState.source,\n          model: audioState.model,\n        }),\n      })\n\n      const data = (await response.json()) as TranscriptResponse\n\n      if (!response.ok) {\n        throw new Error(data.error ?? 'Failed to transcribe audio')\n      }\n\n      setAudioState(prev => ({ ...prev, transcript: data.text, isTranscribing: false }))\n      toast.success('Transcription completed')\n    } catch (e) {\n      const errorMessage = e instanceof Error ? e.message : 'An error occurred'\n      setAudioState(prev => ({ ...prev, error: errorMessage, isTranscribing: false }))\n      toast.error('Transcription failed')\n    }\n  }, [audioState.url, audioState.source, audioState.model, setAudioState])\n\n  // Get current models for rendering\n  const currentModels = getModels()\n\n  return (\n    <div className=\"space-y-6\">\n      <Card>\n        <CardHeader>\n          <CardTitle>Generate Transcript from Audio URLs</CardTitle>\n        </CardHeader>\n        <CardContent>\n          <form\n            onSubmit={e => {\n              e.preventDefault()\n              void startTranscription()\n            }}\n            className=\"space-y-4\"\n          >\n            <div className=\"space-y-2\">\n              <label htmlFor=\"audio-url\" className=\"text-sm font-medium\">\n                Audio URL\n              </label>\n              <Input\n                id=\"audio-url\"\n                type=\"url\"\n                placeholder=\"https://example.com/podcast.mp3\"\n                value={audioState.url}\n                onChange={e => setAudioState(prev => ({ ...prev, url: e.target.value }))}\n                className=\"placeholder:text-muted-foreground/60\"\n              />\n              <div className=\"mt-2 flex items-start space-x-2 rounded-lg bg-blue-50 p-3 dark:bg-blue-950\">\n                <Info className=\"mt-0.5 h-4 w-4 text-blue-600 dark:text-blue-400\" />\n                <p className=\"text-sm text-blue-700 dark:text-blue-300\">\n                  You can find the audio download link for a podcast on{' '}\n                  <a\n                    href=\"https://www.listennotes.com/\"\n                    className=\"underline hover:text-blue-800 dark:hover:text-blue-200\"\n                    target=\"_blank\"\n                    rel=\"noopener noreferrer\"\n                  >\n                    ListenNotes\n                  </a>\n                </p>\n              </div>\n            </div>\n            <div className=\"space-y-2\">\n              <label htmlFor=\"provider-select\" className=\"text-sm font-medium\">\n                Speech-to-Text (STT) Provider\n              </label>\n              <Select value={audioState.source} onValueChange={handleProviderChange}>\n                <SelectTrigger id=\"provider-select\">\n                  <SelectValue />\n                </SelectTrigger>\n                <SelectContent>\n                  {providers.map(provider => (\n                    <SelectItem key={provider.provider.value} value={provider.provider.value}>\n                      {provider.provider.label}\n                    </SelectItem>\n                  ))}\n                </SelectContent>\n              </Select>\n            </div>\n\n            <div className=\"space-y-2\">\n              <label htmlFor=\"model-select\" className=\"text-sm font-medium\">\n                Model\n              </label>\n              <Select\n                value={audioState.model || (currentModels.length > 0 ? currentModels[0].value : '')}\n                onValueChange={value => setAudioState(prev => ({ ...prev, model: value }))}\n              >\n                <SelectTrigger id=\"model-select\">\n                  <SelectValue placeholder=\"Select a model\" />\n                </SelectTrigger>\n                <SelectContent>\n                  {currentModels.map(model => (\n                    <SelectItem key={model.value} value={model.value}>\n                      {model.label}\n                    </SelectItem>\n                  ))}\n                </SelectContent>\n              </Select>\n            </div>\n          </form>\n        </CardContent>\n        <CardFooter>\n          <Button\n            onClick={() => void startTranscription()}\n            disabled={audioState.isTranscribing || !audioState.url}\n            className=\"w-full\"\n          >\n            {audioState.isTranscribing ? (\n              <>\n                <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" />\n                Transcribing...\n              </>\n            ) : (\n              'Generate Transcript'\n            )}\n          </Button>\n        </CardFooter>\n      </Card>\n\n      {audioState.error && (\n        <Card className=\"border-red-200 bg-red-50 dark:border-red-900 dark:bg-red-950\">\n          <CardContent className=\"pt-6\">\n            <p className=\"text-red-700 dark:text-red-300\">{audioState.error}</p>\n          </CardContent>\n        </Card>\n      )}\n\n      {audioState.transcript && (\n        <Card>\n          <CardHeader className=\"pb-3\">\n            <div className=\"flex items-center justify-between\">\n              <CardTitle>Transcript</CardTitle>\n              <div className=\"flex space-x-2\">\n                <Button\n                  variant=\"ghost\"\n                  size=\"icon\"\n                  onClick={() => {\n                    void navigator.clipboard.writeText(audioState.transcript)\n                    toast.success('Copied to clipboard')\n                  }}\n                  title=\"Copy to clipboard\"\n                  aria-label=\"Copy transcript to clipboard\"\n                >\n                  <Copy className=\"h-4 w-4\" />\n                </Button>\n                <Button\n                  variant=\"ghost\"\n                  size=\"icon\"\n                  onClick={() => {\n                    setAudioState(prev => ({ ...prev, transcript: '', error: '' }))\n                    toast.success('Transcript cleared')\n                  }}\n                  title=\"Clear transcript\"\n                  aria-label=\"Clear transcript\"\n                >\n                  <Trash2 className=\"h-4 w-4\" />\n                </Button>\n              </div>\n            </div>\n          </CardHeader>\n          <CardContent>\n            <div\n              className=\"bg-muted rounded-md p-4 whitespace-pre-wrap\"\n              role=\"region\"\n              aria-label=\"Transcript content\"\n            >\n              {audioState.transcript}\n            </div>\n          </CardContent>\n        </Card>\n      )}\n    </div>\n  )\n}\n\nexport default AudioTranscription\n"
  },
  {
    "path": "web/frontend/src/components/SettingsPanel.tsx",
    "content": "import { useState, useEffect } from 'react'\nimport { Button } from '@/components/ui/button'\nimport { Input } from '@/components/ui/input'\nimport { Alert, AlertDescription } from '@/components/ui/alert'\nimport {\n  Accordion,\n  AccordionContent,\n  AccordionItem,\n  AccordionTrigger,\n} from '@/components/ui/accordion'\nimport { AlertCircle, Save, Loader2, Eye, EyeOff } from 'lucide-react'\n\n// Define API response type to match backend structure\ninterface ApiSettingsResponse {\n  openai_api_key?: string\n  anthropic_api_key?: string\n  groq_api_key?: string\n  deepgram_api_key?: string\n  assembly_ai_api_key?: string\n  gemini_api_key?: string\n  aws_region?: string\n  aws_access_key_id?: string\n  aws_secret_access_key?: string\n  aws_session_token?: string\n}\n\n// Custom password input component with toggle visibility\ninterface PasswordInputProps {\n  id: string\n  value: string\n  onChange: (e: React.ChangeEvent<HTMLInputElement>) => void\n  placeholder?: string\n  label: string\n}\n\nconst PasswordInput = ({ id, value, onChange, placeholder, label }: PasswordInputProps) => {\n  const [showPassword, setShowPassword] = useState(false)\n\n  return (\n    <div className=\"space-y-1.5\">\n      <label htmlFor={id} className=\"block text-sm font-medium\">\n        {label}\n      </label>\n      <div className=\"relative\">\n        <Input\n          id={id}\n          type={showPassword ? 'text' : 'password'}\n          value={value}\n          onChange={onChange}\n          placeholder={placeholder}\n          autoComplete=\"new-password\" // Prevent browser password autofill\n          className=\"placeholder:text-muted-foreground/60\" // Added lighter placeholder styling\n        />\n        <button\n          type=\"button\"\n          onClick={() => setShowPassword(!showPassword)}\n          className=\"absolute top-1/2 right-2 -translate-y-1/2 text-gray-500 hover:text-gray-700\"\n        >\n          {showPassword ? <EyeOff size={16} /> : <Eye size={16} />}\n        </button>\n      </div>\n    </div>\n  )\n}\n\nconst SettingsPanel = () => {\n  // Initial settings state\n  const [settings, setSettings] = useState({\n    openai: { apiKey: '' },\n    anthropic: { apiKey: '' },\n    groq: { apiKey: '' },\n    deepgram: { apiKey: '' },\n    assemblyai: { apiKey: '' },\n    google: { apiKey: '' },\n    aws: {\n      accessKeyId: '',\n      secretAccessKey: '',\n      sessionToken: '',\n      region: 'us-east-1',\n    },\n  })\n\n  const [status, setStatus] = useState({ message: '', isError: false })\n  const [saving, setSaving] = useState(false)\n  const [loading, setLoading] = useState(true)\n\n  // Fetch settings on component mount\n  useEffect(() => {\n    const fetchSettings = async () => {\n      setLoading(true)\n      try {\n        const response = await fetch('/settings')\n        if (!response.ok) throw new Error('Failed to load settings')\n\n        // Explicitly type the response data\n        const data = (await response.json()) as ApiSettingsResponse\n\n        // Map the API response to our settings structure\n        setSettings({\n          openai: { apiKey: data.openai_api_key ?? '' },\n          anthropic: { apiKey: data.anthropic_api_key ?? '' },\n          groq: { apiKey: data.groq_api_key ?? '' },\n          deepgram: { apiKey: data.deepgram_api_key ?? '' },\n          assemblyai: { apiKey: data.assembly_ai_api_key ?? '' },\n          google: { apiKey: data.gemini_api_key ?? '' },\n          aws: {\n            accessKeyId: data.aws_access_key_id ?? '',\n            secretAccessKey: data.aws_secret_access_key ?? '',\n            sessionToken: data.aws_session_token ?? '',\n            region: data.aws_region ?? 'us-east-1',\n          },\n        })\n      } catch (error: unknown) {\n        console.error('Error fetching settings:', error)\n        setStatus({\n          message: 'Failed to load settings. Please refresh the page.',\n          isError: true,\n        })\n      } finally {\n        setLoading(false)\n      }\n    }\n\n    void fetchSettings()\n  }, [])\n\n  // Handle input changes\n  const handleChange = (provider: string, field: string, value: string) => {\n    setSettings(prev => ({\n      ...prev,\n      [provider]: {\n        ...prev[provider as keyof typeof prev],\n        [field]: value,\n      },\n    }))\n  }\n\n  // Handle form submission\n  const handleSubmit = async (e: React.FormEvent) => {\n    e.preventDefault()\n    setSaving(true)\n    setStatus({ message: '', isError: false })\n\n    try {\n      // Map our settings structure to the API expected format\n      const apiPayload: ApiSettingsResponse = {\n        openai_api_key: settings.openai.apiKey,\n        anthropic_api_key: settings.anthropic.apiKey,\n        groq_api_key: settings.groq.apiKey,\n        deepgram_api_key: settings.deepgram.apiKey,\n        assembly_ai_api_key: settings.assemblyai.apiKey,\n        gemini_api_key: settings.google.apiKey,\n        aws_region: settings.aws.region,\n        aws_access_key_id: settings.aws.accessKeyId,\n        aws_secret_access_key: settings.aws.secretAccessKey,\n        aws_session_token: settings.aws.sessionToken,\n      }\n\n      const response = await fetch('/settings', {\n        method: 'POST',\n        headers: { 'Content-Type': 'application/json' },\n        body: JSON.stringify(apiPayload),\n      })\n\n      if (!response.ok) throw new Error('Failed to save settings')\n\n      setStatus({\n        message: 'Settings saved successfully!',\n        isError: false,\n      })\n    } catch (error: unknown) {\n      console.error('Error saving settings:', error)\n      setStatus({\n        message: 'Error saving settings. Please try again.',\n        isError: true,\n      })\n    } finally {\n      setSaving(false)\n\n      // Clear success message after 3 seconds (keep error messages visible)\n      if (!status.isError) {\n        setTimeout(() => {\n          setStatus({ message: '', isError: false })\n        }, 3000)\n      }\n    }\n  }\n\n  if (loading) {\n    return (\n      <div className=\"flex h-full items-center justify-center p-4\">\n        <Loader2 className=\"h-8 w-8 animate-spin text-gray-400\" />\n        <span className=\"ml-2\">Loading settings...</span>\n      </div>\n    )\n  }\n\n  return (\n    <div className=\"flex h-full flex-col\">\n      <div className=\"flex-1 overflow-y-auto\">\n        <div className=\"space-y-6 p-4 pb-24\">\n          {' '}\n          {/* Added extra padding at bottom to ensure content doesn't get hidden behind the button */}\n          {status.message && (\n            <Alert\n              className={\n                status.isError\n                  ? 'bg-red-100 text-red-800 dark:bg-red-900/20 dark:text-red-300'\n                  : 'bg-green-100 text-green-800 dark:bg-green-900/20 dark:text-green-300'\n              }\n            >\n              <AlertCircle className=\"mr-2 h-4 w-4\" />\n              <AlertDescription>{status.message}</AlertDescription>\n            </Alert>\n          )}\n          <form\n            id=\"settings-form\"\n            onSubmit={e => {\n              void handleSubmit(e)\n            }}\n            className=\"space-y-6\"\n          >\n            <Accordion type=\"multiple\" className=\"w-full rounded-lg border p-2\">\n              {/* OpenAI */}\n              <AccordionItem value=\"openai\">\n                <AccordionTrigger>OpenAI</AccordionTrigger>\n                <AccordionContent>\n                  <div className=\"space-y-4\">\n                    <PasswordInput\n                      id=\"openai-api-key\"\n                      value={settings.openai.apiKey}\n                      onChange={e => handleChange('openai', 'apiKey', e.target.value)}\n                      placeholder=\"sk-...\"\n                      label=\"API Key\"\n                    />\n                  </div>\n                </AccordionContent>\n              </AccordionItem>\n\n              {/* Anthropic */}\n              <AccordionItem value=\"anthropic\">\n                <AccordionTrigger>Anthropic</AccordionTrigger>\n                <AccordionContent>\n                  <div className=\"space-y-4\">\n                    <PasswordInput\n                      id=\"anthropic-api-key\"\n                      value={settings.anthropic.apiKey}\n                      onChange={e => handleChange('anthropic', 'apiKey', e.target.value)}\n                      placeholder=\"sk-ant-...\"\n                      label=\"API Key\"\n                    />\n                  </div>\n                </AccordionContent>\n              </AccordionItem>\n\n              {/* Groq */}\n              <AccordionItem value=\"groq\">\n                <AccordionTrigger>Groq</AccordionTrigger>\n                <AccordionContent>\n                  <div className=\"space-y-4\">\n                    <PasswordInput\n                      id=\"groq-api-key\"\n                      value={settings.groq.apiKey}\n                      onChange={e => handleChange('groq', 'apiKey', e.target.value)}\n                      placeholder=\"gsk_...\"\n                      label=\"API Key\"\n                    />\n                  </div>\n                </AccordionContent>\n              </AccordionItem>\n\n              {/* Deepgram */}\n              <AccordionItem value=\"deepgram\">\n                <AccordionTrigger>Deepgram</AccordionTrigger>\n                <AccordionContent>\n                  <div className=\"space-y-4\">\n                    <PasswordInput\n                      id=\"deepgram-api-key\"\n                      value={settings.deepgram.apiKey}\n                      onChange={e => handleChange('deepgram', 'apiKey', e.target.value)}\n                      placeholder=\"...\"\n                      label=\"API Key\"\n                    />\n                  </div>\n                </AccordionContent>\n              </AccordionItem>\n\n              {/* AssemblyAI */}\n              <AccordionItem value=\"assemblyai\">\n                <AccordionTrigger>AssemblyAI</AccordionTrigger>\n                <AccordionContent>\n                  <div className=\"space-y-4\">\n                    <PasswordInput\n                      id=\"assemblyai-api-key\"\n                      value={settings.assemblyai.apiKey}\n                      onChange={e => handleChange('assemblyai', 'apiKey', e.target.value)}\n                      placeholder=\"...\"\n                      label=\"API Key\"\n                    />\n                  </div>\n                </AccordionContent>\n              </AccordionItem>\n\n              {/* Google Gemini */}\n              <AccordionItem value=\"google\">\n                <AccordionTrigger>Google Gemini</AccordionTrigger>\n                <AccordionContent>\n                  <div className=\"space-y-4\">\n                    <PasswordInput\n                      id=\"google-api-key\"\n                      value={settings.google.apiKey}\n                      onChange={e => handleChange('google', 'apiKey', e.target.value)}\n                      placeholder=\"...\"\n                      label=\"API Key\"\n                    />\n                  </div>\n                </AccordionContent>\n              </AccordionItem>\n\n              {/* AWS Bedrock */}\n              <AccordionItem value=\"aws\">\n                <AccordionTrigger>AWS Bedrock</AccordionTrigger>\n                <AccordionContent>\n                  <div className=\"space-y-4\">\n                    <PasswordInput\n                      id=\"aws-access-key\"\n                      value={settings.aws.accessKeyId}\n                      onChange={e => handleChange('aws', 'accessKeyId', e.target.value)}\n                      placeholder=\"AKIA...\"\n                      label=\"Access Key ID\"\n                    />\n\n                    <PasswordInput\n                      id=\"aws-secret-key\"\n                      value={settings.aws.secretAccessKey}\n                      onChange={e => handleChange('aws', 'secretAccessKey', e.target.value)}\n                      placeholder=\"...\"\n                      label=\"Secret Access Key\"\n                    />\n\n                    <PasswordInput\n                      id=\"aws-session-token\"\n                      value={settings.aws.sessionToken}\n                      onChange={e => handleChange('aws', 'sessionToken', e.target.value)}\n                      placeholder=\"...\"\n                      label=\"Session Token (Optional)\"\n                    />\n\n                    <div className=\"space-y-1.5\">\n                      <label htmlFor=\"aws-region\" className=\"block text-sm font-medium\">\n                        Region\n                      </label>\n                      <Input\n                        id=\"aws-region\"\n                        type=\"text\"\n                        value={settings.aws.region}\n                        onChange={e => handleChange('aws', 'region', e.target.value)}\n                        placeholder=\"us-east-1\"\n                        autoComplete=\"off\"\n                        className=\"placeholder:text-muted-foreground/60\"\n                      />\n                    </div>\n                  </div>\n                </AccordionContent>\n              </AccordionItem>\n            </Accordion>\n          </form>\n        </div>\n      </div>\n\n      {/* Save button that matches the width of the panel */}\n      <div className=\"sticky bottom-0 border-t border-gray-200 bg-white p-4 shadow-md dark:border-gray-800 dark:bg-gray-950\">\n        <Button form=\"settings-form\" type=\"submit\" className=\"w-full\" disabled={saving}>\n          {saving ? (\n            <>\n              <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" />\n              Saving...\n            </>\n          ) : (\n            <>\n              <Save className=\"mr-2 h-4 w-4\" />\n              Save Settings\n            </>\n          )}\n        </Button>\n      </div>\n    </div>\n  )\n}\n\nexport default SettingsPanel\n"
  },
  {
    "path": "web/frontend/src/components/YouTubeTranscription.tsx",
    "content": "import { Card, CardContent, CardFooter, CardHeader, CardTitle } from '@/components/ui/card'\nimport { Button } from '@/components/ui/button'\nimport { Input } from '@/components/ui/input'\nimport {\n  Select,\n  SelectContent,\n  SelectItem,\n  SelectTrigger,\n  SelectValue,\n} from '@/components/ui/select'\nimport { Loader2, Copy, Info, Trash2, X } from 'lucide-react'\nimport { useRef, useEffect, useCallback } from 'react'\nimport { toast } from 'sonner'\n\nexport interface YouTubeTranscriptionState {\n  url: string\n  model: string\n  transcript: string\n  error: string\n  isTranscribing: boolean\n}\n\nexport interface YouTubeTranscriptionProps {\n  youtubeState: YouTubeTranscriptionState\n  setYoutubeState: React.Dispatch<React.SetStateAction<YouTubeTranscriptionState>>\n  models: { value: string; label: string }[]\n}\n\n// Custom hook for managing YouTube transcription with EventSource\nfunction useYouTubeTranscription(\n  youtubeState: YouTubeTranscriptionState,\n  setYoutubeState: React.Dispatch<React.SetStateAction<YouTubeTranscriptionState>>,\n) {\n  const eventSourceRef = useRef<EventSource | null>(null)\n\n  // Cleanup function for EventSource\n  const cleanupEventSource = useCallback(() => {\n    if (eventSourceRef.current) {\n      eventSourceRef.current.close()\n      eventSourceRef.current = null\n    }\n  }, [])\n\n  // Cancel transcription\n  const cancelTranscription = useCallback(() => {\n    cleanupEventSource()\n    setYoutubeState(prev => ({\n      ...prev,\n      isTranscribing: false,\n      error: 'Transcription cancelled',\n    }))\n    toast.info('Transcription cancelled')\n  }, [cleanupEventSource, setYoutubeState])\n\n  // Start transcription\n  const startTranscription = useCallback(\n    (url: string, model: string) => {\n      if (!url) return\n\n      setYoutubeState(prev => ({\n        ...prev,\n        error: '',\n        transcript: '',\n        isTranscribing: true,\n      }))\n\n      try {\n        const params = new URLSearchParams({ url, model })\n\n        // Create EventSource\n        const eventSource = new EventSource(`/ytt?${params}`)\n        eventSourceRef.current = eventSource\n\n        eventSource.onmessage = event => {\n          if (event.data === 'error') {\n            setYoutubeState(prev => ({\n              ...prev,\n              error: 'Transcription failed',\n              isTranscribing: false,\n            }))\n            cleanupEventSource()\n            return\n          }\n          // Update transcript state with new content\n          setYoutubeState(prev => ({\n            ...prev,\n            transcript: prev.transcript + event.data,\n          }))\n        }\n\n        eventSource.onerror = () => {\n          setYoutubeState(prev => ({\n            ...prev,\n            error: 'Connection error',\n            isTranscribing: false,\n          }))\n          cleanupEventSource()\n          toast.error('Transcription failed')\n        }\n\n        eventSource.addEventListener('done', () => {\n          cleanupEventSource()\n          setYoutubeState(prev => ({\n            ...prev,\n            isTranscribing: false,\n          }))\n          toast.success('Transcription completed')\n        })\n      } catch (e) {\n        setYoutubeState(prev => ({\n          ...prev,\n          error: e instanceof Error ? e.message : 'An error occurred',\n          isTranscribing: false,\n        }))\n        toast.error('Transcription failed')\n      }\n    },\n    [cleanupEventSource, setYoutubeState],\n  )\n\n  // Cleanup on unmount\n  useEffect(() => {\n    return () => {\n      cleanupEventSource()\n    }\n  }, [cleanupEventSource])\n\n  return {\n    startTranscription,\n    cancelTranscription,\n    isTranscribing: youtubeState.isTranscribing,\n  }\n}\n\nconst YouTubeTranscription = ({\n  youtubeState,\n  setYoutubeState,\n  models,\n}: YouTubeTranscriptionProps) => {\n  const { startTranscription, cancelTranscription, isTranscribing } = useYouTubeTranscription(\n    youtubeState,\n    setYoutubeState,\n  )\n\n  // Handle URL input changes\n  const handleUrlChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n    setYoutubeState(prev => ({\n      ...prev,\n      url: e.target.value,\n    }))\n  }\n\n  // Handle model selection changes\n  const handleModelChange = (value: string) => {\n    setYoutubeState(prev => ({\n      ...prev,\n      model: value,\n    }))\n  }\n\n  // Handle transcription submission\n  const handleTranscribe = (e: React.FormEvent) => {\n    e.preventDefault()\n    startTranscription(youtubeState.url, youtubeState.model)\n  }\n\n  // Copy transcript to clipboard\n  const copyToClipboard = () => {\n    void navigator.clipboard.writeText(youtubeState.transcript)\n    toast.success('Copied to clipboard')\n  }\n\n  // Clear transcript and related data\n  const clearTranscript = () => {\n    setYoutubeState(prev => ({\n      ...prev,\n      transcript: '',\n      error: '',\n    }))\n    toast.success('Transcript cleared')\n  }\n\n  return (\n    <div className=\"space-y-6\">\n      <Card>\n        <CardHeader>\n          <CardTitle>Generate Transcript from YouTube Videos</CardTitle>\n        </CardHeader>\n        <CardContent>\n          <form onSubmit={handleTranscribe} className=\"space-y-4\">\n            <div className=\"space-y-2\">\n              <label htmlFor=\"youtube-url\" className=\"text-sm font-medium\">\n                YouTube URL\n              </label>\n              <Input\n                id=\"youtube-url\"\n                type=\"url\"\n                placeholder=\"https://www.youtube.com/watch?v=...\"\n                value={youtubeState.url}\n                onChange={handleUrlChange}\n                className=\"placeholder:text-muted-foreground/60\"\n              />\n              <div className=\"mt-2 flex items-start space-x-2 rounded-lg bg-blue-50 p-3 dark:bg-blue-950\">\n                <Info className=\"mt-0.5 h-4 w-4 text-blue-600 dark:text-blue-400\" />\n                <p className=\"text-sm text-blue-700 dark:text-blue-300\">\n                  Transcripts are generated by formatting autogenerated captions using an LLM model.\n                </p>\n              </div>\n            </div>\n\n            <div className=\"space-y-2\">\n              <label htmlFor=\"model-select\" className=\"text-sm font-medium\">\n                Model\n              </label>\n              <Select value={youtubeState.model} onValueChange={handleModelChange}>\n                <SelectTrigger id=\"model-select\">\n                  <SelectValue placeholder=\"Select a model\" />\n                </SelectTrigger>\n                <SelectContent>\n                  {models.map(model => (\n                    <SelectItem key={model.value} value={model.value}>\n                      {model.label}\n                    </SelectItem>\n                  ))}\n                </SelectContent>\n              </Select>\n            </div>\n          </form>\n        </CardContent>\n        <CardFooter>\n          {isTranscribing ? (\n            <div className=\"flex w-full gap-2\">\n              <Button variant=\"destructive\" onClick={cancelTranscription} className=\"flex-1\">\n                <X className=\"mr-2 h-4 w-4\" />\n                Cancel Transcription\n              </Button>\n              <Button disabled className=\"flex-1\">\n                <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" />\n                Transcribing...\n              </Button>\n            </div>\n          ) : (\n            <Button\n              onClick={handleTranscribe}\n              disabled={isTranscribing || !youtubeState.url}\n              className=\"w-full\"\n            >\n              Generate Transcript\n            </Button>\n          )}\n        </CardFooter>\n      </Card>\n\n      {youtubeState.error && (\n        <Card className=\"border-red-200 bg-red-50 dark:border-red-900 dark:bg-red-950\">\n          <CardContent className=\"pt-6\">\n            <p className=\"text-red-700 dark:text-red-300\">{youtubeState.error}</p>\n          </CardContent>\n        </Card>\n      )}\n\n      {youtubeState.transcript && (\n        <Card>\n          <CardHeader className=\"pb-3\">\n            <div className=\"flex items-center justify-between\">\n              <CardTitle>Transcript</CardTitle>\n              <div className=\"flex space-x-2\">\n                <Button\n                  variant=\"ghost\"\n                  size=\"icon\"\n                  onClick={copyToClipboard}\n                  title=\"Copy to clipboard\"\n                  aria-label=\"Copy transcript to clipboard\"\n                >\n                  <Copy className=\"h-4 w-4\" />\n                </Button>\n                <Button\n                  variant=\"ghost\"\n                  size=\"icon\"\n                  onClick={clearTranscript}\n                  title=\"Clear transcript\"\n                  aria-label=\"Clear transcript\"\n                >\n                  <Trash2 className=\"h-4 w-4\" />\n                </Button>\n              </div>\n            </div>\n          </CardHeader>\n          <CardContent>\n            <div\n              className=\"bg-muted rounded-md p-4 whitespace-pre-wrap\"\n              role=\"region\"\n              aria-label=\"Transcript content\"\n            >\n              {youtubeState.transcript}\n            </div>\n          </CardContent>\n        </Card>\n      )}\n    </div>\n  )\n}\n\nexport default YouTubeTranscription\n"
  },
  {
    "path": "web/frontend/src/components/ui/accordion.tsx",
    "content": "import * as React from \"react\"\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport { ChevronDownIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Accordion({\n  ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n  return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />\n}\n\nfunction AccordionItem({\n  className,\n  ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n  return (\n    <AccordionPrimitive.Item\n      data-slot=\"accordion-item\"\n      className={cn(\"border-b last:border-b-0\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction AccordionTrigger({\n  className,\n  children,\n  ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n  return (\n    <AccordionPrimitive.Header className=\"flex\">\n      <AccordionPrimitive.Trigger\n        data-slot=\"accordion-trigger\"\n        className={cn(\n          \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n          className\n        )}\n        {...props}\n      >\n        {children}\n        <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n      </AccordionPrimitive.Trigger>\n    </AccordionPrimitive.Header>\n  )\n}\n\nfunction AccordionContent({\n  className,\n  children,\n  ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n  return (\n    <AccordionPrimitive.Content\n      data-slot=\"accordion-content\"\n      className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n      {...props}\n    >\n      <div className={cn(\"pt-0 pb-4\", className)}>{children}</div>\n    </AccordionPrimitive.Content>\n  )\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n"
  },
  {
    "path": "web/frontend/src/components/ui/alert.tsx",
    "content": "import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst alertVariants = cva(\n  \"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n  {\n    variants: {\n      variant: {\n        default: \"bg-background text-foreground\",\n        destructive:\n          \"text-destructive-foreground [&>svg]:text-current *:data-[slot=alert-description]:text-destructive-foreground/80\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n    },\n  }\n)\n\nfunction Alert({\n  className,\n  variant,\n  ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n  return (\n    <div\n      data-slot=\"alert\"\n      role=\"alert\"\n      className={cn(alertVariants({ variant }), className)}\n      {...props}\n    />\n  )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"alert-title\"\n      className={cn(\n        \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction AlertDescription({\n  className,\n  ...props\n}: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"alert-description\"\n      className={cn(\n        \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nexport { Alert, AlertTitle, AlertDescription }\n"
  },
  {
    "path": "web/frontend/src/components/ui/button.tsx",
    "content": "import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n  \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n  {\n    variants: {\n      variant: {\n        default:\n          \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n        destructive:\n          \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40\",\n        outline:\n          \"border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground\",\n        secondary:\n          \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n        ghost: \"hover:bg-accent hover:text-accent-foreground\",\n        link: \"text-primary underline-offset-4 hover:underline\",\n      },\n      size: {\n        default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n        sm: \"h-8 rounded-md px-3 has-[>svg]:px-2.5\",\n        lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n        icon: \"size-9\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n      size: \"default\",\n    },\n  }\n)\n\nfunction Button({\n  className,\n  variant,\n  size,\n  asChild = false,\n  ...props\n}: React.ComponentProps<\"button\"> &\n  VariantProps<typeof buttonVariants> & {\n    asChild?: boolean\n  }) {\n  const Comp = asChild ? Slot : \"button\"\n\n  return (\n    <Comp\n      data-slot=\"button\"\n      className={cn(buttonVariants({ variant, size, className }))}\n      {...props}\n    />\n  )\n}\n\nexport { Button, buttonVariants }\n"
  },
  {
    "path": "web/frontend/src/components/ui/card.tsx",
    "content": "import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card\"\n      className={cn(\n        \"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-header\"\n      className={cn(\"flex flex-col gap-1.5 px-6\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-title\"\n      className={cn(\"leading-none font-semibold\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-description\"\n      className={cn(\"text-muted-foreground text-sm\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-content\"\n      className={cn(\"px-6\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-footer\"\n      className={cn(\"flex items-center px-6\", className)}\n      {...props}\n    />\n  )\n}\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n"
  },
  {
    "path": "web/frontend/src/components/ui/form.tsx",
    "content": "import * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport {\n  Controller,\n  ControllerProps,\n  FieldPath,\n  FieldValues,\n  FormProvider,\n  useFormContext,\n  useFormState,\n} from \"react-hook-form\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Label } from \"@/components/ui/label\"\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n  TFieldValues extends FieldValues = FieldValues,\n  TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n  name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n  {} as FormFieldContextValue\n)\n\nconst FormField = <\n  TFieldValues extends FieldValues = FieldValues,\n  TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n  ...props\n}: ControllerProps<TFieldValues, TName>) => {\n  return (\n    <FormFieldContext.Provider value={{ name: props.name }}>\n      <Controller {...props} />\n    </FormFieldContext.Provider>\n  )\n}\n\nconst useFormField = () => {\n  const fieldContext = React.useContext(FormFieldContext)\n  const itemContext = React.useContext(FormItemContext)\n  const { getFieldState } = useFormContext()\n  const formState = useFormState({ name: fieldContext.name })\n  const fieldState = getFieldState(fieldContext.name, formState)\n\n  if (!fieldContext) {\n    throw new Error(\"useFormField should be used within <FormField>\")\n  }\n\n  const { id } = itemContext\n\n  return {\n    id,\n    name: fieldContext.name,\n    formItemId: `${id}-form-item`,\n    formDescriptionId: `${id}-form-item-description`,\n    formMessageId: `${id}-form-item-message`,\n    ...fieldState,\n  }\n}\n\ntype FormItemContextValue = {\n  id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n  {} as FormItemContextValue\n)\n\nfunction FormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n  const id = React.useId()\n\n  return (\n    <FormItemContext.Provider value={{ id }}>\n      <div\n        data-slot=\"form-item\"\n        className={cn(\"grid gap-2\", className)}\n        {...props}\n      />\n    </FormItemContext.Provider>\n  )\n}\n\nfunction FormLabel({\n  className,\n  ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n  const { error, formItemId } = useFormField()\n\n  return (\n    <Label\n      data-slot=\"form-label\"\n      data-error={!!error}\n      className={cn(\"data-[error=true]:text-destructive-foreground\", className)}\n      htmlFor={formItemId}\n      {...props}\n    />\n  )\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n  const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n  return (\n    <Slot\n      data-slot=\"form-control\"\n      id={formItemId}\n      aria-describedby={\n        !error\n          ? `${formDescriptionId}`\n          : `${formDescriptionId} ${formMessageId}`\n      }\n      aria-invalid={!!error}\n      {...props}\n    />\n  )\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n  const { formDescriptionId } = useFormField()\n\n  return (\n    <p\n      data-slot=\"form-description\"\n      id={formDescriptionId}\n      className={cn(\"text-muted-foreground text-sm\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<\"p\">) {\n  const { error, formMessageId } = useFormField()\n  const body = error ? String(error?.message) : props.children\n\n  if (!body) {\n    return null\n  }\n\n  return (\n    <p\n      data-slot=\"form-message\"\n      id={formMessageId}\n      className={cn(\"text-destructive-foreground text-sm\", className)}\n      {...props}\n    >\n      {body}\n    </p>\n  )\n}\n\nexport {\n  useFormField,\n  Form,\n  FormItem,\n  FormLabel,\n  FormControl,\n  FormDescription,\n  FormMessage,\n  FormField,\n}\n"
  },
  {
    "path": "web/frontend/src/components/ui/input.tsx",
    "content": "import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n  return (\n    <input\n      type={type}\n      data-slot=\"input\"\n      className={cn(\n        \"border-input file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n        \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n        \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nexport { Input }\n"
  },
  {
    "path": "web/frontend/src/components/ui/label.tsx",
    "content": "\"use client\"\n\nimport * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Label({\n  className,\n  ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n  return (\n    <LabelPrimitive.Root\n      data-slot=\"label\"\n      className={cn(\n        \"text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nexport { Label }\n"
  },
  {
    "path": "web/frontend/src/components/ui/select.tsx",
    "content": "import * as React from \"react\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Select({\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n  return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n  return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />\n}\n\nfunction SelectValue({\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n  return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n  className,\n  children,\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger>) {\n  return (\n    <SelectPrimitive.Trigger\n      data-slot=\"select-trigger\"\n      className={cn(\n        \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&>span]:line-clamp-1\",\n        className\n      )}\n      {...props}\n    >\n      {children}\n      <SelectPrimitive.Icon asChild>\n        <ChevronDownIcon className=\"size-4 opacity-50\" />\n      </SelectPrimitive.Icon>\n    </SelectPrimitive.Trigger>\n  )\n}\n\nfunction SelectContent({\n  className,\n  children,\n  position = \"popper\",\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n  return (\n    <SelectPrimitive.Portal>\n      <SelectPrimitive.Content\n        data-slot=\"select-content\"\n        className={cn(\n          \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md\",\n          position === \"popper\" &&\n            \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n          className\n        )}\n        position={position}\n        {...props}\n      >\n        <SelectScrollUpButton />\n        <SelectPrimitive.Viewport\n          className={cn(\n            \"p-1\",\n            position === \"popper\" &&\n              \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n          )}\n        >\n          {children}\n        </SelectPrimitive.Viewport>\n        <SelectScrollDownButton />\n      </SelectPrimitive.Content>\n    </SelectPrimitive.Portal>\n  )\n}\n\nfunction SelectLabel({\n  className,\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n  return (\n    <SelectPrimitive.Label\n      data-slot=\"select-label\"\n      className={cn(\"px-2 py-1.5 text-sm font-medium\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction SelectItem({\n  className,\n  children,\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n  return (\n    <SelectPrimitive.Item\n      data-slot=\"select-item\"\n      className={cn(\n        \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n        className\n      )}\n      {...props}\n    >\n      <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n        <SelectPrimitive.ItemIndicator>\n          <CheckIcon className=\"size-4\" />\n        </SelectPrimitive.ItemIndicator>\n      </span>\n      <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n    </SelectPrimitive.Item>\n  )\n}\n\nfunction SelectSeparator({\n  className,\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n  return (\n    <SelectPrimitive.Separator\n      data-slot=\"select-separator\"\n      className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction SelectScrollUpButton({\n  className,\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n  return (\n    <SelectPrimitive.ScrollUpButton\n      data-slot=\"select-scroll-up-button\"\n      className={cn(\n        \"flex cursor-default items-center justify-center py-1\",\n        className\n      )}\n      {...props}\n    >\n      <ChevronUpIcon className=\"size-4\" />\n    </SelectPrimitive.ScrollUpButton>\n  )\n}\n\nfunction SelectScrollDownButton({\n  className,\n  ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n  return (\n    <SelectPrimitive.ScrollDownButton\n      data-slot=\"select-scroll-down-button\"\n      className={cn(\n        \"flex cursor-default items-center justify-center py-1\",\n        className\n      )}\n      {...props}\n    >\n      <ChevronDownIcon className=\"size-4\" />\n    </SelectPrimitive.ScrollDownButton>\n  )\n}\n\nexport {\n  Select,\n  SelectContent,\n  SelectGroup,\n  SelectItem,\n  SelectLabel,\n  SelectScrollDownButton,\n  SelectScrollUpButton,\n  SelectSeparator,\n  SelectTrigger,\n  SelectValue,\n}\n"
  },
  {
    "path": "web/frontend/src/components/ui/sheet.tsx",
    "content": "import * as React from \"react\"\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\"\nimport { XIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n  return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />\n}\n\nfunction SheetTrigger({\n  ...props\n}: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n  return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />\n}\n\nfunction SheetClose({\n  ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close>) {\n  return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />\n}\n\nfunction SheetPortal({\n  ...props\n}: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n  return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />\n}\n\nfunction SheetOverlay({\n  className,\n  ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n  return (\n    <SheetPrimitive.Overlay\n      data-slot=\"sheet-overlay\"\n      className={cn(\n        \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction SheetContent({\n  className,\n  children,\n  side = \"right\",\n  ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n  side?: \"top\" | \"right\" | \"bottom\" | \"left\"\n}) {\n  return (\n    <SheetPortal>\n      <SheetOverlay />\n      <SheetPrimitive.Content\n        data-slot=\"sheet-content\"\n        className={cn(\n          \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",\n          side === \"right\" &&\n            \"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm\",\n          side === \"left\" &&\n            \"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm\",\n          side === \"top\" &&\n            \"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b\",\n          side === \"bottom\" &&\n            \"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t\",\n          className\n        )}\n        {...props}\n      >\n        {children}\n        <SheetPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n          <XIcon className=\"size-4\" />\n          <span className=\"sr-only\">Close</span>\n        </SheetPrimitive.Close>\n      </SheetPrimitive.Content>\n    </SheetPortal>\n  )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"sheet-header\"\n      className={cn(\"flex flex-col gap-1.5 p-4\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"sheet-footer\"\n      className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction SheetTitle({\n  className,\n  ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n  return (\n    <SheetPrimitive.Title\n      data-slot=\"sheet-title\"\n      className={cn(\"text-foreground font-semibold\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction SheetDescription({\n  className,\n  ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n  return (\n    <SheetPrimitive.Description\n      data-slot=\"sheet-description\"\n      className={cn(\"text-muted-foreground text-sm\", className)}\n      {...props}\n    />\n  )\n}\n\nexport {\n  Sheet,\n  SheetTrigger,\n  SheetClose,\n  SheetContent,\n  SheetHeader,\n  SheetFooter,\n  SheetTitle,\n  SheetDescription,\n}\n"
  },
  {
    "path": "web/frontend/src/components/ui/sonner.tsx",
    "content": "import { useTheme } from \"next-themes\"\nimport { Toaster as Sonner, ToasterProps } from \"sonner\"\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n  const { theme = \"system\" } = useTheme()\n\n  return (\n    <Sonner\n      theme={theme as ToasterProps[\"theme\"]}\n      className=\"toaster group\"\n      toastOptions={{\n        classNames: {\n          toast:\n            \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n          description: \"group-[.toast]:text-muted-foreground\",\n          actionButton:\n            \"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground font-medium\",\n          cancelButton:\n            \"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground font-medium\",\n        },\n      }}\n      {...props}\n    />\n  )\n}\n\nexport { Toaster }\n"
  },
  {
    "path": "web/frontend/src/components/ui/tabs.tsx",
    "content": "\"use client\"\n\nimport * as React from \"react\"\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Tabs({\n  className,\n  ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n  return (\n    <TabsPrimitive.Root\n      data-slot=\"tabs\"\n      className={cn(\"flex flex-col gap-2\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction TabsList({\n  className,\n  ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n  return (\n    <TabsPrimitive.List\n      data-slot=\"tabs-list\"\n      className={cn(\n        \"bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction TabsTrigger({\n  className,\n  ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n  return (\n    <TabsPrimitive.Trigger\n      data-slot=\"tabs-trigger\"\n      className={cn(\n        \"data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex items-center justify-center gap-2 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction TabsContent({\n  className,\n  ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n  return (\n    <TabsPrimitive.Content\n      data-slot=\"tabs-content\"\n      className={cn(\"flex-1 outline-none\", className)}\n      {...props}\n    />\n  )\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n"
  },
  {
    "path": "web/frontend/src/index.css",
    "content": "@import 'tailwindcss';\n\n@plugin 'tailwindcss-animate';\n\n@custom-variant dark (&:is(.dark *));\n\n:root {\n  --background: oklch(1 0 0);\n  --foreground: oklch(0.13 0.028 261.692);\n  --card: oklch(1 0 0);\n  --card-foreground: oklch(0.13 0.028 261.692);\n  --popover: oklch(1 0 0);\n  --popover-foreground: oklch(0.13 0.028 261.692);\n  --primary: oklch(0.21 0.034 264.665);\n  --primary-foreground: oklch(0.985 0.002 247.839);\n  --secondary: oklch(0.967 0.003 264.542);\n  --secondary-foreground: oklch(0.21 0.034 264.665);\n  --muted: oklch(0.967 0.003 264.542);\n  --muted-foreground: oklch(0.551 0.027 264.364);\n  --accent: oklch(0.967 0.003 264.542);\n  --accent-foreground: oklch(0.21 0.034 264.665);\n  --destructive: oklch(0.577 0.245 27.325);\n  --destructive-foreground: oklch(0.577 0.245 27.325);\n  --border: oklch(0.928 0.006 264.531);\n  --input: oklch(0.928 0.006 264.531);\n  --ring: oklch(0.872 0.01 258.338);\n  --chart-1: oklch(0.646 0.222 41.116);\n  --chart-2: oklch(0.6 0.118 184.704);\n  --chart-3: oklch(0.398 0.07 227.392);\n  --chart-4: oklch(0.828 0.189 84.429);\n  --chart-5: oklch(0.769 0.188 70.08);\n  --radius: 0.625rem;\n\n  --sidebar: oklch(0.985 0.002 247.839);\n  --sidebar-foreground: oklch(0.13 0.028 261.692);\n  --sidebar-primary: oklch(0.21 0.034 264.665);\n  --sidebar-primary-foreground: oklch(0.985 0.002 247.839);\n  --sidebar-accent: oklch(0.967 0.003 264.542);\n  --sidebar-accent-foreground: oklch(0.21 0.034 264.665);\n  --sidebar-border: oklch(0.928 0.006 264.531);\n  --sidebar-ring: oklch(0.872 0.01 258.338);\n}\n\n.dark {\n  --background: oklch(0.13 0.028 261.692);\n  --foreground: oklch(0.985 0.002 247.839);\n  --card: oklch(0.13 0.028 261.692);\n  --card-foreground: oklch(0.985 0.002 247.839);\n  --popover: oklch(0.13 0.028 261.692);\n  --popover-foreground: oklch(0.985 0.002 247.839);\n  --primary: oklch(0.985 0.002 247.839);\n  --primary-foreground: oklch(0.21 0.034 264.665);\n  --secondary: oklch(0.278 0.033 256.848);\n  --secondary-foreground: oklch(0.985 0.002 247.839);\n  --muted: oklch(0.278 0.033 256.848);\n  --muted-foreground: oklch(0.707 0.022 261.325);\n  --accent: oklch(0.278 0.033 256.848);\n  --accent-foreground: oklch(0.985 0.002 247.839);\n  --destructive: oklch(0.396 0.141 25.723);\n  --destructive-foreground: oklch(0.637 0.237 25.331);\n  --border: oklch(0.278 0.033 256.848);\n  --input: oklch(0.278 0.033 256.848);\n  --ring: oklch(0.446 0.03 256.802);\n  --chart-1: oklch(0.488 0.243 264.376);\n  --chart-2: oklch(0.696 0.17 162.48);\n  --chart-3: oklch(0.769 0.188 70.08);\n  --chart-4: oklch(0.627 0.265 303.9);\n  --chart-5: oklch(0.645 0.246 16.439);\n  --sidebar: oklch(0.21 0.034 264.665);\n  --sidebar-foreground: oklch(0.985 0.002 247.839);\n  --sidebar-primary: oklch(0.488 0.243 264.376);\n  --sidebar-primary-foreground: oklch(0.985 0.002 247.839);\n  --sidebar-accent: oklch(0.278 0.033 256.848);\n  --sidebar-accent-foreground: oklch(0.985 0.002 247.839);\n  --sidebar-border: oklch(0.278 0.033 256.848);\n  --sidebar-ring: oklch(0.446 0.03 256.802);\n}\n\n@theme inline {\n  --color-background: var(--background);\n  --color-foreground: var(--foreground);\n  --color-card: var(--card);\n  --color-card-foreground: var(--card-foreground);\n  --color-popover: var(--popover);\n  --color-popover-foreground: var(--popover-foreground);\n  --color-primary: var(--primary);\n  --color-primary-foreground: var(--primary-foreground);\n  --color-secondary: var(--secondary);\n  --color-secondary-foreground: var(--secondary-foreground);\n  --color-muted: var(--muted);\n  --color-muted-foreground: var(--muted-foreground);\n  --color-accent: var(--accent);\n  --color-accent-foreground: var(--accent-foreground);\n  --color-destructive: var(--destructive);\n  --color-destructive-foreground: var(--destructive-foreground);\n  --color-border: var(--border);\n  --color-input: var(--input);\n  --color-ring: var(--ring);\n  --color-chart-1: var(--chart-1);\n  --color-chart-2: var(--chart-2);\n  --color-chart-3: var(--chart-3);\n  --color-chart-4: var(--chart-4);\n  --color-chart-5: var(--chart-5);\n  --radius-sm: calc(var(--radius) - 4px);\n  --radius-md: calc(var(--radius) - 2px);\n  --radius-lg: var(--radius);\n  --radius-xl: calc(var(--radius) + 4px);\n  --color-sidebar: var(--sidebar);\n  --color-sidebar-foreground: var(--sidebar-foreground);\n  --color-sidebar-primary: var(--sidebar-primary);\n  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);\n  --color-sidebar-accent: var(--sidebar-accent);\n  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);\n  --color-sidebar-border: var(--sidebar-border);\n  --color-sidebar-ring: var(--sidebar-ring);\n}\n\n@layer base {\n  * {\n    @apply border-border outline-ring/50;\n  }\n\n  body {\n    @apply bg-background text-foreground;\n  }\n}\n"
  },
  {
    "path": "web/frontend/src/lib/utils.ts",
    "content": "import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n  return twMerge(clsx(inputs))\n}\n"
  },
  {
    "path": "web/frontend/src/main.tsx",
    "content": "import { StrictMode } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport './index.css'\nimport App from './App.tsx'\n\ncreateRoot(document.getElementById('root')!).render(\n  <StrictMode>\n    <App />\n  </StrictMode>,\n)\n"
  },
  {
    "path": "web/frontend/src/vite-env.d.ts",
    "content": "/// <reference types=\"vite/client\" />\n"
  },
  {
    "path": "web/frontend/tsconfig.app.json",
    "content": "{\n  \"compilerOptions\": {\n    \"tsBuildInfoFile\": \"./node_modules/.tmp/tsconfig.app.tsbuildinfo\",\n    \"incremental\": true,\n    \"target\": \"ES2020\",\n    \"useDefineForClassFields\": true,\n    \"lib\": [\"ES2020\", \"DOM\", \"DOM.Iterable\"],\n    \"module\": \"ESNext\",\n    \"skipLibCheck\": true,\n\n    /* Bundler mode */\n    \"moduleResolution\": \"bundler\",\n    \"allowImportingTsExtensions\": true,\n    \"isolatedModules\": true,\n    \"moduleDetection\": \"force\",\n    \"noEmit\": true,\n    \"jsx\": \"react-jsx\",\n\n    /* Linting */\n    \"strict\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n    \"noFallthroughCasesInSwitch\": true,\n    \"noUncheckedSideEffectImports\": true,\n\n    /* Path Aliases */\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"./src/*\"]\n    }\n  },\n  \"include\": [\"src\"]\n}\n"
  },
  {
    "path": "web/frontend/tsconfig.json",
    "content": "{\n  \"files\": [],\n  \"references\": [{ \"path\": \"./tsconfig.app.json\" }, { \"path\": \"./tsconfig.node.json\" }],\n  \"compilerOptions\": {\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"./src/*\"]\n    }\n  }\n}\n"
  },
  {
    "path": "web/frontend/tsconfig.node.json",
    "content": "{\n  \"compilerOptions\": {\n    \"tsBuildInfoFile\": \"./node_modules/.tmp/tsconfig.node.tsbuildinfo\",\n    \"incremental\": true,\n    \"target\": \"ES2022\",\n    \"lib\": [\"ES2023\"],\n    \"module\": \"ESNext\",\n    \"skipLibCheck\": true,\n\n    /* Bundler mode */\n    \"moduleResolution\": \"bundler\",\n    \"allowImportingTsExtensions\": true,\n    \"isolatedModules\": true,\n    \"moduleDetection\": \"force\",\n    \"noEmit\": true,\n\n    /* Linting */\n    \"strict\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n    \"noFallthroughCasesInSwitch\": true,\n    \"noUncheckedSideEffectImports\": true\n  },\n  \"include\": [\"vite.config.ts\"]\n}\n"
  },
  {
    "path": "web/frontend/vite.config.ts",
    "content": "import { defineConfig } from 'vite'\nimport react from '@vitejs/plugin-react'\nimport tailwindcss from '@tailwindcss/vite'\n\n// https://vite.dev/config/\nexport default defineConfig({\n  plugins: [react(), tailwindcss()],\n  resolve: {\n    alias: {\n      '@': '/src',\n    },\n  },\n  build: {\n    outDir: '../../dist',\n    emptyOutDir: true,\n  },\n})\n"
  },
  {
    "path": "web.go",
    "content": "package main\n\nimport (\n\t\"embed\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/fs\"\n\t\"net/http\"\n\t\"strings\"\n\n\taai \"github.com/AssemblyAI/assemblyai-go-sdk\"\n\n\trestapi \"github.com/deepgram/deepgram-go-sdk/v2/pkg/api/listen/v1/rest\"\n\tclientinterfaces \"github.com/deepgram/deepgram-go-sdk/v2/pkg/client/interfaces/v1\"\n\tclient \"github.com/deepgram/deepgram-go-sdk/v2/pkg/client/listen/v1/rest\"\n)\n\n//go:embed dist\nvar frontend embed.FS\n\ntype WebCmd struct {\n\tDev  bool `help:\"Run in development mode\" default:\"false\"`\n\tPort int  `help:\"Preferred port to run the server on\" default:\"8080\"`\n}\n\nvar modelConfigs = map[string]struct {\n\tModels  []string\n\tDefault string\n}{\n\t\"ytt\": {\n\t\tModels: []string{\n\t\t\tstring(GPT4o),\n\t\t\tstring(GPT4oMini),\n\t\t\tstring(Claude37Sonnet),\n\t\t\tstring(Claude35Haiku),\n\t\t\tstring(Llama3370b),\n\t\t\tstring(Llama318b),\n\t\t\tstring(Gemini2Flash),\n\t\t\tstring(BedrockClaude37Sonnet),\n\t\t\tstring(BedrockClaude35Haiku),\n\t\t},\n\t\tDefault: string(GPT4o),\n\t},\n\t\"aai\": {\n\t\tModels:  []string{\"best\", \"nano\"},\n\t\tDefault: \"best\",\n\t},\n\t\"deepgram\": {\n\t\tModels:  []string{\"nova-2\", \"phonecall\", \"finance\", \"video\"},\n\t\tDefault: \"nova-2\",\n\t},\n}\n\nfunc (c *WebCmd) Run() error {\n\tif c.Dev && c.Port == 8080 {\n\t\tc.Port = 5170\n\t}\n\n\tmux := http.NewServeMux()\n\tmux.HandleFunc(\"GET /settings\", handleGetSettings)\n\tmux.HandleFunc(\"POST /settings\", handlePostSettings)\n\tmux.HandleFunc(\"GET /models/{subcommand}\", handleModels)\n\tmux.HandleFunc(\"GET /ytt\", handleYTT)\n\tmux.HandleFunc(\"POST /audio\", handleAudioTranscription)\n\n\tif !c.Dev {\n\t\tdist, err := fs.Sub(frontend, \"dist\")\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"failed to get dist subfolder: %w\", err)\n\t\t}\n\t\tmux.Handle(\"/\", http.FileServer(http.FS(dist)))\n\t}\n\tfmt.Printf(\"Starting server on port %d\\n\", c.Port)\n\treturn http.ListenAndServe(fmt.Sprintf(\":%d\", c.Port), mux)\n}\n\nfunc handleGetSettings(w http.ResponseWriter, r *http.Request) {\n\tconfig, err := ReadConfig()\n\tif err != nil {\n\t\thttp.Error(w, err.Error(), http.StatusInternalServerError)\n\t\treturn\n\t}\n\n\tw.Header().Set(\"Content-Type\", \"application/json\")\n\tjson.NewEncoder(w).Encode(config)\n}\n\nfunc handlePostSettings(w http.ResponseWriter, r *http.Request) {\n\tvar config Config\n\tif err := json.NewDecoder(r.Body).Decode(&config); err != nil {\n\t\thttp.Error(w, err.Error(), http.StatusBadRequest)\n\t\treturn\n\t}\n\n\tif err := WriteConfig(&config); err != nil {\n\t\thttp.Error(w, err.Error(), http.StatusInternalServerError)\n\t\treturn\n\t}\n\n\tw.WriteHeader(http.StatusOK)\n}\n\nfunc handleModels(w http.ResponseWriter, r *http.Request) {\n\tsubcommand := r.PathValue(\"subcommand\")\n\n\tconfig, exists := modelConfigs[subcommand]\n\tif !exists {\n\t\thttp.Error(w, \"Subcommand not found\", http.StatusNotFound)\n\t\treturn\n\t}\n\n\tw.Header().Set(\"Content-Type\", \"application/json\")\n\tjson.NewEncoder(w).Encode(map[string]interface{}{\n\t\t\"models\":  config.Models,\n\t\t\"default\": config.Default,\n\t})\n}\n\ntype AudioURLTranscriptionRequest struct {\n\tURL     string `json:\"url\"`\n\tService string `json:\"service\"`\n\tModel   string `json:\"model\"`\n}\n\ntype AudioURLTranscriptionResponse struct {\n\tText string `json:\"text\"`\n}\n\nfunc jsonError(w http.ResponseWriter, message string, code int) {\n\tw.Header().Set(\"Content-Type\", \"application/json\")\n\tw.WriteHeader(code)\n\tjson.NewEncoder(w).Encode(map[string]string{\"error\": message})\n}\n\nfunc handleAudioTranscription(w http.ResponseWriter, r *http.Request) {\n\tw.Header().Set(\"Content-Type\", \"application/json\")\n\n\tvar req AudioURLTranscriptionRequest\n\tif err := json.NewDecoder(r.Body).Decode(&req); err != nil {\n\t\tjsonError(w, \"Invalid request body\", http.StatusBadRequest)\n\t\treturn\n\t}\n\n\tconfig, err := ReadConfig()\n\tif err != nil {\n\t\tjsonError(w, \"Failed to read config\", http.StatusInternalServerError)\n\t\treturn\n\t}\n\n\tvar text string\n\tswitch req.Service {\n\tcase \"deepgram\":\n\t\tif config.DeepgramAPIKey == \"\" {\n\t\t\tjsonError(w, \"Deepgram API key not configured\", http.StatusUnauthorized)\n\t\t\treturn\n\t\t}\n\n\t\tc := client.New(config.DeepgramAPIKey, &clientinterfaces.ClientOptions{})\n\t\tdg := restapi.New(c)\n\n\t\toptions := &clientinterfaces.PreRecordedTranscriptionOptions{\n\t\t\tModel:       req.Model,\n\t\t\tSmartFormat: true,\n\t\t\tPunctuate:   true,\n\t\t\tDiarize:     true,\n\t\t\tUtterances:  true,\n\t\t}\n\n\t\tres, err := dg.FromURL(r.Context(), req.URL, options)\n\t\tif err != nil {\n\t\t\tjsonError(w, fmt.Sprintf(\"Transcription failed: %v\", err), http.StatusInternalServerError)\n\t\t\treturn\n\t\t}\n\t\ttext = res.Results.Channels[0].Alternatives[0].Paragraphs.Transcript\n\n\tcase \"aai\":\n\t\tif config.AssemblyAIAPIKey == \"\" {\n\t\t\tjsonError(w, \"AssemblyAI API key not configured\", http.StatusUnauthorized)\n\t\t\treturn\n\t\t}\n\n\t\tclient := aai.NewClient(config.AssemblyAIAPIKey)\n\t\tparams := &aai.TranscriptOptionalParams{\n\t\t\tSpeakerLabels: aai.Bool(true),\n\t\t\tPunctuate:     aai.Bool(true),\n\t\t\tFormatText:    aai.Bool(true),\n\t\t\tSpeechModel:   aai.SpeechModel(req.Model),\n\t\t}\n\n\t\ttranscript, err := client.Transcripts.TranscribeFromURL(r.Context(), req.URL, params)\n\t\tif err != nil {\n\t\t\tjsonError(w, fmt.Sprintf(\"Transcription failed: %v\", err), http.StatusInternalServerError)\n\t\t\treturn\n\t\t}\n\n\t\tvar builder strings.Builder\n\t\tfor _, utterance := range transcript.Utterances {\n\t\t\tfmt.Fprintf(&builder, \"Speaker %s: %s\\n\\n\",\n\t\t\t\taai.ToString(utterance.Speaker),\n\t\t\t\taai.ToString(utterance.Text))\n\t\t}\n\t\ttext = builder.String()\n\n\tdefault:\n\t\tjsonError(w, \"Unsupported transcription service\", http.StatusBadRequest)\n\t\treturn\n\t}\n\n\tjson.NewEncoder(w).Encode(AudioURLTranscriptionResponse{Text: text})\n}\n"
  },
  {
    "path": "youtube_transcriber.go",
    "content": "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"strings\"\n\n\t\"github.com/deepakjois/ytt\"\n)\n\nconst (\n\tuserPrompt = `You will be given auto-generated captions from a YouTube video. These may be full captions, or a segment of the full transcript if it is too large. Your task is to transform these captions into a clean, readable transcript. Here are the auto-generated captions:\n\n<captions>\n%s\n</captions>\n\nFollow these steps to create a clean transcript:\n\n1. Correct any spelling errors you encounter. Use your knowledge of common words and context to determine the correct spelling.\n\n2. Add appropriate punctuation throughout the text. This includes commas, periods, question marks, and exclamation points where necessary.\n\n3. Capitalize the first letter of each sentence and proper nouns.\n\n4. Break the text into logical paragraphs. Start a new paragraph when there's a shift in topic or speaker.\n\n5. Remove any unnecessary filler words, repetitions, or false starts.\n\n6. Maintain the original meaning and intent of the transcript. Do not remove any content even if it is unrelated to the main topic.\n\n\nOnce you have completed these steps, provide the clean transcript . Ensure that the transcript is well-formatted, easy to read, and accurately represents the original content of the video. Do not include any additional text in your response.`\n)\n\ntype TranscriptionCallback func(text string, done bool) error\n\ntype YouTubeTranscriber struct {\n\tclient LLMClient\n\tmodel  LLMModel\n}\n\nfunc NewYouTubeTranscriber(client LLMClient, model LLMModel) *YouTubeTranscriber {\n\treturn &YouTubeTranscriber{\n\t\tclient: client,\n\t\tmodel:  model,\n\t}\n}\n\nfunc (yt *YouTubeTranscriber) Transcribe(ctx context.Context, videoURL string, callback TranscriptionCallback) error {\n\tvideoID, err := ytt.ExtractVideoID(videoURL)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to extract video ID: %w\", err)\n\t}\n\n\ttranscriptList, err := ytt.ListTranscripts(videoID)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to list transcripts: %w\", err)\n\t}\n\n\ttranscript, err := transcriptList.FindTranscript(\"en\")\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to find English transcript: %w\", err)\n\t}\n\n\tentries, err := transcript.Fetch()\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to fetch transcript: %w\", err)\n\t}\n\n\tvar transcriptTxt strings.Builder\n\tfor i, entry := range entries {\n\t\tif i > 0 {\n\t\t\ttranscriptTxt.WriteString(\" \")\n\t\t}\n\t\ttranscriptTxt.WriteString(entry.Text)\n\t}\n\n\tchunks := yt.splitText(transcriptTxt.String())\n\n\tfor _, chunk := range chunks {\n\t\trespCh, errCh := yt.client.CompleteStream(ctx, CompletionRequest{\n\t\t\tUserPrompt: fmt.Sprintf(userPrompt, chunk),\n\t\t\tModel:      yt.model,\n\t\t})\n\n\t\tfor resp := range respCh {\n\t\t\tif err := callback(resp.Text, resp.Done); err != nil {\n\t\t\t\treturn fmt.Errorf(\"callback error: %w\", err)\n\t\t\t}\n\t\t}\n\n\t\tif err := <-errCh; err != nil {\n\t\t\treturn fmt.Errorf(\"error from LLM: %w\", err)\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// Approximate words from token count (typically 0.75 tokens per word)\nfunc calcWordsFromTokens(tokens int) int {\n\treturn int(float64(tokens) * 0.75)\n}\n\nfunc (yt *YouTubeTranscriber) splitText(text string) []string {\n\tmaxWords := calcWordsFromTokens(modelTokenLimits[yt.model])\n\twords := strings.Fields(text)\n\n\tvar chunks []string\n\tvar currentChunk strings.Builder\n\tcurrentWordCount := 0\n\n\tfor i, word := range words {\n\t\tif i > 0 {\n\t\t\tcurrentChunk.WriteString(\" \")\n\t\t}\n\t\tcurrentChunk.WriteString(word)\n\t\tcurrentWordCount++\n\n\t\tif currentWordCount >= maxWords {\n\t\t\tchunks = append(chunks, currentChunk.String())\n\t\t\tcurrentChunk.Reset()\n\t\t\tcurrentWordCount = 0\n\t\t}\n\t}\n\n\tif currentChunk.Len() > 0 {\n\t\tchunks = append(chunks, currentChunk.String())\n\t}\n\n\treturn chunks\n}\n"
  },
  {
    "path": "ytt.go",
    "content": "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url\"\n\t\"os\"\n\t\"sort\"\n\n\t\"github.com/alecthomas/kong\"\n)\n\ntype YTTCmd struct {\n\tOpenAIAPIKey       string   `name:\"openai-api-key\" help:\"OpenAI API key\" env:\"OPENAI_API_KEY\" hidden:\"\"`\n\tAnthropicAPIKey    string   `help:\"Anthropic API key\" env:\"ANTHROPIC_API_KEY\" hidden:\"\"`\n\tGroqAPIKey         string   `help:\"Groq API key\" env:\"GROQ_API_KEY\" hidden:\"\"`\n\tGeminiAPIKey       string   `help:\"Gemini API key\" env:\"GEMINI_API_KEY\" hidden:\"\"`\n\tAWSRegion          string   `help:\"AWS Region\" env:\"AWS_REGION\" hidden:\"\"`\n\tAWSAccessKeyID     string   `help:\"AWS Access Key ID\" env:\"AWS_ACCESS_KEY_ID\" hidden:\"\"`\n\tAWSSecretAccessKey string   `help:\"AWS Secret Access Key ID\" env:\"AWS_SECRET_ACCESS_KEY\" hidden:\"\"`\n\tAWSSessionToken    string   `help:\"AWS Session Token\" env:\"AWS_SESSION_TOKEN\" hidden:\"\"`\n\tModel              LLMModel `help:\"Model to use\" default:\"gpt-4o\" short:\"m\"`\n\tVideoURL           *url.URL `arg:\"\" help:\"YouTube video URL\" short:\"u\" optional:\"\"`\n\tOutput             string   `help:\"Path to output transcript file (default: stdout)\" short:\"o\"`\n\tListModels         bool     `help:\"List available models\" short:\"l\"`\n}\n\nfunc (cmd *YTTCmd) getLLMClient() (LLMClient, error) {\n\tvar provider LLMProvider\n\n\tconfig := Config{\n\t\tOpenAIAPIKey:       cmd.OpenAIAPIKey,\n\t\tAnthropicAPIKey:    cmd.AnthropicAPIKey,\n\t\tGroqAPIKey:         cmd.GroqAPIKey,\n\t\tGeminiAPIKey:       cmd.GeminiAPIKey,\n\t\tAWSRegion:          cmd.AWSRegion,\n\t\tAWSAccessKeyID:     cmd.AWSAccessKeyID,\n\t\tAWSSecretAccessKey: cmd.AWSSecretAccessKey,\n\t\tAWSSessionToken:    cmd.AWSSessionToken,\n\t}\n\n\tswitch cmd.Model {\n\tcase GPT4o, GPT4oMini:\n\t\tif config.OpenAIAPIKey == \"\" {\n\t\t\treturn nil, fmt.Errorf(\"OpenAI API key required for model %s\", cmd.Model)\n\t\t}\n\t\tprovider = OpenAI\n\tcase Claude35Haiku, Claude37Sonnet:\n\t\tif config.AnthropicAPIKey == \"\" {\n\t\t\treturn nil, fmt.Errorf(\"Anthropic API key required for model %s\", cmd.Model)\n\t\t}\n\t\tprovider = Claude\n\tcase Llama3370b, Llama318b:\n\t\tif config.GroqAPIKey == \"\" {\n\t\t\treturn nil, fmt.Errorf(\"Groq API key required for model %s\", cmd.Model)\n\t\t}\n\t\tprovider = Groq\n\tcase Gemini2Flash:\n\t\tif config.GeminiAPIKey == \"\" {\n\t\t\treturn nil, fmt.Errorf(\"Gemini API key required for model %s\", cmd.Model)\n\t\t}\n\t\tprovider = Gemini\n\tcase BedrockClaude37Sonnet, BedrockClaude35Haiku:\n\t\tif config.AWSRegion == \"\" || config.AWSAccessKeyID == \"\" || config.AWSSecretAccessKey == \"\" || config.AWSSessionToken == \"\" {\n\t\t\treturn nil, fmt.Errorf(\"AWS credentials required for model %s\", cmd.Model)\n\t\t}\n\t\tprovider = Bedrock\n\tdefault:\n\t\treturn nil, fmt.Errorf(\"unsupported model: %s\", cmd.Model)\n\t}\n\n\treturn NewLLMClient(provider, config)\n}\n\nfunc (cmd *YTTCmd) Validate(kctx *kong.Context) error {\n\tif cmd.VideoURL == nil {\n\t\treturn fmt.Errorf(\"YouTube video URL is required\")\n\t}\n\treturn nil\n}\n\nfunc (cmd *YTTCmd) Run() error {\n\tif cmd.ListModels {\n\t\tfmt.Println(\"Available models:\")\n\t\tmodels := make([]string, 0, len(modelTokenLimits))\n\t\tfor model := range modelTokenLimits {\n\t\t\tmodels = append(models, string(model))\n\t\t}\n\t\tsort.Strings(models)\n\t\tfor _, model := range models {\n\t\t\tfmt.Printf(\"  %s\\n\", model)\n\t\t}\n\t\treturn nil\n\t}\n\n\tclient, err := cmd.getLLMClient()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tout := os.Stdout\n\tif cmd.Output != \"\" {\n\t\tf, err := os.Create(cmd.Output)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"failed to create output file: %w\", err)\n\t\t}\n\t\tdefer f.Close()\n\t\tout = f\n\t}\n\n\ttranscriber := NewYouTubeTranscriber(client, cmd.Model)\n\terr = transcriber.Transcribe(context.Background(), cmd.VideoURL.String(),\n\t\tfunc(text string, done bool) error {\n\t\t\t_, err := fmt.Fprint(out, text)\n\t\t\treturn err\n\t\t})\n\tfmt.Println()\n\treturn err\n}\n"
  },
  {
    "path": "ytt_web.go",
    "content": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"strings\"\n)\n\nfunc handleYTT(w http.ResponseWriter, r *http.Request) {\n\turl := r.URL.Query().Get(\"url\")\n\tif url == \"\" {\n\t\thttp.Error(w, \"URL parameter is required\", http.StatusBadRequest)\n\t\treturn\n\t}\n\n\tmodelStr := r.URL.Query().Get(\"model\")\n\tif modelStr == \"\" {\n\t\thttp.Error(w, \"Model parameter is required\", http.StatusBadRequest)\n\t\treturn\n\t}\n\tmodel := LLMModel(modelStr)\n\n\tconfig, err := ReadConfig()\n\tif err != nil {\n\t\thttp.Error(w, \"Failed to read config\", http.StatusInternalServerError)\n\t\treturn\n\t}\n\n\tprovider := getProviderForModel(model)\n\tif provider == \"\" {\n\t\thttp.Error(w, \"Unsupported model\", http.StatusBadRequest)\n\t\treturn\n\t}\n\n\t// Validate required credentials\n\tswitch provider {\n\tcase OpenAI:\n\t\tif config.OpenAIAPIKey == \"\" {\n\t\t\thttp.Error(w, fmt.Sprintf(\"OpenAI API key required for model %s\", model), http.StatusBadRequest)\n\t\t\treturn\n\t\t}\n\tcase Claude:\n\t\tif config.AnthropicAPIKey == \"\" {\n\t\t\thttp.Error(w, fmt.Sprintf(\"Anthropic API key required for model %s\", model), http.StatusBadRequest)\n\t\t\treturn\n\t\t}\n\tcase Groq:\n\t\tif config.GroqAPIKey == \"\" {\n\t\t\thttp.Error(w, fmt.Sprintf(\"Groq API key required for model %s\", model), http.StatusBadRequest)\n\t\t\treturn\n\t\t}\n\tcase Bedrock:\n\t\tif config.AWSRegion == \"\" || config.AWSAccessKeyID == \"\" || config.AWSSecretAccessKey == \"\" {\n\t\t\thttp.Error(w, fmt.Sprintf(\"AWS credentials required for model %s. Run 'podscript configure' to set them up\", model), http.StatusBadRequest)\n\t\t\treturn\n\t\t}\n\tcase Gemini:\n\t\tif config.GeminiAPIKey == \"\" {\n\t\t\thttp.Error(w, fmt.Sprintf(\"Gemini API key required for model %s\", model), http.StatusBadRequest)\n\t\t\treturn\n\t\t}\n\tdefault:\n\t\thttp.Error(w, \"Unsupported model\", http.StatusBadRequest)\n\t\treturn\n\t}\n\n\tclient, err := NewLLMClient(provider, *config)\n\tif err != nil {\n\t\thttp.Error(w, \"Failed to initialize LLM client\", http.StatusInternalServerError)\n\t\treturn\n\t}\n\n\t// Set up SSE headers\n\tw.Header().Set(\"Content-Type\", \"text/event-stream\")\n\tw.Header().Set(\"Cache-Control\", \"no-cache\")\n\tw.Header().Set(\"Connection\", \"keep-alive\")\n\tflusher, ok := w.(http.Flusher)\n\tif !ok {\n\t\thttp.Error(w, \"Streaming unsupported\", http.StatusInternalServerError)\n\t\treturn\n\t}\n\n\ttranscriber := NewYouTubeTranscriber(client, model)\n\terr = transcriber.Transcribe(r.Context(), url, func(text string, done bool) error {\n\t\t// Format multi-line SSE message by prefixing each line with \"data: \"\n\t\t// fmt.Printf(\"text (with whitespace): %q\\n\", text)\n\t\tlines := strings.Split(text, \"\\n\")\n\t\tfor i, line := range lines {\n\t\t\tif i > 0 {\n\t\t\t\t_, err := fmt.Fprint(w, \"\\n\")\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\t_, err := fmt.Fprintf(w, \"data: %s\", line)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\t_, err := fmt.Fprint(w, \"\\n\\n\")\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tif done {\n\t\t\t_, err := fmt.Fprint(w, \"event: done\\ndata: \\n\\n\")\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\n\t\tflusher.Flush()\n\t\treturn nil\n\t})\n\n\tif err != nil {\n\t\t// Log the error server-side\n\t\tfmt.Printf(\"[ERROR] Transcription failed: %v\\n\", err)\n\t\tfmt.Fprintf(w, \"event: error\\ndata: %s\\n\\n\", err.Error())\n\t\tflusher.Flush()\n\t}\n}\n\nfunc getProviderForModel(model LLMModel) LLMProvider {\n\tswitch model {\n\tcase GPT4o, GPT4oMini:\n\t\treturn OpenAI\n\tcase Claude37Sonnet, Claude35Haiku:\n\t\treturn Claude\n\tcase Llama3370b, Llama318b:\n\t\treturn Groq\n\tcase Gemini2Flash:\n\t\treturn Gemini\n\tcase BedrockClaude37Sonnet, BedrockClaude35Haiku:\n\t\treturn Bedrock\n\tdefault:\n\t\treturn \"\"\n\t}\n}\n"
  }
]