diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..242fa6a02584e345b472f643ddc32cb1fda20706 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,18 @@ +.git +.DS_Store +__pycache__ +*.pyc +*.pyo +.pytest_cache +.claude +node_modules +build +research +docs +plans +RESEARCH_NOTES.md +trainer +train.py +sim +viz +planner diff --git a/.gitignore b/.gitignore index aa3cd947100233a030e88417f9ad930429c56b97..6563588a202c10e6718b3cd7e592c885e79a613d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,9 +8,6 @@ # testing /coverage -# production -/build - # misc .DS_Store .env.local @@ -28,3 +25,5 @@ __pycache__/ # Reference repos (not pushed to HF) .reference/ +*.pyc +__pycache__/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..aaf15a9780b45d05060a4b961d6671cc9e3a7296 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM node:20-alpine AS web-builder + +WORKDIR /web +COPY package*.json ./ +RUN npm ci --no-audit --no-fund +COPY public ./public +COPY src ./src +RUN npm run build + +FROM ghcr.io/meta-pytorch/openenv-base:latest + +WORKDIR /app + +# Install Python deps first for better layer caching +COPY requirements.txt ./ +RUN pip install --no-cache-dir -r requirements.txt \ + && pip install --no-cache-dir "openenv-core[core]>=0.2.1" + +# Copy application source +COPY . /app + +# Overlay the compiled React frontend +COPY --from=web-builder /web/build /app/build + +EXPOSE 8000 + +CMD ["uvicorn", "openenv_server.app:app", "--host", "0.0.0.0", "--port", "8000"] diff --git a/README.md b/README.md index cacdb4ddc76d310ab967af8f4440b6b7d28a3f91..9136cba301c0a82d944368088e90a806aaa41d33 100644 --- a/README.md +++ b/README.md @@ -3,81 +3,35 @@ title: Optigami emoji: 🐠 colorFrom: indigo colorTo: red -sdk: static +sdk: docker pinned: false -app_build_command: npm run build -app_file: build/index.html +app_port: 8000 license: mit -short_description: ':)' +short_description: OpenEnv origami environment and demo --- -# Getting Started with Create React App +# Optigami -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). +OpenEnv-compatible origami RL environment with: +- environment + reward checks in `env/` +- OpenEnv server adapter in `openenv_runtime/` and `openenv_server/` +- Dockerized deployment for Hugging Face Spaces -## Available Scripts +Entry point: `openenv_server.app:app` +Manifest: `openenv.yaml` +Container: `Dockerfile` -In the project directory, you can run: +## Local Run -### `npm start` +```bash +uvicorn openenv_server.app:app --host 0.0.0.0 --port 8000 +``` -Runs the app in the development mode.\ -Open [http://localhost:3000](http://localhost:3000) to view it in your browser. +## Frontend (optional local React demo) -The page will reload when you make changes.\ -You may also see any lint errors in the console. +```bash +npm install +npm start +``` -### `npm test` - -Launches the test runner in the interactive watch mode.\ -See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. - -### `npm run build` - -Builds the app for production to the `build` folder.\ -It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.\ -Your app is ready to be deployed! - -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. - -### `npm run eject` - -**Note: this is a one-way operation. Once you `eject`, you can't go back!** - -If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. - -You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. - -## Learn More - -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). - -To learn React, check out the [React documentation](https://reactjs.org/). - -### Code Splitting - -This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) - -### Analyzing the Bundle Size - -This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) - -### Making a Progressive Web App - -This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) - -### Advanced Configuration - -This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) - -### Deployment - -This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) - -### `npm run build` fails to minify - -This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) +This serves the dashboard against the FastAPI API. diff --git a/build/asset-manifest.json b/build/asset-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..a47f7d299c8da94d432e2e5bc225318aaccf86fe --- /dev/null +++ b/build/asset-manifest.json @@ -0,0 +1,13 @@ +{ + "files": { + "main.css": "/static/css/main.edb517bf.css", + "main.js": "/static/js/main.7e6cf91b.js", + "index.html": "/index.html", + "main.edb517bf.css.map": "/static/css/main.edb517bf.css.map", + "main.7e6cf91b.js.map": "/static/js/main.7e6cf91b.js.map" + }, + "entrypoints": [ + "static/css/main.edb517bf.css", + "static/js/main.7e6cf91b.js" + ] +} \ No newline at end of file diff --git a/build/favicon.ico b/build/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a11777cc471a4344702741ab1c8a588998b1311a Binary files /dev/null and b/build/favicon.ico differ diff --git a/build/index.html b/build/index.html new file mode 100644 index 0000000000000000000000000000000000000000..971eccede684ce2aae0ceffb83ba6e534ae17661 --- /dev/null +++ b/build/index.html @@ -0,0 +1 @@ +React App
\ No newline at end of file diff --git a/build/logo192.png b/build/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 Binary files /dev/null and b/build/logo192.png differ diff --git a/build/logo512.png b/build/logo512.png new file mode 100644 index 0000000000000000000000000000000000000000..a4e47a6545bc15971f8f63fba70e4013df88a664 Binary files /dev/null and b/build/logo512.png differ diff --git a/build/manifest.json b/build/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..080d6c77ac21bb2ef88a6992b2b73ad93daaca92 --- /dev/null +++ b/build/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/build/robots.txt b/build/robots.txt new file mode 100644 index 0000000000000000000000000000000000000000..e9e57dc4d41b9b46e05112e9f45b7ea6ac0ba15e --- /dev/null +++ b/build/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/build/static/css/main.edb517bf.css b/build/static/css/main.edb517bf.css new file mode 100644 index 0000000000000000000000000000000000000000..995a0638f419e371f460f21137557cf91b05ea53 --- /dev/null +++ b/build/static/css/main.edb517bf.css @@ -0,0 +1,2 @@ +@import url(https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700&family=IBM+Plex+Mono:wght@300;400;500&display=swap);*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#0d0d14;color:#f8fafc;font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{height:4px;width:4px}::-webkit-scrollbar-track{background:#0d0d14}::-webkit-scrollbar-thumb{background:#2a2a3a}::-webkit-scrollbar-thumb:hover{background:#3a3a5a}:root{--bg:#0d0d14;--surface:#13131d;--surface-2:#1a1a2e;--paper-white:#fafaf5;--paper-edge:#2a2a3a;--mountain:#f59e0b;--valley:#38bdf8;--target-ghost:#7c3aed33;--target-ghost-stroke:#7c3aed73;--validity:#22d3ee;--progress:#22c55e;--economy:#a78bfa;--text-primary:#f8fafc;--text-dim:#64748b;--border:#2a2a3a;--border-bright:#3a3a5a;--font-display:"JetBrains Mono",monospace;--font-mono:"IBM Plex Mono",monospace}.app{background:#0d0d14;background:var(--bg);display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{align-items:center;background:#13131d;background:var(--surface);border-bottom:1px solid #2a2a3a;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:24px;height:48px;padding:0 20px;z-index:10}.app-title{color:#f8fafc;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.12em;white-space:nowrap}.app-title .title-accent{color:#f59e0b;color:var(--mountain)}.header-sep{background:#2a2a3a;background:var(--border);flex-shrink:0;height:24px;width:1px}.header-right{gap:16px;margin-left:auto}.api-status,.header-right{align-items:center;display:flex}.api-status{font-family:JetBrains Mono,monospace;font-family:var(--font-display);font-size:11px;gap:6px;letter-spacing:.08em}.api-status-dot{background:#64748b;background:var(--text-dim);border-radius:50%;height:6px;width:6px}.api-status-dot.ok{background:#22c55e;background:var(--progress);box-shadow:0 0 6px #22c55e;box-shadow:0 0 6px var(--progress)}.api-status-dot.err{background:#ef4444;box-shadow:0 0 6px #ef4444}.app-body{display:grid;flex:1 1;grid-template-columns:1fr 280px;overflow:hidden}.app-left{border-right:1px solid #2a2a3a;border-right:1px solid var(--border)}.app-left,.app-right{display:flex;flex-direction:column;overflow:hidden}.app-right{background:#13131d;background:var(--surface)}.canvas-row{border-bottom:1px solid #2a2a3a;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:0;overflow-x:auto;padding:16px}.canvas-wrap{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:280px}.canvas-wrap+.canvas-wrap{margin-left:16px}.canvas-label{color:#64748b;color:var(--text-dim);font-family:JetBrains Mono,monospace;font-family:var(--font-display);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.canvas-svg{background:#fafaf5;background:var(--paper-white);display:block}.canvas-3d{background:linear-gradient(180deg,#1a1a2e,#0f101a);border:1px solid #2a2a3a;border:1px solid var(--border);display:block}.canvas-label-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.fold-mode-toggle{background:#13131d;background:var(--surface);border:1px solid #2a2a3a;border:1px solid var(--border);display:inline-flex}.fold-mode-btn{background:#0000;border:none;color:#64748b;color:var(--text-dim);cursor:pointer;font-family:JetBrains Mono,monospace;font-family:var(--font-display);font-size:9px;letter-spacing:.08em;padding:3px 7px}.fold-mode-btn+.fold-mode-btn{border-left:1px solid #2a2a3a;border-left:1px solid var(--border)}.fold-mode-btn.active{background:#1f2538;color:#f8fafc;color:var(--text-primary)}.step-feed-section{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.section-header{border-bottom:1px solid #2a2a3a;border-bottom:1px solid var(--border);color:#64748b;color:var(--text-dim);flex-shrink:0;font-family:JetBrains Mono,monospace;font-family:var(--font-display);font-size:10px;font-weight:500;letter-spacing:.14em;padding:8px 16px;text-transform:uppercase}.step-feed{flex:1 1;overflow-y:auto;padding:4px 0}.step-entry{border-bottom:1px solid #2a2a3a;border-bottom:1px solid var(--border);cursor:default;display:flex;flex-direction:column;gap:2px;padding:8px 16px;transition:background .1s}.step-entry:hover{background:#13131d;background:var(--surface)}.step-entry.active{background:#1a1a2e;background:var(--surface-2);border-left:2px solid #38bdf8;border-left:2px solid var(--valley);padding-left:14px}.step-entry-top{align-items:center;display:flex;gap:8px}.step-num{color:#64748b;color:var(--text-dim);flex-shrink:0;font-family:JetBrains Mono,monospace;font-family:var(--font-display);font-size:10px;font-weight:700;width:24px}.step-instruction{color:#f8fafc;color:var(--text-primary);flex:1 1;font-size:12px}.assign-badge{flex-shrink:0;font-family:JetBrains Mono,monospace;font-family:var(--font-display);font-size:10px;font-weight:700;line-height:1.4;padding:1px 5px}.assign-badge.M{background:#f59e0b;background:var(--mountain);color:#0d0d14}.assign-badge.V{background:#38bdf8;background:var(--valley);color:#0d0d14}.assign-badge.B{background:#3a3a5a;background:var(--border-bright)}.assign-badge.B,.step-reward-delta{color:#64748b;color:var(--text-dim)}.step-reward-delta{font-size:11px;padding-left:32px}.step-reward-delta .delta-positive{color:#22c55e;color:var(--progress)}.step-reward-delta .delta-negative{color:#ef4444}.reward-panel{border-bottom:1px solid #2a2a3a;border-bottom:1px solid var(--border);flex-shrink:0;padding:12px 16px}.reward-row{align-items:center;display:flex;gap:8px;margin-bottom:6px}.reward-row:last-child{margin-bottom:0}.reward-label{color:#64748b;color:var(--text-dim);flex-shrink:0;font-family:JetBrains Mono,monospace;font-family:var(--font-display);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;width:72px}.reward-track{background:#0d0d14;background:var(--bg);border:1px solid #2a2a3a;border:1px solid var(--border);flex:1 1;height:8px;overflow:hidden}.reward-bar{height:100%;transition:width .4s ease}.reward-value{color:#f8fafc;color:var(--text-primary);flex-shrink:0;font-family:JetBrains Mono,monospace;font-family:var(--font-display);font-size:11px;font-weight:500;text-align:right;width:36px}.reward-value.dim{color:#64748b;color:var(--text-dim)}.reward-divider{background:#2a2a3a;background:var(--border);height:1px;margin:6px 0}.info-badges{display:flex;flex-direction:column;gap:8px;padding:12px 16px}.info-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.info-key{color:#64748b;color:var(--text-dim);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.info-key,.info-val{font-family:JetBrains Mono,monospace;font-family:var(--font-display)}.info-val{color:#f8fafc;color:var(--text-primary);font-size:11px;font-weight:700}.info-val.bool-true{color:#22c55e;color:var(--progress)}.info-val.bool-false{color:#ef4444}.info-val.dim{color:#64748b;color:var(--text-dim)}.target-selector{align-items:center;display:flex;gap:8px}.target-selector-label{color:#64748b;color:var(--text-dim);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.target-select,.target-selector-label{font-family:JetBrains Mono,monospace;font-family:var(--font-display)}.target-select{background:#1a1a2e;background:var(--surface-2);border:1px solid #3a3a5a;border:1px solid var(--border-bright);color:#f8fafc;color:var(--text-primary);cursor:pointer;font-size:11px;min-width:180px;outline:none;padding:4px 8px}.target-select:focus{border-color:#38bdf8;border-color:var(--valley)}optgroup{background:#13131d;background:var(--surface);color:#64748b;color:var(--text-dim);font-size:10px}optgroup,option{font-family:JetBrains Mono,monospace;font-family:var(--font-display)}option{background:#1a1a2e;background:var(--surface-2);color:#f8fafc;color:var(--text-primary)}.player-controls{align-items:center;display:flex;flex-shrink:0;gap:6px}.ctrl-btn{background:#1a1a2e;background:var(--surface-2);border:1px solid #3a3a5a;border:1px solid var(--border-bright);color:#f8fafc;color:var(--text-primary);cursor:pointer;font-family:JetBrains Mono,monospace;font-family:var(--font-display);font-size:11px;font-weight:500;letter-spacing:.04em;line-height:1.4;padding:4px 10px;transition:background .1s,border-color .1s;white-space:nowrap}.ctrl-btn:hover:not(:disabled){background:#13131d;background:var(--surface);border-color:#64748b;border-color:var(--text-dim)}.ctrl-btn:disabled{cursor:not-allowed;opacity:.35}.ctrl-btn.play{border-color:#38bdf8;border-color:var(--valley);color:#38bdf8;color:var(--valley)}.ctrl-btn.play:hover:not(:disabled){background:#38bdf81a}.ctrl-step-display{border:1px solid #2a2a3a;border:1px solid var(--border);color:#64748b;color:var(--text-dim);font-family:JetBrains Mono,monospace;font-family:var(--font-display);font-size:11px;min-width:72px;padding:4px 8px;text-align:center;white-space:nowrap}.app-overlay,.ctrl-step-display{background:#0d0d14;background:var(--bg)}.app-overlay{inset:0;justify-content:center;position:fixed;z-index:100}.app-overlay,.overlay-message{align-items:center;display:flex}.overlay-message{color:#64748b;color:var(--text-dim);font-family:JetBrains Mono,monospace;font-family:var(--font-display);font-size:13px;gap:12px;letter-spacing:.1em}.pulse-dot{animation:pulse 1.2s ease-in-out infinite;background:#38bdf8;background:var(--valley);border-radius:50%;height:8px;width:8px}@keyframes pulse{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.episode-loading{align-items:center;color:#64748b;color:var(--text-dim);display:flex;font-family:JetBrains Mono,monospace;font-family:var(--font-display);font-size:11px;gap:8px;justify-content:center;letter-spacing:.08em;padding:12px 16px} +/*# sourceMappingURL=main.edb517bf.css.map*/ \ No newline at end of file diff --git a/build/static/css/main.edb517bf.css.map b/build/static/css/main.edb517bf.css.map new file mode 100644 index 0000000000000000000000000000000000000000..76da39616a7011ffa068af49e6930cbb9887f988 --- /dev/null +++ b/build/static/css/main.edb517bf.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.edb517bf.css","mappings":"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","sources":["index.css","App.css"],"sourcesContent":["@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700&family=IBM+Plex+Mono:wght@300;400;500&display=swap');\n\n*, *::before, *::after {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n}\n\nbody {\n background: #0d0d14;\n color: #f8fafc;\n font-family: 'IBM Plex Mono', monospace;\n font-size: 13px;\n line-height: 1.5;\n -webkit-font-smoothing: antialiased;\n overflow-x: hidden;\n}\n\n::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n\n::-webkit-scrollbar-track {\n background: #0d0d14;\n}\n\n::-webkit-scrollbar-thumb {\n background: #2a2a3a;\n}\n\n::-webkit-scrollbar-thumb:hover {\n background: #3a3a5a;\n}\n",":root {\n --bg: #0d0d14;\n --surface: #13131d;\n --surface-2: #1a1a2e;\n --paper-white: #fafaf5;\n --paper-edge: #2a2a3a;\n --mountain: #f59e0b;\n --valley: #38bdf8;\n --target-ghost: rgba(124, 58, 237, 0.20);\n --target-ghost-stroke: rgba(124, 58, 237, 0.45);\n --validity: #22d3ee;\n --progress: #22c55e;\n --economy: #a78bfa;\n --text-primary: #f8fafc;\n --text-dim: #64748b;\n --border: #2a2a3a;\n --border-bright: #3a3a5a;\n --font-display: 'JetBrains Mono', monospace;\n --font-mono: 'IBM Plex Mono', monospace;\n}\n\n.app {\n display: flex;\n flex-direction: column;\n height: 100vh;\n background: var(--bg);\n overflow: hidden;\n}\n\n/* ─── HEADER ─── */\n.app-header {\n display: flex;\n align-items: center;\n gap: 24px;\n padding: 0 20px;\n height: 48px;\n border-bottom: 1px solid var(--border);\n background: var(--surface);\n flex-shrink: 0;\n z-index: 10;\n}\n\n.app-title {\n font-family: var(--font-display);\n font-size: 14px;\n font-weight: 700;\n letter-spacing: 0.12em;\n color: var(--text-primary);\n white-space: nowrap;\n}\n\n.app-title .title-accent {\n color: var(--mountain);\n}\n\n.header-sep {\n width: 1px;\n height: 24px;\n background: var(--border);\n flex-shrink: 0;\n}\n\n.header-right {\n display: flex;\n align-items: center;\n gap: 16px;\n margin-left: auto;\n}\n\n.api-status {\n font-size: 11px;\n font-family: var(--font-display);\n letter-spacing: 0.08em;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.api-status-dot {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: var(--text-dim);\n}\n\n.api-status-dot.ok {\n background: var(--progress);\n box-shadow: 0 0 6px var(--progress);\n}\n\n.api-status-dot.err {\n background: #ef4444;\n box-shadow: 0 0 6px #ef4444;\n}\n\n/* ─── MAIN LAYOUT ─── */\n.app-body {\n display: grid;\n grid-template-columns: 1fr 280px;\n flex: 1;\n overflow: hidden;\n}\n\n.app-left {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n border-right: 1px solid var(--border);\n}\n\n.app-right {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: var(--surface);\n}\n\n/* ─── CANVAS ROW ─── */\n.canvas-row {\n display: flex;\n gap: 0;\n padding: 16px;\n flex-shrink: 0;\n border-bottom: 1px solid var(--border);\n overflow-x: auto;\n}\n\n.canvas-wrap {\n display: flex;\n flex-direction: column;\n gap: 8px;\n flex: 1;\n min-width: 280px;\n}\n\n.canvas-wrap + .canvas-wrap {\n margin-left: 16px;\n}\n\n.canvas-label {\n font-family: var(--font-display);\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 0.14em;\n color: var(--text-dim);\n text-transform: uppercase;\n}\n\n.canvas-svg {\n display: block;\n background: var(--paper-white);\n}\n\n.canvas-3d {\n display: block;\n background: linear-gradient(180deg, #1a1a2e 0%, #0f101a 100%);\n border: 1px solid var(--border);\n}\n\n.canvas-label-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n}\n\n.fold-mode-toggle {\n display: inline-flex;\n border: 1px solid var(--border);\n background: var(--surface);\n}\n\n.fold-mode-btn {\n border: none;\n background: transparent;\n color: var(--text-dim);\n font-family: var(--font-display);\n font-size: 9px;\n letter-spacing: 0.08em;\n padding: 3px 7px;\n cursor: pointer;\n}\n\n.fold-mode-btn + .fold-mode-btn {\n border-left: 1px solid var(--border);\n}\n\n.fold-mode-btn.active {\n color: var(--text-primary);\n background: #1f2538;\n}\n\n/* ─── STEP FEED ─── */\n.step-feed-section {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.section-header {\n font-family: var(--font-display);\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 0.14em;\n color: var(--text-dim);\n text-transform: uppercase;\n padding: 8px 16px;\n border-bottom: 1px solid var(--border);\n flex-shrink: 0;\n}\n\n.step-feed {\n overflow-y: auto;\n flex: 1;\n padding: 4px 0;\n}\n\n.step-entry {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding: 8px 16px;\n border-bottom: 1px solid var(--border);\n cursor: default;\n transition: background 0.1s;\n}\n\n.step-entry:hover {\n background: var(--surface);\n}\n\n.step-entry.active {\n background: var(--surface-2);\n border-left: 2px solid var(--valley);\n padding-left: 14px;\n}\n\n.step-entry-top {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.step-num {\n font-family: var(--font-display);\n font-size: 10px;\n font-weight: 700;\n color: var(--text-dim);\n width: 24px;\n flex-shrink: 0;\n}\n\n.step-instruction {\n font-size: 12px;\n color: var(--text-primary);\n flex: 1;\n}\n\n.assign-badge {\n font-family: var(--font-display);\n font-size: 10px;\n font-weight: 700;\n padding: 1px 5px;\n line-height: 1.4;\n flex-shrink: 0;\n}\n\n.assign-badge.M {\n background: var(--mountain);\n color: #0d0d14;\n}\n\n.assign-badge.V {\n background: var(--valley);\n color: #0d0d14;\n}\n\n.assign-badge.B {\n background: var(--border-bright);\n color: var(--text-dim);\n}\n\n.step-reward-delta {\n font-size: 11px;\n color: var(--text-dim);\n padding-left: 32px;\n}\n\n.step-reward-delta .delta-positive {\n color: var(--progress);\n}\n\n.step-reward-delta .delta-negative {\n color: #ef4444;\n}\n\n/* ─── REWARD PANEL ─── */\n.reward-panel {\n padding: 12px 16px;\n border-bottom: 1px solid var(--border);\n flex-shrink: 0;\n}\n\n.reward-row {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n}\n\n.reward-row:last-child {\n margin-bottom: 0;\n}\n\n.reward-label {\n font-family: var(--font-display);\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 0.06em;\n color: var(--text-dim);\n width: 72px;\n flex-shrink: 0;\n text-transform: uppercase;\n}\n\n.reward-track {\n flex: 1;\n height: 8px;\n background: var(--bg);\n border: 1px solid var(--border);\n overflow: hidden;\n}\n\n.reward-bar {\n height: 100%;\n transition: width 0.4s ease;\n}\n\n.reward-value {\n font-family: var(--font-display);\n font-size: 11px;\n font-weight: 500;\n color: var(--text-primary);\n width: 36px;\n text-align: right;\n flex-shrink: 0;\n}\n\n.reward-value.dim {\n color: var(--text-dim);\n}\n\n.reward-divider {\n height: 1px;\n background: var(--border);\n margin: 6px 0;\n}\n\n/* ─── INFO BADGES ─── */\n.info-badges {\n padding: 12px 16px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.info-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n\n.info-key {\n font-family: var(--font-display);\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 0.06em;\n color: var(--text-dim);\n text-transform: uppercase;\n}\n\n.info-val {\n font-family: var(--font-display);\n font-size: 11px;\n font-weight: 700;\n color: var(--text-primary);\n}\n\n.info-val.bool-true {\n color: var(--progress);\n}\n\n.info-val.bool-false {\n color: #ef4444;\n}\n\n.info-val.dim {\n color: var(--text-dim);\n}\n\n/* ─── TARGET SELECTOR ─── */\n.target-selector {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.target-selector-label {\n font-family: var(--font-display);\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 0.10em;\n color: var(--text-dim);\n text-transform: uppercase;\n white-space: nowrap;\n}\n\n.target-select {\n background: var(--surface-2);\n border: 1px solid var(--border-bright);\n color: var(--text-primary);\n font-family: var(--font-display);\n font-size: 11px;\n padding: 4px 8px;\n outline: none;\n cursor: pointer;\n min-width: 180px;\n}\n\n.target-select:focus {\n border-color: var(--valley);\n}\n\noptgroup {\n background: var(--surface);\n color: var(--text-dim);\n font-family: var(--font-display);\n font-size: 10px;\n}\n\noption {\n background: var(--surface-2);\n color: var(--text-primary);\n font-family: var(--font-display);\n}\n\n/* ─── PLAYER CONTROLS ─── */\n.player-controls {\n display: flex;\n align-items: center;\n gap: 6px;\n flex-shrink: 0;\n}\n\n.ctrl-btn {\n background: var(--surface-2);\n border: 1px solid var(--border-bright);\n color: var(--text-primary);\n font-family: var(--font-display);\n font-size: 11px;\n font-weight: 500;\n padding: 4px 10px;\n cursor: pointer;\n white-space: nowrap;\n line-height: 1.4;\n letter-spacing: 0.04em;\n transition: background 0.1s, border-color 0.1s;\n}\n\n.ctrl-btn:hover:not(:disabled) {\n background: var(--surface);\n border-color: var(--text-dim);\n}\n\n.ctrl-btn:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n\n.ctrl-btn.play {\n border-color: var(--valley);\n color: var(--valley);\n}\n\n.ctrl-btn.play:hover:not(:disabled) {\n background: rgba(56, 189, 248, 0.1);\n}\n\n.ctrl-step-display {\n font-family: var(--font-display);\n font-size: 11px;\n color: var(--text-dim);\n padding: 4px 8px;\n border: 1px solid var(--border);\n background: var(--bg);\n white-space: nowrap;\n min-width: 72px;\n text-align: center;\n}\n\n/* ─── LOADING / ERROR ─── */\n.app-overlay {\n position: fixed;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--bg);\n z-index: 100;\n}\n\n.overlay-message {\n font-family: var(--font-display);\n font-size: 13px;\n letter-spacing: 0.1em;\n color: var(--text-dim);\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.pulse-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: var(--valley);\n animation: pulse 1.2s ease-in-out infinite;\n}\n\n@keyframes pulse {\n 0%, 100% { opacity: 0.2; transform: scale(0.8); }\n 50% { opacity: 1; transform: scale(1); }\n}\n\n/* ─── MISC ─── */\n.episode-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 12px 16px;\n font-family: var(--font-display);\n font-size: 11px;\n color: var(--text-dim);\n letter-spacing: 0.08em;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/build/static/js/main.7e6cf91b.js b/build/static/js/main.7e6cf91b.js new file mode 100644 index 0000000000000000000000000000000000000000..521584825b1bc6e61d494eb52eb9837bcfadd20b --- /dev/null +++ b/build/static/js/main.7e6cf91b.js @@ -0,0 +1,3 @@ +/*! For license information please see main.7e6cf91b.js.LICENSE.txt */ +(()=>{"use strict";var e={4(e,t,n){var r=n(853),l=n(43),a=n(950);function o(e){var t="https://react.dev/errors/"+e;if(1D||(e.current=F[D],F[D]=null,D--)}function $(e,t){D++,F[D]=e.current,e.current=t}var H,V,B=I(null),W=I(null),Q=I(null),q=I(null);function K(e,t){switch($(Q,t),$(W,e),$(B,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?yf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)e=bf(t=yf(t),e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}U(B),$(B,e)}function G(){U(B),U(W),U(Q)}function Y(e){null!==e.memoizedState&&$(q,e);var t=B.current,n=bf(t,e.type);t!==n&&($(W,e),$(B,n))}function X(e){W.current===e&&(U(B),U(W)),q.current===e&&(U(q),fd._currentValue=M)}function Z(e){if(void 0===H)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);H=t&&t[1]||"",V=-1)":-1--l||u[r]!==s[l]){var c="\n"+u[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}}while(1<=r&&0<=l);break}}}finally{J=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Z(n):""}function te(e,t){switch(e.tag){case 26:case 27:case 5:return Z(e.type);case 16:return Z("Lazy");case 13:return e.child!==t&&null!==t?Z("Suspense Fallback"):Z("Suspense");case 19:return Z("SuspenseList");case 0:case 15:return ee(e.type,!1);case 11:return ee(e.type.render,!1);case 1:return ee(e.type,!0);case 31:return Z("Activity");default:return""}}function ne(e){try{var t="",n=null;do{t+=te(e,n),n=e,e=e.return}while(e);return t}catch(r){return"\nError generating stack: "+r.message+"\n"+r.stack}}var re=Object.prototype.hasOwnProperty,le=r.unstable_scheduleCallback,ae=r.unstable_cancelCallback,oe=r.unstable_shouldYield,ie=r.unstable_requestPaint,ue=r.unstable_now,se=r.unstable_getCurrentPriorityLevel,ce=r.unstable_ImmediatePriority,fe=r.unstable_UserBlockingPriority,de=r.unstable_NormalPriority,pe=r.unstable_LowPriority,me=r.unstable_IdlePriority,he=r.log,ge=r.unstable_setDisableYieldValue,ve=null,ye=null;function be(e){if("function"===typeof he&&ge(e),ye&&"function"===typeof ye.setStrictMode)try{ye.setStrictMode(ve,e)}catch(t){}}var ke=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(we(e)/Se|0)|0},we=Math.log,Se=Math.LN2;var xe=256,Ee=262144,Ne=4194304;function Ce(e){var t=42&e;if(0!==t)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 261888&e;case 262144:case 524288:case 1048576:case 2097152:return 3932160&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function _e(e,t,n){var r=e.pendingLanes;if(0===r)return 0;var l=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var i=134217727&r;return 0!==i?0!==(r=i&~a)?l=Ce(r):0!==(o&=i)?l=Ce(o):n||0!==(n=i&~e)&&(l=Ce(n)):0!==(i=r&~a)?l=Ce(i):0!==o?l=Ce(o):n||0!==(n=r&~e)&&(l=Ce(n)),0===l?0:0!==t&&t!==l&&0===(t&a)&&((a=l&-l)>=(n=t&-t)||32===a&&0!==(4194048&n))?t:l}function Pe(e,t){return 0===(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function ze(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;default:return-1}}function Te(){var e=Ne;return 0===(62914560&(Ne<<=1))&&(Ne=4194304),e}function Le(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Oe(e,t){e.pendingLanes|=t,268435456!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function je(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-ke(t);e.entangledLanes|=t,e.entanglements[r]=1073741824|e.entanglements[r]|261930&n}function Re(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ke(n),l=1<=Cn),zn=String.fromCharCode(32),Tn=!1;function Ln(e,t){switch(e){case"keyup":return-1!==En.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function On(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var jn=!1;var Rn={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 An(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Rn[e.type]:"textarea"===t}function Mn(e,t,n,r){At?Mt?Mt.push(r):Mt=[r]:At=r,0<(t=rf(t,"onChange")).length&&(n=new nn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Fn=null,Dn=null;function In(e){Gc(e,0)}function Un(e){if(mt(Ze(e)))return e}function $n(e,t){if("change"===e)return t}var Hn=!1;if($t){var Vn;if($t){var Bn="oninput"in document;if(!Bn){var Wn=document.createElement("div");Wn.setAttribute("oninput","return;"),Bn="function"===typeof Wn.oninput}Vn=Bn}else Vn=!1;Hn=Vn&&(!document.documentMode||9=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=er(r)}}function nr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?nr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function rr(e){for(var t=ht((e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window).document);t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=ht((e=t.contentWindow).document)}return t}function lr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var ar=$t&&"documentMode"in document&&11>=document.documentMode,or=null,ir=null,ur=null,sr=!1;function cr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;sr||null==or||or!==ht(r)||("selectionStart"in(r=or)&&lr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},ur&&Jn(ur,r)||(ur=r,0<(r=rf(ir,"onSelect")).length&&(t=new nn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=or)))}function fr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var dr={animationend:fr("Animation","AnimationEnd"),animationiteration:fr("Animation","AnimationIteration"),animationstart:fr("Animation","AnimationStart"),transitionrun:fr("Transition","TransitionRun"),transitionstart:fr("Transition","TransitionStart"),transitioncancel:fr("Transition","TransitionCancel"),transitionend:fr("Transition","TransitionEnd")},pr={},mr={};function hr(e){if(pr[e])return pr[e];if(!dr[e])return e;var t,n=dr[e];for(t in n)if(n.hasOwnProperty(t)&&t in mr)return pr[e]=n[t];return e}$t&&(mr=document.createElement("div").style,"AnimationEvent"in window||(delete dr.animationend.animation,delete dr.animationiteration.animation,delete dr.animationstart.animation),"TransitionEvent"in window||delete dr.transitionend.transition);var gr=hr("animationend"),vr=hr("animationiteration"),yr=hr("animationstart"),br=hr("transitionrun"),kr=hr("transitionstart"),wr=hr("transitioncancel"),Sr=hr("transitionend"),xr=new Map,Er="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(" ");function Nr(e,t){xr.set(e,t),rt(t,[e])}Er.push("scrollEnd");var Cr="function"===typeof reportError?reportError:function(e){if("object"===typeof window&&"function"===typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"===typeof e&&null!==e&&"string"===typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"===typeof process&&"function"===typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)},_r=[],Pr=0,zr=0;function Tr(){for(var e=Pr,t=zr=Pr=0;t>=o,l-=o,nl=1<<32-ke(t)+l|n<h?(g=f,f=null):g=f.sibling;var v=p(l,f,i[h],u);if(null===v){null===f&&(f=g);break}e&&f&&null===v.alternate&&t(l,f),o=a(v,o,h),null===c?s=v:c.sibling=v,c=v,f=g}if(h===i.length)return n(l,f),fl&&ll(l,h),s;if(null===f){for(;hg?(v=h,h=null):v=h.sibling;var b=p(l,h,y.value,s);if(null===b){null===h&&(h=v);break}e&&h&&null===b.alternate&&t(l,h),i=a(b,i,g),null===f?c=b:f.sibling=b,f=b,h=v}if(y.done)return n(l,h),fl&&ll(l,g),c;if(null===h){for(;!y.done;g++,y=u.next())null!==(y=d(l,y.value,s))&&(i=a(y,i,g),null===f?c=y:f.sibling=y,f=y);return fl&&ll(l,g),c}for(h=r(h);!y.done;g++,y=u.next())null!==(y=m(h,l,g,y.value,s))&&(e&&null!==y.alternate&&h.delete(null===y.key?g:y.key),i=a(y,i,g),null===f?c=y:f.sibling=y,f=y);return e&&h.forEach(function(e){return t(l,e)}),fl&&ll(l,g),c}(u,s,c=b.call(c),f)}if("function"===typeof c.then)return y(u,s,sa(c),f);if(c.$$typeof===w)return y(u,s,jl(u,c),f);fa(u,c)}return"string"===typeof c&&""!==c||"number"===typeof c||"bigint"===typeof c?(c=""+c,null!==s&&6===s.tag?(n(u,s.sibling),(f=l(s,c)).return=u,u=f):(n(u,s),(f=Br(c,u.mode,f)).return=u,u=f),i(u)):n(u,s)}return function(e,t,n,r){try{ua=0;var l=y(e,t,n,r);return ia=null,l}catch(o){if(o===Xl||o===Jl)throw o;var a=Dr(29,o,null,e.mode);return a.lanes=r,a.return=e,a}}}var pa=da(!0),ma=da(!1),ha=!1;function ga(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function va(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 ya(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ba(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!==(2&ps)){var l=r.pending;return null===l?t.next=t:(t.next=l.next,l.next=t),r.pending=t,t=Ar(e),Rr(e,null,n),t}return Lr(e,r,t,n),Ar(e)}function ka(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!==(4194048&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,Re(e,n)}}function wa(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var l=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};null===a?l=a=o:a=a.next=o,n=n.next}while(null!==n);null===a?l=a=t:a=a.next=t}else l=a=t;return n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Sa=!1;function xa(){if(Sa){if(null!==Bl)throw Bl}}function Ea(e,t,n,r){Sa=!1;var l=e.updateQueue;ha=!1;var a=l.firstBaseUpdate,o=l.lastBaseUpdate,i=l.shared.pending;if(null!==i){l.shared.pending=null;var u=i,s=u.next;u.next=null,null===o?a=s:o.next=s,o=u;var c=e.alternate;null!==c&&((i=(c=c.updateQueue).lastBaseUpdate)!==o&&(null===i?c.firstBaseUpdate=s:i.next=s,c.lastBaseUpdate=u))}if(null!==a){var f=l.baseState;for(o=0,c=s=u=null,i=a;;){var d=-536870913&i.lane,m=d!==i.lane;if(m?(gs&d)===d:(r&d)===d){0!==d&&d===Vl&&(Sa=!0),null!==c&&(c=c.next={lane:0,tag:i.tag,payload:i.payload,callback:null,next:null});e:{var h=e,g=i;d=t;var v=n;switch(g.tag){case 1:if("function"===typeof(h=g.payload)){f=h.call(v,f,d);break e}f=h;break e;case 3:h.flags=-65537&h.flags|128;case 0:if(null===(d="function"===typeof(h=g.payload)?h.call(v,f,d):h)||void 0===d)break e;f=p({},f,d);break e;case 2:ha=!0}}null!==(d=i.callback)&&(e.flags|=64,m&&(e.flags|=8192),null===(m=l.callbacks)?l.callbacks=[d]:m.push(d))}else m={lane:d,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===c?(s=c=m,u=f):c=c.next=m,o|=d;if(null===(i=i.next)){if(null===(i=l.shared.pending))break;i=(m=i).next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}null===c&&(u=f),l.baseState=u,l.firstBaseUpdate=s,l.lastBaseUpdate=c,null===a&&(l.shared.lanes=0),Es|=o,e.lanes=o,e.memoizedState=f}}function Na(e,t){if("function"!==typeof e)throw Error(o(191,e));e.call(t)}function Ca(e,t){var n=e.callbacks;if(null!==n)for(e.callbacks=null,e=0;ea?a:8;var o=R.T,i={};R.T=i,fi(e,!1,t,n);try{var u=l(),s=R.S;if(null!==s&&s(i,u),null!==u&&"object"===typeof u&&"function"===typeof u.then)ci(e,t,function(e,t){var n=[],r={status:"pending",value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status="fulfilled",r.value=t;for(var e=0;e<\/script>",a=a.removeChild(a.firstChild);break;case"select":a="string"===typeof r.is?i.createElement("select",{is:r.is}):i.createElement("select"),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a="string"===typeof r.is?i.createElement(l,{is:r.is}):i.createElement(l)}}a[$e]=t,a[He]=r;e:for(i=t.child;null!==i;){if(5===i.tag||6===i.tag)a.appendChild(i.stateNode);else if(4!==i.tag&&27!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;null===i.sibling;){if(null===i.return||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=a;e:switch(pf(a,l,r),l){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&iu(t)}}return du(t),uu(t,t.type,null===e||e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&iu(t);else{if("string"!==typeof r&&null===t.stateNode)throw Error(o(166));if(e=Q.current,yl(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(l=sl))switch(l.tag){case 27:case 5:r=l.memoizedProps}e[$e]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||cf(e.nodeValue,n)))||hl(t,!0)}else(e=vf(e).createTextNode(r))[$e]=t,t.stateNode=e}return du(t),null;case 31:if(n=t.memoizedState,null===e||null!==e.memoizedState){if(r=yl(t),null!==n){if(null===e){if(!r)throw Error(o(318));if(!(e=null!==(e=t.memoizedState)?e.dehydrated:null))throw Error(o(557));e[$e]=t}else bl(),0===(128&t.flags)&&(t.memoizedState=null),t.flags|=4;du(t),e=!1}else n=kl(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return 256&t.flags?(Da(t),t):(Da(t),null);if(0!==(128&t.flags))throw Error(o(558))}return du(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(l=yl(t),null!==r&&null!==r.dehydrated){if(null===e){if(!l)throw Error(o(318));if(!(l=null!==(l=t.memoizedState)?l.dehydrated:null))throw Error(o(317));l[$e]=t}else bl(),0===(128&t.flags)&&(t.memoizedState=null),t.flags|=4;du(t),l=!1}else l=kl(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return 256&t.flags?(Da(t),t):(Da(t),null)}return Da(t),0!==(128&t.flags)?(t.lanes=n,t):(n=null!==r,e=null!==e&&null!==e.memoizedState,n&&(l=null,null!==(r=t.child).alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(l=r.alternate.memoizedState.cachePool.pool),a=null,null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(a=r.memoizedState.cachePool.pool),a!==l&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),cu(t,t.updateQueue),du(t),null);case 4:return G(),null===e&&Jc(t.stateNode.containerInfo),du(t),null;case 10:return Cl(t.type),du(t),null;case 19:if(U(Ia),null===(r=t.memoizedState))return du(t),null;if(l=0!==(128&t.flags),null===(a=r.rendering))if(l)fu(r,!1);else{if(0!==xs||null!==e&&0!==(128&e.flags))for(e=t.child;null!==e;){if(null!==(a=Ua(e))){for(t.flags|=128,fu(r,!1),e=a.updateQueue,t.updateQueue=e,cu(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)$r(n,e),n=n.sibling;return $(Ia,1&Ia.current|2),fl&&ll(t,r.treeForkCount),t.child}e=e.sibling}null!==r.tail&&ue()>Rs&&(t.flags|=128,l=!0,fu(r,!1),t.lanes=4194304)}else{if(!l)if(null!==(e=Ua(a))){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,cu(t,e),fu(r,!0),null===r.tail&&"hidden"===r.tailMode&&!a.alternate&&!fl)return du(t),null}else 2*ue()-r.renderingStartTime>Rs&&536870912!==n&&(t.flags|=128,l=!0,fu(r,!1),t.lanes=4194304);r.isBackwards?(a.sibling=t.child,t.child=a):(null!==(e=r.last)?e.sibling=a:t.child=a,r.last=a)}return null!==r.tail?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=ue(),e.sibling=null,n=Ia.current,$(Ia,l?1&n|2:1&n),fl&&ll(t,r.treeForkCount),e):(du(t),null);case 22:case 23:return Da(t),La(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?0!==(536870912&n)&&0===(128&t.flags)&&(du(t),6&t.subtreeFlags&&(t.flags|=8192)):du(t),null!==(n=t.updateQueue)&&cu(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&U(ql),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Cl(Dl),du(t),null;case 25:case 30:return null}throw Error(o(156,t.tag))}function mu(e,t){switch(il(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Cl(Dl),G(),0!==(65536&(e=t.flags))&&0===(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return X(t),null;case 31:if(null!==t.memoizedState){if(Da(t),null===t.alternate)throw Error(o(340));bl()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 13:if(Da(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));bl()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return U(Ia),null;case 4:return G(),null;case 10:return Cl(t.type),null;case 22:case 23:return Da(t),La(),null!==e&&U(ql),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return Cl(Dl),null;default:return null}}function hu(e,t){switch(il(t),t.tag){case 3:Cl(Dl),G();break;case 26:case 27:case 5:X(t);break;case 4:G();break;case 31:null!==t.memoizedState&&Da(t);break;case 13:Da(t);break;case 19:U(Ia);break;case 10:Cl(t.type);break;case 22:case 23:Da(t),La(),null!==e&&U(ql);break;case 24:Cl(Dl)}}function gu(e,t){try{var n=t.updateQueue,r=null!==n?n.lastEffect:null;if(null!==r){var l=r.next;n=l;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==l)}}catch(i){xc(t,t.return,i)}}function vu(e,t,n){try{var r=t.updateQueue,l=null!==r?r.lastEffect:null;if(null!==l){var a=l.next;r=a;do{if((r.tag&e)===e){var o=r.inst,i=o.destroy;if(void 0!==i){o.destroy=void 0,l=t;var u=n,s=i;try{s()}catch(c){xc(l,u,c)}}}r=r.next}while(r!==a)}}catch(c){xc(t,t.return,c)}}function yu(e){var t=e.updateQueue;if(null!==t){var n=e.stateNode;try{Ca(t,n)}catch(r){xc(e,e.return,r)}}}function bu(e,t,n){n.props=xi(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(r){xc(e,t,r)}}function ku(e,t){try{var n=e.ref;if(null!==n){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;default:r=e.stateNode}"function"===typeof n?e.refCleanup=n(r):n.current=r}}catch(l){xc(e,t,l)}}function wu(e,t){var n=e.ref,r=e.refCleanup;if(null!==n)if("function"===typeof r)try{r()}catch(l){xc(e,t,l)}finally{e.refCleanup=null,null!=(e=e.alternate)&&(e.refCleanup=null)}else if("function"===typeof n)try{n(null)}catch(a){xc(e,t,a)}else n.current=null}function Su(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&r.focus();break e;case"img":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(l){xc(e,e.return,l)}}function xu(e,t,n){try{var r=e.stateNode;!function(e,t,n,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,a=null,i=null,u=null,s=null,c=null,f=null;for(m in n){var d=n[m];if(n.hasOwnProperty(m)&&null!=d)switch(m){case"checked":case"value":break;case"defaultValue":s=d;default:r.hasOwnProperty(m)||ff(e,t,m,null,r,d)}}for(var p in r){var m=r[p];if(d=n[p],r.hasOwnProperty(p)&&(null!=m||null!=d))switch(p){case"type":a=m;break;case"name":l=m;break;case"checked":c=m;break;case"defaultChecked":f=m;break;case"value":i=m;break;case"defaultValue":u=m;break;case"children":case"dangerouslySetInnerHTML":if(null!=m)throw Error(o(137,t));break;default:m!==d&&ff(e,t,p,m,r,d)}}return void yt(e,i,u,s,c,f,a,l);case"select":for(a in m=i=u=p=null,n)if(s=n[a],n.hasOwnProperty(a)&&null!=s)switch(a){case"value":break;case"multiple":m=s;default:r.hasOwnProperty(a)||ff(e,t,a,null,r,s)}for(l in r)if(a=r[l],s=n[l],r.hasOwnProperty(l)&&(null!=a||null!=s))switch(l){case"value":p=a;break;case"defaultValue":u=a;break;case"multiple":i=a;default:a!==s&&ff(e,t,l,a,r,s)}return t=u,n=i,r=m,void(null!=p?wt(e,!!n,p,!1):!!r!==!!n&&(null!=t?wt(e,!!n,t,!0):wt(e,!!n,n?[]:"",!1)));case"textarea":for(u in m=p=null,n)if(l=n[u],n.hasOwnProperty(u)&&null!=l&&!r.hasOwnProperty(u))switch(u){case"value":case"children":break;default:ff(e,t,u,null,r,l)}for(i in r)if(l=r[i],a=n[i],r.hasOwnProperty(i)&&(null!=l||null!=a))switch(i){case"value":p=l;break;case"defaultValue":m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(null!=l)throw Error(o(91));break;default:l!==a&&ff(e,t,i,l,r,a)}return void St(e,p,m);case"option":for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&null!=p&&!r.hasOwnProperty(h))if("selected"===h)e.selected=!1;else ff(e,t,h,null,r,p);for(s in r)if(p=r[s],m=n[s],r.hasOwnProperty(s)&&p!==m&&(null!=p||null!=m))if("selected"===s)e.selected=p&&"function"!==typeof p&&"symbol"!==typeof p;else ff(e,t,s,p,r,m);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 g in n)p=n[g],n.hasOwnProperty(g)&&null!=p&&!r.hasOwnProperty(g)&&ff(e,t,g,null,r,p);for(c in r)if(p=r[c],m=n[c],r.hasOwnProperty(c)&&p!==m&&(null!=p||null!=m))switch(c){case"children":case"dangerouslySetInnerHTML":if(null!=p)throw Error(o(137,t));break;default:ff(e,t,c,p,r,m)}return;default:if(Pt(t)){for(var v in n)p=n[v],n.hasOwnProperty(v)&&void 0!==p&&!r.hasOwnProperty(v)&&df(e,t,v,void 0,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||void 0===p&&void 0===m||df(e,t,f,p,r,m);return}}for(var y in n)p=n[y],n.hasOwnProperty(y)&&null!=p&&!r.hasOwnProperty(y)&&ff(e,t,y,null,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||null==p&&null==m||ff(e,t,d,p,r,m)}(r,e.type,n,t),r[He]=t}catch(l){xc(e,e.return,l)}}function Eu(e){return 5===e.tag||3===e.tag||26===e.tag||27===e.tag&&_f(e.type)||4===e.tag}function Nu(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||Eu(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(27===e.tag&&_f(e.type))continue e;if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function Cu(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?(9===n.nodeType?n.body:"HTML"===n.nodeName?n.ownerDocument.body:n).insertBefore(e,t):((t=9===n.nodeType?n.body:"HTML"===n.nodeName?n.ownerDocument.body:n).appendChild(e),null!==(n=n._reactRootContainer)&&void 0!==n||null!==t.onclick||(t.onclick=Ot));else if(4!==r&&(27===r&&_f(e.type)&&(n=e.stateNode,t=null),null!==(e=e.child)))for(Cu(e,t,n),e=e.sibling;null!==e;)Cu(e,t,n),e=e.sibling}function _u(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&(27===r&&_f(e.type)&&(n=e.stateNode),null!==(e=e.child)))for(_u(e,t,n),e=e.sibling;null!==e;)_u(e,t,n),e=e.sibling}function Pu(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);pf(t,r,n),t[$e]=e,t[He]=n}catch(a){xc(e,e.return,a)}}var zu=!1,Tu=!1,Lu=!1,Ou="function"===typeof WeakSet?WeakSet:Set,ju=null;function Ru(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:Ku(e,n),4&r&&gu(5,n);break;case 1:if(Ku(e,n),4&r)if(e=n.stateNode,null===t)try{e.componentDidMount()}catch(o){xc(n,n.return,o)}else{var l=xi(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(i){xc(n,n.return,i)}}64&r&&yu(n),512&r&&ku(n,n.return);break;case 3:if(Ku(e,n),64&r&&null!==(e=n.updateQueue)){if(t=null,null!==n.child)switch(n.child.tag){case 27:case 5:case 1:t=n.child.stateNode}try{Ca(e,t)}catch(o){xc(n,n.return,o)}}break;case 27:null===t&&4&r&&Pu(n);case 26:case 5:Ku(e,n),null===t&&4&r&&Su(n),512&r&&ku(n,n.return);break;case 12:Ku(e,n);break;case 31:Ku(e,n),4&r&&Uu(e,n);break;case 13:Ku(e,n),4&r&&$u(e,n),64&r&&(null!==(e=n.memoizedState)&&(null!==(e=e.dehydrated)&&function(e,t){var n=e.ownerDocument;if("$~"===e.data)e._reactRetry=t;else if("$?"!==e.data||"loading"!==n.readyState)t();else{var r=function(){t(),n.removeEventListener("DOMContentLoaded",r)};n.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}(e,n=_c.bind(null,n))));break;case 22:if(!(r=null!==n.memoizedState||zu)){t=null!==t&&null!==t.memoizedState||Tu,l=zu;var a=Tu;zu=r,(Tu=t)&&!a?Yu(e,n,0!==(8772&n.subtreeFlags)):Ku(e,n),zu=l,Tu=a}break;case 30:break;default:Ku(e,n)}}function Au(e){var t=e.alternate;null!==t&&(e.alternate=null,Au(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&Ge(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 Mu=null,Fu=!1;function Du(e,t,n){for(n=n.child;null!==n;)Iu(e,t,n),n=n.sibling}function Iu(e,t,n){if(ye&&"function"===typeof ye.onCommitFiberUnmount)try{ye.onCommitFiberUnmount(ve,n)}catch(a){}switch(n.tag){case 26:Tu||wu(n,t),Du(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode).parentNode.removeChild(n);break;case 27:Tu||wu(n,t);var r=Mu,l=Fu;_f(n.type)&&(Mu=n.stateNode,Fu=!1),Du(e,t,n),If(n.stateNode),Mu=r,Fu=l;break;case 5:Tu||wu(n,t);case 6:if(r=Mu,l=Fu,Mu=null,Du(e,t,n),Fu=l,null!==(Mu=r))if(Fu)try{(9===Mu.nodeType?Mu.body:"HTML"===Mu.nodeName?Mu.ownerDocument.body:Mu).removeChild(n.stateNode)}catch(o){xc(n,t,o)}else try{Mu.removeChild(n.stateNode)}catch(o){xc(n,t,o)}break;case 18:null!==Mu&&(Fu?(Pf(9===(e=Mu).nodeType?e.body:"HTML"===e.nodeName?e.ownerDocument.body:e,n.stateNode),Wd(e)):Pf(Mu,n.stateNode));break;case 4:r=Mu,l=Fu,Mu=n.stateNode.containerInfo,Fu=!0,Du(e,t,n),Mu=r,Fu=l;break;case 0:case 11:case 14:case 15:vu(2,n,t),Tu||vu(4,n,t),Du(e,t,n);break;case 1:Tu||(wu(n,t),"function"===typeof(r=n.stateNode).componentWillUnmount&&bu(n,t,r)),Du(e,t,n);break;case 21:Du(e,t,n);break;case 22:Tu=(r=Tu)||null!==n.memoizedState,Du(e,t,n),Tu=r;break;default:Du(e,t,n)}}function Uu(e,t){if(null===t.memoizedState&&(null!==(e=t.alternate)&&null!==(e=e.memoizedState))){e=e.dehydrated;try{Wd(e)}catch(n){xc(t,t.return,n)}}}function $u(e,t){if(null===t.memoizedState&&(null!==(e=t.alternate)&&(null!==(e=e.memoizedState)&&null!==(e=e.dehydrated))))try{Wd(e)}catch(n){xc(t,t.return,n)}}function Hu(e,t){var n=function(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return null===t&&(t=e.stateNode=new Ou),t;case 22:return null===(t=(e=e.stateNode)._retryCache)&&(t=e._retryCache=new Ou),t;default:throw Error(o(435,e.tag))}}(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=Pc.bind(null,e,t);t.then(r,r)}})}function Vu(e,t){var n=t.deletions;if(null!==n)for(var r=0;r title"))),pf(a,r,n),a[$e]=e,et(a),r=a;break e;case"link":var i=rd("link","href",l).get(r+(n.href||""));if(i)for(var u=0;ui)break;var c=u.transferSize,f=u.initiatorType;c&&mf(f)&&(o+=c*((u=u.responseEnd)od?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(l)}}:null}(f,m)))return Us=a,e.cancelPendingCommit=m(hc.bind(null,e,t,a,n,r,l,o,i,u,c,f,null,d,p)),void Zs(e,a,o,!s)}hc(e,t,a,n,r,l,o,i,u)}function Xs(e){for(var t=e;;){var n=t.tag;if((0===n||11===n||15===n)&&16384&t.flags&&(null!==(n=t.updateQueue)&&null!==(n=n.stores)))for(var r=0;rg&&(o=g,g=h,h=o);var v=tr(i,h),y=tr(i,g);if(v&&y&&(1!==p.rangeCount||p.anchorNode!==v.node||p.anchorOffset!==v.offset||p.focusNode!==y.node||p.focusOffset!==y.offset)){var b=f.createRange();b.setStart(v.node,v.offset),p.removeAllRanges(),h>g?(p.addRange(b),p.extend(y.node,y.offset)):(b.setEnd(y.node,y.offset),p.addRange(b))}}}}for(f=[],p=i;p=p.parentNode;)1===p.nodeType&&f.push({element:p,left:p.scrollLeft,top:p.scrollTop});for("function"===typeof i.focus&&i.focus(),i=0;in?32:n,R.T=null,n=Hs,Hs=null;var a=Ds,i=Us;if(Fs=0,Is=Ds=null,Us=0,0!==(6&ps))throw Error(o(331));var u=ps;if(ps|=4,us(a.current),es(a,a.current,i,n),ps=u,Mc(0,!1),ye&&"function"===typeof ye.onPostCommitFiberRoot)try{ye.onPostCommitFiberRoot(ve,a)}catch(s){}return!0}finally{A.p=l,R.T=r,bc(e,t)}}function Sc(e,t,n){t=Kr(n,t),null!==(e=ba(e,t=zi(e.stateNode,t,2),2))&&(Oe(e,2),Ac(e))}function xc(e,t,n){if(3===e.tag)Sc(e,e,n);else for(;null!==t;){if(3===t.tag){Sc(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"===typeof t.type.getDerivedStateFromError||"function"===typeof r.componentDidCatch&&(null===Ms||!Ms.has(r))){e=Kr(n,e),null!==(r=ba(t,n=Ti(2),2))&&(Li(n,r,t,e),Oe(r,2),Ac(r));break}}t=t.return}}function Ec(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new ds;var l=new Set;r.set(t,l)}else void 0===(l=r.get(t))&&(l=new Set,r.set(t,l));l.has(n)||(ws=!0,l.add(n),e=Nc.bind(null,e,t,n),t.then(e,e))}function Nc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,ms===e&&(gs&n)===n&&(4===xs||3===xs&&(62914560&gs)===gs&&300>ue()-Os?0===(2&ps)&&tc(e,0):Cs|=n,Ps===gs&&(Ps=0)),Ac(e)}function Cc(e,t){0===t&&(t=Te()),null!==(e=jr(e,t))&&(Oe(e,t),Ac(e))}function _c(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Cc(e,n)}function Pc(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(n=l.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(o(314))}null!==r&&r.delete(t),Cc(e,n)}var zc=null,Tc=null,Lc=!1,Oc=!1,jc=!1,Rc=0;function Ac(e){e!==Tc&&null===e.next&&(null===Tc?zc=Tc=e:Tc=Tc.next=e),Oc=!0,Lc||(Lc=!0,Nf(function(){0!==(6&ps)?le(ce,Fc):Dc()}))}function Mc(e,t){if(!jc&&Oc){jc=!0;do{for(var n=!1,r=zc;null!==r;){if(!t)if(0!==e){var l=r.pendingLanes;if(0===l)var a=0;else{var o=r.suspendedLanes,i=r.pingedLanes;a=(1<<31-ke(42|e)+1)-1,a=201326741&(a&=l&~(o&~i))?201326741&a|1:a?2|a:0}0!==a&&(n=!0,$c(r,a))}else a=gs,0===(3&(a=_e(r,r===ms?a:0,null!==r.cancelPendingCommit||-1!==r.timeoutHandle)))||Pe(r,a)||(n=!0,$c(r,a));r=r.next}}while(n);jc=!1}}function Fc(){Dc()}function Dc(){Oc=Lc=!1;var e=0;0!==Rc&&function(){var e=window.event;if(e&&"popstate"===e.type)return e!==wf&&(wf=e,!0);return wf=null,!1}()&&(e=Rc);for(var t=ue(),n=null,r=zc;null!==r;){var l=r.next,a=Ic(r,t);0===a?(r.next=null,null===n?zc=l:n.next=l,null===l&&(Tc=n)):(n=r,(0!==e||0!==(3&a))&&(Oc=!0)),r=l}0!==Fs&&5!==Fs||Mc(e,!1),0!==Rc&&(Rc=0)}function Ic(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,l=e.expirationTimes,a=-62914561&e.pendingLanes;0 title"):null)}function ad(e){return"stylesheet"!==e.type||0!==(3&e.state.loading)}var od=0;function id(){if(this.count--,0===this.count&&(0===this.imgCount||!this.waitingForImages))if(this.stylesheets)sd(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}var ud=null;function sd(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,ud=new Map,t.forEach(cd,e),ud=null,id.call(e))}function cd(e,t){if(!(4&t.state.loading)){var n=ud.get(e);if(n)var r=n.get(null);else{n=new Map,ud.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a>>1,l=e[r];if(!(0>>1;ra(u,n))sa(c,u)?(e[r]=c,e[s]=n,r=s):(e[r]=u,e[i]=n,r=i);else{if(!(sa(c,n)))break e;e[r]=c,e[s]=n,r=s}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"===typeof performance&&"function"===typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var i=Date,u=i.now();t.unstable_now=function(){return i.now()-u}}var s=[],c=[],f=1,d=null,p=3,m=!1,h=!1,g=!1,v=!1,y="function"===typeof setTimeout?setTimeout:null,b="function"===typeof clearTimeout?clearTimeout:null,k="undefined"!==typeof setImmediate?setImmediate:null;function w(e){for(var t=r(c);null!==t;){if(null===t.callback)l(c);else{if(!(t.startTime<=e))break;l(c),t.sortIndex=t.expirationTime,n(s,t)}t=r(c)}}function S(e){if(g=!1,w(e),!h)if(null!==r(s))h=!0,E||(E=!0,x());else{var t=r(c);null!==t&&O(S,t.startTime-e)}}var x,E=!1,N=-1,C=5,_=-1;function P(){return!!v||!(t.unstable_now()-_e&&P());){var o=d.callback;if("function"===typeof o){d.callback=null,p=d.priorityLevel;var i=o(d.expirationTime<=e);if(e=t.unstable_now(),"function"===typeof i){d.callback=i,w(e),n=!0;break t}d===r(s)&&l(s),w(e)}else l(s);d=r(s)}if(null!==d)n=!0;else{var u=r(c);null!==u&&O(S,u.startTime-e),n=!1}}break e}finally{d=null,p=a,m=!1}n=void 0}}finally{n?x():E=!1}}}if("function"===typeof k)x=function(){k(z)};else if("undefined"!==typeof MessageChannel){var T=new MessageChannel,L=T.port2;T.port1.onmessage=z,x=function(){L.postMessage(null)}}else x=function(){y(z,0)};function O(e,n){N=y(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125o?(e.sortIndex=a,n(c,e),null===r(s)&&e===r(c)&&(g?(b(N),N=-1):g=!0,O(S,a-o))):(e.sortIndex=i,n(s,e),h||m||(h=!0,E||(E=!0,x()))),e},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},853(e,t,n){e.exports=n(896)}},t={};function n(r){var l=t[r];if(void 0!==l)return l.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}var r=n(43),l=n(391),a=n(579);const o="#f59e0b",i="#38bdf8";function u(e,t,n){return[e*n,(1-t)*n]}function s(e){let{target:t,dim:n}=e;if(!t)return null;const{vertices_coords:r,edges_vertices:l,edges_assignment:s}=t;return r&&l&&s?l.map((e,t)=>{const l=s[t];if("B"===l)return null;const[c,f]=r[e[0]],[d,p]=r[e[1]],[m,h]=u(c,f,n),[g,v]=u(d,p,n),y="M"===l?o:i;return(0,a.jsx)("line",{x1:m,y1:h,x2:g,y2:v,stroke:y,strokeOpacity:.25,strokeWidth:1.5,strokeDasharray:"5 4"},t)}):null}function c(e){let{paperState:t,dim:n}=e;return t&&t.edges?t.edges.map(e=>{if("B"===e.assignment)return null;const[t,r]=u(e.v1[0],e.v1[1],n),[l,s]=u(e.v2[0],e.v2[1],n),c="M"===e.assignment?o:i;return(0,a.jsx)("line",{x1:t,y1:r,x2:l,y2:s,stroke:c,strokeWidth:2.5,strokeLinecap:"square"},e.id)}):null}function f(e){let{paperState:t,dim:n}=e;if(!t||!t.anchor_points)return null;return t.anchor_points.map((e,t)=>{const[r,l]=u(e[0],e[1],n);return(0,a.jsxs)("g",{children:[(0,a.jsx)("line",{x1:r-4,y1:l,x2:r+4,y2:l,stroke:"#64748b",strokeWidth:1}),(0,a.jsx)("line",{x1:r,y1:l-4,x2:r,y2:l+4,stroke:"#64748b",strokeWidth:1})]},t)})}function d(e){let{paperState:t,target:n,dim:r=280,ghostOnly:l=!1}=e;const o=r;return(0,a.jsxs)("svg",{className:"canvas-svg",width:o,height:o,viewBox:`0 0 ${o} ${o}`,style:{flexShrink:0},children:[(0,a.jsx)("rect",{x:1,y:1,width:o-2,height:o-2,fill:"#fafaf5"}),(0,a.jsx)(s,{target:n,dim:o}),!l&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c,{paperState:t,dim:o}),(0,a.jsx)(f,{paperState:t,dim:o})]}),(0,a.jsx)("rect",{x:1,y:1,width:o-2,height:o-2,fill:"none",stroke:"#2a2a3a",strokeWidth:1})]})}const p=[{key:"kawasaki",label:"kawasaki",color:"var(--validity)"},{key:"maekawa",label:"maekawa",color:"var(--validity)"},{key:"blb",label:"blb",color:"var(--validity)"},{key:"progress",label:"progress",color:"var(--progress)"},{key:"economy",label:"economy",color:"var(--economy)"}],m="total",h="total",g="var(--text-primary)";function v(e){let{label:t,color:n,value:r}=e;const l=null===r||void 0===r,o=l?0:100*Math.min(Math.max(r,0),1);return(0,a.jsxs)("div",{className:"reward-row",children:[(0,a.jsx)("span",{className:"reward-label",children:t}),(0,a.jsx)("div",{className:"reward-track",children:(0,a.jsx)("div",{className:"reward-bar",style:{width:`${o}%`,background:n}})}),(0,a.jsx)("span",{className:"reward-value"+(l?" dim":""),children:l?"\u2014":r.toFixed(2)})]})}function y(e){let{reward:t}=e;return(0,a.jsxs)("div",{className:"reward-panel",children:[p.map(e=>{let{key:n,label:r,color:l}=e;return(0,a.jsx)(v,{label:r,color:l,value:t?t[n]:null},n)}),(0,a.jsx)("div",{className:"reward-divider"}),(0,a.jsx)(v,{label:h,color:g,value:t?t[m]:null})]})}function b(e){let{steps:t,currentStep:n}=e;const l=(0,r.useRef)(null),o=(0,r.useRef)(null);return(0,r.useEffect)(()=>{o.current&&o.current.scrollIntoView({block:"nearest",behavior:"smooth"})},[n]),t&&0!==t.length?(0,a.jsx)("div",{className:"step-feed",ref:l,children:t.map((e,r)=>{const l=r+1,i=n===l,u=function(e,t){if(!e||!e.reward)return null;const n=e.reward.total;return t&&t.reward?n-t.reward.total:n}(e,r>0?t[r-1]:null),s=e.fold?e.fold.assignment:null,c=e.fold?e.fold.instruction:e.prompt||"";return(0,a.jsxs)("div",{className:"step-entry"+(i?" active":""),ref:i?o:null,children:[(0,a.jsxs)("div",{className:"step-entry-top",children:[(0,a.jsxs)("span",{className:"step-num",children:["#",l]}),(0,a.jsx)("span",{className:"step-instruction",children:c}),s&&(0,a.jsx)("span",{className:`assign-badge ${s}`,children:s})]}),null!==u&&(0,a.jsxs)("div",{className:"step-reward-delta",children:["\u0394"," total:"," ",(0,a.jsxs)("span",{className:u>=0?"delta-positive":"delta-negative",children:[u>=0?"+":"",u.toFixed(3)]}),e.reward&&(0,a.jsxs)("span",{style:{color:"var(--text-dim)"},children:[" ","| progress: ",e.reward.progress.toFixed(2)," ","| economy: ",e.reward.economy.toFixed(2)]})]})]},l)})}):(0,a.jsx)("div",{className:"step-feed",children:(0,a.jsx)("div",{style:{padding:"16px",color:"var(--text-dim)",fontFamily:"var(--font-display)",fontSize:"11px"},children:"NO STEPS LOADED"})})}function k(e){let{value:t}=e;return null===t||void 0===t?(0,a.jsx)("span",{className:"info-val dim",children:"\u2014"}):(0,a.jsx)("span",{className:"info-val "+(t?"bool-true":"bool-false"),children:t?"TRUE":"FALSE"})}function w(e){let{value:t,dim:n=!1}=e;return null===t||void 0===t?(0,a.jsx)("span",{className:"info-val dim",children:"\u2014"}):(0,a.jsx)("span",{className:"info-val"+(n?" dim":""),children:String(t).toUpperCase()})}function S(e){let{value:t}=e;return null===t||void 0===t?(0,a.jsx)("span",{className:"info-val dim",children:"\u2014"}):(0,a.jsx)("span",{className:"info-val",children:t})}function x(e){let{info:t,targetDef:n}=e;return(0,a.jsxs)("div",{className:"info-badges",children:[(0,a.jsxs)("div",{className:"info-row",children:[(0,a.jsx)("span",{className:"info-key",children:"n_creases"}),(0,a.jsx)(S,{value:t?t.n_creases:n?n.n_creases:null})]}),(0,a.jsxs)("div",{className:"info-row",children:[(0,a.jsx)("span",{className:"info-key",children:"interior_verts"}),(0,a.jsx)(S,{value:t?t.n_interior_vertices:null})]}),(0,a.jsxs)("div",{className:"info-row",children:[(0,a.jsx)("span",{className:"info-key",children:"local_fold"}),(0,a.jsx)(k,{value:t?t.local_foldability:null})]}),(0,a.jsxs)("div",{className:"info-row",children:[(0,a.jsx)("span",{className:"info-key",children:"blb_sat"}),(0,a.jsx)(k,{value:t?t.blb_satisfied:null})]}),(0,a.jsxs)("div",{className:"info-row",children:[(0,a.jsx)("span",{className:"info-key",children:"global_fold"}),(0,a.jsx)(w,{value:t?t.global_foldability:null,dim:!0})]}),n&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"info-row",children:[(0,a.jsx)("span",{className:"info-key",children:"level"}),(0,a.jsxs)("span",{className:"info-val",children:["LVL ",n.level]})]}),(0,a.jsxs)("div",{className:"info-row",children:[(0,a.jsx)("span",{className:"info-key",children:"target"}),(0,a.jsx)("span",{className:"info-val",style:{fontSize:"10px",textAlign:"right",maxWidth:"140px",wordBreak:"break-word"},children:n.name.replace(/_/g," ").toUpperCase()})]})]})]})}function E(e){let{targets:t,selected:n,onChange:r}=e;const l=function(e){const t={};return Object.values(e).forEach(e=>{t[e.level]||(t[e.level]=[]),t[e.level].push(e)}),t}(t),o=Object.keys(l).sort((e,t)=>Number(e)-Number(t));return(0,a.jsxs)("div",{className:"target-selector",children:[(0,a.jsx)("span",{className:"target-selector-label",children:"TARGET"}),(0,a.jsx)("select",{className:"target-select",value:n,onChange:e=>r(e.target.value),children:0===o.length?(0,a.jsx)("option",{value:"",children:"LOADING..."}):o.map(e=>(0,a.jsx)("optgroup",{label:`\u2500\u2500 LEVEL ${e}`,children:l[e].map(e=>(0,a.jsx)("option",{value:e.name,children:e.name.replace(/_/g," ").toUpperCase()},e.name))},e))})]})}function N(e){let{playing:t,onPlay:n,onPause:r,onNext:l,onPrev:o,onReset:i,currentStep:u,totalSteps:s,disabled:c}=e;const f=0===u,d=u>=s;return(0,a.jsxs)("div",{className:"player-controls",children:[(0,a.jsx)("button",{className:"ctrl-btn",onClick:i,disabled:c||f,title:"Reset to start",children:"\u23ee RST"}),(0,a.jsx)("button",{className:"ctrl-btn",onClick:o,disabled:c||f,title:"Previous step",children:"\u25c0 PREV"}),(0,a.jsx)("span",{className:"ctrl-step-display",children:c?"\u2014/\u2014":`${u} / ${s}`}),(0,a.jsx)("button",{className:"ctrl-btn",onClick:l,disabled:c||d,title:"Next step",children:"NEXT \u25b6"}),(0,a.jsx)("button",{className:"ctrl-btn play",onClick:t?r:n,disabled:c||!t&&d,title:t?"Pause":"Play",children:t?"\u23f8 PAUSE":"\u25b6\u25b6 PLAY"})]})}const C=[250,250,245],_=L([.4,-.45,1]),P=.92*Math.PI,z=1e-7;function T(e,t,n){return Math.min(Math.max(e,t),n)}function L(e){const t=Math.hypot(e[0],e[1],e[2]);return t<1e-12?[0,0,0]:[e[0]/t,e[1]/t,e[2]/t]}function O(e,t){return[e[0]-t[0],e[1]-t[1],e[2]-t[2]]}function j(e){const t=T(.3+.7*Math.abs(e),0,1);return`rgb(${Math.round(C[0]*t)}, ${Math.round(C[1]*t)}, ${Math.round(C[2]*t)})`}function R(e,t,n,r){const l=e[0]-t[0],a=e[1]-t[1],o=e[2]-t[2],i=n[0],u=n[1],s=n[2],c=Math.cos(r),f=Math.sin(r),d=u*o-s*a,p=s*l-i*o,m=i*a-u*l,h=l*i+a*u+o*s,g=1-c;return[t[0]+l*c+d*f+i*h*g,t[1]+a*c+p*f+u*h*g,t[2]+o*c+m*f+s*h*g]}function A(e,t,n){if(!t||n<=0)return;const[r,l]=t.from,[a,o]=t.to,i=a-r,u=o-l,s=Math.hypot(i,u);if(s<1e-8)return;const c=[];let f=0,d=0;for(let v=0;vz?f+=1:n<-1e-7&&(d+=1)}let p=f<=d;if(0===f&&d>0&&(p=!1),0===d&&f>0&&(p=!0),0===f&&0===d)return;const m=("V"===t.assignment?1:-1)*P*n,h=[r,l,0],g=[i/s,u/s,0];for(let v=0;vz:t<-1e-7)&&(e[v]=R(e[v],h,g,m))}}function M(e){let{steps:t,currentStep:n,totalSteps:l,mode:o="progressive",dim:i=280}=e;const u=(0,r.useRef)(null),s=(0,r.useRef)(null),c=(0,r.useRef)(n),f=(0,r.useMemo)(()=>(t||[]).map(e=>e.fold).filter(Boolean).map(e=>({from:[Number(e.from_point[0]),Number(e.from_point[1])],to:[Number(e.to_point[0]),Number(e.to_point[1])],assignment:"M"===e.assignment?"M":"V"})),[t]),d=(0,r.useMemo)(()=>function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:18;const t=[];for(let l=0;l<=e;l+=1)for(let n=0;n<=e;n+=1)t.push([n/e,l/e,0]);const n=[],r=e+1;for(let l=0;l{const t=u.current;if(!t)return;const n=t.getContext("2d");if(!n)return;n.clearRect(0,0,i,i),n.fillStyle="#121220",n.fillRect(0,0,i,i);const r=d.vertices.map(e=>[e[0],e[1],e[2]]),a=function(e,t,n,r){const l=new Array(t).fill(0);if(0===t)return l;if("final"===n){const n=T(e-Math.max(r-1,0),0,1);for(let e=0;e=a+1?l[a]=1:e>a&&(l[a]=T(e-a,0,1));return l}(e,f.length,o,l);for(let l=0;lfunction(e,t){let n=e[0]-.5,r=e[1]-.5,l=e[2];const a=Math.cos(1.04),o=Math.sin(1.04),i=r*a-l*o,u=r*o+l*a,s=Math.cos(-.78),c=Math.sin(-.78),f=-n*c+u*s,d=2.8/(2.8-f);return{x:.5*t+(n*s+u*c)*d*t*.82,y:.52*t-i*d*t*.82,z:f}}(e,i)),c=d.triangles.map(e=>{const t=s[e[0]],n=s[e[1]],l=s[e[2]],a=(t.z+n.z+l.z)/3,o=r[e[0]],i=r[e[1]],u=r[e[2]];var c,f;return{tri:e,avgZ:a,shade:j(function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}(L((c=O(i,o),f=O(u,o),[c[1]*f[2]-c[2]*f[1],c[2]*f[0]-c[0]*f[2],c[0]*f[1]-c[1]*f[0]])),_))}});c.sort((e,t)=>e.avgZ-t.avgZ);for(const l of c){const[e,t,r]=l.tri,a=s[e],o=s[t],i=s[r];n.beginPath(),n.moveTo(a.x,a.y),n.lineTo(o.x,o.y),n.lineTo(i.x,i.y),n.closePath(),n.fillStyle=l.shade,n.fill(),n.strokeStyle="rgba(42, 42, 58, 0.22)",n.lineWidth=.55,n.stroke()}const p=d.resolution,m=p+1,h=e=>{const t=T(Math.round(e[0]*p),0,p);return T(Math.round(e[1]*p),0,p)*m+t};for(let l=0;l{p(c.current)},[p]),(0,r.useEffect)(()=>{cancelAnimationFrame(s.current);const e=c.current,t=n,r=performance.now(),l=n=>{const a=T((n-r)/420,0,1),o=function(e){return e<.5?4*e*e*e:1-(-2*e+2)**3/2}(a),i=e+(t-e)*o;c.current=i,p(i),a<1&&(s.current=requestAnimationFrame(l))};return s.current=requestAnimationFrame(l),()=>cancelAnimationFrame(s.current)},[n,p]),(0,a.jsx)("canvas",{ref:u,width:i,height:i,className:"canvas-3d","aria-label":"3D fold preview"})}const F=function(){const[e,t]=(0,r.useState)({}),[n,l]=(0,r.useState)("half_horizontal"),[o,i]=(0,r.useState)(null),[u,s]=(0,r.useState)(0),[c,f]=(0,r.useState)(!1),[p,m]=(0,r.useState)("progressive"),[h,g]=(0,r.useState)("connecting"),[v,k]=(0,r.useState)(!1),w=(0,r.useRef)(null),S=(0,r.useCallback)(async()=>{try{const e=await fetch("/targets");if(!e.ok)throw new Error(`HTTP ${e.status}`);const n=await e.json();t(n),g("ok")}catch{g("err")}},[]),C=(0,r.useCallback)(async e=>{k(!0),f(!1),s(0);try{const t=await fetch(`/episode/demo?target=${e}`);if(!t.ok)throw new Error(`HTTP ${t.status}`);const n=await t.json();i(n),g("ok")}catch{i(null),g("err")}finally{k(!1)}},[]);(0,r.useEffect)(()=>{S()},[S]),(0,r.useEffect)(()=>{C(n)},[n,C]);const _=o?o.steps.length:0,P=o&&u>0?o.steps[u-1]:null;(0,r.useEffect)(()=>(c&&(w.current=setInterval(()=>{s(e=>e>=_?(f(!1),e):e+1)},1500)),()=>clearInterval(w.current)),[c,_]);const z=e[n]||null,T=o?o.target:null;return(0,a.jsxs)("div",{className:"app",children:[(0,a.jsxs)("header",{className:"app-header",children:[(0,a.jsxs)("span",{className:"app-title",children:["OPTI",(0,a.jsx)("span",{className:"title-accent",children:"GAMI"})," RL"]}),(0,a.jsx)("div",{className:"header-sep"}),(0,a.jsx)(E,{targets:e,selected:n,onChange:e=>l(e)}),(0,a.jsx)("div",{className:"header-sep"}),(0,a.jsx)(N,{playing:c,onPlay:()=>{u>=_&&s(0),f(!0)},onPause:()=>f(!1),onNext:()=>{f(!1),s(e=>Math.min(e+1,_))},onPrev:()=>{f(!1),s(e=>Math.max(e-1,0))},onReset:()=>{f(!1),s(0)},currentStep:u,totalSteps:_,disabled:!o||v}),(0,a.jsx)("div",{className:"header-right",children:(0,a.jsxs)("div",{className:"api-status",children:[(0,a.jsx)("span",{className:"api-status-dot "+("ok"===h?"ok":"err"===h?"err":"")}),(0,a.jsx)("span",{children:"ok"===h?"API OK":"err"===h?"API ERR":"CONNECTING"})]})})]}),(0,a.jsxs)("div",{className:"app-body",children:[(0,a.jsxs)("div",{className:"app-left",children:[(0,a.jsxs)("div",{className:"canvas-row",children:[(0,a.jsxs)("div",{className:"canvas-wrap",children:[(0,a.jsxs)("span",{className:"canvas-label",children:["TARGET \u2014 ",z?z.name.replace(/_/g," ").toUpperCase():"\u2014"]}),(0,a.jsx)(d,{paperState:null,target:T,label:"TARGET",dim:280,ghostOnly:!0})]}),(0,a.jsxs)("div",{className:"canvas-wrap",children:[(0,a.jsx)("span",{className:"canvas-label",children:0===u?"INITIAL STATE":`STEP ${u} / ${_}`}),(0,a.jsx)(d,{paperState:P?P.paper_state:null,target:T,label:0===u?"INITIAL":`STEP ${u}`,dim:280,ghostOnly:!1})]}),(0,a.jsxs)("div",{className:"canvas-wrap",children:[(0,a.jsxs)("div",{className:"canvas-label-row",children:[(0,a.jsx)("span",{className:"canvas-label",children:"3D FOLD PREVIEW"}),(0,a.jsxs)("div",{className:"fold-mode-toggle",children:[(0,a.jsx)("button",{className:"fold-mode-btn"+("progressive"===p?" active":""),onClick:()=>m("progressive"),type:"button",children:"PER CREASE"}),(0,a.jsx)("button",{className:"fold-mode-btn"+("final"===p?" active":""),onClick:()=>m("final"),type:"button",children:"FOLD AT END"})]})]}),(0,a.jsx)(M,{steps:o?o.steps:[],currentStep:u,totalSteps:_,mode:p,dim:280})]})]}),(0,a.jsxs)("div",{className:"step-feed-section",children:[(0,a.jsx)("div",{className:"section-header",children:"FOLD SEQUENCE"}),v?(0,a.jsxs)("div",{className:"episode-loading",children:[(0,a.jsx)("div",{className:"pulse-dot"}),"FETCHING EPISODE..."]}):(0,a.jsx)(b,{steps:o?o.steps:[],currentStep:u})]})]}),(0,a.jsxs)("div",{className:"app-right",children:[(0,a.jsx)("div",{className:"section-header",children:"REWARD DECOMPOSITION"}),(0,a.jsx)(y,{reward:P?P.reward:null}),(0,a.jsx)("div",{className:"section-header",children:"EPISODE INFO"}),(0,a.jsx)(x,{info:P?P.info:null,targetDef:z})]})]})]})};l.createRoot(document.getElementById("root")).render((0,a.jsx)(r.StrictMode,{children:(0,a.jsx)(F,{})}))})(); +//# sourceMappingURL=main.7e6cf91b.js.map \ No newline at end of file diff --git a/build/static/js/main.7e6cf91b.js.LICENSE.txt b/build/static/js/main.7e6cf91b.js.LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..13261149f48d07fafa9bd9480c6faffa24778e72 --- /dev/null +++ b/build/static/js/main.7e6cf91b.js.LICENSE.txt @@ -0,0 +1,49 @@ +/** + * @license React + * react-dom-client.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * react-dom.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * react.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * scheduler.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ diff --git a/build/static/js/main.7e6cf91b.js.map b/build/static/js/main.7e6cf91b.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ec16a8b6a9646b75922397d92249d39d5489f740 --- /dev/null +++ b/build/static/js/main.7e6cf91b.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/main.7e6cf91b.js","mappings":"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","sources":["../node_modules/react-dom/cjs/react-dom-client.production.js","../node_modules/react-dom/cjs/react-dom.production.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/react/cjs/react.production.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.js","../node_modules/scheduler/index.js","../webpack/bootstrap","components/CreaseCanvas.js","components/RewardPanel.js","components/StepFeed.js","components/InfoBadges.js","components/TargetSelector.js","components/PlayerControls.js","components/Fold3DCanvas.js","App.js","index.js"],"sourcesContent":["/**\n * @license React\n * react-dom-client.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n\"use strict\";\nvar Scheduler = require(\"scheduler\"),\n React = require(\"react\"),\n ReactDOM = require(\"react-dom\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction isValidContainer(node) {\n return !(\n !node ||\n (1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType)\n );\n}\nfunction getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (13 === fiber.tag) {\n var suspenseState = fiber.memoizedState;\n null === suspenseState &&\n ((fiber = fiber.alternate),\n null !== fiber && (suspenseState = fiber.memoizedState));\n if (null !== suspenseState) return suspenseState.dehydrated;\n }\n return null;\n}\nfunction getActivityInstanceFromFiber(fiber) {\n if (31 === fiber.tag) {\n var activityState = fiber.memoizedState;\n null === activityState &&\n ((fiber = fiber.alternate),\n null !== fiber && (activityState = fiber.memoizedState));\n if (null !== activityState) return activityState.dehydrated;\n }\n return null;\n}\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(formatProdErrorMessage(188));\n}\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate) throw Error(formatProdErrorMessage(188));\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(formatProdErrorMessage(188));\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$0 = parentA.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) {\n for (child$0 = parentB.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) throw Error(formatProdErrorMessage(189));\n }\n }\n if (a.alternate !== b) throw Error(formatProdErrorMessage(190));\n }\n if (3 !== a.tag) throw Error(formatProdErrorMessage(188));\n return a.stateNode.current === a ? fiber : alternate;\n}\nfunction findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n}\nvar assign = Object.assign,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nSymbol.for(\"react.scope\");\nvar REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\");\nSymbol.for(\"react.legacy_hidden\");\nSymbol.for(\"react.tracing_marker\");\nvar REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\");\nSymbol.for(\"react.view_transition\");\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n sharedNotPendingObject = {\n pending: !1,\n data: null,\n method: null,\n action: null\n },\n valueStack = [],\n index = -1;\nfunction createCursor(defaultValue) {\n return { current: defaultValue };\n}\nfunction pop(cursor) {\n 0 > index ||\n ((cursor.current = valueStack[index]), (valueStack[index] = null), index--);\n}\nfunction push(cursor, value) {\n index++;\n valueStack[index] = cursor.current;\n cursor.current = value;\n}\nvar contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null);\nfunction pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor, null);\n switch (nextRootInstance.nodeType) {\n case 9:\n case 11:\n fiber = (fiber = nextRootInstance.documentElement)\n ? (fiber = fiber.namespaceURI)\n ? getOwnHostContext(fiber)\n : 0\n : 0;\n break;\n default:\n if (\n ((fiber = nextRootInstance.tagName),\n (nextRootInstance = nextRootInstance.namespaceURI))\n )\n (nextRootInstance = getOwnHostContext(nextRootInstance)),\n (fiber = getChildHostContextProd(nextRootInstance, fiber));\n else\n switch (fiber) {\n case \"svg\":\n fiber = 1;\n break;\n case \"math\":\n fiber = 2;\n break;\n default:\n fiber = 0;\n }\n }\n pop(contextStackCursor);\n push(contextStackCursor, fiber);\n}\nfunction popHostContainer() {\n pop(contextStackCursor);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n}\nfunction pushHostContext(fiber) {\n null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber);\n var context = contextStackCursor.current;\n var JSCompiler_inline_result = getChildHostContextProd(context, fiber.type);\n context !== JSCompiler_inline_result &&\n (push(contextFiberStackCursor, fiber),\n push(contextStackCursor, JSCompiler_inline_result));\n}\nfunction popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor), pop(contextFiberStackCursor));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor),\n (HostTransitionContext._currentValue = sharedNotPendingObject));\n}\nvar prefix, suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" ()\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$1) {\n control = x$1;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$2) {\n control = x$2;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"\") &&\n (frame = frame.replace(\"\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeFiber(fiber, childFiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return fiber.child !== childFiber && null !== childFiber\n ? describeBuiltInComponentFrame(\"Suspense Fallback\")\n : describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return describeNativeComponentFrame(fiber.type, !1);\n case 11:\n return describeNativeComponentFrame(fiber.type.render, !1);\n case 1:\n return describeNativeComponentFrame(fiber.type, !0);\n case 31:\n return describeBuiltInComponentFrame(\"Activity\");\n default:\n return \"\";\n }\n}\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\",\n previous = null;\n do\n (info += describeFiber(workInProgress, previous)),\n (previous = workInProgress),\n (workInProgress = workInProgress.return);\n while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty,\n scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n LowPriority = Scheduler.unstable_LowPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log$1 = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null;\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {}\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nvar nextTransitionUpdateLane = 256,\n nextTransitionDeferredLane = 262144,\n nextRetryLane = 4194304;\nfunction getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n return 128;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n return lanes & 261888;\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 3932160;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return lanes;\n }\n}\nfunction getNextLanes(root, wipLanes, rootHasPendingCommit) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n root = root.warmLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = nonIdlePendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = pendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (rootHasPendingCommit = wipLanes & -wipLanes),\n suspendedLanes >= rootHasPendingCommit ||\n (32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)))\n ? wipLanes\n : nextLanes;\n}\nfunction checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n}\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n case 64:\n return currentTime + 250;\n case 16:\n case 32:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n}\nfunction createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n}\nfunction markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0));\n}\nfunction markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index$7 = 31 - clz32(remainingLanes),\n lane = 1 << index$7;\n entanglements[index$7] = 0;\n expirationTimes[index$7] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index$7];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index$7] = null, index$7 = 0;\n index$7 < hiddenUpdatesForLane.length;\n index$7++\n ) {\n var update = hiddenUpdatesForLane[index$7];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n 0 !== root.tag &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n}\nfunction markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 261930);\n}\nfunction markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$8 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$8;\n (lane & entangledLanes) | (root[index$8] & entangledLanes) &&\n (root[index$8] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydration(root, renderLanes) {\n var renderLane = renderLanes & -renderLanes;\n renderLane =\n 0 !== (renderLane & 42) ? 1 : getBumpedLaneForHydrationByLane(renderLane);\n return 0 !== (renderLane & (root.suspendedLanes | renderLanes))\n ? 0\n : renderLane;\n}\nfunction getBumpedLaneForHydrationByLane(lane) {\n switch (lane) {\n case 2:\n lane = 1;\n break;\n case 8:\n lane = 4;\n break;\n case 32:\n lane = 16;\n break;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n lane = 128;\n break;\n case 268435456:\n lane = 134217728;\n break;\n default:\n lane = 0;\n }\n return lane;\n}\nfunction lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 2 < lanes\n ? 8 < lanes\n ? 0 !== (lanes & 134217727)\n ? 32\n : 268435456\n : 8\n : 2;\n}\nfunction resolveUpdatePriority() {\n var updatePriority = ReactDOMSharedInternals.p;\n if (0 !== updatePriority) return updatePriority;\n updatePriority = window.event;\n return void 0 === updatePriority ? 32 : getEventPriority(updatePriority.type);\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n return (ReactDOMSharedInternals.p = priority), fn();\n } finally {\n ReactDOMSharedInternals.p = previousPriority;\n }\n}\nvar randomKey = Math.random().toString(36).slice(2),\n internalInstanceKey = \"__reactFiber$\" + randomKey,\n internalPropsKey = \"__reactProps$\" + randomKey,\n internalContainerInstanceKey = \"__reactContainer$\" + randomKey,\n internalEventHandlersKey = \"__reactEvents$\" + randomKey,\n internalEventHandlerListenersKey = \"__reactListeners$\" + randomKey,\n internalEventHandlesSetKey = \"__reactHandles$\" + randomKey,\n internalRootNodeResourcesKey = \"__reactResources$\" + randomKey,\n internalHoistableMarker = \"__reactMarker$\" + randomKey;\nfunction detachDeletedInstance(node) {\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n if (targetInst) return targetInst;\n for (var parentNode = targetNode.parentNode; parentNode; ) {\n if (\n (targetInst =\n parentNode[internalContainerInstanceKey] ||\n parentNode[internalInstanceKey])\n ) {\n parentNode = targetInst.alternate;\n if (\n null !== targetInst.child ||\n (null !== parentNode && null !== parentNode.child)\n )\n for (\n targetNode = getParentHydrationBoundary(targetNode);\n null !== targetNode;\n\n ) {\n if ((parentNode = targetNode[internalInstanceKey])) return parentNode;\n targetNode = getParentHydrationBoundary(targetNode);\n }\n return targetInst;\n }\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n return null;\n}\nfunction getInstanceFromNode(node) {\n if (\n (node = node[internalInstanceKey] || node[internalContainerInstanceKey])\n ) {\n var tag = node.tag;\n if (\n 5 === tag ||\n 6 === tag ||\n 13 === tag ||\n 31 === tag ||\n 26 === tag ||\n 27 === tag ||\n 3 === tag\n )\n return node;\n }\n return null;\n}\nfunction getNodeFromInstance(inst) {\n var tag = inst.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return inst.stateNode;\n throw Error(formatProdErrorMessage(33));\n}\nfunction getResourcesFromRoot(root) {\n var resources = root[internalRootNodeResourcesKey];\n resources ||\n (resources = root[internalRootNodeResourcesKey] =\n { hoistableStyles: new Map(), hoistableScripts: new Map() });\n return resources;\n}\nfunction markNodeAsHoistable(node) {\n node[internalHoistableMarker] = !0;\n}\nvar allNativeEvents = new Set(),\n registrationNameDependencies = {};\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + \"Capture\", dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n registrationNameDependencies[registrationName] = dependencies;\n for (\n registrationName = 0;\n registrationName < dependencies.length;\n registrationName++\n )\n allNativeEvents.add(dependencies[registrationName]);\n}\nvar VALID_ATTRIBUTE_NAME_REGEX = RegExp(\n \"^[: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]*$\"\n ),\n illegalAttributeNameCache = {},\n validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return (validatedAttributeNameCache[attributeName] = !0);\n illegalAttributeNameCache[attributeName] = !0;\n return !1;\n}\nfunction setValueForAttribute(node, name, value) {\n if (isAttributeNameSafe(name))\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n node.removeAttribute(name);\n return;\n case \"boolean\":\n var prefix$10 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$10 && \"aria-\" !== prefix$10) {\n node.removeAttribute(name);\n return;\n }\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForKnownAttribute(node, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForNamespacedAttribute(node, namespace, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttributeNS(namespace, name, \"\" + value);\n }\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n case \"undefined\":\n return value;\n case \"object\":\n return value;\n default:\n return \"\";\n }\n}\nfunction isCheckable(elem) {\n var type = elem.type;\n return (\n (elem = elem.nodeName) &&\n \"input\" === elem.toLowerCase() &&\n (\"checkbox\" === type || \"radio\" === type)\n );\n}\nfunction trackValueOnNode(node, valueField, currentValue) {\n var descriptor = Object.getOwnPropertyDescriptor(\n node.constructor.prototype,\n valueField\n );\n if (\n !node.hasOwnProperty(valueField) &&\n \"undefined\" !== typeof descriptor &&\n \"function\" === typeof descriptor.get &&\n \"function\" === typeof descriptor.set\n ) {\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: !0,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n currentValue = \"\" + value;\n set.call(this, value);\n }\n });\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n return {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n currentValue = \"\" + value;\n },\n stopTracking: function () {\n node._valueTracker = null;\n delete node[valueField];\n }\n };\n }\n}\nfunction track(node) {\n if (!node._valueTracker) {\n var valueField = isCheckable(node) ? \"checked\" : \"value\";\n node._valueTracker = trackValueOnNode(\n node,\n valueField,\n \"\" + node[valueField]\n );\n }\n}\nfunction updateValueIfChanged(node) {\n if (!node) return !1;\n var tracker = node._valueTracker;\n if (!tracker) return !0;\n var lastValue = tracker.getValue();\n var value = \"\";\n node &&\n (value = isCheckable(node)\n ? node.checked\n ? \"true\"\n : \"false\"\n : node.value);\n node = value;\n return node !== lastValue ? (tracker.setValue(node), !0) : !1;\n}\nfunction getActiveElement(doc) {\n doc = doc || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof doc) return null;\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\nvar escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\\n\"\\\\]/g;\nfunction escapeSelectorAttributeValueInsideDoubleQuotes(value) {\n return value.replace(\n escapeSelectorAttributeValueInsideDoubleQuotesRegex,\n function (ch) {\n return \"\\\\\" + ch.charCodeAt(0).toString(16) + \" \";\n }\n );\n}\nfunction updateInput(\n element,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n) {\n element.name = \"\";\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type\n ? (element.type = type)\n : element.removeAttribute(\"type\");\n if (null != value)\n if (\"number\" === type) {\n if ((0 === value && \"\" === element.value) || element.value != value)\n element.value = \"\" + getToStringValue(value);\n } else\n element.value !== \"\" + getToStringValue(value) &&\n (element.value = \"\" + getToStringValue(value));\n else\n (\"submit\" !== type && \"reset\" !== type) || element.removeAttribute(\"value\");\n null != value\n ? setDefaultValue(element, type, getToStringValue(value))\n : null != defaultValue\n ? setDefaultValue(element, type, getToStringValue(defaultValue))\n : null != lastDefaultValue && element.removeAttribute(\"value\");\n null == checked &&\n null != defaultChecked &&\n (element.defaultChecked = !!defaultChecked);\n null != checked &&\n (element.checked =\n checked && \"function\" !== typeof checked && \"symbol\" !== typeof checked);\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name\n ? (element.name = \"\" + getToStringValue(name))\n : element.removeAttribute(\"name\");\n}\nfunction initInput(\n element,\n value,\n defaultValue,\n checked,\n defaultChecked,\n type,\n name,\n isHydrating\n) {\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type &&\n (element.type = type);\n if (null != value || null != defaultValue) {\n if (\n !(\n (\"submit\" !== type && \"reset\" !== type) ||\n (void 0 !== value && null !== value)\n )\n ) {\n track(element);\n return;\n }\n defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n value = null != value ? \"\" + getToStringValue(value) : defaultValue;\n isHydrating || value === element.value || (element.value = value);\n element.defaultValue = value;\n }\n checked = null != checked ? checked : defaultChecked;\n checked =\n \"function\" !== typeof checked && \"symbol\" !== typeof checked && !!checked;\n element.checked = isHydrating ? element.checked : !!checked;\n element.defaultChecked = !!checked;\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name &&\n (element.name = name);\n track(element);\n}\nfunction setDefaultValue(node, type, value) {\n (\"number\" === type && getActiveElement(node.ownerDocument) === node) ||\n node.defaultValue === \"\" + value ||\n (node.defaultValue = \"\" + value);\n}\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n node = node.options;\n if (multiple) {\n multiple = {};\n for (var i = 0; i < propValue.length; i++)\n multiple[\"$\" + propValue[i]] = !0;\n for (propValue = 0; propValue < node.length; propValue++)\n (i = multiple.hasOwnProperty(\"$\" + node[propValue].value)),\n node[propValue].selected !== i && (node[propValue].selected = i),\n i && setDefaultSelected && (node[propValue].defaultSelected = !0);\n } else {\n propValue = \"\" + getToStringValue(propValue);\n multiple = null;\n for (i = 0; i < node.length; i++) {\n if (node[i].value === propValue) {\n node[i].selected = !0;\n setDefaultSelected && (node[i].defaultSelected = !0);\n return;\n }\n null !== multiple || node[i].disabled || (multiple = node[i]);\n }\n null !== multiple && (multiple.selected = !0);\n }\n}\nfunction updateTextarea(element, value, defaultValue) {\n if (\n null != value &&\n ((value = \"\" + getToStringValue(value)),\n value !== element.value && (element.value = value),\n null == defaultValue)\n ) {\n element.defaultValue !== value && (element.defaultValue = value);\n return;\n }\n element.defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n}\nfunction initTextarea(element, value, defaultValue, children) {\n if (null == value) {\n if (null != children) {\n if (null != defaultValue) throw Error(formatProdErrorMessage(92));\n if (isArrayImpl(children)) {\n if (1 < children.length) throw Error(formatProdErrorMessage(93));\n children = children[0];\n }\n defaultValue = children;\n }\n null == defaultValue && (defaultValue = \"\");\n value = defaultValue;\n }\n defaultValue = getToStringValue(value);\n element.defaultValue = defaultValue;\n children = element.textContent;\n children === defaultValue &&\n \"\" !== children &&\n null !== children &&\n (element.value = children);\n track(element);\n}\nfunction setTextContent(node, text) {\n if (text) {\n var firstChild = node.firstChild;\n if (\n firstChild &&\n firstChild === node.lastChild &&\n 3 === firstChild.nodeType\n ) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n}\nvar unitlessNumbers = new Set(\n \"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(\n \" \"\n )\n);\nfunction setValueForStyle(style, styleName, value) {\n var isCustomProperty = 0 === styleName.indexOf(\"--\");\n null == value || \"boolean\" === typeof value || \"\" === value\n ? isCustomProperty\n ? style.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (style.cssFloat = \"\")\n : (style[styleName] = \"\")\n : isCustomProperty\n ? style.setProperty(styleName, value)\n : \"number\" !== typeof value ||\n 0 === value ||\n unitlessNumbers.has(styleName)\n ? \"float\" === styleName\n ? (style.cssFloat = value)\n : (style[styleName] = (\"\" + value).trim())\n : (style[styleName] = value + \"px\");\n}\nfunction setValueForStyles(node, styles, prevStyles) {\n if (null != styles && \"object\" !== typeof styles)\n throw Error(formatProdErrorMessage(62));\n node = node.style;\n if (null != prevStyles) {\n for (var styleName in prevStyles)\n !prevStyles.hasOwnProperty(styleName) ||\n (null != styles && styles.hasOwnProperty(styleName)) ||\n (0 === styleName.indexOf(\"--\")\n ? node.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (node.cssFloat = \"\")\n : (node[styleName] = \"\"));\n for (var styleName$16 in styles)\n (styleName = styles[styleName$16]),\n styles.hasOwnProperty(styleName$16) &&\n prevStyles[styleName$16] !== styleName &&\n setValueForStyle(node, styleName$16, styleName);\n } else\n for (var styleName$17 in styles)\n styles.hasOwnProperty(styleName$17) &&\n setValueForStyle(node, styleName$17, styles[styleName$17]);\n}\nfunction isCustomElement(tagName) {\n if (-1 === tagName.indexOf(\"-\")) return !1;\n switch (tagName) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n default:\n return !0;\n }\n}\nvar aliases = new Map([\n [\"acceptCharset\", \"accept-charset\"],\n [\"htmlFor\", \"for\"],\n [\"httpEquiv\", \"http-equiv\"],\n [\"crossOrigin\", \"crossorigin\"],\n [\"accentHeight\", \"accent-height\"],\n [\"alignmentBaseline\", \"alignment-baseline\"],\n [\"arabicForm\", \"arabic-form\"],\n [\"baselineShift\", \"baseline-shift\"],\n [\"capHeight\", \"cap-height\"],\n [\"clipPath\", \"clip-path\"],\n [\"clipRule\", \"clip-rule\"],\n [\"colorInterpolation\", \"color-interpolation\"],\n [\"colorInterpolationFilters\", \"color-interpolation-filters\"],\n [\"colorProfile\", \"color-profile\"],\n [\"colorRendering\", \"color-rendering\"],\n [\"dominantBaseline\", \"dominant-baseline\"],\n [\"enableBackground\", \"enable-background\"],\n [\"fillOpacity\", \"fill-opacity\"],\n [\"fillRule\", \"fill-rule\"],\n [\"floodColor\", \"flood-color\"],\n [\"floodOpacity\", \"flood-opacity\"],\n [\"fontFamily\", \"font-family\"],\n [\"fontSize\", \"font-size\"],\n [\"fontSizeAdjust\", \"font-size-adjust\"],\n [\"fontStretch\", \"font-stretch\"],\n [\"fontStyle\", \"font-style\"],\n [\"fontVariant\", \"font-variant\"],\n [\"fontWeight\", \"font-weight\"],\n [\"glyphName\", \"glyph-name\"],\n [\"glyphOrientationHorizontal\", \"glyph-orientation-horizontal\"],\n [\"glyphOrientationVertical\", \"glyph-orientation-vertical\"],\n [\"horizAdvX\", \"horiz-adv-x\"],\n [\"horizOriginX\", \"horiz-origin-x\"],\n [\"imageRendering\", \"image-rendering\"],\n [\"letterSpacing\", \"letter-spacing\"],\n [\"lightingColor\", \"lighting-color\"],\n [\"markerEnd\", \"marker-end\"],\n [\"markerMid\", \"marker-mid\"],\n [\"markerStart\", \"marker-start\"],\n [\"overlinePosition\", \"overline-position\"],\n [\"overlineThickness\", \"overline-thickness\"],\n [\"paintOrder\", \"paint-order\"],\n [\"panose-1\", \"panose-1\"],\n [\"pointerEvents\", \"pointer-events\"],\n [\"renderingIntent\", \"rendering-intent\"],\n [\"shapeRendering\", \"shape-rendering\"],\n [\"stopColor\", \"stop-color\"],\n [\"stopOpacity\", \"stop-opacity\"],\n [\"strikethroughPosition\", \"strikethrough-position\"],\n [\"strikethroughThickness\", \"strikethrough-thickness\"],\n [\"strokeDasharray\", \"stroke-dasharray\"],\n [\"strokeDashoffset\", \"stroke-dashoffset\"],\n [\"strokeLinecap\", \"stroke-linecap\"],\n [\"strokeLinejoin\", \"stroke-linejoin\"],\n [\"strokeMiterlimit\", \"stroke-miterlimit\"],\n [\"strokeOpacity\", \"stroke-opacity\"],\n [\"strokeWidth\", \"stroke-width\"],\n [\"textAnchor\", \"text-anchor\"],\n [\"textDecoration\", \"text-decoration\"],\n [\"textRendering\", \"text-rendering\"],\n [\"transformOrigin\", \"transform-origin\"],\n [\"underlinePosition\", \"underline-position\"],\n [\"underlineThickness\", \"underline-thickness\"],\n [\"unicodeBidi\", \"unicode-bidi\"],\n [\"unicodeRange\", \"unicode-range\"],\n [\"unitsPerEm\", \"units-per-em\"],\n [\"vAlphabetic\", \"v-alphabetic\"],\n [\"vHanging\", \"v-hanging\"],\n [\"vIdeographic\", \"v-ideographic\"],\n [\"vMathematical\", \"v-mathematical\"],\n [\"vectorEffect\", \"vector-effect\"],\n [\"vertAdvY\", \"vert-adv-y\"],\n [\"vertOriginX\", \"vert-origin-x\"],\n [\"vertOriginY\", \"vert-origin-y\"],\n [\"wordSpacing\", \"word-spacing\"],\n [\"writingMode\", \"writing-mode\"],\n [\"xmlnsXlink\", \"xmlns:xlink\"],\n [\"xHeight\", \"x-height\"]\n ]),\n isJavaScriptProtocol =\n /^[\\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;\nfunction sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url)\n ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\"\n : url;\n}\nfunction noop$1() {}\nvar currentReplayingEvent = null;\nfunction getEventTarget(nativeEvent) {\n nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;\n nativeEvent.correspondingUseElement &&\n (nativeEvent = nativeEvent.correspondingUseElement);\n return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;\n}\nvar restoreTarget = null,\n restoreQueue = null;\nfunction restoreStateOfTarget(target) {\n var internalInstance = getInstanceFromNode(target);\n if (internalInstance && (target = internalInstance.stateNode)) {\n var props = target[internalPropsKey] || null;\n a: switch (((target = internalInstance.stateNode), internalInstance.type)) {\n case \"input\":\n updateInput(\n target,\n props.value,\n props.defaultValue,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name\n );\n internalInstance = props.name;\n if (\"radio\" === props.type && null != internalInstance) {\n for (props = target; props.parentNode; ) props = props.parentNode;\n props = props.querySelectorAll(\n 'input[name=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n \"\" + internalInstance\n ) +\n '\"][type=\"radio\"]'\n );\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n ) {\n var otherNode = props[internalInstance];\n if (otherNode !== target && otherNode.form === target.form) {\n var otherProps = otherNode[internalPropsKey] || null;\n if (!otherProps) throw Error(formatProdErrorMessage(90));\n updateInput(\n otherNode,\n otherProps.value,\n otherProps.defaultValue,\n otherProps.defaultValue,\n otherProps.checked,\n otherProps.defaultChecked,\n otherProps.type,\n otherProps.name\n );\n }\n }\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n )\n (otherNode = props[internalInstance]),\n otherNode.form === target.form && updateValueIfChanged(otherNode);\n }\n break a;\n case \"textarea\":\n updateTextarea(target, props.value, props.defaultValue);\n break a;\n case \"select\":\n (internalInstance = props.value),\n null != internalInstance &&\n updateOptions(target, !!props.multiple, internalInstance, !1);\n }\n }\n}\nvar isInsideEventHandler = !1;\nfunction batchedUpdates$1(fn, a, b) {\n if (isInsideEventHandler) return fn(a, b);\n isInsideEventHandler = !0;\n try {\n var JSCompiler_inline_result = fn(a);\n return JSCompiler_inline_result;\n } finally {\n if (\n ((isInsideEventHandler = !1),\n null !== restoreTarget || null !== restoreQueue)\n )\n if (\n (flushSyncWork$1(),\n restoreTarget &&\n ((a = restoreTarget),\n (fn = restoreQueue),\n (restoreQueue = restoreTarget = null),\n restoreStateOfTarget(a),\n fn))\n )\n for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]);\n }\n}\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n if (null === stateNode) return null;\n var props = stateNode[internalPropsKey] || null;\n if (null === props) return null;\n stateNode = props[registrationName];\n a: switch (registrationName) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n case \"onMouseEnter\":\n (props = !props.disabled) ||\n ((inst = inst.type),\n (props = !(\n \"button\" === inst ||\n \"input\" === inst ||\n \"select\" === inst ||\n \"textarea\" === inst\n )));\n inst = !props;\n break a;\n default:\n inst = !1;\n }\n if (inst) return null;\n if (stateNode && \"function\" !== typeof stateNode)\n throw Error(\n formatProdErrorMessage(231, registrationName, typeof stateNode)\n );\n return stateNode;\n}\nvar canUseDOM = !(\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ),\n passiveBrowserEventsSupported = !1;\nif (canUseDOM)\n try {\n var options = {};\n Object.defineProperty(options, \"passive\", {\n get: function () {\n passiveBrowserEventsSupported = !0;\n }\n });\n window.addEventListener(\"test\", options, options);\n window.removeEventListener(\"test\", options, options);\n } catch (e) {\n passiveBrowserEventsSupported = !1;\n }\nvar root = null,\n startText = null,\n fallbackText = null;\nfunction getData() {\n if (fallbackText) return fallbackText;\n var start,\n startValue = startText,\n startLength = startValue.length,\n end,\n endValue = \"value\" in root ? root.value : root.textContent,\n endLength = endValue.length;\n for (\n start = 0;\n start < startLength && startValue[start] === endValue[start];\n start++\n );\n var minEnd = startLength - start;\n for (\n end = 1;\n end <= minEnd &&\n startValue[startLength - end] === endValue[endLength - end];\n end++\n );\n return (fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0));\n}\nfunction getEventCharCode(nativeEvent) {\n var keyCode = nativeEvent.keyCode;\n \"charCode\" in nativeEvent\n ? ((nativeEvent = nativeEvent.charCode),\n 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13))\n : (nativeEvent = keyCode);\n 10 === nativeEvent && (nativeEvent = 13);\n return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;\n}\nfunction functionThatReturnsTrue() {\n return !0;\n}\nfunction functionThatReturnsFalse() {\n return !1;\n}\nfunction createSyntheticEvent(Interface) {\n function SyntheticBaseEvent(\n reactName,\n reactEventType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n for (var propName in Interface)\n Interface.hasOwnProperty(propName) &&\n ((reactName = Interface[propName]),\n (this[propName] = reactName\n ? reactName(nativeEvent)\n : nativeEvent[propName]));\n this.isDefaultPrevented = (\n null != nativeEvent.defaultPrevented\n ? nativeEvent.defaultPrevented\n : !1 === nativeEvent.returnValue\n )\n ? functionThatReturnsTrue\n : functionThatReturnsFalse;\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = !0;\n var event = this.nativeEvent;\n event &&\n (event.preventDefault\n ? event.preventDefault()\n : \"unknown\" !== typeof event.returnValue && (event.returnValue = !1),\n (this.isDefaultPrevented = functionThatReturnsTrue));\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n event &&\n (event.stopPropagation\n ? event.stopPropagation()\n : \"unknown\" !== typeof event.cancelBubble &&\n (event.cancelBubble = !0),\n (this.isPropagationStopped = functionThatReturnsTrue));\n },\n persist: function () {},\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n },\n SyntheticEvent = createSyntheticEvent(EventInterface),\n UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }),\n SyntheticUIEvent = createSyntheticEvent(UIEventInterface),\n lastMovementX,\n lastMovementY,\n lastMouseEvent,\n MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n return void 0 === event.relatedTarget\n ? event.fromElement === event.srcElement\n ? event.toElement\n : event.fromElement\n : event.relatedTarget;\n },\n movementX: function (event) {\n if (\"movementX\" in event) return event.movementX;\n event !== lastMouseEvent &&\n (lastMouseEvent && \"mousemove\" === event.type\n ? ((lastMovementX = event.screenX - lastMouseEvent.screenX),\n (lastMovementY = event.screenY - lastMouseEvent.screenY))\n : (lastMovementY = lastMovementX = 0),\n (lastMouseEvent = event));\n return lastMovementX;\n },\n movementY: function (event) {\n return \"movementY\" in event ? event.movementY : lastMovementY;\n }\n }),\n SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface),\n DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }),\n SyntheticDragEvent = createSyntheticEvent(DragEventInterface),\n FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }),\n SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface),\n AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface),\n ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return \"clipboardData\" in event\n ? event.clipboardData\n : window.clipboardData;\n }\n }),\n SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface),\n CompositionEventInterface = assign({}, EventInterface, { data: 0 }),\n SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface),\n normalizeKey = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n },\n translateToKey = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 12: \"Clear\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 19: \"Pause\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 45: \"Insert\",\n 46: \"Delete\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n },\n modifierKeyToProp = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n };\nfunction modifierStateGetter(keyArg) {\n var nativeEvent = this.nativeEvent;\n return nativeEvent.getModifierState\n ? nativeEvent.getModifierState(keyArg)\n : (keyArg = modifierKeyToProp[keyArg])\n ? !!nativeEvent[keyArg]\n : !1;\n}\nfunction getEventModifierState() {\n return modifierStateGetter;\n}\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: function (nativeEvent) {\n if (nativeEvent.key) {\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n if (\"Unidentified\" !== key) return key;\n }\n return \"keypress\" === nativeEvent.type\n ? ((nativeEvent = getEventCharCode(nativeEvent)),\n 13 === nativeEvent ? \"Enter\" : String.fromCharCode(nativeEvent))\n : \"keydown\" === nativeEvent.type || \"keyup\" === nativeEvent.type\n ? translateToKey[nativeEvent.keyCode] || \"Unidentified\"\n : \"\";\n },\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n charCode: function (event) {\n return \"keypress\" === event.type ? getEventCharCode(event) : 0;\n },\n keyCode: function (event) {\n return \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n },\n which: function (event) {\n return \"keypress\" === event.type\n ? getEventCharCode(event)\n : \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n }\n }),\n SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface),\n PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n }),\n SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface),\n TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n }),\n SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface),\n TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface),\n WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return \"deltaX\" in event\n ? event.deltaX\n : \"wheelDeltaX\" in event\n ? -event.wheelDeltaX\n : 0;\n },\n deltaY: function (event) {\n return \"deltaY\" in event\n ? event.deltaY\n : \"wheelDeltaY\" in event\n ? -event.wheelDeltaY\n : \"wheelDelta\" in event\n ? -event.wheelDelta\n : 0;\n },\n deltaZ: 0,\n deltaMode: 0\n }),\n SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),\n ToggleEventInterface = assign({}, EventInterface, {\n newState: 0,\n oldState: 0\n }),\n SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),\n END_KEYCODES = [9, 13, 27, 32],\n canUseCompositionEvent = canUseDOM && \"CompositionEvent\" in window,\n documentMode = null;\ncanUseDOM &&\n \"documentMode\" in document &&\n (documentMode = document.documentMode);\nvar canUseTextInputEvent = canUseDOM && \"TextEvent\" in window && !documentMode,\n useFallbackCompositionData =\n canUseDOM &&\n (!canUseCompositionEvent ||\n (documentMode && 8 < documentMode && 11 >= documentMode)),\n SPACEBAR_CHAR = String.fromCharCode(32),\n hasSpaceKeypress = !1;\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"keyup\":\n return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);\n case \"keydown\":\n return 229 !== nativeEvent.keyCode;\n case \"keypress\":\n case \"mousedown\":\n case \"focusout\":\n return !0;\n default:\n return !1;\n }\n}\nfunction getDataFromCustomEvent(nativeEvent) {\n nativeEvent = nativeEvent.detail;\n return \"object\" === typeof nativeEvent && \"data\" in nativeEvent\n ? nativeEvent.data\n : null;\n}\nvar isComposing = !1;\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"compositionend\":\n return getDataFromCustomEvent(nativeEvent);\n case \"keypress\":\n if (32 !== nativeEvent.which) return null;\n hasSpaceKeypress = !0;\n return SPACEBAR_CHAR;\n case \"textInput\":\n return (\n (domEventName = nativeEvent.data),\n domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName\n );\n default:\n return null;\n }\n}\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n if (isComposing)\n return \"compositionend\" === domEventName ||\n (!canUseCompositionEvent &&\n isFallbackCompositionEnd(domEventName, nativeEvent))\n ? ((domEventName = getData()),\n (fallbackText = startText = root = null),\n (isComposing = !1),\n domEventName)\n : null;\n switch (domEventName) {\n case \"paste\":\n return null;\n case \"keypress\":\n if (\n !(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) ||\n (nativeEvent.ctrlKey && nativeEvent.altKey)\n ) {\n if (nativeEvent.char && 1 < nativeEvent.char.length)\n return nativeEvent.char;\n if (nativeEvent.which) return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case \"compositionend\":\n return useFallbackCompositionData && \"ko\" !== nativeEvent.locale\n ? null\n : nativeEvent.data;\n default:\n return null;\n }\n}\nvar supportedInputTypes = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n};\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return \"input\" === nodeName\n ? !!supportedInputTypes[elem.type]\n : \"textarea\" === nodeName\n ? !0\n : !1;\n}\nfunction createAndAccumulateChangeEvent(\n dispatchQueue,\n inst,\n nativeEvent,\n target\n) {\n restoreTarget\n ? restoreQueue\n ? restoreQueue.push(target)\n : (restoreQueue = [target])\n : (restoreTarget = target);\n inst = accumulateTwoPhaseListeners(inst, \"onChange\");\n 0 < inst.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onChange\",\n \"change\",\n null,\n nativeEvent,\n target\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: inst }));\n}\nvar activeElement$1 = null,\n activeElementInst$1 = null;\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n if (updateValueIfChanged(targetNode)) return targetInst;\n}\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (\"change\" === domEventName) return targetInst;\n}\nvar isInputEventSupported = !1;\nif (canUseDOM) {\n var JSCompiler_inline_result$jscomp$286;\n if (canUseDOM) {\n var isSupported$jscomp$inline_427 = \"oninput\" in document;\n if (!isSupported$jscomp$inline_427) {\n var element$jscomp$inline_428 = document.createElement(\"div\");\n element$jscomp$inline_428.setAttribute(\"oninput\", \"return;\");\n isSupported$jscomp$inline_427 =\n \"function\" === typeof element$jscomp$inline_428.oninput;\n }\n JSCompiler_inline_result$jscomp$286 = isSupported$jscomp$inline_427;\n } else JSCompiler_inline_result$jscomp$286 = !1;\n isInputEventSupported =\n JSCompiler_inline_result$jscomp$286 &&\n (!document.documentMode || 9 < document.documentMode);\n}\nfunction stopWatchingForValueChange() {\n activeElement$1 &&\n (activeElement$1.detachEvent(\"onpropertychange\", handlePropertyChange),\n (activeElementInst$1 = activeElement$1 = null));\n}\nfunction handlePropertyChange(nativeEvent) {\n if (\n \"value\" === nativeEvent.propertyName &&\n getInstIfValueChanged(activeElementInst$1)\n ) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(\n dispatchQueue,\n activeElementInst$1,\n nativeEvent,\n getEventTarget(nativeEvent)\n );\n batchedUpdates$1(runEventInBatch, dispatchQueue);\n }\n}\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n \"focusin\" === domEventName\n ? (stopWatchingForValueChange(),\n (activeElement$1 = target),\n (activeElementInst$1 = targetInst),\n activeElement$1.attachEvent(\"onpropertychange\", handlePropertyChange))\n : \"focusout\" === domEventName && stopWatchingForValueChange();\n}\nfunction getTargetInstForInputEventPolyfill(domEventName) {\n if (\n \"selectionchange\" === domEventName ||\n \"keyup\" === domEventName ||\n \"keydown\" === domEventName\n )\n return getInstIfValueChanged(activeElementInst$1);\n}\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (\"click\" === domEventName) return getInstIfValueChanged(targetInst);\n}\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (\"input\" === domEventName || \"change\" === domEventName)\n return getInstIfValueChanged(targetInst);\n}\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is;\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n}\nfunction getLeafNode(node) {\n for (; node && node.firstChild; ) node = node.firstChild;\n return node;\n}\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n root = 0;\n for (var nodeEnd; node; ) {\n if (3 === node.nodeType) {\n nodeEnd = root + node.textContent.length;\n if (root <= offset && nodeEnd >= offset)\n return { node: node, offset: offset - root };\n root = nodeEnd;\n }\n a: {\n for (; node; ) {\n if (node.nextSibling) {\n node = node.nextSibling;\n break a;\n }\n node = node.parentNode;\n }\n node = void 0;\n }\n node = getLeafNode(node);\n }\n}\nfunction containsNode(outerNode, innerNode) {\n return outerNode && innerNode\n ? outerNode === innerNode\n ? !0\n : outerNode && 3 === outerNode.nodeType\n ? !1\n : innerNode && 3 === innerNode.nodeType\n ? containsNode(outerNode, innerNode.parentNode)\n : \"contains\" in outerNode\n ? outerNode.contains(innerNode)\n : outerNode.compareDocumentPosition\n ? !!(outerNode.compareDocumentPosition(innerNode) & 16)\n : !1\n : !1;\n}\nfunction getActiveElementDeep(containerInfo) {\n containerInfo =\n null != containerInfo &&\n null != containerInfo.ownerDocument &&\n null != containerInfo.ownerDocument.defaultView\n ? containerInfo.ownerDocument.defaultView\n : window;\n for (\n var element = getActiveElement(containerInfo.document);\n element instanceof containerInfo.HTMLIFrameElement;\n\n ) {\n try {\n var JSCompiler_inline_result =\n \"string\" === typeof element.contentWindow.location.href;\n } catch (err) {\n JSCompiler_inline_result = !1;\n }\n if (JSCompiler_inline_result) containerInfo = element.contentWindow;\n else break;\n element = getActiveElement(containerInfo.document);\n }\n return element;\n}\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return (\n nodeName &&\n ((\"input\" === nodeName &&\n (\"text\" === elem.type ||\n \"search\" === elem.type ||\n \"tel\" === elem.type ||\n \"url\" === elem.type ||\n \"password\" === elem.type)) ||\n \"textarea\" === nodeName ||\n \"true\" === elem.contentEditable)\n );\n}\nvar skipSelectionChangeEvent =\n canUseDOM && \"documentMode\" in document && 11 >= document.documentMode,\n activeElement = null,\n activeElementInst = null,\n lastSelection = null,\n mouseDown = !1;\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n var doc =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget.document\n : 9 === nativeEventTarget.nodeType\n ? nativeEventTarget\n : nativeEventTarget.ownerDocument;\n mouseDown ||\n null == activeElement ||\n activeElement !== getActiveElement(doc) ||\n ((doc = activeElement),\n \"selectionStart\" in doc && hasSelectionCapabilities(doc)\n ? (doc = { start: doc.selectionStart, end: doc.selectionEnd })\n : ((doc = (\n (doc.ownerDocument && doc.ownerDocument.defaultView) ||\n window\n ).getSelection()),\n (doc = {\n anchorNode: doc.anchorNode,\n anchorOffset: doc.anchorOffset,\n focusNode: doc.focusNode,\n focusOffset: doc.focusOffset\n })),\n (lastSelection && shallowEqual(lastSelection, doc)) ||\n ((lastSelection = doc),\n (doc = accumulateTwoPhaseListeners(activeElementInst, \"onSelect\")),\n 0 < doc.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onSelect\",\n \"select\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: doc }),\n (nativeEvent.target = activeElement))));\n}\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\" + styleProp] = \"webkit\" + eventName;\n prefixes[\"Moz\" + styleProp] = \"moz\" + eventName;\n return prefixes;\n}\nvar vendorPrefixes = {\n animationend: makePrefixMap(\"Animation\", \"AnimationEnd\"),\n animationiteration: makePrefixMap(\"Animation\", \"AnimationIteration\"),\n animationstart: makePrefixMap(\"Animation\", \"AnimationStart\"),\n transitionrun: makePrefixMap(\"Transition\", \"TransitionRun\"),\n transitionstart: makePrefixMap(\"Transition\", \"TransitionStart\"),\n transitioncancel: makePrefixMap(\"Transition\", \"TransitionCancel\"),\n transitionend: makePrefixMap(\"Transition\", \"TransitionEnd\")\n },\n prefixedEventNames = {},\n style = {};\ncanUseDOM &&\n ((style = document.createElement(\"div\").style),\n \"AnimationEvent\" in window ||\n (delete vendorPrefixes.animationend.animation,\n delete vendorPrefixes.animationiteration.animation,\n delete vendorPrefixes.animationstart.animation),\n \"TransitionEvent\" in window ||\n delete vendorPrefixes.transitionend.transition);\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];\n if (!vendorPrefixes[eventName]) return eventName;\n var prefixMap = vendorPrefixes[eventName],\n styleProp;\n for (styleProp in prefixMap)\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)\n return (prefixedEventNames[eventName] = prefixMap[styleProp]);\n return eventName;\n}\nvar ANIMATION_END = getVendorPrefixedEventName(\"animationend\"),\n ANIMATION_ITERATION = getVendorPrefixedEventName(\"animationiteration\"),\n ANIMATION_START = getVendorPrefixedEventName(\"animationstart\"),\n TRANSITION_RUN = getVendorPrefixedEventName(\"transitionrun\"),\n TRANSITION_START = getVendorPrefixedEventName(\"transitionstart\"),\n TRANSITION_CANCEL = getVendorPrefixedEventName(\"transitioncancel\"),\n TRANSITION_END = getVendorPrefixedEventName(\"transitionend\"),\n topLevelEventsToReactNames = new Map(),\n simpleEventPluginEvents =\n \"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(\n \" \"\n );\nsimpleEventPluginEvents.push(\"scrollEnd\");\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0;\nfunction finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n}\nfunction enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n return 3 === sourceFiber.tag\n ? ((parent = sourceFiber.stateNode),\n isHidden &&\n null !== update &&\n ((isHidden = 31 - clz32(lane)),\n (sourceFiber = parent.hiddenUpdates),\n (alternate = sourceFiber[isHidden]),\n null === alternate\n ? (sourceFiber[isHidden] = [update])\n : alternate.push(update),\n (update.lane = lane | 536870912)),\n parent)\n : null;\n}\nfunction getRootForUpdatedFiber(sourceFiber) {\n if (50 < nestedUpdateCount)\n throw (\n ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(formatProdErrorMessage(185)))\n );\n for (var parent = sourceFiber.return; null !== parent; )\n (sourceFiber = parent), (parent = sourceFiber.return);\n return 3 === sourceFiber.tag ? sourceFiber.stateNode : null;\n}\nvar emptyContextObject = {};\nfunction FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n}\nfunction createFiberImplClass(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n}\nfunction shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n}\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiberImplClass(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 65011712;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : { lanes: pendingProps.lanes, firstContext: pendingProps.firstContext };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n return workInProgress;\n}\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 65011714;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext\n }));\n return workInProgress;\n}\nfunction createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n) {\n var fiberTag = 0;\n owner = type;\n if (\"function\" === typeof type) shouldConstruct(type) && (fiberTag = 1);\n else if (\"string\" === typeof type)\n fiberTag = isHostHoistableType(\n type,\n pendingProps,\n contextStackCursor.current\n )\n ? 26\n : \"html\" === type || \"head\" === type || \"body\" === type\n ? 27\n : 5;\n else\n a: switch (type) {\n case REACT_ACTIVITY_TYPE:\n return (\n (type = createFiberImplClass(31, pendingProps, key, mode)),\n (type.elementType = REACT_ACTIVITY_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 24;\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiberImplClass(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiberImplClass(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiberImplClass(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n fiberTag = 29;\n pendingProps = Error(\n formatProdErrorMessage(130, null === type ? \"null\" : typeof type, \"\")\n );\n owner = null;\n }\n key = createFiberImplClass(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiberImplClass(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n}\nfunction createFiberFromText(content, mode, lanes) {\n content = createFiberImplClass(6, content, null, mode);\n content.lanes = lanes;\n return content;\n}\nfunction createFiberFromDehydratedFragment(dehydratedNode) {\n var fiber = createFiberImplClass(18, null, null, 0);\n fiber.stateNode = dehydratedNode;\n return fiber;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n mode = createFiberImplClass(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n}\nvar CapturedStacks = new WeakMap();\nfunction createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n}\nvar forkStack = [],\n forkStackIndex = 0,\n treeForkProvider = null,\n treeForkCount = 0,\n idStack = [],\n idStackIndex = 0,\n treeContextProvider = null,\n treeContextId = 1,\n treeContextOverflow = \"\";\nfunction pushTreeFork(workInProgress, totalChildren) {\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n workInProgress = treeContextOverflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n treeContextId =\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit;\n treeContextOverflow = length + workInProgress;\n } else\n (treeContextId =\n (1 << length) | (index << baseLength) | baseIdWithLeadingBit),\n (treeContextOverflow = workInProgress);\n}\nfunction pushMaterializedTreeId(workInProgress) {\n null !== workInProgress.return &&\n (pushTreeFork(workInProgress, 1), pushTreeId(workInProgress, 1, 0));\n}\nfunction popTreeContext(workInProgress) {\n for (; workInProgress === treeForkProvider; )\n (treeForkProvider = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null),\n (treeForkCount = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null);\n for (; workInProgress === treeContextProvider; )\n (treeContextProvider = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextOverflow = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextId = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null);\n}\nfunction restoreSuspendedTreeContext(workInProgress, suspendedContext) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextId = suspendedContext.id;\n treeContextOverflow = suspendedContext.overflow;\n treeContextProvider = workInProgress;\n}\nvar hydrationParentFiber = null,\n nextHydratableInstance = null,\n isHydrating = !1,\n hydrationErrors = null,\n rootOrSingletonContext = !1,\n HydrationMismatchException = Error(formatProdErrorMessage(519));\nfunction throwOnHydrationMismatch(fiber) {\n var error = Error(\n formatProdErrorMessage(\n 418,\n 1 < arguments.length && void 0 !== arguments[1] && arguments[1]\n ? \"text\"\n : \"HTML\",\n \"\"\n )\n );\n queueHydrationError(createCapturedValueAtFiber(error, fiber));\n throw HydrationMismatchException;\n}\nfunction prepareToHydrateHostInstance(fiber) {\n var instance = fiber.stateNode,\n type = fiber.type,\n props = fiber.memoizedProps;\n instance[internalInstanceKey] = fiber;\n instance[internalPropsKey] = props;\n switch (type) {\n case \"dialog\":\n listenToNonDelegatedEvent(\"cancel\", instance);\n listenToNonDelegatedEvent(\"close\", instance);\n break;\n case \"iframe\":\n case \"object\":\n case \"embed\":\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"video\":\n case \"audio\":\n for (type = 0; type < mediaEventTypes.length; type++)\n listenToNonDelegatedEvent(mediaEventTypes[type], instance);\n break;\n case \"source\":\n listenToNonDelegatedEvent(\"error\", instance);\n break;\n case \"img\":\n case \"image\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", instance);\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", instance);\n break;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n initInput(\n instance,\n props.value,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name,\n !0\n );\n break;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n break;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", instance),\n initTextarea(instance, props.value, props.defaultValue, props.children);\n }\n type = props.children;\n (\"string\" !== typeof type &&\n \"number\" !== typeof type &&\n \"bigint\" !== typeof type) ||\n instance.textContent === \"\" + type ||\n !0 === props.suppressHydrationWarning ||\n checkForUnmatchedText(instance.textContent, type)\n ? (null != props.popover &&\n (listenToNonDelegatedEvent(\"beforetoggle\", instance),\n listenToNonDelegatedEvent(\"toggle\", instance)),\n null != props.onScroll && listenToNonDelegatedEvent(\"scroll\", instance),\n null != props.onScrollEnd &&\n listenToNonDelegatedEvent(\"scrollend\", instance),\n null != props.onClick && (instance.onclick = noop$1),\n (instance = !0))\n : (instance = !1);\n instance || throwOnHydrationMismatch(fiber, !0);\n}\nfunction popToNextHostParent(fiber) {\n for (hydrationParentFiber = fiber.return; hydrationParentFiber; )\n switch (hydrationParentFiber.tag) {\n case 5:\n case 31:\n case 13:\n rootOrSingletonContext = !1;\n return;\n case 27:\n case 3:\n rootOrSingletonContext = !0;\n return;\n default:\n hydrationParentFiber = hydrationParentFiber.return;\n }\n}\nfunction popHydrationState(fiber) {\n if (fiber !== hydrationParentFiber) return !1;\n if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = !0), !1;\n var tag = fiber.tag,\n JSCompiler_temp;\n if ((JSCompiler_temp = 3 !== tag && 27 !== tag)) {\n if ((JSCompiler_temp = 5 === tag))\n (JSCompiler_temp = fiber.type),\n (JSCompiler_temp =\n !(\"form\" !== JSCompiler_temp && \"button\" !== JSCompiler_temp) ||\n shouldSetTextContent(fiber.type, fiber.memoizedProps));\n JSCompiler_temp = !JSCompiler_temp;\n }\n JSCompiler_temp && nextHydratableInstance && throwOnHydrationMismatch(fiber);\n popToNextHostParent(fiber);\n if (13 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterHydrationBoundary(fiber);\n } else if (31 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterHydrationBoundary(fiber);\n } else\n 27 === tag\n ? ((tag = nextHydratableInstance),\n isSingletonScope(fiber.type)\n ? ((fiber = previousHydratableOnEnteringScopedSingleton),\n (previousHydratableOnEnteringScopedSingleton = null),\n (nextHydratableInstance = fiber))\n : (nextHydratableInstance = tag))\n : (nextHydratableInstance = hydrationParentFiber\n ? getNextHydratable(fiber.stateNode.nextSibling)\n : null);\n return !0;\n}\nfunction resetHydrationState() {\n nextHydratableInstance = hydrationParentFiber = null;\n isHydrating = !1;\n}\nfunction upgradeHydrationErrorsToRecoverable() {\n var queuedErrors = hydrationErrors;\n null !== queuedErrors &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = queuedErrors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n queuedErrors\n ),\n (hydrationErrors = null));\n return queuedErrors;\n}\nfunction queueHydrationError(error) {\n null === hydrationErrors\n ? (hydrationErrors = [error])\n : hydrationErrors.push(error);\n}\nvar valueCursor = createCursor(null),\n currentlyRenderingFiber$1 = null,\n lastContextDependency = null;\nfunction pushProvider(providerFiber, context, nextValue) {\n push(valueCursor, context._currentValue);\n context._currentValue = nextValue;\n}\nfunction popProvider(context) {\n context._currentValue = valueCursor.current;\n pop(valueCursor);\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n}\nfunction propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber) throw Error(formatProdErrorMessage(341));\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress);\n nextFiber = null;\n } else nextFiber = fiber.child;\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n}\nfunction propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current ? current.push(context) : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n}\nfunction checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n if (\n !objectIs(\n currentDependencies.context._currentValue,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n}\nfunction prepareToReadContext(workInProgress) {\n currentlyRenderingFiber$1 = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n}\nfunction readContext(context) {\n return readContextForConsumer(currentlyRenderingFiber$1, context);\n}\nfunction readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n}\nfunction readContextForConsumer(consumer, context) {\n var value = context._currentValue;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer) throw Error(formatProdErrorMessage(308));\n lastContextDependency = context;\n consumer.dependencies = { lanes: 0, firstContext: context };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n}\nvar AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$2 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n };\nfunction createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n}\nfunction releaseCache(cache) {\n cache.refCount--;\n 0 === cache.refCount &&\n scheduleCallback$2(NormalPriority, function () {\n cache.controller.abort();\n });\n}\nvar currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null;\nfunction entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n}\nfunction pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n null !== currentEntangledListeners\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n}\nfunction chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n}\nvar prevOnStartTransitionFinish = ReactSharedInternals.S;\nReactSharedInternals.S = function (transition, returnValue) {\n globalMostRecentTransitionTime = now();\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n};\nvar resumedCache = createCursor(null);\nfunction peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n}\nfunction pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current)\n : push(resumedCache, prevCachePool.pool);\n}\nfunction getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : { parent: CacheContext._currentValue, pool: cacheFromPool };\n}\nvar SuspenseException = Error(formatProdErrorMessage(460)),\n SuspenseyCommitException = Error(formatProdErrorMessage(474)),\n SuspenseActionException = Error(formatProdErrorMessage(542)),\n noopSuspenseyCommitThenable = { then: function () {} };\nfunction isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n}\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop$1, noop$1), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n default:\n if (\"string\" === typeof thenable.status) thenable.then(noop$1, noop$1);\n else {\n thenableState = workInProgressRoot;\n if (null !== thenableState && 100 < thenableState.shellSuspendCounter)\n throw Error(formatProdErrorMessage(482));\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nfunction resolveLazy(lazyType) {\n try {\n var init = lazyType._init;\n return init(lazyType._payload);\n } catch (x) {\n if (null !== x && \"object\" === typeof x && \"function\" === typeof x.then)\n throw ((suspendedThenable = x), SuspenseException);\n throw x;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction checkIfUseWrappedInAsyncCatch(rejectedReason) {\n if (\n rejectedReason === SuspenseException ||\n rejectedReason === SuspenseActionException\n )\n throw Error(formatProdErrorMessage(483));\n}\nvar thenableState$1 = null,\n thenableIndexCounter$1 = 0;\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = []);\n return trackUsedThenable(thenableState$1, thenable, index);\n}\nfunction coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n}\nfunction throwOnInvalidObjectTypeImpl(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(formatProdErrorMessage(525));\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber\n )\n );\n}\nfunction createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]), (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? existingChildren.set(currentFirstChild.key, currentFirstChild)\n : existingChildren.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 67108866), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 67108866;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 67108866);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n current\n );\n current = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n coerceRef(current, element);\n current.return = returnFiber;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n createChild(returnFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"function\" === typeof newChild.then)\n return createChild(returnFiber, unwrapThenable(newChild), lanes);\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n updateSlot(returnFiber, oldFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n if (\"function\" === typeof newChild.then)\n return updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n if (\"function\" === typeof newChild.then)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren) throw Error(formatProdErrorMessage(151));\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes)),\n null !== step &&\n (shouldTrackSideEffects &&\n null !== step.alternate &&\n oldFiber.delete(null === step.key ? newIdx : step.key),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.children || []);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild)) {\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key) throw Error(formatProdErrorMessage(150));\n newChild = key.call(newChild);\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n }\n if (\"function\" === typeof newChild.then)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (lanes = useFiber(currentFirstChild, newChild)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)),\n (lanes.return = returnFiber),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n try {\n thenableIndexCounter$1 = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState$1 = null;\n return firstChildFiber;\n } catch (x) {\n if (x === SuspenseException || x === SuspenseActionException) throw x;\n var fiber = createFiberImplClass(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n return fiber;\n } finally {\n }\n };\n}\nvar reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n hasForceUpdate = !1;\nfunction initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n}\nfunction createUpdate(lane) {\n return { lane: lane, tag: 0, payload: null, callback: null, next: null };\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n update = getRootForUpdatedFiber(fiber);\n markUpdateLaneFromFiberToRoot(fiber, null, lane);\n return update;\n }\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194048))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n}\nvar didReadFromEntangledAsyncAction = !1;\nfunction suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n}\nfunction processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance$jscomp$0,\n renderLanes\n) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n var instance = instance$jscomp$0;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(instance, newState, updateLane);\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(instance, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress$jscomp$0.flags |= 64),\n isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n}\nfunction callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(formatProdErrorMessage(191, callback));\n callback.call(context);\n}\nfunction commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n}\nvar currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0);\nfunction pushHiddenContext(fiber, context) {\n fiber = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, fiber);\n push(currentTreeHiddenStackCursor, context);\n entangledRenderLanes = fiber | context.baseLanes;\n}\nfunction reuseHiddenContextOnStack() {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current);\n}\nfunction popHiddenContext() {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor);\n pop(prevEntangledRenderLanesCursor);\n}\nvar suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null;\nfunction pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n push(suspenseHandlerStackCursor, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n}\nfunction pushDehydratedActivitySuspenseHandler(fiber) {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, fiber);\n null === shellBoundary && (shellBoundary = fiber);\n}\nfunction pushOffscreenSuspenseHandler(fiber) {\n 22 === fiber.tag\n ? (push(suspenseStackCursor, suspenseStackCursor.current),\n push(suspenseHandlerStackCursor, fiber),\n null === shellBoundary && (shellBoundary = fiber))\n : reuseSuspenseHandlerOnStack(fiber);\n}\nfunction reuseSuspenseHandlerOnStack() {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n}\nfunction popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor);\n}\nvar suspenseStackCursor = createCursor(0);\nfunction findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (\n null !== state &&\n ((state = state.dehydrated),\n null === state ||\n isSuspenseInstancePending(state) ||\n isSuspenseInstanceFallback(state))\n )\n return node;\n } else if (\n 19 === node.tag &&\n (\"forwards\" === node.memoizedProps.revealOrder ||\n \"backwards\" === node.memoizedProps.revealOrder ||\n \"unstable_legacy-backwards\" === node.memoizedProps.revealOrder ||\n \"together\" === node.memoizedProps.revealOrder)\n ) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n}\nvar renderLanes = 0,\n currentlyRenderingFiber = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n localIdCounter = 0,\n thenableIndexCounter = 0,\n thenableState = null,\n globalClientIdCounter = 0;\nfunction throwInvalidHookError() {\n throw Error(formatProdErrorMessage(321));\n}\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n}\nfunction renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n nextRenderLanes = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (nextRenderLanes = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n finishRenderingHooks(current);\n return nextRenderLanes;\n}\nfunction finishRenderingHooks(current) {\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter = 0;\n thenableState = null;\n if (didRenderTooFewHooks) throw Error(formatProdErrorMessage(300));\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n}\nfunction renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);\n thenableIndexCounter = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n numberOfReRenders += 1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n ReactSharedInternals.H = HooksDispatcherOnRerender;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n}\nfunction TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher &&\n (currentlyRenderingFiber.flags |= 1024);\n return maybeThenable;\n}\nfunction checkDidRenderIdHook() {\n var didRenderIdHook = 0 !== localIdCounter;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags &= -2053;\n current.lanes &= ~lanes;\n}\nfunction resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter = localIdCounter = 0;\n thenableState = null;\n}\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n}\nfunction updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber.alternate)\n throw Error(formatProdErrorMessage(467));\n throw Error(formatProdErrorMessage(310));\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n}\nfunction createFunctionComponentUpdateQueue() {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n}\nfunction useThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n thenable = trackUsedThenable(thenableState, thenable, index);\n index = currentlyRenderingFiber;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null === index || null === index.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate));\n return thenable;\n}\nfunction use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n}\nfunction useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n memoCache.index++;\n return updateQueue;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n}\nfunction updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction$60 = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n gesture: null,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$60 = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$60 = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n gesture: null,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n gesture: update.gesture,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction$60 &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n}\nfunction rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n}\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = updateWorkInProgressHook(),\n isHydrating$jscomp$0 = isHydrating;\n if (isHydrating$jscomp$0) {\n if (void 0 === getServerSnapshot) throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else getServerSnapshot = getSnapshot();\n var snapshotChanged = !objectIs(\n (currentHook || hook).memoizedState,\n getServerSnapshot\n );\n snapshotChanged &&\n ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, hook, subscribe), [\n subscribe\n ]);\n if (\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1)\n ) {\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n updateStoreInstance.bind(\n null,\n fiber,\n hook,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349));\n isHydrating$jscomp$0 ||\n 0 !== (renderLanes & 127) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n return getServerSnapshot;\n}\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n}\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n}\nfunction subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n}\nfunction mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n}\nfunction updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n}\nfunction dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n) {\n if (isRenderPhaseUpdate(fiber)) throw Error(formatProdErrorMessage(485));\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n}\nfunction runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n } else\n try {\n (prevTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, prevTransition);\n } catch (error$66) {\n onActionError(actionQueue, node, error$66);\n }\n}\nfunction handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n )\n : onActionSuccess(actionQueue, node, returnValue);\n}\nfunction onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n}\nfunction onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n}\nfunction notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n}\nfunction actionStateReducer(oldState, newState) {\n return newState;\n}\nfunction mountActionState(action, initialStateProp) {\n if (isHydrating) {\n var ssrFormState = workInProgressRoot.formState;\n if (null !== ssrFormState) {\n a: {\n var JSCompiler_inline_result = currentlyRenderingFiber;\n if (isHydrating) {\n if (nextHydratableInstance) {\n b: {\n var JSCompiler_inline_result$jscomp$0 = nextHydratableInstance;\n for (\n var inRootOrSingleton = rootOrSingletonContext;\n 8 !== JSCompiler_inline_result$jscomp$0.nodeType;\n\n ) {\n if (!inRootOrSingleton) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n JSCompiler_inline_result$jscomp$0 = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n if (null === JSCompiler_inline_result$jscomp$0) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n }\n inRootOrSingleton = JSCompiler_inline_result$jscomp$0.data;\n JSCompiler_inline_result$jscomp$0 =\n \"F!\" === inRootOrSingleton || \"F\" === inRootOrSingleton\n ? JSCompiler_inline_result$jscomp$0\n : null;\n }\n if (JSCompiler_inline_result$jscomp$0) {\n nextHydratableInstance = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n JSCompiler_inline_result =\n \"F!\" === JSCompiler_inline_result$jscomp$0.data;\n break a;\n }\n }\n throwOnHydrationMismatch(JSCompiler_inline_result);\n }\n JSCompiler_inline_result = !1;\n }\n JSCompiler_inline_result && (initialStateProp = ssrFormState[0]);\n }\n }\n ssrFormState = mountWorkInProgressHook();\n ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;\n JSCompiler_inline_result = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n ssrFormState.queue = JSCompiler_inline_result;\n ssrFormState = dispatchSetState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result\n );\n JSCompiler_inline_result.dispatch = ssrFormState;\n JSCompiler_inline_result = mountStateImpl(!1);\n inRootOrSingleton = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !1,\n JSCompiler_inline_result.queue\n );\n JSCompiler_inline_result = mountWorkInProgressHook();\n JSCompiler_inline_result$jscomp$0 = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n JSCompiler_inline_result.queue = JSCompiler_inline_result$jscomp$0;\n ssrFormState = dispatchActionState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result$jscomp$0,\n inRootOrSingleton,\n ssrFormState\n );\n JSCompiler_inline_result$jscomp$0.dispatch = ssrFormState;\n JSCompiler_inline_result.memoizedState = action;\n return [initialStateProp, ssrFormState, !1];\n}\nfunction updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n}\nfunction updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n if (\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n )\n try {\n var state = useThenable(currentStateHook);\n } catch (x) {\n if (x === SuspenseException) throw SuspenseActionException;\n throw x;\n }\n else state = currentStateHook;\n currentStateHook = updateWorkInProgressHook();\n var actionQueue = currentStateHook.queue,\n dispatch = actionQueue.dispatch;\n action !== currentStateHook.memoizedState &&\n ((currentlyRenderingFiber.flags |= 2048),\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n actionStateActionEffect.bind(null, actionQueue, action),\n null\n ));\n return [state, dispatch, stateHook];\n}\nfunction actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n}\nfunction rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n}\nfunction pushSimpleEffect(tag, inst, create, deps) {\n tag = { tag: tag, create: create, deps: deps, inst: inst, next: null };\n inst = currentlyRenderingFiber.updateQueue;\n null === inst &&\n ((inst = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = inst));\n create = inst.lastEffect;\n null === create\n ? (inst.lastEffect = tag.next = tag)\n : ((deps = create.next),\n (create.next = tag),\n (tag.next = deps),\n (inst.lastEffect = tag));\n return tag;\n}\nfunction updateRef() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n currentlyRenderingFiber.flags |= fiberFlags;\n hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n { destroy: void 0 },\n create,\n void 0 === deps ? null : deps\n );\n}\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps))\n : ((currentlyRenderingFiber.flags |= fiberFlags),\n (hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n inst,\n create,\n deps\n )));\n}\nfunction mountEffect(create, deps) {\n mountEffectImpl(8390656, 8, create, deps);\n}\nfunction updateEffect(create, deps) {\n updateEffectImpl(2048, 8, create, deps);\n}\nfunction useEffectEventImpl(payload) {\n currentlyRenderingFiber.flags |= 4;\n var componentUpdateQueue = currentlyRenderingFiber.updateQueue;\n if (null === componentUpdateQueue)\n (componentUpdateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = componentUpdateQueue),\n (componentUpdateQueue.events = [payload]);\n else {\n var events = componentUpdateQueue.events;\n null === events\n ? (componentUpdateQueue.events = [payload])\n : events.push(payload);\n }\n}\nfunction updateEvent(callback) {\n var ref = updateWorkInProgressHook().memoizedState;\n useEffectEventImpl({ ref: ref, nextImpl: callback });\n return function () {\n if (0 !== (executionContext & 2)) throw Error(formatProdErrorMessage(440));\n return ref.impl.apply(void 0, arguments);\n };\n}\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n}\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n}\nfunction imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n}\nfunction updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(4, 4, imperativeHandleEffect.bind(null, create, ref), deps);\n}\nfunction mountDebugValue() {}\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n}\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n}\nfunction mountDeferredValueImpl(hook, value, initialValue) {\n if (\n void 0 === initialValue ||\n (0 !== (renderLanes & 1073741824) &&\n 0 === (workInProgressRootRenderLanes & 261930))\n )\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n}\nfunction updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (\n 0 === (renderLanes & 42) ||\n (0 !== (renderLanes & 1073741824) &&\n 0 === (workInProgressRootRenderLanes & 261930))\n )\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n}\nfunction startTransition(fiber, queue, pendingState, finishedState, callback) {\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p =\n 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8;\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane()\n );\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction noop() {}\nfunction startHostTransition(formFiber, pendingState, action, formData) {\n if (5 !== formFiber.tag) throw Error(formatProdErrorMessage(476));\n var queue = ensureFormComponentIsStateful(formFiber).queue;\n startTransition(\n formFiber,\n queue,\n pendingState,\n sharedNotPendingObject,\n null === action\n ? noop\n : function () {\n requestFormReset$1(formFiber);\n return action(formData);\n }\n );\n}\nfunction ensureFormComponentIsStateful(formFiber) {\n var existingStateHook = formFiber.memoizedState;\n if (null !== existingStateHook) return existingStateHook;\n existingStateHook = {\n memoizedState: sharedNotPendingObject,\n baseState: sharedNotPendingObject,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: sharedNotPendingObject\n },\n next: null\n };\n var initialResetState = {};\n existingStateHook.next = {\n memoizedState: initialResetState,\n baseState: initialResetState,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialResetState\n },\n next: null\n };\n formFiber.memoizedState = existingStateHook;\n formFiber = formFiber.alternate;\n null !== formFiber && (formFiber.memoizedState = existingStateHook);\n return existingStateHook;\n}\nfunction requestFormReset$1(formFiber) {\n var stateHook = ensureFormComponentIsStateful(formFiber);\n null === stateHook.next && (stateHook = formFiber.alternate.memoizedState);\n dispatchSetStateInternal(\n formFiber,\n stateHook.next.queue,\n {},\n requestUpdateLane()\n );\n}\nfunction useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n}\nfunction updateId() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction updateRefresh() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction refreshCache(fiber) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane();\n fiber = createUpdate(lane);\n var root$69 = enqueueUpdate(provider, fiber, lane);\n null !== root$69 &&\n (scheduleUpdateOnFiber(root$69, provider, lane),\n entangleTransitions(root$69, provider, lane));\n provider = { cache: createCache() };\n fiber.payload = provider;\n return;\n }\n provider = provider.return;\n }\n}\nfunction dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane();\n action = {\n lane: lane,\n revertLane: 0,\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, action)\n : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action &&\n (scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane)));\n}\nfunction dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane();\n dispatchSetStateInternal(fiber, queue, action, lane);\n}\nfunction dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot && finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n}\nfunction dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender) throw Error(formatProdErrorMessage(479));\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n}\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber ||\n (null !== alternate && alternate === currentlyRenderingFiber)\n );\n}\nfunction enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =\n !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n}\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194048)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n useHostTransitionStatus: throwInvalidHookError,\n useFormState: throwInvalidHookError,\n useActionState: throwInvalidHookError,\n useOptimistic: throwInvalidHookError,\n useMemoCache: throwInvalidHookError,\n useCacheRefresh: throwInvalidHookError\n};\nContextOnlyDispatcher.useEffectEvent = throwInvalidHookError;\nvar HooksDispatcherOnMount = {\n readContext: readContext,\n use: use,\n useCallback: function (callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function (ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n mountEffectImpl(\n 4194308,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function (create, deps) {\n return mountEffectImpl(4194308, 4, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function (nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n },\n useReducer: function (reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function (initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: function (initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n },\n useTransition: function () {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = mountWorkInProgressHook();\n if (isHydrating) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else {\n getServerSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(formatProdErrorMessage(349));\n 0 !== (workInProgressRootRenderLanes & 127) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n hook.memoizedState = getServerSnapshot;\n var inst = { value: getServerSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n updateStoreInstance.bind(\n null,\n fiber,\n inst,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n return getServerSnapshot;\n },\n useId: function () {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix;\n if (isHydrating) {\n var JSCompiler_inline_result = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n JSCompiler_inline_result =\n (\n idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1))\n ).toString(32) + JSCompiler_inline_result;\n identifierPrefix =\n \"_\" + identifierPrefix + \"R_\" + JSCompiler_inline_result;\n JSCompiler_inline_result = localIdCounter++;\n 0 < JSCompiler_inline_result &&\n (identifierPrefix += \"H\" + JSCompiler_inline_result.toString(32));\n identifierPrefix += \"_\";\n } else\n (JSCompiler_inline_result = globalClientIdCounter++),\n (identifierPrefix =\n \"_\" +\n identifierPrefix +\n \"r_\" +\n JSCompiler_inline_result.toString(32) +\n \"_\");\n return (hook.memoizedState = identifierPrefix);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: mountActionState,\n useActionState: mountActionState,\n useOptimistic: function (passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: function () {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber\n ));\n },\n useEffectEvent: function (callback) {\n var hook = mountWorkInProgressHook(),\n ref = { impl: callback };\n hook.memoizedState = ref;\n return function () {\n if (0 !== (executionContext & 2))\n throw Error(formatProdErrorMessage(440));\n return ref.impl.apply(void 0, arguments);\n };\n }\n },\n HooksDispatcherOnUpdate = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function () {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: updateActionState,\n useActionState: updateActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n };\nHooksDispatcherOnUpdate.useEffectEvent = updateEvent;\nvar HooksDispatcherOnRerender = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function () {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: rerenderActionState,\n useActionState: rerenderActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n};\nHooksDispatcherOnRerender.useEffectEvent = updateEvent;\nfunction applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n}\nvar classComponentUpdater = {\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 2;\n void 0 !== callback && null !== callback && (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n }\n};\nfunction checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n}\nfunction callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n}\nfunction resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var propName$73 in Component)\n void 0 === newProps[propName$73] &&\n (newProps[propName$73] = Component[propName$73]);\n }\n return newProps;\n}\nfunction defaultOnUncaughtError(error) {\n reportGlobalError(error);\n}\nfunction defaultOnCaughtError(error) {\n console.error(error);\n}\nfunction defaultOnRecoverableError(error) {\n reportGlobalError(error);\n}\nfunction logUncaughtError(root, errorInfo) {\n try {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack });\n } catch (e$74) {\n setTimeout(function () {\n throw e$74;\n });\n }\n}\nfunction logCaughtError(root, boundary, errorInfo) {\n try {\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e$75) {\n setTimeout(function () {\n throw e$75;\n });\n }\n}\nfunction createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n lane.payload = { element: null };\n lane.callback = function () {\n logUncaughtError(root, errorInfo);\n };\n return lane;\n}\nfunction createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n return lane;\n}\nfunction initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n}\nfunction throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n) {\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n returnFiber = sourceFiber.alternate;\n null !== returnFiber &&\n propagateParentContextChanges(\n returnFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n sourceFiber = suspenseHandlerStackCursor.current;\n if (null !== sourceFiber) {\n switch (sourceFiber.tag) {\n case 31:\n case 13:\n return (\n null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === sourceFiber.alternate &&\n 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3),\n (sourceFiber.flags &= -257),\n (sourceFiber.flags |= 65536),\n (sourceFiber.lanes = rootRenderLanes),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? (sourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n return (\n (sourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (sourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(formatProdErrorMessage(435, sourceFiber.tag));\n }\n attachPingListener(root, value, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return !1;\n }\n if (isHydrating)\n return (\n (returnFiber = suspenseHandlerStackCursor.current),\n null !== returnFiber\n ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256),\n (returnFiber.flags |= 65536),\n (returnFiber.lanes = rootRenderLanes),\n value !== HydrationMismatchException &&\n ((root = Error(formatProdErrorMessage(422), { cause: value })),\n queueHydrationError(createCapturedValueAtFiber(root, sourceFiber))))\n : (value !== HydrationMismatchException &&\n ((returnFiber = Error(formatProdErrorMessage(423), {\n cause: value\n })),\n queueHydrationError(\n createCapturedValueAtFiber(returnFiber, sourceFiber)\n )),\n (root = root.current.alternate),\n (root.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (root.lanes |= rootRenderLanes),\n (value = createCapturedValueAtFiber(value, sourceFiber)),\n (rootRenderLanes = createRootErrorUpdate(\n root.stateNode,\n value,\n rootRenderLanes\n )),\n enqueueCapturedUpdate(root, rootRenderLanes),\n 4 !== workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 2)),\n !1\n );\n var wrapperError = Error(formatProdErrorMessage(520), { cause: value });\n wrapperError = createCapturedValueAtFiber(wrapperError, sourceFiber);\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [wrapperError])\n : workInProgressRootConcurrentErrors.push(wrapperError);\n 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n sourceFiber = returnFiber;\n do {\n switch (sourceFiber.tag) {\n case 3:\n return (\n (sourceFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (sourceFiber.lanes |= root),\n (root = createRootErrorUpdate(sourceFiber.stateNode, value, root)),\n enqueueCapturedUpdate(sourceFiber, root),\n !1\n );\n case 1:\n if (\n ((returnFiber = sourceFiber.type),\n (wrapperError = sourceFiber.stateNode),\n 0 === (sourceFiber.flags & 128) &&\n (\"function\" === typeof returnFiber.getDerivedStateFromError ||\n (null !== wrapperError &&\n \"function\" === typeof wrapperError.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(wrapperError)))))\n )\n return (\n (sourceFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (sourceFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n sourceFiber,\n value\n ),\n enqueueCapturedUpdate(sourceFiber, rootRenderLanes),\n !1\n );\n }\n sourceFiber = sourceFiber.return;\n } while (null !== sourceFiber);\n return !1;\n}\nvar SelectiveHydrationException = Error(formatProdErrorMessage(461)),\n didReceiveUpdate = !1;\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n}\nfunction updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n key = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && key && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n}\nfunction updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n}\nfunction updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n nextProps\n) {\n var nextChildren = nextProps.children,\n prevState = null !== current ? current.memoizedState : null;\n null === current &&\n null === workInProgress.stateNode &&\n (workInProgress.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n });\n if (\"hidden\" === nextProps.mode) {\n if (0 !== (workInProgress.flags & 128)) {\n prevState =\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes;\n if (null !== current) {\n nextProps = workInProgress.child = current.child;\n for (nextChildren = 0; null !== nextProps; )\n (nextChildren =\n nextChildren | nextProps.lanes | nextProps.childLanes),\n (nextProps = nextProps.sibling);\n nextProps = nextChildren & ~prevState;\n } else (nextProps = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n prevState,\n renderLanes,\n nextProps\n );\n }\n if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (nextProps = workInProgress.lanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes,\n renderLanes,\n nextProps\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n reuseSuspenseHandlerOnStack(workInProgress));\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nfunction bailoutOffscreenComponent(current, workInProgress) {\n (null !== current && 22 === current.tag) ||\n null !== workInProgress.stateNode ||\n (workInProgress.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n });\n return workInProgress.sibling;\n}\nfunction deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes,\n remainingChildLanes\n) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : { parent: CacheContext._currentValue, pool: JSCompiler_inline_result };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack();\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n workInProgress.childLanes = remainingChildLanes;\n return null;\n}\nfunction mountActivityChildren(workInProgress, nextProps) {\n nextProps = mountWorkInProgressOffscreenFiber(\n { mode: nextProps.mode, children: nextProps.children },\n workInProgress.mode\n );\n nextProps.ref = workInProgress.ref;\n workInProgress.child = nextProps;\n nextProps.return = workInProgress;\n return nextProps;\n}\nfunction retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountActivityChildren(workInProgress, workInProgress.pendingProps);\n current.flags |= 2;\n popSuspenseHandler(workInProgress);\n workInProgress.memoizedState = null;\n return current;\n}\nfunction updateActivityComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n didSuspend = 0 !== (workInProgress.flags & 128);\n workInProgress.flags &= -129;\n if (null === current) {\n if (isHydrating) {\n if (\"hidden\" === nextProps.mode)\n return (\n (current = mountActivityChildren(workInProgress, nextProps)),\n (workInProgress.lanes = 536870912),\n bailoutOffscreenComponent(null, current)\n );\n pushDehydratedActivitySuspenseHandler(workInProgress);\n (current = nextHydratableInstance)\n ? ((current = canHydrateHydrationBoundary(\n current,\n rootOrSingletonContext\n )),\n (current = null !== current && \"&\" === current.data ? current : null),\n null !== current &&\n ((workInProgress.memoizedState = {\n dehydrated: current,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (renderLanes = createFiberFromDehydratedFragment(current)),\n (renderLanes.return = workInProgress),\n (workInProgress.child = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null)))\n : (current = null);\n if (null === current) throw throwOnHydrationMismatch(workInProgress);\n workInProgress.lanes = 536870912;\n return null;\n }\n return mountActivityChildren(workInProgress, nextProps);\n }\n var prevState = current.memoizedState;\n if (null !== prevState) {\n var dehydrated = prevState.dehydrated;\n pushDehydratedActivitySuspenseHandler(workInProgress);\n if (didSuspend)\n if (workInProgress.flags & 256)\n (workInProgress.flags &= -257),\n (workInProgress = retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n ));\n else if (null !== workInProgress.memoizedState)\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null);\n else throw Error(formatProdErrorMessage(558));\n else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (didSuspend = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || didSuspend)\n ) {\n nextProps = workInProgressRoot;\n if (\n null !== nextProps &&\n ((dehydrated = getBumpedLaneForHydration(nextProps, renderLanes)),\n 0 !== dehydrated && dehydrated !== prevState.retryLane)\n )\n throw (\n ((prevState.retryLane = dehydrated),\n enqueueConcurrentRenderForLane(current, dehydrated),\n scheduleUpdateOnFiber(nextProps, current, dehydrated),\n SelectiveHydrationException)\n );\n renderDidSuspendDelayIfPossible();\n workInProgress = retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n (current = prevState.treeContext),\n (nextHydratableInstance = getNextHydratable(dehydrated.nextSibling)),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n restoreSuspendedTreeContext(workInProgress, current),\n (workInProgress = mountActivityChildren(workInProgress, nextProps)),\n (workInProgress.flags |= 4096);\n return workInProgress;\n }\n current = createWorkInProgress(current.child, {\n mode: nextProps.mode,\n children: nextProps.children\n });\n current.ref = workInProgress.ref;\n workInProgress.child = current;\n current.return = workInProgress;\n return current;\n}\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 4194816);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(formatProdErrorMessage(284));\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 4194816;\n }\n}\nfunction updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n nextProps = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && nextProps && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n}\nfunction replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current);\n Component = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && Component && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode) {\n var context = emptyContextObject,\n contextType = Component.contextType;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (context = readContext(contextType));\n context = new Component(nextProps, context);\n workInProgress.memoizedState =\n null !== context.state && void 0 !== context.state ? context.state : null;\n context.updater = classComponentUpdater;\n workInProgress.stateNode = context;\n context._reactInternals = workInProgress;\n context = workInProgress.stateNode;\n context.props = nextProps;\n context.state = workInProgress.memoizedState;\n context.refs = {};\n initializeUpdateQueue(workInProgress);\n contextType = Component.contextType;\n context.context =\n \"object\" === typeof contextType && null !== contextType\n ? readContext(contextType)\n : emptyContextObject;\n context.state = workInProgress.memoizedState;\n contextType = Component.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n contextType,\n nextProps\n ),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof Component.getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n ((contextType = context.state),\n \"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount(),\n contextType !== context.state &&\n classComponentUpdater.enqueueReplaceState(context, context.state, null),\n processUpdateQueue(workInProgress, nextProps, context, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308);\n nextProps = !0;\n } else if (null === current) {\n context = workInProgress.stateNode;\n var unresolvedOldProps = workInProgress.memoizedProps,\n oldProps = resolveClassComponentProps(Component, unresolvedOldProps);\n context.props = oldProps;\n var oldContext = context.context,\n contextType$jscomp$0 = Component.contextType;\n contextType = emptyContextObject;\n \"object\" === typeof contextType$jscomp$0 &&\n null !== contextType$jscomp$0 &&\n (contextType = readContext(contextType$jscomp$0));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps;\n contextType$jscomp$0 =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== contextType) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n contextType\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n contextType\n ))\n ? (contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n (\"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount()),\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (context.props = nextProps),\n (context.state = oldContext),\n (context.context = contextType),\n (nextProps = oldProps))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (nextProps = !1));\n } else {\n context = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n contextType = workInProgress.memoizedProps;\n contextType$jscomp$0 = resolveClassComponentProps(Component, contextType);\n context.props = contextType$jscomp$0;\n getDerivedStateFromProps = workInProgress.pendingProps;\n oldState = context.context;\n oldContext = Component.contextType;\n oldProps = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (oldProps = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((contextType !== getDerivedStateFromProps || oldState !== oldProps) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n oldProps\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n contextType !== getDerivedStateFromProps ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType$jscomp$0 =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType$jscomp$0,\n nextProps,\n oldState,\n newState,\n oldProps\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof context.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof context.componentWillUpdate) ||\n (\"function\" === typeof context.componentWillUpdate &&\n context.componentWillUpdate(nextProps, newState, oldProps),\n \"function\" === typeof context.UNSAFE_componentWillUpdate &&\n context.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldProps\n )),\n \"function\" === typeof context.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof context.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (context.props = nextProps),\n (context.state = newState),\n (context.context = oldProps),\n (nextProps = contextType$jscomp$0))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n context = nextProps;\n markRef(current, workInProgress);\n nextProps = 0 !== (workInProgress.flags & 128);\n context || nextProps\n ? ((context = workInProgress.stateNode),\n (Component =\n nextProps && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : context.render()),\n (workInProgress.flags |= 1),\n null !== current && nextProps\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes),\n (workInProgress.memoizedState = context.state),\n (current = workInProgress.child))\n : (current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ));\n return current;\n}\nfunction mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n) {\n resetHydrationState();\n workInProgress.flags |= 256;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: 0,\n hydrationErrors: null\n};\nfunction mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n}\nfunction getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n}\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & 2));\n JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));\n JSCompiler_temp = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n if (isHydrating) {\n showFallback\n ? pushPrimaryTreeSuspenseHandler(workInProgress)\n : reuseSuspenseHandlerOnStack(workInProgress);\n (current = nextHydratableInstance)\n ? ((current = canHydrateHydrationBoundary(\n current,\n rootOrSingletonContext\n )),\n (current = null !== current && \"&\" !== current.data ? current : null),\n null !== current &&\n ((workInProgress.memoizedState = {\n dehydrated: current,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (renderLanes = createFiberFromDehydratedFragment(current)),\n (renderLanes.return = workInProgress),\n (workInProgress.child = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null)))\n : (current = null);\n if (null === current) throw throwOnHydrationMismatch(workInProgress);\n isSuspenseInstanceFallback(current)\n ? (workInProgress.lanes = 32)\n : (workInProgress.lanes = 536870912);\n return null;\n }\n var nextPrimaryChildren = nextProps.children;\n nextProps = nextProps.fallback;\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = workInProgress.mode),\n (nextPrimaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"hidden\", children: nextPrimaryChildren },\n showFallback\n )),\n (nextProps = createFiberFromFragment(\n nextProps,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextPrimaryChildren.sibling = nextProps),\n (workInProgress.child = nextPrimaryChildren),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState = mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n bailoutOffscreenComponent(null, nextProps)\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren);\n }\n var prevState = current.memoizedState;\n if (\n null !== prevState &&\n ((nextPrimaryChildren = prevState.dehydrated), null !== nextPrimaryChildren)\n ) {\n if (didSuspend)\n workInProgress.flags & 256\n ? (pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )))\n : null !== workInProgress.memoizedState\n ? (reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null))\n : (reuseSuspenseHandlerOnStack(workInProgress),\n (nextPrimaryChildren = nextProps.fallback),\n (showFallback = workInProgress.mode),\n (nextProps = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: nextProps.children },\n showFallback\n )),\n (nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2),\n (nextProps.return = workInProgress),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.sibling = nextPrimaryChildren),\n (workInProgress.child = nextProps),\n reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n ),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n (workInProgress = bailoutOffscreenComponent(null, nextProps)));\n else if (\n (pushPrimaryTreeSuspenseHandler(workInProgress),\n isSuspenseInstanceFallback(nextPrimaryChildren))\n ) {\n JSCompiler_temp =\n nextPrimaryChildren.nextSibling &&\n nextPrimaryChildren.nextSibling.dataset;\n if (JSCompiler_temp) var digest = JSCompiler_temp.dgst;\n JSCompiler_temp = digest;\n nextProps = Error(formatProdErrorMessage(419));\n nextProps.stack = \"\";\n nextProps.digest = JSCompiler_temp;\n queueHydrationError({ value: nextProps, source: null, stack: null });\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || JSCompiler_temp)\n ) {\n JSCompiler_temp = workInProgressRoot;\n if (\n null !== JSCompiler_temp &&\n ((nextProps = getBumpedLaneForHydration(JSCompiler_temp, renderLanes)),\n 0 !== nextProps && nextProps !== prevState.retryLane)\n )\n throw (\n ((prevState.retryLane = nextProps),\n enqueueConcurrentRenderForLane(current, nextProps),\n scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps),\n SelectiveHydrationException)\n );\n isSuspenseInstancePending(nextPrimaryChildren) ||\n renderDidSuspendDelayIfPossible();\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n isSuspenseInstancePending(nextPrimaryChildren)\n ? ((workInProgress.flags |= 192),\n (workInProgress.child = current.child),\n (workInProgress = null))\n : ((current = prevState.treeContext),\n (nextHydratableInstance = getNextHydratable(\n nextPrimaryChildren.nextSibling\n )),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n restoreSuspendedTreeContext(workInProgress, current),\n (workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n nextProps.children\n )),\n (workInProgress.flags |= 4096));\n return workInProgress;\n }\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (nextPrimaryChildren = nextProps.fallback),\n (showFallback = workInProgress.mode),\n (prevState = current.child),\n (digest = prevState.sibling),\n (nextProps = createWorkInProgress(prevState, {\n mode: \"hidden\",\n children: nextProps.children\n })),\n (nextProps.subtreeFlags = prevState.subtreeFlags & 65011712),\n null !== digest\n ? (nextPrimaryChildren = createWorkInProgress(\n digest,\n nextPrimaryChildren\n ))\n : ((nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2)),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextProps.sibling = nextPrimaryChildren),\n (workInProgress.child = nextProps),\n bailoutOffscreenComponent(null, nextProps),\n (nextProps = workInProgress.child),\n (nextPrimaryChildren = current.child.memoizedState),\n null === nextPrimaryChildren\n ? (nextPrimaryChildren = mountSuspenseOffscreenState(renderLanes))\n : ((showFallback = nextPrimaryChildren.cachePool),\n null !== showFallback\n ? ((prevState = CacheContext._currentValue),\n (showFallback =\n showFallback.parent !== prevState\n ? { parent: prevState, pool: prevState }\n : showFallback))\n : (showFallback = getSuspendedCache()),\n (nextPrimaryChildren = {\n baseLanes: nextPrimaryChildren.baseLanes | renderLanes,\n cachePool: showFallback\n })),\n (nextProps.memoizedState = nextPrimaryChildren),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n bailoutOffscreenComponent(current.child, nextProps)\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n renderLanes = current.child;\n current = renderLanes.sibling;\n renderLanes = createWorkInProgress(renderLanes, {\n mode: \"visible\",\n children: nextProps.children\n });\n renderLanes.return = workInProgress;\n renderLanes.sibling = null;\n null !== current &&\n ((JSCompiler_temp = workInProgress.deletions),\n null === JSCompiler_temp\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : JSCompiler_temp.push(current));\n workInProgress.child = renderLanes;\n workInProgress.memoizedState = null;\n return renderLanes;\n}\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n}\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode) {\n offscreenProps = createFiberImplClass(22, offscreenProps, null, mode);\n offscreenProps.lanes = 0;\n return offscreenProps;\n}\nfunction retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n}\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\nfunction initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode,\n treeForkCount\n) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode,\n treeForkCount: treeForkCount\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode),\n (renderState.treeForkCount = treeForkCount));\n}\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n nextProps = nextProps.children;\n var suspenseContext = suspenseStackCursor.current,\n shouldForceFallback = 0 !== (suspenseContext & 2);\n shouldForceFallback\n ? ((suspenseContext = (suspenseContext & 1) | 2),\n (workInProgress.flags |= 128))\n : (suspenseContext &= 1);\n push(suspenseStackCursor, suspenseContext);\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n nextProps = isHydrating ? treeForkCount : 0;\n if (!shouldForceFallback && null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child), (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode,\n nextProps\n );\n break;\n case \"backwards\":\n case \"unstable_legacy-backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode,\n nextProps\n );\n break;\n case \"together\":\n initSuspenseListRenderState(\n workInProgress,\n !1,\n null,\n null,\n void 0,\n nextProps\n );\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n}\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(formatProdErrorMessage(153));\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n}\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n}\nfunction attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n resetHydrationState();\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 31:\n if (null !== workInProgress.memoizedState)\n return (\n (workInProgress.flags |= 128),\n pushDehydratedActivitySuspenseHandler(workInProgress),\n null\n );\n break;\n case 13:\n var state$102 = workInProgress.memoizedState;\n if (null !== state$102) {\n if (null !== state$102.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n var didSuspendBefore = 0 !== (current.flags & 128);\n state$102 = 0 !== (renderLanes & workInProgress.childLanes);\n state$102 ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (state$102 = 0 !== (renderLanes & workInProgress.childLanes)));\n if (didSuspendBefore) {\n if (state$102)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n didSuspendBefore = workInProgress.memoizedState;\n null !== didSuspendBefore &&\n ((didSuspendBefore.rendering = null),\n (didSuspendBefore.tail = null),\n (didSuspendBefore.lastEffect = null));\n push(suspenseStackCursor, suspenseStackCursor.current);\n if (state$102) break;\n else return null;\n case 22:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n workInProgress.pendingProps\n )\n );\n case 24:\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\nfunction beginWork(current, workInProgress, renderLanes) {\n if (null !== current)\n if (current.memoizedProps !== workInProgress.pendingProps)\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else\n (didReceiveUpdate = !1),\n isHydrating &&\n 0 !== (workInProgress.flags & 1048576) &&\n pushTreeId(workInProgress, treeForkCount, workInProgress.index);\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n a: {\n var props = workInProgress.pendingProps;\n current = resolveLazy(workInProgress.elementType);\n workInProgress.type = current;\n if (\"function\" === typeof current)\n shouldConstruct(current)\n ? ((props = resolveClassComponentProps(current, props)),\n (workInProgress.tag = 1),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n )));\n else {\n if (void 0 !== current && null !== current) {\n var $$typeof = current.$$typeof;\n if ($$typeof === REACT_FORWARD_REF_TYPE) {\n workInProgress.tag = 11;\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n );\n break a;\n } else if ($$typeof === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n );\n break a;\n }\n }\n workInProgress = getComponentNameFromType(current) || current;\n throw Error(formatProdErrorMessage(306, workInProgress, \"\"));\n }\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (props = workInProgress.type),\n ($$typeof = resolveClassComponentProps(\n props,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n props,\n $$typeof,\n renderLanes\n )\n );\n case 3:\n a: {\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n if (null === current) throw Error(formatProdErrorMessage(387));\n props = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n $$typeof = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, props, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n props = nextState.cache;\n pushProvider(workInProgress, CacheContext, props);\n props !== prevState.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n props = nextState.element;\n if (prevState.isDehydrated)\n if (\n ((prevState = {\n element: props,\n isDehydrated: !1,\n cache: nextState.cache\n }),\n (workInProgress.updateQueue.baseState = prevState),\n (workInProgress.memoizedState = prevState),\n workInProgress.flags & 256)\n ) {\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n props,\n renderLanes\n );\n break a;\n } else if (props !== $$typeof) {\n $$typeof = createCapturedValueAtFiber(\n Error(formatProdErrorMessage(424)),\n workInProgress\n );\n queueHydrationError($$typeof);\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n props,\n renderLanes\n );\n break a;\n } else {\n current = workInProgress.stateNode.containerInfo;\n switch (current.nodeType) {\n case 9:\n current = current.body;\n break;\n default:\n current =\n \"HTML\" === current.nodeName\n ? current.ownerDocument.body\n : current;\n }\n nextHydratableInstance = getNextHydratable(current.firstChild);\n hydrationParentFiber = workInProgress;\n isHydrating = !0;\n hydrationErrors = null;\n rootOrSingletonContext = !0;\n renderLanes = mountChildFibers(\n workInProgress,\n null,\n props,\n renderLanes\n );\n for (workInProgress.child = renderLanes; renderLanes; )\n (renderLanes.flags = (renderLanes.flags & -3) | 4096),\n (renderLanes = renderLanes.sibling);\n }\n else {\n resetHydrationState();\n if (props === $$typeof) {\n workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n break a;\n }\n reconcileChildren(current, workInProgress, props, renderLanes);\n }\n workInProgress = workInProgress.child;\n }\n return workInProgress;\n case 26:\n return (\n markRef(current, workInProgress),\n null === current\n ? (renderLanes = getResource(\n workInProgress.type,\n null,\n workInProgress.pendingProps,\n null\n ))\n ? (workInProgress.memoizedState = renderLanes)\n : isHydrating ||\n ((renderLanes = workInProgress.type),\n (current = workInProgress.pendingProps),\n (props = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n ).createElement(renderLanes)),\n (props[internalInstanceKey] = workInProgress),\n (props[internalPropsKey] = current),\n setInitialProperties(props, renderLanes, current),\n markNodeAsHoistable(props),\n (workInProgress.stateNode = props))\n : (workInProgress.memoizedState = getResource(\n workInProgress.type,\n current.memoizedProps,\n workInProgress.pendingProps,\n current.memoizedState\n )),\n null\n );\n case 27:\n return (\n pushHostContext(workInProgress),\n null === current &&\n isHydrating &&\n ((props = workInProgress.stateNode =\n resolveSingletonInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current\n )),\n (hydrationParentFiber = workInProgress),\n (rootOrSingletonContext = !0),\n ($$typeof = nextHydratableInstance),\n isSingletonScope(workInProgress.type)\n ? ((previousHydratableOnEnteringScopedSingleton = $$typeof),\n (nextHydratableInstance = getNextHydratable(props.firstChild)))\n : (nextHydratableInstance = $$typeof)),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n markRef(current, workInProgress),\n null === current && (workInProgress.flags |= 4194304),\n workInProgress.child\n );\n case 5:\n if (null === current && isHydrating) {\n if (($$typeof = props = nextHydratableInstance))\n (props = canHydrateInstance(\n props,\n workInProgress.type,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== props\n ? ((workInProgress.stateNode = props),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = getNextHydratable(props.firstChild)),\n (rootOrSingletonContext = !1),\n ($$typeof = !0))\n : ($$typeof = !1);\n $$typeof || throwOnHydrationMismatch(workInProgress);\n }\n pushHostContext(workInProgress);\n $$typeof = workInProgress.type;\n prevState = workInProgress.pendingProps;\n nextState = null !== current ? current.memoizedProps : null;\n props = prevState.children;\n shouldSetTextContent($$typeof, prevState)\n ? (props = null)\n : null !== nextState &&\n shouldSetTextContent($$typeof, nextState) &&\n (workInProgress.flags |= 32);\n null !== workInProgress.memoizedState &&\n (($$typeof = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n (HostTransitionContext._currentValue = $$typeof));\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, props, renderLanes);\n return workInProgress.child;\n case 6:\n if (null === current && isHydrating) {\n if ((current = renderLanes = nextHydratableInstance))\n (renderLanes = canHydrateTextInstance(\n renderLanes,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== renderLanes\n ? ((workInProgress.stateNode = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (current = !0))\n : (current = !1);\n current || throwOnHydrationMismatch(workInProgress);\n }\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (props = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n props,\n renderLanes\n ))\n : reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return (\n (props = workInProgress.pendingProps),\n pushProvider(workInProgress, workInProgress.type, props.value),\n reconcileChildren(current, workInProgress, props.children, renderLanes),\n workInProgress.child\n );\n case 9:\n return (\n ($$typeof = workInProgress.type._context),\n (props = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress),\n ($$typeof = readContext($$typeof)),\n (props = props($$typeof)),\n (workInProgress.flags |= 1),\n reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 19:\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n case 31:\n return updateActivityComponent(current, workInProgress, renderLanes);\n case 22:\n return updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n workInProgress.pendingProps\n );\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (props = readContext(CacheContext)),\n null === current\n ? (($$typeof = peekCacheFromPool()),\n null === $$typeof &&\n (($$typeof = workInProgressRoot),\n (prevState = createCache()),\n ($$typeof.pooledCache = prevState),\n prevState.refCount++,\n null !== prevState && ($$typeof.pooledCacheLanes |= renderLanes),\n ($$typeof = prevState)),\n (workInProgress.memoizedState = { parent: props, cache: $$typeof }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, $$typeof))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n ($$typeof = current.memoizedState),\n (prevState = workInProgress.memoizedState),\n $$typeof.parent !== props\n ? (($$typeof = { parent: props, cache: props }),\n (workInProgress.memoizedState = $$typeof),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n $$typeof),\n pushProvider(workInProgress, CacheContext, props))\n : ((props = prevState.cache),\n pushProvider(workInProgress, CacheContext, props),\n props !== $$typeof.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction markUpdate(workInProgress) {\n workInProgress.flags |= 4;\n}\nfunction preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n oldProps,\n newProps,\n renderLanes\n) {\n if ((type = 0 !== (workInProgress.mode & 32))) type = !1;\n if (type) {\n if (\n ((workInProgress.flags |= 16777216),\n (renderLanes & 335544128) === renderLanes)\n )\n if (workInProgress.stateNode.complete) workInProgress.flags |= 8192;\n else if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n } else workInProgress.flags &= -16777217;\n}\nfunction preloadResourceAndSuspendIfNeeded(workInProgress, resource) {\n if (\"stylesheet\" !== resource.type || 0 !== (resource.state.loading & 4))\n workInProgress.flags &= -16777217;\n else if (((workInProgress.flags |= 16777216), !preloadResource(resource)))\n if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n}\nfunction scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n}\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (!isHydrating)\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var lastTailNode$106 = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (lastTailNode$106 = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === lastTailNode$106\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode$106.sibling = null);\n }\n}\nfunction bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$107 = completedWork.child; null !== child$107; )\n (newChildLanes |= child$107.lanes | child$107.childLanes),\n (subtreeFlags |= child$107.subtreeFlags & 65011712),\n (subtreeFlags |= child$107.flags & 65011712),\n (child$107.return = completedWork),\n (child$107 = child$107.sibling);\n else\n for (child$107 = completedWork.child; null !== child$107; )\n (newChildLanes |= child$107.lanes | child$107.childLanes),\n (subtreeFlags |= child$107.subtreeFlags),\n (subtreeFlags |= child$107.flags),\n (child$107.return = completedWork),\n (child$107 = child$107.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n renderLanes = workInProgress.stateNode;\n newProps = null;\n null !== current && (newProps = current.memoizedState.cache);\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048);\n popProvider(CacheContext);\n popHostContainer();\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null));\n if (null === current || null === current.child)\n popHydrationState(workInProgress)\n ? markUpdate(workInProgress)\n : null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n upgradeHydrationErrorsToRecoverable());\n bubbleProperties(workInProgress);\n return null;\n case 26:\n var type = workInProgress.type,\n nextResource = workInProgress.memoizedState;\n null === current\n ? (markUpdate(workInProgress),\n null !== nextResource\n ? (bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource))\n : (bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n null,\n newProps,\n renderLanes\n )))\n : nextResource\n ? nextResource !== current.memoizedState\n ? (markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217))\n : ((current = current.memoizedProps),\n current !== newProps && markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n current,\n newProps,\n renderLanes\n ));\n return null;\n case 27:\n popHostContext(workInProgress);\n renderLanes = rootInstanceStackCursor.current;\n type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((current = resolveSingletonInstance(type, newProps, renderLanes)),\n (workInProgress.stateNode = current),\n markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n return null;\n case 5:\n popHostContext(workInProgress);\n type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n nextResource = contextStackCursor.current;\n if (popHydrationState(workInProgress))\n prepareToHydrateHostInstance(workInProgress, nextResource);\n else {\n var ownerDocument = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n );\n switch (nextResource) {\n case 1:\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/2000/svg\",\n type\n );\n break;\n case 2:\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n type\n );\n break;\n default:\n switch (type) {\n case \"svg\":\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/2000/svg\",\n type\n );\n break;\n case \"math\":\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n type\n );\n break;\n case \"script\":\n nextResource = ownerDocument.createElement(\"div\");\n nextResource.innerHTML = \" + + diff --git a/viz/__init__.py b/viz/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/viz/renderer.py b/viz/renderer.py new file mode 100644 index 0000000000000000000000000000000000000000..b71cc04e934afce8b122ae03f10f27cd5fae890e --- /dev/null +++ b/viz/renderer.py @@ -0,0 +1,315 @@ +""" +Matplotlib-based crease pattern renderer. +Used for quick observability during training and debugging. +""" +import json +import numpy as np +import matplotlib.pyplot as plt +import matplotlib.patches as patches +from matplotlib.animation import FuncAnimation +from typing import Optional + + +# Design system colors +_COLOR_MOUNTAIN = "#f59e0b" +_COLOR_VALLEY = "#38bdf8" +_COLOR_PAPER = "#fafaf5" +_COLOR_PAPER_EDGE = "#e2e8f0" +_COLOR_AX_BG = "#1a1a2e" +_COLOR_ANCHOR = "#4a4a6a" +_COLOR_REWARD_BG = "#13131d" +_COLOR_GRID = "#2a2a3a" +_COLOR_VALIDITY = "#22d3ee" +_COLOR_PROGRESS = "#22c55e" +_COLOR_ECONOMY = "#a78bfa" + + +def draw_paper_state(ax, paper_state, target=None, step=None, reward=None): + """ + Draw the current crease pattern on a matplotlib axes object. + + Args: + ax: matplotlib axes + paper_state: PaperState instance + target: optional FOLD dict for target crease ghost overlay + step: step number for title (None = "Initial") + reward: unused, kept for signature compatibility + """ + ax.set_facecolor(_COLOR_AX_BG) + + # Unit square paper + square = patches.Rectangle( + (0, 0), 1, 1, + facecolor=_COLOR_PAPER, + edgecolor=_COLOR_PAPER_EDGE, + linewidth=1.5, + zorder=1, + ) + ax.add_patch(square) + + # Target ghost overlay + if target is not None: + verts = target["vertices_coords"] + edges_v = target["edges_vertices"] + edges_a = target["edges_assignment"] + for (v1, v2), assignment in zip(edges_v, edges_a): + if assignment not in ("M", "V"): + continue + x1, y1 = verts[v1] + x2, y2 = verts[v2] + color = _COLOR_MOUNTAIN if assignment == "M" else _COLOR_VALLEY + ax.plot( + [x1, x2], [y1, y2], + color=color, + alpha=0.2, + linewidth=1, + linestyle="--", + zorder=2, + ) + + # Current crease edges + for edge in paper_state.crease_edges(): + x1, y1 = edge["v1"] + x2, y2 = edge["v2"] + assignment = edge["assignment"] + color = _COLOR_MOUNTAIN if assignment == "M" else _COLOR_VALLEY + ax.plot( + [x1, x2], [y1, y2], + color=color, + linewidth=2.5, + linestyle="-", + solid_capstyle="round", + zorder=3, + ) + # Endpoint dots + ax.plot( + [x1, x2], [y1, y2], + color=color, + marker="o", + markersize=5, + linestyle="none", + zorder=4, + ) + + # Anchor points as gray crosses + for x, y in paper_state.anchor_points(): + ax.plot( + x, y, + color=_COLOR_ANCHOR, + marker="+", + markersize=3, + linestyle="none", + zorder=5, + ) + + # Title + title = f"Step {step}" if step is not None else "Initial" + ax.set_title(title, color="white", fontfamily="monospace", fontsize=10, pad=6) + + # Remove ticks and spines + ax.set_xticks([]) + ax.set_yticks([]) + for spine in ax.spines.values(): + spine.set_visible(False) + + ax.set_xlim(-0.05, 1.05) + ax.set_ylim(-0.05, 1.05) + ax.set_aspect("equal") + + +def draw_reward_bars(ax, reward: dict): + """ + Draw a horizontal bar chart of reward components. + + Args: + ax: matplotlib axes + reward: dict with keys kawasaki, maekawa, blb, progress, economy (all 0-1) + """ + components = ["kawasaki", "maekawa", "blb", "progress", "economy"] + colors = { + "kawasaki": _COLOR_VALIDITY, + "maekawa": _COLOR_VALIDITY, + "blb": _COLOR_VALIDITY, + "progress": _COLOR_PROGRESS, + "economy": _COLOR_ECONOMY, + } + + values = [float(reward.get(c, 0.0)) for c in components] + + ax.set_facecolor(_COLOR_REWARD_BG) + + bar_colors = [colors[c] for c in components] + bars = ax.barh( + components, + values, + height=0.6, + color=bar_colors, + zorder=2, + ) + + # Value labels at end of each bar + for bar, val in zip(bars, values): + ax.text( + min(val + 0.02, 0.98), + bar.get_y() + bar.get_height() / 2, + f"{val:.2f}", + va="center", + ha="left", + color="white", + fontfamily="monospace", + fontsize=8, + zorder=3, + ) + + # Y-axis label style + ax.tick_params(axis="y", colors="white", labelsize=8) + for label in ax.get_yticklabels(): + label.set_fontfamily("monospace") + + # Subtle x gridlines + for x_pos in [0.25, 0.5, 0.75, 1.0]: + ax.axvline(x_pos, color=_COLOR_GRID, linewidth=0.8, zorder=1) + + ax.set_xlim(0, 1.0) + ax.set_xticks([]) + ax.tick_params(axis="x", colors="white") + for spine in ax.spines.values(): + spine.set_visible(False) + + ax.set_title("Reward Breakdown", color="white", fontfamily="monospace", fontsize=10, pad=6) + + +def render_episode(fold_history, target, rewards_history, save_path=None): + """ + Create a multi-panel figure showing an entire episode. + + Args: + fold_history: list of PaperState snapshots (one per step) + target: FOLD dict of target crease pattern + rewards_history: list of reward dicts (one per step) + save_path: if provided, save PNG here; otherwise plt.show() + + Returns: + matplotlib Figure + """ + n_states = len(fold_history) + show_states = min(n_states, 4) + + fig = plt.figure(figsize=(4 * show_states + 4, 5), facecolor="#0d0d14") + gs = fig.add_gridspec( + 1, show_states + 1, + width_ratios=[1] * show_states + [1.2], + wspace=0.3, + ) + + # Paper state panels (up to 4) + for i in range(show_states): + # Evenly sample from fold_history if more than 4 steps + idx = int(i * (n_states - 1) / max(show_states - 1, 1)) if show_states > 1 else 0 + ax = fig.add_subplot(gs[0, i]) + draw_paper_state( + ax, + fold_history[idx], + target=target, + step=idx + 1, + reward=rewards_history[idx] if idx < len(rewards_history) else None, + ) + + # Reward curves panel + ax_reward = fig.add_subplot(gs[0, show_states]) + ax_reward.set_facecolor(_COLOR_REWARD_BG) + + steps = list(range(1, len(rewards_history) + 1)) + curve_specs = [ + ("progress", _COLOR_PROGRESS, "progress"), + ("kawasaki", _COLOR_VALIDITY, "kawasaki"), + ("total", "#f8fafc", "total"), + ] + + for key, color, label in curve_specs: + vals = [r.get(key, 0.0) for r in rewards_history] + ax_reward.plot(steps, vals, color=color, linewidth=1.5, label=label) + + ax_reward.set_xlim(1, max(len(rewards_history), 1)) + ax_reward.set_title("Reward Curves", color="white", fontfamily="monospace", fontsize=10, pad=6) + ax_reward.tick_params(colors="white", labelsize=8) + ax_reward.legend( + fontsize=7, + facecolor=_COLOR_REWARD_BG, + edgecolor=_COLOR_GRID, + labelcolor="white", + ) + for spine in ax_reward.spines.values(): + spine.set_color(_COLOR_GRID) + + if save_path: + fig.savefig(save_path, dpi=150, facecolor="#0d0d14", bbox_inches="tight") + else: + plt.show() + + return fig + + +def render_training_curves(log_path: str): + """ + Read a JSONL log file and plot training curves. + + Each line must be a JSON object with reward component keys. + + Args: + log_path: path to JSONL training log + + Returns: + matplotlib Figure + """ + records = [] + with open(log_path) as f: + for line in f: + line = line.strip() + if not line: + continue + records.append(json.loads(line)) + + episodes = list(range(1, len(records) + 1)) + + keys_to_plot = [ + ("total", "#f8fafc", "total reward"), + ("progress", _COLOR_PROGRESS, "progress"), + ("kawasaki", _COLOR_VALIDITY, "kawasaki"), + ("maekawa", _COLOR_VALIDITY, "maekawa"), + ("blb", _COLOR_VALIDITY, "blb"), + ] + + fig, axes = plt.subplots( + 2, 1, + figsize=(10, 6), + facecolor="#0d0d14", + gridspec_kw={"hspace": 0.4}, + ) + + # Top: total + progress + ax_top = axes[0] + ax_top.set_facecolor(_COLOR_REWARD_BG) + for key, color, label in keys_to_plot[:2]: + vals = [r.get(key, 0.0) for r in records] + ax_top.plot(episodes, vals, color=color, linewidth=1.5, label=label) + ax_top.set_title("Training: Total & Progress", color="white", fontfamily="monospace", fontsize=10) + ax_top.tick_params(colors="white", labelsize=8) + ax_top.legend(fontsize=8, facecolor=_COLOR_REWARD_BG, edgecolor=_COLOR_GRID, labelcolor="white") + for spine in ax_top.spines.values(): + spine.set_color(_COLOR_GRID) + + # Bottom: kawasaki, maekawa, blb + ax_bot = axes[1] + ax_bot.set_facecolor(_COLOR_REWARD_BG) + for key, color, label in keys_to_plot[2:]: + vals = [r.get(key, 0.0) for r in records] + ax_bot.plot(episodes, vals, color=color, linewidth=1.5, label=label, alpha=0.85) + ax_bot.set_title("Training: Validity Checks", color="white", fontfamily="monospace", fontsize=10) + ax_bot.set_xlabel("Episode", color="white", fontsize=9) + ax_bot.tick_params(colors="white", labelsize=8) + ax_bot.legend(fontsize=8, facecolor=_COLOR_REWARD_BG, edgecolor=_COLOR_GRID, labelcolor="white") + for spine in ax_bot.spines.values(): + spine.set_color(_COLOR_GRID) + + return fig