@vibeflow-tools/cli 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-252RNKHM.js +2 -0
- package/dist/chunk-BQLZVQ4E.js +2 -0
- package/dist/cli/chunk-252RNKHM.js +2 -0
- package/dist/cli/chunk-BQLZVQ4E.js +2 -0
- package/dist/cli/files-IX5QZQHC.js +2 -0
- package/dist/cli/files-O4WJLFMU.js +2 -0
- package/dist/cli/index.js +48 -48
- package/dist/client/kanban-browser.js +11 -11
- package/dist/client/kanban.css +1 -1
- package/dist/client/overlay-browser.js +23 -23
- package/dist/files-IX5QZQHC.js +2 -0
- package/dist/files-O4WJLFMU.js +2 -0
- package/dist/index.js +48 -48
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{a as
|
|
2
|
+
import{a as B,b as Ie,c as Te,d as xn,e as Cn,f as _e,g as Sn,h as ue,i as Ce,j as de,k as oe,l as pe,m as V,n as De,o as Ae,p as En,r as ae,s as Pn,t as In,u as Tn,v as Xe}from"./chunk-BQLZVQ4E.js";import{a as ne,b as _n,c as Rn}from"./chunk-KJ5LYG6A.js";import{Command as Co}from"commander";import{execSync as wn,execFileSync as Ge}from"child_process";import{readFileSync as Er,readdirSync as Pr,statSync as Ir,existsSync as fn,writeFileSync as nt,mkdirSync as tt,unlinkSync as st}from"fs";import{createRequire as Tr}from"module";import{join as re,resolve as _r,basename as le,extname as lt,dirname as Rr}from"path";import{createServer as ct}from"http";import{spawn as Nr,execSync as ut}from"child_process";import{networkInterfaces as Lr}from"os";import ye from"express";import{WebSocketServer as dt,WebSocket as pt}from"ws";import y from"chalk";import{createExpressMiddleware as Fr}from"@trpc/server/adapters/express";import*as Vt from"cheerio";import{readdirSync as Ro,statSync as No}from"fs";import{join as Fo,extname as Do}from"path";function Nn(t,e){let r=`<script data-vibeflow-overlay>${e}</script>`,i=t.lastIndexOf("</body>");return i!==-1?t.slice(0,i)+r+`
|
|
3
3
|
`+t.slice(i):t+`
|
|
4
|
-
`+r}import{watch as
|
|
4
|
+
`+r}import{watch as qt}from"chokidar";function Ze(t,e){let r=qt(t,{persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:200,pollInterval:50}});return r.on("change",i=>{e.onChange(i)}),e.onAdd&&r.on("add",e.onAdd),e.onUnlink&&r.on("unlink",e.onUnlink),r}function Je(t,e){return Ze(t,{onChange:e.onChanged,onAdd:e.onChanged,onUnlink:e.onDeleted})}var en=`"use strict";
|
|
5
5
|
(() => {
|
|
6
6
|
var __create = Object.create;
|
|
7
7
|
var __defProp = Object.defineProperty;
|
|
@@ -27125,7 +27125,7 @@ import{a as le,b as Ie,c as bn,d as kn,e as Te,f as wn,g as we,h as xe,i as Ce,j
|
|
|
27125
27125
|
}
|
|
27126
27126
|
function renderMarkdown(md) {
|
|
27127
27127
|
if (!md) return '<span style="color:#475569;font-style:italic;">No description yet</span>';
|
|
27128
|
-
const escaped = md.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
27128
|
+
const escaped = md.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
27129
27129
|
const withTables = renderTables(escaped);
|
|
27130
27130
|
return withTables.replace(/^### (.+)$/gm, '<h3 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.05em;color:#cbd5e1;">$1</h3>').replace(/^## (.+)$/gm, '<h2 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.2em;color:#f1f5f9;">$1</h2>').replace(/^# (.+)$/gm, '<h1 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.4em;color:#f1f5f9;">$1</h1>').replace(/[*][*]([^\\n]+?)[*][*]/g, '<strong style="font-weight:700;color:#f1f5f9;">$1</strong>').replace(/__([^\\n]+?)__/g, '<strong style="font-weight:700;color:#f1f5f9;">$1</strong>').replace(/[*]([^\\n*]+?)[*]/g, '<em style="font-style:italic;color:#94a3b8;">$1</em>').replace(/(?<![a-zA-Z0-9])_([^_\\n]+?)_(?![a-zA-Z0-9])/g, '<em style="font-style:italic;color:#94a3b8;">$1</em>').replace(/\`(.+?)\`/g, '<code style="font-family:Menlo,monospace;font-size:12px;background:#1e293b;padding:1px 5px;border-radius:3px;color:#7dd3fc;">$1</code>').replace(/\\[([^\\]]+)\\]\\((https?:\\/\\/[^)]+)\\)/g, '<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;">$1</a>').replace(/(^|[\\s(>])((https?:\\/\\/)[^\\s<>"']+)/g, '$1<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;word-break:break-all;">$2</a>').replace(/(^|[^\\w])#([a-f0-9]{30})(?![a-f0-9])/gi, '$1<a href="#task-$2" data-task-ref="$2" style="color:#60a5fa;text-decoration:underline;font-family:Menlo,monospace;">#$2</a>').replace(/^[-*] (.+)$/gm, '<li style="margin:0.2em 0;display:list-item;">$1</li>').replace(/^---$/gm, '<hr style="border:none;border-top:1px solid #334155;margin:0.8em 0;">').replace(/(<li[^>]*>[\\s\\S]*?<\\/li>\\n?)+/g, (m) => \`<ul style="padding-left:1.5em;margin:0.4em 0;list-style-type:disc;">\${m}</ul>\`).replace(/^(?!<[a-z]|$).+$/gm, (line) => \`<p style="margin:0.5em 0;">\${line}</p>\`);
|
|
27131
27131
|
}
|
|
@@ -29333,7 +29333,7 @@ lucide-react/dist/esm/lucide-react.js:
|
|
|
29333
29333
|
* See the LICENSE file in the root directory of this source tree.
|
|
29334
29334
|
*)
|
|
29335
29335
|
*/
|
|
29336
|
-
`;function
|
|
29336
|
+
`;function nn(t){return`
|
|
29337
29337
|
var _vfScriptSrc = document.currentScript && document.currentScript.src;
|
|
29338
29338
|
var _vfOrigin = _vfScriptSrc ? new URL(_vfScriptSrc).origin : ('http://' + window.location.host);
|
|
29339
29339
|
var PROTO_CONFIG = {
|
|
@@ -29343,26 +29343,26 @@ var PROTO_CONFIG = {
|
|
|
29343
29343
|
pagesUrl: _vfOrigin + '/api/pages',
|
|
29344
29344
|
screenshotsUrl: _vfOrigin + '/screenshots/'
|
|
29345
29345
|
};
|
|
29346
|
-
`+
|
|
29347
|
-
`+
|
|
29348
|
-
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mb-0\\.5{margin-bottom:.125rem}.ml-1\\.5{margin-left:.375rem}.mr-0\\.5{margin-right:.125rem}.mt-0\\.5{margin-top:.125rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-7{height:1.75rem}.min-h-\\[30px\\]{min-height:30px}.w-1{width:.25rem}.w-1\\.5{width:.375rem}.w-10{width:2.5rem}.w-2\\.5{width:.625rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-4{width:1rem}.w-7{width:1.75rem}.w-full{width:100%}.min-w-\\[100px\\]{min-width:100px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-text{cursor:text}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-hidden{overflow-y:hidden}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-none{border-style:none}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-700\\/60{border-color:rgba(51,65,85,.6)}.border-slate-800\\/60{border-color:rgba(30,41,59,.6)}.border-violet-700\\/50{border-color:rgba(109,40,217,.5)}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-violet-900\\/30{background-color:rgba(76,29,149,.3)}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\\[10px\\]{font-size:10px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-tight{line-height:1.25}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-40{opacity:.4}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--p-bg:#020c1b;--p-surface:#080f1e;--p-card:#0a0f1e;--p-input:#050d1a;--p-hover:#0d1f38;--p-border:#1e293b;--p-border-s:#1e3a5f;--p-border-t:#334155;--p-text:#e2e8f0;--p-text-sub:#cbd5e1;--p-text-m:#94a3b8;--p-text-f:#64748b;--p-text-g:#475569;--p-white:#fff;--p-blue:#2563eb;--p-blue-700:#1d4ed8;--p-blue-300:#60a5fa;--p-blue-200:#93c5fd;--p-purple:#a78bfa;--p-purple-300:#c4b5fd;--p-cyan-300:#7dd3fc;--p-amber:#f59e0b;--p-amber-300:#fcd34d;--p-green:#22c55e;--p-green-300:#6ee7b7;--p-red:#f87171;--p-red-500:#ef4444;--p-shadow-lg:0 8px 24px rgba(2,6,23,.28);--p-overlay:rgba(15,23,42,.2)}body,html{height:100%;margin:0;padding:0}body{font-family:Inter,sans-serif;background:var(--p-bg);color:var(--p-text)}#root{height:100%;display:flex;flex-direction:column;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--p-border-t) transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--p-border-t);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--p-text-g)}#kanban-board{scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden}#kanban-board::-webkit-scrollbar{display:none}#kanban-scroll-track{position:fixed;bottom:0;left:0;right:0;height:6px;background:transparent;z-index:40;pointer-events:none}#kanban-scroll-thumb{position:absolute;top:1px;height:4px;border-radius:2px;background:var(--p-border-t);cursor:pointer;pointer-events:auto;transition:background .15s}#kanban-scroll-thumb.dragging,#kanban-scroll-thumb:hover{background:var(--p-text-g)}.board-column{flex:1 0 260px;max-width:420px;display:flex;flex-direction:column;gap:6px;min-height:0}.column-header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--p-surface);border:1px solid var(--p-border)}.column-scroll{flex:1;overflow-y:auto;min-height:0;gap:5px;padding-bottom:8px}.column-scroll,.task-card{display:flex;flex-direction:column}.task-card{background:var(--p-card);border:1px solid var(--p-border);border-radius:10px;padding:11px 13px;cursor:grab;transition:border-color .12s,background .12s,box-shadow .12s,transform .12s;gap:7px}.task-card:hover{border-color:var(--p-border-s);background:var(--p-hover);box-shadow:0 4px 16px rgba(0,0,0,.3);transform:translateY(-1px)}.task-card:active{cursor:grabbing;transform:scale(.98)}.task-card.dragging{opacity:.4}.drag-over{outline:2px dashed rgba(59,130,246,.5);outline-offset:-3px;border-radius:10px;background:rgba(59,130,246,.04)}.file-compact-actions{opacity:0}.group\\/file-compact:hover .file-compact-actions{opacity:1}.file-normal-actions,.group\\/file-compact:hover .file-compact-ts{opacity:0}.group\\/file:hover .file-normal-actions{opacity:1}.group\\/file:hover{background:rgba(30,41,59,.6)}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sd-backlog{background:#475569}.sd-todo{background:#f59e0b}.sd-inprogress{background:#3b82f6;animation:pulse-prog 2s ease-in-out infinite}.sd-review{background:#a855f7}.sd-done{background:#22c55e}@keyframes pulse-prog{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.5)}50%{box-shadow:0 0 0 4px rgba(59,130,246,0)}}.type-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:20px;font-size:10px;font-weight:500;border:1px solid}.type-bug{color:#fca5a5;background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25)}.type-feature{color:#86efac;background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2)}.type-enhancement{color:#93c5fd;background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.2)}.type-task{color:#cbd5e1;background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.2)}.type-research{color:#c4b5fd;background:rgba(139,92,246,.08);border-color:rgba(139,92,246,.2)}.source-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-size:10px;font-family:JetBrains Mono,monospace;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.15);color:#60a5fa;cursor:pointer;text-decoration:none;transition:background .1s,border-color .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.source-pill:hover{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.3)}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:11px;height:11px;border:2px solid rgba(96,165,250,.3);border-top-color:#60a5fa;border-radius:50%;animation:spin .7s linear infinite}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;display:flex;align-items:center;justify-content:center}.modal-box{background:var(--p-card);border:1px solid var(--p-border);border-radius:14px;width:520px;max-width:95vw;overflow:hidden}.type-picker{display:flex;align-items:center;gap:6px}.type-picker-trigger{display:flex;align-items:center;gap:4px;width:auto;height:30px;padding:0 8px;border-radius:8px;border:1px solid var(--p-border-t);background:var(--p-card);color:var(--p-text-sub);font-size:13px;cursor:pointer;white-space:nowrap}.type-picker-label{font-size:11px;font-weight:500;color:var(--p-text-m);letter-spacing:.02em}.type-picker-trigger:hover{border-color:var(--p-text-g);color:var(--p-text)}.type-picker-options{display:none;align-items:center;gap:4px}.type-picker-options.open{display:flex}.type-picker-option{width:28px;height:28px;border-radius:7px;border:1px solid var(--p-border-t);background:var(--p-card);color:var(--p-text-sub);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px}.type-picker-option:hover{border-color:#60a5fa;color:#bfdbfe}#detail-panel-container{min-width:360px;max-width:min(860px,100%);position:absolute;right:0;top:0;bottom:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid #1e293b;animation:panel-slide-in .18s ease-out}#detail-panel-container.resizing{box-shadow:-12px 0 32px rgba(2,8,23,.6)}#detail-panel-resize-handle{position:absolute;left:0;top:0;width:12px;height:100%;cursor:ew-resize;z-index:5}#detail-panel-resize-handle:hover{background:linear-gradient(90deg,rgba(59,130,246,.22),rgba(59,130,246,0))}body.proto-resizing-panel{cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}#detail-panel{flex:1;background:var(--p-card);display:flex;flex-direction:column;overflow:hidden}@keyframes panel-slide-in{0%{width:0;opacity:0}to{width:420px;opacity:1}}.dp-header{padding:14px 16px 10px}.dp-header,.dp-tabs{border-bottom:1px solid var(--p-border);background:var(--p-surface);flex-shrink:0}.dp-tabs{display:flex;gap:0}.dp-tab{padding:8px 14px;font-size:12px;font-weight:500;color:var(--p-text-g);cursor:pointer;transition:color .12s,border-color .12s;background:none;border:none;border-bottom:2px solid transparent}.dp-tab:hover{color:var(--p-text-m)}.dp-tab.active{color:#93c5fd;border-bottom-color:#3b82f6}.dp-body{overflow:hidden}.dp-body,.dp-body>.dp-pane{flex:1;display:flex;flex-direction:column;gap:12px;min-height:0}.dp-body>.dp-pane{padding:14px 16px}#dp-details-pane,.dp-body>.dp-pane{overflow-y:auto;background:var(--p-card)}.dp-footer{padding:10px 16px 12px;border-top:1px solid var(--p-border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--p-card)}.dp-source-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:6px;font-size:10px;font-family:monospace;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.15);color:#60a5fa;white-space:nowrap}.dp-source-pill:hover{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.3)}.dp-status-btn{padding:3px 10px;border-radius:6px;font-size:10px;font-weight:500;border:1px solid var(--p-border-t);color:var(--p-text-f);background:transparent;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.dp-status-btn:hover{border-color:var(--p-text-g);color:var(--p-text-m)}.dp-status-btn.active-backlog{border-color:#475569;background:rgba(100,116,139,.1);color:#94a3b8}.dp-status-btn.active-todo{border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.1);color:#f59e0b}.dp-status-btn.active-in-progress{border-color:rgba(59,130,246,.5);background:rgba(59,130,246,.1);color:#60a5fa}.dp-status-btn.active-review{border-color:rgba(168,85,247,.5);background:rgba(168,85,247,.1);color:#a855f7}.dp-status-btn.active-done{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.08);color:#22c55e}.dp-input{width:100%;padding:7px 10px;border:1px solid var(--p-border-s);border-radius:8px;background:var(--p-input);color:var(--p-text);font-size:13px;font-family:inherit;outline:none;transition:border-color .12s,box-shadow .12s;box-sizing:border-box}.dp-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dp-input::-moz-placeholder{color:var(--p-border-t)}.dp-input::placeholder{color:var(--p-border-t)}.dp-textarea{width:100%;padding:8px 10px;border:1px solid var(--p-border-s);border-radius:8px;background:var(--p-input);color:var(--p-text);font-size:12px;font-family:monospace;line-height:1.6;resize:vertical;outline:none;box-sizing:border-box;transition:border-color .12s,box-shadow .12s}.dp-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dp-textarea::-moz-placeholder{color:var(--p-border-t)}.dp-textarea::placeholder{color:var(--p-border-t)}.dp-meta-label{font-size:10px;font-weight:600;color:var(--p-text-g);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}@keyframes pulse-live{0%,to{box-shadow:0 0 0 0 rgba(74,222,128,.4)}50%{box-shadow:0 0 0 4px rgba(74,222,128,0)}}@keyframes agent-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes away-glow{0%,to{box-shadow:0 0 0 0 rgba(37,99,235,.45),0 0 24px rgba(37,99,235,.1);border-color:rgba(37,99,235,.35)}50%{box-shadow:0 0 0 14px rgba(37,99,235,0),0 0 48px rgba(37,99,235,.2);border-color:rgba(96,165,250,.6)}}@keyframes away-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.focus-within\\:border-blue-500:focus-within{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\\:bg-red-900\\/40:hover{background-color:rgba(127,29,29,.4)}.hover\\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700\\/50:hover{background-color:rgba(51,65,85,.5)}.hover\\:bg-slate-700\\/60:hover{background-color:rgba(51,65,85,.6)}.hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\\:bg-violet-800\\/30:hover{background-color:rgba(91,33,182,.3)}.hover\\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\\:text-violet-300:hover{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.hover\\:underline:hover{text-decoration-line:underline}.group\\/comment:hover .group-hover\\/comment\\:opacity-100{opacity:1}`;var nn='"use strict";(()=>{var _m=Object.create;var ld=Object.defineProperty;var qm=Object.getOwnPropertyDescriptor;var Wm=Object.getOwnPropertyNames;var Vm=Object.getPrototypeOf,$m=Object.prototype.hasOwnProperty;var Zt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Gm=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Wm(t))!$m.call(e,o)&&o!==a&&ld(e,o,{get:()=>t[o],enumerable:!(r=qm(t,o))||r.enumerable});return e};var D=(e,t,a)=>(a=e!=null?_m(Vm(e)):{},Gm(t||!e||!e.__esModule?ld(a,"default",{value:e,enumerable:!0}):a,e));var vd=Zt(ne=>{"use strict";var go=Symbol.for("react.element"),Km=Symbol.for("react.portal"),jm=Symbol.for("react.fragment"),Xm=Symbol.for("react.strict_mode"),Qm=Symbol.for("react.profiler"),Ym=Symbol.for("react.provider"),Zm=Symbol.for("react.context"),Jm=Symbol.for("react.forward_ref"),eg=Symbol.for("react.suspense"),tg=Symbol.for("react.memo"),ag=Symbol.for("react.lazy"),sd=Symbol.iterator;function rg(e){return e===null||typeof e!="object"?null:(e=sd&&e[sd]||e["@@iterator"],typeof e=="function"?e:null)}var dd={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},fd=Object.assign,cd={};function Pr(e,t,a){this.props=e,this.context=t,this.refs=cd,this.updater=a||dd}Pr.prototype.isReactComponent={};Pr.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Pr.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function pd(){}pd.prototype=Pr.prototype;function Ls(e,t,a){this.props=e,this.context=t,this.refs=cd,this.updater=a||dd}var ys=Ls.prototype=new pd;ys.constructor=Ls;fd(ys,Pr.prototype);ys.isPureReactComponent=!0;var ud=Array.isArray,md=Object.prototype.hasOwnProperty,Ss={current:null},gd={key:!0,ref:!0,__self:!0,__source:!0};function hd(e,t,a){var r,o={},n=null,l=null;if(t!=null)for(r in t.ref!==void 0&&(l=t.ref),t.key!==void 0&&(n=""+t.key),t)md.call(t,r)&&!gd.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(s===1)o.children=a;else if(1<s){for(var u=Array(s),d=0;d<s;d++)u[d]=arguments[d+2];o.children=u}if(e&&e.defaultProps)for(r in s=e.defaultProps,s)o[r]===void 0&&(o[r]=s[r]);return{$$typeof:go,type:e,key:n,ref:l,props:o,_owner:Ss.current}}function og(e,t){return{$$typeof:go,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Is(e){return typeof e=="object"&&e!==null&&e.$$typeof===go}function ng(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(a){return t[a]})}var id=/\\/+/g;function vs(e,t){return typeof e=="object"&&e!==null&&e.key!=null?ng(""+e.key):t.toString(36)}function Fn(e,t,a,r,o){var n=typeof e;(n==="undefined"||n==="boolean")&&(e=null);var l=!1;if(e===null)l=!0;else switch(n){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case go:case Km:l=!0}}if(l)return l=e,o=o(l),e=r===""?"."+vs(l,0):r,ud(o)?(a="",e!=null&&(a=e.replace(id,"$&/")+"/"),Fn(o,t,a,"",function(d){return d})):o!=null&&(Is(o)&&(o=og(o,a+(!o.key||l&&l.key===o.key?"":(""+o.key).replace(id,"$&/")+"/")+e)),t.push(o)),1;if(l=0,r=r===""?".":r+":",ud(e))for(var s=0;s<e.length;s++){n=e[s];var u=r+vs(n,s);l+=Fn(n,t,a,u,o)}else if(u=rg(e),typeof u=="function")for(e=u.call(e),s=0;!(n=e.next()).done;)n=n.value,u=r+vs(n,s++),l+=Fn(n,t,a,u,o);else if(n==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function En(e,t,a){if(e==null)return e;var r=[],o=0;return Fn(e,r,"","",function(n){return t.call(a,n,o++)}),r}function lg(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(a){(e._status===0||e._status===-1)&&(e._status=1,e._result=a)},function(a){(e._status===0||e._status===-1)&&(e._status=2,e._result=a)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var je={current:null},Bn={transition:null},sg={ReactCurrentDispatcher:je,ReactCurrentBatchConfig:Bn,ReactCurrentOwner:Ss};function xd(){throw Error("act(...) is not supported in production builds of React.")}ne.Children={map:En,forEach:function(e,t,a){En(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return En(e,function(){t++}),t},toArray:function(e){return En(e,function(t){return t})||[]},only:function(e){if(!Is(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};ne.Component=Pr;ne.Fragment=jm;ne.Profiler=Qm;ne.PureComponent=Ls;ne.StrictMode=Xm;ne.Suspense=eg;ne.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sg;ne.act=xd;ne.cloneElement=function(e,t,a){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=fd({},e.props),o=e.key,n=e.ref,l=e._owner;if(t!=null){if(t.ref!==void 0&&(n=t.ref,l=Ss.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(u in t)md.call(t,u)&&!gd.hasOwnProperty(u)&&(r[u]=t[u]===void 0&&s!==void 0?s[u]:t[u])}var u=arguments.length-2;if(u===1)r.children=a;else if(1<u){s=Array(u);for(var d=0;d<u;d++)s[d]=arguments[d+2];r.children=s}return{$$typeof:go,type:e.type,key:o,ref:n,props:r,_owner:l}};ne.createContext=function(e){return e={$$typeof:Zm,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:Ym,_context:e},e.Consumer=e};ne.createElement=hd;ne.createFactory=function(e){var t=hd.bind(null,e);return t.type=e,t};ne.createRef=function(){return{current:null}};ne.forwardRef=function(e){return{$$typeof:Jm,render:e}};ne.isValidElement=Is;ne.lazy=function(e){return{$$typeof:ag,_payload:{_status:-1,_result:e},_init:lg}};ne.memo=function(e,t){return{$$typeof:tg,type:e,compare:t===void 0?null:t}};ne.startTransition=function(e){var t=Bn.transition;Bn.transition={};try{e()}finally{Bn.transition=t}};ne.unstable_act=xd;ne.useCallback=function(e,t){return je.current.useCallback(e,t)};ne.useContext=function(e){return je.current.useContext(e)};ne.useDebugValue=function(){};ne.useDeferredValue=function(e){return je.current.useDeferredValue(e)};ne.useEffect=function(e,t){return je.current.useEffect(e,t)};ne.useId=function(){return je.current.useId()};ne.useImperativeHandle=function(e,t,a){return je.current.useImperativeHandle(e,t,a)};ne.useInsertionEffect=function(e,t){return je.current.useInsertionEffect(e,t)};ne.useLayoutEffect=function(e,t){return je.current.useLayoutEffect(e,t)};ne.useMemo=function(e,t){return je.current.useMemo(e,t)};ne.useReducer=function(e,t,a){return je.current.useReducer(e,t,a)};ne.useRef=function(e){return je.current.useRef(e)};ne.useState=function(e){return je.current.useState(e)};ne.useSyncExternalStore=function(e,t,a){return je.current.useSyncExternalStore(e,t,a)};ne.useTransition=function(){return je.current.useTransition()};ne.version="18.3.1"});var Ie=Zt((fv,Ld)=>{"use strict";Ld.exports=vd()});var Rd=Zt(xe=>{"use strict";function bs(e,t){var a=e.length;e.push(t);e:for(;0<a;){var r=a-1>>>1,o=e[r];if(0<On(o,t))e[r]=t,e[a]=o,a=r;else break e}}function Pt(e){return e.length===0?null:e[0]}function Un(e){if(e.length===0)return null;var t=e[0],a=e.pop();if(a!==t){e[0]=a;e:for(var r=0,o=e.length,n=o>>>1;r<n;){var l=2*(r+1)-1,s=e[l],u=l+1,d=e[u];if(0>On(s,a))u<o&&0>On(d,s)?(e[r]=d,e[u]=a,r=u):(e[r]=s,e[l]=a,r=l);else if(u<o&&0>On(d,a))e[r]=d,e[u]=a,r=u;else break e}}return t}function On(e,t){var a=e.sortIndex-t.sortIndex;return a!==0?a:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(yd=performance,xe.unstable_now=function(){return yd.now()}):(Cs=Date,Sd=Cs.now(),xe.unstable_now=function(){return Cs.now()-Sd});var yd,Cs,Sd,_t=[],ca=[],ug=1,mt=null,qe=3,Nn=!1,ja=!1,xo=!1,wd=typeof setTimeout=="function"?setTimeout:null,kd=typeof clearTimeout=="function"?clearTimeout:null,Id=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Ps(e){for(var t=Pt(ca);t!==null;){if(t.callback===null)Un(ca);else if(t.startTime<=e)Un(ca),t.sortIndex=t.expirationTime,bs(_t,t);else break;t=Pt(ca)}}function Ts(e){if(xo=!1,Ps(e),!ja)if(Pt(_t)!==null)ja=!0,Ds(Rs);else{var t=Pt(ca);t!==null&&As(Ts,t.startTime-e)}}function Rs(e,t){ja=!1,xo&&(xo=!1,kd(vo),vo=-1),Nn=!0;var a=qe;try{for(Ps(t),mt=Pt(_t);mt!==null&&(!(mt.expirationTime>t)||e&&!Td());){var r=mt.callback;if(typeof r=="function"){mt.callback=null,qe=mt.priorityLevel;var o=r(mt.expirationTime<=t);t=xe.unstable_now(),typeof o=="function"?mt.callback=o:mt===Pt(_t)&&Un(_t),Ps(t)}else Un(_t);mt=Pt(_t)}if(mt!==null)var n=!0;else{var l=Pt(ca);l!==null&&As(Ts,l.startTime-t),n=!1}return n}finally{mt=null,qe=a,Nn=!1}}var Hn=!1,zn=null,vo=-1,bd=5,Pd=-1;function Td(){return!(xe.unstable_now()-Pd<bd)}function ws(){if(zn!==null){var e=xe.unstable_now();Pd=e;var t=!0;try{t=zn(!0,e)}finally{t?ho():(Hn=!1,zn=null)}}else Hn=!1}var ho;typeof Id=="function"?ho=function(){Id(ws)}:typeof MessageChannel<"u"?(ks=new MessageChannel,Cd=ks.port2,ks.port1.onmessage=ws,ho=function(){Cd.postMessage(null)}):ho=function(){wd(ws,0)};var ks,Cd;function Ds(e){zn=e,Hn||(Hn=!0,ho())}function As(e,t){vo=wd(function(){e(xe.unstable_now())},t)}xe.unstable_IdlePriority=5;xe.unstable_ImmediatePriority=1;xe.unstable_LowPriority=4;xe.unstable_NormalPriority=3;xe.unstable_Profiling=null;xe.unstable_UserBlockingPriority=2;xe.unstable_cancelCallback=function(e){e.callback=null};xe.unstable_continueExecution=function(){ja||Nn||(ja=!0,Ds(Rs))};xe.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):bd=0<e?Math.floor(1e3/e):5};xe.unstable_getCurrentPriorityLevel=function(){return qe};xe.unstable_getFirstCallbackNode=function(){return Pt(_t)};xe.unstable_next=function(e){switch(qe){case 1:case 2:case 3:var t=3;break;default:t=qe}var a=qe;qe=t;try{return e()}finally{qe=a}};xe.unstable_pauseExecution=function(){};xe.unstable_requestPaint=function(){};xe.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=qe;qe=e;try{return t()}finally{qe=a}};xe.unstable_scheduleCallback=function(e,t,a){var r=xe.unstable_now();switch(typeof a=="object"&&a!==null?(a=a.delay,a=typeof a=="number"&&0<a?r+a:r):a=r,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=a+o,e={id:ug++,callback:t,priorityLevel:e,startTime:a,expirationTime:o,sortIndex:-1},a>r?(e.sortIndex=a,bs(ca,e),Pt(_t)===null&&e===Pt(ca)&&(xo?(kd(vo),vo=-1):xo=!0,As(Ts,a-r))):(e.sortIndex=o,bs(_t,e),ja||Nn||(ja=!0,Ds(Rs))),e};xe.unstable_shouldYield=Td;xe.unstable_wrapCallback=function(e){var t=qe;return function(){var a=qe;qe=t;try{return e.apply(this,arguments)}finally{qe=a}}}});var Ad=Zt((pv,Dd)=>{"use strict";Dd.exports=Rd()});var Op=Zt(ct=>{"use strict";var ig=Ie(),dt=Ad();function P(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Nf=new Set,Ho={};function sr(e,t){jr(e,t),jr(e+"Capture",t)}function jr(e,t){for(Ho[e]=t,e=0;e<t.length;e++)Nf.add(t[e])}var oa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),eu=Object.prototype.hasOwnProperty,dg=/^[: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]*$/,Md={},Ed={};function fg(e){return eu.call(Ed,e)?!0:eu.call(Md,e)?!1:dg.test(e)?Ed[e]=!0:(Md[e]=!0,!1)}function cg(e,t,a,r){if(a!==null&&a.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:a!==null?!a.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function pg(e,t,a,r){if(t===null||typeof t>"u"||cg(e,t,a,r))return!0;if(r)return!1;if(a!==null)switch(a.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ye(e,t,a,r,o,n,l){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=a,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=l}var He={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){He[e]=new Ye(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];He[t]=new Ye(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){He[e]=new Ye(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){He[e]=new Ye(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){He[e]=new Ye(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){He[e]=new Ye(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){He[e]=new Ye(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){He[e]=new Ye(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){He[e]=new Ye(e,5,!1,e.toLowerCase(),null,!1,!1)});var Gu=/[\\-:]([a-z])/g;function Ku(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Gu,Ku);He[t]=new Ye(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Gu,Ku);He[t]=new Ye(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Gu,Ku);He[t]=new Ye(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){He[e]=new Ye(e,1,!1,e.toLowerCase(),null,!1,!1)});He.xlinkHref=new Ye("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){He[e]=new Ye(e,1,!1,e.toLowerCase(),null,!0,!0)});function ju(e,t,a,r){var o=He.hasOwnProperty(t)?He[t]:null;(o!==null?o.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(pg(t,a,o,r)&&(a=null),r||o===null?fg(t)&&(a===null?e.removeAttribute(t):e.setAttribute(t,""+a)):o.mustUseProperty?e[o.propertyName]=a===null?o.type===3?!1:"":a:(t=o.attributeName,r=o.attributeNamespace,a===null?e.removeAttribute(t):(o=o.type,a=o===3||o===4&&a===!0?"":""+a,r?e.setAttributeNS(r,t,a):e.setAttribute(t,a))))}var ua=ig.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,_n=Symbol.for("react.element"),Dr=Symbol.for("react.portal"),Ar=Symbol.for("react.fragment"),Xu=Symbol.for("react.strict_mode"),tu=Symbol.for("react.profiler"),Hf=Symbol.for("react.provider"),_f=Symbol.for("react.context"),Qu=Symbol.for("react.forward_ref"),au=Symbol.for("react.suspense"),ru=Symbol.for("react.suspense_list"),Yu=Symbol.for("react.memo"),ma=Symbol.for("react.lazy");Symbol.for("react.scope");Symbol.for("react.debug_trace_mode");var qf=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden");Symbol.for("react.cache");Symbol.for("react.tracing_marker");var Fd=Symbol.iterator;function Lo(e){return e===null||typeof e!="object"?null:(e=Fd&&e[Fd]||e["@@iterator"],typeof e=="function"?e:null)}var be=Object.assign,Ms;function Po(e){if(Ms===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\\n( *(at )?)/);Ms=t&&t[1]||""}return`\n`+Ms+e}var Es=!1;function Fs(e,t){if(!e||Es)return"";Es=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(d){var r=d}Reflect.construct(e,[],t)}else{try{t.call()}catch(d){r=d}e.call(t.prototype)}else{try{throw Error()}catch(d){r=d}e()}}catch(d){if(d&&r&&typeof d.stack=="string"){for(var o=d.stack.split(`\n`),n=r.stack.split(`\n`),l=o.length-1,s=n.length-1;1<=l&&0<=s&&o[l]!==n[s];)s--;for(;1<=l&&0<=s;l--,s--)if(o[l]!==n[s]){if(l!==1||s!==1)do if(l--,s--,0>s||o[l]!==n[s]){var u=`\n`+o[l].replace(" at new "," at ");return e.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",e.displayName)),u}while(1<=l&&0<=s);break}}}finally{Es=!1,Error.prepareStackTrace=a}return(e=e?e.displayName||e.name:"")?Po(e):""}function mg(e){switch(e.tag){case 5:return Po(e.type);case 16:return Po("Lazy");case 13:return Po("Suspense");case 19:return Po("SuspenseList");case 0:case 2:case 15:return e=Fs(e.type,!1),e;case 11:return e=Fs(e.type.render,!1),e;case 1:return e=Fs(e.type,!0),e;default:return""}}function ou(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Ar:return"Fragment";case Dr:return"Portal";case tu:return"Profiler";case Xu:return"StrictMode";case au:return"Suspense";case ru:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case _f:return(e.displayName||"Context")+".Consumer";case Hf:return(e._context.displayName||"Context")+".Provider";case Qu:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Yu:return t=e.displayName||null,t!==null?t:ou(e.type)||"Memo";case ma:t=e._payload,e=e._init;try{return ou(e(t))}catch{}}return null}function gg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ou(t);case 8:return t===Xu?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ta(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Wf(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function hg(e){var t=Wf(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var o=a.get,n=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(l){r=""+l,n.call(this,l)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return r},setValue:function(l){r=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function qn(e){e._valueTracker||(e._valueTracker=hg(e))}function Vf(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),r="";return e&&(r=Wf(e)?e.checked?"true":"false":e.value),e=r,e!==a?(t.setValue(e),!0):!1}function hl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function nu(e,t){var a=t.checked;return be({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??e._wrapperState.initialChecked})}function Bd(e,t){var a=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;a=Ta(t.value!=null?t.value:a),e._wrapperState={initialChecked:r,initialValue:a,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function $f(e,t){t=t.checked,t!=null&&ju(e,"checked",t,!1)}function lu(e,t){$f(e,t);var a=Ta(t.value),r=t.type;if(a!=null)r==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+a):e.value!==""+a&&(e.value=""+a);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?su(e,t.type,a):t.hasOwnProperty("defaultValue")&&su(e,t.type,Ta(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Od(e,t,a){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,a||t===e.value||(e.value=t),e.defaultValue=t}a=e.name,a!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,a!==""&&(e.name=a)}function su(e,t,a){(t!=="number"||hl(e.ownerDocument)!==e)&&(a==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+a&&(e.defaultValue=""+a))}var To=Array.isArray;function qr(e,t,a,r){if(e=e.options,t){t={};for(var o=0;o<a.length;o++)t["$"+a[o]]=!0;for(a=0;a<e.length;a++)o=t.hasOwnProperty("$"+e[a].value),e[a].selected!==o&&(e[a].selected=o),o&&r&&(e[a].defaultSelected=!0)}else{for(a=""+Ta(a),t=null,o=0;o<e.length;o++){if(e[o].value===a){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function uu(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(P(91));return be({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function zd(e,t){var a=t.value;if(a==null){if(a=t.children,t=t.defaultValue,a!=null){if(t!=null)throw Error(P(92));if(To(a)){if(1<a.length)throw Error(P(93));a=a[0]}t=a}t==null&&(t=""),a=t}e._wrapperState={initialValue:Ta(a)}}function Gf(e,t){var a=Ta(t.value),r=Ta(t.defaultValue);a!=null&&(a=""+a,a!==e.value&&(e.value=a),t.defaultValue==null&&e.defaultValue!==a&&(e.defaultValue=a)),r!=null&&(e.defaultValue=""+r)}function Ud(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function Kf(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function iu(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Kf(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Wn,jf=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,a,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,a,r,o)})}:e})(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(Wn=Wn||document.createElement("div"),Wn.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Wn.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function _o(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var Ao={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},xg=["Webkit","ms","Moz","O"];Object.keys(Ao).forEach(function(e){xg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ao[t]=Ao[e]})});function Xf(e,t,a){return t==null||typeof t=="boolean"||t===""?"":a||typeof t!="number"||t===0||Ao.hasOwnProperty(e)&&Ao[e]?(""+t).trim():t+"px"}function Qf(e,t){e=e.style;for(var a in t)if(t.hasOwnProperty(a)){var r=a.indexOf("--")===0,o=Xf(a,t[a],r);a==="float"&&(a="cssFloat"),r?e.setProperty(a,o):e[a]=o}}var vg=be({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function du(e,t){if(t){if(vg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(P(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(P(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(P(61))}if(t.style!=null&&typeof t.style!="object")throw Error(P(62))}}function fu(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var cu=null;function Zu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var pu=null,Wr=null,Vr=null;function Nd(e){if(e=nn(e)){if(typeof pu!="function")throw Error(P(280));var t=e.stateNode;t&&(t=Vl(t),pu(e.stateNode,e.type,t))}}function Yf(e){Wr?Vr?Vr.push(e):Vr=[e]:Wr=e}function Zf(){if(Wr){var e=Wr,t=Vr;if(Vr=Wr=null,Nd(e),t)for(e=0;e<t.length;e++)Nd(t[e])}}function Jf(e,t){return e(t)}function ec(){}var Bs=!1;function tc(e,t,a){if(Bs)return e(t,a);Bs=!0;try{return Jf(e,t,a)}finally{Bs=!1,(Wr!==null||Vr!==null)&&(ec(),Zf())}}function qo(e,t){var a=e.stateNode;if(a===null)return null;var r=Vl(a);if(r===null)return null;a=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(P(231,t,typeof a));return a}var mu=!1;if(oa)try{Tr={},Object.defineProperty(Tr,"passive",{get:function(){mu=!0}}),window.addEventListener("test",Tr,Tr),window.removeEventListener("test",Tr,Tr)}catch{mu=!1}var Tr;function Lg(e,t,a,r,o,n,l,s,u){var d=Array.prototype.slice.call(arguments,3);try{t.apply(a,d)}catch(g){this.onError(g)}}var Mo=!1,xl=null,vl=!1,gu=null,yg={onError:function(e){Mo=!0,xl=e}};function Sg(e,t,a,r,o,n,l,s,u){Mo=!1,xl=null,Lg.apply(yg,arguments)}function Ig(e,t,a,r,o,n,l,s,u){if(Sg.apply(this,arguments),Mo){if(Mo){var d=xl;Mo=!1,xl=null}else throw Error(P(198));vl||(vl=!0,gu=d)}}function ur(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function ac(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Hd(e){if(ur(e)!==e)throw Error(P(188))}function Cg(e){var t=e.alternate;if(!t){if(t=ur(e),t===null)throw Error(P(188));return t!==e?null:e}for(var a=e,r=t;;){var o=a.return;if(o===null)break;var n=o.alternate;if(n===null){if(r=o.return,r!==null){a=r;continue}break}if(o.child===n.child){for(n=o.child;n;){if(n===a)return Hd(o),e;if(n===r)return Hd(o),t;n=n.sibling}throw Error(P(188))}if(a.return!==r.return)a=o,r=n;else{for(var l=!1,s=o.child;s;){if(s===a){l=!0,a=o,r=n;break}if(s===r){l=!0,r=o,a=n;break}s=s.sibling}if(!l){for(s=n.child;s;){if(s===a){l=!0,a=n,r=o;break}if(s===r){l=!0,r=n,a=o;break}s=s.sibling}if(!l)throw Error(P(189))}}if(a.alternate!==r)throw Error(P(190))}if(a.tag!==3)throw Error(P(188));return a.stateNode.current===a?e:t}function rc(e){return e=Cg(e),e!==null?oc(e):null}function oc(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=oc(e);if(t!==null)return t;e=e.sibling}return null}var nc=dt.unstable_scheduleCallback,_d=dt.unstable_cancelCallback,wg=dt.unstable_shouldYield,kg=dt.unstable_requestPaint,Te=dt.unstable_now,bg=dt.unstable_getCurrentPriorityLevel,Ju=dt.unstable_ImmediatePriority,lc=dt.unstable_UserBlockingPriority,Ll=dt.unstable_NormalPriority,Pg=dt.unstable_LowPriority,sc=dt.unstable_IdlePriority,Hl=null,$t=null;function Tg(e){if($t&&typeof $t.onCommitFiberRoot=="function")try{$t.onCommitFiberRoot(Hl,e,void 0,(e.current.flags&128)===128)}catch{}}var Mt=Math.clz32?Math.clz32:Ag,Rg=Math.log,Dg=Math.LN2;function Ag(e){return e>>>=0,e===0?32:31-(Rg(e)/Dg|0)|0}var Vn=64,$n=4194304;function Ro(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function yl(e,t){var a=e.pendingLanes;if(a===0)return 0;var r=0,o=e.suspendedLanes,n=e.pingedLanes,l=a&268435455;if(l!==0){var s=l&~o;s!==0?r=Ro(s):(n&=l,n!==0&&(r=Ro(n)))}else l=a&~o,l!==0?r=Ro(l):n!==0&&(r=Ro(n));if(r===0)return 0;if(t!==0&&t!==r&&(t&o)===0&&(o=r&-r,n=t&-t,o>=n||o===16&&(n&4194240)!==0))return t;if((r&4)!==0&&(r|=a&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)a=31-Mt(t),o=1<<a,r|=e[a],t&=~o;return r}function Mg(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Eg(e,t){for(var a=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,n=e.pendingLanes;0<n;){var l=31-Mt(n),s=1<<l,u=o[l];u===-1?((s&a)===0||(s&r)!==0)&&(o[l]=Mg(s,t)):u<=t&&(e.expiredLanes|=s),n&=~s}}function hu(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function uc(){var e=Vn;return Vn<<=1,(Vn&4194240)===0&&(Vn=64),e}function Os(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function rn(e,t,a){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Mt(t),e[t]=a}function Fg(e,t){var a=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<a;){var o=31-Mt(a),n=1<<o;t[o]=0,r[o]=-1,e[o]=-1,a&=~n}}function ei(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var r=31-Mt(a),o=1<<r;o&t|e[r]&t&&(e[r]|=t),a&=~o}}var pe=0;function ic(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var dc,ti,fc,cc,pc,xu=!1,Gn=[],ya=null,Sa=null,Ia=null,Wo=new Map,Vo=new Map,ha=[],Bg="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function qd(e,t){switch(e){case"focusin":case"focusout":ya=null;break;case"dragenter":case"dragleave":Sa=null;break;case"mouseover":case"mouseout":Ia=null;break;case"pointerover":case"pointerout":Wo.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Vo.delete(t.pointerId)}}function yo(e,t,a,r,o,n){return e===null||e.nativeEvent!==n?(e={blockedOn:t,domEventName:a,eventSystemFlags:r,nativeEvent:n,targetContainers:[o]},t!==null&&(t=nn(t),t!==null&&ti(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function Og(e,t,a,r,o){switch(t){case"focusin":return ya=yo(ya,e,t,a,r,o),!0;case"dragenter":return Sa=yo(Sa,e,t,a,r,o),!0;case"mouseover":return Ia=yo(Ia,e,t,a,r,o),!0;case"pointerover":var n=o.pointerId;return Wo.set(n,yo(Wo.get(n)||null,e,t,a,r,o)),!0;case"gotpointercapture":return n=o.pointerId,Vo.set(n,yo(Vo.get(n)||null,e,t,a,r,o)),!0}return!1}function mc(e){var t=Ya(e.target);if(t!==null){var a=ur(t);if(a!==null){if(t=a.tag,t===13){if(t=ac(a),t!==null){e.blockedOn=t,pc(e.priority,function(){fc(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function ll(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=vu(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(a===null){a=e.nativeEvent;var r=new a.constructor(a.type,a);cu=r,a.target.dispatchEvent(r),cu=null}else return t=nn(a),t!==null&&ti(t),e.blockedOn=a,!1;t.shift()}return!0}function Wd(e,t,a){ll(e)&&a.delete(t)}function zg(){xu=!1,ya!==null&&ll(ya)&&(ya=null),Sa!==null&&ll(Sa)&&(Sa=null),Ia!==null&&ll(Ia)&&(Ia=null),Wo.forEach(Wd),Vo.forEach(Wd)}function So(e,t){e.blockedOn===t&&(e.blockedOn=null,xu||(xu=!0,dt.unstable_scheduleCallback(dt.unstable_NormalPriority,zg)))}function $o(e){function t(o){return So(o,e)}if(0<Gn.length){So(Gn[0],e);for(var a=1;a<Gn.length;a++){var r=Gn[a];r.blockedOn===e&&(r.blockedOn=null)}}for(ya!==null&&So(ya,e),Sa!==null&&So(Sa,e),Ia!==null&&So(Ia,e),Wo.forEach(t),Vo.forEach(t),a=0;a<ha.length;a++)r=ha[a],r.blockedOn===e&&(r.blockedOn=null);for(;0<ha.length&&(a=ha[0],a.blockedOn===null);)mc(a),a.blockedOn===null&&ha.shift()}var $r=ua.ReactCurrentBatchConfig,Sl=!0;function Ug(e,t,a,r){var o=pe,n=$r.transition;$r.transition=null;try{pe=1,ai(e,t,a,r)}finally{pe=o,$r.transition=n}}function Ng(e,t,a,r){var o=pe,n=$r.transition;$r.transition=null;try{pe=4,ai(e,t,a,r)}finally{pe=o,$r.transition=n}}function ai(e,t,a,r){if(Sl){var o=vu(e,t,a,r);if(o===null)Ws(e,t,r,Il,a),qd(e,r);else if(Og(o,e,t,a,r))r.stopPropagation();else if(qd(e,r),t&4&&-1<Bg.indexOf(e)){for(;o!==null;){var n=nn(o);if(n!==null&&dc(n),n=vu(e,t,a,r),n===null&&Ws(e,t,r,Il,a),n===o)break;o=n}o!==null&&r.stopPropagation()}else Ws(e,t,r,null,a)}}var Il=null;function vu(e,t,a,r){if(Il=null,e=Zu(r),e=Ya(e),e!==null)if(t=ur(e),t===null)e=null;else if(a=t.tag,a===13){if(e=ac(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Il=e,null}function gc(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(bg()){case Ju:return 1;case lc:return 4;case Ll:case Pg:return 16;case sc:return 536870912;default:return 16}default:return 16}}var va=null,ri=null,sl=null;function hc(){if(sl)return sl;var e,t=ri,a=t.length,r,o="value"in va?va.value:va.textContent,n=o.length;for(e=0;e<a&&t[e]===o[e];e++);var l=a-e;for(r=1;r<=l&&t[a-r]===o[n-r];r++);return sl=o.slice(e,1<r?1-r:void 0)}function ul(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Kn(){return!0}function Vd(){return!1}function ft(e){function t(a,r,o,n,l){this._reactName=a,this._targetInst=o,this.type=r,this.nativeEvent=n,this.target=l,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(a=e[s],this[s]=a?a(n):n[s]);return this.isDefaultPrevented=(n.defaultPrevented!=null?n.defaultPrevented:n.returnValue===!1)?Kn:Vd,this.isPropagationStopped=Vd,this}return be(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Kn)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Kn)},persist:function(){},isPersistent:Kn}),t}var to={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},oi=ft(to),on=be({},to,{view:0,detail:0}),Hg=ft(on),zs,Us,Io,_l=be({},on,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ni,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Io&&(Io&&e.type==="mousemove"?(zs=e.screenX-Io.screenX,Us=e.screenY-Io.screenY):Us=zs=0,Io=e),zs)},movementY:function(e){return"movementY"in e?e.movementY:Us}}),$d=ft(_l),_g=be({},_l,{dataTransfer:0}),qg=ft(_g),Wg=be({},on,{relatedTarget:0}),Ns=ft(Wg),Vg=be({},to,{animationName:0,elapsedTime:0,pseudoElement:0}),$g=ft(Vg),Gg=be({},to,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Kg=ft(Gg),jg=be({},to,{data:0}),Gd=ft(jg),Xg={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Qg={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Yg={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Zg(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Yg[e])?!!t[e]:!1}function ni(){return Zg}var Jg=be({},on,{key:function(e){if(e.key){var t=Xg[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=ul(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Qg[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ni,charCode:function(e){return e.type==="keypress"?ul(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?ul(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),eh=ft(Jg),th=be({},_l,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Kd=ft(th),ah=be({},on,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ni}),rh=ft(ah),oh=be({},to,{propertyName:0,elapsedTime:0,pseudoElement:0}),nh=ft(oh),lh=be({},_l,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),sh=ft(lh),uh=[9,13,27,32],li=oa&&"CompositionEvent"in window,Eo=null;oa&&"documentMode"in document&&(Eo=document.documentMode);var ih=oa&&"TextEvent"in window&&!Eo,xc=oa&&(!li||Eo&&8<Eo&&11>=Eo),jd=" ",Xd=!1;function vc(e,t){switch(e){case"keyup":return uh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Lc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Mr=!1;function dh(e,t){switch(e){case"compositionend":return Lc(t);case"keypress":return t.which!==32?null:(Xd=!0,jd);case"textInput":return e=t.data,e===jd&&Xd?null:e;default:return null}}function fh(e,t){if(Mr)return e==="compositionend"||!li&&vc(e,t)?(e=hc(),sl=ri=va=null,Mr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return xc&&t.locale!=="ko"?null:t.data;default:return null}}var ch={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 Qd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!ch[e.type]:t==="textarea"}function yc(e,t,a,r){Yf(r),t=Cl(t,"onChange"),0<t.length&&(a=new oi("onChange","change",null,a,r),e.push({event:a,listeners:t}))}var Fo=null,Go=null;function ph(e){Ac(e,0)}function ql(e){var t=Br(e);if(Vf(t))return e}function mh(e,t){if(e==="change")return t}var Sc=!1;oa&&(oa?(Xn="oninput"in document,Xn||(Hs=document.createElement("div"),Hs.setAttribute("oninput","return;"),Xn=typeof Hs.oninput=="function"),jn=Xn):jn=!1,Sc=jn&&(!document.documentMode||9<document.documentMode));var jn,Xn,Hs;function Yd(){Fo&&(Fo.detachEvent("onpropertychange",Ic),Go=Fo=null)}function Ic(e){if(e.propertyName==="value"&&ql(Go)){var t=[];yc(t,Go,e,Zu(e)),tc(ph,t)}}function gh(e,t,a){e==="focusin"?(Yd(),Fo=t,Go=a,Fo.attachEvent("onpropertychange",Ic)):e==="focusout"&&Yd()}function hh(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return ql(Go)}function xh(e,t){if(e==="click")return ql(t)}function vh(e,t){if(e==="input"||e==="change")return ql(t)}function Lh(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Ft=typeof Object.is=="function"?Object.is:Lh;function Ko(e,t){if(Ft(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;for(r=0;r<a.length;r++){var o=a[r];if(!eu.call(t,o)||!Ft(e[o],t[o]))return!1}return!0}function Zd(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Jd(e,t){var a=Zd(e);e=0;for(var r;a;){if(a.nodeType===3){if(r=e+a.textContent.length,e<=t&&r>=t)return{node:a,offset:t-e};e=r}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Zd(a)}}function Cc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Cc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function wc(){for(var e=window,t=hl();t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=hl(e.document)}return t}function si(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function yh(e){var t=wc(),a=e.focusedElem,r=e.selectionRange;if(t!==a&&a&&a.ownerDocument&&Cc(a.ownerDocument.documentElement,a)){if(r!==null&&si(a)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in a)a.selectionStart=t,a.selectionEnd=Math.min(e,a.value.length);else if(e=(t=a.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=a.textContent.length,n=Math.min(r.start,o);r=r.end===void 0?n:Math.min(r.end,o),!e.extend&&n>r&&(o=r,r=n,n=o),o=Jd(a,n);var l=Jd(a,r);o&&l&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),n>r?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.offset),e.addRange(t)))}}for(t=[],e=a;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof a.focus=="function"&&a.focus(),a=0;a<t.length;a++)e=t[a],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Sh=oa&&"documentMode"in document&&11>=document.documentMode,Er=null,Lu=null,Bo=null,yu=!1;function ef(e,t,a){var r=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;yu||Er==null||Er!==hl(r)||(r=Er,"selectionStart"in r&&si(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Bo&&Ko(Bo,r)||(Bo=r,r=Cl(Lu,"onSelect"),0<r.length&&(t=new oi("onSelect","select",null,t,a),e.push({event:t,listeners:r}),t.target=Er)))}function Qn(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Fr={animationend:Qn("Animation","AnimationEnd"),animationiteration:Qn("Animation","AnimationIteration"),animationstart:Qn("Animation","AnimationStart"),transitionend:Qn("Transition","TransitionEnd")},_s={},kc={};oa&&(kc=document.createElement("div").style,"AnimationEvent"in window||(delete Fr.animationend.animation,delete Fr.animationiteration.animation,delete Fr.animationstart.animation),"TransitionEvent"in window||delete Fr.transitionend.transition);function Wl(e){if(_s[e])return _s[e];if(!Fr[e])return e;var t=Fr[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in kc)return _s[e]=t[a];return e}var bc=Wl("animationend"),Pc=Wl("animationiteration"),Tc=Wl("animationstart"),Rc=Wl("transitionend"),Dc=new Map,tf="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Da(e,t){Dc.set(e,t),sr(t,[e])}for(Yn=0;Yn<tf.length;Yn++)Zn=tf[Yn],af=Zn.toLowerCase(),rf=Zn[0].toUpperCase()+Zn.slice(1),Da(af,"on"+rf);var Zn,af,rf,Yn;Da(bc,"onAnimationEnd");Da(Pc,"onAnimationIteration");Da(Tc,"onAnimationStart");Da("dblclick","onDoubleClick");Da("focusin","onFocus");Da("focusout","onBlur");Da(Rc,"onTransitionEnd");jr("onMouseEnter",["mouseout","mouseover"]);jr("onMouseLeave",["mouseout","mouseover"]);jr("onPointerEnter",["pointerout","pointerover"]);jr("onPointerLeave",["pointerout","pointerover"]);sr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));sr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));sr("onBeforeInput",["compositionend","keypress","textInput","paste"]);sr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));sr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));sr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Do="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ih=new Set("cancel close invalid load scroll toggle".split(" ").concat(Do));function of(e,t,a){var r=e.type||"unknown-event";e.currentTarget=a,Ig(r,t,void 0,e),e.currentTarget=null}function Ac(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var r=e[a],o=r.event;r=r.listeners;e:{var n=void 0;if(t)for(var l=r.length-1;0<=l;l--){var s=r[l],u=s.instance,d=s.currentTarget;if(s=s.listener,u!==n&&o.isPropagationStopped())break e;of(o,s,d),n=u}else for(l=0;l<r.length;l++){if(s=r[l],u=s.instance,d=s.currentTarget,s=s.listener,u!==n&&o.isPropagationStopped())break e;of(o,s,d),n=u}}}if(vl)throw e=gu,vl=!1,gu=null,e}function ye(e,t){var a=t[ku];a===void 0&&(a=t[ku]=new Set);var r=e+"__bubble";a.has(r)||(Mc(t,e,2,!1),a.add(r))}function qs(e,t,a){var r=0;t&&(r|=4),Mc(a,e,r,t)}var Jn="_reactListening"+Math.random().toString(36).slice(2);function jo(e){if(!e[Jn]){e[Jn]=!0,Nf.forEach(function(a){a!=="selectionchange"&&(Ih.has(a)||qs(a,!1,e),qs(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Jn]||(t[Jn]=!0,qs("selectionchange",!1,t))}}function Mc(e,t,a,r){switch(gc(t)){case 1:var o=Ug;break;case 4:o=Ng;break;default:o=ai}a=o.bind(null,t,a,e),o=void 0,!mu||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),r?o!==void 0?e.addEventListener(t,a,{capture:!0,passive:o}):e.addEventListener(t,a,!0):o!==void 0?e.addEventListener(t,a,{passive:o}):e.addEventListener(t,a,!1)}function Ws(e,t,a,r,o){var n=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var l=r.tag;if(l===3||l===4){var s=r.stateNode.containerInfo;if(s===o||s.nodeType===8&&s.parentNode===o)break;if(l===4)for(l=r.return;l!==null;){var u=l.tag;if((u===3||u===4)&&(u=l.stateNode.containerInfo,u===o||u.nodeType===8&&u.parentNode===o))return;l=l.return}for(;s!==null;){if(l=Ya(s),l===null)return;if(u=l.tag,u===5||u===6){r=n=l;continue e}s=s.parentNode}}r=r.return}tc(function(){var d=n,g=Zu(a),h=[];e:{var m=Dc.get(e);if(m!==void 0){var L=oi,y=e;switch(e){case"keypress":if(ul(a)===0)break e;case"keydown":case"keyup":L=eh;break;case"focusin":y="focus",L=Ns;break;case"focusout":y="blur",L=Ns;break;case"beforeblur":case"afterblur":L=Ns;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":L=$d;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":L=qg;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":L=rh;break;case bc:case Pc:case Tc:L=$g;break;case Rc:L=nh;break;case"scroll":L=Hg;break;case"wheel":L=sh;break;case"copy":case"cut":case"paste":L=Kg;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":L=Kd}var I=(t&4)!==0,U=!I&&e==="scroll",c=I?m!==null?m+"Capture":null:m;I=[];for(var i=d,f;i!==null;){f=i;var v=f.stateNode;if(f.tag===5&&v!==null&&(f=v,c!==null&&(v=qo(i,c),v!=null&&I.push(Xo(i,v,f)))),U)break;i=i.return}0<I.length&&(m=new L(m,y,null,a,g),h.push({event:m,listeners:I}))}}if((t&7)===0){e:{if(m=e==="mouseover"||e==="pointerover",L=e==="mouseout"||e==="pointerout",m&&a!==cu&&(y=a.relatedTarget||a.fromElement)&&(Ya(y)||y[na]))break e;if((L||m)&&(m=g.window===g?g:(m=g.ownerDocument)?m.defaultView||m.parentWindow:window,L?(y=a.relatedTarget||a.toElement,L=d,y=y?Ya(y):null,y!==null&&(U=ur(y),y!==U||y.tag!==5&&y.tag!==6)&&(y=null)):(L=null,y=d),L!==y)){if(I=$d,v="onMouseLeave",c="onMouseEnter",i="mouse",(e==="pointerout"||e==="pointerover")&&(I=Kd,v="onPointerLeave",c="onPointerEnter",i="pointer"),U=L==null?m:Br(L),f=y==null?m:Br(y),m=new I(v,i+"leave",L,a,g),m.target=U,m.relatedTarget=f,v=null,Ya(g)===d&&(I=new I(c,i+"enter",y,a,g),I.target=f,I.relatedTarget=U,v=I),U=v,L&&y)t:{for(I=L,c=y,i=0,f=I;f;f=Rr(f))i++;for(f=0,v=c;v;v=Rr(v))f++;for(;0<i-f;)I=Rr(I),i--;for(;0<f-i;)c=Rr(c),f--;for(;i--;){if(I===c||c!==null&&I===c.alternate)break t;I=Rr(I),c=Rr(c)}I=null}else I=null;L!==null&&nf(h,m,L,I,!1),y!==null&&U!==null&&nf(h,U,y,I,!0)}}e:{if(m=d?Br(d):window,L=m.nodeName&&m.nodeName.toLowerCase(),L==="select"||L==="input"&&m.type==="file")var w=mh;else if(Qd(m))if(Sc)w=vh;else{w=hh;var k=gh}else(L=m.nodeName)&&L.toLowerCase()==="input"&&(m.type==="checkbox"||m.type==="radio")&&(w=xh);if(w&&(w=w(e,d))){yc(h,w,a,g);break e}k&&k(e,m,d),e==="focusout"&&(k=m._wrapperState)&&k.controlled&&m.type==="number"&&su(m,"number",m.value)}switch(k=d?Br(d):window,e){case"focusin":(Qd(k)||k.contentEditable==="true")&&(Er=k,Lu=d,Bo=null);break;case"focusout":Bo=Lu=Er=null;break;case"mousedown":yu=!0;break;case"contextmenu":case"mouseup":case"dragend":yu=!1,ef(h,a,g);break;case"selectionchange":if(Sh)break;case"keydown":case"keyup":ef(h,a,g)}var p;if(li)e:{switch(e){case"compositionstart":var S="onCompositionStart";break e;case"compositionend":S="onCompositionEnd";break e;case"compositionupdate":S="onCompositionUpdate";break e}S=void 0}else Mr?vc(e,a)&&(S="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(S="onCompositionStart");S&&(xc&&a.locale!=="ko"&&(Mr||S!=="onCompositionStart"?S==="onCompositionEnd"&&Mr&&(p=hc()):(va=g,ri="value"in va?va.value:va.textContent,Mr=!0)),k=Cl(d,S),0<k.length&&(S=new Gd(S,e,null,a,g),h.push({event:S,listeners:k}),p?S.data=p:(p=Lc(a),p!==null&&(S.data=p)))),(p=ih?dh(e,a):fh(e,a))&&(d=Cl(d,"onBeforeInput"),0<d.length&&(g=new Gd("onBeforeInput","beforeinput",null,a,g),h.push({event:g,listeners:d}),g.data=p))}Ac(h,t)})}function Xo(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Cl(e,t){for(var a=t+"Capture",r=[];e!==null;){var o=e,n=o.stateNode;o.tag===5&&n!==null&&(o=n,n=qo(e,a),n!=null&&r.unshift(Xo(e,n,o)),n=qo(e,t),n!=null&&r.push(Xo(e,n,o))),e=e.return}return r}function Rr(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function nf(e,t,a,r,o){for(var n=t._reactName,l=[];a!==null&&a!==r;){var s=a,u=s.alternate,d=s.stateNode;if(u!==null&&u===r)break;s.tag===5&&d!==null&&(s=d,o?(u=qo(a,n),u!=null&&l.unshift(Xo(a,u,s))):o||(u=qo(a,n),u!=null&&l.push(Xo(a,u,s)))),a=a.return}l.length!==0&&e.push({event:t,listeners:l})}var Ch=/\\r\\n?/g,wh=/\\u0000|\\uFFFD/g;function lf(e){return(typeof e=="string"?e:""+e).replace(Ch,`\n`).replace(wh,"")}function el(e,t,a){if(t=lf(t),lf(e)!==t&&a)throw Error(P(425))}function wl(){}var Su=null,Iu=null;function Cu(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var wu=typeof setTimeout=="function"?setTimeout:void 0,kh=typeof clearTimeout=="function"?clearTimeout:void 0,sf=typeof Promise=="function"?Promise:void 0,bh=typeof queueMicrotask=="function"?queueMicrotask:typeof sf<"u"?function(e){return sf.resolve(null).then(e).catch(Ph)}:wu;function Ph(e){setTimeout(function(){throw e})}function Vs(e,t){var a=t,r=0;do{var o=a.nextSibling;if(e.removeChild(a),o&&o.nodeType===8)if(a=o.data,a==="/$"){if(r===0){e.removeChild(o),$o(t);return}r--}else a!=="$"&&a!=="$?"&&a!=="$!"||r++;a=o}while(a);$o(t)}function Ca(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function uf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"){if(t===0)return e;t--}else a==="/$"&&t++}e=e.previousSibling}return null}var ao=Math.random().toString(36).slice(2),Vt="__reactFiber$"+ao,Qo="__reactProps$"+ao,na="__reactContainer$"+ao,ku="__reactEvents$"+ao,Th="__reactListeners$"+ao,Rh="__reactHandles$"+ao;function Ya(e){var t=e[Vt];if(t)return t;for(var a=e.parentNode;a;){if(t=a[na]||a[Vt]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=uf(e);e!==null;){if(a=e[Vt])return a;e=uf(e)}return t}e=a,a=e.parentNode}return null}function nn(e){return e=e[Vt]||e[na],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Br(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(P(33))}function Vl(e){return e[Qo]||null}var bu=[],Or=-1;function Aa(e){return{current:e}}function Se(e){0>Or||(e.current=bu[Or],bu[Or]=null,Or--)}function ve(e,t){Or++,bu[Or]=e.current,e.current=t}var Ra={},Ge=Aa(Ra),at=Aa(!1),ar=Ra;function Xr(e,t){var a=e.type.contextTypes;if(!a)return Ra;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},n;for(n in a)o[n]=t[n];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function rt(e){return e=e.childContextTypes,e!=null}function kl(){Se(at),Se(Ge)}function df(e,t,a){if(Ge.current!==Ra)throw Error(P(168));ve(Ge,t),ve(at,a)}function Ec(e,t,a){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return a;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(P(108,gg(e)||"Unknown",o));return be({},a,r)}function bl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ra,ar=Ge.current,ve(Ge,e),ve(at,at.current),!0}function ff(e,t,a){var r=e.stateNode;if(!r)throw Error(P(169));a?(e=Ec(e,t,ar),r.__reactInternalMemoizedMergedChildContext=e,Se(at),Se(Ge),ve(Ge,e)):Se(at),ve(at,a)}var ea=null,$l=!1,$s=!1;function Fc(e){ea===null?ea=[e]:ea.push(e)}function Dh(e){$l=!0,Fc(e)}function Ma(){if(!$s&&ea!==null){$s=!0;var e=0,t=pe;try{var a=ea;for(pe=1;e<a.length;e++){var r=a[e];do r=r(!0);while(r!==null)}ea=null,$l=!1}catch(o){throw ea!==null&&(ea=ea.slice(e+1)),nc(Ju,Ma),o}finally{pe=t,$s=!1}}return null}var zr=[],Ur=0,Pl=null,Tl=0,gt=[],ht=0,rr=null,ta=1,aa="";function Xa(e,t){zr[Ur++]=Tl,zr[Ur++]=Pl,Pl=e,Tl=t}function Bc(e,t,a){gt[ht++]=ta,gt[ht++]=aa,gt[ht++]=rr,rr=e;var r=ta;e=aa;var o=32-Mt(r)-1;r&=~(1<<o),a+=1;var n=32-Mt(t)+o;if(30<n){var l=o-o%5;n=(r&(1<<l)-1).toString(32),r>>=l,o-=l,ta=1<<32-Mt(t)+o|a<<o|r,aa=n+e}else ta=1<<n|a<<o|r,aa=e}function ui(e){e.return!==null&&(Xa(e,1),Bc(e,1,0))}function ii(e){for(;e===Pl;)Pl=zr[--Ur],zr[Ur]=null,Tl=zr[--Ur],zr[Ur]=null;for(;e===rr;)rr=gt[--ht],gt[ht]=null,aa=gt[--ht],gt[ht]=null,ta=gt[--ht],gt[ht]=null}var it=null,ut=null,Ce=!1,At=null;function Oc(e,t){var a=xt(5,null,null,0);a.elementType="DELETED",a.stateNode=t,a.return=e,t=e.deletions,t===null?(e.deletions=[a],e.flags|=16):t.push(a)}function cf(e,t){switch(e.tag){case 5:var a=e.type;return t=t.nodeType!==1||a.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,it=e,ut=Ca(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,it=e,ut=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(a=rr!==null?{id:ta,overflow:aa}:null,e.memoizedState={dehydrated:t,treeContext:a,retryLane:1073741824},a=xt(18,null,null,0),a.stateNode=t,a.return=e,e.child=a,it=e,ut=null,!0):!1;default:return!1}}function Pu(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Tu(e){if(Ce){var t=ut;if(t){var a=t;if(!cf(e,t)){if(Pu(e))throw Error(P(418));t=Ca(a.nextSibling);var r=it;t&&cf(e,t)?Oc(r,a):(e.flags=e.flags&-4097|2,Ce=!1,it=e)}}else{if(Pu(e))throw Error(P(418));e.flags=e.flags&-4097|2,Ce=!1,it=e}}}function pf(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;it=e}function tl(e){if(e!==it)return!1;if(!Ce)return pf(e),Ce=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Cu(e.type,e.memoizedProps)),t&&(t=ut)){if(Pu(e))throw zc(),Error(P(418));for(;t;)Oc(e,t),t=Ca(t.nextSibling)}if(pf(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(P(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"){if(t===0){ut=Ca(e.nextSibling);break e}t--}else a!=="$"&&a!=="$!"&&a!=="$?"||t++}e=e.nextSibling}ut=null}}else ut=it?Ca(e.stateNode.nextSibling):null;return!0}function zc(){for(var e=ut;e;)e=Ca(e.nextSibling)}function Qr(){ut=it=null,Ce=!1}function di(e){At===null?At=[e]:At.push(e)}var Ah=ua.ReactCurrentBatchConfig;function Co(e,t,a){if(e=a.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(a._owner){if(a=a._owner,a){if(a.tag!==1)throw Error(P(309));var r=a.stateNode}if(!r)throw Error(P(147,e));var o=r,n=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===n?t.ref:(t=function(l){var s=o.refs;l===null?delete s[n]:s[n]=l},t._stringRef=n,t)}if(typeof e!="string")throw Error(P(284));if(!a._owner)throw Error(P(290,e))}return e}function al(e,t){throw e=Object.prototype.toString.call(t),Error(P(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function mf(e){var t=e._init;return t(e._payload)}function Uc(e){function t(c,i){if(e){var f=c.deletions;f===null?(c.deletions=[i],c.flags|=16):f.push(i)}}function a(c,i){if(!e)return null;for(;i!==null;)t(c,i),i=i.sibling;return null}function r(c,i){for(c=new Map;i!==null;)i.key!==null?c.set(i.key,i):c.set(i.index,i),i=i.sibling;return c}function o(c,i){return c=Pa(c,i),c.index=0,c.sibling=null,c}function n(c,i,f){return c.index=f,e?(f=c.alternate,f!==null?(f=f.index,f<i?(c.flags|=2,i):f):(c.flags|=2,i)):(c.flags|=1048576,i)}function l(c){return e&&c.alternate===null&&(c.flags|=2),c}function s(c,i,f,v){return i===null||i.tag!==6?(i=Zs(f,c.mode,v),i.return=c,i):(i=o(i,f),i.return=c,i)}function u(c,i,f,v){var w=f.type;return w===Ar?g(c,i,f.props.children,v,f.key):i!==null&&(i.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===ma&&mf(w)===i.type)?(v=o(i,f.props),v.ref=Co(c,i,f),v.return=c,v):(v=gl(f.type,f.key,f.props,null,c.mode,v),v.ref=Co(c,i,f),v.return=c,v)}function d(c,i,f,v){return i===null||i.tag!==4||i.stateNode.containerInfo!==f.containerInfo||i.stateNode.implementation!==f.implementation?(i=Js(f,c.mode,v),i.return=c,i):(i=o(i,f.children||[]),i.return=c,i)}function g(c,i,f,v,w){return i===null||i.tag!==7?(i=tr(f,c.mode,v,w),i.return=c,i):(i=o(i,f),i.return=c,i)}function h(c,i,f){if(typeof i=="string"&&i!==""||typeof i=="number")return i=Zs(""+i,c.mode,f),i.return=c,i;if(typeof i=="object"&&i!==null){switch(i.$$typeof){case _n:return f=gl(i.type,i.key,i.props,null,c.mode,f),f.ref=Co(c,null,i),f.return=c,f;case Dr:return i=Js(i,c.mode,f),i.return=c,i;case ma:var v=i._init;return h(c,v(i._payload),f)}if(To(i)||Lo(i))return i=tr(i,c.mode,f,null),i.return=c,i;al(c,i)}return null}function m(c,i,f,v){var w=i!==null?i.key:null;if(typeof f=="string"&&f!==""||typeof f=="number")return w!==null?null:s(c,i,""+f,v);if(typeof f=="object"&&f!==null){switch(f.$$typeof){case _n:return f.key===w?u(c,i,f,v):null;case Dr:return f.key===w?d(c,i,f,v):null;case ma:return w=f._init,m(c,i,w(f._payload),v)}if(To(f)||Lo(f))return w!==null?null:g(c,i,f,v,null);al(c,f)}return null}function L(c,i,f,v,w){if(typeof v=="string"&&v!==""||typeof v=="number")return c=c.get(f)||null,s(i,c,""+v,w);if(typeof v=="object"&&v!==null){switch(v.$$typeof){case _n:return c=c.get(v.key===null?f:v.key)||null,u(i,c,v,w);case Dr:return c=c.get(v.key===null?f:v.key)||null,d(i,c,v,w);case ma:var k=v._init;return L(c,i,f,k(v._payload),w)}if(To(v)||Lo(v))return c=c.get(f)||null,g(i,c,v,w,null);al(i,v)}return null}function y(c,i,f,v){for(var w=null,k=null,p=i,S=i=0,T=null;p!==null&&S<f.length;S++){p.index>S?(T=p,p=null):T=p.sibling;var F=m(c,p,f[S],v);if(F===null){p===null&&(p=T);break}e&&p&&F.alternate===null&&t(c,p),i=n(F,i,S),k===null?w=F:k.sibling=F,k=F,p=T}if(S===f.length)return a(c,p),Ce&&Xa(c,S),w;if(p===null){for(;S<f.length;S++)p=h(c,f[S],v),p!==null&&(i=n(p,i,S),k===null?w=p:k.sibling=p,k=p);return Ce&&Xa(c,S),w}for(p=r(c,p);S<f.length;S++)T=L(p,c,S,f[S],v),T!==null&&(e&&T.alternate!==null&&p.delete(T.key===null?S:T.key),i=n(T,i,S),k===null?w=T:k.sibling=T,k=T);return e&&p.forEach(function(A){return t(c,A)}),Ce&&Xa(c,S),w}function I(c,i,f,v){var w=Lo(f);if(typeof w!="function")throw Error(P(150));if(f=w.call(f),f==null)throw Error(P(151));for(var k=w=null,p=i,S=i=0,T=null,F=f.next();p!==null&&!F.done;S++,F=f.next()){p.index>S?(T=p,p=null):T=p.sibling;var A=m(c,p,F.value,v);if(A===null){p===null&&(p=T);break}e&&p&&A.alternate===null&&t(c,p),i=n(A,i,S),k===null?w=A:k.sibling=A,k=A,p=T}if(F.done)return a(c,p),Ce&&Xa(c,S),w;if(p===null){for(;!F.done;S++,F=f.next())F=h(c,F.value,v),F!==null&&(i=n(F,i,S),k===null?w=F:k.sibling=F,k=F);return Ce&&Xa(c,S),w}for(p=r(c,p);!F.done;S++,F=f.next())F=L(p,c,S,F.value,v),F!==null&&(e&&F.alternate!==null&&p.delete(F.key===null?S:F.key),i=n(F,i,S),k===null?w=F:k.sibling=F,k=F);return e&&p.forEach(function(O){return t(c,O)}),Ce&&Xa(c,S),w}function U(c,i,f,v){if(typeof f=="object"&&f!==null&&f.type===Ar&&f.key===null&&(f=f.props.children),typeof f=="object"&&f!==null){switch(f.$$typeof){case _n:e:{for(var w=f.key,k=i;k!==null;){if(k.key===w){if(w=f.type,w===Ar){if(k.tag===7){a(c,k.sibling),i=o(k,f.props.children),i.return=c,c=i;break e}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===ma&&mf(w)===k.type){a(c,k.sibling),i=o(k,f.props),i.ref=Co(c,k,f),i.return=c,c=i;break e}a(c,k);break}else t(c,k);k=k.sibling}f.type===Ar?(i=tr(f.props.children,c.mode,v,f.key),i.return=c,c=i):(v=gl(f.type,f.key,f.props,null,c.mode,v),v.ref=Co(c,i,f),v.return=c,c=v)}return l(c);case Dr:e:{for(k=f.key;i!==null;){if(i.key===k)if(i.tag===4&&i.stateNode.containerInfo===f.containerInfo&&i.stateNode.implementation===f.implementation){a(c,i.sibling),i=o(i,f.children||[]),i.return=c,c=i;break e}else{a(c,i);break}else t(c,i);i=i.sibling}i=Js(f,c.mode,v),i.return=c,c=i}return l(c);case ma:return k=f._init,U(c,i,k(f._payload),v)}if(To(f))return y(c,i,f,v);if(Lo(f))return I(c,i,f,v);al(c,f)}return typeof f=="string"&&f!==""||typeof f=="number"?(f=""+f,i!==null&&i.tag===6?(a(c,i.sibling),i=o(i,f),i.return=c,c=i):(a(c,i),i=Zs(f,c.mode,v),i.return=c,c=i),l(c)):a(c,i)}return U}var Yr=Uc(!0),Nc=Uc(!1),Rl=Aa(null),Dl=null,Nr=null,fi=null;function ci(){fi=Nr=Dl=null}function pi(e){var t=Rl.current;Se(Rl),e._currentValue=t}function Ru(e,t,a){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===a)break;e=e.return}}function Gr(e,t){Dl=e,fi=Nr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(tt=!0),e.firstContext=null)}function Lt(e){var t=e._currentValue;if(fi!==e)if(e={context:e,memoizedValue:t,next:null},Nr===null){if(Dl===null)throw Error(P(308));Nr=e,Dl.dependencies={lanes:0,firstContext:e}}else Nr=Nr.next=e;return t}var Za=null;function mi(e){Za===null?Za=[e]:Za.push(e)}function Hc(e,t,a,r){var o=t.interleaved;return o===null?(a.next=a,mi(t)):(a.next=o.next,o.next=a),t.interleaved=a,la(e,r)}function la(e,t){e.lanes|=t;var a=e.alternate;for(a!==null&&(a.lanes|=t),a=e,e=e.return;e!==null;)e.childLanes|=t,a=e.alternate,a!==null&&(a.childLanes|=t),a=e,e=e.return;return a.tag===3?a.stateNode:null}var ga=!1;function gi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function _c(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ra(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function wa(e,t,a){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(le&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,la(e,a)}return o=r.interleaved,o===null?(t.next=t,mi(r)):(t.next=o.next,o.next=t),r.interleaved=t,la(e,a)}function il(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,ei(e,a)}}function gf(e,t){var a=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,a===r)){var o=null,n=null;if(a=a.firstBaseUpdate,a!==null){do{var l={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};n===null?o=n=l:n=n.next=l,a=a.next}while(a!==null);n===null?o=n=t:n=n.next=t}else o=n=t;a={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:n,shared:r.shared,effects:r.effects},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}function Al(e,t,a,r){var o=e.updateQueue;ga=!1;var n=o.firstBaseUpdate,l=o.lastBaseUpdate,s=o.shared.pending;if(s!==null){o.shared.pending=null;var u=s,d=u.next;u.next=null,l===null?n=d:l.next=d,l=u;var g=e.alternate;g!==null&&(g=g.updateQueue,s=g.lastBaseUpdate,s!==l&&(s===null?g.firstBaseUpdate=d:s.next=d,g.lastBaseUpdate=u))}if(n!==null){var h=o.baseState;l=0,g=d=u=null,s=n;do{var m=s.lane,L=s.eventTime;if((r&m)===m){g!==null&&(g=g.next={eventTime:L,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var y=e,I=s;switch(m=t,L=a,I.tag){case 1:if(y=I.payload,typeof y=="function"){h=y.call(L,h,m);break e}h=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=I.payload,m=typeof y=="function"?y.call(L,h,m):y,m==null)break e;h=be({},h,m);break e;case 2:ga=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,m=o.effects,m===null?o.effects=[s]:m.push(s))}else L={eventTime:L,lane:m,tag:s.tag,payload:s.payload,callback:s.callback,next:null},g===null?(d=g=L,u=h):g=g.next=L,l|=m;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;m=s,s=m.next,m.next=null,o.lastBaseUpdate=m,o.shared.pending=null}}while(!0);if(g===null&&(u=h),o.baseState=u,o.firstBaseUpdate=d,o.lastBaseUpdate=g,t=o.shared.interleaved,t!==null){o=t;do l|=o.lane,o=o.next;while(o!==t)}else n===null&&(o.shared.lanes=0);nr|=l,e.lanes=l,e.memoizedState=h}}function hf(e,t,a){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(o!==null){if(r.callback=null,r=a,typeof o!="function")throw Error(P(191,o));o.call(r)}}}var ln={},Gt=Aa(ln),Yo=Aa(ln),Zo=Aa(ln);function Ja(e){if(e===ln)throw Error(P(174));return e}function hi(e,t){switch(ve(Zo,t),ve(Yo,e),ve(Gt,ln),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:iu(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=iu(t,e)}Se(Gt),ve(Gt,t)}function Zr(){Se(Gt),Se(Yo),Se(Zo)}function qc(e){Ja(Zo.current);var t=Ja(Gt.current),a=iu(t,e.type);t!==a&&(ve(Yo,e),ve(Gt,a))}function xi(e){Yo.current===e&&(Se(Gt),Se(Yo))}var we=Aa(0);function Ml(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||a.data==="$?"||a.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Gs=[];function vi(){for(var e=0;e<Gs.length;e++)Gs[e]._workInProgressVersionPrimary=null;Gs.length=0}var dl=ua.ReactCurrentDispatcher,Ks=ua.ReactCurrentBatchConfig,or=0,ke=null,Ee=null,Be=null,El=!1,Oo=!1,Jo=0,Mh=0;function We(){throw Error(P(321))}function Li(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!Ft(e[a],t[a]))return!1;return!0}function yi(e,t,a,r,o,n){if(or=n,ke=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,dl.current=e===null||e.memoizedState===null?Oh:zh,e=a(r,o),Oo){n=0;do{if(Oo=!1,Jo=0,25<=n)throw Error(P(301));n+=1,Be=Ee=null,t.updateQueue=null,dl.current=Uh,e=a(r,o)}while(Oo)}if(dl.current=Fl,t=Ee!==null&&Ee.next!==null,or=0,Be=Ee=ke=null,El=!1,t)throw Error(P(300));return e}function Si(){var e=Jo!==0;return Jo=0,e}function Wt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Be===null?ke.memoizedState=Be=e:Be=Be.next=e,Be}function yt(){if(Ee===null){var e=ke.alternate;e=e!==null?e.memoizedState:null}else e=Ee.next;var t=Be===null?ke.memoizedState:Be.next;if(t!==null)Be=t,Ee=e;else{if(e===null)throw Error(P(310));Ee=e,e={memoizedState:Ee.memoizedState,baseState:Ee.baseState,baseQueue:Ee.baseQueue,queue:Ee.queue,next:null},Be===null?ke.memoizedState=Be=e:Be=Be.next=e}return Be}function en(e,t){return typeof t=="function"?t(e):t}function js(e){var t=yt(),a=t.queue;if(a===null)throw Error(P(311));a.lastRenderedReducer=e;var r=Ee,o=r.baseQueue,n=a.pending;if(n!==null){if(o!==null){var l=o.next;o.next=n.next,n.next=l}r.baseQueue=o=n,a.pending=null}if(o!==null){n=o.next,r=r.baseState;var s=l=null,u=null,d=n;do{var g=d.lane;if((or&g)===g)u!==null&&(u=u.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),r=d.hasEagerState?d.eagerState:e(r,d.action);else{var h={lane:g,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};u===null?(s=u=h,l=r):u=u.next=h,ke.lanes|=g,nr|=g}d=d.next}while(d!==null&&d!==n);u===null?l=r:u.next=s,Ft(r,t.memoizedState)||(tt=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=u,a.lastRenderedState=r}if(e=a.interleaved,e!==null){o=e;do n=o.lane,ke.lanes|=n,nr|=n,o=o.next;while(o!==e)}else o===null&&(a.lanes=0);return[t.memoizedState,a.dispatch]}function Xs(e){var t=yt(),a=t.queue;if(a===null)throw Error(P(311));a.lastRenderedReducer=e;var r=a.dispatch,o=a.pending,n=t.memoizedState;if(o!==null){a.pending=null;var l=o=o.next;do n=e(n,l.action),l=l.next;while(l!==o);Ft(n,t.memoizedState)||(tt=!0),t.memoizedState=n,t.baseQueue===null&&(t.baseState=n),a.lastRenderedState=n}return[n,r]}function Wc(){}function Vc(e,t){var a=ke,r=yt(),o=t(),n=!Ft(r.memoizedState,o);if(n&&(r.memoizedState=o,tt=!0),r=r.queue,Ii(Kc.bind(null,a,r,e),[e]),r.getSnapshot!==t||n||Be!==null&&Be.memoizedState.tag&1){if(a.flags|=2048,tn(9,Gc.bind(null,a,r,o,t),void 0,null),Oe===null)throw Error(P(349));(or&30)!==0||$c(a,t,o)}return o}function $c(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=ke.updateQueue,t===null?(t={lastEffect:null,stores:null},ke.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function Gc(e,t,a,r){t.value=a,t.getSnapshot=r,jc(t)&&Xc(e)}function Kc(e,t,a){return a(function(){jc(t)&&Xc(e)})}function jc(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!Ft(e,a)}catch{return!0}}function Xc(e){var t=la(e,1);t!==null&&Et(t,e,1,-1)}function xf(e){var t=Wt();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:en,lastRenderedState:e},t.queue=e,e=e.dispatch=Bh.bind(null,ke,e),[t.memoizedState,e]}function tn(e,t,a,r){return e={tag:e,create:t,destroy:a,deps:r,next:null},t=ke.updateQueue,t===null?(t={lastEffect:null,stores:null},ke.updateQueue=t,t.lastEffect=e.next=e):(a=t.lastEffect,a===null?t.lastEffect=e.next=e:(r=a.next,a.next=e,e.next=r,t.lastEffect=e)),e}function Qc(){return yt().memoizedState}function fl(e,t,a,r){var o=Wt();ke.flags|=e,o.memoizedState=tn(1|t,a,void 0,r===void 0?null:r)}function Gl(e,t,a,r){var o=yt();r=r===void 0?null:r;var n=void 0;if(Ee!==null){var l=Ee.memoizedState;if(n=l.destroy,r!==null&&Li(r,l.deps)){o.memoizedState=tn(t,a,n,r);return}}ke.flags|=e,o.memoizedState=tn(1|t,a,n,r)}function vf(e,t){return fl(8390656,8,e,t)}function Ii(e,t){return Gl(2048,8,e,t)}function Yc(e,t){return Gl(4,2,e,t)}function Zc(e,t){return Gl(4,4,e,t)}function Jc(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function ep(e,t,a){return a=a!=null?a.concat([e]):null,Gl(4,4,Jc.bind(null,t,e),a)}function Ci(){}function tp(e,t){var a=yt();t=t===void 0?null:t;var r=a.memoizedState;return r!==null&&t!==null&&Li(t,r[1])?r[0]:(a.memoizedState=[e,t],e)}function ap(e,t){var a=yt();t=t===void 0?null:t;var r=a.memoizedState;return r!==null&&t!==null&&Li(t,r[1])?r[0]:(e=e(),a.memoizedState=[e,t],e)}function rp(e,t,a){return(or&21)===0?(e.baseState&&(e.baseState=!1,tt=!0),e.memoizedState=a):(Ft(a,t)||(a=uc(),ke.lanes|=a,nr|=a,e.baseState=!0),t)}function Eh(e,t){var a=pe;pe=a!==0&&4>a?a:4,e(!0);var r=Ks.transition;Ks.transition={};try{e(!1),t()}finally{pe=a,Ks.transition=r}}function op(){return yt().memoizedState}function Fh(e,t,a){var r=ba(e);if(a={lane:r,action:a,hasEagerState:!1,eagerState:null,next:null},np(e))lp(t,a);else if(a=Hc(e,t,a,r),a!==null){var o=Qe();Et(a,e,r,o),sp(a,t,r)}}function Bh(e,t,a){var r=ba(e),o={lane:r,action:a,hasEagerState:!1,eagerState:null,next:null};if(np(e))lp(t,o);else{var n=e.alternate;if(e.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var l=t.lastRenderedState,s=n(l,a);if(o.hasEagerState=!0,o.eagerState=s,Ft(s,l)){var u=t.interleaved;u===null?(o.next=o,mi(t)):(o.next=u.next,u.next=o),t.interleaved=o;return}}catch{}finally{}a=Hc(e,t,o,r),a!==null&&(o=Qe(),Et(a,e,r,o),sp(a,t,r))}}function np(e){var t=e.alternate;return e===ke||t!==null&&t===ke}function lp(e,t){Oo=El=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function sp(e,t,a){if((a&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,ei(e,a)}}var Fl={readContext:Lt,useCallback:We,useContext:We,useEffect:We,useImperativeHandle:We,useInsertionEffect:We,useLayoutEffect:We,useMemo:We,useReducer:We,useRef:We,useState:We,useDebugValue:We,useDeferredValue:We,useTransition:We,useMutableSource:We,useSyncExternalStore:We,useId:We,unstable_isNewReconciler:!1},Oh={readContext:Lt,useCallback:function(e,t){return Wt().memoizedState=[e,t===void 0?null:t],e},useContext:Lt,useEffect:vf,useImperativeHandle:function(e,t,a){return a=a!=null?a.concat([e]):null,fl(4194308,4,Jc.bind(null,t,e),a)},useLayoutEffect:function(e,t){return fl(4194308,4,e,t)},useInsertionEffect:function(e,t){return fl(4,2,e,t)},useMemo:function(e,t){var a=Wt();return t=t===void 0?null:t,e=e(),a.memoizedState=[e,t],e},useReducer:function(e,t,a){var r=Wt();return t=a!==void 0?a(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Fh.bind(null,ke,e),[r.memoizedState,e]},useRef:function(e){var t=Wt();return e={current:e},t.memoizedState=e},useState:xf,useDebugValue:Ci,useDeferredValue:function(e){return Wt().memoizedState=e},useTransition:function(){var e=xf(!1),t=e[0];return e=Eh.bind(null,e[1]),Wt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,a){var r=ke,o=Wt();if(Ce){if(a===void 0)throw Error(P(407));a=a()}else{if(a=t(),Oe===null)throw Error(P(349));(or&30)!==0||$c(r,t,a)}o.memoizedState=a;var n={value:a,getSnapshot:t};return o.queue=n,vf(Kc.bind(null,r,n,e),[e]),r.flags|=2048,tn(9,Gc.bind(null,r,n,a,t),void 0,null),a},useId:function(){var e=Wt(),t=Oe.identifierPrefix;if(Ce){var a=aa,r=ta;a=(r&~(1<<32-Mt(r)-1)).toString(32)+a,t=":"+t+"R"+a,a=Jo++,0<a&&(t+="H"+a.toString(32)),t+=":"}else a=Mh++,t=":"+t+"r"+a.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},zh={readContext:Lt,useCallback:tp,useContext:Lt,useEffect:Ii,useImperativeHandle:ep,useInsertionEffect:Yc,useLayoutEffect:Zc,useMemo:ap,useReducer:js,useRef:Qc,useState:function(){return js(en)},useDebugValue:Ci,useDeferredValue:function(e){var t=yt();return rp(t,Ee.memoizedState,e)},useTransition:function(){var e=js(en)[0],t=yt().memoizedState;return[e,t]},useMutableSource:Wc,useSyncExternalStore:Vc,useId:op,unstable_isNewReconciler:!1},Uh={readContext:Lt,useCallback:tp,useContext:Lt,useEffect:Ii,useImperativeHandle:ep,useInsertionEffect:Yc,useLayoutEffect:Zc,useMemo:ap,useReducer:Xs,useRef:Qc,useState:function(){return Xs(en)},useDebugValue:Ci,useDeferredValue:function(e){var t=yt();return Ee===null?t.memoizedState=e:rp(t,Ee.memoizedState,e)},useTransition:function(){var e=Xs(en)[0],t=yt().memoizedState;return[e,t]},useMutableSource:Wc,useSyncExternalStore:Vc,useId:op,unstable_isNewReconciler:!1};function Rt(e,t){if(e&&e.defaultProps){t=be({},t),e=e.defaultProps;for(var a in e)t[a]===void 0&&(t[a]=e[a]);return t}return t}function Du(e,t,a,r){t=e.memoizedState,a=a(r,t),a=a==null?t:be({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var Kl={isMounted:function(e){return(e=e._reactInternals)?ur(e)===e:!1},enqueueSetState:function(e,t,a){e=e._reactInternals;var r=Qe(),o=ba(e),n=ra(r,o);n.payload=t,a!=null&&(n.callback=a),t=wa(e,n,o),t!==null&&(Et(t,e,o,r),il(t,e,o))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var r=Qe(),o=ba(e),n=ra(r,o);n.tag=1,n.payload=t,a!=null&&(n.callback=a),t=wa(e,n,o),t!==null&&(Et(t,e,o,r),il(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Qe(),r=ba(e),o=ra(a,r);o.tag=2,t!=null&&(o.callback=t),t=wa(e,o,r),t!==null&&(Et(t,e,r,a),il(t,e,r))}};function Lf(e,t,a,r,o,n,l){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,n,l):t.prototype&&t.prototype.isPureReactComponent?!Ko(a,r)||!Ko(o,n):!0}function up(e,t,a){var r=!1,o=Ra,n=t.contextType;return typeof n=="object"&&n!==null?n=Lt(n):(o=rt(t)?ar:Ge.current,r=t.contextTypes,n=(r=r!=null)?Xr(e,o):Ra),t=new t(a,n),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Kl,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=n),t}function yf(e,t,a,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,r),t.state!==e&&Kl.enqueueReplaceState(t,t.state,null)}function Au(e,t,a,r){var o=e.stateNode;o.props=a,o.state=e.memoizedState,o.refs={},gi(e);var n=t.contextType;typeof n=="object"&&n!==null?o.context=Lt(n):(n=rt(t)?ar:Ge.current,o.context=Xr(e,n)),o.state=e.memoizedState,n=t.getDerivedStateFromProps,typeof n=="function"&&(Du(e,t,n,a),o.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(t=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),t!==o.state&&Kl.enqueueReplaceState(o,o.state,null),Al(e,a,o,r),o.state=e.memoizedState),typeof o.componentDidMount=="function"&&(e.flags|=4194308)}function Jr(e,t){try{var a="",r=t;do a+=mg(r),r=r.return;while(r);var o=a}catch(n){o=`\nError generating stack: `+n.message+`\n`+n.stack}return{value:e,source:t,stack:o,digest:null}}function Qs(e,t,a){return{value:e,source:null,stack:a??null,digest:t??null}}function Mu(e,t){try{console.error(t.value)}catch(a){setTimeout(function(){throw a})}}var Nh=typeof WeakMap=="function"?WeakMap:Map;function ip(e,t,a){a=ra(-1,a),a.tag=3,a.payload={element:null};var r=t.value;return a.callback=function(){Ol||(Ol=!0,qu=r),Mu(e,t)},a}function dp(e,t,a){a=ra(-1,a),a.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var o=t.value;a.payload=function(){return r(o)},a.callback=function(){Mu(e,t)}}var n=e.stateNode;return n!==null&&typeof n.componentDidCatch=="function"&&(a.callback=function(){Mu(e,t),typeof r!="function"&&(ka===null?ka=new Set([this]):ka.add(this));var l=t.stack;this.componentDidCatch(t.value,{componentStack:l!==null?l:""})}),a}function Sf(e,t,a){var r=e.pingCache;if(r===null){r=e.pingCache=new Nh;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(a)||(o.add(a),e=Jh.bind(null,e,t,a),t.then(e,e))}function If(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Cf(e,t,a,r,o){return(e.mode&1)===0?(e===t?e.flags|=65536:(e.flags|=128,a.flags|=131072,a.flags&=-52805,a.tag===1&&(a.alternate===null?a.tag=17:(t=ra(-1,1),t.tag=2,wa(a,t,1))),a.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var Hh=ua.ReactCurrentOwner,tt=!1;function Xe(e,t,a,r){t.child=e===null?Nc(t,null,a,r):Yr(t,e.child,a,r)}function wf(e,t,a,r,o){a=a.render;var n=t.ref;return Gr(t,o),r=yi(e,t,a,r,n,o),a=Si(),e!==null&&!tt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,sa(e,t,o)):(Ce&&a&&ui(t),t.flags|=1,Xe(e,t,r,o),t.child)}function kf(e,t,a,r,o){if(e===null){var n=a.type;return typeof n=="function"&&!Ai(n)&&n.defaultProps===void 0&&a.compare===null&&a.defaultProps===void 0?(t.tag=15,t.type=n,fp(e,t,n,r,o)):(e=gl(a.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(n=e.child,(e.lanes&o)===0){var l=n.memoizedProps;if(a=a.compare,a=a!==null?a:Ko,a(l,r)&&e.ref===t.ref)return sa(e,t,o)}return t.flags|=1,e=Pa(n,r),e.ref=t.ref,e.return=t,t.child=e}function fp(e,t,a,r,o){if(e!==null){var n=e.memoizedProps;if(Ko(n,r)&&e.ref===t.ref)if(tt=!1,t.pendingProps=r=n,(e.lanes&o)!==0)(e.flags&131072)!==0&&(tt=!0);else return t.lanes=e.lanes,sa(e,t,o)}return Eu(e,t,a,r,o)}function cp(e,t,a){var r=t.pendingProps,o=r.children,n=e!==null?e.memoizedState:null;if(r.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ve(_r,st),st|=a;else{if((a&1073741824)===0)return e=n!==null?n.baseLanes|a:a,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ve(_r,st),st|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=n!==null?n.baseLanes:a,ve(_r,st),st|=r}else n!==null?(r=n.baseLanes|a,t.memoizedState=null):r=a,ve(_r,st),st|=r;return Xe(e,t,o,a),t.child}function pp(e,t){var a=t.ref;(e===null&&a!==null||e!==null&&e.ref!==a)&&(t.flags|=512,t.flags|=2097152)}function Eu(e,t,a,r,o){var n=rt(a)?ar:Ge.current;return n=Xr(t,n),Gr(t,o),a=yi(e,t,a,r,n,o),r=Si(),e!==null&&!tt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,sa(e,t,o)):(Ce&&r&&ui(t),t.flags|=1,Xe(e,t,a,o),t.child)}function bf(e,t,a,r,o){if(rt(a)){var n=!0;bl(t)}else n=!1;if(Gr(t,o),t.stateNode===null)cl(e,t),up(t,a,r),Au(t,a,r,o),r=!0;else if(e===null){var l=t.stateNode,s=t.memoizedProps;l.props=s;var u=l.context,d=a.contextType;typeof d=="object"&&d!==null?d=Lt(d):(d=rt(a)?ar:Ge.current,d=Xr(t,d));var g=a.getDerivedStateFromProps,h=typeof g=="function"||typeof l.getSnapshotBeforeUpdate=="function";h||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==r||u!==d)&&yf(t,l,r,d),ga=!1;var m=t.memoizedState;l.state=m,Al(t,r,l,o),u=t.memoizedState,s!==r||m!==u||at.current||ga?(typeof g=="function"&&(Du(t,a,g,r),u=t.memoizedState),(s=ga||Lf(t,a,s,r,m,u,d))?(h||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount()),typeof l.componentDidMount=="function"&&(t.flags|=4194308)):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=u),l.props=r,l.state=u,l.context=d,r=s):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{l=t.stateNode,_c(e,t),s=t.memoizedProps,d=t.type===t.elementType?s:Rt(t.type,s),l.props=d,h=t.pendingProps,m=l.context,u=a.contextType,typeof u=="object"&&u!==null?u=Lt(u):(u=rt(a)?ar:Ge.current,u=Xr(t,u));var L=a.getDerivedStateFromProps;(g=typeof L=="function"||typeof l.getSnapshotBeforeUpdate=="function")||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==h||m!==u)&&yf(t,l,r,u),ga=!1,m=t.memoizedState,l.state=m,Al(t,r,l,o);var y=t.memoizedState;s!==h||m!==y||at.current||ga?(typeof L=="function"&&(Du(t,a,L,r),y=t.memoizedState),(d=ga||Lf(t,a,d,r,m,y,u)||!1)?(g||typeof l.UNSAFE_componentWillUpdate!="function"&&typeof l.componentWillUpdate!="function"||(typeof l.componentWillUpdate=="function"&&l.componentWillUpdate(r,y,u),typeof l.UNSAFE_componentWillUpdate=="function"&&l.UNSAFE_componentWillUpdate(r,y,u)),typeof l.componentDidUpdate=="function"&&(t.flags|=4),typeof l.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=y),l.props=r,l.state=y,l.context=u,r=d):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),r=!1)}return Fu(e,t,a,r,n,o)}function Fu(e,t,a,r,o,n){pp(e,t);var l=(t.flags&128)!==0;if(!r&&!l)return o&&ff(t,a,!1),sa(e,t,n);r=t.stateNode,Hh.current=t;var s=l&&typeof a.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&l?(t.child=Yr(t,e.child,null,n),t.child=Yr(t,null,s,n)):Xe(e,t,s,n),t.memoizedState=r.state,o&&ff(t,a,!0),t.child}function mp(e){var t=e.stateNode;t.pendingContext?df(e,t.pendingContext,t.pendingContext!==t.context):t.context&&df(e,t.context,!1),hi(e,t.containerInfo)}function Pf(e,t,a,r,o){return Qr(),di(o),t.flags|=256,Xe(e,t,a,r),t.child}var Bu={dehydrated:null,treeContext:null,retryLane:0};function Ou(e){return{baseLanes:e,cachePool:null,transitions:null}}function gp(e,t,a){var r=t.pendingProps,o=we.current,n=!1,l=(t.flags&128)!==0,s;if((s=l)||(s=e!==null&&e.memoizedState===null?!1:(o&2)!==0),s?(n=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(o|=1),ve(we,o&1),e===null)return Tu(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((t.mode&1)===0?t.lanes=1:e.data==="$!"?t.lanes=8:t.lanes=1073741824,null):(l=r.children,e=r.fallback,n?(r=t.mode,n=t.child,l={mode:"hidden",children:l},(r&1)===0&&n!==null?(n.childLanes=0,n.pendingProps=l):n=Ql(l,r,0,null),e=tr(e,r,a,null),n.return=t,e.return=t,n.sibling=e,t.child=n,t.child.memoizedState=Ou(a),t.memoizedState=Bu,e):wi(t,l));if(o=e.memoizedState,o!==null&&(s=o.dehydrated,s!==null))return _h(e,t,l,r,s,o,a);if(n){n=r.fallback,l=t.mode,o=e.child,s=o.sibling;var u={mode:"hidden",children:r.children};return(l&1)===0&&t.child!==o?(r=t.child,r.childLanes=0,r.pendingProps=u,t.deletions=null):(r=Pa(o,u),r.subtreeFlags=o.subtreeFlags&14680064),s!==null?n=Pa(s,n):(n=tr(n,l,a,null),n.flags|=2),n.return=t,r.return=t,r.sibling=n,t.child=r,r=n,n=t.child,l=e.child.memoizedState,l=l===null?Ou(a):{baseLanes:l.baseLanes|a,cachePool:null,transitions:l.transitions},n.memoizedState=l,n.childLanes=e.childLanes&~a,t.memoizedState=Bu,r}return n=e.child,e=n.sibling,r=Pa(n,{mode:"visible",children:r.children}),(t.mode&1)===0&&(r.lanes=a),r.return=t,r.sibling=null,e!==null&&(a=t.deletions,a===null?(t.deletions=[e],t.flags|=16):a.push(e)),t.child=r,t.memoizedState=null,r}function wi(e,t){return t=Ql({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function rl(e,t,a,r){return r!==null&&di(r),Yr(t,e.child,null,a),e=wi(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function _h(e,t,a,r,o,n,l){if(a)return t.flags&256?(t.flags&=-257,r=Qs(Error(P(422))),rl(e,t,l,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(n=r.fallback,o=t.mode,r=Ql({mode:"visible",children:r.children},o,0,null),n=tr(n,o,l,null),n.flags|=2,r.return=t,n.return=t,r.sibling=n,t.child=r,(t.mode&1)!==0&&Yr(t,e.child,null,l),t.child.memoizedState=Ou(l),t.memoizedState=Bu,n);if((t.mode&1)===0)return rl(e,t,l,null);if(o.data==="$!"){if(r=o.nextSibling&&o.nextSibling.dataset,r)var s=r.dgst;return r=s,n=Error(P(419)),r=Qs(n,r,void 0),rl(e,t,l,r)}if(s=(l&e.childLanes)!==0,tt||s){if(r=Oe,r!==null){switch(l&-l){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=(o&(r.suspendedLanes|l))!==0?0:o,o!==0&&o!==n.retryLane&&(n.retryLane=o,la(e,o),Et(r,e,o,-1))}return Di(),r=Qs(Error(P(421))),rl(e,t,l,r)}return o.data==="$?"?(t.flags|=128,t.child=e.child,t=ex.bind(null,e),o._reactRetry=t,null):(e=n.treeContext,ut=Ca(o.nextSibling),it=t,Ce=!0,At=null,e!==null&&(gt[ht++]=ta,gt[ht++]=aa,gt[ht++]=rr,ta=e.id,aa=e.overflow,rr=t),t=wi(t,r.children),t.flags|=4096,t)}function Tf(e,t,a){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ru(e.return,t,a)}function Ys(e,t,a,r,o){var n=e.memoizedState;n===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:a,tailMode:o}:(n.isBackwards=t,n.rendering=null,n.renderingStartTime=0,n.last=r,n.tail=a,n.tailMode=o)}function hp(e,t,a){var r=t.pendingProps,o=r.revealOrder,n=r.tail;if(Xe(e,t,r.children,a),r=we.current,(r&2)!==0)r=r&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Tf(e,a,t);else if(e.tag===19)Tf(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ve(we,r),(t.mode&1)===0)t.memoizedState=null;else switch(o){case"forwards":for(a=t.child,o=null;a!==null;)e=a.alternate,e!==null&&Ml(e)===null&&(o=a),a=a.sibling;a=o,a===null?(o=t.child,t.child=null):(o=a.sibling,a.sibling=null),Ys(t,!1,o,a,n);break;case"backwards":for(a=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&Ml(e)===null){t.child=o;break}e=o.sibling,o.sibling=a,a=o,o=e}Ys(t,!0,a,null,n);break;case"together":Ys(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function cl(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function sa(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),nr|=t.lanes,(a&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(P(153));if(t.child!==null){for(e=t.child,a=Pa(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=Pa(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function qh(e,t,a){switch(t.tag){case 3:mp(t),Qr();break;case 5:qc(t);break;case 1:rt(t.type)&&bl(t);break;case 4:hi(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;ve(Rl,r._currentValue),r._currentValue=o;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(ve(we,we.current&1),t.flags|=128,null):(a&t.child.childLanes)!==0?gp(e,t,a):(ve(we,we.current&1),e=sa(e,t,a),e!==null?e.sibling:null);ve(we,we.current&1);break;case 19:if(r=(a&t.childLanes)!==0,(e.flags&128)!==0){if(r)return hp(e,t,a);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),ve(we,we.current),r)break;return null;case 22:case 23:return t.lanes=0,cp(e,t,a)}return sa(e,t,a)}var xp,zu,vp,Lp;xp=function(e,t){for(var a=t.child;a!==null;){if(a.tag===5||a.tag===6)e.appendChild(a.stateNode);else if(a.tag!==4&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return;a=a.return}a.sibling.return=a.return,a=a.sibling}};zu=function(){};vp=function(e,t,a,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Ja(Gt.current);var n=null;switch(a){case"input":o=nu(e,o),r=nu(e,r),n=[];break;case"select":o=be({},o,{value:void 0}),r=be({},r,{value:void 0}),n=[];break;case"textarea":o=uu(e,o),r=uu(e,r),n=[];break;default:typeof o.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=wl)}du(a,r);var l;a=null;for(d in o)if(!r.hasOwnProperty(d)&&o.hasOwnProperty(d)&&o[d]!=null)if(d==="style"){var s=o[d];for(l in s)s.hasOwnProperty(l)&&(a||(a={}),a[l]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(Ho.hasOwnProperty(d)?n||(n=[]):(n=n||[]).push(d,null));for(d in r){var u=r[d];if(s=o!=null?o[d]:void 0,r.hasOwnProperty(d)&&u!==s&&(u!=null||s!=null))if(d==="style")if(s){for(l in s)!s.hasOwnProperty(l)||u&&u.hasOwnProperty(l)||(a||(a={}),a[l]="");for(l in u)u.hasOwnProperty(l)&&s[l]!==u[l]&&(a||(a={}),a[l]=u[l])}else a||(n||(n=[]),n.push(d,a)),a=u;else d==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,s=s?s.__html:void 0,u!=null&&s!==u&&(n=n||[]).push(d,u)):d==="children"?typeof u!="string"&&typeof u!="number"||(n=n||[]).push(d,""+u):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(Ho.hasOwnProperty(d)?(u!=null&&d==="onScroll"&&ye("scroll",e),n||s===u||(n=[])):(n=n||[]).push(d,u))}a&&(n=n||[]).push("style",a);var d=n;(t.updateQueue=d)&&(t.flags|=4)}};Lp=function(e,t,a,r){a!==r&&(t.flags|=4)};function wo(e,t){if(!Ce)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var r=null;a!==null;)a.alternate!==null&&(r=a),a=a.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ve(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,r=0;if(t)for(var o=e.child;o!==null;)a|=o.lanes|o.childLanes,r|=o.subtreeFlags&14680064,r|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)a|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=a,t}function Wh(e,t,a){var r=t.pendingProps;switch(ii(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ve(t),null;case 1:return rt(t.type)&&kl(),Ve(t),null;case 3:return r=t.stateNode,Zr(),Se(at),Se(Ge),vi(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(tl(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,At!==null&&($u(At),At=null))),zu(e,t),Ve(t),null;case 5:xi(t);var o=Ja(Zo.current);if(a=t.type,e!==null&&t.stateNode!=null)vp(e,t,a,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(P(166));return Ve(t),null}if(e=Ja(Gt.current),tl(t)){r=t.stateNode,a=t.type;var n=t.memoizedProps;switch(r[Vt]=t,r[Qo]=n,e=(t.mode&1)!==0,a){case"dialog":ye("cancel",r),ye("close",r);break;case"iframe":case"object":case"embed":ye("load",r);break;case"video":case"audio":for(o=0;o<Do.length;o++)ye(Do[o],r);break;case"source":ye("error",r);break;case"img":case"image":case"link":ye("error",r),ye("load",r);break;case"details":ye("toggle",r);break;case"input":Bd(r,n),ye("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!n.multiple},ye("invalid",r);break;case"textarea":zd(r,n),ye("invalid",r)}du(a,n),o=null;for(var l in n)if(n.hasOwnProperty(l)){var s=n[l];l==="children"?typeof s=="string"?r.textContent!==s&&(n.suppressHydrationWarning!==!0&&el(r.textContent,s,e),o=["children",s]):typeof s=="number"&&r.textContent!==""+s&&(n.suppressHydrationWarning!==!0&&el(r.textContent,s,e),o=["children",""+s]):Ho.hasOwnProperty(l)&&s!=null&&l==="onScroll"&&ye("scroll",r)}switch(a){case"input":qn(r),Od(r,n,!0);break;case"textarea":qn(r),Ud(r);break;case"select":case"option":break;default:typeof n.onClick=="function"&&(r.onclick=wl)}r=o,t.updateQueue=r,r!==null&&(t.flags|=4)}else{l=o.nodeType===9?o:o.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Kf(a)),e==="http://www.w3.org/1999/xhtml"?a==="script"?(e=l.createElement("div"),e.innerHTML="<script><\\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=l.createElement(a,{is:r.is}):(e=l.createElement(a),a==="select"&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,a),e[Vt]=t,e[Qo]=r,xp(e,t,!1,!1),t.stateNode=e;e:{switch(l=fu(a,r),a){case"dialog":ye("cancel",e),ye("close",e),o=r;break;case"iframe":case"object":case"embed":ye("load",e),o=r;break;case"video":case"audio":for(o=0;o<Do.length;o++)ye(Do[o],e);o=r;break;case"source":ye("error",e),o=r;break;case"img":case"image":case"link":ye("error",e),ye("load",e),o=r;break;case"details":ye("toggle",e),o=r;break;case"input":Bd(e,r),o=nu(e,r),ye("invalid",e);break;case"option":o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=be({},r,{value:void 0}),ye("invalid",e);break;case"textarea":zd(e,r),o=uu(e,r),ye("invalid",e);break;default:o=r}du(a,o),s=o;for(n in s)if(s.hasOwnProperty(n)){var u=s[n];n==="style"?Qf(e,u):n==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,u!=null&&jf(e,u)):n==="children"?typeof u=="string"?(a!=="textarea"||u!=="")&&_o(e,u):typeof u=="number"&&_o(e,""+u):n!=="suppressContentEditableWarning"&&n!=="suppressHydrationWarning"&&n!=="autoFocus"&&(Ho.hasOwnProperty(n)?u!=null&&n==="onScroll"&&ye("scroll",e):u!=null&&ju(e,n,u,l))}switch(a){case"input":qn(e),Od(e,r,!1);break;case"textarea":qn(e),Ud(e);break;case"option":r.value!=null&&e.setAttribute("value",""+Ta(r.value));break;case"select":e.multiple=!!r.multiple,n=r.value,n!=null?qr(e,!!r.multiple,n,!1):r.defaultValue!=null&&qr(e,!!r.multiple,r.defaultValue,!0);break;default:typeof o.onClick=="function"&&(e.onclick=wl)}switch(a){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return Ve(t),null;case 6:if(e&&t.stateNode!=null)Lp(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(P(166));if(a=Ja(Zo.current),Ja(Gt.current),tl(t)){if(r=t.stateNode,a=t.memoizedProps,r[Vt]=t,(n=r.nodeValue!==a)&&(e=it,e!==null))switch(e.tag){case 3:el(r.nodeValue,a,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&el(r.nodeValue,a,(e.mode&1)!==0)}n&&(t.flags|=4)}else r=(a.nodeType===9?a:a.ownerDocument).createTextNode(r),r[Vt]=t,t.stateNode=r}return Ve(t),null;case 13:if(Se(we),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Ce&&ut!==null&&(t.mode&1)!==0&&(t.flags&128)===0)zc(),Qr(),t.flags|=98560,n=!1;else if(n=tl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!n)throw Error(P(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(P(317));n[Vt]=t}else Qr(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ve(t),n=!1}else At!==null&&($u(At),At=null),n=!0;if(!n)return t.flags&65536?t:null}return(t.flags&128)!==0?(t.lanes=a,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,(t.mode&1)!==0&&(e===null||(we.current&1)!==0?Fe===0&&(Fe=3):Di())),t.updateQueue!==null&&(t.flags|=4),Ve(t),null);case 4:return Zr(),zu(e,t),e===null&&jo(t.stateNode.containerInfo),Ve(t),null;case 10:return pi(t.type._context),Ve(t),null;case 17:return rt(t.type)&&kl(),Ve(t),null;case 19:if(Se(we),n=t.memoizedState,n===null)return Ve(t),null;if(r=(t.flags&128)!==0,l=n.rendering,l===null)if(r)wo(n,!1);else{if(Fe!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(l=Ml(e),l!==null){for(t.flags|=128,wo(n,!1),r=l.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=a,a=t.child;a!==null;)n=a,e=r,n.flags&=14680066,l=n.alternate,l===null?(n.childLanes=0,n.lanes=e,n.child=null,n.subtreeFlags=0,n.memoizedProps=null,n.memoizedState=null,n.updateQueue=null,n.dependencies=null,n.stateNode=null):(n.childLanes=l.childLanes,n.lanes=l.lanes,n.child=l.child,n.subtreeFlags=0,n.deletions=null,n.memoizedProps=l.memoizedProps,n.memoizedState=l.memoizedState,n.updateQueue=l.updateQueue,n.type=l.type,e=l.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),a=a.sibling;return ve(we,we.current&1|2),t.child}e=e.sibling}n.tail!==null&&Te()>eo&&(t.flags|=128,r=!0,wo(n,!1),t.lanes=4194304)}else{if(!r)if(e=Ml(l),e!==null){if(t.flags|=128,r=!0,a=e.updateQueue,a!==null&&(t.updateQueue=a,t.flags|=4),wo(n,!0),n.tail===null&&n.tailMode==="hidden"&&!l.alternate&&!Ce)return Ve(t),null}else 2*Te()-n.renderingStartTime>eo&&a!==1073741824&&(t.flags|=128,r=!0,wo(n,!1),t.lanes=4194304);n.isBackwards?(l.sibling=t.child,t.child=l):(a=n.last,a!==null?a.sibling=l:t.child=l,n.last=l)}return n.tail!==null?(t=n.tail,n.rendering=t,n.tail=t.sibling,n.renderingStartTime=Te(),t.sibling=null,a=we.current,ve(we,r?a&1|2:a&1),t):(Ve(t),null);case 22:case 23:return Ri(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(st&1073741824)!==0&&(Ve(t),t.subtreeFlags&6&&(t.flags|=8192)):Ve(t),null;case 24:return null;case 25:return null}throw Error(P(156,t.tag))}function Vh(e,t){switch(ii(t),t.tag){case 1:return rt(t.type)&&kl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Zr(),Se(at),Se(Ge),vi(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return xi(t),null;case 13:if(Se(we),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(P(340));Qr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Se(we),null;case 4:return Zr(),null;case 10:return pi(t.type._context),null;case 22:case 23:return Ri(),null;case 24:return null;default:return null}}var ol=!1,$e=!1,$h=typeof WeakSet=="function"?WeakSet:Set,z=null;function Hr(e,t){var a=e.ref;if(a!==null)if(typeof a=="function")try{a(null)}catch(r){Pe(e,t,r)}else a.current=null}function Uu(e,t,a){try{a()}catch(r){Pe(e,t,r)}}var Rf=!1;function Gh(e,t){if(Su=Sl,e=wc(),si(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var r=a.getSelection&&a.getSelection();if(r&&r.rangeCount!==0){a=r.anchorNode;var o=r.anchorOffset,n=r.focusNode;r=r.focusOffset;try{a.nodeType,n.nodeType}catch{a=null;break e}var l=0,s=-1,u=-1,d=0,g=0,h=e,m=null;t:for(;;){for(var L;h!==a||o!==0&&h.nodeType!==3||(s=l+o),h!==n||r!==0&&h.nodeType!==3||(u=l+r),h.nodeType===3&&(l+=h.nodeValue.length),(L=h.firstChild)!==null;)m=h,h=L;for(;;){if(h===e)break t;if(m===a&&++d===o&&(s=l),m===n&&++g===r&&(u=l),(L=h.nextSibling)!==null)break;h=m,m=h.parentNode}h=L}a=s===-1||u===-1?null:{start:s,end:u}}else a=null}a=a||{start:0,end:0}}else a=null;for(Iu={focusedElem:e,selectionRange:a},Sl=!1,z=t;z!==null;)if(t=z,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,z=e;else for(;z!==null;){t=z;try{var y=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var I=y.memoizedProps,U=y.memoizedState,c=t.stateNode,i=c.getSnapshotBeforeUpdate(t.elementType===t.type?I:Rt(t.type,I),U);c.__reactInternalSnapshotBeforeUpdate=i}break;case 3:var f=t.stateNode.containerInfo;f.nodeType===1?f.textContent="":f.nodeType===9&&f.documentElement&&f.removeChild(f.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(P(163))}}catch(v){Pe(t,t.return,v)}if(e=t.sibling,e!==null){e.return=t.return,z=e;break}z=t.return}return y=Rf,Rf=!1,y}function zo(e,t,a){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var n=o.destroy;o.destroy=void 0,n!==void 0&&Uu(t,a,n)}o=o.next}while(o!==r)}}function jl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var a=t=t.next;do{if((a.tag&e)===e){var r=a.create;a.destroy=r()}a=a.next}while(a!==t)}}function Nu(e){var t=e.ref;if(t!==null){var a=e.stateNode;switch(e.tag){case 5:e=a;break;default:e=a}typeof t=="function"?t(e):t.current=e}}function yp(e){var t=e.alternate;t!==null&&(e.alternate=null,yp(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Vt],delete t[Qo],delete t[ku],delete t[Th],delete t[Rh])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Sp(e){return e.tag===5||e.tag===3||e.tag===4}function Df(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Sp(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Hu(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.nodeType===8?a.parentNode.insertBefore(e,t):a.insertBefore(e,t):(a.nodeType===8?(t=a.parentNode,t.insertBefore(e,a)):(t=a,t.appendChild(e)),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=wl));else if(r!==4&&(e=e.child,e!==null))for(Hu(e,t,a),e=e.sibling;e!==null;)Hu(e,t,a),e=e.sibling}function _u(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(_u(e,t,a),e=e.sibling;e!==null;)_u(e,t,a),e=e.sibling}var Ue=null,Dt=!1;function pa(e,t,a){for(a=a.child;a!==null;)Ip(e,t,a),a=a.sibling}function Ip(e,t,a){if($t&&typeof $t.onCommitFiberUnmount=="function")try{$t.onCommitFiberUnmount(Hl,a)}catch{}switch(a.tag){case 5:$e||Hr(a,t);case 6:var r=Ue,o=Dt;Ue=null,pa(e,t,a),Ue=r,Dt=o,Ue!==null&&(Dt?(e=Ue,a=a.stateNode,e.nodeType===8?e.parentNode.removeChild(a):e.removeChild(a)):Ue.removeChild(a.stateNode));break;case 18:Ue!==null&&(Dt?(e=Ue,a=a.stateNode,e.nodeType===8?Vs(e.parentNode,a):e.nodeType===1&&Vs(e,a),$o(e)):Vs(Ue,a.stateNode));break;case 4:r=Ue,o=Dt,Ue=a.stateNode.containerInfo,Dt=!0,pa(e,t,a),Ue=r,Dt=o;break;case 0:case 11:case 14:case 15:if(!$e&&(r=a.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var n=o,l=n.destroy;n=n.tag,l!==void 0&&((n&2)!==0||(n&4)!==0)&&Uu(a,t,l),o=o.next}while(o!==r)}pa(e,t,a);break;case 1:if(!$e&&(Hr(a,t),r=a.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=a.memoizedProps,r.state=a.memoizedState,r.componentWillUnmount()}catch(s){Pe(a,t,s)}pa(e,t,a);break;case 21:pa(e,t,a);break;case 22:a.mode&1?($e=(r=$e)||a.memoizedState!==null,pa(e,t,a),$e=r):pa(e,t,a);break;default:pa(e,t,a)}}function Af(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var a=e.stateNode;a===null&&(a=e.stateNode=new $h),t.forEach(function(r){var o=tx.bind(null,e,r);a.has(r)||(a.add(r),r.then(o,o))})}}function Tt(e,t){var a=t.deletions;if(a!==null)for(var r=0;r<a.length;r++){var o=a[r];try{var n=e,l=t,s=l;e:for(;s!==null;){switch(s.tag){case 5:Ue=s.stateNode,Dt=!1;break e;case 3:Ue=s.stateNode.containerInfo,Dt=!0;break e;case 4:Ue=s.stateNode.containerInfo,Dt=!0;break e}s=s.return}if(Ue===null)throw Error(P(160));Ip(n,l,o),Ue=null,Dt=!1;var u=o.alternate;u!==null&&(u.return=null),o.return=null}catch(d){Pe(o,t,d)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Cp(t,e),t=t.sibling}function Cp(e,t){var a=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Tt(t,e),qt(e),r&4){try{zo(3,e,e.return),jl(3,e)}catch(I){Pe(e,e.return,I)}try{zo(5,e,e.return)}catch(I){Pe(e,e.return,I)}}break;case 1:Tt(t,e),qt(e),r&512&&a!==null&&Hr(a,a.return);break;case 5:if(Tt(t,e),qt(e),r&512&&a!==null&&Hr(a,a.return),e.flags&32){var o=e.stateNode;try{_o(o,"")}catch(I){Pe(e,e.return,I)}}if(r&4&&(o=e.stateNode,o!=null)){var n=e.memoizedProps,l=a!==null?a.memoizedProps:n,s=e.type,u=e.updateQueue;if(e.updateQueue=null,u!==null)try{s==="input"&&n.type==="radio"&&n.name!=null&&$f(o,n),fu(s,l);var d=fu(s,n);for(l=0;l<u.length;l+=2){var g=u[l],h=u[l+1];g==="style"?Qf(o,h):g==="dangerouslySetInnerHTML"?jf(o,h):g==="children"?_o(o,h):ju(o,g,h,d)}switch(s){case"input":lu(o,n);break;case"textarea":Gf(o,n);break;case"select":var m=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!n.multiple;var L=n.value;L!=null?qr(o,!!n.multiple,L,!1):m!==!!n.multiple&&(n.defaultValue!=null?qr(o,!!n.multiple,n.defaultValue,!0):qr(o,!!n.multiple,n.multiple?[]:"",!1))}o[Qo]=n}catch(I){Pe(e,e.return,I)}}break;case 6:if(Tt(t,e),qt(e),r&4){if(e.stateNode===null)throw Error(P(162));o=e.stateNode,n=e.memoizedProps;try{o.nodeValue=n}catch(I){Pe(e,e.return,I)}}break;case 3:if(Tt(t,e),qt(e),r&4&&a!==null&&a.memoizedState.isDehydrated)try{$o(t.containerInfo)}catch(I){Pe(e,e.return,I)}break;case 4:Tt(t,e),qt(e);break;case 13:Tt(t,e),qt(e),o=e.child,o.flags&8192&&(n=o.memoizedState!==null,o.stateNode.isHidden=n,!n||o.alternate!==null&&o.alternate.memoizedState!==null||(Pi=Te())),r&4&&Af(e);break;case 22:if(g=a!==null&&a.memoizedState!==null,e.mode&1?($e=(d=$e)||g,Tt(t,e),$e=d):Tt(t,e),qt(e),r&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!g&&(e.mode&1)!==0)for(z=e,g=e.child;g!==null;){for(h=z=g;z!==null;){switch(m=z,L=m.child,m.tag){case 0:case 11:case 14:case 15:zo(4,m,m.return);break;case 1:Hr(m,m.return);var y=m.stateNode;if(typeof y.componentWillUnmount=="function"){r=m,a=m.return;try{t=r,y.props=t.memoizedProps,y.state=t.memoizedState,y.componentWillUnmount()}catch(I){Pe(r,a,I)}}break;case 5:Hr(m,m.return);break;case 22:if(m.memoizedState!==null){Ef(h);continue}}L!==null?(L.return=m,z=L):Ef(h)}g=g.sibling}e:for(g=null,h=e;;){if(h.tag===5){if(g===null){g=h;try{o=h.stateNode,d?(n=o.style,typeof n.setProperty=="function"?n.setProperty("display","none","important"):n.display="none"):(s=h.stateNode,u=h.memoizedProps.style,l=u!=null&&u.hasOwnProperty("display")?u.display:null,s.style.display=Xf("display",l))}catch(I){Pe(e,e.return,I)}}}else if(h.tag===6){if(g===null)try{h.stateNode.nodeValue=d?"":h.memoizedProps}catch(I){Pe(e,e.return,I)}}else if((h.tag!==22&&h.tag!==23||h.memoizedState===null||h===e)&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===e)break e;for(;h.sibling===null;){if(h.return===null||h.return===e)break e;g===h&&(g=null),h=h.return}g===h&&(g=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:Tt(t,e),qt(e),r&4&&Af(e);break;case 21:break;default:Tt(t,e),qt(e)}}function qt(e){var t=e.flags;if(t&2){try{e:{for(var a=e.return;a!==null;){if(Sp(a)){var r=a;break e}a=a.return}throw Error(P(160))}switch(r.tag){case 5:var o=r.stateNode;r.flags&32&&(_o(o,""),r.flags&=-33);var n=Df(e);_u(e,n,o);break;case 3:case 4:var l=r.stateNode.containerInfo,s=Df(e);Hu(e,s,l);break;default:throw Error(P(161))}}catch(u){Pe(e,e.return,u)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Kh(e,t,a){z=e,wp(e,t,a)}function wp(e,t,a){for(var r=(e.mode&1)!==0;z!==null;){var o=z,n=o.child;if(o.tag===22&&r){var l=o.memoizedState!==null||ol;if(!l){var s=o.alternate,u=s!==null&&s.memoizedState!==null||$e;s=ol;var d=$e;if(ol=l,($e=u)&&!d)for(z=o;z!==null;)l=z,u=l.child,l.tag===22&&l.memoizedState!==null?Ff(o):u!==null?(u.return=l,z=u):Ff(o);for(;n!==null;)z=n,wp(n,t,a),n=n.sibling;z=o,ol=s,$e=d}Mf(e,t,a)}else(o.subtreeFlags&8772)!==0&&n!==null?(n.return=o,z=n):Mf(e,t,a)}}function Mf(e){for(;z!==null;){var t=z;if((t.flags&8772)!==0){var a=t.alternate;try{if((t.flags&8772)!==0)switch(t.tag){case 0:case 11:case 15:$e||jl(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!$e)if(a===null)r.componentDidMount();else{var o=t.elementType===t.type?a.memoizedProps:Rt(t.type,a.memoizedProps);r.componentDidUpdate(o,a.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var n=t.updateQueue;n!==null&&hf(t,n,r);break;case 3:var l=t.updateQueue;if(l!==null){if(a=null,t.child!==null)switch(t.child.tag){case 5:a=t.child.stateNode;break;case 1:a=t.child.stateNode}hf(t,l,a)}break;case 5:var s=t.stateNode;if(a===null&&t.flags&4){a=s;var u=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":u.autoFocus&&a.focus();break;case"img":u.src&&(a.src=u.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var d=t.alternate;if(d!==null){var g=d.memoizedState;if(g!==null){var h=g.dehydrated;h!==null&&$o(h)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(P(163))}$e||t.flags&512&&Nu(t)}catch(m){Pe(t,t.return,m)}}if(t===e){z=null;break}if(a=t.sibling,a!==null){a.return=t.return,z=a;break}z=t.return}}function Ef(e){for(;z!==null;){var t=z;if(t===e){z=null;break}var a=t.sibling;if(a!==null){a.return=t.return,z=a;break}z=t.return}}function Ff(e){for(;z!==null;){var t=z;try{switch(t.tag){case 0:case 11:case 15:var a=t.return;try{jl(4,t)}catch(u){Pe(t,a,u)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var o=t.return;try{r.componentDidMount()}catch(u){Pe(t,o,u)}}var n=t.return;try{Nu(t)}catch(u){Pe(t,n,u)}break;case 5:var l=t.return;try{Nu(t)}catch(u){Pe(t,l,u)}}}catch(u){Pe(t,t.return,u)}if(t===e){z=null;break}var s=t.sibling;if(s!==null){s.return=t.return,z=s;break}z=t.return}}var jh=Math.ceil,Bl=ua.ReactCurrentDispatcher,ki=ua.ReactCurrentOwner,vt=ua.ReactCurrentBatchConfig,le=0,Oe=null,De=null,Ne=0,st=0,_r=Aa(0),Fe=0,an=null,nr=0,Xl=0,bi=0,Uo=null,et=null,Pi=0,eo=1/0,Jt=null,Ol=!1,qu=null,ka=null,nl=!1,La=null,zl=0,No=0,Wu=null,pl=-1,ml=0;function Qe(){return(le&6)!==0?Te():pl!==-1?pl:pl=Te()}function ba(e){return(e.mode&1)===0?1:(le&2)!==0&&Ne!==0?Ne&-Ne:Ah.transition!==null?(ml===0&&(ml=uc()),ml):(e=pe,e!==0||(e=window.event,e=e===void 0?16:gc(e.type)),e)}function Et(e,t,a,r){if(50<No)throw No=0,Wu=null,Error(P(185));rn(e,a,r),((le&2)===0||e!==Oe)&&(e===Oe&&((le&2)===0&&(Xl|=a),Fe===4&&xa(e,Ne)),ot(e,r),a===1&&le===0&&(t.mode&1)===0&&(eo=Te()+500,$l&&Ma()))}function ot(e,t){var a=e.callbackNode;Eg(e,t);var r=yl(e,e===Oe?Ne:0);if(r===0)a!==null&&_d(a),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(a!=null&&_d(a),t===1)e.tag===0?Dh(Bf.bind(null,e)):Fc(Bf.bind(null,e)),bh(function(){(le&6)===0&&Ma()}),a=null;else{switch(ic(r)){case 1:a=Ju;break;case 4:a=lc;break;case 16:a=Ll;break;case 536870912:a=sc;break;default:a=Ll}a=Mp(a,kp.bind(null,e))}e.callbackPriority=t,e.callbackNode=a}}function kp(e,t){if(pl=-1,ml=0,(le&6)!==0)throw Error(P(327));var a=e.callbackNode;if(Kr()&&e.callbackNode!==a)return null;var r=yl(e,e===Oe?Ne:0);if(r===0)return null;if((r&30)!==0||(r&e.expiredLanes)!==0||t)t=Ul(e,r);else{t=r;var o=le;le|=2;var n=Pp();(Oe!==e||Ne!==t)&&(Jt=null,eo=Te()+500,er(e,t));do try{Yh();break}catch(s){bp(e,s)}while(!0);ci(),Bl.current=n,le=o,De!==null?t=0:(Oe=null,Ne=0,t=Fe)}if(t!==0){if(t===2&&(o=hu(e),o!==0&&(r=o,t=Vu(e,o))),t===1)throw a=an,er(e,0),xa(e,r),ot(e,Te()),a;if(t===6)xa(e,r);else{if(o=e.current.alternate,(r&30)===0&&!Xh(o)&&(t=Ul(e,r),t===2&&(n=hu(e),n!==0&&(r=n,t=Vu(e,n))),t===1))throw a=an,er(e,0),xa(e,r),ot(e,Te()),a;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(P(345));case 2:Qa(e,et,Jt);break;case 3:if(xa(e,r),(r&130023424)===r&&(t=Pi+500-Te(),10<t)){if(yl(e,0)!==0)break;if(o=e.suspendedLanes,(o&r)!==r){Qe(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=wu(Qa.bind(null,e,et,Jt),t);break}Qa(e,et,Jt);break;case 4:if(xa(e,r),(r&4194240)===r)break;for(t=e.eventTimes,o=-1;0<r;){var l=31-Mt(r);n=1<<l,l=t[l],l>o&&(o=l),r&=~n}if(r=o,r=Te()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*jh(r/1960))-r,10<r){e.timeoutHandle=wu(Qa.bind(null,e,et,Jt),r);break}Qa(e,et,Jt);break;case 5:Qa(e,et,Jt);break;default:throw Error(P(329))}}}return ot(e,Te()),e.callbackNode===a?kp.bind(null,e):null}function Vu(e,t){var a=Uo;return e.current.memoizedState.isDehydrated&&(er(e,t).flags|=256),e=Ul(e,t),e!==2&&(t=et,et=a,t!==null&&$u(t)),e}function $u(e){et===null?et=e:et.push.apply(et,e)}function Xh(e){for(var t=e;;){if(t.flags&16384){var a=t.updateQueue;if(a!==null&&(a=a.stores,a!==null))for(var r=0;r<a.length;r++){var o=a[r],n=o.getSnapshot;o=o.value;try{if(!Ft(n(),o))return!1}catch{return!1}}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function xa(e,t){for(t&=~bi,t&=~Xl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var a=31-Mt(t),r=1<<a;e[a]=-1,t&=~r}}function Bf(e){if((le&6)!==0)throw Error(P(327));Kr();var t=yl(e,0);if((t&1)===0)return ot(e,Te()),null;var a=Ul(e,t);if(e.tag!==0&&a===2){var r=hu(e);r!==0&&(t=r,a=Vu(e,r))}if(a===1)throw a=an,er(e,0),xa(e,t),ot(e,Te()),a;if(a===6)throw Error(P(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Qa(e,et,Jt),ot(e,Te()),null}function Ti(e,t){var a=le;le|=1;try{return e(t)}finally{le=a,le===0&&(eo=Te()+500,$l&&Ma())}}function lr(e){La!==null&&La.tag===0&&(le&6)===0&&Kr();var t=le;le|=1;var a=vt.transition,r=pe;try{if(vt.transition=null,pe=1,e)return e()}finally{pe=r,vt.transition=a,le=t,(le&6)===0&&Ma()}}function Ri(){st=_r.current,Se(_r)}function er(e,t){e.finishedWork=null,e.finishedLanes=0;var a=e.timeoutHandle;if(a!==-1&&(e.timeoutHandle=-1,kh(a)),De!==null)for(a=De.return;a!==null;){var r=a;switch(ii(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&kl();break;case 3:Zr(),Se(at),Se(Ge),vi();break;case 5:xi(r);break;case 4:Zr();break;case 13:Se(we);break;case 19:Se(we);break;case 10:pi(r.type._context);break;case 22:case 23:Ri()}a=a.return}if(Oe=e,De=e=Pa(e.current,null),Ne=st=t,Fe=0,an=null,bi=Xl=nr=0,et=Uo=null,Za!==null){for(t=0;t<Za.length;t++)if(a=Za[t],r=a.interleaved,r!==null){a.interleaved=null;var o=r.next,n=a.pending;if(n!==null){var l=n.next;n.next=o,r.next=l}a.pending=r}Za=null}return e}function bp(e,t){do{var a=De;try{if(ci(),dl.current=Fl,El){for(var r=ke.memoizedState;r!==null;){var o=r.queue;o!==null&&(o.pending=null),r=r.next}El=!1}if(or=0,Be=Ee=ke=null,Oo=!1,Jo=0,ki.current=null,a===null||a.return===null){Fe=1,an=t,De=null;break}e:{var n=e,l=a.return,s=a,u=t;if(t=Ne,s.flags|=32768,u!==null&&typeof u=="object"&&typeof u.then=="function"){var d=u,g=s,h=g.tag;if((g.mode&1)===0&&(h===0||h===11||h===15)){var m=g.alternate;m?(g.updateQueue=m.updateQueue,g.memoizedState=m.memoizedState,g.lanes=m.lanes):(g.updateQueue=null,g.memoizedState=null)}var L=If(l);if(L!==null){L.flags&=-257,Cf(L,l,s,n,t),L.mode&1&&Sf(n,d,t),t=L,u=d;var y=t.updateQueue;if(y===null){var I=new Set;I.add(u),t.updateQueue=I}else y.add(u);break e}else{if((t&1)===0){Sf(n,d,t),Di();break e}u=Error(P(426))}}else if(Ce&&s.mode&1){var U=If(l);if(U!==null){(U.flags&65536)===0&&(U.flags|=256),Cf(U,l,s,n,t),di(Jr(u,s));break e}}n=u=Jr(u,s),Fe!==4&&(Fe=2),Uo===null?Uo=[n]:Uo.push(n),n=l;do{switch(n.tag){case 3:n.flags|=65536,t&=-t,n.lanes|=t;var c=ip(n,u,t);gf(n,c);break e;case 1:s=u;var i=n.type,f=n.stateNode;if((n.flags&128)===0&&(typeof i.getDerivedStateFromError=="function"||f!==null&&typeof f.componentDidCatch=="function"&&(ka===null||!ka.has(f)))){n.flags|=65536,t&=-t,n.lanes|=t;var v=dp(n,s,t);gf(n,v);break e}}n=n.return}while(n!==null)}Rp(a)}catch(w){t=w,De===a&&a!==null&&(De=a=a.return);continue}break}while(!0)}function Pp(){var e=Bl.current;return Bl.current=Fl,e===null?Fl:e}function Di(){(Fe===0||Fe===3||Fe===2)&&(Fe=4),Oe===null||(nr&268435455)===0&&(Xl&268435455)===0||xa(Oe,Ne)}function Ul(e,t){var a=le;le|=2;var r=Pp();(Oe!==e||Ne!==t)&&(Jt=null,er(e,t));do try{Qh();break}catch(o){bp(e,o)}while(!0);if(ci(),le=a,Bl.current=r,De!==null)throw Error(P(261));return Oe=null,Ne=0,Fe}function Qh(){for(;De!==null;)Tp(De)}function Yh(){for(;De!==null&&!wg();)Tp(De)}function Tp(e){var t=Ap(e.alternate,e,st);e.memoizedProps=e.pendingProps,t===null?Rp(e):De=t,ki.current=null}function Rp(e){var t=e;do{var a=t.alternate;if(e=t.return,(t.flags&32768)===0){if(a=Wh(a,t,st),a!==null){De=a;return}}else{if(a=Vh(a,t),a!==null){a.flags&=32767,De=a;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Fe=6,De=null;return}}if(t=t.sibling,t!==null){De=t;return}De=t=e}while(t!==null);Fe===0&&(Fe=5)}function Qa(e,t,a){var r=pe,o=vt.transition;try{vt.transition=null,pe=1,Zh(e,t,a,r)}finally{vt.transition=o,pe=r}return null}function Zh(e,t,a,r){do Kr();while(La!==null);if((le&6)!==0)throw Error(P(327));a=e.finishedWork;var o=e.finishedLanes;if(a===null)return null;if(e.finishedWork=null,e.finishedLanes=0,a===e.current)throw Error(P(177));e.callbackNode=null,e.callbackPriority=0;var n=a.lanes|a.childLanes;if(Fg(e,n),e===Oe&&(De=Oe=null,Ne=0),(a.subtreeFlags&2064)===0&&(a.flags&2064)===0||nl||(nl=!0,Mp(Ll,function(){return Kr(),null})),n=(a.flags&15990)!==0,(a.subtreeFlags&15990)!==0||n){n=vt.transition,vt.transition=null;var l=pe;pe=1;var s=le;le|=4,ki.current=null,Gh(e,a),Cp(a,e),yh(Iu),Sl=!!Su,Iu=Su=null,e.current=a,Kh(a,e,o),kg(),le=s,pe=l,vt.transition=n}else e.current=a;if(nl&&(nl=!1,La=e,zl=o),n=e.pendingLanes,n===0&&(ka=null),Tg(a.stateNode,r),ot(e,Te()),t!==null)for(r=e.onRecoverableError,a=0;a<t.length;a++)o=t[a],r(o.value,{componentStack:o.stack,digest:o.digest});if(Ol)throw Ol=!1,e=qu,qu=null,e;return(zl&1)!==0&&e.tag!==0&&Kr(),n=e.pendingLanes,(n&1)!==0?e===Wu?No++:(No=0,Wu=e):No=0,Ma(),null}function Kr(){if(La!==null){var e=ic(zl),t=vt.transition,a=pe;try{if(vt.transition=null,pe=16>e?16:e,La===null)var r=!1;else{if(e=La,La=null,zl=0,(le&6)!==0)throw Error(P(331));var o=le;for(le|=4,z=e.current;z!==null;){var n=z,l=n.child;if((z.flags&16)!==0){var s=n.deletions;if(s!==null){for(var u=0;u<s.length;u++){var d=s[u];for(z=d;z!==null;){var g=z;switch(g.tag){case 0:case 11:case 15:zo(8,g,n)}var h=g.child;if(h!==null)h.return=g,z=h;else for(;z!==null;){g=z;var m=g.sibling,L=g.return;if(yp(g),g===d){z=null;break}if(m!==null){m.return=L,z=m;break}z=L}}}var y=n.alternate;if(y!==null){var I=y.child;if(I!==null){y.child=null;do{var U=I.sibling;I.sibling=null,I=U}while(I!==null)}}z=n}}if((n.subtreeFlags&2064)!==0&&l!==null)l.return=n,z=l;else e:for(;z!==null;){if(n=z,(n.flags&2048)!==0)switch(n.tag){case 0:case 11:case 15:zo(9,n,n.return)}var c=n.sibling;if(c!==null){c.return=n.return,z=c;break e}z=n.return}}var i=e.current;for(z=i;z!==null;){l=z;var f=l.child;if((l.subtreeFlags&2064)!==0&&f!==null)f.return=l,z=f;else e:for(l=i;z!==null;){if(s=z,(s.flags&2048)!==0)try{switch(s.tag){case 0:case 11:case 15:jl(9,s)}}catch(w){Pe(s,s.return,w)}if(s===l){z=null;break e}var v=s.sibling;if(v!==null){v.return=s.return,z=v;break e}z=s.return}}if(le=o,Ma(),$t&&typeof $t.onPostCommitFiberRoot=="function")try{$t.onPostCommitFiberRoot(Hl,e)}catch{}r=!0}return r}finally{pe=a,vt.transition=t}}return!1}function Of(e,t,a){t=Jr(a,t),t=ip(e,t,1),e=wa(e,t,1),t=Qe(),e!==null&&(rn(e,1,t),ot(e,t))}function Pe(e,t,a){if(e.tag===3)Of(e,e,a);else for(;t!==null;){if(t.tag===3){Of(t,e,a);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(ka===null||!ka.has(r))){e=Jr(a,e),e=dp(t,e,1),t=wa(t,e,1),e=Qe(),t!==null&&(rn(t,1,e),ot(t,e));break}}t=t.return}}function Jh(e,t,a){var r=e.pingCache;r!==null&&r.delete(t),t=Qe(),e.pingedLanes|=e.suspendedLanes&a,Oe===e&&(Ne&a)===a&&(Fe===4||Fe===3&&(Ne&130023424)===Ne&&500>Te()-Pi?er(e,0):bi|=a),ot(e,t)}function Dp(e,t){t===0&&((e.mode&1)===0?t=1:(t=$n,$n<<=1,($n&130023424)===0&&($n=4194304)));var a=Qe();e=la(e,t),e!==null&&(rn(e,t,a),ot(e,a))}function ex(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Dp(e,a)}function tx(e,t){var a=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(a=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(P(314))}r!==null&&r.delete(t),Dp(e,a)}var Ap;Ap=function(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps||at.current)tt=!0;else{if((e.lanes&a)===0&&(t.flags&128)===0)return tt=!1,qh(e,t,a);tt=(e.flags&131072)!==0}else tt=!1,Ce&&(t.flags&1048576)!==0&&Bc(t,Tl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;cl(e,t),e=t.pendingProps;var o=Xr(t,Ge.current);Gr(t,a),o=yi(null,t,r,e,o,a);var n=Si();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,rt(r)?(n=!0,bl(t)):n=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,gi(t),o.updater=Kl,t.stateNode=o,o._reactInternals=t,Au(t,r,e,a),t=Fu(null,t,r,!0,n,a)):(t.tag=0,Ce&&n&&ui(t),Xe(null,t,o,a),t=t.child),t;case 16:r=t.elementType;e:{switch(cl(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=rx(r),e=Rt(r,e),o){case 0:t=Eu(null,t,r,e,a);break e;case 1:t=bf(null,t,r,e,a);break e;case 11:t=wf(null,t,r,e,a);break e;case 14:t=kf(null,t,r,Rt(r.type,e),a);break e}throw Error(P(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Rt(r,o),Eu(e,t,r,o,a);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Rt(r,o),bf(e,t,r,o,a);case 3:e:{if(mp(t),e===null)throw Error(P(387));r=t.pendingProps,n=t.memoizedState,o=n.element,_c(e,t),Al(t,r,null,a);var l=t.memoizedState;if(r=l.element,n.isDehydrated)if(n={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){o=Jr(Error(P(423)),t),t=Pf(e,t,r,a,o);break e}else if(r!==o){o=Jr(Error(P(424)),t),t=Pf(e,t,r,a,o);break e}else for(ut=Ca(t.stateNode.containerInfo.firstChild),it=t,Ce=!0,At=null,a=Nc(t,null,r,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(Qr(),r===o){t=sa(e,t,a);break e}Xe(e,t,r,a)}t=t.child}return t;case 5:return qc(t),e===null&&Tu(t),r=t.type,o=t.pendingProps,n=e!==null?e.memoizedProps:null,l=o.children,Cu(r,o)?l=null:n!==null&&Cu(r,n)&&(t.flags|=32),pp(e,t),Xe(e,t,l,a),t.child;case 6:return e===null&&Tu(t),null;case 13:return gp(e,t,a);case 4:return hi(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Yr(t,null,r,a):Xe(e,t,r,a),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Rt(r,o),wf(e,t,r,o,a);case 7:return Xe(e,t,t.pendingProps,a),t.child;case 8:return Xe(e,t,t.pendingProps.children,a),t.child;case 12:return Xe(e,t,t.pendingProps.children,a),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,n=t.memoizedProps,l=o.value,ve(Rl,r._currentValue),r._currentValue=l,n!==null)if(Ft(n.value,l)){if(n.children===o.children&&!at.current){t=sa(e,t,a);break e}}else for(n=t.child,n!==null&&(n.return=t);n!==null;){var s=n.dependencies;if(s!==null){l=n.child;for(var u=s.firstContext;u!==null;){if(u.context===r){if(n.tag===1){u=ra(-1,a&-a),u.tag=2;var d=n.updateQueue;if(d!==null){d=d.shared;var g=d.pending;g===null?u.next=u:(u.next=g.next,g.next=u),d.pending=u}}n.lanes|=a,u=n.alternate,u!==null&&(u.lanes|=a),Ru(n.return,a,t),s.lanes|=a;break}u=u.next}}else if(n.tag===10)l=n.type===t.type?null:n.child;else if(n.tag===18){if(l=n.return,l===null)throw Error(P(341));l.lanes|=a,s=l.alternate,s!==null&&(s.lanes|=a),Ru(l,a,t),l=n.sibling}else l=n.child;if(l!==null)l.return=n;else for(l=n;l!==null;){if(l===t){l=null;break}if(n=l.sibling,n!==null){n.return=l.return,l=n;break}l=l.return}n=l}Xe(e,t,o.children,a),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Gr(t,a),o=Lt(o),r=r(o),t.flags|=1,Xe(e,t,r,a),t.child;case 14:return r=t.type,o=Rt(r,t.pendingProps),o=Rt(r.type,o),kf(e,t,r,o,a);case 15:return fp(e,t,t.type,t.pendingProps,a);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Rt(r,o),cl(e,t),t.tag=1,rt(r)?(e=!0,bl(t)):e=!1,Gr(t,a),up(t,r,o),Au(t,r,o,a),Fu(null,t,r,!0,e,a);case 19:return hp(e,t,a);case 22:return cp(e,t,a)}throw Error(P(156,t.tag))};function Mp(e,t){return nc(e,t)}function ax(e,t,a,r){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function xt(e,t,a,r){return new ax(e,t,a,r)}function Ai(e){return e=e.prototype,!(!e||!e.isReactComponent)}function rx(e){if(typeof e=="function")return Ai(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qu)return 11;if(e===Yu)return 14}return 2}function Pa(e,t){var a=e.alternate;return a===null?(a=xt(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&14680064,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a}function gl(e,t,a,r,o,n){var l=2;if(r=e,typeof e=="function")Ai(e)&&(l=1);else if(typeof e=="string")l=5;else e:switch(e){case Ar:return tr(a.children,o,n,t);case Xu:l=8,o|=8;break;case tu:return e=xt(12,a,t,o|2),e.elementType=tu,e.lanes=n,e;case au:return e=xt(13,a,t,o),e.elementType=au,e.lanes=n,e;case ru:return e=xt(19,a,t,o),e.elementType=ru,e.lanes=n,e;case qf:return Ql(a,o,n,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Hf:l=10;break e;case _f:l=9;break e;case Qu:l=11;break e;case Yu:l=14;break e;case ma:l=16,r=null;break e}throw Error(P(130,e==null?e:typeof e,""))}return t=xt(l,a,t,o),t.elementType=e,t.type=r,t.lanes=n,t}function tr(e,t,a,r){return e=xt(7,e,r,t),e.lanes=a,e}function Ql(e,t,a,r){return e=xt(22,e,r,t),e.elementType=qf,e.lanes=a,e.stateNode={isHidden:!1},e}function Zs(e,t,a){return e=xt(6,e,null,t),e.lanes=a,e}function Js(e,t,a){return t=xt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function ox(e,t,a,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Os(0),this.expirationTimes=Os(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Os(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Mi(e,t,a,r,o,n,l,s,u){return e=new ox(e,t,a,s,u),t===1?(t=1,n===!0&&(t|=8)):t=0,n=xt(3,null,null,t),e.current=n,n.stateNode=e,n.memoizedState={element:r,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},gi(n),e}function nx(e,t,a){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Dr,key:r==null?null:""+r,children:e,containerInfo:t,implementation:a}}function Ep(e){if(!e)return Ra;e=e._reactInternals;e:{if(ur(e)!==e||e.tag!==1)throw Error(P(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(rt(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(P(171))}if(e.tag===1){var a=e.type;if(rt(a))return Ec(e,a,t)}return t}function Fp(e,t,a,r,o,n,l,s,u){return e=Mi(a,r,!0,e,o,n,l,s,u),e.context=Ep(null),a=e.current,r=Qe(),o=ba(a),n=ra(r,o),n.callback=t??null,wa(a,n,o),e.current.lanes=o,rn(e,o,r),ot(e,r),e}function Yl(e,t,a,r){var o=t.current,n=Qe(),l=ba(o);return a=Ep(a),t.context===null?t.context=a:t.pendingContext=a,t=ra(n,l),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=wa(o,t,l),e!==null&&(Et(e,o,l,n),il(e,o,l)),l}function Nl(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function zf(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function Ei(e,t){zf(e,t),(e=e.alternate)&&zf(e,t)}function lx(){return null}var Bp=typeof reportError=="function"?reportError:function(e){console.error(e)};function Fi(e){this._internalRoot=e}Zl.prototype.render=Fi.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(P(409));Yl(e,t,null,null)};Zl.prototype.unmount=Fi.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;lr(function(){Yl(null,e,null,null)}),t[na]=null}};function Zl(e){this._internalRoot=e}Zl.prototype.unstable_scheduleHydration=function(e){if(e){var t=cc();e={blockedOn:null,target:e,priority:t};for(var a=0;a<ha.length&&t!==0&&t<ha[a].priority;a++);ha.splice(a,0,e),a===0&&mc(e)}};function Bi(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Jl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Uf(){}function sx(e,t,a,r,o){if(o){if(typeof r=="function"){var n=r;r=function(){var d=Nl(l);n.call(d)}}var l=Fp(t,r,e,0,null,!1,!1,"",Uf);return e._reactRootContainer=l,e[na]=l.current,jo(e.nodeType===8?e.parentNode:e),lr(),l}for(;o=e.lastChild;)e.removeChild(o);if(typeof r=="function"){var s=r;r=function(){var d=Nl(u);s.call(d)}}var u=Mi(e,0,!1,null,null,!1,!1,"",Uf);return e._reactRootContainer=u,e[na]=u.current,jo(e.nodeType===8?e.parentNode:e),lr(function(){Yl(t,u,a,r)}),u}function es(e,t,a,r,o){var n=a._reactRootContainer;if(n){var l=n;if(typeof o=="function"){var s=o;o=function(){var u=Nl(l);s.call(u)}}Yl(t,l,e,o)}else l=sx(a,t,e,o,r);return Nl(l)}dc=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var a=Ro(t.pendingLanes);a!==0&&(ei(t,a|1),ot(t,Te()),(le&6)===0&&(eo=Te()+500,Ma()))}break;case 13:lr(function(){var r=la(e,1);if(r!==null){var o=Qe();Et(r,e,1,o)}}),Ei(e,1)}};ti=function(e){if(e.tag===13){var t=la(e,134217728);if(t!==null){var a=Qe();Et(t,e,134217728,a)}Ei(e,134217728)}};fc=function(e){if(e.tag===13){var t=ba(e),a=la(e,t);if(a!==null){var r=Qe();Et(a,e,t,r)}Ei(e,t)}};cc=function(){return pe};pc=function(e,t){var a=pe;try{return pe=e,t()}finally{pe=a}};pu=function(e,t,a){switch(t){case"input":if(lu(e,a),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll("input[name="+JSON.stringify(""+t)+\'][type="radio"]\'),t=0;t<a.length;t++){var r=a[t];if(r!==e&&r.form===e.form){var o=Vl(r);if(!o)throw Error(P(90));Vf(r),lu(r,o)}}}break;case"textarea":Gf(e,a);break;case"select":t=a.value,t!=null&&qr(e,!!a.multiple,t,!1)}};Jf=Ti;ec=lr;var ux={usingClientEntryPoint:!1,Events:[nn,Br,Vl,Yf,Zf,Ti]},ko={findFiberByHostInstance:Ya,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},ix={bundleType:ko.bundleType,version:ko.version,rendererPackageName:ko.rendererPackageName,rendererConfig:ko.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=rc(e),e===null?null:e.stateNode},findFiberByHostInstance:ko.findFiberByHostInstance||lx,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(bo=__REACT_DEVTOOLS_GLOBAL_HOOK__,!bo.isDisabled&&bo.supportsFiber))try{Hl=bo.inject(ix),$t=bo}catch{}var bo;ct.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ux;ct.createPortal=function(e,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Bi(t))throw Error(P(200));return nx(e,t,null,a)};ct.createRoot=function(e,t){if(!Bi(e))throw Error(P(299));var a=!1,r="",o=Bp;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=Mi(e,1,!1,null,null,a,!1,r,o),e[na]=t.current,jo(e.nodeType===8?e.parentNode:e),new Fi(t)};ct.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(P(188)):(e=Object.keys(e).join(","),Error(P(268,e)));return e=rc(t),e=e===null?null:e.stateNode,e};ct.flushSync=function(e){return lr(e)};ct.hydrate=function(e,t,a){if(!Jl(t))throw Error(P(200));return es(null,e,t,!0,a)};ct.hydrateRoot=function(e,t,a){if(!Bi(e))throw Error(P(405));var r=a!=null&&a.hydratedSources||null,o=!1,n="",l=Bp;if(a!=null&&(a.unstable_strictMode===!0&&(o=!0),a.identifierPrefix!==void 0&&(n=a.identifierPrefix),a.onRecoverableError!==void 0&&(l=a.onRecoverableError)),t=Fp(t,null,e,1,a??null,o,!1,n,l),e[na]=t.current,jo(e),r)for(e=0;e<r.length;e++)a=r[e],o=a._getVersion,o=o(a._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[a,o]:t.mutableSourceEagerHydrationData.push(a,o);return new Zl(t)};ct.render=function(e,t,a){if(!Jl(t))throw Error(P(200));return es(null,e,t,!1,a)};ct.unmountComponentAtNode=function(e){if(!Jl(e))throw Error(P(40));return e._reactRootContainer?(lr(function(){es(null,null,e,!1,function(){e._reactRootContainer=null,e[na]=null})}),!0):!1};ct.unstable_batchedUpdates=Ti;ct.unstable_renderSubtreeIntoContainer=function(e,t,a,r){if(!Jl(a))throw Error(P(200));if(e==null||e._reactInternals===void 0)throw Error(P(38));return es(e,t,a,!1,r)};ct.version="18.3.1-next-f1338f8080-20240426"});var ro=Zt((gv,Up)=>{"use strict";function zp(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(zp)}catch(e){console.error(e)}}zp(),Up.exports=Op()});var Hp=Zt(Oi=>{"use strict";var Np=ro();Oi.createRoot=Np.createRoot,Oi.hydrateRoot=Np.hydrateRoot;var hv});var Gp=Zt(os=>{"use strict";var mx=Ie(),gx=Symbol.for("react.element"),hx=Symbol.for("react.fragment"),xx=Object.prototype.hasOwnProperty,vx=mx.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Lx={key:!0,ref:!0,__self:!0,__source:!0};function $p(e,t,a){var r,o={},n=null,l=null;a!==void 0&&(n=""+a),t.key!==void 0&&(n=""+t.key),t.ref!==void 0&&(l=t.ref);for(r in t)xx.call(t,r)&&!Lx.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)o[r]===void 0&&(o[r]=t[r]);return{$$typeof:gx,type:e,key:n,ref:l,props:o,_owner:vx.current}}os.Fragment=hx;os.jsx=$p;os.jsxs=$p});var _=Zt((VL,Kp)=>{"use strict";Kp.exports=Gp()});var km=D(Hp(),1);var ee=D(Ie(),1),Sm=D(ro(),1);function _p(e){return e.trim().replace(/^\\|/,"").replace(/\\|$/,"").split("|").map(a=>a.trim())}function dx(e){return/^\\s*\\|?\\s*:?-{3,}:?\\s*(\\|\\s*:?-{3,}:?\\s*)+\\|?\\s*$/.test(e)}function fx(e){let t=e.split(`\n`),a=[],r=0;for(;r<t.length;){let o=t[r]??"",n=t[r+1]??"";if(o.includes("|")&&dx(n)){let l=_p(o),s=[];for(r+=2;r<t.length&&t[r].includes("|")&&t[r].trim()!=="";)s.push(_p(t[r])),r+=1;let u=`<tr>${l.map(g=>`<th style="text-align:left;padding:7px 10px;border:1px solid #334155;color:#e2e8f0;background:#0f172a;">${g}</th>`).join("")}</tr>`,d=s.map(g=>`<tr>${g.map(h=>`<td style="padding:7px 10px;border:1px solid #334155;color:#cbd5e1;vertical-align:top;">${h}</td>`).join("")}</tr>`).join("");a.push(`<div style="overflow-x:auto;margin:0.65em 0;"><table style="border-collapse:collapse;min-width:360px;width:100%;font-size:12px;"><thead>${u}</thead><tbody>${d}</tbody></table></div>`);continue}a.push(t[r]),r+=1}return a.join(`\n`)}function ts(e){if(!e)return\'<span style="color:#475569;font-style:italic;">No description yet</span>\';let t=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");return fx(t).replace(/^### (.+)$/gm,\'<h3 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.05em;color:#cbd5e1;">$1</h3>\').replace(/^## (.+)$/gm,\'<h2 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.2em;color:#f1f5f9;">$1</h2>\').replace(/^# (.+)$/gm,\'<h1 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.4em;color:#f1f5f9;">$1</h1>\').replace(/[*][*]([^\\n]+?)[*][*]/g,\'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>\').replace(/__([^\\n]+?)__/g,\'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>\').replace(/[*]([^\\n*]+?)[*]/g,\'<em style="font-style:italic;color:#94a3b8;">$1</em>\').replace(/(?<![a-zA-Z0-9])_([^_\\n]+?)_(?![a-zA-Z0-9])/g,\'<em style="font-style:italic;color:#94a3b8;">$1</em>\').replace(/`(.+?)`/g,\'<code style="font-family:Menlo,monospace;font-size:12px;background:#1e293b;padding:1px 5px;border-radius:3px;color:#7dd3fc;">$1</code>\').replace(/\\[([^\\]]+)\\]\\((https?:\\/\\/[^)]+)\\)/g,\'<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;">$1</a>\').replace(/(^|[\\s(>])((https?:\\/\\/)[^\\s<>"\']+)/g,\'$1<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;word-break:break-all;">$2</a>\').replace(/(^|[^\\w])#([a-f0-9]{30})(?![a-f0-9])/gi,\'$1<a href="#task-$2" data-task-ref="$2" style="color:#60a5fa;text-decoration:underline;font-family:Menlo,monospace;">#$2</a>\').replace(/^[-*] (.+)$/gm,\'<li style="margin:0.2em 0;display:list-item;">$1</li>\').replace(/^---$/gm,\'<hr style="border:none;border-top:1px solid #334155;margin:0.8em 0;">\').replace(/(<li[^>]*>[\\s\\S]*?<\\/li>\\n?)+/g,r=>`<ul style="padding-left:1.5em;margin:0.4em 0;list-style-type:disc;">${r}</ul>`).replace(/^(?!<[a-z]|$).+$/gm,r=>`<p style="margin:0.5em 0;">${r}</p>`)}var cx="proto-comments-seen";function zi(e,t){try{let a=localStorage.getItem(cx),r=a?JSON.parse(a):{};return t>(r[e]??0)}catch{return!1}}function Ui(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function nt(e){try{return new Date(e).toLocaleString()}catch{return e}}var px=16;var Lv=BigInt("9".repeat(px));function Ni(e,t){return e.sortKey&&t.sortKey?e.sortKey<t.sortKey?-1:e.sortKey>t.sortKey?1:0:e.sortKey?-1:t.sortKey?1:(t.updatedAt??t.createdAt??"").localeCompare(e.updatedAt??e.createdAt??"")}var Oa=D(Ie(),1);var rs=D(Ie());var qp=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),as=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var sn=D(Ie());var Wp={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Vp=(0,sn.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:l,...s},u)=>(0,sn.createElement)("svg",{ref:u,...Wp,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:as("lucide",o),...s},[...l.map(([d,g])=>(0,sn.createElement)(d,g)),...Array.isArray(n)?n:[n]]));var Z=(e,t)=>{let a=(0,rs.forwardRef)(({className:r,...o},n)=>(0,rs.createElement)(Vp,{ref:n,iconNode:t,className:as(`lucide-${qp(e)}`,r),...o}));return a.displayName=`${e}`,a};var ir=Z("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);var un=Z("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var Ea=Z("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var dr=Z("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);var dn=Z("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var oo=Z("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var fn=Z("Flag",[["path",{d:"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z",key:"i9b6wo"}],["line",{x1:"4",x2:"4",y1:"22",y2:"15",key:"1cm3nv"}]]);var cn=Z("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var pn=Z("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);var mn=Z("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var fr=Z("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);var Fa=Z("PanelsTopLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]);var cr=Z("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);var gn=Z("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);var hn=Z("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);var pr=Z("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var no=Z("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var Ba=Z("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var lo=Z("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);var xn=Z("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var vn=Z("Workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]);var ze=Z("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var so=D(Ie(),1),om=D(ro(),1);var Qp=D(_(),1),jp={Bug:{background:"rgba(239,68,68,0.12)",color:"#f87171",border:"rgba(239,68,68,0.25)"},Research:{background:"rgba(192,132,252,0.12)",color:"#c084fc",border:"rgba(139,92,246,0.2)"},Task:{background:"rgba(148,163,184,0.1)",color:"#94a3b8",border:"rgba(148,163,184,0.2)"}};function Xp({type:e,style:t}){let a=typeof e=="string"&&e.trim()&&e!=="[object Object]"&&jp[e]?e:"Task",r=jp[a];return(0,Qp.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:r.background,color:r.color,border:`1px solid ${r.border}`,lineHeight:"1.5",...t},children:a})}var Jp=D(_(),1),Yp={Critical:{background:"rgba(239,68,68,0.15)",color:"#f87171",border:"rgba(239,68,68,0.3)"},High:{background:"rgba(249,115,22,0.12)",color:"#fb923c",border:"rgba(249,115,22,0.25)"},Medium:{background:"rgba(234,179,8,0.12)",color:"#facc15",border:"rgba(234,179,8,0.25)"},Low:{background:"rgba(148,163,184,0.1)",color:"#94a3b8",border:"rgba(148,163,184,0.2)"}};function Zp({priority:e,style:t}){if(!e||!Yp[e])return null;let a=Yp[e];return(0,Jp.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:a.background,color:a.color,border:`1px solid ${a.border}`,lineHeight:"1.5",...t},children:e})}var mr=[{value:"Task",icon:"\\u2611",label:"Task",css:"type-task",tooltip:"A general task or feature to implement."},{value:"Bug",icon:"\\u{1F41E}",label:"Bug",css:"type-bug",tooltip:"A defect \\u2014 annotator collects page errors and console logs to help reproduce it."},{value:"Research",icon:"\\u{1F52C}",label:"Research",css:"type-research",tooltip:"A research task \\u2014 agent will NOT write code but must attach a findings report."}],KL=mr.map(e=>e.value),tm=Object.fromEntries(mr.map(e=>[e.value,e.icon])),jL=Object.fromEntries(mr.map(e=>[e.value,e.css])),em={Task:"#94a3b8",Bug:"#ef4444",Research:"#a855f7"};function Ln(e){return em[e??"Task"]??em.Task}var am=[{bg:"color-mix(in srgb, var(--p-blue) 14%, transparent)",text:"var(--p-blue-200)",border:"color-mix(in srgb, var(--p-blue) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-green) 14%, transparent)",text:"var(--p-green-300)",border:"color-mix(in srgb, var(--p-green) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-purple) 14%, transparent)",text:"var(--p-purple-300)",border:"color-mix(in srgb, var(--p-purple) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-amber) 14%, transparent)",text:"var(--p-amber-300)",border:"color-mix(in srgb, var(--p-amber) 30%, transparent)"},{bg:"color-mix(in srgb, #f472b6 14%, transparent)",text:"#f9a8d4",border:"color-mix(in srgb, #f472b6 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-cyan) 14%, transparent)",text:"var(--p-cyan-300)",border:"color-mix(in srgb, var(--p-cyan) 30%, transparent)"},{bg:"color-mix(in srgb, #f87171 14%, transparent)",text:"#fca5a5",border:"color-mix(in srgb, #f87171 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-text-g) 14%, transparent)",text:"var(--p-text-m)",border:"color-mix(in srgb, var(--p-text-g) 30%, transparent)"}];function yx(e){let t=0;for(let a=0;a<e.length;a++)t=t*31+e.charCodeAt(a)>>>0;return t%am.length}function Bt(e){return am[yx(e)]}var yn=D(_(),1);function Sn({tags:e,onRemove:t,size:a="sm"}){if(!e.length)return null;let r=a==="xs"?"1px 6px":"2px 7px",o=a==="xs"?9:10;return(0,yn.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:3,alignItems:"center"},children:e.map(n=>{let{bg:l,text:s,border:u}=Bt(n);return(0,yn.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,padding:r,borderRadius:100,background:l,border:`1px solid ${u}`,color:s,fontSize:o,fontWeight:600,whiteSpace:"nowrap"},children:[n,t&&(0,yn.jsx)("button",{type:"button",onClick:d=>{d.stopPropagation(),t(n)},style:{display:"flex",background:"none",border:"none",color:s,cursor:"pointer",padding:0,lineHeight:1,opacity:.7},onMouseEnter:d=>{d.currentTarget.style.opacity="1"},onMouseLeave:d=>{d.currentTarget.style.opacity="0.7"},children:"\\xD7"})]},n)})})}var se=D(_(),1);function Sx(e){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function nm(e,t){if(!/^#[0-9a-fA-F]{6}$/.test(e))return;let a=Math.max(0,Math.min(1,t)),r=Math.round(a*255).toString(16).padStart(2,"0");return`${e}${r}`}function lm(e,t){return nm(e,t==="Critical"?.36:t==="High"?.3:.24)??"color-mix(in srgb, var(--p-text-g) 40%, transparent)"}function Ix(e){return nm(e,.05)??"transparent"}var Cx={padding:"7px 8px",gap:4,opacity:.45,userSelect:"none"},wx={display:"flex",alignItems:"center",gap:5},kx={width:12,height:12,color:"color-mix(in srgb, var(--p-green) 55%, transparent)",flexShrink:0},bx={fontSize:11.5,fontWeight:600,color:"var(--p-text-g)",textDecoration:"line-through",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},Px={display:"flex",alignItems:"center",gap:5,minWidth:0},Tx={flexShrink:0},Rx={fontSize:11.5,fontWeight:600,color:"var(--p-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},Dx={display:"flex",alignItems:"flex-start",gap:8},Ax={fontSize:10,color:"var(--p-text-g)",lineHeight:"1.45",overflow:"hidden",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,flex:1,minWidth:0},Mx={position:"relative",flexShrink:0},Ex={width:52,height:34,borderRadius:6,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 90%, transparent)",display:"block",cursor:"pointer"},Fx={display:"flex",alignItems:"center",gap:2,marginTop:1},Bx={flex:1},Hi=so.default.memo(function({task:t,col:a,liveActivity:r,onOpen:o,onDragStart:n}){var p;let l=a.id==="in-progress",s=a.id==="done",[u,d]=so.default.useState(!1),[g,h]=so.default.useState(null),m=so.default.useRef(null),L=t.commentCount??0,y=t.fileCount??0,I=L>0&&zi(t.id,L),U=lm(a.color,t.priority),c=Ln(t.type),i=Ix(c),f=(p=t.files)==null?void 0:p.find(S=>Sx(S.name)),v=f?`/api/tasks/${t.id}/files/${encodeURIComponent(f.name)}`:null;function w(S){n(S,t.id),S.currentTarget.classList.add("dragging")}function k(S){S.currentTarget.classList.remove("dragging")}return s?(0,se.jsx)("article",{className:"task-card",draggable:!0,"data-task-id":t.id,style:Cx,onDragStart:w,onDragEnd:k,onClick:()=>o(t),children:(0,se.jsxs)("div",{style:wx,children:[(0,se.jsx)(Ea,{style:kx}),(0,se.jsx)("span",{style:bx,children:t.title})]})}):(0,se.jsxs)("article",{className:`task-card${r?" task-live-edit":""}`,draggable:!0,"data-task-id":t.id,style:{padding:"7px 8px",gap:4,userSelect:"none",background:r?"rgba(59,130,246,0.08)":i,...r?{borderColor:"rgba(59,130,246,0.5)",boxShadow:"0 0 0 2px rgba(59,130,246,0.14)"}:U?{borderColor:U}:{}},onDragStart:w,onDragEnd:k,onClick:()=>o(t),children:[(0,se.jsxs)("div",{style:Px,children:[l&&(0,se.jsx)("span",{className:"spinner",style:Tx}),(0,se.jsx)("span",{style:Rx,children:t.title})]}),(t.description||v)&&(0,se.jsxs)("div",{style:Dx,children:[t.description&&(0,se.jsx)("div",{style:Ax,children:t.description}),v&&(0,se.jsxs)("div",{style:Mx,onMouseEnter:()=>{if(m.current){let S=m.current.getBoundingClientRect();h({top:S.top,right:S.right})}d(!0)},onMouseLeave:()=>{d(!1),h(null)},children:[(0,se.jsx)("img",{ref:m,src:v,alt:"Task screenshot","data-role":"task-thumb",style:Ex}),u&&g&&om.default.createPortal((0,se.jsx)("img",{src:v,alt:"Task screenshot enlarged preview","data-role":"task-thumb-preview",style:{position:"fixed",right:window.innerWidth-g.right,bottom:window.innerHeight-g.top+8,width:220,height:138,borderRadius:8,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 96%, transparent)",boxShadow:"0 10px 24px color-mix(in srgb, var(--p-bg) 75%, transparent)",pointerEvents:"none",zIndex:9999,background:"var(--p-bg)"}}),document.body)]})]}),(0,se.jsxs)("div",{className:"flex items-center",style:Fx,children:[(0,se.jsx)(Xp,{type:t.type}),t.priority&&(0,se.jsx)(Zp,{priority:t.priority}),l&&t.assigneeName&&(0,se.jsx)("span",{style:{fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(59,130,246,0.12)",color:"#60a5fa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:80},children:t.assigneeName}),t.tags&&t.tags.length>0&&(0,se.jsx)(Sn,{tags:t.tags,size:"xs"}),(0,se.jsx)("div",{style:Bx}),r&&(0,se.jsx)(_i,{activity:r}),(0,se.jsx)(rm,{icon:(0,se.jsx)(fr,{style:{width:9,height:9}}),label:L>0?String(L):"",color:I?"var(--p-purple)":L>0?"var(--p-text-m)":"var(--p-border-t)",hoverColor:I?"var(--p-purple-300)":"var(--p-text)",title:L>0?`${L} comment(s)`:"Add comment",badge:I,badgeColor:"var(--p-purple)",onClick:S=>{S.stopPropagation(),o(t,"comments")}}),(0,se.jsx)(rm,{icon:(0,se.jsx)(cr,{style:{width:9,height:9}}),label:y>0?String(y):"",color:y>0?"var(--p-blue-300)":"var(--p-border-t)",hoverColor:y>0?"var(--p-cyan-300)":"var(--p-text-sub)",title:y>0?`${y} file(s) attached`:"Files",onClick:S=>{S.stopPropagation(),o(t,"files")}})]})]})});function rm({icon:e,label:t,color:a,hoverColor:r,title:o,badge:n,badgeColor:l,onClick:s}){let[u,d]=so.default.useState(!1);return(0,se.jsxs)("button",{style:{display:"inline-flex",alignItems:"center",gap:2,padding:"2px 3px",borderRadius:3,border:"none",background:u?"color-mix(in srgb, var(--p-text-m) 10%, transparent)":"transparent",cursor:"pointer",fontSize:9,color:u?r:a,transition:"color .1s, background .1s"},title:o,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onClick:s,children:[e,t&&(0,se.jsx)("span",{children:t}),n&&(0,se.jsx)("span",{style:{width:4,height:4,background:l??a,borderRadius:"50%",flexShrink:0}})]})}function _i({activity:e}){let t=e.state==="locked"||e.state==="editing",a=t?(0,se.jsx)(mn,{style:{width:8,height:8}}):(0,se.jsx)(dn,{style:{width:8,height:8}}),r=t?`Locked by ${e.user}`:`${e.user} viewing`;return(0,se.jsxs)("span",{style:t?{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(244,114,182,0.35)",color:"#f9a8d4",background:"rgba(157,23,77,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"}:{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(59,130,246,0.35)",color:"#93c5fd",background:"rgba(30,58,138,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"},title:r,"data-testid":"live-activity-badge",children:[a,(0,se.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",minWidth:0,flex:"1 1 0"},children:e.user})]})}var ie=D(_(),1),za=[{id:"backlog",label:"Backlog",color:"var(--p-text-f)",accent:"color-mix(in srgb, var(--p-text-g) 20%, transparent)"},{id:"todo",label:"Todo",color:"var(--p-amber)",accent:"color-mix(in srgb, var(--p-amber) 12%, transparent)"},{id:"in-progress",label:"In Progress",color:"var(--p-blue)",accent:"color-mix(in srgb, var(--p-blue) 12%, transparent)",glow:!0},{id:"review",label:"Review",color:"var(--p-purple)",accent:"color-mix(in srgb, var(--p-purple) 12%, transparent)"},{id:"done",label:"Done",color:"var(--p-green)",accent:"color-mix(in srgb, var(--p-green) 10%, transparent)"}];var Ox=3;function zx(){return(0,ie.jsxs)("div",{style:{borderRadius:8,border:"1px solid var(--p-border-t)",padding:"10px 12px",background:"var(--p-bg-2)",marginBottom:6,animation:"skeleton-pulse 1.5s ease-in-out infinite"},children:[(0,ie.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"75%",marginBottom:8}}),(0,ie.jsx)("div",{style:{height:10,borderRadius:4,background:"var(--p-border-s)",width:"50%",marginBottom:8}}),(0,ie.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,ie.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:48}}),(0,ie.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:36}})]})]})}function qi({tasks:e,visibleCols:t,searchQuery:a,isLoading:r,liveActivities:o,onOpenPanel:n,onDrop:l,onReorder:s}){let u=Oa.default.useRef(null),d=Oa.default.useRef(null),[g,h]=Oa.default.useState(null),[m,L]=Oa.default.useState(null),[y,I]=Oa.default.useState(null),U=a?e.filter(p=>(p.title??"").toLowerCase().includes(a.toLowerCase())||(p.description??"").toLowerCase().includes(a.toLowerCase())):e,c=za.filter(p=>t.includes(p.id));Oa.default.useEffect(()=>{let p=u.current,S=d.current;if(!p||!S)return;function T(){if(!p||!S)return;let N=p.scrollWidth>p.clientWidth?p.clientWidth/p.scrollWidth:1,Q=Math.max(40,p.clientWidth*N);S.style.width=`${Q}px`;let oe=p.scrollWidth-p.clientWidth,$=p.clientWidth-Q;S.style.left=`${oe>0?p.scrollLeft/oe*$:0}px`,S.style.opacity=N<1?"1":"0"}p.addEventListener("scroll",T);let F=new ResizeObserver(T);F.observe(p),T();let A=!1,O=0,re=0;function J(N){A=!0,O=N.clientX,re=p.scrollLeft,S.classList.add("dragging"),document.addEventListener("mousemove",Re),document.addEventListener("mouseup",q)}function Re(N){if(!A||!p||!S)return;let Q=p.scrollWidth>p.clientWidth?p.scrollWidth/p.clientWidth:1;p.scrollLeft=re+(N.clientX-O)*Q}function q(){A=!1,S==null||S.classList.remove("dragging"),document.removeEventListener("mousemove",Re),document.removeEventListener("mouseup",q)}return S.addEventListener("mousedown",J),()=>{p.removeEventListener("scroll",T),F.disconnect(),S.removeEventListener("mousedown",J)}},[c.length]);function i(p,S){h(S),p.dataTransfer.effectAllowed="move"}function f(p,S){p.preventDefault(),L(S)}function v(p,S){p.preventDefault(),p.stopPropagation();let T=p.currentTarget.getBoundingClientRect(),F=p.clientY<T.top+T.height/2?"before":"after";I(A=>(A==null?void 0:A.taskId)===S&&A.position===F?A:{taskId:S,position:F})}function w(p,S,T){p.preventDefault(),L(null);let F=y;if(I(null),!g){h(null);return}if(s&&F){let A=T.findIndex(J=>J.id===F.taskId),O=null,re=null;F.position==="before"?(re=F.taskId,O=A>0?T[A-1].id:null):(O=F.taskId,re=A<T.length-1?T[A+1].id:null),s(g,S,O,re)}else l(g,S);h(null)}function k(){h(null),L(null),I(null)}return(0,ie.jsxs)(ie.Fragment,{children:[(0,ie.jsx)("main",{id:"kanban-board",ref:u,className:"flex-1 flex overflow-x-auto overflow-y-hidden",style:{padding:"16px 20px",gap:16},onDragEnd:k,children:c.map(p=>{let S=r?[]:U.filter(T=>T.status===p.id).sort(Ni);return(0,ie.jsx)(Ux,{col:p,tasks:S,isLoading:r,liveActivities:o,isDragOver:m===p.id&&!y,onDragOver:T=>f(T,p.id),onDrop:T=>w(T,p.id,S),onDragLeave:()=>{L(null),I(null)},onStatusChange:(T,F)=>l(T,F),onAddTask:()=>n(null,"details",p.id),onOpenTask:n,onDragStart:i,onCardDragOver:v,cardDropTarget:y},p.id)})}),(0,ie.jsx)("div",{id:"kanban-scroll-track",style:{position:"fixed",bottom:0,left:0,right:0,height:6,background:"transparent",zIndex:40,pointerEvents:"none"},children:(0,ie.jsx)("div",{id:"kanban-scroll-thumb",ref:d,style:{position:"absolute",top:1,height:4,borderRadius:2,background:"var(--p-border-t)",cursor:"pointer",pointerEvents:"auto",transition:"background 0.15s",opacity:0},onMouseEnter:p=>{p.currentTarget.style.background="var(--p-text-g)"},onMouseLeave:p=>{p.currentTarget.classList.contains("dragging")||(p.currentTarget.style.background="var(--p-border-t)")}})})]})}function Ux({col:e,tasks:t,isLoading:a,liveActivities:r,isDragOver:o,onDragOver:n,onDrop:l,onDragLeave:s,onStatusChange:u,onAddTask:d,onOpenTask:g,onDragStart:h,onCardDragOver:m,cardDropTarget:L}){let[y,I]=Oa.default.useState(!1),U=e.id==="in-progress"?"sd-inprogress":`sd-${e.id}`,c=20,i=e.id==="done",f=i&&t.length>c?t.length-c:0,v=i?t.slice(0,c):t;return(0,ie.jsxs)("section",{className:"board-column","data-column-id":e.id,style:{outline:o?`2px dashed ${e.color}66`:void 0,outlineOffset:-2,borderRadius:8},onDragOver:n,onDragLeave:s,onDrop:l,children:[(0,ie.jsxs)("div",{className:"column-header",style:{background:e.accent,borderColor:`color-mix(in srgb, ${e.color} 30%, transparent)`},children:[(0,ie.jsx)("div",{className:`status-dot ${U}`}),(0,ie.jsxs)("span",{style:{fontSize:12,fontWeight:600,color:e.id==="done"?`${e.color}b3`:e.color},children:[e.label,a?"":` \\xB7 ${t.length}`]}),(0,ie.jsx)("span",{style:{marginLeft:"auto"}}),(0,ie.jsx)("button",{type:"button",title:`Add task to ${e.label}`,style:{width:20,height:20,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:4,border:"none",background:"transparent",color:y?e.color:"var(--p-text-g)",cursor:"pointer",transition:"color .15s",padding:0},onMouseEnter:()=>I(!0),onMouseLeave:()=>I(!1),onClick:d,children:(0,ie.jsx)(gn,{style:{width:14,height:14}})})]}),(0,ie.jsx)("div",{className:"column-scroll","data-status":e.id,children:a?Array.from({length:Ox}).map((w,k)=>(0,ie.jsx)(zx,{},k)):t.length===0?(0,ie.jsxs)("div",{style:{border:"1px dashed var(--p-border-t)",borderRadius:8,padding:"10px 8px",fontSize:11,color:"var(--p-text-f)",textAlign:"center"},children:["No tasks in ",e.label.toLowerCase(),"."]}):(0,ie.jsxs)(ie.Fragment,{children:[v.map(w=>(0,ie.jsxs)("div",{style:{position:"relative"},onDragOver:k=>m(k,w.id),children:[(L==null?void 0:L.taskId)===w.id&&L.position==="before"&&(0,ie.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}}),(0,ie.jsx)(Hi,{task:w,col:e,liveActivity:r==null?void 0:r.get(w.id),onOpen:g,onDragStart:h}),(L==null?void 0:L.taskId)===w.id&&L.position==="after"&&(0,ie.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}})]},w.id)),f>0&&(0,ie.jsxs)("div",{style:{margin:"4px 0 2px",padding:"6px 8px",borderRadius:6,border:"1px dashed var(--p-border-t)",fontSize:11,color:"var(--p-text-g)",textAlign:"center",lineHeight:1.4},children:["+",f," older ",f===1?"task":"tasks"," not shown"]})]})})]})}var gr=D(Ie(),1);var ae=D(_(),1),sm={backlog:{text:"var(--p-text-m)",bg:"color-mix(in srgb, var(--p-text-g) 14%, transparent)",border:"color-mix(in srgb, var(--p-text-g) 30%, transparent)"},todo:{text:"var(--p-amber-300)",bg:"color-mix(in srgb, var(--p-amber) 14%, transparent)",border:"color-mix(in srgb, var(--p-amber) 30%, transparent)"},"in-progress":{text:"var(--p-blue-200)",bg:"color-mix(in srgb, var(--p-blue) 14%, transparent)",border:"color-mix(in srgb, var(--p-blue) 30%, transparent)"},review:{text:"var(--p-purple-300)",bg:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"color-mix(in srgb, var(--p-purple) 30%, transparent)"},done:{text:"var(--p-green-300)",bg:"color-mix(in srgb, var(--p-green) 12%, transparent)",border:"color-mix(in srgb, var(--p-green) 30%, transparent)"}},Nx=tm,um={Critical:"var(--p-red)",High:"var(--p-amber-300)",Medium:"var(--p-text-m)",Low:"var(--p-text-f)"},Wi=["in-progress","review","todo","backlog","done"];function Hx(){return(0,ae.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"18px 1fr auto auto",alignItems:"center",gap:10,padding:"6px 10px",borderRadius:8,border:"1px solid var(--p-border-t)",background:"var(--p-bg-2)",animation:"skeleton-pulse 1.5s ease-in-out infinite"},children:[(0,ae.jsx)("div",{style:{width:14,height:14,borderRadius:3,background:"var(--p-border-s)"}}),(0,ae.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"60%"}}),(0,ae.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:44}}),(0,ae.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:36}})]})}function Vi({tasks:e,searchQuery:t,isLoading:a,liveActivities:r,onOpenPanel:o,onAddTask:n,onDrop:l}){let[s,u]=gr.default.useState(null),[d,g]=gr.default.useState(null),[h,m]=gr.default.useState(null),[L,y]=gr.default.useState({backlog:!1,todo:!1,"in-progress":!1,review:!1,done:!1}),I=t?e.filter(c=>(c.title??"").toLowerCase().includes(t.toLowerCase())||(c.description??"").toLowerCase().includes(t.toLowerCase())):e,U=gr.default.useMemo(()=>{let c=new Map;for(let i of Wi)c.set(i,[]);for(let i of I)(c.get(i.status)??[]).push(i);return c},[I]);return(0,ae.jsxs)("div",{id:"kanban-list-view",style:{flex:1,overflowY:"auto",padding:"16px 24px",minHeight:0},children:[a?Wi.slice(0,3).map(c=>{let i=sm[c];return(0,ae.jsxs)("div",{style:{marginBottom:24},children:[(0,ae.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,ae.jsx)("div",{style:{width:18,height:18,borderRadius:5,background:"var(--p-border-s)",animation:"skeleton-pulse 1.5s ease-in-out infinite"}}),(0,ae.jsx)("div",{style:{height:18,borderRadius:6,background:i.bg,border:`1px solid ${i.border}`,width:72,animation:"skeleton-pulse 1.5s ease-in-out infinite"}}),(0,ae.jsx)("div",{style:{height:14,borderRadius:4,background:"var(--p-border-s)",width:16,animation:"skeleton-pulse 1.5s ease-in-out infinite"}})]}),(0,ae.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:Array.from({length:3}).map((f,v)=>(0,ae.jsx)(Hx,{},v))})]},c)}):Wi.map(c=>{let i=U.get(c)??[];if(i.length===0)return null;let f=sm[c];return(0,ae.jsxs)("div",{style:{marginBottom:24},children:[(0,ae.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8,padding:"4px 6px",borderRadius:6,transition:"background .1s",background:d===c?f.bg:"transparent",outline:d===c?`1px dashed ${f.border}`:void 0},onDragOver:v=>{v.preventDefault(),g(c)},onDragLeave:()=>g(null),onDrop:v=>{v.preventDefault(),g(null),m(null),s&&l(s,c),u(null)},children:[(0,ae.jsx)("button",{type:"button",title:L[c]?"Expand":"Collapse",onClick:v=>{v.stopPropagation(),y(w=>({...w,[c]:!w[c]}))},style:{width:18,height:18,borderRadius:5,border:"1px solid var(--p-border-t)",background:"var(--p-surface)",color:"var(--p-text-m)",fontSize:10,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:L[c]?"+":"\\u2212"}),(0,ae.jsx)("span",{style:{fontSize:11,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em",padding:"2px 8px",borderRadius:6,background:f.bg,border:`1px solid ${f.border}`,color:f.text},children:c}),(0,ae.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)"},children:i.length}),(0,ae.jsx)("button",{type:"button",title:`Add task to ${c}`,onClick:v=>{v.stopPropagation(),n(c)},style:{marginLeft:"auto",width:22,height:22,borderRadius:7,border:`1px solid ${f.border}`,background:f.bg,color:f.text,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:14,fontWeight:600},children:"+"})]}),(0,ae.jsx)("div",{style:{display:L[c]?"none":"flex",flexDirection:"column",gap:2},children:i.map(v=>(0,ae.jsx)(_x,{task:v,liveActivity:r==null?void 0:r.get(v.id),onOpen:o,onDragStart:w=>u(w),dragOver:h===v.id,onDragOver:()=>m(v.id),onDragLeave:()=>m(w=>w===v.id?null:w),onDropToStatus:()=>{s&&l(s,v.status),u(null),m(null)}},v.id))})]},c)}),!a&&I.length===0&&(0,ae.jsx)("div",{style:{textAlign:"center",color:"var(--p-text-g)",fontSize:13,marginTop:60},children:"No tasks found"})]})}function _x({task:e,liveActivity:t,onOpen:a,onDragStart:r,dragOver:o,onDragOver:n,onDragLeave:l,onDropToStatus:s}){let[u,d]=gr.default.useState(!1),g=Nx[e.type??"Task"]??"\\u2611",h=e.commentCount??0,m=e.fileCount??0;return(0,ae.jsxs)("div",{"data-task-id":e.id,"data-proto-id":"list-row",draggable:!0,style:{display:"grid",gridTemplateColumns:"18px 1fr auto auto auto",alignItems:"center",gap:10,padding:"6px 10px",borderRadius:8,background:o?"color-mix(in srgb, var(--p-blue) 10%, transparent)":u?"var(--p-hover)":"transparent",border:`1px solid ${o?"color-mix(in srgb, var(--p-blue) 40%, transparent)":u?"var(--p-border)":"transparent"}`,cursor:"grab",transition:"background .1s,border-color .1s",userSelect:"none"},onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onClick:()=>a(e),onDragStart:L=>{L.dataTransfer.effectAllowed="move",r(e.id),L.currentTarget.style.opacity="0.4"},onDragEnd:L=>{L.currentTarget.style.opacity="1"},onDragOver:L=>{L.preventDefault(),n()},onDragLeave:l,onDrop:L=>{L.preventDefault(),s()},children:[(0,ae.jsx)("span",{style:{fontSize:12,textAlign:"center",flexShrink:0},children:g}),(0,ae.jsxs)("div",{style:{minWidth:0},children:[(0,ae.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,ae.jsx)("span",{style:{fontSize:13,fontWeight:500,color:"var(--p-text)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.title}),e.priority&&um[e.priority]&&(0,ae.jsx)(fn,{className:"w-2.5 h-2.5 flex-shrink-0",style:{color:um[e.priority]}}),e.component&&(0,ae.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:10,background:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 30%, transparent)",color:"var(--p-purple-300)",flexShrink:0,fontFamily:"monospace"},children:e.component})]}),e.description&&(0,ae.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:1,maxWidth:"100%"},children:e.description.replace(/\\s+/g," ").trim()})]}),(0,ae.jsxs)("button",{title:h>0?`${h} comment(s)`:"Add comment",style:{display:"flex",alignItems:"center",gap:3,fontSize:11,color:h>0?"var(--p-text-m)":"var(--p-border-t)",background:"none",border:"none",cursor:"pointer",padding:"0 2px",flexShrink:0},onClick:L=>{L.stopPropagation(),a(e,"comments")},children:[(0,ae.jsx)(fr,{className:"w-3 h-3"}),h>0&&(0,ae.jsx)("span",{children:h})]}),m>0&&(0,ae.jsxs)("button",{title:`${m} file(s)`,style:{display:"flex",alignItems:"center",gap:3,fontSize:11,color:"var(--p-blue-300)",background:"none",border:"none",cursor:"pointer",padding:"0 2px",flexShrink:0},onClick:L=>{L.stopPropagation(),a(e,"files")},children:[(0,ae.jsx)(cr,{className:"w-3 h-3"}),(0,ae.jsx)("span",{children:m})]}),t&&(0,ae.jsx)(_i,{activity:t})]})}var uo=D(Ie(),1);var Ua=D(_(),1);function im({size:e=32,style:t,className:a}){return(0,Ua.jsxs)("svg",{width:e,height:e,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:t,className:a,"aria-label":"Vibeflow",children:[(0,Ua.jsx)("rect",{width:"32",height:"32",rx:"7",fill:"#2563eb"}),(0,Ua.jsx)("rect",{x:"7",y:"13",width:"3.5",height:"10",rx:"1.5",fill:"white",opacity:"0.75"}),(0,Ua.jsx)("rect",{x:"12.25",y:"8.5",width:"3.5",height:"15",rx:"1.5",fill:"white"}),(0,Ua.jsx)("rect",{x:"17.5",y:"14.5",width:"3.5",height:"8",rx:"1.5",fill:"white",opacity:"0.75"}),(0,Ua.jsx)("rect",{x:"22.5",y:"11",width:"2.5",height:"11",rx:"1.25",fill:"white",opacity:"0.85"})]})}var ls=D(_(),1);function ns({id:e,title:t,onClick:a,label:r,icon:o,variant:n="neutral"}){return(0,ls.jsxs)("button",{id:e,onClick:a,title:t,className:`h-7 inline-flex items-center justify-center rounded-lg border transition-colors ${n==="accent"?"border-violet-700/50 bg-violet-900/30 text-violet-300 hover:bg-violet-800/30":"border-slate-700/60 bg-slate-800 text-slate-400 hover:bg-slate-700/50 hover:text-slate-200"} ${r?"gap-1.5 px-3 text-xs font-medium":"w-7"}`,type:"button",children:[o,r&&(0,ls.jsx)("span",{children:r})]})}var G=D(_(),1);function $i({projectName:e,projectIcon:t,missingProjectIconStyle:a="initial",wsConnected:r,port:o,searchQuery:n,premiumUsage:l,isLoading:s,filterTags:u,allTags:d,onToggleTag:g,backHref:h,backLabel:m,onSearchChange:L,onSettings:y,extraActions:I,taskSummary:U}){let[c,i]=uo.default.useState(!1),[f,v]=uo.default.useState(0),w=uo.default.useRef(null),k=uo.default.useRef(null),p=n.match(/(?:^|\\s)#(\\S*)$/),S=p?p[1]:null,T=u??[],F=(d??[]).filter(N=>!T.includes(N)),A=S!==null?F.filter(N=>N.toLowerCase().includes(S.toLowerCase())):[];uo.default.useEffect(()=>{v(0)},[A.length]);function O(N){var oe;let Q=n.replace(/\\s*#\\S*$/,"");L(Q),g==null||g(N),(oe=w.current)==null||oe.focus()}function re(N){if(N.key==="Backspace"&&n===""&&T.length>0){N.preventDefault(),g==null||g(T[T.length-1]);return}if(!(S===null||A.length===0)){if(N.key==="ArrowDown")N.preventDefault(),v(Q=>Math.min(Q+1,A.length-1));else if(N.key==="ArrowUp")N.preventDefault(),v(Q=>Math.max(Q-1,0));else if(N.key==="Enter")N.preventDefault(),A[f]&&O(A[f]);else if(N.key==="Escape"){let Q=n.replace(/\\s*#\\S*$/,"");L(Q)}}}let J=(t??"").trim(),Re=e?e.charAt(0).toUpperCase()+e.slice(1):"Vibeflow Board",q=n||T.length>0;return(0,G.jsxs)("header",{className:"px-5 py-3 flex items-center gap-3 border-b border-slate-800/60 flex-shrink-0",children:[(0,G.jsxs)("div",{className:"flex items-center gap-3 flex-shrink-0",children:[h&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)("a",{id:"header-back-link",href:h,className:"text-xs text-slate-400 hover:text-slate-200 transition-colors no-underline",style:{textDecoration:"none",fontWeight:500},children:m??"Back"}),(0,G.jsx)(un,{className:"w-3 h-3 text-slate-600 flex-shrink-0"})]}),(0,G.jsx)("div",{className:"flex-shrink-0",style:J?{fontSize:20}:void 0,children:J||(a==="vibeflow"?(0,G.jsx)(im,{size:32}):(0,G.jsx)("div",{style:{width:32,height:32,borderRadius:8,flexShrink:0,background:"linear-gradient(135deg, #1e3a5f 0%, #1e293b 100%)",border:"1px solid rgba(37,99,235,0.3)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:13,fontWeight:700,color:"#93c5fd",letterSpacing:"-0.01em"},title:Re,children:Re.charAt(0).toUpperCase()}))}),(0,G.jsxs)("div",{children:[(0,G.jsxs)("div",{className:"flex items-center gap-2",children:[(0,G.jsx)("h1",{id:"header-project-name",className:"text-sm font-semibold text-white leading-tight",children:Re}),r&&(0,G.jsxs)("div",{id:"header-live-pill",className:"flex items-center gap-1.5 rounded-full px-2 py-0.5",style:{background:"color-mix(in srgb, var(--p-green) 30%, transparent)",border:"1px solid color-mix(in srgb, var(--p-green) 28%, transparent)"},children:[(0,G.jsx)("div",{className:"w-1.5 h-1.5 rounded-full bg-green-400",style:{animation:"pulse-live 2s ease-in-out infinite"}}),(0,G.jsxs)("span",{className:"text-[10px] font-medium text-green-400",children:["live \\xB7 :",o]})]})]}),(0,G.jsxs)("p",{className:"text-[10px] text-slate-500 font-mono mt-0.5",children:[U,s&&(0,G.jsx)("span",{id:"header-loading-indicator",className:"inline-block ml-1.5 w-1 h-1 rounded-full bg-blue-400",style:{animation:"pulse-live 1.4s ease-in-out infinite",verticalAlign:"middle"}})]})]})]}),(0,G.jsx)("div",{className:"flex-1 flex justify-center px-4",children:(0,G.jsxs)("div",{className:"relative w-full max-w-sm",children:[(0,G.jsxs)("div",{className:"flex flex-wrap items-center gap-1 w-full min-h-[30px] rounded-lg bg-slate-800 border border-slate-700/60 px-2 py-1 cursor-text transition-colors focus-within:border-blue-500",onClick:()=>{var N;return(N=w.current)==null?void 0:N.focus()},children:[(0,G.jsx)(hn,{className:"w-3.5 h-3.5 text-slate-500 flex-shrink-0 mr-0.5"}),T.map(N=>{let{bg:Q,text:oe,border:$}=Bt(N);return(0,G.jsxs)("span",{style:{background:Q,color:oe,border:`1px solid ${$}`,display:"inline-flex",alignItems:"center",gap:3,padding:"1px 7px",borderRadius:100,fontSize:11,fontWeight:500,whiteSpace:"nowrap"},children:[N,(0,G.jsx)("button",{onClick:me=>{me.stopPropagation(),g==null||g(N)},style:{background:"none",border:"none",cursor:"pointer",padding:0,lineHeight:1,color:"inherit",opacity:.7,display:"flex"},children:(0,G.jsx)(ze,{style:{width:9,height:9}})})]},N)}),(0,G.jsx)("input",{ref:w,id:"global-search",type:"text",placeholder:T.length===0?"Search\\u2026 or type #tag":"#tag or search\\u2026",value:n,onChange:N=>L(N.target.value),onKeyDown:re,className:"flex-1 min-w-[100px] bg-transparent border-none outline-none text-xs text-slate-200 placeholder-slate-500",autoComplete:"off",spellCheck:!1}),q&&(0,G.jsx)("button",{id:"global-search-clear",onClick:()=>{L(""),T.forEach(N=>g==null?void 0:g(N))},className:"text-slate-500 hover:text-slate-300 transition-colors flex-shrink-0 flex",title:"Clear search and tag filters",children:(0,G.jsx)(ze,{className:"w-3.5 h-3.5"})})]}),S!==null&&A.length>0&&(0,G.jsxs)("div",{ref:k,style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.3)",zIndex:50,overflow:"hidden"},children:[(0,G.jsx)("div",{style:{padding:"5px 10px",fontSize:10,textTransform:"uppercase",letterSpacing:"0.06em",color:"var(--p-text-g)",borderBottom:"1px solid var(--p-border)"},children:"Tags"}),A.map((N,Q)=>{let{bg:oe,text:$,border:me}=Bt(N);return(0,G.jsxs)("button",{onMouseDown:lt=>{lt.preventDefault(),O(N)},onMouseEnter:()=>v(Q),style:{width:"100%",textAlign:"left",display:"flex",alignItems:"center",gap:8,padding:"7px 12px",background:Q===f?"var(--p-hover)":"none",border:"none",cursor:"pointer"},children:[(0,G.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:$,flexShrink:0}}),(0,G.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:N}),(0,G.jsx)("span",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",padding:"1px 7px",borderRadius:100,fontSize:10,background:oe,color:$,border:`1px solid ${me}`},children:"tag"})]},N)}),(0,G.jsx)("div",{style:{padding:"5px 10px",fontSize:10,color:"var(--p-text-g)",borderTop:"1px solid var(--p-border)"},children:"\\u2191\\u2193 navigate \\xB7 Enter select \\xB7 Esc close"})]})]})}),(0,G.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[I,(0,G.jsx)(ns,{id:"header-shortcuts-hint",title:"Click to see keyboard shortcuts",onClick:()=>i(!0),label:"? shortcuts"}),(0,G.jsx)(ns,{id:"btn-settings",title:"Settings",onClick:y,icon:(0,G.jsx)(pr,{className:"w-3.5 h-3.5"})})]}),c&&(0,G.jsx)("div",{style:{position:"fixed",inset:0,background:"rgba(2,12,27,0.80)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",zIndex:200,display:"flex",alignItems:"center",justifyContent:"center"},onClick:()=>i(!1),children:(0,G.jsxs)("div",{id:"shortcuts-modal",style:{background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:14,padding:"20px 24px",minWidth:320,maxWidth:420,boxShadow:"var(--p-shadow-lg)"},onClick:N=>N.stopPropagation(),children:[(0,G.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:16},children:[(0,G.jsx)("span",{style:{fontSize:13,fontWeight:700,color:"var(--p-text)"},children:"Keyboard Shortcuts"}),(0,G.jsx)("button",{onClick:()=>i(!1),style:{background:"none",border:"none",cursor:"pointer",color:"var(--p-text-f)",padding:2},children:(0,G.jsx)(ze,{style:{width:14,height:14}})})]}),(0,G.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[["Alt+N","Open new task panel"],["Esc","Close panel / modal"],["?","Show this shortcuts overlay"],["Alt+F","Focus task search"]].map(([N,Q])=>(0,G.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12},children:[(0,G.jsx)("kbd",{style:{fontSize:10,fontFamily:"monospace",background:"var(--p-surface)",border:"1px solid var(--p-border-t)",borderRadius:4,padding:"2px 7px",color:"var(--p-text-sub)",flexShrink:0},children:N}),(0,G.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:Q})]},N))})]})})]})}var j=D(Ie(),1);var ss=D(Ie(),1);var Kt=D(_(),1);function us({id:e,value:t,onChange:a,disabled:r}){let[o,n]=ss.default.useState(!1),l=ss.default.useRef(null),s=mr.find(u=>u.value===t)??mr[0];return ss.default.useEffect(()=>{let u=d=>{var g;(g=l.current)!=null&&g.contains(d.target)||n(!1)};return document.addEventListener("click",u),()=>document.removeEventListener("click",u)},[]),(0,Kt.jsxs)("div",{id:e,ref:l,style:{position:"relative",display:"inline-block"},children:[(0,Kt.jsxs)("button",{type:"button",title:s==null?void 0:s.tooltip,onClick:u=>{u.preventDefault(),r||n(d=>!d)},style:{display:"inline-flex",alignItems:"center",gap:5,padding:"3px 8px",borderRadius:6,border:"1px solid var(--p-border, rgba(255,255,255,0.08))",background:"var(--p-hover, rgba(255,255,255,0.05))",color:"var(--p-text-m, rgba(255,255,255,0.7))",fontSize:12,cursor:"pointer",whiteSpace:"nowrap"},children:[(0,Kt.jsx)("span",{style:{fontSize:13},children:s==null?void 0:s.icon}),(0,Kt.jsx)("span",{children:s==null?void 0:s.label})]}),o&&(0,Kt.jsx)("div",{style:{position:"absolute",top:"100%",left:0,marginTop:4,background:"var(--p-card, #1e293b)",border:"1px solid var(--p-border-s, rgba(255,255,255,0.12))",borderRadius:8,padding:"4px 0",zIndex:200,minWidth:140,boxShadow:"0 8px 24px rgba(0,0,0,0.4)"},children:mr.map(u=>(0,Kt.jsxs)("button",{type:"button",title:u.tooltip,onClick:()=>{a(u.value),n(!1)},style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"6px 12px",border:"none",background:u.value===t?"var(--p-hover, rgba(255,255,255,0.06))":"transparent",color:u.value===t?"var(--p-text, #fff)":"var(--p-text-f, rgba(255,255,255,0.55))",fontSize:12,cursor:"pointer",textAlign:"left"},children:[(0,Kt.jsx)("span",{style:{fontSize:14,lineHeight:1},children:u.icon}),(0,Kt.jsx)("span",{children:u.label})]},u.value))})]})}var Ze=D(Ie(),1);var In=D(Ie(),1);var Na=D(_(),1);function Ha({markdown:e,className:t,style:a}){let r=In.default.useRef(null),o=In.default.useRef({}),[n,l]=In.default.useState(null);return In.default.useEffect(()=>{let s=r.current;if(!s)return;function u(){l(null)}async function d(h){let m=h.target,L=m==null?void 0:m.closest("a[data-task-ref]");if(!L){u();return}h.preventDefault();let y=L.getAttribute("data-task-ref");if(!y)return;let I=L.getBoundingClientRect(),U=o.current[y];if(U){l({id:y,title:U.title,status:U.status,x:I.left,y:I.bottom+6});return}try{let i=await(await fetch(`/api/tasks/${y}`)).json(),f={title:i.title??`Task ${y}`,status:i.status??"unknown"};o.current[y]=f,l({id:y,title:f.title,status:f.status,x:I.left,y:I.bottom+6})}catch{l({id:y,title:`Task ${y}`,status:"unknown",x:I.left,y:I.bottom+6})}}function g(h){var y,I;let m=(I=(y=h.target)==null?void 0:y.closest)==null?void 0:I.call(y,"a[data-task-ref]");if(!m)return;let L=m.getAttribute("data-task-ref");L&&window.dispatchEvent(new CustomEvent("vibeflow-task-ref-click",{detail:{refId:L}}))}return s.addEventListener("mouseover",d),s.addEventListener("mouseleave",u),s.addEventListener("click",g),()=>{s.removeEventListener("mouseover",d),s.removeEventListener("mouseleave",u),s.removeEventListener("click",g)}},[]),(0,Na.jsxs)("div",{style:{position:"relative"},children:[(0,Na.jsx)("div",{ref:r,className:t,style:a,dangerouslySetInnerHTML:{__html:ts(e)}}),n&&(0,Na.jsxs)("div",{style:{position:"fixed",left:n.x,top:n.y,background:"#0f172a",border:"1px solid rgba(59,130,246,0.4)",color:"#e2e8f0",borderRadius:8,padding:"8px 10px",fontSize:11,boxShadow:"0 10px 24px rgba(2,6,23,0.55)",zIndex:60,pointerEvents:"none",minWidth:180},children:[(0,Na.jsxs)("div",{style:{color:"#60a5fa",fontFamily:"Menlo,monospace",marginBottom:3},children:["#",n.id]}),(0,Na.jsx)("div",{style:{fontWeight:600,marginBottom:3},children:n.title}),(0,Na.jsxs)("div",{style:{color:"#94a3b8"},children:["status: ",n.status]})]})]})}var Cn=D(Ie(),1),dm=D(_(),1),io=Cn.default.forwardRef(function({value:t,onChange:a,baseRows:r=4,maxRows:o,style:n,...l},s){let u=Cn.default.useRef(null),d=o??r*2,g=Cn.default.useCallback(()=>{let h=u.current;if(!h)return;h.style.height="auto";let m=window.getComputedStyle(h),L=Number.parseFloat(m.lineHeight||"0")||18,y=Number.parseFloat(m.paddingTop||"0")+Number.parseFloat(m.paddingBottom||"0"),I=Number.parseFloat(m.borderTopWidth||"0")+Number.parseFloat(m.borderBottomWidth||"0"),U=r*L+y+I,c=d*L+y+I,i=Math.max(U,Math.min(h.scrollHeight,c));h.style.height=`${i}px`,h.style.overflowY=h.scrollHeight>c?"auto":"hidden"},[r,d]);return Cn.default.useLayoutEffect(()=>{g()},[t,g]),(0,dm.jsx)("textarea",{...l,ref:h=>{u.current=h,typeof s=="function"?s(h):s&&(s.current=h)},rows:r,value:t,onChange:h=>a(h.target.value),style:{...n,resize:"none"}})});var pm=D(Ie(),1);var fm=D(Ie(),1),cm=D(ro(),1),ia=D(_(),1);function hr({open:e,onClose:t,icon:a,title:r,headerActions:o,width:n,maxHeight:l,id:s,children:u,footer:d,boxStyle:g,onKeyDown:h}){if(fm.default.useEffect(()=>{if(!e)return;function y(I){I.key==="Escape"&&t(),h==null||h(I)}return window.addEventListener("keydown",y),()=>window.removeEventListener("keydown",y)},[e,t,h]),!e)return null;let m=!!(a||r||o),L=(0,ia.jsx)("div",{id:s,className:"modal-backdrop",onClick:y=>{y.target===y.currentTarget&&t()},onMouseDown:y=>y.stopPropagation(),children:(0,ia.jsxs)("div",{className:"modal-box",style:{width:n??"min(420px, 95vw)",maxHeight:l,...g},children:[m&&(0,ia.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 18px",borderBottom:"1px solid var(--p-border)",flexShrink:0},children:[a&&(0,ia.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:a}),r&&(0,ia.jsx)("span",{style:{fontSize:14,fontWeight:600,color:"var(--p-text)",flex:1,minWidth:0},children:r}),o&&(0,ia.jsx)("div",{style:{display:"flex",alignItems:"center",gap:4,flexShrink:0,marginLeft:"auto"},children:o})]}),u,d&&(0,ia.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:8,padding:"10px 18px",borderTop:"1px solid var(--p-border)",flexShrink:0},children:d})]})});return(0,cm.createPortal)(L,document.body)}var St=D(_(),1);function jt({open:e,message:t,title:a="Confirm",confirmLabel:r="Delete",cancelLabel:o="Cancel",loading:n,error:l,onConfirm:s,onCancel:u}){let d=pm.default.useCallback(g=>{g.key==="Enter"&&s()},[s]);return(0,St.jsx)(hr,{open:e,onClose:u,id:"confirm-modal",width:"min(380px, 95vw)",icon:(0,St.jsx)(Ba,{style:{width:20,height:20,color:"#f87171"}}),title:a,onKeyDown:d,footer:(0,St.jsxs)(St.Fragment,{children:[(0,St.jsx)("button",{id:"confirm-modal-cancel",onClick:u,disabled:n,style:{padding:"7px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer",transition:"background 0.15s"},children:o}),(0,St.jsx)("button",{id:"confirm-modal-confirm",onClick:s,disabled:n,style:{padding:"7px 16px",borderRadius:8,background:"#dc2626",border:"none",color:"#fff",fontSize:13,fontWeight:600,cursor:n?"wait":"pointer",opacity:n?.6:1,transition:"background 0.15s"},children:n?"Deleting\\u2026":r})]}),children:(0,St.jsxs)("div",{style:{padding:"16px 18px"},children:[typeof t=="string"?(0,St.jsx)("p",{style:{margin:0,fontSize:13,color:"var(--p-text-f)",lineHeight:1.6},children:t}):t,l&&(0,St.jsx)("p",{style:{margin:"8px 0 0",fontSize:12,color:"var(--p-red)"},children:l})]})})}var Ae=D(_(),1);function mm(e){return e.linkedPath?"\\u{1F517}":/\\.(png|jpe?g|gif|webp|svg)$/i.test(e.name)?"\\u{1F5BC}\\uFE0F":/\\.html?$/i.test(e.name)?"\\u{1F310}":/\\.md$/i.test(e.name)||/\\.pdf$/i.test(e.name)?"\\u{1F4C4}":"\\u{1F4CE}"}function qx(e){return/\\.(png|jpe?g|gif|webp|svg|html?)$/i.test(e.name)}function Wx(e){return/\\.html?$/i.test(e.name)}function is({file:e,url:t,variant:a,onPreview:r,onDelete:o}){let n=qx(e),l=Wx(e);function s(){r?r(e,t):window.open(t,"_blank")}return a==="compact"?(0,Ae.jsxs)("div",{className:"group/file-compact",style:{display:"flex",alignItems:"center",gap:8,padding:"4px 8px",borderRadius:8,background:"var(--p-card)",border:"1px solid var(--p-border)",position:"relative"},children:[(0,Ae.jsx)("span",{style:{fontSize:14,flexShrink:0},children:mm(e)}),(0,Ae.jsx)("div",{style:{flex:1,minWidth:0},children:(0,Ae.jsx)("button",{onClick:s,style:{fontSize:12,color:"var(--p-blue-300)",background:"none",border:"none",cursor:"pointer",padding:0,textAlign:"left",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"},title:e.name,children:e.name})}),(0,Ae.jsx)("span",{className:"file-compact-ts",style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:e.createdAt?nt(e.createdAt):"attached"}),(0,Ae.jsxs)("div",{className:"file-compact-actions",style:{position:"absolute",right:6,top:0,bottom:0,display:"flex",alignItems:"center",gap:4,transition:"opacity 0.15s",background:"var(--p-card)",paddingLeft:8},children:[n&&(0,Ae.jsx)("button",{onClick:s,style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:l?"Open in new tab":"Preview",children:l?"\\u2197":"\\u{1F441}"}),(0,Ae.jsx)("a",{href:t,download:e.name,style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)",textDecoration:"none"},title:"Download",onClick:u=>u.stopPropagation(),children:"\\u2193"}),o&&(0,Ae.jsx)("button",{onClick:()=>void o(e),style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:"Delete",children:"\\u2715"})]})]}):(0,Ae.jsxs)("div",{className:"group/file",style:{display:"flex",alignItems:"center",gap:10,padding:8,borderRadius:8,border:"1px solid var(--p-border)",transition:"background 0.15s",position:"relative"},children:[(0,Ae.jsx)("span",{style:{fontSize:18,flexShrink:0},children:mm(e)}),(0,Ae.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,Ae.jsx)("p",{style:{fontSize:12,fontWeight:500,color:"var(--p-text)",margin:0,cursor:"pointer",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.name,onClick:s,children:e.name}),(0,Ae.jsx)("p",{style:{fontSize:10,color:"var(--p-text-f)",margin:0},children:e.linkedPath?`linked: ${e.linkedPath}`:Ui(e.size??0)})]}),(0,Ae.jsxs)("div",{className:"file-normal-actions",style:{display:"flex",alignItems:"center",gap:4,transition:"opacity 0.15s"},children:[n&&(0,Ae.jsx)("button",{onClick:s,style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:l?"Open in new tab":"Preview",children:l?"\\u2197":"\\u{1F441}"}),(0,Ae.jsx)("a",{href:t,download:e.name,style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)",textDecoration:"none"},title:"Download",onClick:u=>u.stopPropagation(),children:"\\u2193"}),o&&(0,Ae.jsx)("button",{onClick:()=>void o(e),style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:"Delete",children:"\\u2715"})]})]})}var E=D(_(),1);function gm({source:e}){return e!=="cli"?null:(0,E.jsx)("span",{title:"Via CLI (agent)",style:{fontSize:9,color:"var(--p-green-300)",background:"rgba(34,197,94,0.1)",border:"1px solid rgba(34,197,94,0.2)",borderRadius:4,padding:"0 4px",fontFamily:"monospace",lineHeight:"16px",flexShrink:0},children:">_"})}function Vx(e,t){if(e.kind==="lifecycle")return e.author??null;if(e.kind==="comment"){let a=e.comment;return a.type==="system"?null:a.author==="agent"?"\\u{1F916} Agent":a.authorName??t}return e.kind==="change"?e.actor:null}function $x(e,t){let a=[];for(let r of e){let o=Vx(r,t),n=a[a.length-1];o&&n&&n.author===o?(n.items.push(r),r.sortKey>n.newestSortKey&&(n.newestSortKey=r.sortKey),r.sortKey<n.oldestSortKey&&(n.oldestSortKey=r.sortKey)):a.push({author:o,newestSortKey:r.sortKey,oldestSortKey:r.sortKey,items:[r]})}return a}function Gi({comments:e,files:t=[],localChanges:a=[],loading:r,error:o,gitUserName:n="You",taskAuthorName:l,baseUrl:s="",taskId:u,taskCreatedAt:d,taskUpdatedAt:g,onEdit:h,onDelete:m,onDeleteFile:L,onFilePreview:y}){let I=Ze.default.useRef(null),U=Ze.default.useRef(null),[c,i]=Ze.default.useState(null),[f,v]=Ze.default.useState(""),[w,k]=Ze.default.useState(null),[p,S]=Ze.default.useState(null),[T,F]=Ze.default.useState(()=>{try{return localStorage.getItem("vibeflow-show-updates")!=="false"}catch{return!0}}),A=Ze.default.useRef(r),O=Ze.default.useMemo(()=>{let q=[];d&&q.push({kind:"lifecycle",sortKey:d,label:"Task created",icon:"\\u2726",author:l??n}),g&&g!==d&&q.push({kind:"lifecycle",sortKey:g,label:"Task edited",icon:"\\u270E"});let N=e.map($=>({kind:"comment",sortKey:$.createdAt,comment:$})),Q=t.map($=>{let me=$.url.startsWith("http")?$.url:`${s}${$.url}`;return{kind:"file",sortKey:$.createdAt??"9999",file:$,url:me}}),oe=a.map($=>({kind:"change",sortKey:$.timestamp,field:$.field,from:$.from,to:$.to,actor:$.actor,source:$.source}));return[...q,...N,...Q,...oe].sort(($,me)=>me.sortKey.localeCompare($.sortKey))},[e,t,a,s,d,g]),re=Ze.default.useMemo(()=>O.filter(q=>q.kind==="lifecycle"||q.kind==="change").length,[O]),J=Ze.default.useMemo(()=>T?O:O.filter(q=>q.kind==="comment"||q.kind==="file"),[O,T]),Re=Ze.default.useMemo(()=>$x(J,n),[J,n]);return Ze.default.useEffect(()=>{let q=A.current&&!r;A.current=r,I.current&&q&&requestAnimationFrame(()=>{I.current&&(I.current.scrollTop=0)})},[r]),Ze.default.useEffect(()=>{c&&U.current&&(U.current.focus(),U.current.scrollIntoView({block:"nearest"}))},[c]),r?(0,E.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"Loading\\u2026"}):o?(0,E.jsx)("p",{style:{color:"var(--p-red-500)",fontSize:12,textAlign:"center",padding:"8px 0"},children:"Failed to load."}):O.length===0?(0,E.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"No activity yet."}):(0,E.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",minHeight:0},children:[re>0&&(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",padding:"4px 0 4px",flexShrink:0,borderBottom:"1px solid var(--p-border)",marginBottom:4},children:[(0,E.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",flex:1,letterSpacing:"0.04em"},children:T?"":`${re} system event${re!==1?"s":""} hidden`}),(0,E.jsx)("button",{id:"dp-toggle-updates",onClick:()=>F(q=>{let N=!q;try{localStorage.setItem("vibeflow-show-updates",String(N))}catch{}return N}),style:{all:"unset",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:5,color:T?"var(--p-text-m)":"var(--p-text-g)",transition:"color .12s, background .12s"},title:T?"Hide system events":`Show ${re} system event${re!==1?"s":""}`,onMouseEnter:q=>{q.currentTarget.style.color="var(--p-text)",q.currentTarget.style.background="var(--p-hover)"},onMouseLeave:q=>{q.currentTarget.style.color=T?"var(--p-text-m)":"var(--p-text-g)",q.currentTarget.style.background="transparent"},children:T?(0,E.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,E.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}):(0,E.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),(0,E.jsx)("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]})})]}),(0,E.jsx)("div",{ref:I,style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column",gap:2,minHeight:0},children:Re.map((q,N)=>{let Q=q.author!==null&&q.items.length>1,oe=Q,$=q.author==="\\u{1F916} Agent";return(0,E.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[oe&&(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 0 2px",marginTop:4},children:[(0,E.jsx)("span",{style:{fontSize:11,fontWeight:600,color:$?"var(--p-purple)":"var(--p-blue-300)",flexShrink:0},children:q.author}),(0,E.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",flexShrink:0},children:`${nt(q.oldestSortKey)} \\u2013 ${nt(q.newestSortKey)}`}),(0,E.jsxs)("span",{style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:["(",q.items.length," activities)"]})]}),(0,E.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:Q?4:8,paddingLeft:Q?8:0,borderLeft:Q?"1.5px solid var(--p-border)":"none",marginLeft:Q?4:0},children:q.items.map((me,lt)=>Gx(me,lt,N,Q,n,c,f,U,i,v,h,k,L?S:null,y))})]},`group-${N}`)})}),(0,E.jsx)(jt,{open:w!==null,message:"Delete this comment? This action cannot be undone.",onConfirm:()=>{w&&m(w),k(null)},onCancel:()=>k(null)}),L&&(0,E.jsx)(jt,{open:p!==null,message:p?`Delete "${p.name}"? This action cannot be undone.`:"",onConfirm:()=>{p&&L(p),S(null)},onCancel:()=>S(null)})]})}function Gx(e,t,a,r,o,n,l,s,u,d,g,h,m,L){if(e.kind==="lifecycle")return(0,E.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:6,padding:"2px 0"},children:[(0,E.jsx)("span",{style:{fontSize:11,color:"var(--p-purple)",fontWeight:600,flexShrink:0,minWidth:18,paddingTop:1},children:e.icon}),(0,E.jsx)("div",{style:{flex:1,minWidth:0},children:(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,E.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)",fontStyle:"italic"},children:e.label}),!r&&(0,E.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",marginLeft:"auto",flexShrink:0},children:nt(e.sortKey)})]})})]},`lifecycle-${e.sortKey}-${a}-${t}`);if(e.kind==="change"){let w=e.from.length>28?e.from.slice(0,28)+"\\u2026":e.from,k=e.to.length>28?e.to.slice(0,28)+"\\u2026":e.to,p=e.from.length>28||e.to.length>28;return(0,E.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:6,padding:"2px 0"},children:[(0,E.jsx)("span",{style:{fontSize:11,color:"var(--p-blue)",fontWeight:600,flexShrink:0,minWidth:18,paddingTop:1},children:"\\u270E"}),(0,E.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[!r&&(0,E.jsxs)("span",{style:{fontSize:11,fontWeight:600,color:"var(--p-blue-300)"},children:["\\u{1F464} ",e.actor]}),!r&&(0,E.jsx)(gm,{source:e.source}),(0,E.jsxs)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:["changed ",(0,E.jsx)("strong",{style:{color:"var(--p-text)"},children:e.field})]}),!r&&(0,E.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",marginLeft:"auto",flexShrink:0},children:nt(e.sortKey)})]}),(0,E.jsxs)("div",{title:p?`${e.from} \\u2192 ${e.to}`:void 0,style:{marginTop:2,fontSize:11,color:"var(--p-text-g)",display:"flex",alignItems:"center",gap:4,cursor:p?"help":"default"},children:[(0,E.jsx)("span",{style:{color:"var(--p-red)",background:"rgba(239,68,68,0.1)",borderRadius:4,padding:"1px 5px",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:w}),(0,E.jsx)("span",{style:{color:"var(--p-text-g)"},children:"\\u2192"}),(0,E.jsx)("span",{style:{color:"var(--p-green)",background:"rgba(34,197,94,0.1)",borderRadius:4,padding:"1px 5px",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:k})]})]})]},`change-${e.sortKey}-${a}-${t}`)}if(e.kind==="file"){let{file:v,url:w}=e;return(0,E.jsx)(is,{file:v,url:w,variant:"compact",onPreview:L?(k,p)=>L(k.name,p):void 0,onDelete:m?k=>(m(k),Promise.resolve()):void 0},`file-${v.name}-${a}-${t}`)}let y=e.comment,I=y.author==="agent",U=y.type==="system",c=y.deleted===!0,i=!!y.id&&!I&&!U&&!c&&y.isOwnComment!==!1,f=n===y.id;return U?(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"2px 0",fontSize:11,color:"var(--p-text-g)",fontStyle:"italic"},children:[(0,E.jsx)("span",{style:{opacity:.6},children:"\\u2B21"}),(0,E.jsx)("span",{children:y.text}),!r&&(0,E.jsx)("span",{style:{marginLeft:"auto",flexShrink:0,opacity:.6},children:nt(y.createdAt)})]},y.id):(0,E.jsxs)("div",{className:"flex flex-col gap-1 group/comment",style:{paddingTop:r?2:4},children:[!r&&(0,E.jsxs)("div",{className:"flex items-center justify-between gap-1.5 text-xs mb-0.5",children:[(0,E.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,E.jsx)("span",{style:{color:c?"var(--p-text-g)":I?"var(--p-purple)":"var(--p-blue-300)"},children:I?"\\u{1F916} Agent":`\\u{1F464} ${y.authorName??o}`}),(0,E.jsx)(gm,{source:y.source}),(0,E.jsxs)("span",{style:{color:"var(--p-text-g)"},children:[nt(y.createdAt),!c&&y.updatedAt?" \\xB7 edited":"",c?" \\xB7 deleted":""]})]}),i&&(0,E.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/comment:opacity-100 transition-opacity",children:[(0,E.jsx)("button",{onClick:()=>{u(y.id),d(y.text)},className:"p-1 rounded hover:bg-slate-700 transition-colors",title:"Edit",children:(0,E.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u270E"})}),(0,E.jsx)("button",{onClick:()=>h(y),className:"p-1 rounded hover:bg-red-900/40 transition-colors",title:"Delete",children:(0,E.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u2715"})})]})]}),r&&(0,E.jsxs)("div",{className:"flex items-center justify-between gap-1.5",style:{marginBottom:2},children:[(0,E.jsxs)("span",{style:{fontSize:10,color:"var(--p-text-g)"},children:[nt(y.createdAt),!c&&y.updatedAt?" \\xB7 edited":"",c?" \\xB7 deleted":""]}),i&&(0,E.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/comment:opacity-100 transition-opacity",children:[(0,E.jsx)("button",{onClick:()=>{u(y.id),d(y.text)},className:"p-1 rounded hover:bg-slate-700 transition-colors",title:"Edit",children:(0,E.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u270E"})}),(0,E.jsx)("button",{onClick:()=>h(y),className:"p-1 rounded hover:bg-red-900/40 transition-colors",title:"Delete",children:(0,E.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u2715"})})]})]}),f?(0,E.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,E.jsx)(io,{ref:s,value:l,onChange:d,baseRows:4,maxRows:12,onKeyDown:v=>{v.key==="Enter"&&(v.ctrlKey||v.metaKey)&&(v.preventDefault(),g(y,l).then(()=>u(null)))},style:{width:"100%",background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:6,padding:"8px 10px",fontSize:12,color:"var(--p-text)",outline:"none",fontFamily:"inherit",boxSizing:"border-box"}}),(0,E.jsxs)("div",{style:{display:"flex",gap:6,justifyContent:"flex-end"},children:[(0,E.jsx)("button",{onClick:()=>u(null),style:{padding:"4px 10px",background:"var(--p-surface)",border:"none",borderRadius:5,fontSize:11,color:"var(--p-text-sub)",cursor:"pointer"},children:"Cancel"}),(0,E.jsx)("button",{onClick:async()=>{await g(y,l),u(null)},style:{padding:"4px 10px",background:"var(--p-blue)",border:"none",borderRadius:5,fontSize:11,color:"var(--p-white)",cursor:"pointer"},children:"Save"})]})]}):c?(0,E.jsx)("div",{style:{padding:"8px 14px",fontSize:12,color:"var(--p-text-g)",fontStyle:"italic",background:"var(--p-input)",border:"1px dashed var(--p-border)",borderRadius:8},children:"Comment deleted"}):(0,E.jsx)(Ha,{markdown:y.text,style:{background:"var(--p-input)",border:"1px solid var(--p-border)",borderRadius:8,padding:"10px 14px",fontSize:12,color:"var(--p-text-sub)",lineHeight:1.6}})]},y.id)}var hm=D(Ie(),1);var _a=D(_(),1);function Ki({files:e,loading:t,error:a,baseUrl:r,onPreview:o,onDelete:n}){let[l,s]=hm.default.useState(null);return t?(0,_a.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"Loading\\u2026"}):a?(0,_a.jsx)("p",{style:{color:"var(--p-red-500)",fontSize:12,textAlign:"center",padding:"8px 0"},children:"Failed to load."}):e.length===0?(0,_a.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"No files attached."}):(0,_a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[e.map(u=>{let d=u.url??`${r}/api/files/${encodeURIComponent(u.name)}`;return(0,_a.jsx)(is,{file:u,url:d,variant:"normal",onPreview:g=>o(g),onDelete:n?g=>(s(g),Promise.resolve()):void 0},u.name)}),n&&(0,_a.jsx)(jt,{open:l!==null,message:l?`Delete "${l.name}"? This action cannot be undone.`:"",onConfirm:()=>{l&&n(l),s(null)},onCancel:()=>s(null)})]})}var Qi=D(Ie(),1);var fo=D(Ie(),1),xm=D(ro(),1);var Ot=D(_(),1);function wn({value:e,onChange:t,previewValue:a,showPreview:r,setShowPreview:o,previewId:n,textareaId:l,placeholder:s,previewEmptyText:u,previewMinHeight:d=54,previewMaxHeight:g=220,baseRows:h=5,maxRows:m=12,autoFocus:L=!1,textareaRef:y,onKeyDown:I,afterTextarea:U,onBlur:c}){let i=fo.default.useRef(null),[f,v]=fo.default.useState([]),[w,k]=fo.default.useState(null),[p,S]=fo.default.useState(null);fo.default.useEffect(()=>{let A=!0;return fetch("/api/tasks").then(O=>O.json()).then(O=>{if(!A)return;let re=(O.tasks??[]).map(J=>({id:String(J.id??""),title:String(J.title??"")})).filter(J=>J.id.length>0);v(re)}).catch(()=>{}),()=>{A=!1}},[]);function T(A){let O=i.current;if(!O){k(null);return}let re=O.selectionStart??A.length,J=A.slice(0,re),Re=-1;for(let oe=J.length-1;oe>=0;oe--){if(J[oe]!=="#")continue;let $=oe>0?J[oe-1]:"";if($&&!/\\s/.test($))continue;let me=J.slice(oe+1);if(!me.includes("#")){if(me.length>80)return;Re=oe;break}}if(Re===-1){k(null);return}let q=J.slice(Re+1).trim().toLowerCase(),N=f.filter(oe=>{if(!q)return!0;let $=oe.id.toLowerCase(),me=oe.title.toLowerCase();return $.includes(q)||me.includes(q)}).sort((oe,$)=>{let me=oe.id.toLowerCase().startsWith(q)?1:0,lt=$.id.toLowerCase().startsWith(q)?1:0;if(me!==lt)return lt-me;let wt=oe.title.toLowerCase().startsWith(q)?1:0,Ke=$.title.toLowerCase().startsWith(q)?1:0;return wt!==Ke?Ke-wt:oe.id.localeCompare($.id)}).slice(0,6);if(!N.length){k(null),S(null);return}let Q=O.getBoundingClientRect();S({top:Q.top,left:Q.left,width:Q.width}),k({queryStart:Re,queryEnd:re,items:N})}function F(A){let O=w;if(!O)return;let re=`${e.slice(0,O.queryStart)}#${A} ${e.slice(O.queryEnd)}`;t(re),k(null),S(null),requestAnimationFrame(()=>{let J=i.current;if(!J)return;let Re=O.queryStart+A.length+2;J.focus(),J.setSelectionRange(Re,Re)})}return r?(0,Ot.jsx)("div",{id:n,onClick:A=>{A.target.closest("a")||o(!1)},title:"Click to edit",style:{cursor:"text",minHeight:d,background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:8,padding:10,fontSize:12,color:"var(--p-text-sub)",lineHeight:1.7,overflow:"auto",maxHeight:g},children:(a??e).trim()?(0,Ot.jsx)(Ha,{markdown:a??e}):(0,Ot.jsx)("span",{style:{color:"var(--p-border-t)"},children:u??s})}):(0,Ot.jsxs)("div",{style:{position:"relative"},children:[(0,Ot.jsx)(io,{id:l,ref:A=>{i.current=A,y&&(y.current=A)},className:"dp-textarea",placeholder:s,value:e,onChange:A=>{t(A),T(A)},onFocus:()=>o(!1),onBlur:()=>{k(null),S(null),o(!0),c==null||c()},baseRows:h,maxRows:m,autoFocus:L,onKeyDown:A=>{A.key==="Escape"&&(k(null),S(null)),I==null||I(A)}}),w&&p&&(0,xm.createPortal)((0,Ot.jsx)("div",{"data-task-ref-suggest":"true",style:{position:"fixed",left:p.left+8,width:p.width-16,top:p.top,transform:"translateY(-100%)",border:"1px solid var(--p-border-s)",background:"var(--p-card)",borderRadius:8,boxShadow:"var(--p-shadow-lg)",overflow:"hidden",zIndex:9999},children:w.items.map(A=>(0,Ot.jsxs)("button",{type:"button",onMouseDown:O=>{O.preventDefault(),F(A.id)},style:{width:"100%",display:"flex",alignItems:"center",gap:8,textAlign:"left",border:"none",borderBottom:"1px solid var(--p-border)",background:"transparent",color:"var(--p-text-sub)",padding:"7px 10px",fontSize:11,cursor:"pointer"},onMouseEnter:O=>{O.currentTarget.style.background="var(--p-hover)"},onMouseLeave:O=>{O.currentTarget.style.background="transparent"},children:[(0,Ot.jsxs)("span",{style:{fontFamily:"monospace",color:"var(--p-blue-300)"},children:["#",A.id]}),(0,Ot.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:A.title})]},A.id))}),document.body),U]})}var xr=D(Ie(),1);var It=D(_(),1);function ji({tags:e,allTags:t,onChange:a,disabled:r}){let[o,n]=xr.default.useState(""),[l,s]=xr.default.useState(!1),u=xr.default.useRef(null),d=xr.default.useRef(null),g=o.trim().toLowerCase(),h=xr.default.useMemo(()=>t.filter(f=>!e.includes(f)&&f.toLowerCase().includes(g)).slice(0,8),[t,e,g]),m=g.length>0&&!t.some(i=>i.toLowerCase()===g)&&!e.some(i=>i.toLowerCase()===g),L=g.length>0&&t.some(i=>i.toLowerCase()===g)&&!e.some(i=>i.toLowerCase()===g);function y(i){var v;let f=i.trim();!f||e.includes(f)||(a([...e,f]),n(""),s(!1),(v=u.current)==null||v.focus())}function I(i){a(e.filter(f=>f!==i))}function U(i){if(i.key==="Enter")if(i.preventDefault(),m||L){let f=t.find(v=>v.toLowerCase()===g);y(f??o.trim())}else h.length>0&&y(h[0]);i.key==="Escape"&&(s(!1),n("")),i.key==="Backspace"&&!o&&e.length>0&&I(e[e.length-1])}xr.default.useEffect(()=>{function i(f){d.current&&!d.current.contains(f.target)&&s(!1)}return document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)},[]);let c=l&&(h.length>0||m);return(0,It.jsxs)("div",{ref:d,style:{position:"relative"},children:[(0,It.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignItems:"center",padding:"5px 8px",borderRadius:8,border:`1px solid ${l?"var(--p-blue)":"var(--p-border)"}`,background:"var(--p-input)",cursor:r?"not-allowed":"text",opacity:r?.6:1,minHeight:34,transition:"border-color .12s"},onClick:()=>{var i;r||(i=u.current)==null||i.focus()},children:[(0,It.jsx)(Sn,{tags:e,onRemove:r?void 0:I,size:"sm"}),!r&&(0,It.jsx)("input",{ref:u,type:"text",value:o,placeholder:e.length?"":"Add tags\\u2026",onChange:i=>{n(i.target.value),s(!0)},onFocus:()=>s(!0),onKeyDown:U,style:{background:"none",border:"none",outline:"none",fontSize:12,color:"var(--p-text)",minWidth:80,flex:1,padding:0,lineHeight:"1.4"}})]}),c&&(0,It.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onMouseDown:i=>i.preventDefault(),children:[h.map(i=>{let{bg:f,text:v,border:w}=Bt(i);return(0,It.jsxs)("button",{type:"button",onClick:()=>y(i),style:{width:"100%",textAlign:"left",padding:"6px 10px",display:"flex",alignItems:"center",gap:6,background:"none",border:"none",cursor:"pointer",fontSize:12,color:"var(--p-text-m)"},onMouseEnter:k=>{k.currentTarget.style.background="var(--p-hover)"},onMouseLeave:k=>{k.currentTarget.style.background="none"},children:[(0,It.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:v,border:`1px solid ${w}`,flexShrink:0}}),i]},i)}),m&&(0,It.jsxs)("button",{type:"button",onClick:()=>y(o.trim()),style:{width:"100%",textAlign:"left",padding:"6px 10px",display:"flex",alignItems:"center",gap:6,background:"none",border:h.length>0?"1px solid var(--p-border)":"none",borderLeft:"none",borderRight:"none",borderBottom:"none",cursor:"pointer",fontSize:12,color:"var(--p-text-g)"},onMouseEnter:i=>{i.currentTarget.style.background="var(--p-hover)",i.currentTarget.style.color="var(--p-text-m)"},onMouseLeave:i=>{i.currentTarget.style.background="none",i.currentTarget.style.color="var(--p-text-g)"},children:[(0,It.jsx)("span",{style:{fontSize:14,lineHeight:1},children:"+"}),\'Create "\',(0,It.jsx)("strong",{style:{color:"var(--p-text)"},children:o.trim()}),\'"\']})]})]})}var V=D(_(),1);function Yi({task:e,description:t,setDescription:a,showDescPreview:r,setShowDescPreview:o,priority:n,setPriority:l,onDescriptionBlur:s,onDescriptionDiscard:u,originalDescription:d,onPriorityChange:g,githubUrl:h,onFilePreview:m,onPatch:L,onDeleteScreenshot:y,liveFiles:I,allTags:U=[],overrideTags:c,onTagsChange:i}){let f=(e==null?void 0:e.files)??[],v=I?I.map(O=>({name:O.name,linkedPath:O.linkedPath,addedAt:O.createdAt,url:O.url})):f,w=v==null?void 0:v.find(O=>/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(O.name)),k=e&&w?w.url||`/api/tasks/${e.id}/files/${encodeURIComponent(w.name)}`:null,p=Qi.default.useRef(null),[S,T]=Qi.default.useState(null),{userPart:F,consolePart:A}=jx(t);return(0,V.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,V.jsxs)("div",{children:[(0,V.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:"Description"}),(0,V.jsx)(wn,{value:t,previewValue:A?F:void 0,onChange:a,onBlur:s,showPreview:r,setShowPreview:o,previewId:"dp-desc-preview",textareaId:"dp-desc",placeholder:"Description (markdown)\\u2026",previewMinHeight:80,previewMaxHeight:220,baseRows:6,maxRows:12,autoFocus:!0,textareaRef:p,afterTextarea:u&&d!==void 0&&t!==d?(0,V.jsx)("button",{type:"button",onMouseDown:O=>{O.preventDefault(),u()},title:"Discard changes and restore saved description",style:{marginTop:4,display:"flex",alignItems:"center",gap:4,fontSize:11,color:"var(--p-text-g)",background:"none",border:"1px solid var(--p-border-t)",borderRadius:6,padding:"3px 8px",cursor:"pointer",transition:"color .12s, border-color .12s"},onMouseEnter:O=>{O.currentTarget.style.color="var(--p-amber-300)",O.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:O=>{O.currentTarget.style.color="var(--p-text-g)",O.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9 Discard changes"}):void 0})]}),A&&(0,V.jsx)(Xx,{logs:A}),e&&w&&k&&(0,V.jsxs)("div",{children:[(0,V.jsx)("div",{className:"dp-meta-label",children:"Screenshot"}),(0,V.jsxs)("div",{id:"dp-screenshot-preview",style:{border:"1px solid color-mix(in srgb, var(--p-border-t) 70%, transparent)",borderRadius:10,overflow:"hidden",background:"var(--p-card)"},children:[(0,V.jsx)("button",{onClick:()=>m(w.name,k),style:{width:"100%",height:112,border:"none",padding:0,background:"linear-gradient(135deg, var(--p-border), var(--p-bg))",cursor:"pointer",display:"block",overflow:"hidden"},title:"Preview screenshot",children:(0,V.jsx)("img",{src:k,alt:"Task screenshot",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}})}),(0,V.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",borderTop:"1px solid var(--p-border)",background:"var(--p-surface)"},children:[(0,V.jsx)("span",{style:{fontSize:10,color:"var(--p-text-f)",flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:w.addedAt?`Captured ${nt(w.addedAt)}`:"Screenshot attached"}),(0,V.jsx)("button",{onClick:()=>m(w.name,k),style:{fontSize:10,color:"var(--p-text-m)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Preview screenshot",children:"Preview"}),(0,V.jsx)("button",{onClick:()=>T(w.name),style:{fontSize:10,color:"var(--p-red)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Remove screenshot",children:"Remove"})]})]})]}),(0,V.jsxs)("div",{children:[(0,V.jsx)("div",{className:"dp-meta-label",children:"Tags"}),(0,V.jsx)(ji,{tags:c??(e==null?void 0:e.tags)??[],allTags:U,disabled:!e&&!i,onChange:O=>{i?i(O):e&&L(e.id,{tags:O})}})]}),(0,V.jsxs)("div",{children:[(0,V.jsx)("div",{className:"dp-meta-label",children:"Priority"}),(0,V.jsxs)("select",{id:"dp-priority",className:"dp-input",value:n,onChange:O=>{let re=O.target.value;l(re),g==null||g(re)},style:{padding:"5px 8px",fontSize:12,cursor:"pointer",width:"auto"},children:[(0,V.jsx)("option",{value:"",children:"\\u2014"}),(0,V.jsx)("option",{value:"Critical",children:"Critical"}),(0,V.jsx)("option",{value:"High",children:"High"}),(0,V.jsx)("option",{value:"Medium",children:"Medium"}),(0,V.jsx)("option",{value:"Low",children:"Low"})]})]}),e&&(0,V.jsxs)("div",{id:"dp-metadata",style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[(0,V.jsx)(Xi,{label:"Created",id:"dp-created",children:e.createdAt?nt(e.createdAt):"\\u2014"}),(0,V.jsx)(Xi,{label:"ID",id:"dp-id",children:(0,V.jsx)("span",{style:{fontFamily:"monospace"},children:e.id})}),(0,V.jsx)(Xi,{label:"Author",id:"dp-author",children:e.authorName??e.author??"\\u2014"}),e.commit&&(0,V.jsx)(Kx,{task:e,githubUrl:h}),e.annotatedElementText&&(0,V.jsxs)("div",{id:"dp-annotated-text",style:{gridColumn:"1 / -1",background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,V.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Annotated element text"}),(0,V.jsx)("div",{style:{fontSize:11,color:"var(--p-text-f)",fontStyle:"italic",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:e.annotatedElementText})]})]}),(0,V.jsx)(jt,{open:S!==null,message:"Remove this screenshot? This action cannot be undone.",confirmLabel:"Remove",onConfirm:()=>{S&&y(S),T(null)},onCancel:()=>T(null)})]})}function Xi({label:e,id:t,children:a}){return(0,V.jsxs)("div",{id:t,style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,V.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:e}),(0,V.jsx)("div",{style:{fontSize:11,color:"var(--p-text-f)",borderBottom:"1px solid var(--p-border)",paddingBottom:4,display:"flex",alignItems:"center",minHeight:16},children:a})]})}function Kx({task:e,githubUrl:t}){var n;let a=(n=e.commits)!=null&&n.length?e.commits:[{sha:e.commit,message:e.title??"",timestamp:e.createdAt??""}],r=a[a.length-1],o=a.map(l=>`${l.sha.slice(0,8)} ${l.timestamp?new Date(l.timestamp).toLocaleString():""} ${l.message.slice(0,60)}`).join(`\n`);return(0,V.jsxs)("div",{id:"dp-commit",style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px",cursor:"default"},title:a.length>1?`All commits:\n${o}`:`${r.sha}\n${r.message}`,children:[(0,V.jsxs)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:["Commit",a.length>1?"s":""]}),(0,V.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},children:[t&&e.commitPushed!==!1?(0,V.jsxs)("a",{href:`${t}/commit/${r.sha}`,target:"_blank",rel:"noopener noreferrer",style:{fontSize:10,color:"var(--p-blue-300)",fontFamily:"monospace",textDecoration:"none"},title:"Open diff on GitHub",onClick:l=>l.stopPropagation(),children:[r.sha.slice(0,8)," \\u2197"]}):(0,V.jsxs)("span",{style:{fontSize:10,color:"var(--p-text-f)",fontFamily:"monospace"},title:e.commitPushed===!1?"Commit not pushed to remote yet":void 0,children:[r.sha.slice(0,8),e.commitPushed===!1?" \\u23F3":""]}),a.length>1&&(0,V.jsxs)("span",{style:{fontSize:9,color:"var(--p-blue)",background:"color-mix(in srgb, var(--p-blue) 12%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 25%, transparent)",borderRadius:10,padding:"0 5px",fontWeight:600},children:["+",a.length-1]})]})]})}function jx(e){let a=e.indexOf(`\n---\n**Console logs**`);return a===-1?{userPart:e,consolePart:null}:{userPart:e.slice(0,a).trim(),consolePart:e.slice(a+1).trim()}}function Xx({logs:e}){let t=e.replace(/^---\\s*\\n/,"").split(`\n`).filter(a=>a.trim());return(0,V.jsxs)("div",{id:"dp-console-logs",style:{borderRadius:8,border:"1px solid color-mix(in srgb, var(--p-red) 30%, var(--p-border))",background:"color-mix(in srgb, var(--p-red) 4%, var(--p-card))",overflow:"hidden"},children:[(0,V.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 10px",borderBottom:"1px solid color-mix(in srgb, var(--p-red) 20%, var(--p-border))",background:"color-mix(in srgb, var(--p-red) 8%, var(--p-card))"},children:[(0,V.jsx)("span",{style:{fontSize:10,fontWeight:700,color:"color-mix(in srgb, var(--p-red) 80%, var(--p-text-sub))",letterSpacing:"0.05em",textTransform:"uppercase"},children:"Console Logs"}),(0,V.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",marginLeft:"auto"},children:"captured at submission"})]}),(0,V.jsxs)("div",{style:{padding:"6px 10px",maxHeight:200,overflowY:"auto",display:"flex",flexDirection:"column",gap:3},children:[t.map((a,r)=>{let o=a.includes("\\u{1F534}"),n=a.includes("\\u{1F7E1}"),l=a.replace(/^[-*]\\s*/,"");return(0,V.jsx)("div",{style:{fontFamily:"Menlo, monospace",fontSize:10,lineHeight:1.5,color:o?"var(--p-red)":n?"var(--p-amber-300)":"var(--p-text-f)",wordBreak:"break-all"},children:l},r)}),t.length===0&&(0,V.jsx)("div",{style:{fontSize:10,color:"var(--p-text-g)",fontStyle:"italic"},children:"No log entries captured."})]})]})}var co=D(_(),1);function Zi({commentInput:e,setCommentInput:t,commentSubmitting:a,onSubmit:r,baseRows:o=4}){return(0,co.jsx)("div",{id:"dp-comment-input-area",children:(0,co.jsx)(wn,{value:e,onChange:t,showPreview:!1,setShowPreview:()=>{},previewId:"dp-comment-tab-edit",textareaId:"dp-comment-input",placeholder:"Add a comment\\u2026 (markdown)",previewEmptyText:"Leave a comment (markdown)\\u2026",previewMinHeight:o<=2?36:54,previewMaxHeight:140,baseRows:o,maxRows:10,autoFocus:!0,onKeyDown:n=>{n.key==="Enter"&&(n.ctrlKey||n.metaKey)&&(n.preventDefault(),r())},afterTextarea:(0,co.jsx)("button",{id:"dp-comment-submit",disabled:a,onMouseDown:n=>{n.preventDefault(),r()},title:"Send (Ctrl+Enter)",style:{position:"absolute",bottom:16,right:8,width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--p-blue)",border:"none",borderRadius:6,cursor:"pointer",color:"var(--p-white)",transition:"background .15s"},children:(0,co.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{display:"block"},children:(0,co.jsx)("path",{d:"M2 8L14 2L10 8L14 14L2 8Z",fill:"currentColor"})})})})})}var M=D(_(),1),Qx="vibeflow-paste-hint-dismissed";function Yx({storageKey:e=Qx}){let[t,a]=j.default.useState(()=>{try{return!localStorage.getItem(e)}catch{return!0}});if(!t)return null;function r(){try{localStorage.setItem(e,"1")}catch{}a(!1)}return(0,M.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",margin:"0 0 6px",borderRadius:6,background:"rgba(37,99,235,0.08)",border:"1px solid rgba(37,99,235,0.18)",fontSize:11,color:"var(--p-blue-300)",flexShrink:0},children:[(0,M.jsxs)("span",{style:{flex:1,lineHeight:1.4},children:["\\u{1F4A1} ",(0,M.jsx)("strong",{children:"Tip:"})," Paste screenshots or files anywhere in this panel \\u2014 they attach automatically."]}),(0,M.jsx)("button",{onClick:r,title:"Dismiss",style:{flexShrink:0,background:"none",border:"none",cursor:"pointer",padding:2,color:"var(--p-blue-300)",opacity:.7,display:"flex",alignItems:"center"},onMouseEnter:o=>{o.currentTarget.style.opacity="1"},onMouseLeave:o=>{o.currentTarget.style.opacity="0.7"},children:(0,M.jsx)(ze,{style:{width:12,height:12}})})]})}var Zx=[{id:"backlog",label:"backlog"},{id:"todo",label:"todo"},{id:"in-progress",label:"in-progress"},{id:"review",label:"review"},{id:"done",label:"done"}],Jx=5*1024*1024;function Ji(e,t=.8){return new Promise((a,r)=>{let o=new Image,n=URL.createObjectURL(e);o.onload=()=>{let l=document.createElement("canvas");l.width=o.naturalWidth,l.height=o.naturalHeight;let s=l.getContext("2d");if(!s){URL.revokeObjectURL(n),r(new Error("canvas unavailable"));return}s.drawImage(o,0,0),URL.revokeObjectURL(n),l.toBlob(u=>{u?a(u):r(new Error("canvas.toBlob failed"))},"image/jpeg",t)},o.onerror=()=>{URL.revokeObjectURL(n),r(new Error("image load failed"))},o.src=n})}function ed({open:e,task:t,tab:a,addColumnId:r="todo",gitUserName:o="You",githubUrl:n,baseUrl:l,isResizing:s,api:u,onClose:d,onSave:g,onCreate:h,onDelete:m,onPatch:L,onFilePreview:y,onActivityChange:I,externalLocalChanges:U=[],showLockIndicator:c=!0,lockedByUser:i,onGoBack:f,navBackLabel:v,commentVersion:w,allTasks:k=[]}){let p=!t,S=t?Ln(t.type):Ln("Task"),T=j.default.useRef(null),[F,A]=j.default.useState([]),O=j.default.useRef(!1),re=j.default.useRef(""),J=j.default.useRef(""),Re=j.default.useMemo(()=>{let C=new Set;for(let H of k)for(let W of H.tags??[])C.add(W);return[...C].sort()},[k]),[q,N]=j.default.useState(a),[Q,oe]=j.default.useState(""),[$,me]=j.default.useState(""),[lt,wt]=j.default.useState(r),[Ke,Xt]=j.default.useState("Task"),[kt,da]=j.default.useState(""),[Ut,Lr]=j.default.useState(!1),[ps,yr]=j.default.useState(!1),[Nt,Qt]=j.default.useState(!1),[ms,kn]=j.default.useState([]),[gs,bn]=j.default.useState(!1),[Pn,Wa]=j.default.useState(null),[fa,Sr]=j.default.useState(""),[Ir,Tn]=j.default.useState(!1),[Cr,Rn]=j.default.useState([]),[Dn,An]=j.default.useState(!1),[hs,mo]=j.default.useState(null),[Mn,wr]=j.default.useState(0),Va=j.default.useRef(0),[x,b]=j.default.useState(0),[B,Y]=j.default.useState(null),[he,ce]=j.default.useState([]),[te,ue]=j.default.useState([]),Je=j.default.useRef(null),Me=j.default.useRef(()=>{}),pt=j.default.useRef(""),R=j.default.useRef(!1);j.default.useEffect(()=>{pt.current=fa},[fa]),j.default.useEffect(()=>{R.current=Nt},[Nt]),j.default.useEffect(()=>{O.current=s??!1},[s]),j.default.useEffect(()=>{e||I==null||I(null,"viewing")},[e]),j.default.useEffect(()=>{if(!e||!t)return;Q!==re.current||$!==J.current?I==null||I(t.id,"locked"):I==null||I(t.id,"viewing")},[Q,$,e,t==null?void 0:t.id]),j.default.useEffect(()=>{if(!e)return;function C(H){var W,Le,fe,bt;if(!O.current&&!((Le=(W=H.target)==null?void 0:W.closest)!=null&&Le.call(W,"[data-task-ref-suggest]"))&&!((bt=(fe=H.target)==null?void 0:fe.closest)!=null&&bt.call(fe,".modal-backdrop"))&&T.current&&!T.current.contains(H.target)){if(R.current)return;if(pt.current.trim().length>0){Me.current(),Qt(!0);return}Me.current(),d()}}return document.addEventListener("mousedown",C),()=>document.removeEventListener("mousedown",C)},[e,d]),j.default.useEffect(()=>{if(!e)return;function C(H){if(H.key==="Escape"){if(R.current){Qt(!1),H.stopPropagation();return}if(pt.current.trim().length>0){H.stopPropagation(),Me.current(),Qt(!0);return}}}return document.addEventListener("keydown",C,{capture:!0}),()=>document.removeEventListener("keydown",C,{capture:!0})},[e]),j.default.useEffect(()=>{if(e){if(N(a),Lr(!!t),Sr(""),kn([]),Rn([]),wr(0),b(0),ce([]),ue([]),t){let C=(t.title??"").trim(),H=(t.description??"").trim();oe(C),me(H),wt(t.status),Xt(t.type??"Task"),da(t.priority??""),re.current=C,J.current=H,I==null||I(t.id,"viewing")}else oe(""),me(""),wt(r),Xt("Task"),da("");t&&(Yt(t.id),_e(t.id)),setTimeout(()=>{var C;return(C=Je.current)==null?void 0:C.focus()},50)}},[e,t==null?void 0:t.id,a]),j.default.useEffect(()=>{!e||!t||(q==="comments"?(Ht(t.id),_e(t.id)):q==="files"&&_e(t.id))},[q,e,t==null?void 0:t.id]),j.default.useEffect(()=>{if(!e||!t||Q!==re.current||$!==J.current)return;let H=(t.title??"").trim(),W=(t.description??"").trim();(H!==re.current||W!==J.current)&&(oe(H),me(W),re.current=H,J.current=W),t.status&&t.status!==lt&&wt(t.status),t.type&&t.type!==Ke&&Xt(t.type),t.priority!==void 0&&t.priority!==kt&&da(t.priority??"")},[t==null?void 0:t.title,t==null?void 0:t.description,t==null?void 0:t.status,t==null?void 0:t.type,t==null?void 0:t.priority]),j.default.useEffect(()=>{!e||!t||w===void 0||(q==="comments"?Ht(t.id):Yt(t.id))},[w]);async function Yt(C){var H,W;try{let[Le,fe]=await Promise.all([u.getComments(C),u.getFiles(C)]);wr(((H=Le.comments)==null?void 0:H.length)??0),b(((W=fe.files)==null?void 0:W.length)??0)}catch{}}async function Ht(C){var W;let H=++Va.current;bn(!0),Wa(null);try{let Le=await u.getComments(C);if(Va.current!==H)return;kn(Le.comments??[]),wr(((W=Le.comments)==null?void 0:W.length)??0)}catch{if(Va.current!==H)return;Wa("failed")}finally{Va.current===H&&bn(!1)}}async function _e(C){var H;An(!0),mo(null);try{let W=await u.getFiles(C);Rn(W.files??[]),b(((H=W.files)==null?void 0:H.length)??0)}catch{mo("failed")}finally{An(!1)}}async function kr(){var C;if(!Q.trim()){(C=Je.current)==null||C.focus();return}if(!p&&fa.trim()&&await xs(),p){let H=await h({title:Q.trim(),description:$.trim()||Q.trim(),status:lt,type:Ke,priority:kt||void 0,selector:"/",tags:te.length>0?te:void 0});if(H&&F.length>0){for(let W of F)await u.uploadFile(H,W).catch(()=>null);A([])}d()}else $a()}function $a(){if(!t||p)return;let C=Q.trim();if(!C)return;let H=re.current,W=J.current,Le=C!==H,fe=$.trim()!==W;!Le&&!fe||(Le&&Ga("title",H,C),fe&&Ga("description",W,$.trim()),L(t.id,{title:C,description:$.trim(),type:Ke,priority:kt||void 0}),re.current=C,J.current=$.trim())}Me.current=$a;function Ga(C,H,W){H!==W&&ce(Le=>[...Le,{field:C,from:H,to:W,actor:o,timestamp:new Date().toISOString()}])}async function xs(){if(!(!t||!fa.trim())){Tn(!0);try{await u.addComment(t.id,fa.trim()),Sr(""),await Ht(t.id)}finally{Tn(!1)}}}async function Pm(C,H){t&&(await u.updateComment(t.id,C.id,H),await Ht(t.id))}async function Tm(C){t&&(await u.deleteComment(t.id,C.id),await Ht(t.id))}async function Rm(C){if(!t)return;let H=t.id;Y(null);for(let W of Array.from(C.target.files??[])){if(!W.type.startsWith("image/")&&W.size>Jx){Y(`"${W.name}" exceeds the 5 MB limit and was skipped.`);continue}let Le;if(W.type.startsWith("image/")){let fe=await Ji(W),bt=W.name.replace(/\\.(png|bmp|gif|webp|tiff?)$/i,".jpg");Le=new File([fe],bt,{type:"image/jpeg"})}else Le=W;await u.uploadFile(H,Le)}C.target.value="",await _e(H),Yt(H)}async function Dm(C){if(!t)return;Y(null);let H=await Ji(C),Le=`paste-${new Date().toISOString().replace(/[:.]/g,"-").slice(0,19)}.jpg`,fe=new File([H],Le,{type:"image/jpeg"});await u.uploadFile(t.id,fe),await _e(t.id),Yt(t.id)}async function Am(C){if(!t)return;let H=Array.from(C.items),W=H.find(fe=>fe.type.startsWith("image/"));if(W){let fe=W.getAsFile();fe&&await Dm(fe);return}let Le=H.filter(fe=>fe.kind==="file"&&!fe.type.startsWith("image/"));if(Le.length>0){for(let fe of Le){let bt=fe.getAsFile();bt&&await u.uploadFile(t.id,bt)}await _e(t.id),Yt(t.id);return}}j.default.useEffect(()=>{if(!e)return;function C(H){if(!H.clipboardData)return;let W=H.target;if(!((W.tagName==="TEXTAREA"||W.tagName==="INPUT"||W.isContentEditable)&&!Array.from(H.clipboardData.items).some(br=>br.kind==="file"))){if(H.preventDefault(),!t){let bt=Array.from(H.clipboardData.items).find(br=>br.type.startsWith("image/"));if(bt){let br=bt.getAsFile();br&&(async()=>{let zm=await Ji(br),Um=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19),Nm=new File([zm],`paste-${Um}.jpg`,{type:"image/jpeg"});A(Hm=>[...Hm,Nm])})()}return}Am(H.clipboardData)}}return document.addEventListener("paste",C),()=>document.removeEventListener("paste",C)},[e,t==null?void 0:t.id]);async function od(C){t&&(await u.deleteFile(t.id,C.name),await _e(t.id),Yt(t.id))}async function Mm(C){if(!t)return;await u.deleteFile(t.id,C);let H=(t.files??[]).filter(W=>W.name!==C);L(t.id,{files:H}),await _e(t.id),Yt(t.id)}function Em(C){wt(C),!p&&t&&L(t.id,{status:C})}let Fm=C=>C!==lt?"dp-status-btn":`dp-status-btn active-${C}`;function nd(){if(!R.current){if(pt.current.trim().length>0){Me.current(),Qt(!0);return}Me.current(),d()}}let Bm=e&&t!=null&&(Q!==re.current||$!==J.current),Om=j.default.useMemo(()=>{let C=[...U,...he].sort((W,Le)=>new Date(W.timestamp).getTime()-new Date(Le.timestamp).getTime()),H=[];for(let W of C)H.some(fe=>fe.field===W.field&&fe.from.toLowerCase()===W.from.toLowerCase()&&fe.to.toLowerCase()===W.to.toLowerCase()&&fe.actor===W.actor&&Math.abs(new Date(fe.timestamp).getTime()-new Date(W.timestamp).getTime())<=3e3)||H.push(W);return H},[U,he]),Ka=!p&&!!i;return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)("aside",{id:"detail-panel",className:"open",ref:T,children:[Ka&&(0,M.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",background:"rgba(234,88,12,0.12)",border:"1px solid rgba(234,88,12,0.25)",borderRadius:6,margin:"8px 12px 0",fontSize:12,color:"#f97316",fontWeight:500},children:["\\u{1F512} Locked by ",(0,M.jsx)("strong",{children:i})," \\u2014 editing disabled until they finish."]}),(0,M.jsxs)("div",{className:"dp-header",children:[(0,M.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10},children:[f&&(0,M.jsx)("button",{id:"dp-back",onClick:f,title:v?`Back to: ${v}`:"Go back",style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"1px solid var(--p-border-t)",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s",fontSize:14,lineHeight:1},onMouseOver:C=>{C.currentTarget.style.background="var(--p-border)",C.currentTarget.style.color="var(--p-blue-300)",C.currentTarget.style.borderColor="var(--p-blue)"},onMouseOut:C=>{C.currentTarget.style.background="transparent",C.currentTarget.style.color="var(--p-text-g)",C.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u2190"}),(0,M.jsx)(us,{id:"dp-type-picker",value:Ke,disabled:Ka,onChange:C=>{!p&&t&&C!==Ke&&Ga("type",Ke,C),Xt(C),!p&&t&&L(t.id,{type:C})}}),(0,M.jsx)("input",{id:"dp-title",ref:Je,className:"dp-input",type:"text",placeholder:"Task title\\u2026",value:Q,readOnly:Ka,onChange:C=>oe(C.target.value),onKeyDown:C=>{C.key==="Escape"&&(C.stopPropagation(),nd()),C.key==="Enter"&&p&&kr()},style:{flex:1,fontSize:14,fontWeight:600,padding:"4px 8px",borderColor:"transparent",background:"transparent"},onFocus:C=>{C.currentTarget.style.borderColor="var(--p-blue)",C.currentTarget.style.background="var(--p-input)"},onBlur:C=>{C.currentTarget.style.borderColor="transparent",C.currentTarget.style.background="transparent",p||$a()}}),!p&&Q!==re.current&&Q.trim()!==""&&(0,M.jsx)("button",{type:"button",title:"Discard title changes",onMouseDown:C=>{C.preventDefault(),oe(re.current)},style:{width:20,height:20,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:4,border:"1px solid var(--p-border-t)",background:"none",color:"var(--p-text-g)",cursor:"pointer",fontSize:13,lineHeight:1},onMouseEnter:C=>{C.currentTarget.style.color="var(--p-amber-300)",C.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:C=>{C.currentTarget.style.color="var(--p-text-g)",C.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9"}),(0,M.jsx)("button",{id:"dp-close",onClick:nd,style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s",pointerEvents:"auto"},onMouseOver:C=>{C.currentTarget.style.background="var(--p-border)",C.currentTarget.style.color="var(--p-text-m)"},onMouseOut:C=>{C.currentTarget.style.background="transparent",C.currentTarget.style.color="var(--p-text-g)"},children:(0,M.jsx)(ze,{style:{width:14,height:14}})}),c&&Bm&&t&&(0,M.jsx)("span",{id:"dp-lock-indicator",title:`Locked by ${o} \\u2014 unsaved changes`,style:{display:"inline-flex",alignItems:"center",gap:3,flexShrink:0,borderRadius:999,padding:"2px 7px",fontSize:10,fontWeight:600,border:"1px solid rgba(244,114,182,0.35)",color:"#f9a8d4",background:"rgba(157,23,77,0.28)"},children:"\\u{1F512} Locked"})]}),(0,M.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",...Ka?{pointerEvents:"none",opacity:.6}:{}},children:[(0,M.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",fontWeight:500,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Status"}),Zx.map(C=>(0,M.jsx)("button",{className:Fm(C.id),"data-status":C.id,onClick:()=>Em(C.id),children:C.label},C.id))]})]}),!p&&(0,M.jsxs)("div",{className:"dp-tabs",id:"dp-tabs-row",children:[(0,M.jsx)("button",{className:`dp-tab${q==="details"?" active":""}`,id:"dp-tab-details",onClick:()=>N("details"),children:"Details"}),(0,M.jsxs)("button",{className:`dp-tab${q==="comments"?" active":""}`,id:"dp-tab-activity",onClick:()=>N("comments"),children:["Activity ",Mn>0&&(0,M.jsxs)("span",{id:"dp-activity-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",Mn,")"]})]}),(0,M.jsxs)("button",{className:`dp-tab${q==="files"?" active":""}`,id:"dp-tab-files",onClick:()=>N("files"),children:["Files ",x>0&&(0,M.jsxs)("span",{id:"dp-file-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",x,")"]})]})]}),(0,M.jsxs)("div",{className:"dp-body",children:[!p&&(0,M.jsx)(Yx,{}),(0,M.jsxs)("div",{className:"dp-pane",id:"dp-details-pane",style:{display:!t||q==="details"?"":"none"},children:[(0,M.jsx)("div",{style:Ka?{pointerEvents:"none",opacity:.6}:void 0,children:(0,M.jsx)(Yi,{task:t,description:$,setDescription:me,showDescPreview:Ut,setShowDescPreview:Lr,priority:kt,setPriority:da,onDescriptionBlur:p?void 0:$a,onDescriptionDiscard:p?void 0:()=>{me(J.current),Lr(!0)},originalDescription:p?void 0:J.current,onPriorityChange:p?void 0:C=>{t&&(C!==kt&&Ga("priority",kt||"\\u2014",C||"\\u2014"),L(t.id,{priority:C||void 0}))},githubUrl:n,onFilePreview:y,onDeleteScreenshot:Mm,onPatch:L,liveFiles:Cr.length>0||Dn?Cr:void 0,allTags:Re,overrideTags:p?te:void 0,onTagsChange:p?ue:void 0})}),!p&&t&&(0,M.jsx)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",flexShrink:0,marginTop:12,borderTop:"1px solid var(--p-border)",paddingTop:10},children:(0,M.jsx)(ev,{task:t})})]}),(0,M.jsxs)("div",{className:"dp-pane",id:"dp-activity-pane",style:{display:q==="comments"&&!p?"":"none"},children:[(0,M.jsx)("div",{style:{borderBottom:"1px solid var(--p-border)",paddingBottom:8,flexShrink:0},children:(0,M.jsx)(Zi,{commentInput:fa,setCommentInput:Sr,commentSubmitting:Ir,onSubmit:()=>void xs(),baseRows:2})}),(0,M.jsx)(Gi,{comments:ms,files:Cr,localChanges:Om,loading:gs,error:Pn,gitUserName:o,taskAuthorName:t==null?void 0:t.authorName,baseUrl:l,taskId:t==null?void 0:t.id,taskCreatedAt:t==null?void 0:t.createdAt,taskUpdatedAt:t==null?void 0:t.updatedAt,onEdit:Pm,onDelete:Tm,onDeleteFile:od,onFilePreview:y})]}),(0,M.jsxs)("div",{className:"dp-pane",id:"dp-files-pane",style:{display:q==="files"&&!p?"":"none"},children:[(0,M.jsx)(Ki,{files:Cr,loading:Dn,error:hs,baseUrl:l,onPreview:C=>y(C.name,C.linkedPath?`${l}/api/tasks/${t==null?void 0:t.id}/files/${encodeURIComponent(C.name)}`:`${l}${C.url}`),onDelete:Ka?void 0:od}),(0,M.jsxs)("div",{style:{borderTop:"1px solid var(--p-border)",paddingTop:8,flexShrink:0,display:"flex",gap:8,flexWrap:"wrap",alignItems:"center",...Ka?{pointerEvents:"none",opacity:.5}:{}},children:[B&&(0,M.jsx)("div",{style:{width:"100%",fontSize:11,color:"var(--p-red)",background:"rgba(255,80,80,0.08)",border:"1px solid rgba(255,80,80,0.2)",borderRadius:5,padding:"4px 8px"},children:B}),(0,M.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,cursor:"pointer",padding:"6px 10px",background:"var(--p-card)",border:"1px solid var(--p-border)",borderRadius:8,color:"var(--p-text-m)",fontSize:12,transition:"all .15s"},onMouseOver:C=>{C.currentTarget.style.borderColor="var(--p-border-t)",C.currentTarget.style.color="var(--p-text)"},onMouseOut:C=>{C.currentTarget.style.borderColor="var(--p-border)",C.currentTarget.style.color="var(--p-text-m)"},children:[(0,M.jsx)(lo,{style:{width:12,height:12}}),"Upload",(0,M.jsx)("input",{id:"dp-file-upload",type:"file",style:{display:"none"},multiple:!0,onChange:Rm})]}),(0,M.jsx)("span",{style:{fontSize:11,color:"var(--p-border-t)",marginLeft:"auto"},children:"or paste image"})]})]})]}),(0,M.jsxs)("div",{className:"dp-footer",children:[!p&&(0,M.jsx)("button",{id:"dp-delete",onClick:()=>yr(!0),style:{color:"var(--p-red)",background:"none",border:"1px solid var(--p-border-t)",borderRadius:7,padding:"5px 12px",fontSize:12,cursor:"pointer",fontFamily:"inherit",transition:"all .15s"},onMouseOver:C=>{C.currentTarget.style.borderColor="var(--p-red)"},onMouseOut:C=>{C.currentTarget.style.borderColor="var(--p-border-t)"},children:"Delete"}),(0,M.jsx)("div",{style:{flex:1}}),p?(0,M.jsxs)(M.Fragment,{children:[F.length>0&&(0,M.jsxs)("span",{style:{fontSize:11,color:"var(--p-blue-300)",marginRight:8,background:"rgba(37,99,235,0.1)",border:"1px solid rgba(37,99,235,0.25)",borderRadius:6,padding:"3px 8px"},children:["\\u{1F4CE} ",F.length," screenshot",F.length!==1?"s":""," will attach on save"]}),(0,M.jsx)("button",{id:"dp-cancel",onClick:d,style:{padding:"5px 14px",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",border:"1px solid var(--p-border-t)",background:"var(--p-border)",color:"var(--p-text-sub)",fontFamily:"inherit",transition:"all .15s"},onMouseOver:C=>{C.currentTarget.style.borderColor="var(--p-text-g)"},onMouseOut:C=>{C.currentTarget.style.borderColor="var(--p-border-t)"},children:"Cancel"}),(0,M.jsx)("button",{id:"dp-save",onClick:()=>void kr(),style:{padding:"5px 18px",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",border:"1px solid var(--p-blue-700)",background:"var(--p-blue)",color:"var(--p-white)",fontFamily:"inherit",transition:"background .15s"},onMouseOver:C=>{C.currentTarget.style.background="var(--p-blue-700)"},onMouseOut:C=>{C.currentTarget.style.background="var(--p-blue)"},children:"Add Task"})]}):(0,M.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)",padding:"5px 4px"},children:"Changes are saved automatically"})]}),(0,M.jsx)(jt,{open:ps,title:"Delete task?",message:`You are about to permanently delete "${(t==null?void 0:t.title)||"this task"}". This action cannot be undone.`,confirmLabel:"Delete task",onConfirm:()=>{yr(!1),m(t.id),d()},onCancel:()=>yr(!1)})]}),Nt&&(0,M.jsx)("div",{style:{position:"fixed",inset:0,zIndex:201,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",background:"rgba(2,12,27,0.80)"},children:(0,M.jsxs)("div",{style:{background:"var(--p-surface)",border:"1px solid var(--p-border-s)",borderRadius:16,padding:"28px 32px",width:"100%",maxWidth:480,boxShadow:"var(--p-shadow-lg)",position:"relative"},children:[(0,M.jsx)("div",{style:{width:44,height:44,borderRadius:12,background:"rgba(139,92,246,0.12)",border:"1px solid rgba(139,92,246,0.25)",display:"flex",alignItems:"center",justifyContent:"center",marginBottom:16},children:(0,M.jsx)(lo,{style:{width:20,height:20,color:"var(--p-purple)"}})}),(0,M.jsx)("h2",{style:{margin:"0 0 8px",fontSize:17,fontWeight:700,color:"var(--p-text)"},children:"Send comment?"}),(0,M.jsx)("p",{style:{margin:"0 0 22px",fontSize:13,color:"var(--p-text-f)",lineHeight:1.6},children:"You have an unsent comment. Do you want to send it before closing?"}),(0,M.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,M.jsx)("button",{onClick:()=>{Qt(!1),xs().then(()=>d())},style:{flex:1,padding:"9px 14px",borderRadius:8,background:"var(--p-purple)",border:"none",color:"#fff",fontSize:13,fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"},children:"Send & Close"}),(0,M.jsx)("button",{type:"button",onClick:()=>{Qt(!1),Sr(""),d()},style:{padding:"9px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer"},children:"Discard & Close"}),(0,M.jsx)("button",{type:"button",onClick:()=>Qt(!1),style:{padding:"9px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer"},children:"Keep editing"})]})]})})]})}function ev({task:e}){let t=[];if(e.component&&t.push((0,M.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",background:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 36%, transparent)",borderRadius:100,fontSize:10,color:"var(--p-purple-300)",fontFamily:"monospace"},children:["\\u2B21 ",e.component]},"component")),e.file||e.selector&&e.selector!=="/"||e.cssSelector){let r=e.file??"";e.line!=null&&(r+=`:${e.line}`),e.col!=null&&(r+=`:${e.col}`);let o=e.cssSelector??(e.selector&&e.selector!=="/"?e.selector:""),n=r||o;if(n){let l=n.length>40?`\\u2026${n.slice(-40)}`:n,s=e.url?e.url.length>30?`\\u2026${e.url.slice(-30)}`:e.url:"";t.push((0,M.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:0,borderRadius:6,overflow:"hidden",border:"1px solid color-mix(in srgb, var(--p-blue) 15%, transparent)",fontSize:10,fontFamily:"monospace",whiteSpace:"nowrap"},children:[(0,M.jsx)("span",{title:[r,o].filter(Boolean).join(" \\xB7 "),style:{padding:"2px 6px",background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",color:"var(--p-blue-300)"},children:l}),s&&(0,M.jsx)("span",{title:e.url,style:{padding:"2px 6px",background:"color-mix(in srgb, var(--p-border) 72%, transparent)",color:"var(--p-text-g)",borderLeft:"1px solid color-mix(in srgb, var(--p-blue) 18%, transparent)"},children:s})]},"source"))}}else if(e.url){let r=e.url.length>40?`\\u2026${e.url.slice(-40)}`:e.url;t.push((0,M.jsx)("span",{className:"dp-source-pill",title:e.url,children:r},"url"))}return e.reportBack&&t.push((0,M.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",background:"color-mix(in srgb, var(--p-purple) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 24%, transparent)",borderRadius:100,fontSize:10,color:"var(--p-purple-300)"},children:"\\u21A9 report back"},"rb")),(0,M.jsx)("div",{id:"dp-meta-row",style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",flex:1},children:t})}var vr=D(Ie(),1);var X=D(_(),1),tv=[{id:"all",label:"All",dot:""},{id:"todo",label:"Todo",dot:"var(--p-amber)"},{id:"in-progress",label:"In Progress",dot:"var(--p-blue)"},{id:"review",label:"Review",dot:"var(--p-purple)"}],av={todo:{background:"color-mix(in srgb, var(--p-amber) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-amber) 38%, transparent)",color:"var(--p-amber-300)"},"in-progress":{background:"color-mix(in srgb, var(--p-blue) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 38%, transparent)",color:"var(--p-blue-200)"},review:{background:"color-mix(in srgb, var(--p-purple) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 38%, transparent)",color:"var(--p-purple-300)"},done:{background:"color-mix(in srgb, var(--p-green) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-green) 32%, transparent)",color:"var(--p-green-300)"},backlog:{background:"color-mix(in srgb, var(--p-text-g) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-text-g) 32%, transparent)",color:"var(--p-text-m)"},all:{background:"color-mix(in srgb, var(--p-blue) 12%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 32%, transparent)",color:"var(--p-blue-200)"}};function td({tasks:e,filter:t,onFilter:a,view:r="board",onViewChange:o,activityCounter:n}){let[l,s]=vr.default.useState(!1),[u,d]=vr.default.useState(!1),[g,h]=vr.default.useState(!1),m=vr.default.useMemo(()=>[...new Set(e.map(p=>p.type).filter(Boolean))].sort(),[e]),L=vr.default.useMemo(()=>[...new Set(e.map(p=>p.author).filter(Boolean))].sort(),[e]),y=vr.default.useMemo(()=>{let p=new Set;for(let S of e)for(let T of S.tags??[])p.add(T);return[...p].sort()},[e]);function I(p){return e.filter(S=>S.status===p).length}function U(p){a({...t,status:p}),s(!1),d(!1),h(!1)}function c(p){a({...t,type:p}),s(!1)}function i(p){a({...t,user:p}),d(!1)}function f(p){let S=t.tags??[],T=S.includes(p)?S.filter(F=>F!==p):[...S,p];a({...t,tags:T})}function v(p){p.stopPropagation();let S=p.currentTarget.dataset.status;S&&U(S)}let w={display:"flex",alignItems:"center",gap:5,padding:"3px 10px",borderRadius:6,fontSize:11,cursor:"pointer",border:"1px solid transparent",background:"transparent",color:"var(--p-text-f)",transition:"all .12s",fontFamily:"inherit",fontWeight:500},k={...w,background:"var(--p-card)",border:"1px solid var(--p-border)",color:"var(--p-text-f)",padding:"3px 10px",position:"relative"};return(0,X.jsxs)("div",{"data-proto-id":"filter-bar",style:{display:"flex",alignItems:"center",gap:6,padding:"7px 16px",background:"var(--p-surface)",borderBottom:"1px solid var(--p-border)",flexShrink:0},onClick:()=>{s(!1),d(!1),h(!1)},children:[(0,X.jsx)("div",{style:{display:"flex",alignItems:"center",gap:2},children:tv.map(p=>{let S=t.status===p.id,T=p.id!=="all"?I(p.id):null,F=S?av[p.id]:{};return(0,X.jsxs)("button",{"data-status":p.id,style:{...w,...F},onMouseOver:A=>{S||(A.currentTarget.style.background="var(--p-hover)",A.currentTarget.style.color="var(--p-text-m)")},onMouseOut:A=>{S||(A.currentTarget.style.background="transparent",A.currentTarget.style.color="var(--p-text-f)")},onClick:v,children:[p.dot&&(0,X.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:p.dot,flexShrink:0,display:"inline-block"}}),p.label,T!=null&&(0,X.jsx)("span",{style:{color:S?"inherit":"var(--p-border-t)",fontSize:10,opacity:.8},children:T})]},p.id)})}),(0,X.jsx)("div",{style:{flex:1}}),n,t.user&&(0,X.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:"color-mix(in srgb, var(--p-purple) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 24%, transparent)",fontSize:10,color:"var(--p-purple-300)"},children:[t.user,(0,X.jsx)("button",{onClick:()=>i(null),style:{display:"flex",background:"none",border:"none",color:"var(--p-purple-300)",cursor:"pointer",padding:0,lineHeight:1},children:(0,X.jsx)(ze,{style:{width:10,height:10}})})]}),t.type&&(0,X.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 24%, transparent)",fontSize:10,color:"var(--p-cyan-300)"},children:[t.type,(0,X.jsx)("button",{onClick:()=>c(null),style:{display:"flex",background:"none",border:"none",color:"var(--p-cyan-300)",cursor:"pointer",padding:0,lineHeight:1},children:(0,X.jsx)(ze,{style:{width:10,height:10}})})]}),(t.tags??[]).map(p=>{let{bg:S,text:T,border:F}=Bt(p);return(0,X.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:S,border:`1px solid ${F}`,fontSize:10,color:T,fontWeight:600},children:[p,(0,X.jsx)("button",{onClick:()=>f(p),style:{display:"flex",background:"none",border:"none",color:T,cursor:"pointer",padding:0,lineHeight:1},children:(0,X.jsx)(ze,{style:{width:10,height:10}})})]},p)}),(0,X.jsxs)("div",{style:{position:"relative"},children:[(0,X.jsxs)("button",{style:{...k,color:(t.tags??[]).length?"var(--p-green-300)":"var(--p-text-f)",borderColor:(t.tags??[]).length?"color-mix(in srgb, var(--p-green) 36%, transparent)":"var(--p-border)",opacity:y.length?1:.55},onClick:p=>{p.stopPropagation(),y.length&&(d(!1),s(!1),h(S=>!S))},children:[(0,X.jsx)(no,{style:{width:12,height:12}}),"Tags",(t.tags??[]).length>0&&(0,X.jsx)("span",{style:{fontSize:9,background:"color-mix(in srgb, var(--p-green) 20%, transparent)",color:"var(--p-green-300)",borderRadius:100,padding:"0 4px"},children:(t.tags??[]).length}),(0,X.jsx)(ir,{style:{width:12,height:12}})]}),g&&y.length>0&&(0,X.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:160,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:p=>p.stopPropagation(),children:[(t.tags??[]).length>0&&(0,X.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>a({...t,tags:[]}),children:"Clear tag filters"}),y.map(p=>{let{bg:S,text:T,border:F}=Bt(p),A=(t.tags??[]).includes(p);return(0,X.jsxs)("button",{style:{width:"100%",textAlign:"left",padding:"6px 12px",fontSize:11,color:"var(--p-text-m)",background:A?"var(--p-hover)":"none",border:"none",cursor:"pointer",display:"flex",alignItems:"center",gap:6},onMouseEnter:O=>{O.currentTarget.style.background="var(--p-hover)"},onMouseLeave:O=>{O.currentTarget.style.background=A?"var(--p-hover)":"none"},onClick:()=>f(p),children:[(0,X.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:T,border:`1px solid ${F}`,flexShrink:0}}),(0,X.jsx)("span",{style:{flex:1},children:p}),A&&(0,X.jsx)("span",{style:{color:T,fontSize:12,lineHeight:1},children:"\\u2713"})]},p)})]})]}),(0,X.jsxs)("div",{style:{position:"relative"},children:[(0,X.jsxs)("button",{style:{...k,color:t.user?"var(--p-purple-300)":"var(--p-text-f)",borderColor:t.user?"color-mix(in srgb, var(--p-purple) 36%, transparent)":"var(--p-border)",opacity:L.length?1:.55},onClick:p=>{p.stopPropagation(),L.length&&(s(!1),d(S=>!S))},children:[(0,X.jsx)(xn,{style:{width:12,height:12}}),"User",(0,X.jsx)(ir,{style:{width:12,height:12}})]}),u&&L.length>0&&(0,X.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:160,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:p=>p.stopPropagation(),children:[(0,X.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>i(null),children:"All users"}),L.map(p=>(0,X.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.user===p?"var(--p-purple-300)":"var(--p-text-m)",background:t.user===p?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:S=>{t.user!==p&&(S.currentTarget.style.background="var(--p-hover)")},onMouseOut:S=>{t.user!==p&&(S.currentTarget.style.background="none")},onClick:()=>i(p),children:p},p))]})]}),(0,X.jsxs)("div",{style:{position:"relative"},children:[(0,X.jsxs)("button",{style:{...k,color:t.type?"var(--p-cyan-300)":"var(--p-text-f)",borderColor:t.type?"color-mix(in srgb, var(--p-blue) 36%, transparent)":"var(--p-border)",opacity:m.length?1:.55},onClick:p=>{p.stopPropagation(),m.length&&s(S=>!S)},children:[(0,X.jsx)(no,{style:{width:12,height:12}}),"Type",(0,X.jsx)(ir,{style:{width:12,height:12}})]}),l&&m.length>0&&(0,X.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:140,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:p=>p.stopPropagation(),children:[(0,X.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>c(null),children:"All types"}),m.map(p=>(0,X.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.type===p?"var(--p-cyan-300)":"var(--p-text-m)",background:t.type===p?"color-mix(in srgb, var(--p-blue) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:S=>{t.type!==p&&(S.currentTarget.style.background="var(--p-hover)")},onMouseOut:S=>{t.type!==p&&(S.currentTarget.style.background="none")},onClick:()=>c(p),children:p},p))]})]}),(0,X.jsxs)("div",{style:{display:"flex",alignItems:"center",background:"var(--p-card)",border:"1px solid var(--p-border)",borderRadius:8,padding:2,gap:0},children:[(0,X.jsx)("button",{title:"Board view",style:{padding:"4px 7px",borderRadius:5,background:r==="board"?"var(--p-surface)":"none",color:r==="board"?"var(--p-text-sub)":"var(--p-text-g)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",transition:"background .12s,color .12s"},onClick:p=>{p.stopPropagation(),o==null||o("board")},children:(0,X.jsx)(cn,{style:{width:13,height:13}})}),(0,X.jsx)("button",{title:"List view",style:{padding:"4px 7px",borderRadius:5,background:r==="list"?"var(--p-surface)":"none",color:r==="list"?"var(--p-text-sub)":"var(--p-text-g)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",transition:"background .12s,color .12s"},onClick:p=>{p.stopPropagation(),o==null||o("list")},children:(0,X.jsx)(pn,{style:{width:13,height:13}})})]})]})}var qa=D(Ie(),1);var de=D(_(),1),rv=[{id:"board",label:"Board",icon:(0,de.jsx)(Fa,{className:"w-3.5 h-3.5"})},{id:"workflow",label:"Workflow",icon:(0,de.jsx)(vn,{className:"w-3.5 h-3.5"})}];function ad({open:e,visibleCols:t,settings:a,onClose:r,onSave:o}){let[n,l]=qa.default.useState("board"),[s,u]=qa.default.useState({}),[d,g]=qa.default.useState(a.autoCommit??!1),[h,m]=qa.default.useState(a.autoComment??!1),[L,y]=qa.default.useState(a.autoPush??!1),[I,U]=qa.default.useState(a.createBranch??!1);qa.default.useEffect(()=>{if(!e)return;let f={};za.forEach(v=>{f[v.id]=t.includes(v.id)}),u(f),g(a.autoCommit??!1),m(a.autoComment??!1),y(a.autoPush??!1),U(a.createBranch??!1),l("board")},[e,t,a]);function c(){let f=za.filter(v=>s[v.id]).map(v=>v.id);o(f,{autoCommit:d,autoComment:h,autoPush:L,createBranch:I}),r()}function i(f){u(v=>({...v,[f]:!v[f]}))}return(0,de.jsxs)(hr,{open:e,onClose:r,id:"settings-modal",width:"min(460px, 95vw)",icon:(0,de.jsx)(pr,{style:{width:14,height:14,color:"var(--p-text-g)"}}),title:"Settings",headerActions:(0,de.jsx)("button",{id:"settings-close",onClick:r,style:{width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s"},onMouseOver:f=>{f.currentTarget.style.background="var(--p-surface)",f.currentTarget.style.color="var(--p-text-m)"},onMouseOut:f=>{f.currentTarget.style.background="transparent",f.currentTarget.style.color="var(--p-text-g)"},children:(0,de.jsx)(ze,{style:{width:14,height:14}})}),footer:(0,de.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,de.jsx)("button",{id:"settings-cancel",onClick:r,className:"dp-status-btn",style:{padding:"5px 14px",fontSize:12},children:"Cancel"}),(0,de.jsx)("button",{id:"settings-apply",onClick:c,style:{padding:"5px 14px",fontSize:12,fontWeight:500,borderRadius:6,border:"1px solid color-mix(in srgb, var(--p-purple) 55%, transparent)",background:"color-mix(in srgb, var(--p-purple) 18%, transparent)",color:"var(--p-purple-300)",cursor:"pointer",transition:"background .12s"},onMouseOver:f=>{f.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 28%, transparent)"},onMouseOut:f=>{f.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 18%, transparent)"},children:"Apply"})]}),children:[(0,de.jsx)("div",{className:"dp-tabs",children:rv.map(f=>(0,de.jsxs)("button",{onClick:()=>l(f.id),className:`dp-tab${n===f.id?" active":""}`,style:{display:"flex",alignItems:"center",gap:6},children:[f.icon,f.label]},f.id))}),n==="board"&&(0,de.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:10},children:[(0,de.jsx)("div",{className:"dp-meta-label",children:"Visible Columns"}),za.map(f=>(0,de.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer",userSelect:"none"},children:[(0,de.jsx)("input",{id:`settings-col-${f.id}`,type:"checkbox",checked:s[f.id]??!0,onChange:()=>i(f.id),style:{width:14,height:14,accentColor:f.color,cursor:"pointer"}}),(0,de.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:f.color,flexShrink:0}}),(0,de.jsx)("span",{style:{fontSize:13,color:"var(--p-text-m)"},children:f.label})]},f.id))]}),n==="workflow"&&(0,de.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:16},children:[(0,de.jsx)(ds,{id:"settings-auto-commit",label:"Commit after task implementation",description:"Agent is instructed to stage and commit changes after each task.",value:d,onChange:g}),(0,de.jsx)(ds,{id:"settings-auto-push",label:"Push after task commit",description:`Agent is instructed to push after every commit. Requires \'Commit\' to be ON.${d?"":" (Enable Commit first)"}`,value:L&&d,onChange:f=>y(f&&d)}),(0,de.jsx)(ds,{id:"settings-auto-comment",label:"Comment after task implementation",description:"Agent is instructed to add a summary comment after completing a task.",value:h,onChange:m}),(0,de.jsx)(ds,{id:"settings-create-branch",label:"Create branch at end of session",description:"Agent creates a descriptive branch after all session tasks are done (e.g. fix/bug-errors, feat/eye-toggle). Name reflects the work: lowercase, kebab-case, 2\\u20135 words, prefix fix/feat/chore/docs.",value:I,onChange:U})]})]})}function ds({id:e,label:t,description:a,value:r,onChange:o}){return(0,de.jsxs)("div",{children:[(0,de.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:t}),(0,de.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginBottom:10},children:a}),(0,de.jsxs)("div",{id:e,style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer"},onClick:()=>o(!r),children:[(0,de.jsxs)("div",{style:{position:"relative",width:36,height:20,flexShrink:0},children:[(0,de.jsx)("div",{style:{width:36,height:20,borderRadius:10,background:r?"var(--p-purple)":"var(--p-card)",border:`1px solid ${r?"var(--p-purple-300)":"var(--p-border)"}`,transition:"all .15s"}}),(0,de.jsx)("div",{style:{position:"absolute",top:3,left:r?18:3,width:14,height:14,borderRadius:"50%",background:r?"var(--p-purple-300)":"var(--p-text-muted)",transition:"all .15s"}})]}),(0,de.jsx)("span",{style:{fontSize:12,color:"var(--p-text-g)"},children:r?"On":"Off"})]})]})}var cs=D(Ie(),1);var ge=D(_(),1);function vm(e){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function fs(e){return/\\.md$/i.test(e)}function rd({open:e,name:t,url:a,onClose:r}){let[o,n]=cs.default.useState(null),[l,s]=cs.default.useState(!1);return cs.default.useEffect(()=>{!e||!a||(fs(t)?(s(!0),n(null),fetch(a).then(u=>u.text()).then(u=>{n(u),s(!1)}).catch(()=>{n("Error loading file."),s(!1)})):n(null))},[e,t,a]),(0,ge.jsx)(hr,{open:e,onClose:r,id:"file-preview-modal",width:"min(700px, 95vw)",maxHeight:"88vh",boxStyle:{display:"flex",flexDirection:"column"},icon:(0,ge.jsx)(oo,{className:"w-4 h-4 text-slate-400"}),title:t,headerActions:(0,ge.jsxs)(ge.Fragment,{children:[(0,ge.jsx)("a",{href:a,download:t,className:"text-slate-400 hover:text-slate-200 transition-colors p-1.5 rounded-md hover:bg-slate-700/60",title:"Download",children:(0,ge.jsx)(dr,{className:"w-4 h-4"})}),(0,ge.jsx)("button",{id:"file-preview-close",onClick:r,className:"text-slate-400 hover:text-slate-200 transition-colors p-1.5 rounded-md hover:bg-slate-700/60",title:"Close",children:(0,ge.jsx)(ze,{className:"w-4 h-4"})})]}),footer:(0,ge.jsxs)(ge.Fragment,{children:[(0,ge.jsxs)("a",{href:a,download:t,className:"flex items-center gap-1.5 border border-slate-700 hover:bg-slate-800 text-slate-300 text-sm px-3 py-1.5 rounded-lg transition-colors",children:[(0,ge.jsx)(dr,{className:"w-3.5 h-3.5"}),"Download"]}),(0,ge.jsx)("button",{id:"file-preview-close-footer",onClick:r,className:"border border-slate-700 hover:bg-slate-800 text-slate-300 text-sm px-4 py-1.5 rounded-lg transition-colors",children:"Close"})]}),children:(0,ge.jsxs)("div",{className:"flex-1 overflow-auto",style:{minHeight:0,padding:"16px 20px"},children:[vm(t)&&(0,ge.jsx)("div",{style:{borderRadius:8,overflow:"hidden",border:"1px solid var(--p-border)",background:"var(--p-card)",display:"inline-block",width:"100%"},children:(0,ge.jsx)("img",{src:a,alt:t,style:{maxWidth:"100%",display:"block",margin:"0 auto",objectFit:"contain"}})}),fs(t)&&l&&(0,ge.jsx)("p",{className:"text-xs text-slate-500 py-4",children:"Loading\\u2026"}),fs(t)&&!l&&o!==null&&(0,ge.jsx)("div",{id:"file-preview-md",style:{background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:8,padding:"10px 14px",fontSize:13,color:"var(--p-text-sub)",lineHeight:1.65},children:(0,ge.jsx)(Ha,{markdown:o})}),!vm(t)&&!fs(t)&&(0,ge.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-slate-500",children:[(0,ge.jsx)(oo,{className:"w-10 h-10 opacity-40"}),(0,ge.jsx)("p",{className:"text-sm",children:"Preview not available for this file type."}),(0,ge.jsxs)("a",{href:a,download:t,className:"flex items-center gap-1.5 text-violet-400 hover:text-violet-300 hover:underline text-sm transition-colors",children:[(0,ge.jsx)(dr,{className:"w-3.5 h-3.5"}),"Download file"]})]})]})})}var po=window.location.origin,zt=`${po}/api/tasks`,Ct={async getTasks(){return(await fetch(`${zt}?_=${Date.now()}`,{cache:"no-store"})).json()},async createTask(e){return(await fetch(zt,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()},async updateTask(e,t){return(await fetch(`${zt}/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).json()},async deleteTask(e){await fetch(`${zt}/${e}`,{method:"DELETE"})},async getComments(e){return(await fetch(`${zt}/${e}/comments`)).json()},async addComment(e,t){await fetch(`${zt}/${e}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({author:"user",text:t,source:"web"})})},async updateComment(e,t,a){await fetch(`${zt}/${e}/comments/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})})},async deleteComment(e,t){await fetch(`${zt}/${e}/comments/${t}`,{method:"DELETE"})},async getFiles(e){return(await fetch(`${zt}/${e}/files`)).json()},async uploadFile(e,t){let a=await t.arrayBuffer();await fetch(`${zt}/${e}/files/${encodeURIComponent(t.name)}`,{method:"POST",headers:{"Content-Type":"application/octet-stream"},body:a})},async deleteFile(e,t){await fetch(`${zt}/${e}/files/${encodeURIComponent(t)}`,{method:"DELETE"})},async getProject(){return(await fetch(`${po}/api/project`)).json()},async getCopilotStatus(){return(await fetch(`${po}/api/copilot/status`)).json()},async copilotLogin(){return(await fetch(`${po}/api/copilot/login`,{method:"POST"})).json().catch(()=>({}))},async getSettings(){return(await fetch(`${po}/api/settings`,{cache:"no-store"})).json()},async saveSettings(e){await fetch(`${po}/api/settings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})},wsUrl(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`}};var K=D(_(),1),ov=window.__PORT__??3700,nv=window.__SAAS_MODE__??!1,Lm=window.__BOARD_URL__??"",lv=window.__BOARD_NAME__??"",Im=window.__IS_ADMIN__??!1;function sv({onClose:e}){let t=window.location.origin,[a,r]=ee.default.useState("idle"),[o,n]=ee.default.useState(!0),[l,s]=ee.default.useState(null),[u,d]=ee.default.useState("");async function g(){r("pushing"),d("");try{let m=await fetch(`${t}/api/push`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keepLocalFiles:o})}),L=await m.json();if(!m.ok){d(L.error??"Push failed"),r("error");return}s({imported:L.imported??0,skipped:L.skipped}),r("done")}catch(m){d(m instanceof Error?m.message:"Network error"),r("error")}}let h=a==="pushing";return(0,K.jsx)("div",{style:{position:"fixed",inset:0,zIndex:9999,background:"rgba(5, 8, 18, 0.72)",backdropFilter:"blur(10px)",display:"flex",alignItems:"center",justifyContent:"center",padding:20,fontFamily:"Inter, system-ui, -apple-system, sans-serif"},children:(0,K.jsxs)("div",{style:{background:"#101827",border:"1px solid rgba(255,255,255,0.07)",borderRadius:24,maxWidth:380,width:"100%",boxShadow:"0 0 0 1px rgba(59,130,246,0.07), 0 40px 80px rgba(0,0,0,0.75)",overflow:"hidden",position:"relative"},children:[(0,K.jsx)("div",{style:{position:"absolute",top:0,left:"20%",right:"20%",height:1,background:"linear-gradient(90deg, transparent, rgba(59,130,246,0.5), transparent)"}}),(0,K.jsxs)("div",{style:{padding:"36px 36px 20px",display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center"},children:[(0,K.jsx)("div",{style:{position:"relative",width:52,height:52,marginBottom:22},children:(0,K.jsxs)("svg",{width:"52",height:"52",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,K.jsx)("rect",{width:"18",height:"18",rx:"4",fill:"#2563eb"}),(0,K.jsx)("rect",{x:"2.5",y:"5",width:"2",height:"8",rx:"1",fill:"white",opacity:"0.7"}),(0,K.jsx)("rect",{x:"6.5",y:"2",width:"2",height:"14",rx:"1",fill:"white"}),(0,K.jsx)("rect",{x:"10.5",y:"6",width:"2",height:"6",rx:"1",fill:"white",opacity:"0.7"}),(0,K.jsx)("rect",{x:"14.5",y:"4",width:"2",height:"10",rx:"1",fill:"white",opacity:"0.85"})]})}),(0,K.jsx)("h1",{style:{fontSize:18,fontWeight:700,color:"#f1f5f9",letterSpacing:"-0.3px",margin:"0 0 7px"},children:"Online Mode Active"}),(0,K.jsxs)("p",{style:{fontSize:12,color:"rgba(255,255,255,0.36)",lineHeight:1.5,margin:0},children:["Connected to"," ",(0,K.jsx)("strong",{style:{color:"rgba(255,255,255,0.55)",fontWeight:500},children:lv||"Vibeflow SaaS"})]})]}),a==="done"&&l&&(0,K.jsxs)("div",{style:{margin:"0 28px 0",padding:"10px 14px",borderRadius:9,fontSize:12,display:"flex",alignItems:"center",gap:9,background:"rgba(16,185,129,0.08)",border:"1px solid rgba(16,185,129,0.18)",color:"#34d399"},children:[(0,K.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",children:(0,K.jsx)("path",{d:"M13 5L6.5 11.5 3 8",stroke:"#34d399",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})}),l.imported," task",l.imported!==1?"s":""," pushed to board",l.skipped!=null&&l.skipped>0?` \\xB7 ${l.skipped} already existed`:""]}),a==="error"&&u&&(0,K.jsx)("div",{style:{margin:"0 28px 0",padding:"10px 14px",borderRadius:9,fontSize:12,display:"flex",alignItems:"center",gap:9,background:"rgba(239,68,68,0.08)",border:"1px solid rgba(239,68,68,0.18)",color:"#f87171"},children:u}),(0,K.jsxs)("div",{style:{padding:"20px 24px 28px",display:"flex",flexDirection:"column",gap:8},children:[Lm&&(0,K.jsx)("a",{href:Lm,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:9,padding:14,background:"#2563eb",border:"none",borderRadius:12,color:"#fff",fontSize:14,fontWeight:600,cursor:"pointer",textDecoration:"none",letterSpacing:"-0.1px",transition:"background 0.15s, transform 0.1s"},onMouseEnter:m=>{m.currentTarget.style.background="#3b82f6",m.currentTarget.style.transform="translateY(-1px)"},onMouseLeave:m=>{m.currentTarget.style.background="#2563eb",m.currentTarget.style.transform="none"},children:"Open Web App \\u2192"}),a!=="done"&&(0,K.jsx)("button",{onClick:()=>void g(),disabled:h,style:{display:"flex",alignItems:"center",justifyContent:"center",gap:9,padding:12,background:"transparent",border:"1px solid rgba(255,255,255,0.08)",borderRadius:12,color:h?"rgba(255,255,255,0.25)":"rgba(255,255,255,0.4)",fontSize:13,fontWeight:500,cursor:h?"not-allowed":"pointer",transition:"border-color 0.15s, color 0.15s, background 0.15s"},onMouseEnter:m=>{h||(m.currentTarget.style.borderColor="rgba(255,255,255,0.15)",m.currentTarget.style.color="rgba(255,255,255,0.65)",m.currentTarget.style.background="rgba(255,255,255,0.03)")},onMouseLeave:m=>{h||(m.currentTarget.style.borderColor="rgba(255,255,255,0.08)",m.currentTarget.style.color="rgba(255,255,255,0.4)",m.currentTarget.style.background="transparent")},children:h?"\\u23F3 Pushing\\u2026":"\\u2191 Push local tasks"})]}),(0,K.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 24px 20px"},children:[(0,K.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:7,cursor:"pointer"},children:[(0,K.jsx)("input",{type:"checkbox",checked:o,onChange:m=>n(m.target.checked),style:{accentColor:"#2563eb",width:13,height:13,cursor:"pointer"}}),(0,K.jsx)("span",{style:{fontSize:11.5,color:"rgba(255,255,255,0.28)"},children:"Keep local files"})]}),Im&&e&&(0,K.jsx)("button",{onClick:e,style:{fontSize:11,color:"rgba(255,255,255,0.2)",background:"none",border:"none",cursor:"pointer",textDecoration:"underline",textUnderlineOffset:2,transition:"color 0.15s"},onMouseEnter:m=>{m.currentTarget.style.color="rgba(255,255,255,0.45)"},onMouseLeave:m=>{m.currentTarget.style.color="rgba(255,255,255,0.2)"},children:"Dismiss (admin)"})]})]})})}var ym={backlog:"Backlog",todo:"Todo","in-progress":"In Progress",review:"Review",done:"Done"};function uv(e,t,a){let r=a?e.filter(s=>{var u,d;return((u=s.title)==null?void 0:u.toLowerCase().includes(a))||((d=s.description)==null?void 0:d.toLowerCase().includes(a))}):e;if(a)return`${r.length} of ${e.length} tasks`;let o=r.filter(s=>s.status!=="done").length,n=r.filter(s=>s.status==="in-progress").length,l=r.filter(s=>s.status==="review").length;return`${o} open \\xB7 ${n} in-progress \\xB7 ${l} in review`}function Cm(){var wr,Va;let[e,t]=ee.default.useState([]),[a,r]=ee.default.useState(!0),[o,n]=ee.default.useState(!1),[l,s]=ee.default.useState({open:!1,task:null,tab:"details"}),[u,d]=ee.default.useState("board"),[g,h]=ee.default.useState(!1),[m,L]=ee.default.useState({open:!1,name:"",url:""}),[y,I]=ee.default.useState(420),[U,c]=ee.default.useState(!1),[i,f]=ee.default.useState(""),[v,w]=ee.default.useState(za.map(x=>x.id)),[k,p]=ee.default.useState({status:"all",component:null,type:null,user:null,tags:[]}),[S,T]=ee.default.useState("Proto Board"),[F,A]=ee.default.useState(!1),[O,re]=ee.default.useState(!1),[J,Re]=ee.default.useState("You"),[q,N]=ee.default.useState(null),[Q,oe]=ee.default.useState(""),[$,me]=ee.default.useState({}),lt=ee.default.useRef(null),wt=ee.default.useRef(null),Ke=ee.default.useRef(null),[Xt,kt]=ee.default.useState([]),da=ee.default.useRef(!1),Ut=ee.default.useRef([]),[Lr,ps]=ee.default.useState([]);ee.default.useEffect(()=>(Nt(),ms(),gs(),bn(),kn(),Pn(),()=>{var x;wt.current&&clearTimeout(wt.current),(x=lt.current)==null||x.close()}),[]),ee.default.useEffect(()=>{document.body.setAttribute("data-theme","dark")},[]),ee.default.useEffect(()=>{function x(){let Y=window.location.hash.match(/^#task-([a-f0-9]{30})$/i);if(!Y){Ke.current=null;return}let he=Y[1].toLowerCase();if(Ke.current===he)return;let ce=e.find(te=>te.id.toLowerCase()===he);ce&&(Ke.current=he,da.current?s(te=>({...te,open:!0,task:ce,tab:"details"})):s(te=>(te.task&&te.task.id!==ce.id&&kt(ue=>[...ue,te.task]),{...te,open:!0,task:ce,tab:"details"})),da.current=!1)}function b(){}x();let B=()=>{Ke.current=null,x()};return window.addEventListener("hashchange",B),window.addEventListener("vibeflow-task-ref-click",b),()=>{window.removeEventListener("hashchange",B),window.removeEventListener("vibeflow-task-ref-click",b)}},[e]),ee.default.useEffect(()=>{if(!l.open||!l.task)return;let x=e.find(Y=>Y.id===l.task.id);if(!x)return;let b=l.task;Object.keys(x).some(Y=>x[Y]!==b[Y])&&s(Y=>({...Y,task:x}))},[e,l.open,(wr=l.task)==null?void 0:wr.id]),ee.default.useEffect(()=>{function x(b){var he,ce,te;let B=(he=b.target)==null?void 0:he.tagName,Y=B==="INPUT"||B==="TEXTAREA"||((ce=b.target)==null?void 0:ce.isContentEditable);if(b.key==="Escape"){if(m.open){L(ue=>({...ue,open:!1}));return}if(l.open){s(ue=>({...ue,open:!1}));return}if(g){h(!1);return}}if(!Y&&((b.key==="?"||b.key==="/"&&b.shiftKey)&&((te=document.getElementById("header-shortcuts-hint"))==null||te.click()),b.altKey&&!b.ctrlKey&&!b.metaKey&&(b.key==="n"||b.key==="N")&&(b.preventDefault(),Ir(null,"details")),b.altKey&&!b.ctrlKey&&!b.metaKey&&(b.key==="f"||b.key==="F"))){b.preventDefault();let ue=document.getElementById("global-search");ue==null||ue.focus(),ue==null||ue.select()}}return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[m.open,l.open,g]);function yr(x,b,B,Y,he){let ce=new Date().toISOString(),te=ym[b]??b,ue=ym[B]??B,Je=Date.now()-3e3;ps(Me=>Me.some(R=>R.taskId===x&&R.to===ue&&new Date(R.timestamp).getTime()>Je)?Me:[...Me,{taskId:x,field:"status",from:te,to:ue,actor:Y,timestamp:ce,source:he}].slice(-500))}async function Nt(){try{let x=await Ct.getTasks();Ut.current=x.tasks??[],t(x.tasks??[])}catch{}finally{r(!1)}}let Qt=ee.default.useCallback((x,b,B)=>{let Y=String(x.id??"");if(!Y)return;let he=x.created??x.createdAt,ce=x.updated?String(x.updated):void 0,te=Array.isArray(x.comments)?x.comments.length:void 0,ue=Array.isArray(x.files)?x.files.length:void 0,Je=x.status?String(x.status):void 0,Me=Ut.current.find(pt=>pt.id===Y);Je&&Me&&Me.status!==Je&&yr(Y,Me.status,Je,b??"Someone",B),t(pt=>{let R=pt.find(_e=>_e.id===Y),Yt={id:Y,title:x.title?String(x.title):(R==null?void 0:R.title)??"Untitled",description:x.description!=null?String(x.description):(R==null?void 0:R.description)??"",status:Je??(R==null?void 0:R.status)??"todo",type:x.type?String(x.type):R==null?void 0:R.type,priority:x.priority?String(x.priority):R==null?void 0:R.priority,agent:x.agent?String(x.agent):R==null?void 0:R.agent,model:x.model?String(x.model):R==null?void 0:R.model,selector:x.selector?String(x.selector):R==null?void 0:R.selector,cssSelector:x.cssSelector?String(x.cssSelector):R==null?void 0:R.cssSelector,file:x.file?String(x.file):R==null?void 0:R.file,line:typeof x.line=="number"?x.line:R==null?void 0:R.line,col:typeof x.col=="number"?x.col:R==null?void 0:R.col,component:x.component?String(x.component):R==null?void 0:R.component,url:x.url?String(x.url):R==null?void 0:R.url,reportBack:x.reportBack===!0||(R==null?void 0:R.reportBack)===!0,commit:x.commit?String(x.commit):R==null?void 0:R.commit,commits:Array.isArray(x.commits)?x.commits:R==null?void 0:R.commits,commentCount:te??(R==null?void 0:R.commentCount),fileCount:ue??(R==null?void 0:R.fileCount),createdAt:he?String(he):(R==null?void 0:R.createdAt)??new Date().toISOString(),updatedAt:ce??(R==null?void 0:R.updatedAt),author:x.author?String(x.author):R==null?void 0:R.author,tags:Array.isArray(x.tags)?x.tags:R==null?void 0:R.tags,sortKey:x.sortKey?String(x.sortKey):R==null?void 0:R.sortKey},Ht=pt.filter(_e=>_e.id!==Y);return Ht.push(Yt),Ht.sort((_e,kr)=>{let $a=new Date(_e.updatedAt??_e.createdAt??"").getTime(),Ga=new Date(kr.updatedAt??kr.createdAt??"").getTime();return $a===Ga?_e.id.localeCompare(kr.id):Ga-$a}),Ut.current=Ht,Ht})},[]);async function ms(){try{let x=await Ct.getProject();x.name&&T(x.name),x.gitUserName&&Re(x.gitUserName)}catch{}}async function kn(){try{let x=await fetch("/api/github-url").then(b=>b.json());N(x.githubUrl??null)}catch{}}async function gs(){var x;try{let B=await Ct.getSettings();me(B),(x=B.visibleCols)!=null&&x.length&&w(B.visibleCols),B.viewMode&&d(B.viewMode),B.panelWidth&&B.panelWidth>=280&&B.panelWidth<=900&&I(B.panelWidth)}catch{}}async function bn(){try{let x=await Ct.getCopilotStatus();x!=null&&x.authenticated&&(x!=null&&x.username)?oe(`Copilot: ${x.username}`):oe("Copilot: not logged in")}catch{}}function Pn(){let b=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`,B=new WebSocket(b);lt.current=B,B.addEventListener("open",()=>{A(!0),re(!0),Nt()}),B.addEventListener("close",()=>{A(!1),wt.current=setTimeout(Pn,1500)}),B.addEventListener("message",he=>{var ce;try{let te=JSON.parse(he.data);if(te.type==="tasks-updated"||(ce=te.type)!=null&&ce.startsWith("task:")){Nt();return}if(te.type==="task-changed"&&te.task){let ue=te.task,Je=typeof ue.alteredBy=="string"?ue.alteredBy:typeof ue.author=="string"?ue.author:"Someone",Me=te.source==="cli"?"cli":void 0;Qt(ue,Je,Me);return}if(te.type==="task-deleted"&&te.taskId){let ue=String(te.taskId);t(Je=>{let Me=Je.filter(pt=>pt.id!==ue);return Ut.current=Me,Me})}}catch{}});let Y=setInterval(()=>{B.readyState===WebSocket.OPEN&&B.send(JSON.stringify({type:"ping"}))},2e4);B.addEventListener("close",()=>clearInterval(Y))}async function Wa(x,b){let B=Ut.current.find(Y=>Y.id===x);t(Y=>{let he=Y.map(ce=>ce.id===x?{...ce,...b}:ce);return Ut.current=he,he}),b.status&&(B!=null&&B.status)&&b.status!==B.status&&yr(x,B.status,b.status,J);try{let Y=await Ct.updateTask(x,b);Y.task&&t(he=>{let ce=he.map(te=>te.id===x?Y.task:te);return Ut.current=ce,ce})}catch{Nt()}}async function fa(x){t(b=>{let B=b.filter(Y=>Y.id!==x);return Ut.current=B,B});try{await Ct.deleteTask(x)}catch{Nt()}}async function Sr(x){var b;try{let B=await Ct.createTask(x);return await Nt(),(b=B==null?void 0:B.task)==null?void 0:b.id}catch{}}function Ir(x,b="details",B){kt([]),s({open:!0,task:x,tab:b,addColumnId:B})}function Tn(){kt(x=>{if(x.length===0)return x;let b=x[x.length-1],B=x.slice(0,-1);return da.current=!0,Ke.current=null,window.location.hash=`#task-${b.id}`,s(Y=>({...Y,open:!0,task:b,tab:"details"})),B})}function Cr(x,b){if(/\\.html?$/i.test(x)){window.open(b,"_blank","noopener,noreferrer");return}L({open:!0,name:x,url:b})}let Rn=uv(e,v,i.toLowerCase()),Dn=window.location.origin,An=ee.default.useMemo(()=>{let x=new Set;return e.forEach(b=>(b.tags??[]).forEach(B=>x.add(B))),Array.from(x).sort()},[e]),hs=ee.default.useMemo(()=>{var b;let x=(b=l.task)==null?void 0:b.id;return x?Lr.filter(B=>B.taskId===x).map(({field:B,from:Y,to:he,actor:ce,timestamp:te,source:ue})=>({field:B,from:Y,to:he,actor:ce,timestamp:te,source:ue})):[]},[(Va=l.task)==null?void 0:Va.id,Lr]),mo=ee.default.useMemo(()=>{let x=e;return k.status!=="all"&&(x=x.filter(b=>b.status===k.status)),k.component&&(x=x.filter(b=>b.component===k.component)),k.type&&(x=x.filter(b=>b.type===k.type)),k.user&&(x=x.filter(b=>b.author===k.user)),k.tags&&k.tags.length>0&&(x=x.filter(b=>k.tags.every(B=>(b.tags??[]).includes(B)))),x},[e,k]),Mn=O&&!F;return(0,K.jsxs)(K.Fragment,{children:[nv&&!o&&(0,K.jsx)(sv,{onClose:Im?()=>n(!0):void 0}),(0,K.jsx)($i,{projectName:S,missingProjectIconStyle:"vibeflow",wsConnected:F,port:ov,searchQuery:i,filterTags:k.tags,allTags:An,onToggleTag:x=>{let b=k.tags??[],B=b.includes(x)?b.filter(Y=>Y!==x):[...b,x];p(Y=>({...Y,tags:B}))},premiumUsage:Q,isLoading:a,taskSummary:Rn,onSearchChange:f,onSettings:()=>h(!0)}),(0,K.jsx)(td,{tasks:e,filter:k,view:u,onFilter:p,onViewChange:x=>{d(x),Ct.saveSettings({...$,viewMode:x}),me(b=>({...b,viewMode:x}))}}),(0,K.jsxs)("div",{className:"flex flex-1 overflow-hidden",style:{minHeight:0,position:"relative"},children:[u==="list"?(0,K.jsx)(Vi,{tasks:mo,searchQuery:i,isLoading:a,onOpenPanel:(x,b)=>Ir(x,b),onAddTask:x=>Ir(null,"details",x),onDrop:(x,b)=>Wa(x,{status:b})}):(0,K.jsx)(qi,{tasks:mo,visibleCols:v,searchQuery:i,isLoading:a,onOpenPanel:(x,b,B)=>Ir(x,b,B),onDrop:(x,b)=>Wa(x,{status:b})}),l.open&&(0,K.jsxs)("div",{id:"detail-panel-container",style:{width:y,zIndex:U?30:10},className:U?"resizing":"",children:[(0,K.jsx)("div",{id:"detail-panel-resize-handle",onMouseDown:x=>{x.preventDefault(),c(!0),document.body.classList.add("vibeflow-resizing-panel");let b=x.clientX,B=y,Y=ce=>{let te=B-(ce.clientX-b);I(Math.max(360,Math.min(860,te)))},he=ce=>{c(!1),document.body.classList.remove("vibeflow-resizing-panel");let te=Math.max(360,Math.min(860,B-(ce.clientX-b)));Ct.saveSettings({...$,panelWidth:te}),me(ue=>({...ue,panelWidth:te})),window.removeEventListener("mousemove",Y),window.removeEventListener("mouseup",he)};window.addEventListener("mousemove",Y),window.addEventListener("mouseup",he)}}),(0,K.jsx)(ed,{open:l.open,task:l.task,tab:l.tab,showLockIndicator:!1,addColumnId:l.addColumnId,gitUserName:J,githubUrl:q,baseUrl:Dn,isResizing:U,api:Ct,onClose:()=>{kt([]),s(x=>({...x,open:!1}))},onSave:async x=>{l.task&&await Wa(l.task.id,x),s(b=>({...b,open:!1}))},onCreate:async x=>{let b=await Sr(x);return s(B=>({...B,open:!1})),b},onDelete:async x=>{await fa(x),s(b=>({...b,open:!1}))},onPatch:Wa,onFilePreview:Cr,onGoBack:Xt.length>0?Tn:void 0,navBackLabel:Xt.length>0?Xt[Xt.length-1].title:void 0,externalLocalChanges:hs,allTasks:e})]})]}),Mn&&(0,Sm.createPortal)((0,K.jsx)("div",{id:"ws-lost-overlay",style:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:99999,background:"rgba(2, 6, 23, 0.88)",backdropFilter:"blur(4px)",WebkitBackdropFilter:"blur(4px)",display:"flex",alignItems:"center",justifyContent:"center",padding:16,pointerEvents:"all",cursor:"not-allowed"},children:(0,K.jsxs)("div",{style:{width:"min(420px, 92vw)",borderRadius:14,border:"1px solid var(--p-border-s)",background:"var(--p-card)",boxShadow:"0 16px 40px rgba(2,6,23,0.7)",padding:"20px 22px",display:"flex",flexDirection:"column",gap:10,cursor:"default",pointerEvents:"auto"},children:[(0,K.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,K.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"var(--p-text-m)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{animation:"spin 1.1s linear infinite",flexShrink:0},children:(0,K.jsx)("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})}),(0,K.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--p-text)"},children:"Connection Lost"})]}),(0,K.jsx)("div",{style:{fontSize:12,color:"var(--p-text-m)",lineHeight:1.6},children:"Real-time connection to the server was interrupted. Reconnecting in the background\\u2026"})]})}),document.body),(0,K.jsx)(ad,{open:g,visibleCols:v,settings:$,onClose:()=>h(!1),onSave:(x,b)=>{w(x);let B={...$,...b,visibleCols:x};me(B),Ct.saveSettings(B)}}),(0,K.jsx)(rd,{open:m.open,name:m.name,url:m.url,onClose:()=>L(x=>({...x,open:!1}))})]})}var bm=D(_(),1),wm=document.getElementById("root");wm&&(0,km.createRoot)(wm).render((0,bm.jsx)(Cm,{}));})();\n/*! Bundled license information:\n\nreact/cjs/react.production.min.js:\n (**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nscheduler/cjs/scheduler.production.min.js:\n (**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom.production.min.js:\n (**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact/cjs/react-jsx-runtime.production.min.js:\n (**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nlucide-react/dist/esm/shared/src/utils.js:\nlucide-react/dist/esm/defaultAttributes.js:\nlucide-react/dist/esm/Icon.js:\nlucide-react/dist/esm/createLucideIcon.js:\nlucide-react/dist/esm/icons/chevron-down.js:\nlucide-react/dist/esm/icons/chevron-right.js:\nlucide-react/dist/esm/icons/circle-check-big.js:\nlucide-react/dist/esm/icons/download.js:\nlucide-react/dist/esm/icons/eye.js:\nlucide-react/dist/esm/icons/file-text.js:\nlucide-react/dist/esm/icons/flag.js:\nlucide-react/dist/esm/icons/layout-dashboard.js:\nlucide-react/dist/esm/icons/list.js:\nlucide-react/dist/esm/icons/lock.js:\nlucide-react/dist/esm/icons/message-circle.js:\nlucide-react/dist/esm/icons/panels-top-left.js:\nlucide-react/dist/esm/icons/paperclip.js:\nlucide-react/dist/esm/icons/plus.js:\nlucide-react/dist/esm/icons/search.js:\nlucide-react/dist/esm/icons/settings.js:\nlucide-react/dist/esm/icons/tag.js:\nlucide-react/dist/esm/icons/triangle-alert.js:\nlucide-react/dist/esm/icons/upload.js:\nlucide-react/dist/esm/icons/user.js:\nlucide-react/dist/esm/icons/workflow.js:\nlucide-react/dist/esm/icons/x.js:\nlucide-react/dist/esm/lucide-react.js:\n (**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n *)\n*/\n';var Vt=Bt(import.meta.url),qt=zt(Vt),Yt=[tn(qt,"kanban-template.html"),tn(process.cwd(),"src","server","kanban-template.html"),tn(process.cwd(),"dist","server","kanban-template.html")];function Kt(t){let e=Yt.find(r=>jt(r));if(!e)throw new Error("kanban-template.html not found in expected locations");return $t(e,"utf8").replaceAll("__PORT__",String(t))}function Qt(t){return t.saasMode?`window.__SAAS_MODE__ = true; window.__BOARD_URL__ = ${JSON.stringify(t.boardUrl??"")}; window.__BOARD_NAME__ = ${JSON.stringify(t.boardName??"")}; window.__IS_ADMIN__ = ${t.isAdmin?"true":"false"};`:""}var Gt="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iNCIgZmlsbD0iIzI1NjNlYiIvPjxyZWN0IHg9IjIuNSIgeT0iNSIgd2lkdGg9IjIiIGhlaWdodD0iOCIgcng9IjEiIGZpbGw9IndoaXRlIiBvcGFjaXR5PSIwLjciLz48cmVjdCB4PSI2LjUiIHk9IjIiIHdpZHRoPSIyIiBoZWlnaHQ9IjE0IiByeD0iMSIgZmlsbD0id2hpdGUiLz48cmVjdCB4PSIxMC41IiB5PSI2IiB3aWR0aD0iMiIgaGVpZ2h0PSI2IiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuNyIvPjxyZWN0IHg9IjE0LjUiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjEwIiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuODUiLz48L3N2Zz4=";function Xt(t){return`<!DOCTYPE html>
|
|
29346
|
+
`+en}function Ln(t){return`var PROTO_CONFIG = ${JSON.stringify({port:0,wsUrl:"",apiUrl:`${t}/api/overlay/tasks`,pagesUrl:"",screenshotsUrl:""})};
|
|
29347
|
+
`+en}import{existsSync as Kt,readFileSync as Yt}from"fs";import{dirname as Qt,join as rn}from"path";import{fileURLToPath as Gt}from"url";var Fn=`*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
|
|
29348
|
+
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mb-0\\.5{margin-bottom:.125rem}.ml-1\\.5{margin-left:.375rem}.mr-0\\.5{margin-right:.125rem}.mt-0\\.5{margin-top:.125rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-7{height:1.75rem}.min-h-\\[30px\\]{min-height:30px}.w-1{width:.25rem}.w-1\\.5{width:.375rem}.w-10{width:2.5rem}.w-2\\.5{width:.625rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-4{width:1rem}.w-7{width:1.75rem}.w-full{width:100%}.min-w-\\[100px\\]{min-width:100px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-text{cursor:text}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-hidden{overflow-y:hidden}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-none{border-style:none}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-700\\/60{border-color:rgba(51,65,85,.6)}.border-slate-800\\/60{border-color:rgba(30,41,59,.6)}.border-violet-700\\/50{border-color:rgba(109,40,217,.5)}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-violet-900\\/30{background-color:rgba(76,29,149,.3)}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\\[10px\\]{font-size:10px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-tight{line-height:1.25}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-40{opacity:.4}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--p-bg:#020c1b;--p-surface:#080f1e;--p-card:#0a0f1e;--p-input:#050d1a;--p-hover:#0d1f38;--p-border:#1e293b;--p-border-s:#1e3a5f;--p-border-t:#334155;--p-text:#e2e8f0;--p-text-sub:#cbd5e1;--p-text-m:#94a3b8;--p-text-f:#64748b;--p-text-g:#475569;--p-white:#fff;--p-blue:#2563eb;--p-blue-700:#1d4ed8;--p-blue-300:#60a5fa;--p-blue-200:#93c5fd;--p-purple:#a78bfa;--p-purple-300:#c4b5fd;--p-cyan-300:#7dd3fc;--p-amber:#f59e0b;--p-amber-300:#fcd34d;--p-green:#22c55e;--p-green-300:#6ee7b7;--p-red:#f87171;--p-red-500:#ef4444;--p-shadow-lg:0 8px 24px rgba(2,6,23,.28);--p-overlay:rgba(15,23,42,.2)}body,html{height:100%;margin:0;padding:0}body{font-family:Inter,sans-serif;background:var(--p-bg);color:var(--p-text)}#root{height:100%;display:flex;flex-direction:column;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--p-border-t) transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--p-border-t);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--p-text-g)}#kanban-board{scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden}#kanban-board::-webkit-scrollbar{display:none}#kanban-scroll-track{position:fixed;bottom:0;left:0;right:0;height:6px;background:transparent;z-index:40;pointer-events:none}#kanban-scroll-thumb{position:absolute;top:1px;height:4px;border-radius:2px;background:var(--p-border-t);cursor:pointer;pointer-events:auto;transition:background .15s}#kanban-scroll-thumb.dragging,#kanban-scroll-thumb:hover{background:var(--p-text-g)}.board-column{flex:0 0 280px;width:280px;display:flex;flex-direction:column;gap:6px;min-height:0}.column-header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--p-surface);border:1px solid var(--p-border)}.column-scroll{flex:1;overflow-y:auto;min-height:0;gap:5px;padding-bottom:8px}.column-scroll,.task-card{display:flex;flex-direction:column}.task-card{background:var(--p-card);border:1px solid var(--p-border);border-radius:10px;padding:11px 13px;cursor:grab;transition:border-color .12s,background .12s,box-shadow .12s,transform .12s;gap:7px}.task-card:hover{border-color:var(--p-border-s);background:var(--p-hover);box-shadow:0 4px 16px rgba(0,0,0,.3);transform:translateY(-1px)}.task-card:active{cursor:grabbing;transform:scale(.98)}.task-card.dragging{opacity:.4}.drag-over{outline:2px dashed rgba(59,130,246,.5);outline-offset:-3px;border-radius:10px;background:rgba(59,130,246,.04)}.file-compact-actions{opacity:0}.group\\/file-compact:hover .file-compact-actions{opacity:1}.file-normal-actions,.group\\/file-compact:hover .file-compact-ts{opacity:0}.group\\/file:hover .file-normal-actions{opacity:1}.group\\/file:hover{background:rgba(30,41,59,.6)}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sd-backlog{background:#475569}.sd-todo{background:#f59e0b}.sd-inprogress{background:#3b82f6;animation:pulse-prog 2s ease-in-out infinite}.sd-review{background:#a855f7}.sd-done{background:#22c55e}@keyframes pulse-prog{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.5)}50%{box-shadow:0 0 0 4px rgba(59,130,246,0)}}.type-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:20px;font-size:10px;font-weight:500;border:1px solid}.type-bug{color:#fca5a5;background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25)}.type-feature{color:#86efac;background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2)}.type-enhancement{color:#93c5fd;background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.2)}.type-task{color:#cbd5e1;background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.2)}.type-research{color:#c4b5fd;background:rgba(139,92,246,.08);border-color:rgba(139,92,246,.2)}.source-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-size:10px;font-family:JetBrains Mono,monospace;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.15);color:#60a5fa;cursor:pointer;text-decoration:none;transition:background .1s,border-color .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.source-pill:hover{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.3)}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:11px;height:11px;border:2px solid rgba(96,165,250,.3);border-top-color:#60a5fa;border-radius:50%;animation:spin .7s linear infinite}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;display:flex;align-items:center;justify-content:center}.modal-box{background:var(--p-card);border:1px solid var(--p-border);border-radius:14px;width:520px;max-width:95vw;overflow:hidden}.type-picker{display:flex;align-items:center;gap:6px}.type-picker-trigger{display:flex;align-items:center;gap:4px;width:auto;height:30px;padding:0 8px;border-radius:8px;border:1px solid var(--p-border-t);background:var(--p-card);color:var(--p-text-sub);font-size:13px;cursor:pointer;white-space:nowrap}.type-picker-label{font-size:11px;font-weight:500;color:var(--p-text-m);letter-spacing:.02em}.type-picker-trigger:hover{border-color:var(--p-text-g);color:var(--p-text)}.type-picker-options{display:none;align-items:center;gap:4px}.type-picker-options.open{display:flex}.type-picker-option{width:28px;height:28px;border-radius:7px;border:1px solid var(--p-border-t);background:var(--p-card);color:var(--p-text-sub);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px}.type-picker-option:hover{border-color:#60a5fa;color:#bfdbfe}#detail-panel-container{min-width:360px;max-width:min(860px,100%);position:absolute;right:0;top:0;bottom:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid #1e293b;animation:panel-slide-in .18s ease-out}#detail-panel-container.resizing{box-shadow:-12px 0 32px rgba(2,8,23,.6)}#detail-panel-resize-handle{position:absolute;left:0;top:0;width:12px;height:100%;cursor:ew-resize;z-index:5}#detail-panel-resize-handle:hover{background:linear-gradient(90deg,rgba(59,130,246,.22),rgba(59,130,246,0))}body.proto-resizing-panel{cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}#detail-panel{flex:1;background:var(--p-card);display:flex;flex-direction:column;overflow:hidden}@keyframes panel-slide-in{0%{width:0;opacity:0}to{width:420px;opacity:1}}.dp-header{padding:14px 16px 10px}.dp-header,.dp-tabs{border-bottom:1px solid var(--p-border);background:var(--p-surface);flex-shrink:0}.dp-tabs{display:flex;gap:0}.dp-tab{padding:8px 14px;font-size:12px;font-weight:500;color:var(--p-text-g);cursor:pointer;transition:color .12s,border-color .12s;background:none;border:none;border-bottom:2px solid transparent}.dp-tab:hover{color:var(--p-text-m)}.dp-tab.active{color:#93c5fd;border-bottom-color:#3b82f6}.dp-body{overflow:hidden}.dp-body,.dp-body>.dp-pane{flex:1;display:flex;flex-direction:column;gap:12px;min-height:0}.dp-body>.dp-pane{padding:14px 16px}#dp-details-pane,.dp-body>.dp-pane{overflow-y:auto;background:var(--p-card)}.dp-footer{padding:10px 16px 12px;border-top:1px solid var(--p-border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--p-card)}.dp-source-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:6px;font-size:10px;font-family:monospace;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.15);color:#60a5fa;white-space:nowrap}.dp-source-pill:hover{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.3)}.dp-status-btn{padding:3px 10px;border-radius:6px;font-size:10px;font-weight:500;border:1px solid var(--p-border-t);color:var(--p-text-f);background:transparent;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.dp-status-btn:hover{border-color:var(--p-text-g);color:var(--p-text-m)}.dp-status-btn.active-backlog{border-color:#475569;background:rgba(100,116,139,.1);color:#94a3b8}.dp-status-btn.active-todo{border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.1);color:#f59e0b}.dp-status-btn.active-in-progress{border-color:rgba(59,130,246,.5);background:rgba(59,130,246,.1);color:#60a5fa}.dp-status-btn.active-review{border-color:rgba(168,85,247,.5);background:rgba(168,85,247,.1);color:#a855f7}.dp-status-btn.active-done{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.08);color:#22c55e}.dp-input{width:100%;padding:7px 10px;border:1px solid var(--p-border-s);border-radius:8px;background:var(--p-input);color:var(--p-text);font-size:13px;font-family:inherit;outline:none;transition:border-color .12s,box-shadow .12s;box-sizing:border-box}.dp-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dp-input::-moz-placeholder{color:var(--p-border-t)}.dp-input::placeholder{color:var(--p-border-t)}.dp-textarea{width:100%;padding:8px 10px;border:1px solid var(--p-border-s);border-radius:8px;background:var(--p-input);color:var(--p-text);font-size:12px;font-family:monospace;line-height:1.6;resize:vertical;outline:none;box-sizing:border-box;transition:border-color .12s,box-shadow .12s}.dp-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dp-textarea::-moz-placeholder{color:var(--p-border-t)}.dp-textarea::placeholder{color:var(--p-border-t)}.dp-meta-label{font-size:10px;font-weight:600;color:var(--p-text-g);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}@keyframes pulse-live{0%,to{box-shadow:0 0 0 0 rgba(74,222,128,.4)}50%{box-shadow:0 0 0 4px rgba(74,222,128,0)}}@keyframes agent-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes away-glow{0%,to{box-shadow:0 0 0 0 rgba(37,99,235,.45),0 0 24px rgba(37,99,235,.1);border-color:rgba(37,99,235,.35)}50%{box-shadow:0 0 0 14px rgba(37,99,235,0),0 0 48px rgba(37,99,235,.2);border-color:rgba(96,165,250,.6)}}@keyframes away-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.focus-within\\:border-blue-500:focus-within{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\\:bg-red-900\\/40:hover{background-color:rgba(127,29,29,.4)}.hover\\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700\\/50:hover{background-color:rgba(51,65,85,.5)}.hover\\:bg-slate-700\\/60:hover{background-color:rgba(51,65,85,.6)}.hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\\:bg-violet-800\\/30:hover{background-color:rgba(91,33,182,.3)}.hover\\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\\:text-violet-300:hover{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.hover\\:underline:hover{text-decoration-line:underline}.group\\/comment:hover .group-hover\\/comment\\:opacity-100{opacity:1}`;var tn='"use strict";(()=>{var Xm=Object.create;var md=Object.defineProperty;var Qm=Object.getOwnPropertyDescriptor;var Ym=Object.getOwnPropertyNames;var Zm=Object.getPrototypeOf,Jm=Object.prototype.hasOwnProperty;var Jt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var eg=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ym(t))!Jm.call(e,o)&&o!==a&&md(e,o,{get:()=>t[o],enumerable:!(r=Qm(t,o))||r.enumerable});return e};var A=(e,t,a)=>(a=e!=null?Xm(Zm(e)):{},eg(t||!e||!e.__esModule?md(a,"default",{value:e,enumerable:!0}):a,e));var bd=Jt(le=>{"use strict";var yo=Symbol.for("react.element"),tg=Symbol.for("react.portal"),ag=Symbol.for("react.fragment"),rg=Symbol.for("react.strict_mode"),og=Symbol.for("react.profiler"),ng=Symbol.for("react.provider"),lg=Symbol.for("react.context"),sg=Symbol.for("react.forward_ref"),ug=Symbol.for("react.suspense"),ig=Symbol.for("react.memo"),dg=Symbol.for("react.lazy"),gd=Symbol.iterator;function fg(e){return e===null||typeof e!="object"?null:(e=gd&&e[gd]||e["@@iterator"],typeof e=="function"?e:null)}var vd={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},yd=Object.assign,Ld={};function Tr(e,t,a){this.props=e,this.context=t,this.refs=Ld,this.updater=a||vd}Tr.prototype.isReactComponent={};Tr.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Tr.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Sd(){}Sd.prototype=Tr.prototype;function bs(e,t,a){this.props=e,this.context=t,this.refs=Ld,this.updater=a||vd}var Ps=bs.prototype=new Sd;Ps.constructor=bs;yd(Ps,Tr.prototype);Ps.isPureReactComponent=!0;var hd=Array.isArray,Id=Object.prototype.hasOwnProperty,Ts={current:null},Cd={key:!0,ref:!0,__self:!0,__source:!0};function wd(e,t,a){var r,o={},n=null,l=null;if(t!=null)for(r in t.ref!==void 0&&(l=t.ref),t.key!==void 0&&(n=""+t.key),t)Id.call(t,r)&&!Cd.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(s===1)o.children=a;else if(1<s){for(var u=Array(s),d=0;d<s;d++)u[d]=arguments[d+2];o.children=u}if(e&&e.defaultProps)for(r in s=e.defaultProps,s)o[r]===void 0&&(o[r]=s[r]);return{$$typeof:yo,type:e,key:n,ref:l,props:o,_owner:Ts.current}}function cg(e,t){return{$$typeof:yo,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Rs(e){return typeof e=="object"&&e!==null&&e.$$typeof===yo}function pg(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(a){return t[a]})}var xd=/\\/+/g;function ks(e,t){return typeof e=="object"&&e!==null&&e.key!=null?pg(""+e.key):t.toString(36)}function Un(e,t,a,r,o){var n=typeof e;(n==="undefined"||n==="boolean")&&(e=null);var l=!1;if(e===null)l=!0;else switch(n){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case yo:case tg:l=!0}}if(l)return l=e,o=o(l),e=r===""?"."+ks(l,0):r,hd(o)?(a="",e!=null&&(a=e.replace(xd,"$&/")+"/"),Un(o,t,a,"",function(d){return d})):o!=null&&(Rs(o)&&(o=cg(o,a+(!o.key||l&&l.key===o.key?"":(""+o.key).replace(xd,"$&/")+"/")+e)),t.push(o)),1;if(l=0,r=r===""?".":r+":",hd(e))for(var s=0;s<e.length;s++){n=e[s];var u=r+ks(n,s);l+=Un(n,t,a,u,o)}else if(u=fg(e),typeof u=="function")for(e=u.call(e),s=0;!(n=e.next()).done;)n=n.value,u=r+ks(n,s++),l+=Un(n,t,a,u,o);else if(n==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function zn(e,t,a){if(e==null)return e;var r=[],o=0;return Un(e,r,"","",function(n){return t.call(a,n,o++)}),r}function mg(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(a){(e._status===0||e._status===-1)&&(e._status=1,e._result=a)},function(a){(e._status===0||e._status===-1)&&(e._status=2,e._result=a)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Qe={current:null},Nn={transition:null},gg={ReactCurrentDispatcher:Qe,ReactCurrentBatchConfig:Nn,ReactCurrentOwner:Ts};function kd(){throw Error("act(...) is not supported in production builds of React.")}le.Children={map:zn,forEach:function(e,t,a){zn(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return zn(e,function(){t++}),t},toArray:function(e){return zn(e,function(t){return t})||[]},only:function(e){if(!Rs(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};le.Component=Tr;le.Fragment=ag;le.Profiler=og;le.PureComponent=bs;le.StrictMode=rg;le.Suspense=ug;le.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=gg;le.act=kd;le.cloneElement=function(e,t,a){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=yd({},e.props),o=e.key,n=e.ref,l=e._owner;if(t!=null){if(t.ref!==void 0&&(n=t.ref,l=Ts.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(u in t)Id.call(t,u)&&!Cd.hasOwnProperty(u)&&(r[u]=t[u]===void 0&&s!==void 0?s[u]:t[u])}var u=arguments.length-2;if(u===1)r.children=a;else if(1<u){s=Array(u);for(var d=0;d<u;d++)s[d]=arguments[d+2];r.children=s}return{$$typeof:yo,type:e.type,key:o,ref:n,props:r,_owner:l}};le.createContext=function(e){return e={$$typeof:lg,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:ng,_context:e},e.Consumer=e};le.createElement=wd;le.createFactory=function(e){var t=wd.bind(null,e);return t.type=e,t};le.createRef=function(){return{current:null}};le.forwardRef=function(e){return{$$typeof:sg,render:e}};le.isValidElement=Rs;le.lazy=function(e){return{$$typeof:dg,_payload:{_status:-1,_result:e},_init:mg}};le.memo=function(e,t){return{$$typeof:ig,type:e,compare:t===void 0?null:t}};le.startTransition=function(e){var t=Nn.transition;Nn.transition={};try{e()}finally{Nn.transition=t}};le.unstable_act=kd;le.useCallback=function(e,t){return Qe.current.useCallback(e,t)};le.useContext=function(e){return Qe.current.useContext(e)};le.useDebugValue=function(){};le.useDeferredValue=function(e){return Qe.current.useDeferredValue(e)};le.useEffect=function(e,t){return Qe.current.useEffect(e,t)};le.useId=function(){return Qe.current.useId()};le.useImperativeHandle=function(e,t,a){return Qe.current.useImperativeHandle(e,t,a)};le.useInsertionEffect=function(e,t){return Qe.current.useInsertionEffect(e,t)};le.useLayoutEffect=function(e,t){return Qe.current.useLayoutEffect(e,t)};le.useMemo=function(e,t){return Qe.current.useMemo(e,t)};le.useReducer=function(e,t,a){return Qe.current.useReducer(e,t,a)};le.useRef=function(e){return Qe.current.useRef(e)};le.useState=function(e){return Qe.current.useState(e)};le.useSyncExternalStore=function(e,t,a){return Qe.current.useSyncExternalStore(e,t,a)};le.useTransition=function(){return Qe.current.useTransition()};le.version="18.3.1"});var we=Jt((vv,Pd)=>{"use strict";Pd.exports=bd()});var zd=Jt(xe=>{"use strict";function Es(e,t){var a=e.length;e.push(t);e:for(;0<a;){var r=a-1>>>1,o=e[r];if(0<Hn(o,t))e[r]=t,e[a]=o,a=r;else break e}}function Dt(e){return e.length===0?null:e[0]}function qn(e){if(e.length===0)return null;var t=e[0],a=e.pop();if(a!==t){e[0]=a;e:for(var r=0,o=e.length,n=o>>>1;r<n;){var l=2*(r+1)-1,s=e[l],u=l+1,d=e[u];if(0>Hn(s,a))u<o&&0>Hn(d,s)?(e[r]=d,e[u]=a,r=u):(e[r]=s,e[l]=a,r=l);else if(u<o&&0>Hn(d,a))e[r]=d,e[u]=a,r=u;else break e}}return t}function Hn(e,t){var a=e.sortIndex-t.sortIndex;return a!==0?a:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(Td=performance,xe.unstable_now=function(){return Td.now()}):(Ds=Date,Rd=Ds.now(),xe.unstable_now=function(){return Ds.now()-Rd});var Td,Ds,Rd,qt=[],ma=[],hg=1,ht=null,We=3,Wn=!1,Qa=!1,So=!1,Ad=typeof setTimeout=="function"?setTimeout:null,Ed=typeof clearTimeout=="function"?clearTimeout:null,Dd=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Fs(e){for(var t=Dt(ma);t!==null;){if(t.callback===null)qn(ma);else if(t.startTime<=e)qn(ma),t.sortIndex=t.expirationTime,Es(qt,t);else break;t=Dt(ma)}}function Bs(e){if(So=!1,Fs(e),!Qa)if(Dt(qt)!==null)Qa=!0,zs(Os);else{var t=Dt(ma);t!==null&&Us(Bs,t.startTime-e)}}function Os(e,t){Qa=!1,So&&(So=!1,Ed(Io),Io=-1),Wn=!0;var a=We;try{for(Fs(t),ht=Dt(qt);ht!==null&&(!(ht.expirationTime>t)||e&&!Od());){var r=ht.callback;if(typeof r=="function"){ht.callback=null,We=ht.priorityLevel;var o=r(ht.expirationTime<=t);t=xe.unstable_now(),typeof o=="function"?ht.callback=o:ht===Dt(qt)&&qn(qt),Fs(t)}else qn(qt);ht=Dt(qt)}if(ht!==null)var n=!0;else{var l=Dt(ma);l!==null&&Us(Bs,l.startTime-t),n=!1}return n}finally{ht=null,We=a,Wn=!1}}var Vn=!1,_n=null,Io=-1,Fd=5,Bd=-1;function Od(){return!(xe.unstable_now()-Bd<Fd)}function Ms(){if(_n!==null){var e=xe.unstable_now();Bd=e;var t=!0;try{t=_n(!0,e)}finally{t?Lo():(Vn=!1,_n=null)}}else Vn=!1}var Lo;typeof Dd=="function"?Lo=function(){Dd(Ms)}:typeof MessageChannel<"u"?(As=new MessageChannel,Md=As.port2,As.port1.onmessage=Ms,Lo=function(){Md.postMessage(null)}):Lo=function(){Ad(Ms,0)};var As,Md;function zs(e){_n=e,Vn||(Vn=!0,Lo())}function Us(e,t){Io=Ad(function(){e(xe.unstable_now())},t)}xe.unstable_IdlePriority=5;xe.unstable_ImmediatePriority=1;xe.unstable_LowPriority=4;xe.unstable_NormalPriority=3;xe.unstable_Profiling=null;xe.unstable_UserBlockingPriority=2;xe.unstable_cancelCallback=function(e){e.callback=null};xe.unstable_continueExecution=function(){Qa||Wn||(Qa=!0,zs(Os))};xe.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Fd=0<e?Math.floor(1e3/e):5};xe.unstable_getCurrentPriorityLevel=function(){return We};xe.unstable_getFirstCallbackNode=function(){return Dt(qt)};xe.unstable_next=function(e){switch(We){case 1:case 2:case 3:var t=3;break;default:t=We}var a=We;We=t;try{return e()}finally{We=a}};xe.unstable_pauseExecution=function(){};xe.unstable_requestPaint=function(){};xe.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=We;We=e;try{return t()}finally{We=a}};xe.unstable_scheduleCallback=function(e,t,a){var r=xe.unstable_now();switch(typeof a=="object"&&a!==null?(a=a.delay,a=typeof a=="number"&&0<a?r+a:r):a=r,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=a+o,e={id:hg++,callback:t,priorityLevel:e,startTime:a,expirationTime:o,sortIndex:-1},a>r?(e.sortIndex=a,Es(ma,e),Dt(qt)===null&&e===Dt(ma)&&(So?(Ed(Io),Io=-1):So=!0,Us(Bs,a-r))):(e.sortIndex=o,Es(qt,e),Qa||Wn||(Qa=!0,zs(Os))),e};xe.unstable_shouldYield=Od;xe.unstable_wrapCallback=function(e){var t=We;return function(){var a=We;We=t;try{return e.apply(this,arguments)}finally{We=a}}}});var Nd=Jt((Lv,Ud)=>{"use strict";Ud.exports=zd()});var Vp=Jt(mt=>{"use strict";var xg=we(),ct=Nd();function T(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Gf=new Set,Vo={};function ir(e,t){Xr(e,t),Xr(e+"Capture",t)}function Xr(e,t){for(Vo[e]=t,e=0;e<t.length;e++)Gf.add(t[e])}var na=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),su=Object.prototype.hasOwnProperty,vg=/^[: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]*$/,Hd={},_d={};function yg(e){return su.call(_d,e)?!0:su.call(Hd,e)?!1:vg.test(e)?_d[e]=!0:(Hd[e]=!0,!1)}function Lg(e,t,a,r){if(a!==null&&a.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:a!==null?!a.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Sg(e,t,a,r){if(t===null||typeof t>"u"||Lg(e,t,a,r))return!0;if(r)return!1;if(a!==null)switch(a.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Je(e,t,a,r,o,n,l){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=a,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=l}var qe={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){qe[e]=new Je(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];qe[t]=new Je(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){qe[e]=new Je(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){qe[e]=new Je(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){qe[e]=new Je(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){qe[e]=new Je(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){qe[e]=new Je(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){qe[e]=new Je(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){qe[e]=new Je(e,5,!1,e.toLowerCase(),null,!1,!1)});var Ju=/[\\-:]([a-z])/g;function ei(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Ju,ei);qe[t]=new Je(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Ju,ei);qe[t]=new Je(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Ju,ei);qe[t]=new Je(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){qe[e]=new Je(e,1,!1,e.toLowerCase(),null,!1,!1)});qe.xlinkHref=new Je("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){qe[e]=new Je(e,1,!1,e.toLowerCase(),null,!0,!0)});function ti(e,t,a,r){var o=qe.hasOwnProperty(t)?qe[t]:null;(o!==null?o.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Sg(t,a,o,r)&&(a=null),r||o===null?yg(t)&&(a===null?e.removeAttribute(t):e.setAttribute(t,""+a)):o.mustUseProperty?e[o.propertyName]=a===null?o.type===3?!1:"":a:(t=o.attributeName,r=o.attributeNamespace,a===null?e.removeAttribute(t):(o=o.type,a=o===3||o===4&&a===!0?"":""+a,r?e.setAttributeNS(r,t,a):e.setAttribute(t,a))))}var ia=xg.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,$n=Symbol.for("react.element"),Mr=Symbol.for("react.portal"),Ar=Symbol.for("react.fragment"),ai=Symbol.for("react.strict_mode"),uu=Symbol.for("react.profiler"),jf=Symbol.for("react.provider"),Xf=Symbol.for("react.context"),ri=Symbol.for("react.forward_ref"),iu=Symbol.for("react.suspense"),du=Symbol.for("react.suspense_list"),oi=Symbol.for("react.memo"),ha=Symbol.for("react.lazy");Symbol.for("react.scope");Symbol.for("react.debug_trace_mode");var Qf=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden");Symbol.for("react.cache");Symbol.for("react.tracing_marker");var qd=Symbol.iterator;function Co(e){return e===null||typeof e!="object"?null:(e=qd&&e[qd]||e["@@iterator"],typeof e=="function"?e:null)}var Te=Object.assign,Ns;function Mo(e){if(Ns===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\\n( *(at )?)/);Ns=t&&t[1]||""}return`\n`+Ns+e}var Hs=!1;function _s(e,t){if(!e||Hs)return"";Hs=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(d){var r=d}Reflect.construct(e,[],t)}else{try{t.call()}catch(d){r=d}e.call(t.prototype)}else{try{throw Error()}catch(d){r=d}e()}}catch(d){if(d&&r&&typeof d.stack=="string"){for(var o=d.stack.split(`\n`),n=r.stack.split(`\n`),l=o.length-1,s=n.length-1;1<=l&&0<=s&&o[l]!==n[s];)s--;for(;1<=l&&0<=s;l--,s--)if(o[l]!==n[s]){if(l!==1||s!==1)do if(l--,s--,0>s||o[l]!==n[s]){var u=`\n`+o[l].replace(" at new "," at ");return e.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",e.displayName)),u}while(1<=l&&0<=s);break}}}finally{Hs=!1,Error.prepareStackTrace=a}return(e=e?e.displayName||e.name:"")?Mo(e):""}function Ig(e){switch(e.tag){case 5:return Mo(e.type);case 16:return Mo("Lazy");case 13:return Mo("Suspense");case 19:return Mo("SuspenseList");case 0:case 2:case 15:return e=_s(e.type,!1),e;case 11:return e=_s(e.type.render,!1),e;case 1:return e=_s(e.type,!0),e;default:return""}}function fu(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Ar:return"Fragment";case Mr:return"Portal";case uu:return"Profiler";case ai:return"StrictMode";case iu:return"Suspense";case du:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Xf:return(e.displayName||"Context")+".Consumer";case jf:return(e._context.displayName||"Context")+".Provider";case ri:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case oi:return t=e.displayName||null,t!==null?t:fu(e.type)||"Memo";case ha:t=e._payload,e=e._init;try{return fu(e(t))}catch{}}return null}function Cg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return fu(t);case 8:return t===ai?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Da(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Yf(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function wg(e){var t=Yf(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var o=a.get,n=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(l){r=""+l,n.call(this,l)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return r},setValue:function(l){r=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Kn(e){e._valueTracker||(e._valueTracker=wg(e))}function Zf(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),r="";return e&&(r=Yf(e)?e.checked?"true":"false":e.value),e=r,e!==a?(t.setValue(e),!0):!1}function Ll(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function cu(e,t){var a=t.checked;return Te({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??e._wrapperState.initialChecked})}function Wd(e,t){var a=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;a=Da(t.value!=null?t.value:a),e._wrapperState={initialChecked:r,initialValue:a,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Jf(e,t){t=t.checked,t!=null&&ti(e,"checked",t,!1)}function pu(e,t){Jf(e,t);var a=Da(t.value),r=t.type;if(a!=null)r==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+a):e.value!==""+a&&(e.value=""+a);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?mu(e,t.type,a):t.hasOwnProperty("defaultValue")&&mu(e,t.type,Da(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Vd(e,t,a){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,a||t===e.value||(e.value=t),e.defaultValue=t}a=e.name,a!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,a!==""&&(e.name=a)}function mu(e,t,a){(t!=="number"||Ll(e.ownerDocument)!==e)&&(a==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+a&&(e.defaultValue=""+a))}var Ao=Array.isArray;function Wr(e,t,a,r){if(e=e.options,t){t={};for(var o=0;o<a.length;o++)t["$"+a[o]]=!0;for(a=0;a<e.length;a++)o=t.hasOwnProperty("$"+e[a].value),e[a].selected!==o&&(e[a].selected=o),o&&r&&(e[a].defaultSelected=!0)}else{for(a=""+Da(a),t=null,o=0;o<e.length;o++){if(e[o].value===a){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function gu(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(T(91));return Te({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function $d(e,t){var a=t.value;if(a==null){if(a=t.children,t=t.defaultValue,a!=null){if(t!=null)throw Error(T(92));if(Ao(a)){if(1<a.length)throw Error(T(93));a=a[0]}t=a}t==null&&(t=""),a=t}e._wrapperState={initialValue:Da(a)}}function ec(e,t){var a=Da(t.value),r=Da(t.defaultValue);a!=null&&(a=""+a,a!==e.value&&(e.value=a),t.defaultValue==null&&e.defaultValue!==a&&(e.defaultValue=a)),r!=null&&(e.defaultValue=""+r)}function Kd(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function tc(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function hu(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?tc(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Gn,ac=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,a,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,a,r,o)})}:e})(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(Gn=Gn||document.createElement("div"),Gn.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Gn.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function $o(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var Bo={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kg=["Webkit","ms","Moz","O"];Object.keys(Bo).forEach(function(e){kg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Bo[t]=Bo[e]})});function rc(e,t,a){return t==null||typeof t=="boolean"||t===""?"":a||typeof t!="number"||t===0||Bo.hasOwnProperty(e)&&Bo[e]?(""+t).trim():t+"px"}function oc(e,t){e=e.style;for(var a in t)if(t.hasOwnProperty(a)){var r=a.indexOf("--")===0,o=rc(a,t[a],r);a==="float"&&(a="cssFloat"),r?e.setProperty(a,o):e[a]=o}}var bg=Te({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function xu(e,t){if(t){if(bg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(T(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(T(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(T(61))}if(t.style!=null&&typeof t.style!="object")throw Error(T(62))}}function vu(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var yu=null;function ni(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Lu=null,Vr=null,$r=null;function Gd(e){if(e=dn(e)){if(typeof Lu!="function")throw Error(T(280));var t=e.stateNode;t&&(t=jl(t),Lu(e.stateNode,e.type,t))}}function nc(e){Vr?$r?$r.push(e):$r=[e]:Vr=e}function lc(){if(Vr){var e=Vr,t=$r;if($r=Vr=null,Gd(e),t)for(e=0;e<t.length;e++)Gd(t[e])}}function sc(e,t){return e(t)}function uc(){}var qs=!1;function ic(e,t,a){if(qs)return e(t,a);qs=!0;try{return sc(e,t,a)}finally{qs=!1,(Vr!==null||$r!==null)&&(uc(),lc())}}function Ko(e,t){var a=e.stateNode;if(a===null)return null;var r=jl(a);if(r===null)return null;a=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(T(231,t,typeof a));return a}var Su=!1;if(na)try{Rr={},Object.defineProperty(Rr,"passive",{get:function(){Su=!0}}),window.addEventListener("test",Rr,Rr),window.removeEventListener("test",Rr,Rr)}catch{Su=!1}var Rr;function Pg(e,t,a,r,o,n,l,s,u){var d=Array.prototype.slice.call(arguments,3);try{t.apply(a,d)}catch(g){this.onError(g)}}var Oo=!1,Sl=null,Il=!1,Iu=null,Tg={onError:function(e){Oo=!0,Sl=e}};function Rg(e,t,a,r,o,n,l,s,u){Oo=!1,Sl=null,Pg.apply(Tg,arguments)}function Dg(e,t,a,r,o,n,l,s,u){if(Rg.apply(this,arguments),Oo){if(Oo){var d=Sl;Oo=!1,Sl=null}else throw Error(T(198));Il||(Il=!0,Iu=d)}}function dr(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function dc(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function jd(e){if(dr(e)!==e)throw Error(T(188))}function Mg(e){var t=e.alternate;if(!t){if(t=dr(e),t===null)throw Error(T(188));return t!==e?null:e}for(var a=e,r=t;;){var o=a.return;if(o===null)break;var n=o.alternate;if(n===null){if(r=o.return,r!==null){a=r;continue}break}if(o.child===n.child){for(n=o.child;n;){if(n===a)return jd(o),e;if(n===r)return jd(o),t;n=n.sibling}throw Error(T(188))}if(a.return!==r.return)a=o,r=n;else{for(var l=!1,s=o.child;s;){if(s===a){l=!0,a=o,r=n;break}if(s===r){l=!0,r=o,a=n;break}s=s.sibling}if(!l){for(s=n.child;s;){if(s===a){l=!0,a=n,r=o;break}if(s===r){l=!0,r=n,a=o;break}s=s.sibling}if(!l)throw Error(T(189))}}if(a.alternate!==r)throw Error(T(190))}if(a.tag!==3)throw Error(T(188));return a.stateNode.current===a?e:t}function fc(e){return e=Mg(e),e!==null?cc(e):null}function cc(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=cc(e);if(t!==null)return t;e=e.sibling}return null}var pc=ct.unstable_scheduleCallback,Xd=ct.unstable_cancelCallback,Ag=ct.unstable_shouldYield,Eg=ct.unstable_requestPaint,De=ct.unstable_now,Fg=ct.unstable_getCurrentPriorityLevel,li=ct.unstable_ImmediatePriority,mc=ct.unstable_UserBlockingPriority,Cl=ct.unstable_NormalPriority,Bg=ct.unstable_LowPriority,gc=ct.unstable_IdlePriority,Vl=null,Kt=null;function Og(e){if(Kt&&typeof Kt.onCommitFiberRoot=="function")try{Kt.onCommitFiberRoot(Vl,e,void 0,(e.current.flags&128)===128)}catch{}}var Bt=Math.clz32?Math.clz32:Ng,zg=Math.log,Ug=Math.LN2;function Ng(e){return e>>>=0,e===0?32:31-(zg(e)/Ug|0)|0}var jn=64,Xn=4194304;function Eo(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function wl(e,t){var a=e.pendingLanes;if(a===0)return 0;var r=0,o=e.suspendedLanes,n=e.pingedLanes,l=a&268435455;if(l!==0){var s=l&~o;s!==0?r=Eo(s):(n&=l,n!==0&&(r=Eo(n)))}else l=a&~o,l!==0?r=Eo(l):n!==0&&(r=Eo(n));if(r===0)return 0;if(t!==0&&t!==r&&(t&o)===0&&(o=r&-r,n=t&-t,o>=n||o===16&&(n&4194240)!==0))return t;if((r&4)!==0&&(r|=a&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)a=31-Bt(t),o=1<<a,r|=e[a],t&=~o;return r}function Hg(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function _g(e,t){for(var a=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,n=e.pendingLanes;0<n;){var l=31-Bt(n),s=1<<l,u=o[l];u===-1?((s&a)===0||(s&r)!==0)&&(o[l]=Hg(s,t)):u<=t&&(e.expiredLanes|=s),n&=~s}}function Cu(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function hc(){var e=jn;return jn<<=1,(jn&4194240)===0&&(jn=64),e}function Ws(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function sn(e,t,a){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Bt(t),e[t]=a}function qg(e,t){var a=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<a;){var o=31-Bt(a),n=1<<o;t[o]=0,r[o]=-1,e[o]=-1,a&=~n}}function si(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var r=31-Bt(a),o=1<<r;o&t|e[r]&t&&(e[r]|=t),a&=~o}}var me=0;function xc(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var vc,ui,yc,Lc,Sc,wu=!1,Qn=[],Ia=null,Ca=null,wa=null,Go=new Map,jo=new Map,va=[],Wg="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Qd(e,t){switch(e){case"focusin":case"focusout":Ia=null;break;case"dragenter":case"dragleave":Ca=null;break;case"mouseover":case"mouseout":wa=null;break;case"pointerover":case"pointerout":Go.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":jo.delete(t.pointerId)}}function wo(e,t,a,r,o,n){return e===null||e.nativeEvent!==n?(e={blockedOn:t,domEventName:a,eventSystemFlags:r,nativeEvent:n,targetContainers:[o]},t!==null&&(t=dn(t),t!==null&&ui(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function Vg(e,t,a,r,o){switch(t){case"focusin":return Ia=wo(Ia,e,t,a,r,o),!0;case"dragenter":return Ca=wo(Ca,e,t,a,r,o),!0;case"mouseover":return wa=wo(wa,e,t,a,r,o),!0;case"pointerover":var n=o.pointerId;return Go.set(n,wo(Go.get(n)||null,e,t,a,r,o)),!0;case"gotpointercapture":return n=o.pointerId,jo.set(n,wo(jo.get(n)||null,e,t,a,r,o)),!0}return!1}function Ic(e){var t=Ja(e.target);if(t!==null){var a=dr(t);if(a!==null){if(t=a.tag,t===13){if(t=dc(a),t!==null){e.blockedOn=t,Sc(e.priority,function(){yc(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function dl(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=ku(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(a===null){a=e.nativeEvent;var r=new a.constructor(a.type,a);yu=r,a.target.dispatchEvent(r),yu=null}else return t=dn(a),t!==null&&ui(t),e.blockedOn=a,!1;t.shift()}return!0}function Yd(e,t,a){dl(e)&&a.delete(t)}function $g(){wu=!1,Ia!==null&&dl(Ia)&&(Ia=null),Ca!==null&&dl(Ca)&&(Ca=null),wa!==null&&dl(wa)&&(wa=null),Go.forEach(Yd),jo.forEach(Yd)}function ko(e,t){e.blockedOn===t&&(e.blockedOn=null,wu||(wu=!0,ct.unstable_scheduleCallback(ct.unstable_NormalPriority,$g)))}function Xo(e){function t(o){return ko(o,e)}if(0<Qn.length){ko(Qn[0],e);for(var a=1;a<Qn.length;a++){var r=Qn[a];r.blockedOn===e&&(r.blockedOn=null)}}for(Ia!==null&&ko(Ia,e),Ca!==null&&ko(Ca,e),wa!==null&&ko(wa,e),Go.forEach(t),jo.forEach(t),a=0;a<va.length;a++)r=va[a],r.blockedOn===e&&(r.blockedOn=null);for(;0<va.length&&(a=va[0],a.blockedOn===null);)Ic(a),a.blockedOn===null&&va.shift()}var Kr=ia.ReactCurrentBatchConfig,kl=!0;function Kg(e,t,a,r){var o=me,n=Kr.transition;Kr.transition=null;try{me=1,ii(e,t,a,r)}finally{me=o,Kr.transition=n}}function Gg(e,t,a,r){var o=me,n=Kr.transition;Kr.transition=null;try{me=4,ii(e,t,a,r)}finally{me=o,Kr.transition=n}}function ii(e,t,a,r){if(kl){var o=ku(e,t,a,r);if(o===null)Qs(e,t,r,bl,a),Qd(e,r);else if(Vg(o,e,t,a,r))r.stopPropagation();else if(Qd(e,r),t&4&&-1<Wg.indexOf(e)){for(;o!==null;){var n=dn(o);if(n!==null&&vc(n),n=ku(e,t,a,r),n===null&&Qs(e,t,r,bl,a),n===o)break;o=n}o!==null&&r.stopPropagation()}else Qs(e,t,r,null,a)}}var bl=null;function ku(e,t,a,r){if(bl=null,e=ni(r),e=Ja(e),e!==null)if(t=dr(e),t===null)e=null;else if(a=t.tag,a===13){if(e=dc(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return bl=e,null}function Cc(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Fg()){case li:return 1;case mc:return 4;case Cl:case Bg:return 16;case gc:return 536870912;default:return 16}default:return 16}}var La=null,di=null,fl=null;function wc(){if(fl)return fl;var e,t=di,a=t.length,r,o="value"in La?La.value:La.textContent,n=o.length;for(e=0;e<a&&t[e]===o[e];e++);var l=a-e;for(r=1;r<=l&&t[a-r]===o[n-r];r++);return fl=o.slice(e,1<r?1-r:void 0)}function cl(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Yn(){return!0}function Zd(){return!1}function pt(e){function t(a,r,o,n,l){this._reactName=a,this._targetInst=o,this.type=r,this.nativeEvent=n,this.target=l,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(a=e[s],this[s]=a?a(n):n[s]);return this.isDefaultPrevented=(n.defaultPrevented!=null?n.defaultPrevented:n.returnValue===!1)?Yn:Zd,this.isPropagationStopped=Zd,this}return Te(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Yn)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Yn)},persist:function(){},isPersistent:Yn}),t}var ao={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},fi=pt(ao),un=Te({},ao,{view:0,detail:0}),jg=pt(un),Vs,$s,bo,$l=Te({},un,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ci,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==bo&&(bo&&e.type==="mousemove"?(Vs=e.screenX-bo.screenX,$s=e.screenY-bo.screenY):$s=Vs=0,bo=e),Vs)},movementY:function(e){return"movementY"in e?e.movementY:$s}}),Jd=pt($l),Xg=Te({},$l,{dataTransfer:0}),Qg=pt(Xg),Yg=Te({},un,{relatedTarget:0}),Ks=pt(Yg),Zg=Te({},ao,{animationName:0,elapsedTime:0,pseudoElement:0}),Jg=pt(Zg),eh=Te({},ao,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),th=pt(eh),ah=Te({},ao,{data:0}),ef=pt(ah),rh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},oh={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},nh={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function lh(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=nh[e])?!!t[e]:!1}function ci(){return lh}var sh=Te({},un,{key:function(e){if(e.key){var t=rh[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=cl(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?oh[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ci,charCode:function(e){return e.type==="keypress"?cl(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?cl(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),uh=pt(sh),ih=Te({},$l,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),tf=pt(ih),dh=Te({},un,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ci}),fh=pt(dh),ch=Te({},ao,{propertyName:0,elapsedTime:0,pseudoElement:0}),ph=pt(ch),mh=Te({},$l,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),gh=pt(mh),hh=[9,13,27,32],pi=na&&"CompositionEvent"in window,zo=null;na&&"documentMode"in document&&(zo=document.documentMode);var xh=na&&"TextEvent"in window&&!zo,kc=na&&(!pi||zo&&8<zo&&11>=zo),af=" ",rf=!1;function bc(e,t){switch(e){case"keyup":return hh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Pc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Er=!1;function vh(e,t){switch(e){case"compositionend":return Pc(t);case"keypress":return t.which!==32?null:(rf=!0,af);case"textInput":return e=t.data,e===af&&rf?null:e;default:return null}}function yh(e,t){if(Er)return e==="compositionend"||!pi&&bc(e,t)?(e=wc(),fl=di=La=null,Er=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return kc&&t.locale!=="ko"?null:t.data;default:return null}}var Lh={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 of(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Lh[e.type]:t==="textarea"}function Tc(e,t,a,r){nc(r),t=Pl(t,"onChange"),0<t.length&&(a=new fi("onChange","change",null,a,r),e.push({event:a,listeners:t}))}var Uo=null,Qo=null;function Sh(e){Nc(e,0)}function Kl(e){var t=Or(e);if(Zf(t))return e}function Ih(e,t){if(e==="change")return t}var Rc=!1;na&&(na?(Jn="oninput"in document,Jn||(Gs=document.createElement("div"),Gs.setAttribute("oninput","return;"),Jn=typeof Gs.oninput=="function"),Zn=Jn):Zn=!1,Rc=Zn&&(!document.documentMode||9<document.documentMode));var Zn,Jn,Gs;function nf(){Uo&&(Uo.detachEvent("onpropertychange",Dc),Qo=Uo=null)}function Dc(e){if(e.propertyName==="value"&&Kl(Qo)){var t=[];Tc(t,Qo,e,ni(e)),ic(Sh,t)}}function Ch(e,t,a){e==="focusin"?(nf(),Uo=t,Qo=a,Uo.attachEvent("onpropertychange",Dc)):e==="focusout"&&nf()}function wh(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Kl(Qo)}function kh(e,t){if(e==="click")return Kl(t)}function bh(e,t){if(e==="input"||e==="change")return Kl(t)}function Ph(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var zt=typeof Object.is=="function"?Object.is:Ph;function Yo(e,t){if(zt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;for(r=0;r<a.length;r++){var o=a[r];if(!su.call(t,o)||!zt(e[o],t[o]))return!1}return!0}function lf(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function sf(e,t){var a=lf(e);e=0;for(var r;a;){if(a.nodeType===3){if(r=e+a.textContent.length,e<=t&&r>=t)return{node:a,offset:t-e};e=r}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=lf(a)}}function Mc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Mc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ac(){for(var e=window,t=Ll();t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Ll(e.document)}return t}function mi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Th(e){var t=Ac(),a=e.focusedElem,r=e.selectionRange;if(t!==a&&a&&a.ownerDocument&&Mc(a.ownerDocument.documentElement,a)){if(r!==null&&mi(a)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in a)a.selectionStart=t,a.selectionEnd=Math.min(e,a.value.length);else if(e=(t=a.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=a.textContent.length,n=Math.min(r.start,o);r=r.end===void 0?n:Math.min(r.end,o),!e.extend&&n>r&&(o=r,r=n,n=o),o=sf(a,n);var l=sf(a,r);o&&l&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),n>r?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.offset),e.addRange(t)))}}for(t=[],e=a;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof a.focus=="function"&&a.focus(),a=0;a<t.length;a++)e=t[a],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Rh=na&&"documentMode"in document&&11>=document.documentMode,Fr=null,bu=null,No=null,Pu=!1;function uf(e,t,a){var r=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Pu||Fr==null||Fr!==Ll(r)||(r=Fr,"selectionStart"in r&&mi(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),No&&Yo(No,r)||(No=r,r=Pl(bu,"onSelect"),0<r.length&&(t=new fi("onSelect","select",null,t,a),e.push({event:t,listeners:r}),t.target=Fr)))}function el(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Br={animationend:el("Animation","AnimationEnd"),animationiteration:el("Animation","AnimationIteration"),animationstart:el("Animation","AnimationStart"),transitionend:el("Transition","TransitionEnd")},js={},Ec={};na&&(Ec=document.createElement("div").style,"AnimationEvent"in window||(delete Br.animationend.animation,delete Br.animationiteration.animation,delete Br.animationstart.animation),"TransitionEvent"in window||delete Br.transitionend.transition);function Gl(e){if(js[e])return js[e];if(!Br[e])return e;var t=Br[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in Ec)return js[e]=t[a];return e}var Fc=Gl("animationend"),Bc=Gl("animationiteration"),Oc=Gl("animationstart"),zc=Gl("transitionend"),Uc=new Map,df="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Aa(e,t){Uc.set(e,t),ir(t,[e])}for(tl=0;tl<df.length;tl++)al=df[tl],ff=al.toLowerCase(),cf=al[0].toUpperCase()+al.slice(1),Aa(ff,"on"+cf);var al,ff,cf,tl;Aa(Fc,"onAnimationEnd");Aa(Bc,"onAnimationIteration");Aa(Oc,"onAnimationStart");Aa("dblclick","onDoubleClick");Aa("focusin","onFocus");Aa("focusout","onBlur");Aa(zc,"onTransitionEnd");Xr("onMouseEnter",["mouseout","mouseover"]);Xr("onMouseLeave",["mouseout","mouseover"]);Xr("onPointerEnter",["pointerout","pointerover"]);Xr("onPointerLeave",["pointerout","pointerover"]);ir("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));ir("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));ir("onBeforeInput",["compositionend","keypress","textInput","paste"]);ir("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));ir("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));ir("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Fo="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Dh=new Set("cancel close invalid load scroll toggle".split(" ").concat(Fo));function pf(e,t,a){var r=e.type||"unknown-event";e.currentTarget=a,Dg(r,t,void 0,e),e.currentTarget=null}function Nc(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var r=e[a],o=r.event;r=r.listeners;e:{var n=void 0;if(t)for(var l=r.length-1;0<=l;l--){var s=r[l],u=s.instance,d=s.currentTarget;if(s=s.listener,u!==n&&o.isPropagationStopped())break e;pf(o,s,d),n=u}else for(l=0;l<r.length;l++){if(s=r[l],u=s.instance,d=s.currentTarget,s=s.listener,u!==n&&o.isPropagationStopped())break e;pf(o,s,d),n=u}}}if(Il)throw e=Iu,Il=!1,Iu=null,e}function Le(e,t){var a=t[Au];a===void 0&&(a=t[Au]=new Set);var r=e+"__bubble";a.has(r)||(Hc(t,e,2,!1),a.add(r))}function Xs(e,t,a){var r=0;t&&(r|=4),Hc(a,e,r,t)}var rl="_reactListening"+Math.random().toString(36).slice(2);function Zo(e){if(!e[rl]){e[rl]=!0,Gf.forEach(function(a){a!=="selectionchange"&&(Dh.has(a)||Xs(a,!1,e),Xs(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[rl]||(t[rl]=!0,Xs("selectionchange",!1,t))}}function Hc(e,t,a,r){switch(Cc(t)){case 1:var o=Kg;break;case 4:o=Gg;break;default:o=ii}a=o.bind(null,t,a,e),o=void 0,!Su||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),r?o!==void 0?e.addEventListener(t,a,{capture:!0,passive:o}):e.addEventListener(t,a,!0):o!==void 0?e.addEventListener(t,a,{passive:o}):e.addEventListener(t,a,!1)}function Qs(e,t,a,r,o){var n=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var l=r.tag;if(l===3||l===4){var s=r.stateNode.containerInfo;if(s===o||s.nodeType===8&&s.parentNode===o)break;if(l===4)for(l=r.return;l!==null;){var u=l.tag;if((u===3||u===4)&&(u=l.stateNode.containerInfo,u===o||u.nodeType===8&&u.parentNode===o))return;l=l.return}for(;s!==null;){if(l=Ja(s),l===null)return;if(u=l.tag,u===5||u===6){r=n=l;continue e}s=s.parentNode}}r=r.return}ic(function(){var d=n,g=ni(a),m=[];e:{var p=Uc.get(e);if(p!==void 0){var v=fi,L=e;switch(e){case"keypress":if(cl(a)===0)break e;case"keydown":case"keyup":v=uh;break;case"focusin":L="focus",v=Ks;break;case"focusout":L="blur",v=Ks;break;case"beforeblur":case"afterblur":v=Ks;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":v=Jd;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":v=Qg;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":v=fh;break;case Fc:case Bc:case Oc:v=Jg;break;case zc:v=ph;break;case"scroll":v=jg;break;case"wheel":v=gh;break;case"copy":case"cut":case"paste":v=th;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":v=tf}var S=(t&4)!==0,z=!S&&e==="scroll",c=S?p!==null?p+"Capture":null:p;S=[];for(var i=d,f;i!==null;){f=i;var y=f.stateNode;if(f.tag===5&&y!==null&&(f=y,c!==null&&(y=Ko(i,c),y!=null&&S.push(Jo(i,y,f)))),z)break;i=i.return}0<S.length&&(p=new v(p,L,null,a,g),m.push({event:p,listeners:S}))}}if((t&7)===0){e:{if(p=e==="mouseover"||e==="pointerover",v=e==="mouseout"||e==="pointerout",p&&a!==yu&&(L=a.relatedTarget||a.fromElement)&&(Ja(L)||L[la]))break e;if((v||p)&&(p=g.window===g?g:(p=g.ownerDocument)?p.defaultView||p.parentWindow:window,v?(L=a.relatedTarget||a.toElement,v=d,L=L?Ja(L):null,L!==null&&(z=dr(L),L!==z||L.tag!==5&&L.tag!==6)&&(L=null)):(v=null,L=d),v!==L)){if(S=Jd,y="onMouseLeave",c="onMouseEnter",i="mouse",(e==="pointerout"||e==="pointerover")&&(S=tf,y="onPointerLeave",c="onPointerEnter",i="pointer"),z=v==null?p:Or(v),f=L==null?p:Or(L),p=new S(y,i+"leave",v,a,g),p.target=z,p.relatedTarget=f,y=null,Ja(g)===d&&(S=new S(c,i+"enter",L,a,g),S.target=f,S.relatedTarget=z,y=S),z=y,v&&L)t:{for(S=v,c=L,i=0,f=S;f;f=Dr(f))i++;for(f=0,y=c;y;y=Dr(y))f++;for(;0<i-f;)S=Dr(S),i--;for(;0<f-i;)c=Dr(c),f--;for(;i--;){if(S===c||c!==null&&S===c.alternate)break t;S=Dr(S),c=Dr(c)}S=null}else S=null;v!==null&&mf(m,p,v,S,!1),L!==null&&z!==null&&mf(m,z,L,S,!0)}}e:{if(p=d?Or(d):window,v=p.nodeName&&p.nodeName.toLowerCase(),v==="select"||v==="input"&&p.type==="file")var C=Ih;else if(of(p))if(Rc)C=bh;else{C=wh;var k=Ch}else(v=p.nodeName)&&v.toLowerCase()==="input"&&(p.type==="checkbox"||p.type==="radio")&&(C=kh);if(C&&(C=C(e,d))){Tc(m,C,a,g);break e}k&&k(e,p,d),e==="focusout"&&(k=p._wrapperState)&&k.controlled&&p.type==="number"&&mu(p,"number",p.value)}switch(k=d?Or(d):window,e){case"focusin":(of(k)||k.contentEditable==="true")&&(Fr=k,bu=d,No=null);break;case"focusout":No=bu=Fr=null;break;case"mousedown":Pu=!0;break;case"contextmenu":case"mouseup":case"dragend":Pu=!1,uf(m,a,g);break;case"selectionchange":if(Rh)break;case"keydown":case"keyup":uf(m,a,g)}var h;if(pi)e:{switch(e){case"compositionstart":var w="onCompositionStart";break e;case"compositionend":w="onCompositionEnd";break e;case"compositionupdate":w="onCompositionUpdate";break e}w=void 0}else Er?bc(e,a)&&(w="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(w="onCompositionStart");w&&(kc&&a.locale!=="ko"&&(Er||w!=="onCompositionStart"?w==="onCompositionEnd"&&Er&&(h=wc()):(La=g,di="value"in La?La.value:La.textContent,Er=!0)),k=Pl(d,w),0<k.length&&(w=new ef(w,e,null,a,g),m.push({event:w,listeners:k}),h?w.data=h:(h=Pc(a),h!==null&&(w.data=h)))),(h=xh?vh(e,a):yh(e,a))&&(d=Pl(d,"onBeforeInput"),0<d.length&&(g=new ef("onBeforeInput","beforeinput",null,a,g),m.push({event:g,listeners:d}),g.data=h))}Nc(m,t)})}function Jo(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Pl(e,t){for(var a=t+"Capture",r=[];e!==null;){var o=e,n=o.stateNode;o.tag===5&&n!==null&&(o=n,n=Ko(e,a),n!=null&&r.unshift(Jo(e,n,o)),n=Ko(e,t),n!=null&&r.push(Jo(e,n,o))),e=e.return}return r}function Dr(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function mf(e,t,a,r,o){for(var n=t._reactName,l=[];a!==null&&a!==r;){var s=a,u=s.alternate,d=s.stateNode;if(u!==null&&u===r)break;s.tag===5&&d!==null&&(s=d,o?(u=Ko(a,n),u!=null&&l.unshift(Jo(a,u,s))):o||(u=Ko(a,n),u!=null&&l.push(Jo(a,u,s)))),a=a.return}l.length!==0&&e.push({event:t,listeners:l})}var Mh=/\\r\\n?/g,Ah=/\\u0000|\\uFFFD/g;function gf(e){return(typeof e=="string"?e:""+e).replace(Mh,`\n`).replace(Ah,"")}function ol(e,t,a){if(t=gf(t),gf(e)!==t&&a)throw Error(T(425))}function Tl(){}var Tu=null,Ru=null;function Du(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Mu=typeof setTimeout=="function"?setTimeout:void 0,Eh=typeof clearTimeout=="function"?clearTimeout:void 0,hf=typeof Promise=="function"?Promise:void 0,Fh=typeof queueMicrotask=="function"?queueMicrotask:typeof hf<"u"?function(e){return hf.resolve(null).then(e).catch(Bh)}:Mu;function Bh(e){setTimeout(function(){throw e})}function Ys(e,t){var a=t,r=0;do{var o=a.nextSibling;if(e.removeChild(a),o&&o.nodeType===8)if(a=o.data,a==="/$"){if(r===0){e.removeChild(o),Xo(t);return}r--}else a!=="$"&&a!=="$?"&&a!=="$!"||r++;a=o}while(a);Xo(t)}function ka(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function xf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"){if(t===0)return e;t--}else a==="/$"&&t++}e=e.previousSibling}return null}var ro=Math.random().toString(36).slice(2),$t="__reactFiber$"+ro,en="__reactProps$"+ro,la="__reactContainer$"+ro,Au="__reactEvents$"+ro,Oh="__reactListeners$"+ro,zh="__reactHandles$"+ro;function Ja(e){var t=e[$t];if(t)return t;for(var a=e.parentNode;a;){if(t=a[la]||a[$t]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=xf(e);e!==null;){if(a=e[$t])return a;e=xf(e)}return t}e=a,a=e.parentNode}return null}function dn(e){return e=e[$t]||e[la],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Or(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(T(33))}function jl(e){return e[en]||null}var Eu=[],zr=-1;function Ea(e){return{current:e}}function Se(e){0>zr||(e.current=Eu[zr],Eu[zr]=null,zr--)}function ve(e,t){zr++,Eu[zr]=e.current,e.current=t}var Ma={},Ge=Ea(Ma),rt=Ea(!1),or=Ma;function Qr(e,t){var a=e.type.contextTypes;if(!a)return Ma;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},n;for(n in a)o[n]=t[n];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function ot(e){return e=e.childContextTypes,e!=null}function Rl(){Se(rt),Se(Ge)}function vf(e,t,a){if(Ge.current!==Ma)throw Error(T(168));ve(Ge,t),ve(rt,a)}function _c(e,t,a){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return a;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(T(108,Cg(e)||"Unknown",o));return Te({},a,r)}function Dl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ma,or=Ge.current,ve(Ge,e),ve(rt,rt.current),!0}function yf(e,t,a){var r=e.stateNode;if(!r)throw Error(T(169));a?(e=_c(e,t,or),r.__reactInternalMemoizedMergedChildContext=e,Se(rt),Se(Ge),ve(Ge,e)):Se(rt),ve(rt,a)}var ta=null,Xl=!1,Zs=!1;function qc(e){ta===null?ta=[e]:ta.push(e)}function Uh(e){Xl=!0,qc(e)}function Fa(){if(!Zs&&ta!==null){Zs=!0;var e=0,t=me;try{var a=ta;for(me=1;e<a.length;e++){var r=a[e];do r=r(!0);while(r!==null)}ta=null,Xl=!1}catch(o){throw ta!==null&&(ta=ta.slice(e+1)),pc(li,Fa),o}finally{me=t,Zs=!1}}return null}var Ur=[],Nr=0,Ml=null,Al=0,xt=[],vt=0,nr=null,aa=1,ra="";function Ya(e,t){Ur[Nr++]=Al,Ur[Nr++]=Ml,Ml=e,Al=t}function Wc(e,t,a){xt[vt++]=aa,xt[vt++]=ra,xt[vt++]=nr,nr=e;var r=aa;e=ra;var o=32-Bt(r)-1;r&=~(1<<o),a+=1;var n=32-Bt(t)+o;if(30<n){var l=o-o%5;n=(r&(1<<l)-1).toString(32),r>>=l,o-=l,aa=1<<32-Bt(t)+o|a<<o|r,ra=n+e}else aa=1<<n|a<<o|r,ra=e}function gi(e){e.return!==null&&(Ya(e,1),Wc(e,1,0))}function hi(e){for(;e===Ml;)Ml=Ur[--Nr],Ur[Nr]=null,Al=Ur[--Nr],Ur[Nr]=null;for(;e===nr;)nr=xt[--vt],xt[vt]=null,ra=xt[--vt],xt[vt]=null,aa=xt[--vt],xt[vt]=null}var ft=null,dt=null,ke=!1,Ft=null;function Vc(e,t){var a=yt(5,null,null,0);a.elementType="DELETED",a.stateNode=t,a.return=e,t=e.deletions,t===null?(e.deletions=[a],e.flags|=16):t.push(a)}function Lf(e,t){switch(e.tag){case 5:var a=e.type;return t=t.nodeType!==1||a.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,ft=e,dt=ka(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,ft=e,dt=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(a=nr!==null?{id:aa,overflow:ra}:null,e.memoizedState={dehydrated:t,treeContext:a,retryLane:1073741824},a=yt(18,null,null,0),a.stateNode=t,a.return=e,e.child=a,ft=e,dt=null,!0):!1;default:return!1}}function Fu(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Bu(e){if(ke){var t=dt;if(t){var a=t;if(!Lf(e,t)){if(Fu(e))throw Error(T(418));t=ka(a.nextSibling);var r=ft;t&&Lf(e,t)?Vc(r,a):(e.flags=e.flags&-4097|2,ke=!1,ft=e)}}else{if(Fu(e))throw Error(T(418));e.flags=e.flags&-4097|2,ke=!1,ft=e}}}function Sf(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;ft=e}function nl(e){if(e!==ft)return!1;if(!ke)return Sf(e),ke=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Du(e.type,e.memoizedProps)),t&&(t=dt)){if(Fu(e))throw $c(),Error(T(418));for(;t;)Vc(e,t),t=ka(t.nextSibling)}if(Sf(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(T(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"){if(t===0){dt=ka(e.nextSibling);break e}t--}else a!=="$"&&a!=="$!"&&a!=="$?"||t++}e=e.nextSibling}dt=null}}else dt=ft?ka(e.stateNode.nextSibling):null;return!0}function $c(){for(var e=dt;e;)e=ka(e.nextSibling)}function Yr(){dt=ft=null,ke=!1}function xi(e){Ft===null?Ft=[e]:Ft.push(e)}var Nh=ia.ReactCurrentBatchConfig;function Po(e,t,a){if(e=a.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(a._owner){if(a=a._owner,a){if(a.tag!==1)throw Error(T(309));var r=a.stateNode}if(!r)throw Error(T(147,e));var o=r,n=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===n?t.ref:(t=function(l){var s=o.refs;l===null?delete s[n]:s[n]=l},t._stringRef=n,t)}if(typeof e!="string")throw Error(T(284));if(!a._owner)throw Error(T(290,e))}return e}function ll(e,t){throw e=Object.prototype.toString.call(t),Error(T(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function If(e){var t=e._init;return t(e._payload)}function Kc(e){function t(c,i){if(e){var f=c.deletions;f===null?(c.deletions=[i],c.flags|=16):f.push(i)}}function a(c,i){if(!e)return null;for(;i!==null;)t(c,i),i=i.sibling;return null}function r(c,i){for(c=new Map;i!==null;)i.key!==null?c.set(i.key,i):c.set(i.index,i),i=i.sibling;return c}function o(c,i){return c=Ra(c,i),c.index=0,c.sibling=null,c}function n(c,i,f){return c.index=f,e?(f=c.alternate,f!==null?(f=f.index,f<i?(c.flags|=2,i):f):(c.flags|=2,i)):(c.flags|=1048576,i)}function l(c){return e&&c.alternate===null&&(c.flags|=2),c}function s(c,i,f,y){return i===null||i.tag!==6?(i=nu(f,c.mode,y),i.return=c,i):(i=o(i,f),i.return=c,i)}function u(c,i,f,y){var C=f.type;return C===Ar?g(c,i,f.props.children,y,f.key):i!==null&&(i.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===ha&&If(C)===i.type)?(y=o(i,f.props),y.ref=Po(c,i,f),y.return=c,y):(y=yl(f.type,f.key,f.props,null,c.mode,y),y.ref=Po(c,i,f),y.return=c,y)}function d(c,i,f,y){return i===null||i.tag!==4||i.stateNode.containerInfo!==f.containerInfo||i.stateNode.implementation!==f.implementation?(i=lu(f,c.mode,y),i.return=c,i):(i=o(i,f.children||[]),i.return=c,i)}function g(c,i,f,y,C){return i===null||i.tag!==7?(i=rr(f,c.mode,y,C),i.return=c,i):(i=o(i,f),i.return=c,i)}function m(c,i,f){if(typeof i=="string"&&i!==""||typeof i=="number")return i=nu(""+i,c.mode,f),i.return=c,i;if(typeof i=="object"&&i!==null){switch(i.$$typeof){case $n:return f=yl(i.type,i.key,i.props,null,c.mode,f),f.ref=Po(c,null,i),f.return=c,f;case Mr:return i=lu(i,c.mode,f),i.return=c,i;case ha:var y=i._init;return m(c,y(i._payload),f)}if(Ao(i)||Co(i))return i=rr(i,c.mode,f,null),i.return=c,i;ll(c,i)}return null}function p(c,i,f,y){var C=i!==null?i.key:null;if(typeof f=="string"&&f!==""||typeof f=="number")return C!==null?null:s(c,i,""+f,y);if(typeof f=="object"&&f!==null){switch(f.$$typeof){case $n:return f.key===C?u(c,i,f,y):null;case Mr:return f.key===C?d(c,i,f,y):null;case ha:return C=f._init,p(c,i,C(f._payload),y)}if(Ao(f)||Co(f))return C!==null?null:g(c,i,f,y,null);ll(c,f)}return null}function v(c,i,f,y,C){if(typeof y=="string"&&y!==""||typeof y=="number")return c=c.get(f)||null,s(i,c,""+y,C);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case $n:return c=c.get(y.key===null?f:y.key)||null,u(i,c,y,C);case Mr:return c=c.get(y.key===null?f:y.key)||null,d(i,c,y,C);case ha:var k=y._init;return v(c,i,f,k(y._payload),C)}if(Ao(y)||Co(y))return c=c.get(f)||null,g(i,c,y,C,null);ll(i,y)}return null}function L(c,i,f,y){for(var C=null,k=null,h=i,w=i=0,b=null;h!==null&&w<f.length;w++){h.index>w?(b=h,h=null):b=h.sibling;var M=p(c,h,f[w],y);if(M===null){h===null&&(h=b);break}e&&h&&M.alternate===null&&t(c,h),i=n(M,i,w),k===null?C=M:k.sibling=M,k=M,h=b}if(w===f.length)return a(c,h),ke&&Ya(c,w),C;if(h===null){for(;w<f.length;w++)h=m(c,f[w],y),h!==null&&(i=n(h,i,w),k===null?C=h:k.sibling=h,k=h);return ke&&Ya(c,w),C}for(h=r(c,h);w<f.length;w++)b=v(h,c,w,f[w],y),b!==null&&(e&&b.alternate!==null&&h.delete(b.key===null?w:b.key),i=n(b,i,w),k===null?C=b:k.sibling=b,k=b);return e&&h.forEach(function(R){return t(c,R)}),ke&&Ya(c,w),C}function S(c,i,f,y){var C=Co(f);if(typeof C!="function")throw Error(T(150));if(f=C.call(f),f==null)throw Error(T(151));for(var k=C=null,h=i,w=i=0,b=null,M=f.next();h!==null&&!M.done;w++,M=f.next()){h.index>w?(b=h,h=null):b=h.sibling;var R=p(c,h,M.value,y);if(R===null){h===null&&(h=b);break}e&&h&&R.alternate===null&&t(c,h),i=n(R,i,w),k===null?C=R:k.sibling=R,k=R,h=b}if(M.done)return a(c,h),ke&&Ya(c,w),C;if(h===null){for(;!M.done;w++,M=f.next())M=m(c,M.value,y),M!==null&&(i=n(M,i,w),k===null?C=M:k.sibling=M,k=M);return ke&&Ya(c,w),C}for(h=r(c,h);!M.done;w++,M=f.next())M=v(h,c,w,M.value,y),M!==null&&(e&&M.alternate!==null&&h.delete(M.key===null?w:M.key),i=n(M,i,w),k===null?C=M:k.sibling=M,k=M);return e&&h.forEach(function(F){return t(c,F)}),ke&&Ya(c,w),C}function z(c,i,f,y){if(typeof f=="object"&&f!==null&&f.type===Ar&&f.key===null&&(f=f.props.children),typeof f=="object"&&f!==null){switch(f.$$typeof){case $n:e:{for(var C=f.key,k=i;k!==null;){if(k.key===C){if(C=f.type,C===Ar){if(k.tag===7){a(c,k.sibling),i=o(k,f.props.children),i.return=c,c=i;break e}}else if(k.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===ha&&If(C)===k.type){a(c,k.sibling),i=o(k,f.props),i.ref=Po(c,k,f),i.return=c,c=i;break e}a(c,k);break}else t(c,k);k=k.sibling}f.type===Ar?(i=rr(f.props.children,c.mode,y,f.key),i.return=c,c=i):(y=yl(f.type,f.key,f.props,null,c.mode,y),y.ref=Po(c,i,f),y.return=c,c=y)}return l(c);case Mr:e:{for(k=f.key;i!==null;){if(i.key===k)if(i.tag===4&&i.stateNode.containerInfo===f.containerInfo&&i.stateNode.implementation===f.implementation){a(c,i.sibling),i=o(i,f.children||[]),i.return=c,c=i;break e}else{a(c,i);break}else t(c,i);i=i.sibling}i=lu(f,c.mode,y),i.return=c,c=i}return l(c);case ha:return k=f._init,z(c,i,k(f._payload),y)}if(Ao(f))return L(c,i,f,y);if(Co(f))return S(c,i,f,y);ll(c,f)}return typeof f=="string"&&f!==""||typeof f=="number"?(f=""+f,i!==null&&i.tag===6?(a(c,i.sibling),i=o(i,f),i.return=c,c=i):(a(c,i),i=nu(f,c.mode,y),i.return=c,c=i),l(c)):a(c,i)}return z}var Zr=Kc(!0),Gc=Kc(!1),El=Ea(null),Fl=null,Hr=null,vi=null;function yi(){vi=Hr=Fl=null}function Li(e){var t=El.current;Se(El),e._currentValue=t}function Ou(e,t,a){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===a)break;e=e.return}}function Gr(e,t){Fl=e,vi=Hr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(at=!0),e.firstContext=null)}function St(e){var t=e._currentValue;if(vi!==e)if(e={context:e,memoizedValue:t,next:null},Hr===null){if(Fl===null)throw Error(T(308));Hr=e,Fl.dependencies={lanes:0,firstContext:e}}else Hr=Hr.next=e;return t}var er=null;function Si(e){er===null?er=[e]:er.push(e)}function jc(e,t,a,r){var o=t.interleaved;return o===null?(a.next=a,Si(t)):(a.next=o.next,o.next=a),t.interleaved=a,sa(e,r)}function sa(e,t){e.lanes|=t;var a=e.alternate;for(a!==null&&(a.lanes|=t),a=e,e=e.return;e!==null;)e.childLanes|=t,a=e.alternate,a!==null&&(a.childLanes|=t),a=e,e=e.return;return a.tag===3?a.stateNode:null}var xa=!1;function Ii(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Xc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function oa(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function ba(e,t,a){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(ue&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,sa(e,a)}return o=r.interleaved,o===null?(t.next=t,Si(r)):(t.next=o.next,o.next=t),r.interleaved=t,sa(e,a)}function pl(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,si(e,a)}}function Cf(e,t){var a=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,a===r)){var o=null,n=null;if(a=a.firstBaseUpdate,a!==null){do{var l={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};n===null?o=n=l:n=n.next=l,a=a.next}while(a!==null);n===null?o=n=t:n=n.next=t}else o=n=t;a={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:n,shared:r.shared,effects:r.effects},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}function Bl(e,t,a,r){var o=e.updateQueue;xa=!1;var n=o.firstBaseUpdate,l=o.lastBaseUpdate,s=o.shared.pending;if(s!==null){o.shared.pending=null;var u=s,d=u.next;u.next=null,l===null?n=d:l.next=d,l=u;var g=e.alternate;g!==null&&(g=g.updateQueue,s=g.lastBaseUpdate,s!==l&&(s===null?g.firstBaseUpdate=d:s.next=d,g.lastBaseUpdate=u))}if(n!==null){var m=o.baseState;l=0,g=d=u=null,s=n;do{var p=s.lane,v=s.eventTime;if((r&p)===p){g!==null&&(g=g.next={eventTime:v,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var L=e,S=s;switch(p=t,v=a,S.tag){case 1:if(L=S.payload,typeof L=="function"){m=L.call(v,m,p);break e}m=L;break e;case 3:L.flags=L.flags&-65537|128;case 0:if(L=S.payload,p=typeof L=="function"?L.call(v,m,p):L,p==null)break e;m=Te({},m,p);break e;case 2:xa=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,p=o.effects,p===null?o.effects=[s]:p.push(s))}else v={eventTime:v,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},g===null?(d=g=v,u=m):g=g.next=v,l|=p;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;p=s,s=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);if(g===null&&(u=m),o.baseState=u,o.firstBaseUpdate=d,o.lastBaseUpdate=g,t=o.shared.interleaved,t!==null){o=t;do l|=o.lane,o=o.next;while(o!==t)}else n===null&&(o.shared.lanes=0);sr|=l,e.lanes=l,e.memoizedState=m}}function wf(e,t,a){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(o!==null){if(r.callback=null,r=a,typeof o!="function")throw Error(T(191,o));o.call(r)}}}var fn={},Gt=Ea(fn),tn=Ea(fn),an=Ea(fn);function tr(e){if(e===fn)throw Error(T(174));return e}function Ci(e,t){switch(ve(an,t),ve(tn,e),ve(Gt,fn),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:hu(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=hu(t,e)}Se(Gt),ve(Gt,t)}function Jr(){Se(Gt),Se(tn),Se(an)}function Qc(e){tr(an.current);var t=tr(Gt.current),a=hu(t,e.type);t!==a&&(ve(tn,e),ve(Gt,a))}function wi(e){tn.current===e&&(Se(Gt),Se(tn))}var be=Ea(0);function Ol(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||a.data==="$?"||a.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Js=[];function ki(){for(var e=0;e<Js.length;e++)Js[e]._workInProgressVersionPrimary=null;Js.length=0}var ml=ia.ReactCurrentDispatcher,eu=ia.ReactCurrentBatchConfig,lr=0,Pe=null,Be=null,ze=null,zl=!1,Ho=!1,rn=0,Hh=0;function Ve(){throw Error(T(321))}function bi(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!zt(e[a],t[a]))return!1;return!0}function Pi(e,t,a,r,o,n){if(lr=n,Pe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ml.current=e===null||e.memoizedState===null?Vh:$h,e=a(r,o),Ho){n=0;do{if(Ho=!1,rn=0,25<=n)throw Error(T(301));n+=1,ze=Be=null,t.updateQueue=null,ml.current=Kh,e=a(r,o)}while(Ho)}if(ml.current=Ul,t=Be!==null&&Be.next!==null,lr=0,ze=Be=Pe=null,zl=!1,t)throw Error(T(300));return e}function Ti(){var e=rn!==0;return rn=0,e}function Vt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ze===null?Pe.memoizedState=ze=e:ze=ze.next=e,ze}function It(){if(Be===null){var e=Pe.alternate;e=e!==null?e.memoizedState:null}else e=Be.next;var t=ze===null?Pe.memoizedState:ze.next;if(t!==null)ze=t,Be=e;else{if(e===null)throw Error(T(310));Be=e,e={memoizedState:Be.memoizedState,baseState:Be.baseState,baseQueue:Be.baseQueue,queue:Be.queue,next:null},ze===null?Pe.memoizedState=ze=e:ze=ze.next=e}return ze}function on(e,t){return typeof t=="function"?t(e):t}function tu(e){var t=It(),a=t.queue;if(a===null)throw Error(T(311));a.lastRenderedReducer=e;var r=Be,o=r.baseQueue,n=a.pending;if(n!==null){if(o!==null){var l=o.next;o.next=n.next,n.next=l}r.baseQueue=o=n,a.pending=null}if(o!==null){n=o.next,r=r.baseState;var s=l=null,u=null,d=n;do{var g=d.lane;if((lr&g)===g)u!==null&&(u=u.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),r=d.hasEagerState?d.eagerState:e(r,d.action);else{var m={lane:g,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};u===null?(s=u=m,l=r):u=u.next=m,Pe.lanes|=g,sr|=g}d=d.next}while(d!==null&&d!==n);u===null?l=r:u.next=s,zt(r,t.memoizedState)||(at=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=u,a.lastRenderedState=r}if(e=a.interleaved,e!==null){o=e;do n=o.lane,Pe.lanes|=n,sr|=n,o=o.next;while(o!==e)}else o===null&&(a.lanes=0);return[t.memoizedState,a.dispatch]}function au(e){var t=It(),a=t.queue;if(a===null)throw Error(T(311));a.lastRenderedReducer=e;var r=a.dispatch,o=a.pending,n=t.memoizedState;if(o!==null){a.pending=null;var l=o=o.next;do n=e(n,l.action),l=l.next;while(l!==o);zt(n,t.memoizedState)||(at=!0),t.memoizedState=n,t.baseQueue===null&&(t.baseState=n),a.lastRenderedState=n}return[n,r]}function Yc(){}function Zc(e,t){var a=Pe,r=It(),o=t(),n=!zt(r.memoizedState,o);if(n&&(r.memoizedState=o,at=!0),r=r.queue,Ri(tp.bind(null,a,r,e),[e]),r.getSnapshot!==t||n||ze!==null&&ze.memoizedState.tag&1){if(a.flags|=2048,nn(9,ep.bind(null,a,r,o,t),void 0,null),Ue===null)throw Error(T(349));(lr&30)!==0||Jc(a,t,o)}return o}function Jc(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=Pe.updateQueue,t===null?(t={lastEffect:null,stores:null},Pe.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function ep(e,t,a,r){t.value=a,t.getSnapshot=r,ap(t)&&rp(e)}function tp(e,t,a){return a(function(){ap(t)&&rp(e)})}function ap(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!zt(e,a)}catch{return!0}}function rp(e){var t=sa(e,1);t!==null&&Ot(t,e,1,-1)}function kf(e){var t=Vt();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:on,lastRenderedState:e},t.queue=e,e=e.dispatch=Wh.bind(null,Pe,e),[t.memoizedState,e]}function nn(e,t,a,r){return e={tag:e,create:t,destroy:a,deps:r,next:null},t=Pe.updateQueue,t===null?(t={lastEffect:null,stores:null},Pe.updateQueue=t,t.lastEffect=e.next=e):(a=t.lastEffect,a===null?t.lastEffect=e.next=e:(r=a.next,a.next=e,e.next=r,t.lastEffect=e)),e}function op(){return It().memoizedState}function gl(e,t,a,r){var o=Vt();Pe.flags|=e,o.memoizedState=nn(1|t,a,void 0,r===void 0?null:r)}function Ql(e,t,a,r){var o=It();r=r===void 0?null:r;var n=void 0;if(Be!==null){var l=Be.memoizedState;if(n=l.destroy,r!==null&&bi(r,l.deps)){o.memoizedState=nn(t,a,n,r);return}}Pe.flags|=e,o.memoizedState=nn(1|t,a,n,r)}function bf(e,t){return gl(8390656,8,e,t)}function Ri(e,t){return Ql(2048,8,e,t)}function np(e,t){return Ql(4,2,e,t)}function lp(e,t){return Ql(4,4,e,t)}function sp(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function up(e,t,a){return a=a!=null?a.concat([e]):null,Ql(4,4,sp.bind(null,t,e),a)}function Di(){}function ip(e,t){var a=It();t=t===void 0?null:t;var r=a.memoizedState;return r!==null&&t!==null&&bi(t,r[1])?r[0]:(a.memoizedState=[e,t],e)}function dp(e,t){var a=It();t=t===void 0?null:t;var r=a.memoizedState;return r!==null&&t!==null&&bi(t,r[1])?r[0]:(e=e(),a.memoizedState=[e,t],e)}function fp(e,t,a){return(lr&21)===0?(e.baseState&&(e.baseState=!1,at=!0),e.memoizedState=a):(zt(a,t)||(a=hc(),Pe.lanes|=a,sr|=a,e.baseState=!0),t)}function _h(e,t){var a=me;me=a!==0&&4>a?a:4,e(!0);var r=eu.transition;eu.transition={};try{e(!1),t()}finally{me=a,eu.transition=r}}function cp(){return It().memoizedState}function qh(e,t,a){var r=Ta(e);if(a={lane:r,action:a,hasEagerState:!1,eagerState:null,next:null},pp(e))mp(t,a);else if(a=jc(e,t,a,r),a!==null){var o=Ze();Ot(a,e,r,o),gp(a,t,r)}}function Wh(e,t,a){var r=Ta(e),o={lane:r,action:a,hasEagerState:!1,eagerState:null,next:null};if(pp(e))mp(t,o);else{var n=e.alternate;if(e.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var l=t.lastRenderedState,s=n(l,a);if(o.hasEagerState=!0,o.eagerState=s,zt(s,l)){var u=t.interleaved;u===null?(o.next=o,Si(t)):(o.next=u.next,u.next=o),t.interleaved=o;return}}catch{}finally{}a=jc(e,t,o,r),a!==null&&(o=Ze(),Ot(a,e,r,o),gp(a,t,r))}}function pp(e){var t=e.alternate;return e===Pe||t!==null&&t===Pe}function mp(e,t){Ho=zl=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function gp(e,t,a){if((a&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,si(e,a)}}var Ul={readContext:St,useCallback:Ve,useContext:Ve,useEffect:Ve,useImperativeHandle:Ve,useInsertionEffect:Ve,useLayoutEffect:Ve,useMemo:Ve,useReducer:Ve,useRef:Ve,useState:Ve,useDebugValue:Ve,useDeferredValue:Ve,useTransition:Ve,useMutableSource:Ve,useSyncExternalStore:Ve,useId:Ve,unstable_isNewReconciler:!1},Vh={readContext:St,useCallback:function(e,t){return Vt().memoizedState=[e,t===void 0?null:t],e},useContext:St,useEffect:bf,useImperativeHandle:function(e,t,a){return a=a!=null?a.concat([e]):null,gl(4194308,4,sp.bind(null,t,e),a)},useLayoutEffect:function(e,t){return gl(4194308,4,e,t)},useInsertionEffect:function(e,t){return gl(4,2,e,t)},useMemo:function(e,t){var a=Vt();return t=t===void 0?null:t,e=e(),a.memoizedState=[e,t],e},useReducer:function(e,t,a){var r=Vt();return t=a!==void 0?a(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=qh.bind(null,Pe,e),[r.memoizedState,e]},useRef:function(e){var t=Vt();return e={current:e},t.memoizedState=e},useState:kf,useDebugValue:Di,useDeferredValue:function(e){return Vt().memoizedState=e},useTransition:function(){var e=kf(!1),t=e[0];return e=_h.bind(null,e[1]),Vt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,a){var r=Pe,o=Vt();if(ke){if(a===void 0)throw Error(T(407));a=a()}else{if(a=t(),Ue===null)throw Error(T(349));(lr&30)!==0||Jc(r,t,a)}o.memoizedState=a;var n={value:a,getSnapshot:t};return o.queue=n,bf(tp.bind(null,r,n,e),[e]),r.flags|=2048,nn(9,ep.bind(null,r,n,a,t),void 0,null),a},useId:function(){var e=Vt(),t=Ue.identifierPrefix;if(ke){var a=ra,r=aa;a=(r&~(1<<32-Bt(r)-1)).toString(32)+a,t=":"+t+"R"+a,a=rn++,0<a&&(t+="H"+a.toString(32)),t+=":"}else a=Hh++,t=":"+t+"r"+a.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},$h={readContext:St,useCallback:ip,useContext:St,useEffect:Ri,useImperativeHandle:up,useInsertionEffect:np,useLayoutEffect:lp,useMemo:dp,useReducer:tu,useRef:op,useState:function(){return tu(on)},useDebugValue:Di,useDeferredValue:function(e){var t=It();return fp(t,Be.memoizedState,e)},useTransition:function(){var e=tu(on)[0],t=It().memoizedState;return[e,t]},useMutableSource:Yc,useSyncExternalStore:Zc,useId:cp,unstable_isNewReconciler:!1},Kh={readContext:St,useCallback:ip,useContext:St,useEffect:Ri,useImperativeHandle:up,useInsertionEffect:np,useLayoutEffect:lp,useMemo:dp,useReducer:au,useRef:op,useState:function(){return au(on)},useDebugValue:Di,useDeferredValue:function(e){var t=It();return Be===null?t.memoizedState=e:fp(t,Be.memoizedState,e)},useTransition:function(){var e=au(on)[0],t=It().memoizedState;return[e,t]},useMutableSource:Yc,useSyncExternalStore:Zc,useId:cp,unstable_isNewReconciler:!1};function At(e,t){if(e&&e.defaultProps){t=Te({},t),e=e.defaultProps;for(var a in e)t[a]===void 0&&(t[a]=e[a]);return t}return t}function zu(e,t,a,r){t=e.memoizedState,a=a(r,t),a=a==null?t:Te({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var Yl={isMounted:function(e){return(e=e._reactInternals)?dr(e)===e:!1},enqueueSetState:function(e,t,a){e=e._reactInternals;var r=Ze(),o=Ta(e),n=oa(r,o);n.payload=t,a!=null&&(n.callback=a),t=ba(e,n,o),t!==null&&(Ot(t,e,o,r),pl(t,e,o))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var r=Ze(),o=Ta(e),n=oa(r,o);n.tag=1,n.payload=t,a!=null&&(n.callback=a),t=ba(e,n,o),t!==null&&(Ot(t,e,o,r),pl(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Ze(),r=Ta(e),o=oa(a,r);o.tag=2,t!=null&&(o.callback=t),t=ba(e,o,r),t!==null&&(Ot(t,e,r,a),pl(t,e,r))}};function Pf(e,t,a,r,o,n,l){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,n,l):t.prototype&&t.prototype.isPureReactComponent?!Yo(a,r)||!Yo(o,n):!0}function hp(e,t,a){var r=!1,o=Ma,n=t.contextType;return typeof n=="object"&&n!==null?n=St(n):(o=ot(t)?or:Ge.current,r=t.contextTypes,n=(r=r!=null)?Qr(e,o):Ma),t=new t(a,n),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Yl,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=n),t}function Tf(e,t,a,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,r),t.state!==e&&Yl.enqueueReplaceState(t,t.state,null)}function Uu(e,t,a,r){var o=e.stateNode;o.props=a,o.state=e.memoizedState,o.refs={},Ii(e);var n=t.contextType;typeof n=="object"&&n!==null?o.context=St(n):(n=ot(t)?or:Ge.current,o.context=Qr(e,n)),o.state=e.memoizedState,n=t.getDerivedStateFromProps,typeof n=="function"&&(zu(e,t,n,a),o.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(t=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),t!==o.state&&Yl.enqueueReplaceState(o,o.state,null),Bl(e,a,o,r),o.state=e.memoizedState),typeof o.componentDidMount=="function"&&(e.flags|=4194308)}function eo(e,t){try{var a="",r=t;do a+=Ig(r),r=r.return;while(r);var o=a}catch(n){o=`\nError generating stack: `+n.message+`\n`+n.stack}return{value:e,source:t,stack:o,digest:null}}function ru(e,t,a){return{value:e,source:null,stack:a??null,digest:t??null}}function Nu(e,t){try{console.error(t.value)}catch(a){setTimeout(function(){throw a})}}var Gh=typeof WeakMap=="function"?WeakMap:Map;function xp(e,t,a){a=oa(-1,a),a.tag=3,a.payload={element:null};var r=t.value;return a.callback=function(){Hl||(Hl=!0,Xu=r),Nu(e,t)},a}function vp(e,t,a){a=oa(-1,a),a.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var o=t.value;a.payload=function(){return r(o)},a.callback=function(){Nu(e,t)}}var n=e.stateNode;return n!==null&&typeof n.componentDidCatch=="function"&&(a.callback=function(){Nu(e,t),typeof r!="function"&&(Pa===null?Pa=new Set([this]):Pa.add(this));var l=t.stack;this.componentDidCatch(t.value,{componentStack:l!==null?l:""})}),a}function Rf(e,t,a){var r=e.pingCache;if(r===null){r=e.pingCache=new Gh;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(a)||(o.add(a),e=sx.bind(null,e,t,a),t.then(e,e))}function Df(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Mf(e,t,a,r,o){return(e.mode&1)===0?(e===t?e.flags|=65536:(e.flags|=128,a.flags|=131072,a.flags&=-52805,a.tag===1&&(a.alternate===null?a.tag=17:(t=oa(-1,1),t.tag=2,ba(a,t,1))),a.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var jh=ia.ReactCurrentOwner,at=!1;function Ye(e,t,a,r){t.child=e===null?Gc(t,null,a,r):Zr(t,e.child,a,r)}function Af(e,t,a,r,o){a=a.render;var n=t.ref;return Gr(t,o),r=Pi(e,t,a,r,n,o),a=Ti(),e!==null&&!at?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,ua(e,t,o)):(ke&&a&&gi(t),t.flags|=1,Ye(e,t,r,o),t.child)}function Ef(e,t,a,r,o){if(e===null){var n=a.type;return typeof n=="function"&&!Ui(n)&&n.defaultProps===void 0&&a.compare===null&&a.defaultProps===void 0?(t.tag=15,t.type=n,yp(e,t,n,r,o)):(e=yl(a.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(n=e.child,(e.lanes&o)===0){var l=n.memoizedProps;if(a=a.compare,a=a!==null?a:Yo,a(l,r)&&e.ref===t.ref)return ua(e,t,o)}return t.flags|=1,e=Ra(n,r),e.ref=t.ref,e.return=t,t.child=e}function yp(e,t,a,r,o){if(e!==null){var n=e.memoizedProps;if(Yo(n,r)&&e.ref===t.ref)if(at=!1,t.pendingProps=r=n,(e.lanes&o)!==0)(e.flags&131072)!==0&&(at=!0);else return t.lanes=e.lanes,ua(e,t,o)}return Hu(e,t,a,r,o)}function Lp(e,t,a){var r=t.pendingProps,o=r.children,n=e!==null?e.memoizedState:null;if(r.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ve(qr,it),it|=a;else{if((a&1073741824)===0)return e=n!==null?n.baseLanes|a:a,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ve(qr,it),it|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=n!==null?n.baseLanes:a,ve(qr,it),it|=r}else n!==null?(r=n.baseLanes|a,t.memoizedState=null):r=a,ve(qr,it),it|=r;return Ye(e,t,o,a),t.child}function Sp(e,t){var a=t.ref;(e===null&&a!==null||e!==null&&e.ref!==a)&&(t.flags|=512,t.flags|=2097152)}function Hu(e,t,a,r,o){var n=ot(a)?or:Ge.current;return n=Qr(t,n),Gr(t,o),a=Pi(e,t,a,r,n,o),r=Ti(),e!==null&&!at?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,ua(e,t,o)):(ke&&r&&gi(t),t.flags|=1,Ye(e,t,a,o),t.child)}function Ff(e,t,a,r,o){if(ot(a)){var n=!0;Dl(t)}else n=!1;if(Gr(t,o),t.stateNode===null)hl(e,t),hp(t,a,r),Uu(t,a,r,o),r=!0;else if(e===null){var l=t.stateNode,s=t.memoizedProps;l.props=s;var u=l.context,d=a.contextType;typeof d=="object"&&d!==null?d=St(d):(d=ot(a)?or:Ge.current,d=Qr(t,d));var g=a.getDerivedStateFromProps,m=typeof g=="function"||typeof l.getSnapshotBeforeUpdate=="function";m||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==r||u!==d)&&Tf(t,l,r,d),xa=!1;var p=t.memoizedState;l.state=p,Bl(t,r,l,o),u=t.memoizedState,s!==r||p!==u||rt.current||xa?(typeof g=="function"&&(zu(t,a,g,r),u=t.memoizedState),(s=xa||Pf(t,a,s,r,p,u,d))?(m||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount()),typeof l.componentDidMount=="function"&&(t.flags|=4194308)):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=u),l.props=r,l.state=u,l.context=d,r=s):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{l=t.stateNode,Xc(e,t),s=t.memoizedProps,d=t.type===t.elementType?s:At(t.type,s),l.props=d,m=t.pendingProps,p=l.context,u=a.contextType,typeof u=="object"&&u!==null?u=St(u):(u=ot(a)?or:Ge.current,u=Qr(t,u));var v=a.getDerivedStateFromProps;(g=typeof v=="function"||typeof l.getSnapshotBeforeUpdate=="function")||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==m||p!==u)&&Tf(t,l,r,u),xa=!1,p=t.memoizedState,l.state=p,Bl(t,r,l,o);var L=t.memoizedState;s!==m||p!==L||rt.current||xa?(typeof v=="function"&&(zu(t,a,v,r),L=t.memoizedState),(d=xa||Pf(t,a,d,r,p,L,u)||!1)?(g||typeof l.UNSAFE_componentWillUpdate!="function"&&typeof l.componentWillUpdate!="function"||(typeof l.componentWillUpdate=="function"&&l.componentWillUpdate(r,L,u),typeof l.UNSAFE_componentWillUpdate=="function"&&l.UNSAFE_componentWillUpdate(r,L,u)),typeof l.componentDidUpdate=="function"&&(t.flags|=4),typeof l.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=L),l.props=r,l.state=L,l.context=u,r=d):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return _u(e,t,a,r,n,o)}function _u(e,t,a,r,o,n){Sp(e,t);var l=(t.flags&128)!==0;if(!r&&!l)return o&&yf(t,a,!1),ua(e,t,n);r=t.stateNode,jh.current=t;var s=l&&typeof a.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&l?(t.child=Zr(t,e.child,null,n),t.child=Zr(t,null,s,n)):Ye(e,t,s,n),t.memoizedState=r.state,o&&yf(t,a,!0),t.child}function Ip(e){var t=e.stateNode;t.pendingContext?vf(e,t.pendingContext,t.pendingContext!==t.context):t.context&&vf(e,t.context,!1),Ci(e,t.containerInfo)}function Bf(e,t,a,r,o){return Yr(),xi(o),t.flags|=256,Ye(e,t,a,r),t.child}var qu={dehydrated:null,treeContext:null,retryLane:0};function Wu(e){return{baseLanes:e,cachePool:null,transitions:null}}function Cp(e,t,a){var r=t.pendingProps,o=be.current,n=!1,l=(t.flags&128)!==0,s;if((s=l)||(s=e!==null&&e.memoizedState===null?!1:(o&2)!==0),s?(n=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(o|=1),ve(be,o&1),e===null)return Bu(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((t.mode&1)===0?t.lanes=1:e.data==="$!"?t.lanes=8:t.lanes=1073741824,null):(l=r.children,e=r.fallback,n?(r=t.mode,n=t.child,l={mode:"hidden",children:l},(r&1)===0&&n!==null?(n.childLanes=0,n.pendingProps=l):n=es(l,r,0,null),e=rr(e,r,a,null),n.return=t,e.return=t,n.sibling=e,t.child=n,t.child.memoizedState=Wu(a),t.memoizedState=qu,e):Mi(t,l));if(o=e.memoizedState,o!==null&&(s=o.dehydrated,s!==null))return Xh(e,t,l,r,s,o,a);if(n){n=r.fallback,l=t.mode,o=e.child,s=o.sibling;var u={mode:"hidden",children:r.children};return(l&1)===0&&t.child!==o?(r=t.child,r.childLanes=0,r.pendingProps=u,t.deletions=null):(r=Ra(o,u),r.subtreeFlags=o.subtreeFlags&14680064),s!==null?n=Ra(s,n):(n=rr(n,l,a,null),n.flags|=2),n.return=t,r.return=t,r.sibling=n,t.child=r,r=n,n=t.child,l=e.child.memoizedState,l=l===null?Wu(a):{baseLanes:l.baseLanes|a,cachePool:null,transitions:l.transitions},n.memoizedState=l,n.childLanes=e.childLanes&~a,t.memoizedState=qu,r}return n=e.child,e=n.sibling,r=Ra(n,{mode:"visible",children:r.children}),(t.mode&1)===0&&(r.lanes=a),r.return=t,r.sibling=null,e!==null&&(a=t.deletions,a===null?(t.deletions=[e],t.flags|=16):a.push(e)),t.child=r,t.memoizedState=null,r}function Mi(e,t){return t=es({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function sl(e,t,a,r){return r!==null&&xi(r),Zr(t,e.child,null,a),e=Mi(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Xh(e,t,a,r,o,n,l){if(a)return t.flags&256?(t.flags&=-257,r=ru(Error(T(422))),sl(e,t,l,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(n=r.fallback,o=t.mode,r=es({mode:"visible",children:r.children},o,0,null),n=rr(n,o,l,null),n.flags|=2,r.return=t,n.return=t,r.sibling=n,t.child=r,(t.mode&1)!==0&&Zr(t,e.child,null,l),t.child.memoizedState=Wu(l),t.memoizedState=qu,n);if((t.mode&1)===0)return sl(e,t,l,null);if(o.data==="$!"){if(r=o.nextSibling&&o.nextSibling.dataset,r)var s=r.dgst;return r=s,n=Error(T(419)),r=ru(n,r,void 0),sl(e,t,l,r)}if(s=(l&e.childLanes)!==0,at||s){if(r=Ue,r!==null){switch(l&-l){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=(o&(r.suspendedLanes|l))!==0?0:o,o!==0&&o!==n.retryLane&&(n.retryLane=o,sa(e,o),Ot(r,e,o,-1))}return zi(),r=ru(Error(T(421))),sl(e,t,l,r)}return o.data==="$?"?(t.flags|=128,t.child=e.child,t=ux.bind(null,e),o._reactRetry=t,null):(e=n.treeContext,dt=ka(o.nextSibling),ft=t,ke=!0,Ft=null,e!==null&&(xt[vt++]=aa,xt[vt++]=ra,xt[vt++]=nr,aa=e.id,ra=e.overflow,nr=t),t=Mi(t,r.children),t.flags|=4096,t)}function Of(e,t,a){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ou(e.return,t,a)}function ou(e,t,a,r,o){var n=e.memoizedState;n===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:a,tailMode:o}:(n.isBackwards=t,n.rendering=null,n.renderingStartTime=0,n.last=r,n.tail=a,n.tailMode=o)}function wp(e,t,a){var r=t.pendingProps,o=r.revealOrder,n=r.tail;if(Ye(e,t,r.children,a),r=be.current,(r&2)!==0)r=r&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Of(e,a,t);else if(e.tag===19)Of(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ve(be,r),(t.mode&1)===0)t.memoizedState=null;else switch(o){case"forwards":for(a=t.child,o=null;a!==null;)e=a.alternate,e!==null&&Ol(e)===null&&(o=a),a=a.sibling;a=o,a===null?(o=t.child,t.child=null):(o=a.sibling,a.sibling=null),ou(t,!1,o,a,n);break;case"backwards":for(a=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&Ol(e)===null){t.child=o;break}e=o.sibling,o.sibling=a,a=o,o=e}ou(t,!0,a,null,n);break;case"together":ou(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function hl(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function ua(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),sr|=t.lanes,(a&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(T(153));if(t.child!==null){for(e=t.child,a=Ra(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=Ra(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function Qh(e,t,a){switch(t.tag){case 3:Ip(t),Yr();break;case 5:Qc(t);break;case 1:ot(t.type)&&Dl(t);break;case 4:Ci(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;ve(El,r._currentValue),r._currentValue=o;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(ve(be,be.current&1),t.flags|=128,null):(a&t.child.childLanes)!==0?Cp(e,t,a):(ve(be,be.current&1),e=ua(e,t,a),e!==null?e.sibling:null);ve(be,be.current&1);break;case 19:if(r=(a&t.childLanes)!==0,(e.flags&128)!==0){if(r)return wp(e,t,a);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),ve(be,be.current),r)break;return null;case 22:case 23:return t.lanes=0,Lp(e,t,a)}return ua(e,t,a)}var kp,Vu,bp,Pp;kp=function(e,t){for(var a=t.child;a!==null;){if(a.tag===5||a.tag===6)e.appendChild(a.stateNode);else if(a.tag!==4&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return;a=a.return}a.sibling.return=a.return,a=a.sibling}};Vu=function(){};bp=function(e,t,a,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,tr(Gt.current);var n=null;switch(a){case"input":o=cu(e,o),r=cu(e,r),n=[];break;case"select":o=Te({},o,{value:void 0}),r=Te({},r,{value:void 0}),n=[];break;case"textarea":o=gu(e,o),r=gu(e,r),n=[];break;default:typeof o.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Tl)}xu(a,r);var l;a=null;for(d in o)if(!r.hasOwnProperty(d)&&o.hasOwnProperty(d)&&o[d]!=null)if(d==="style"){var s=o[d];for(l in s)s.hasOwnProperty(l)&&(a||(a={}),a[l]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(Vo.hasOwnProperty(d)?n||(n=[]):(n=n||[]).push(d,null));for(d in r){var u=r[d];if(s=o!=null?o[d]:void 0,r.hasOwnProperty(d)&&u!==s&&(u!=null||s!=null))if(d==="style")if(s){for(l in s)!s.hasOwnProperty(l)||u&&u.hasOwnProperty(l)||(a||(a={}),a[l]="");for(l in u)u.hasOwnProperty(l)&&s[l]!==u[l]&&(a||(a={}),a[l]=u[l])}else a||(n||(n=[]),n.push(d,a)),a=u;else d==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,s=s?s.__html:void 0,u!=null&&s!==u&&(n=n||[]).push(d,u)):d==="children"?typeof u!="string"&&typeof u!="number"||(n=n||[]).push(d,""+u):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(Vo.hasOwnProperty(d)?(u!=null&&d==="onScroll"&&Le("scroll",e),n||s===u||(n=[])):(n=n||[]).push(d,u))}a&&(n=n||[]).push("style",a);var d=n;(t.updateQueue=d)&&(t.flags|=4)}};Pp=function(e,t,a,r){a!==r&&(t.flags|=4)};function To(e,t){if(!ke)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var r=null;a!==null;)a.alternate!==null&&(r=a),a=a.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function $e(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,r=0;if(t)for(var o=e.child;o!==null;)a|=o.lanes|o.childLanes,r|=o.subtreeFlags&14680064,r|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)a|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=a,t}function Yh(e,t,a){var r=t.pendingProps;switch(hi(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return $e(t),null;case 1:return ot(t.type)&&Rl(),$e(t),null;case 3:return r=t.stateNode,Jr(),Se(rt),Se(Ge),ki(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(nl(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Ft!==null&&(Zu(Ft),Ft=null))),Vu(e,t),$e(t),null;case 5:wi(t);var o=tr(an.current);if(a=t.type,e!==null&&t.stateNode!=null)bp(e,t,a,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(T(166));return $e(t),null}if(e=tr(Gt.current),nl(t)){r=t.stateNode,a=t.type;var n=t.memoizedProps;switch(r[$t]=t,r[en]=n,e=(t.mode&1)!==0,a){case"dialog":Le("cancel",r),Le("close",r);break;case"iframe":case"object":case"embed":Le("load",r);break;case"video":case"audio":for(o=0;o<Fo.length;o++)Le(Fo[o],r);break;case"source":Le("error",r);break;case"img":case"image":case"link":Le("error",r),Le("load",r);break;case"details":Le("toggle",r);break;case"input":Wd(r,n),Le("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!n.multiple},Le("invalid",r);break;case"textarea":$d(r,n),Le("invalid",r)}xu(a,n),o=null;for(var l in n)if(n.hasOwnProperty(l)){var s=n[l];l==="children"?typeof s=="string"?r.textContent!==s&&(n.suppressHydrationWarning!==!0&&ol(r.textContent,s,e),o=["children",s]):typeof s=="number"&&r.textContent!==""+s&&(n.suppressHydrationWarning!==!0&&ol(r.textContent,s,e),o=["children",""+s]):Vo.hasOwnProperty(l)&&s!=null&&l==="onScroll"&&Le("scroll",r)}switch(a){case"input":Kn(r),Vd(r,n,!0);break;case"textarea":Kn(r),Kd(r);break;case"select":case"option":break;default:typeof n.onClick=="function"&&(r.onclick=Tl)}r=o,t.updateQueue=r,r!==null&&(t.flags|=4)}else{l=o.nodeType===9?o:o.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=tc(a)),e==="http://www.w3.org/1999/xhtml"?a==="script"?(e=l.createElement("div"),e.innerHTML="<script><\\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=l.createElement(a,{is:r.is}):(e=l.createElement(a),a==="select"&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,a),e[$t]=t,e[en]=r,kp(e,t,!1,!1),t.stateNode=e;e:{switch(l=vu(a,r),a){case"dialog":Le("cancel",e),Le("close",e),o=r;break;case"iframe":case"object":case"embed":Le("load",e),o=r;break;case"video":case"audio":for(o=0;o<Fo.length;o++)Le(Fo[o],e);o=r;break;case"source":Le("error",e),o=r;break;case"img":case"image":case"link":Le("error",e),Le("load",e),o=r;break;case"details":Le("toggle",e),o=r;break;case"input":Wd(e,r),o=cu(e,r),Le("invalid",e);break;case"option":o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=Te({},r,{value:void 0}),Le("invalid",e);break;case"textarea":$d(e,r),o=gu(e,r),Le("invalid",e);break;default:o=r}xu(a,o),s=o;for(n in s)if(s.hasOwnProperty(n)){var u=s[n];n==="style"?oc(e,u):n==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,u!=null&&ac(e,u)):n==="children"?typeof u=="string"?(a!=="textarea"||u!=="")&&$o(e,u):typeof u=="number"&&$o(e,""+u):n!=="suppressContentEditableWarning"&&n!=="suppressHydrationWarning"&&n!=="autoFocus"&&(Vo.hasOwnProperty(n)?u!=null&&n==="onScroll"&&Le("scroll",e):u!=null&&ti(e,n,u,l))}switch(a){case"input":Kn(e),Vd(e,r,!1);break;case"textarea":Kn(e),Kd(e);break;case"option":r.value!=null&&e.setAttribute("value",""+Da(r.value));break;case"select":e.multiple=!!r.multiple,n=r.value,n!=null?Wr(e,!!r.multiple,n,!1):r.defaultValue!=null&&Wr(e,!!r.multiple,r.defaultValue,!0);break;default:typeof o.onClick=="function"&&(e.onclick=Tl)}switch(a){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return $e(t),null;case 6:if(e&&t.stateNode!=null)Pp(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(T(166));if(a=tr(an.current),tr(Gt.current),nl(t)){if(r=t.stateNode,a=t.memoizedProps,r[$t]=t,(n=r.nodeValue!==a)&&(e=ft,e!==null))switch(e.tag){case 3:ol(r.nodeValue,a,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&ol(r.nodeValue,a,(e.mode&1)!==0)}n&&(t.flags|=4)}else r=(a.nodeType===9?a:a.ownerDocument).createTextNode(r),r[$t]=t,t.stateNode=r}return $e(t),null;case 13:if(Se(be),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(ke&&dt!==null&&(t.mode&1)!==0&&(t.flags&128)===0)$c(),Yr(),t.flags|=98560,n=!1;else if(n=nl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!n)throw Error(T(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(T(317));n[$t]=t}else Yr(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$e(t),n=!1}else Ft!==null&&(Zu(Ft),Ft=null),n=!0;if(!n)return t.flags&65536?t:null}return(t.flags&128)!==0?(t.lanes=a,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,(t.mode&1)!==0&&(e===null||(be.current&1)!==0?Oe===0&&(Oe=3):zi())),t.updateQueue!==null&&(t.flags|=4),$e(t),null);case 4:return Jr(),Vu(e,t),e===null&&Zo(t.stateNode.containerInfo),$e(t),null;case 10:return Li(t.type._context),$e(t),null;case 17:return ot(t.type)&&Rl(),$e(t),null;case 19:if(Se(be),n=t.memoizedState,n===null)return $e(t),null;if(r=(t.flags&128)!==0,l=n.rendering,l===null)if(r)To(n,!1);else{if(Oe!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(l=Ol(e),l!==null){for(t.flags|=128,To(n,!1),r=l.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=a,a=t.child;a!==null;)n=a,e=r,n.flags&=14680066,l=n.alternate,l===null?(n.childLanes=0,n.lanes=e,n.child=null,n.subtreeFlags=0,n.memoizedProps=null,n.memoizedState=null,n.updateQueue=null,n.dependencies=null,n.stateNode=null):(n.childLanes=l.childLanes,n.lanes=l.lanes,n.child=l.child,n.subtreeFlags=0,n.deletions=null,n.memoizedProps=l.memoizedProps,n.memoizedState=l.memoizedState,n.updateQueue=l.updateQueue,n.type=l.type,e=l.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),a=a.sibling;return ve(be,be.current&1|2),t.child}e=e.sibling}n.tail!==null&&De()>to&&(t.flags|=128,r=!0,To(n,!1),t.lanes=4194304)}else{if(!r)if(e=Ol(l),e!==null){if(t.flags|=128,r=!0,a=e.updateQueue,a!==null&&(t.updateQueue=a,t.flags|=4),To(n,!0),n.tail===null&&n.tailMode==="hidden"&&!l.alternate&&!ke)return $e(t),null}else 2*De()-n.renderingStartTime>to&&a!==1073741824&&(t.flags|=128,r=!0,To(n,!1),t.lanes=4194304);n.isBackwards?(l.sibling=t.child,t.child=l):(a=n.last,a!==null?a.sibling=l:t.child=l,n.last=l)}return n.tail!==null?(t=n.tail,n.rendering=t,n.tail=t.sibling,n.renderingStartTime=De(),t.sibling=null,a=be.current,ve(be,r?a&1|2:a&1),t):($e(t),null);case 22:case 23:return Oi(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(it&1073741824)!==0&&($e(t),t.subtreeFlags&6&&(t.flags|=8192)):$e(t),null;case 24:return null;case 25:return null}throw Error(T(156,t.tag))}function Zh(e,t){switch(hi(t),t.tag){case 1:return ot(t.type)&&Rl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Jr(),Se(rt),Se(Ge),ki(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return wi(t),null;case 13:if(Se(be),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(T(340));Yr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Se(be),null;case 4:return Jr(),null;case 10:return Li(t.type._context),null;case 22:case 23:return Oi(),null;case 24:return null;default:return null}}var ul=!1,Ke=!1,Jh=typeof WeakSet=="function"?WeakSet:Set,U=null;function _r(e,t){var a=e.ref;if(a!==null)if(typeof a=="function")try{a(null)}catch(r){Re(e,t,r)}else a.current=null}function $u(e,t,a){try{a()}catch(r){Re(e,t,r)}}var zf=!1;function ex(e,t){if(Tu=kl,e=Ac(),mi(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var r=a.getSelection&&a.getSelection();if(r&&r.rangeCount!==0){a=r.anchorNode;var o=r.anchorOffset,n=r.focusNode;r=r.focusOffset;try{a.nodeType,n.nodeType}catch{a=null;break e}var l=0,s=-1,u=-1,d=0,g=0,m=e,p=null;t:for(;;){for(var v;m!==a||o!==0&&m.nodeType!==3||(s=l+o),m!==n||r!==0&&m.nodeType!==3||(u=l+r),m.nodeType===3&&(l+=m.nodeValue.length),(v=m.firstChild)!==null;)p=m,m=v;for(;;){if(m===e)break t;if(p===a&&++d===o&&(s=l),p===n&&++g===r&&(u=l),(v=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=v}a=s===-1||u===-1?null:{start:s,end:u}}else a=null}a=a||{start:0,end:0}}else a=null;for(Ru={focusedElem:e,selectionRange:a},kl=!1,U=t;U!==null;)if(t=U,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,U=e;else for(;U!==null;){t=U;try{var L=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(L!==null){var S=L.memoizedProps,z=L.memoizedState,c=t.stateNode,i=c.getSnapshotBeforeUpdate(t.elementType===t.type?S:At(t.type,S),z);c.__reactInternalSnapshotBeforeUpdate=i}break;case 3:var f=t.stateNode.containerInfo;f.nodeType===1?f.textContent="":f.nodeType===9&&f.documentElement&&f.removeChild(f.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(T(163))}}catch(y){Re(t,t.return,y)}if(e=t.sibling,e!==null){e.return=t.return,U=e;break}U=t.return}return L=zf,zf=!1,L}function _o(e,t,a){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var n=o.destroy;o.destroy=void 0,n!==void 0&&$u(t,a,n)}o=o.next}while(o!==r)}}function Zl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var a=t=t.next;do{if((a.tag&e)===e){var r=a.create;a.destroy=r()}a=a.next}while(a!==t)}}function Ku(e){var t=e.ref;if(t!==null){var a=e.stateNode;switch(e.tag){case 5:e=a;break;default:e=a}typeof t=="function"?t(e):t.current=e}}function Tp(e){var t=e.alternate;t!==null&&(e.alternate=null,Tp(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[$t],delete t[en],delete t[Au],delete t[Oh],delete t[zh])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Rp(e){return e.tag===5||e.tag===3||e.tag===4}function Uf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Rp(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Gu(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.nodeType===8?a.parentNode.insertBefore(e,t):a.insertBefore(e,t):(a.nodeType===8?(t=a.parentNode,t.insertBefore(e,a)):(t=a,t.appendChild(e)),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=Tl));else if(r!==4&&(e=e.child,e!==null))for(Gu(e,t,a),e=e.sibling;e!==null;)Gu(e,t,a),e=e.sibling}function ju(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(ju(e,t,a),e=e.sibling;e!==null;)ju(e,t,a),e=e.sibling}var He=null,Et=!1;function ga(e,t,a){for(a=a.child;a!==null;)Dp(e,t,a),a=a.sibling}function Dp(e,t,a){if(Kt&&typeof Kt.onCommitFiberUnmount=="function")try{Kt.onCommitFiberUnmount(Vl,a)}catch{}switch(a.tag){case 5:Ke||_r(a,t);case 6:var r=He,o=Et;He=null,ga(e,t,a),He=r,Et=o,He!==null&&(Et?(e=He,a=a.stateNode,e.nodeType===8?e.parentNode.removeChild(a):e.removeChild(a)):He.removeChild(a.stateNode));break;case 18:He!==null&&(Et?(e=He,a=a.stateNode,e.nodeType===8?Ys(e.parentNode,a):e.nodeType===1&&Ys(e,a),Xo(e)):Ys(He,a.stateNode));break;case 4:r=He,o=Et,He=a.stateNode.containerInfo,Et=!0,ga(e,t,a),He=r,Et=o;break;case 0:case 11:case 14:case 15:if(!Ke&&(r=a.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var n=o,l=n.destroy;n=n.tag,l!==void 0&&((n&2)!==0||(n&4)!==0)&&$u(a,t,l),o=o.next}while(o!==r)}ga(e,t,a);break;case 1:if(!Ke&&(_r(a,t),r=a.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=a.memoizedProps,r.state=a.memoizedState,r.componentWillUnmount()}catch(s){Re(a,t,s)}ga(e,t,a);break;case 21:ga(e,t,a);break;case 22:a.mode&1?(Ke=(r=Ke)||a.memoizedState!==null,ga(e,t,a),Ke=r):ga(e,t,a);break;default:ga(e,t,a)}}function Nf(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var a=e.stateNode;a===null&&(a=e.stateNode=new Jh),t.forEach(function(r){var o=ix.bind(null,e,r);a.has(r)||(a.add(r),r.then(o,o))})}}function Mt(e,t){var a=t.deletions;if(a!==null)for(var r=0;r<a.length;r++){var o=a[r];try{var n=e,l=t,s=l;e:for(;s!==null;){switch(s.tag){case 5:He=s.stateNode,Et=!1;break e;case 3:He=s.stateNode.containerInfo,Et=!0;break e;case 4:He=s.stateNode.containerInfo,Et=!0;break e}s=s.return}if(He===null)throw Error(T(160));Dp(n,l,o),He=null,Et=!1;var u=o.alternate;u!==null&&(u.return=null),o.return=null}catch(d){Re(o,t,d)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Mp(t,e),t=t.sibling}function Mp(e,t){var a=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Mt(t,e),Wt(e),r&4){try{_o(3,e,e.return),Zl(3,e)}catch(S){Re(e,e.return,S)}try{_o(5,e,e.return)}catch(S){Re(e,e.return,S)}}break;case 1:Mt(t,e),Wt(e),r&512&&a!==null&&_r(a,a.return);break;case 5:if(Mt(t,e),Wt(e),r&512&&a!==null&&_r(a,a.return),e.flags&32){var o=e.stateNode;try{$o(o,"")}catch(S){Re(e,e.return,S)}}if(r&4&&(o=e.stateNode,o!=null)){var n=e.memoizedProps,l=a!==null?a.memoizedProps:n,s=e.type,u=e.updateQueue;if(e.updateQueue=null,u!==null)try{s==="input"&&n.type==="radio"&&n.name!=null&&Jf(o,n),vu(s,l);var d=vu(s,n);for(l=0;l<u.length;l+=2){var g=u[l],m=u[l+1];g==="style"?oc(o,m):g==="dangerouslySetInnerHTML"?ac(o,m):g==="children"?$o(o,m):ti(o,g,m,d)}switch(s){case"input":pu(o,n);break;case"textarea":ec(o,n);break;case"select":var p=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!n.multiple;var v=n.value;v!=null?Wr(o,!!n.multiple,v,!1):p!==!!n.multiple&&(n.defaultValue!=null?Wr(o,!!n.multiple,n.defaultValue,!0):Wr(o,!!n.multiple,n.multiple?[]:"",!1))}o[en]=n}catch(S){Re(e,e.return,S)}}break;case 6:if(Mt(t,e),Wt(e),r&4){if(e.stateNode===null)throw Error(T(162));o=e.stateNode,n=e.memoizedProps;try{o.nodeValue=n}catch(S){Re(e,e.return,S)}}break;case 3:if(Mt(t,e),Wt(e),r&4&&a!==null&&a.memoizedState.isDehydrated)try{Xo(t.containerInfo)}catch(S){Re(e,e.return,S)}break;case 4:Mt(t,e),Wt(e);break;case 13:Mt(t,e),Wt(e),o=e.child,o.flags&8192&&(n=o.memoizedState!==null,o.stateNode.isHidden=n,!n||o.alternate!==null&&o.alternate.memoizedState!==null||(Fi=De())),r&4&&Nf(e);break;case 22:if(g=a!==null&&a.memoizedState!==null,e.mode&1?(Ke=(d=Ke)||g,Mt(t,e),Ke=d):Mt(t,e),Wt(e),r&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!g&&(e.mode&1)!==0)for(U=e,g=e.child;g!==null;){for(m=U=g;U!==null;){switch(p=U,v=p.child,p.tag){case 0:case 11:case 14:case 15:_o(4,p,p.return);break;case 1:_r(p,p.return);var L=p.stateNode;if(typeof L.componentWillUnmount=="function"){r=p,a=p.return;try{t=r,L.props=t.memoizedProps,L.state=t.memoizedState,L.componentWillUnmount()}catch(S){Re(r,a,S)}}break;case 5:_r(p,p.return);break;case 22:if(p.memoizedState!==null){_f(m);continue}}v!==null?(v.return=p,U=v):_f(m)}g=g.sibling}e:for(g=null,m=e;;){if(m.tag===5){if(g===null){g=m;try{o=m.stateNode,d?(n=o.style,typeof n.setProperty=="function"?n.setProperty("display","none","important"):n.display="none"):(s=m.stateNode,u=m.memoizedProps.style,l=u!=null&&u.hasOwnProperty("display")?u.display:null,s.style.display=rc("display",l))}catch(S){Re(e,e.return,S)}}}else if(m.tag===6){if(g===null)try{m.stateNode.nodeValue=d?"":m.memoizedProps}catch(S){Re(e,e.return,S)}}else if((m.tag!==22&&m.tag!==23||m.memoizedState===null||m===e)&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===e)break e;for(;m.sibling===null;){if(m.return===null||m.return===e)break e;g===m&&(g=null),m=m.return}g===m&&(g=null),m.sibling.return=m.return,m=m.sibling}}break;case 19:Mt(t,e),Wt(e),r&4&&Nf(e);break;case 21:break;default:Mt(t,e),Wt(e)}}function Wt(e){var t=e.flags;if(t&2){try{e:{for(var a=e.return;a!==null;){if(Rp(a)){var r=a;break e}a=a.return}throw Error(T(160))}switch(r.tag){case 5:var o=r.stateNode;r.flags&32&&($o(o,""),r.flags&=-33);var n=Uf(e);ju(e,n,o);break;case 3:case 4:var l=r.stateNode.containerInfo,s=Uf(e);Gu(e,s,l);break;default:throw Error(T(161))}}catch(u){Re(e,e.return,u)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function tx(e,t,a){U=e,Ap(e,t,a)}function Ap(e,t,a){for(var r=(e.mode&1)!==0;U!==null;){var o=U,n=o.child;if(o.tag===22&&r){var l=o.memoizedState!==null||ul;if(!l){var s=o.alternate,u=s!==null&&s.memoizedState!==null||Ke;s=ul;var d=Ke;if(ul=l,(Ke=u)&&!d)for(U=o;U!==null;)l=U,u=l.child,l.tag===22&&l.memoizedState!==null?qf(o):u!==null?(u.return=l,U=u):qf(o);for(;n!==null;)U=n,Ap(n,t,a),n=n.sibling;U=o,ul=s,Ke=d}Hf(e,t,a)}else(o.subtreeFlags&8772)!==0&&n!==null?(n.return=o,U=n):Hf(e,t,a)}}function Hf(e){for(;U!==null;){var t=U;if((t.flags&8772)!==0){var a=t.alternate;try{if((t.flags&8772)!==0)switch(t.tag){case 0:case 11:case 15:Ke||Zl(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!Ke)if(a===null)r.componentDidMount();else{var o=t.elementType===t.type?a.memoizedProps:At(t.type,a.memoizedProps);r.componentDidUpdate(o,a.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var n=t.updateQueue;n!==null&&wf(t,n,r);break;case 3:var l=t.updateQueue;if(l!==null){if(a=null,t.child!==null)switch(t.child.tag){case 5:a=t.child.stateNode;break;case 1:a=t.child.stateNode}wf(t,l,a)}break;case 5:var s=t.stateNode;if(a===null&&t.flags&4){a=s;var u=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":u.autoFocus&&a.focus();break;case"img":u.src&&(a.src=u.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var d=t.alternate;if(d!==null){var g=d.memoizedState;if(g!==null){var m=g.dehydrated;m!==null&&Xo(m)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(T(163))}Ke||t.flags&512&&Ku(t)}catch(p){Re(t,t.return,p)}}if(t===e){U=null;break}if(a=t.sibling,a!==null){a.return=t.return,U=a;break}U=t.return}}function _f(e){for(;U!==null;){var t=U;if(t===e){U=null;break}var a=t.sibling;if(a!==null){a.return=t.return,U=a;break}U=t.return}}function qf(e){for(;U!==null;){var t=U;try{switch(t.tag){case 0:case 11:case 15:var a=t.return;try{Zl(4,t)}catch(u){Re(t,a,u)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var o=t.return;try{r.componentDidMount()}catch(u){Re(t,o,u)}}var n=t.return;try{Ku(t)}catch(u){Re(t,n,u)}break;case 5:var l=t.return;try{Ku(t)}catch(u){Re(t,l,u)}}}catch(u){Re(t,t.return,u)}if(t===e){U=null;break}var s=t.sibling;if(s!==null){s.return=t.return,U=s;break}U=t.return}}var ax=Math.ceil,Nl=ia.ReactCurrentDispatcher,Ai=ia.ReactCurrentOwner,Lt=ia.ReactCurrentBatchConfig,ue=0,Ue=null,Ae=null,_e=0,it=0,qr=Ea(0),Oe=0,ln=null,sr=0,Jl=0,Ei=0,qo=null,tt=null,Fi=0,to=1/0,ea=null,Hl=!1,Xu=null,Pa=null,il=!1,Sa=null,_l=0,Wo=0,Qu=null,xl=-1,vl=0;function Ze(){return(ue&6)!==0?De():xl!==-1?xl:xl=De()}function Ta(e){return(e.mode&1)===0?1:(ue&2)!==0&&_e!==0?_e&-_e:Nh.transition!==null?(vl===0&&(vl=hc()),vl):(e=me,e!==0||(e=window.event,e=e===void 0?16:Cc(e.type)),e)}function Ot(e,t,a,r){if(50<Wo)throw Wo=0,Qu=null,Error(T(185));sn(e,a,r),((ue&2)===0||e!==Ue)&&(e===Ue&&((ue&2)===0&&(Jl|=a),Oe===4&&ya(e,_e)),nt(e,r),a===1&&ue===0&&(t.mode&1)===0&&(to=De()+500,Xl&&Fa()))}function nt(e,t){var a=e.callbackNode;_g(e,t);var r=wl(e,e===Ue?_e:0);if(r===0)a!==null&&Xd(a),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(a!=null&&Xd(a),t===1)e.tag===0?Uh(Wf.bind(null,e)):qc(Wf.bind(null,e)),Fh(function(){(ue&6)===0&&Fa()}),a=null;else{switch(xc(r)){case 1:a=li;break;case 4:a=mc;break;case 16:a=Cl;break;case 536870912:a=gc;break;default:a=Cl}a=Hp(a,Ep.bind(null,e))}e.callbackPriority=t,e.callbackNode=a}}function Ep(e,t){if(xl=-1,vl=0,(ue&6)!==0)throw Error(T(327));var a=e.callbackNode;if(jr()&&e.callbackNode!==a)return null;var r=wl(e,e===Ue?_e:0);if(r===0)return null;if((r&30)!==0||(r&e.expiredLanes)!==0||t)t=ql(e,r);else{t=r;var o=ue;ue|=2;var n=Bp();(Ue!==e||_e!==t)&&(ea=null,to=De()+500,ar(e,t));do try{nx();break}catch(s){Fp(e,s)}while(!0);yi(),Nl.current=n,ue=o,Ae!==null?t=0:(Ue=null,_e=0,t=Oe)}if(t!==0){if(t===2&&(o=Cu(e),o!==0&&(r=o,t=Yu(e,o))),t===1)throw a=ln,ar(e,0),ya(e,r),nt(e,De()),a;if(t===6)ya(e,r);else{if(o=e.current.alternate,(r&30)===0&&!rx(o)&&(t=ql(e,r),t===2&&(n=Cu(e),n!==0&&(r=n,t=Yu(e,n))),t===1))throw a=ln,ar(e,0),ya(e,r),nt(e,De()),a;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(T(345));case 2:Za(e,tt,ea);break;case 3:if(ya(e,r),(r&130023424)===r&&(t=Fi+500-De(),10<t)){if(wl(e,0)!==0)break;if(o=e.suspendedLanes,(o&r)!==r){Ze(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=Mu(Za.bind(null,e,tt,ea),t);break}Za(e,tt,ea);break;case 4:if(ya(e,r),(r&4194240)===r)break;for(t=e.eventTimes,o=-1;0<r;){var l=31-Bt(r);n=1<<l,l=t[l],l>o&&(o=l),r&=~n}if(r=o,r=De()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*ax(r/1960))-r,10<r){e.timeoutHandle=Mu(Za.bind(null,e,tt,ea),r);break}Za(e,tt,ea);break;case 5:Za(e,tt,ea);break;default:throw Error(T(329))}}}return nt(e,De()),e.callbackNode===a?Ep.bind(null,e):null}function Yu(e,t){var a=qo;return e.current.memoizedState.isDehydrated&&(ar(e,t).flags|=256),e=ql(e,t),e!==2&&(t=tt,tt=a,t!==null&&Zu(t)),e}function Zu(e){tt===null?tt=e:tt.push.apply(tt,e)}function rx(e){for(var t=e;;){if(t.flags&16384){var a=t.updateQueue;if(a!==null&&(a=a.stores,a!==null))for(var r=0;r<a.length;r++){var o=a[r],n=o.getSnapshot;o=o.value;try{if(!zt(n(),o))return!1}catch{return!1}}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function ya(e,t){for(t&=~Ei,t&=~Jl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var a=31-Bt(t),r=1<<a;e[a]=-1,t&=~r}}function Wf(e){if((ue&6)!==0)throw Error(T(327));jr();var t=wl(e,0);if((t&1)===0)return nt(e,De()),null;var a=ql(e,t);if(e.tag!==0&&a===2){var r=Cu(e);r!==0&&(t=r,a=Yu(e,r))}if(a===1)throw a=ln,ar(e,0),ya(e,t),nt(e,De()),a;if(a===6)throw Error(T(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Za(e,tt,ea),nt(e,De()),null}function Bi(e,t){var a=ue;ue|=1;try{return e(t)}finally{ue=a,ue===0&&(to=De()+500,Xl&&Fa())}}function ur(e){Sa!==null&&Sa.tag===0&&(ue&6)===0&&jr();var t=ue;ue|=1;var a=Lt.transition,r=me;try{if(Lt.transition=null,me=1,e)return e()}finally{me=r,Lt.transition=a,ue=t,(ue&6)===0&&Fa()}}function Oi(){it=qr.current,Se(qr)}function ar(e,t){e.finishedWork=null,e.finishedLanes=0;var a=e.timeoutHandle;if(a!==-1&&(e.timeoutHandle=-1,Eh(a)),Ae!==null)for(a=Ae.return;a!==null;){var r=a;switch(hi(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Rl();break;case 3:Jr(),Se(rt),Se(Ge),ki();break;case 5:wi(r);break;case 4:Jr();break;case 13:Se(be);break;case 19:Se(be);break;case 10:Li(r.type._context);break;case 22:case 23:Oi()}a=a.return}if(Ue=e,Ae=e=Ra(e.current,null),_e=it=t,Oe=0,ln=null,Ei=Jl=sr=0,tt=qo=null,er!==null){for(t=0;t<er.length;t++)if(a=er[t],r=a.interleaved,r!==null){a.interleaved=null;var o=r.next,n=a.pending;if(n!==null){var l=n.next;n.next=o,r.next=l}a.pending=r}er=null}return e}function Fp(e,t){do{var a=Ae;try{if(yi(),ml.current=Ul,zl){for(var r=Pe.memoizedState;r!==null;){var o=r.queue;o!==null&&(o.pending=null),r=r.next}zl=!1}if(lr=0,ze=Be=Pe=null,Ho=!1,rn=0,Ai.current=null,a===null||a.return===null){Oe=1,ln=t,Ae=null;break}e:{var n=e,l=a.return,s=a,u=t;if(t=_e,s.flags|=32768,u!==null&&typeof u=="object"&&typeof u.then=="function"){var d=u,g=s,m=g.tag;if((g.mode&1)===0&&(m===0||m===11||m===15)){var p=g.alternate;p?(g.updateQueue=p.updateQueue,g.memoizedState=p.memoizedState,g.lanes=p.lanes):(g.updateQueue=null,g.memoizedState=null)}var v=Df(l);if(v!==null){v.flags&=-257,Mf(v,l,s,n,t),v.mode&1&&Rf(n,d,t),t=v,u=d;var L=t.updateQueue;if(L===null){var S=new Set;S.add(u),t.updateQueue=S}else L.add(u);break e}else{if((t&1)===0){Rf(n,d,t),zi();break e}u=Error(T(426))}}else if(ke&&s.mode&1){var z=Df(l);if(z!==null){(z.flags&65536)===0&&(z.flags|=256),Mf(z,l,s,n,t),xi(eo(u,s));break e}}n=u=eo(u,s),Oe!==4&&(Oe=2),qo===null?qo=[n]:qo.push(n),n=l;do{switch(n.tag){case 3:n.flags|=65536,t&=-t,n.lanes|=t;var c=xp(n,u,t);Cf(n,c);break e;case 1:s=u;var i=n.type,f=n.stateNode;if((n.flags&128)===0&&(typeof i.getDerivedStateFromError=="function"||f!==null&&typeof f.componentDidCatch=="function"&&(Pa===null||!Pa.has(f)))){n.flags|=65536,t&=-t,n.lanes|=t;var y=vp(n,s,t);Cf(n,y);break e}}n=n.return}while(n!==null)}zp(a)}catch(C){t=C,Ae===a&&a!==null&&(Ae=a=a.return);continue}break}while(!0)}function Bp(){var e=Nl.current;return Nl.current=Ul,e===null?Ul:e}function zi(){(Oe===0||Oe===3||Oe===2)&&(Oe=4),Ue===null||(sr&268435455)===0&&(Jl&268435455)===0||ya(Ue,_e)}function ql(e,t){var a=ue;ue|=2;var r=Bp();(Ue!==e||_e!==t)&&(ea=null,ar(e,t));do try{ox();break}catch(o){Fp(e,o)}while(!0);if(yi(),ue=a,Nl.current=r,Ae!==null)throw Error(T(261));return Ue=null,_e=0,Oe}function ox(){for(;Ae!==null;)Op(Ae)}function nx(){for(;Ae!==null&&!Ag();)Op(Ae)}function Op(e){var t=Np(e.alternate,e,it);e.memoizedProps=e.pendingProps,t===null?zp(e):Ae=t,Ai.current=null}function zp(e){var t=e;do{var a=t.alternate;if(e=t.return,(t.flags&32768)===0){if(a=Yh(a,t,it),a!==null){Ae=a;return}}else{if(a=Zh(a,t),a!==null){a.flags&=32767,Ae=a;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Oe=6,Ae=null;return}}if(t=t.sibling,t!==null){Ae=t;return}Ae=t=e}while(t!==null);Oe===0&&(Oe=5)}function Za(e,t,a){var r=me,o=Lt.transition;try{Lt.transition=null,me=1,lx(e,t,a,r)}finally{Lt.transition=o,me=r}return null}function lx(e,t,a,r){do jr();while(Sa!==null);if((ue&6)!==0)throw Error(T(327));a=e.finishedWork;var o=e.finishedLanes;if(a===null)return null;if(e.finishedWork=null,e.finishedLanes=0,a===e.current)throw Error(T(177));e.callbackNode=null,e.callbackPriority=0;var n=a.lanes|a.childLanes;if(qg(e,n),e===Ue&&(Ae=Ue=null,_e=0),(a.subtreeFlags&2064)===0&&(a.flags&2064)===0||il||(il=!0,Hp(Cl,function(){return jr(),null})),n=(a.flags&15990)!==0,(a.subtreeFlags&15990)!==0||n){n=Lt.transition,Lt.transition=null;var l=me;me=1;var s=ue;ue|=4,Ai.current=null,ex(e,a),Mp(a,e),Th(Ru),kl=!!Tu,Ru=Tu=null,e.current=a,tx(a,e,o),Eg(),ue=s,me=l,Lt.transition=n}else e.current=a;if(il&&(il=!1,Sa=e,_l=o),n=e.pendingLanes,n===0&&(Pa=null),Og(a.stateNode,r),nt(e,De()),t!==null)for(r=e.onRecoverableError,a=0;a<t.length;a++)o=t[a],r(o.value,{componentStack:o.stack,digest:o.digest});if(Hl)throw Hl=!1,e=Xu,Xu=null,e;return(_l&1)!==0&&e.tag!==0&&jr(),n=e.pendingLanes,(n&1)!==0?e===Qu?Wo++:(Wo=0,Qu=e):Wo=0,Fa(),null}function jr(){if(Sa!==null){var e=xc(_l),t=Lt.transition,a=me;try{if(Lt.transition=null,me=16>e?16:e,Sa===null)var r=!1;else{if(e=Sa,Sa=null,_l=0,(ue&6)!==0)throw Error(T(331));var o=ue;for(ue|=4,U=e.current;U!==null;){var n=U,l=n.child;if((U.flags&16)!==0){var s=n.deletions;if(s!==null){for(var u=0;u<s.length;u++){var d=s[u];for(U=d;U!==null;){var g=U;switch(g.tag){case 0:case 11:case 15:_o(8,g,n)}var m=g.child;if(m!==null)m.return=g,U=m;else for(;U!==null;){g=U;var p=g.sibling,v=g.return;if(Tp(g),g===d){U=null;break}if(p!==null){p.return=v,U=p;break}U=v}}}var L=n.alternate;if(L!==null){var S=L.child;if(S!==null){L.child=null;do{var z=S.sibling;S.sibling=null,S=z}while(S!==null)}}U=n}}if((n.subtreeFlags&2064)!==0&&l!==null)l.return=n,U=l;else e:for(;U!==null;){if(n=U,(n.flags&2048)!==0)switch(n.tag){case 0:case 11:case 15:_o(9,n,n.return)}var c=n.sibling;if(c!==null){c.return=n.return,U=c;break e}U=n.return}}var i=e.current;for(U=i;U!==null;){l=U;var f=l.child;if((l.subtreeFlags&2064)!==0&&f!==null)f.return=l,U=f;else e:for(l=i;U!==null;){if(s=U,(s.flags&2048)!==0)try{switch(s.tag){case 0:case 11:case 15:Zl(9,s)}}catch(C){Re(s,s.return,C)}if(s===l){U=null;break e}var y=s.sibling;if(y!==null){y.return=s.return,U=y;break e}U=s.return}}if(ue=o,Fa(),Kt&&typeof Kt.onPostCommitFiberRoot=="function")try{Kt.onPostCommitFiberRoot(Vl,e)}catch{}r=!0}return r}finally{me=a,Lt.transition=t}}return!1}function Vf(e,t,a){t=eo(a,t),t=xp(e,t,1),e=ba(e,t,1),t=Ze(),e!==null&&(sn(e,1,t),nt(e,t))}function Re(e,t,a){if(e.tag===3)Vf(e,e,a);else for(;t!==null;){if(t.tag===3){Vf(t,e,a);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Pa===null||!Pa.has(r))){e=eo(a,e),e=vp(t,e,1),t=ba(t,e,1),e=Ze(),t!==null&&(sn(t,1,e),nt(t,e));break}}t=t.return}}function sx(e,t,a){var r=e.pingCache;r!==null&&r.delete(t),t=Ze(),e.pingedLanes|=e.suspendedLanes&a,Ue===e&&(_e&a)===a&&(Oe===4||Oe===3&&(_e&130023424)===_e&&500>De()-Fi?ar(e,0):Ei|=a),nt(e,t)}function Up(e,t){t===0&&((e.mode&1)===0?t=1:(t=Xn,Xn<<=1,(Xn&130023424)===0&&(Xn=4194304)));var a=Ze();e=sa(e,t),e!==null&&(sn(e,t,a),nt(e,a))}function ux(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Up(e,a)}function ix(e,t){var a=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(a=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(T(314))}r!==null&&r.delete(t),Up(e,a)}var Np;Np=function(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps||rt.current)at=!0;else{if((e.lanes&a)===0&&(t.flags&128)===0)return at=!1,Qh(e,t,a);at=(e.flags&131072)!==0}else at=!1,ke&&(t.flags&1048576)!==0&&Wc(t,Al,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;hl(e,t),e=t.pendingProps;var o=Qr(t,Ge.current);Gr(t,a),o=Pi(null,t,r,e,o,a);var n=Ti();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ot(r)?(n=!0,Dl(t)):n=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Ii(t),o.updater=Yl,t.stateNode=o,o._reactInternals=t,Uu(t,r,e,a),t=_u(null,t,r,!0,n,a)):(t.tag=0,ke&&n&&gi(t),Ye(null,t,o,a),t=t.child),t;case 16:r=t.elementType;e:{switch(hl(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=fx(r),e=At(r,e),o){case 0:t=Hu(null,t,r,e,a);break e;case 1:t=Ff(null,t,r,e,a);break e;case 11:t=Af(null,t,r,e,a);break e;case 14:t=Ef(null,t,r,At(r.type,e),a);break e}throw Error(T(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:At(r,o),Hu(e,t,r,o,a);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:At(r,o),Ff(e,t,r,o,a);case 3:e:{if(Ip(t),e===null)throw Error(T(387));r=t.pendingProps,n=t.memoizedState,o=n.element,Xc(e,t),Bl(t,r,null,a);var l=t.memoizedState;if(r=l.element,n.isDehydrated)if(n={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){o=eo(Error(T(423)),t),t=Bf(e,t,r,a,o);break e}else if(r!==o){o=eo(Error(T(424)),t),t=Bf(e,t,r,a,o);break e}else for(dt=ka(t.stateNode.containerInfo.firstChild),ft=t,ke=!0,Ft=null,a=Gc(t,null,r,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(Yr(),r===o){t=ua(e,t,a);break e}Ye(e,t,r,a)}t=t.child}return t;case 5:return Qc(t),e===null&&Bu(t),r=t.type,o=t.pendingProps,n=e!==null?e.memoizedProps:null,l=o.children,Du(r,o)?l=null:n!==null&&Du(r,n)&&(t.flags|=32),Sp(e,t),Ye(e,t,l,a),t.child;case 6:return e===null&&Bu(t),null;case 13:return Cp(e,t,a);case 4:return Ci(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Zr(t,null,r,a):Ye(e,t,r,a),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:At(r,o),Af(e,t,r,o,a);case 7:return Ye(e,t,t.pendingProps,a),t.child;case 8:return Ye(e,t,t.pendingProps.children,a),t.child;case 12:return Ye(e,t,t.pendingProps.children,a),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,n=t.memoizedProps,l=o.value,ve(El,r._currentValue),r._currentValue=l,n!==null)if(zt(n.value,l)){if(n.children===o.children&&!rt.current){t=ua(e,t,a);break e}}else for(n=t.child,n!==null&&(n.return=t);n!==null;){var s=n.dependencies;if(s!==null){l=n.child;for(var u=s.firstContext;u!==null;){if(u.context===r){if(n.tag===1){u=oa(-1,a&-a),u.tag=2;var d=n.updateQueue;if(d!==null){d=d.shared;var g=d.pending;g===null?u.next=u:(u.next=g.next,g.next=u),d.pending=u}}n.lanes|=a,u=n.alternate,u!==null&&(u.lanes|=a),Ou(n.return,a,t),s.lanes|=a;break}u=u.next}}else if(n.tag===10)l=n.type===t.type?null:n.child;else if(n.tag===18){if(l=n.return,l===null)throw Error(T(341));l.lanes|=a,s=l.alternate,s!==null&&(s.lanes|=a),Ou(l,a,t),l=n.sibling}else l=n.child;if(l!==null)l.return=n;else for(l=n;l!==null;){if(l===t){l=null;break}if(n=l.sibling,n!==null){n.return=l.return,l=n;break}l=l.return}n=l}Ye(e,t,o.children,a),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Gr(t,a),o=St(o),r=r(o),t.flags|=1,Ye(e,t,r,a),t.child;case 14:return r=t.type,o=At(r,t.pendingProps),o=At(r.type,o),Ef(e,t,r,o,a);case 15:return yp(e,t,t.type,t.pendingProps,a);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:At(r,o),hl(e,t),t.tag=1,ot(r)?(e=!0,Dl(t)):e=!1,Gr(t,a),hp(t,r,o),Uu(t,r,o,a),_u(null,t,r,!0,e,a);case 19:return wp(e,t,a);case 22:return Lp(e,t,a)}throw Error(T(156,t.tag))};function Hp(e,t){return pc(e,t)}function dx(e,t,a,r){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function yt(e,t,a,r){return new dx(e,t,a,r)}function Ui(e){return e=e.prototype,!(!e||!e.isReactComponent)}function fx(e){if(typeof e=="function")return Ui(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ri)return 11;if(e===oi)return 14}return 2}function Ra(e,t){var a=e.alternate;return a===null?(a=yt(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&14680064,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a}function yl(e,t,a,r,o,n){var l=2;if(r=e,typeof e=="function")Ui(e)&&(l=1);else if(typeof e=="string")l=5;else e:switch(e){case Ar:return rr(a.children,o,n,t);case ai:l=8,o|=8;break;case uu:return e=yt(12,a,t,o|2),e.elementType=uu,e.lanes=n,e;case iu:return e=yt(13,a,t,o),e.elementType=iu,e.lanes=n,e;case du:return e=yt(19,a,t,o),e.elementType=du,e.lanes=n,e;case Qf:return es(a,o,n,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case jf:l=10;break e;case Xf:l=9;break e;case ri:l=11;break e;case oi:l=14;break e;case ha:l=16,r=null;break e}throw Error(T(130,e==null?e:typeof e,""))}return t=yt(l,a,t,o),t.elementType=e,t.type=r,t.lanes=n,t}function rr(e,t,a,r){return e=yt(7,e,r,t),e.lanes=a,e}function es(e,t,a,r){return e=yt(22,e,r,t),e.elementType=Qf,e.lanes=a,e.stateNode={isHidden:!1},e}function nu(e,t,a){return e=yt(6,e,null,t),e.lanes=a,e}function lu(e,t,a){return t=yt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function cx(e,t,a,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ws(0),this.expirationTimes=Ws(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ws(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Ni(e,t,a,r,o,n,l,s,u){return e=new cx(e,t,a,s,u),t===1?(t=1,n===!0&&(t|=8)):t=0,n=yt(3,null,null,t),e.current=n,n.stateNode=e,n.memoizedState={element:r,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ii(n),e}function px(e,t,a){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Mr,key:r==null?null:""+r,children:e,containerInfo:t,implementation:a}}function _p(e){if(!e)return Ma;e=e._reactInternals;e:{if(dr(e)!==e||e.tag!==1)throw Error(T(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(ot(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(T(171))}if(e.tag===1){var a=e.type;if(ot(a))return _c(e,a,t)}return t}function qp(e,t,a,r,o,n,l,s,u){return e=Ni(a,r,!0,e,o,n,l,s,u),e.context=_p(null),a=e.current,r=Ze(),o=Ta(a),n=oa(r,o),n.callback=t??null,ba(a,n,o),e.current.lanes=o,sn(e,o,r),nt(e,r),e}function ts(e,t,a,r){var o=t.current,n=Ze(),l=Ta(o);return a=_p(a),t.context===null?t.context=a:t.pendingContext=a,t=oa(n,l),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=ba(o,t,l),e!==null&&(Ot(e,o,l,n),pl(e,o,l)),l}function Wl(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function $f(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function Hi(e,t){$f(e,t),(e=e.alternate)&&$f(e,t)}function mx(){return null}var Wp=typeof reportError=="function"?reportError:function(e){console.error(e)};function _i(e){this._internalRoot=e}as.prototype.render=_i.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(T(409));ts(e,t,null,null)};as.prototype.unmount=_i.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;ur(function(){ts(null,e,null,null)}),t[la]=null}};function as(e){this._internalRoot=e}as.prototype.unstable_scheduleHydration=function(e){if(e){var t=Lc();e={blockedOn:null,target:e,priority:t};for(var a=0;a<va.length&&t!==0&&t<va[a].priority;a++);va.splice(a,0,e),a===0&&Ic(e)}};function qi(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function rs(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Kf(){}function gx(e,t,a,r,o){if(o){if(typeof r=="function"){var n=r;r=function(){var d=Wl(l);n.call(d)}}var l=qp(t,r,e,0,null,!1,!1,"",Kf);return e._reactRootContainer=l,e[la]=l.current,Zo(e.nodeType===8?e.parentNode:e),ur(),l}for(;o=e.lastChild;)e.removeChild(o);if(typeof r=="function"){var s=r;r=function(){var d=Wl(u);s.call(d)}}var u=Ni(e,0,!1,null,null,!1,!1,"",Kf);return e._reactRootContainer=u,e[la]=u.current,Zo(e.nodeType===8?e.parentNode:e),ur(function(){ts(t,u,a,r)}),u}function os(e,t,a,r,o){var n=a._reactRootContainer;if(n){var l=n;if(typeof o=="function"){var s=o;o=function(){var u=Wl(l);s.call(u)}}ts(t,l,e,o)}else l=gx(a,t,e,o,r);return Wl(l)}vc=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var a=Eo(t.pendingLanes);a!==0&&(si(t,a|1),nt(t,De()),(ue&6)===0&&(to=De()+500,Fa()))}break;case 13:ur(function(){var r=sa(e,1);if(r!==null){var o=Ze();Ot(r,e,1,o)}}),Hi(e,1)}};ui=function(e){if(e.tag===13){var t=sa(e,134217728);if(t!==null){var a=Ze();Ot(t,e,134217728,a)}Hi(e,134217728)}};yc=function(e){if(e.tag===13){var t=Ta(e),a=sa(e,t);if(a!==null){var r=Ze();Ot(a,e,t,r)}Hi(e,t)}};Lc=function(){return me};Sc=function(e,t){var a=me;try{return me=e,t()}finally{me=a}};Lu=function(e,t,a){switch(t){case"input":if(pu(e,a),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll("input[name="+JSON.stringify(""+t)+\'][type="radio"]\'),t=0;t<a.length;t++){var r=a[t];if(r!==e&&r.form===e.form){var o=jl(r);if(!o)throw Error(T(90));Zf(r),pu(r,o)}}}break;case"textarea":ec(e,a);break;case"select":t=a.value,t!=null&&Wr(e,!!a.multiple,t,!1)}};sc=Bi;uc=ur;var hx={usingClientEntryPoint:!1,Events:[dn,Or,jl,nc,lc,Bi]},Ro={findFiberByHostInstance:Ja,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},xx={bundleType:Ro.bundleType,version:Ro.version,rendererPackageName:Ro.rendererPackageName,rendererConfig:Ro.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ia.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=fc(e),e===null?null:e.stateNode},findFiberByHostInstance:Ro.findFiberByHostInstance||mx,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Do=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Do.isDisabled&&Do.supportsFiber))try{Vl=Do.inject(xx),Kt=Do}catch{}var Do;mt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=hx;mt.createPortal=function(e,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!qi(t))throw Error(T(200));return px(e,t,null,a)};mt.createRoot=function(e,t){if(!qi(e))throw Error(T(299));var a=!1,r="",o=Wp;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=Ni(e,1,!1,null,null,a,!1,r,o),e[la]=t.current,Zo(e.nodeType===8?e.parentNode:e),new _i(t)};mt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(T(188)):(e=Object.keys(e).join(","),Error(T(268,e)));return e=fc(t),e=e===null?null:e.stateNode,e};mt.flushSync=function(e){return ur(e)};mt.hydrate=function(e,t,a){if(!rs(t))throw Error(T(200));return os(null,e,t,!0,a)};mt.hydrateRoot=function(e,t,a){if(!qi(e))throw Error(T(405));var r=a!=null&&a.hydratedSources||null,o=!1,n="",l=Wp;if(a!=null&&(a.unstable_strictMode===!0&&(o=!0),a.identifierPrefix!==void 0&&(n=a.identifierPrefix),a.onRecoverableError!==void 0&&(l=a.onRecoverableError)),t=qp(t,null,e,1,a??null,o,!1,n,l),e[la]=t.current,Zo(e),r)for(e=0;e<r.length;e++)a=r[e],o=a._getVersion,o=o(a._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[a,o]:t.mutableSourceEagerHydrationData.push(a,o);return new as(t)};mt.render=function(e,t,a){if(!rs(t))throw Error(T(200));return os(null,e,t,!1,a)};mt.unmountComponentAtNode=function(e){if(!rs(e))throw Error(T(40));return e._reactRootContainer?(ur(function(){os(null,null,e,!1,function(){e._reactRootContainer=null,e[la]=null})}),!0):!1};mt.unstable_batchedUpdates=Bi;mt.unstable_renderSubtreeIntoContainer=function(e,t,a,r){if(!rs(a))throw Error(T(200));if(e==null||e._reactInternals===void 0)throw Error(T(38));return os(e,t,a,!1,r)};mt.version="18.3.1-next-f1338f8080-20240426"});var oo=Jt((Iv,Kp)=>{"use strict";function $p(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE($p)}catch(e){console.error(e)}}$p(),Kp.exports=Vp()});var jp=Jt(Wi=>{"use strict";var Gp=oo();Wi.createRoot=Gp.createRoot,Wi.hydrateRoot=Gp.hydrateRoot;var Cv});var em=Jt(fs=>{"use strict";var Sx=we(),Ix=Symbol.for("react.element"),Cx=Symbol.for("react.fragment"),wx=Object.prototype.hasOwnProperty,kx=Sx.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,bx={key:!0,ref:!0,__self:!0,__source:!0};function Jp(e,t,a){var r,o={},n=null,l=null;a!==void 0&&(n=""+a),t.key!==void 0&&(n=""+t.key),t.ref!==void 0&&(l=t.ref);for(r in t)wx.call(t,r)&&!bx.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)o[r]===void 0&&(o[r]=t[r]);return{$$typeof:Ix,type:e,key:n,ref:l,props:o,_owner:kx.current}}fs.Fragment=Cx;fs.jsx=Jp;fs.jsxs=Jp});var q=Jt((Qy,tm)=>{"use strict";tm.exports=em()});var Em=A(jp(),1);var re=A(we(),1),Rm=A(oo(),1);function Xp(e){return e.trim().replace(/^\\|/,"").replace(/\\|$/,"").split("|").map(a=>a.trim())}function vx(e){return/^\\s*\\|?\\s*:?-{3,}:?\\s*(\\|\\s*:?-{3,}:?\\s*)+\\|?\\s*$/.test(e)}function yx(e){let t=e.split(`\n`),a=[],r=0;for(;r<t.length;){let o=t[r]??"",n=t[r+1]??"";if(o.includes("|")&&vx(n)){let l=Xp(o),s=[];for(r+=2;r<t.length&&t[r].includes("|")&&t[r].trim()!=="";)s.push(Xp(t[r])),r+=1;let u=`<tr>${l.map(g=>`<th style="text-align:left;padding:7px 10px;border:1px solid #334155;color:#e2e8f0;background:#0f172a;">${g}</th>`).join("")}</tr>`,d=s.map(g=>`<tr>${g.map(m=>`<td style="padding:7px 10px;border:1px solid #334155;color:#cbd5e1;vertical-align:top;">${m}</td>`).join("")}</tr>`).join("");a.push(`<div style="overflow-x:auto;margin:0.65em 0;"><table style="border-collapse:collapse;min-width:360px;width:100%;font-size:12px;"><thead>${u}</thead><tbody>${d}</tbody></table></div>`);continue}a.push(t[r]),r+=1}return a.join(`\n`)}function ns(e){if(!e)return\'<span style="color:#475569;font-style:italic;">No description yet</span>\';let t=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");return yx(t).replace(/^### (.+)$/gm,\'<h3 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.05em;color:#cbd5e1;">$1</h3>\').replace(/^## (.+)$/gm,\'<h2 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.2em;color:#f1f5f9;">$1</h2>\').replace(/^# (.+)$/gm,\'<h1 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.4em;color:#f1f5f9;">$1</h1>\').replace(/[*][*]([^\\n]+?)[*][*]/g,\'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>\').replace(/__([^\\n]+?)__/g,\'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>\').replace(/[*]([^\\n*]+?)[*]/g,\'<em style="font-style:italic;color:#94a3b8;">$1</em>\').replace(/(?<![a-zA-Z0-9])_([^_\\n]+?)_(?![a-zA-Z0-9])/g,\'<em style="font-style:italic;color:#94a3b8;">$1</em>\').replace(/`(.+?)`/g,\'<code style="font-family:Menlo,monospace;font-size:12px;background:#1e293b;padding:1px 5px;border-radius:3px;color:#7dd3fc;">$1</code>\').replace(/\\[([^\\]]+)\\]\\((https?:\\/\\/[^)]+)\\)/g,\'<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;">$1</a>\').replace(/(^|[\\s(>])((https?:\\/\\/)[^\\s<>"\']+)/g,\'$1<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;word-break:break-all;">$2</a>\').replace(/(^|[^\\w])#([a-f0-9]{30})(?![a-f0-9])/gi,\'$1<a href="#task-$2" data-task-ref="$2" style="color:#60a5fa;text-decoration:underline;font-family:Menlo,monospace;">#$2</a>\').replace(/^[-*] (.+)$/gm,\'<li style="margin:0.2em 0;display:list-item;">$1</li>\').replace(/^---$/gm,\'<hr style="border:none;border-top:1px solid #334155;margin:0.8em 0;">\').replace(/(<li[^>]*>[\\s\\S]*?<\\/li>\\n?)+/g,r=>`<ul style="padding-left:1.5em;margin:0.4em 0;list-style-type:disc;">${r}</ul>`).replace(/^(?!<[a-z]|$).+$/gm,r=>`<p style="margin:0.5em 0;">${r}</p>`)}var Lx="proto-comments-seen";function Vi(e,t){try{let a=localStorage.getItem(Lx),r=a?JSON.parse(a):{};return t>(r[e]??0)}catch{return!1}}function $i(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function lt(e){try{return new Date(e).toLocaleString()}catch{return e}}var Ki=16,no=1000000n,us=BigInt("9".repeat(Ki));function Ct(e){return(e<0n?0n:e>us?us:e).toString().padStart(Ki,"0")}function ls(e){let t=e.split(".")[0];return/^\\d+$/.test(t)?BigInt(t):us}function ss(e){let t=e.indexOf(".");return t>=0?e.slice(t+1):null}function fr(e,t){if(t===null){if(e===null)return Ct(no);let l=ls(e);if(l<us-no)return Ct(l+no);let s=ss(e)??"0".repeat(Ki);return Ct(l)+"."+fr(s,null)}if(e===null){let l=ls(t),s=ss(t);return l>no?Ct(l-no):s!==null?Ct(l)+"."+fr(null,s):l>0n?Ct(l/2n):Ct(0n)+".0"}let a=ls(e),r=ls(t),o=ss(e),n=ss(t);return r>a+1n?Ct((a+r)/2n):r===a+1n?Ct(a)+"."+fr(o,null):o===null&&n===null?Ct(a)+"."+Ct(no):Ct(a)+"."+fr(o,n)}function cn(e,t){return e.sortKey&&t.sortKey?e.sortKey<t.sortKey?-1:e.sortKey>t.sortKey?1:0:e.sortKey?-1:t.sortKey?1:(t.updatedAt??t.createdAt??"").localeCompare(e.updatedAt??e.createdAt??"")}function Gi(e,t,a,r){let o=new Map,n=null;for(let m of e)m.sortKey&&m.sortKey!=="n"&&(o.set(m.id,m.sortKey),n=m.sortKey);let l=[],s=e.filter(m=>!m.sortKey||m.sortKey==="n");if(s.length>0){let m=n;for(let p of s){let v=fr(m,null);o.set(p.id,v),m=v,p.id!==t&&l.push({id:p.id,sortKey:v})}}let u=a?o.get(a)??null:null,d=r?o.get(r)??null:null;return{newSortKey:fr(u,d),normalizationPatches:l}}var jt=A(we(),1);var ds=A(we());var Qp=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),is=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var pn=A(we());var Yp={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Zp=(0,pn.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:l,...s},u)=>(0,pn.createElement)("svg",{ref:u,...Yp,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:is("lucide",o),...s},[...l.map(([d,g])=>(0,pn.createElement)(d,g)),...Array.isArray(n)?n:[n]]));var J=(e,t)=>{let a=(0,ds.forwardRef)(({className:r,...o},n)=>(0,ds.createElement)(Zp,{ref:n,iconNode:t,className:is(`lucide-${Qp(e)}`,r),...o}));return a.displayName=`${e}`,a};var cr=J("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);var mn=J("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var Ba=J("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var pr=J("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);var gn=J("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var lo=J("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var hn=J("Flag",[["path",{d:"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z",key:"i9b6wo"}],["line",{x1:"4",x2:"4",y1:"22",y2:"15",key:"1cm3nv"}]]);var xn=J("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var vn=J("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);var yn=J("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var mr=J("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);var Oa=J("PanelsTopLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]);var gr=J("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);var Ln=J("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);var Sn=J("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);var hr=J("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var so=J("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var za=J("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var uo=J("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);var In=J("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var Cn=J("Workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]);var Ne=J("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var io=A(we(),1),cm=A(oo(),1);var om=A(q(),1),am={Bug:{background:"rgba(239,68,68,0.12)",color:"#f87171",border:"rgba(239,68,68,0.25)"},Research:{background:"rgba(192,132,252,0.12)",color:"#c084fc",border:"rgba(139,92,246,0.2)"},Task:{background:"rgba(148,163,184,0.1)",color:"#94a3b8",border:"rgba(148,163,184,0.2)"}};function rm({type:e,style:t}){let a=typeof e=="string"&&e.trim()&&e!=="[object Object]"&&am[e]?e:"Task",r=am[a];return(0,om.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:r.background,color:r.color,border:`1px solid ${r.border}`,lineHeight:"1.5",...t},children:a})}var sm=A(q(),1),nm={Critical:{background:"rgba(239,68,68,0.15)",color:"#f87171",border:"rgba(239,68,68,0.3)"},High:{background:"rgba(249,115,22,0.12)",color:"#fb923c",border:"rgba(249,115,22,0.25)"},Medium:{background:"rgba(234,179,8,0.12)",color:"#facc15",border:"rgba(234,179,8,0.25)"},Low:{background:"rgba(148,163,184,0.1)",color:"#94a3b8",border:"rgba(148,163,184,0.2)"}};function lm({priority:e,style:t}){if(!e||!nm[e])return null;let a=nm[e];return(0,sm.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:a.background,color:a.color,border:`1px solid ${a.border}`,lineHeight:"1.5",...t},children:e})}var xr=[{value:"Task",icon:"\\u2611",label:"Task",css:"type-task",tooltip:"A general task or feature to implement."},{value:"Bug",icon:"\\u{1F41E}",label:"Bug",css:"type-bug",tooltip:"A defect \\u2014 annotator collects page errors and console logs to help reproduce it."},{value:"Research",icon:"\\u{1F52C}",label:"Research",css:"type-research",tooltip:"A research task \\u2014 agent will NOT write code but must attach a findings report."}],Jy=xr.map(e=>e.value),im=Object.fromEntries(xr.map(e=>[e.value,e.icon])),eL=Object.fromEntries(xr.map(e=>[e.value,e.css])),um={Task:"#94a3b8",Bug:"#ef4444",Research:"#a855f7"};function wn(e){return um[e??"Task"]??um.Task}var dm=[{bg:"color-mix(in srgb, var(--p-blue) 14%, transparent)",text:"var(--p-blue-200)",border:"color-mix(in srgb, var(--p-blue) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-green) 14%, transparent)",text:"var(--p-green-300)",border:"color-mix(in srgb, var(--p-green) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-purple) 14%, transparent)",text:"var(--p-purple-300)",border:"color-mix(in srgb, var(--p-purple) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-amber) 14%, transparent)",text:"var(--p-amber-300)",border:"color-mix(in srgb, var(--p-amber) 30%, transparent)"},{bg:"color-mix(in srgb, #f472b6 14%, transparent)",text:"#f9a8d4",border:"color-mix(in srgb, #f472b6 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-cyan) 14%, transparent)",text:"var(--p-cyan-300)",border:"color-mix(in srgb, var(--p-cyan) 30%, transparent)"},{bg:"color-mix(in srgb, #f87171 14%, transparent)",text:"#fca5a5",border:"color-mix(in srgb, #f87171 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-text-g) 14%, transparent)",text:"var(--p-text-m)",border:"color-mix(in srgb, var(--p-text-g) 30%, transparent)"}];function Px(e){let t=0;for(let a=0;a<e.length;a++)t=t*31+e.charCodeAt(a)>>>0;return t%dm.length}function Ut(e){return dm[Px(e)]}var kn=A(q(),1);function bn({tags:e,onRemove:t,size:a="sm"}){if(!e.length)return null;let r=a==="xs"?"1px 6px":"2px 7px",o=a==="xs"?9:10;return(0,kn.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:3,alignItems:"center"},children:e.map(n=>{let{bg:l,text:s,border:u}=Ut(n);return(0,kn.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,padding:r,borderRadius:100,background:l,border:`1px solid ${u}`,color:s,fontSize:o,fontWeight:600,whiteSpace:"nowrap"},children:[n,t&&(0,kn.jsx)("button",{type:"button",onClick:d=>{d.stopPropagation(),t(n)},style:{display:"flex",background:"none",border:"none",color:s,cursor:"pointer",padding:0,lineHeight:1,opacity:.7},onMouseEnter:d=>{d.currentTarget.style.opacity="1"},onMouseLeave:d=>{d.currentTarget.style.opacity="0.7"},children:"\\xD7"})]},n)})})}var ie=A(q(),1);function Tx(e){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function pm(e,t){if(!/^#[0-9a-fA-F]{6}$/.test(e))return;let a=Math.max(0,Math.min(1,t)),r=Math.round(a*255).toString(16).padStart(2,"0");return`${e}${r}`}function mm(e,t){return pm(e,t==="Critical"?.36:t==="High"?.3:.24)??"color-mix(in srgb, var(--p-text-g) 40%, transparent)"}function Rx(e){return pm(e,.05)??"transparent"}var Dx={padding:"7px 8px",gap:4,opacity:.45,userSelect:"none"},Mx={display:"flex",alignItems:"center",gap:5},Ax={width:12,height:12,color:"color-mix(in srgb, var(--p-green) 55%, transparent)",flexShrink:0},Ex={fontSize:11.5,fontWeight:600,color:"var(--p-text-g)",textDecoration:"line-through",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},Fx={display:"flex",alignItems:"center",gap:5,minWidth:0},Bx={flexShrink:0},Ox={fontSize:11.5,fontWeight:600,color:"var(--p-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},zx={display:"flex",alignItems:"flex-start",gap:8},Ux={fontSize:10,color:"var(--p-text-g)",lineHeight:"1.45",overflow:"hidden",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,flex:1,minWidth:0},Nx={position:"relative",flexShrink:0},Hx={width:52,height:34,borderRadius:6,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 90%, transparent)",display:"block",cursor:"pointer"},_x={display:"flex",alignItems:"center",gap:2,marginTop:1},qx={flex:1},ji=io.default.memo(function({task:t,col:a,liveActivity:r,onOpen:o,onDragStart:n}){var h;let l=a.id==="in-progress",s=a.id==="done",[u,d]=io.default.useState(!1),[g,m]=io.default.useState(null),p=io.default.useRef(null),v=t.commentCount??0,L=t.fileCount??0,S=v>0&&Vi(t.id,v),z=mm(a.color,t.priority),c=wn(t.type),i=Rx(c),f=(h=t.files)==null?void 0:h.find(w=>Tx(w.name)),y=f?`/api/tasks/${t.id}/files/${encodeURIComponent(f.name)}`:null;function C(w){n(w,t.id),w.currentTarget.classList.add("dragging")}function k(w){w.currentTarget.classList.remove("dragging")}return s?(0,ie.jsx)("article",{className:"task-card",draggable:!0,"data-task-id":t.id,style:Dx,onDragStart:C,onDragEnd:k,onClick:()=>o(t),children:(0,ie.jsxs)("div",{style:Mx,children:[(0,ie.jsx)(Ba,{style:Ax}),(0,ie.jsx)("span",{style:Ex,children:t.title})]})}):(0,ie.jsxs)("article",{className:`task-card${r?" task-live-edit":""}`,draggable:!0,"data-task-id":t.id,style:{padding:"7px 8px",gap:4,userSelect:"none",background:r?"rgba(59,130,246,0.08)":i,...r?{borderColor:"rgba(59,130,246,0.5)",boxShadow:"0 0 0 2px rgba(59,130,246,0.14)"}:z?{borderColor:z}:{}},onDragStart:C,onDragEnd:k,onClick:()=>o(t),children:[(0,ie.jsxs)("div",{style:Fx,children:[l&&(0,ie.jsx)("span",{className:"spinner",style:Bx}),(0,ie.jsx)("span",{style:Ox,children:t.title})]}),(t.description||y)&&(0,ie.jsxs)("div",{style:zx,children:[t.description&&(0,ie.jsx)("div",{style:Ux,children:t.description}),y&&(0,ie.jsxs)("div",{style:Nx,onMouseEnter:()=>{if(p.current){let w=p.current.getBoundingClientRect();m({top:w.top,right:w.right})}d(!0)},onMouseLeave:()=>{d(!1),m(null)},children:[(0,ie.jsx)("img",{ref:p,src:y,alt:"Task screenshot","data-role":"task-thumb",style:Hx}),u&&g&&cm.default.createPortal((0,ie.jsx)("img",{src:y,alt:"Task screenshot enlarged preview","data-role":"task-thumb-preview",style:{position:"fixed",right:window.innerWidth-g.right,bottom:window.innerHeight-g.top+8,width:220,height:138,borderRadius:8,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 96%, transparent)",boxShadow:"0 10px 24px color-mix(in srgb, var(--p-bg) 75%, transparent)",pointerEvents:"none",zIndex:9999,background:"var(--p-bg)"}}),document.body)]})]}),(0,ie.jsxs)("div",{className:"flex items-center",style:_x,children:[(0,ie.jsx)(rm,{type:t.type}),t.priority&&(0,ie.jsx)(lm,{priority:t.priority}),l&&t.assigneeName&&(0,ie.jsx)("span",{style:{fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(59,130,246,0.12)",color:"#60a5fa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:80},children:t.assigneeName}),t.tags&&t.tags.length>0&&(0,ie.jsx)(bn,{tags:t.tags,size:"xs"}),(0,ie.jsx)("div",{style:qx}),r&&(0,ie.jsx)(Xi,{activity:r}),(0,ie.jsx)(fm,{icon:(0,ie.jsx)(mr,{style:{width:9,height:9}}),label:v>0?String(v):"",color:S?"var(--p-purple)":v>0?"var(--p-text-m)":"var(--p-border-t)",hoverColor:S?"var(--p-purple-300)":"var(--p-text)",title:v>0?`${v} comment(s)`:"Add comment",badge:S,badgeColor:"var(--p-purple)",onClick:w=>{w.stopPropagation(),o(t,"comments")}}),(0,ie.jsx)(fm,{icon:(0,ie.jsx)(gr,{style:{width:9,height:9}}),label:L>0?String(L):"",color:L>0?"var(--p-blue-300)":"var(--p-border-t)",hoverColor:L>0?"var(--p-cyan-300)":"var(--p-text-sub)",title:L>0?`${L} file(s) attached`:"Files",onClick:w=>{w.stopPropagation(),o(t,"files")}})]})]})});function fm({icon:e,label:t,color:a,hoverColor:r,title:o,badge:n,badgeColor:l,onClick:s}){let[u,d]=io.default.useState(!1);return(0,ie.jsxs)("button",{style:{display:"inline-flex",alignItems:"center",gap:2,padding:"2px 3px",borderRadius:3,border:"none",background:u?"color-mix(in srgb, var(--p-text-m) 10%, transparent)":"transparent",cursor:"pointer",fontSize:9,color:u?r:a,transition:"color .1s, background .1s"},title:o,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onClick:s,children:[e,t&&(0,ie.jsx)("span",{children:t}),n&&(0,ie.jsx)("span",{style:{width:4,height:4,background:l??a,borderRadius:"50%",flexShrink:0}})]})}function Xi({activity:e}){let t=e.state==="locked"||e.state==="editing",a=t?(0,ie.jsx)(yn,{style:{width:8,height:8}}):(0,ie.jsx)(gn,{style:{width:8,height:8}}),r=t?`Locked by ${e.user}`:`${e.user} viewing`;return(0,ie.jsxs)("span",{style:t?{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(244,114,182,0.35)",color:"#f9a8d4",background:"rgba(157,23,77,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"}:{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(59,130,246,0.35)",color:"#93c5fd",background:"rgba(30,58,138,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"},title:r,"data-testid":"live-activity-badge",children:[a,(0,ie.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",minWidth:0,flex:"1 1 0"},children:e.user})]})}var de=A(q(),1),Ua=[{id:"backlog",label:"Backlog",color:"var(--p-text-f)",accent:"color-mix(in srgb, var(--p-text-g) 20%, transparent)"},{id:"todo",label:"Todo",color:"var(--p-amber)",accent:"color-mix(in srgb, var(--p-amber) 12%, transparent)"},{id:"in-progress",label:"In Progress",color:"var(--p-blue)",accent:"color-mix(in srgb, var(--p-blue) 12%, transparent)",glow:!0},{id:"review",label:"Review",color:"var(--p-purple)",accent:"color-mix(in srgb, var(--p-purple) 12%, transparent)"},{id:"done",label:"Done",color:"var(--p-green)",accent:"color-mix(in srgb, var(--p-green) 10%, transparent)"}];var Wx=3;function Vx(){return(0,de.jsxs)("div",{style:{borderRadius:8,border:"1px solid var(--p-border-t)",padding:"10px 12px",background:"var(--p-bg-2)",marginBottom:6,animation:"skeleton-pulse 1.5s ease-in-out infinite"},children:[(0,de.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"75%",marginBottom:8}}),(0,de.jsx)("div",{style:{height:10,borderRadius:4,background:"var(--p-border-s)",width:"50%",marginBottom:8}}),(0,de.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,de.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:48}}),(0,de.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:36}})]})]})}function Qi({tasks:e,visibleCols:t,searchQuery:a,isLoading:r,liveActivities:o,onOpenPanel:n,onDrop:l,onReorder:s}){let u=jt.default.useRef(null),d=jt.default.useRef(null),[g,m]=jt.default.useState(null),[p,v]=jt.default.useState(null),[L,S]=jt.default.useState(null),z=jt.default.useRef(null),c=jt.default.useRef(null),i=a?e.filter(b=>(b.title??"").toLowerCase().includes(a.toLowerCase())||(b.description??"").toLowerCase().includes(a.toLowerCase())):e,f=Ua.filter(b=>t.includes(b.id));jt.default.useEffect(()=>{let b=u.current,M=d.current;if(!b||!M)return;function R(){if(!b||!M)return;let te=b.scrollWidth>b.clientWidth?b.clientWidth/b.scrollWidth:1,W=Math.max(40,b.clientWidth*te);M.style.width=`${W}px`;let ce=b.scrollWidth-b.clientWidth,je=b.clientWidth-W;M.style.left=`${ce>0?b.scrollLeft/ce*je:0}px`,M.style.opacity=te<1?"1":"0"}b.addEventListener("scroll",R);let F=new ResizeObserver(R);F.observe(b),R();let ee=!1,G=0,Ie=0;function _(te){ee=!0,G=te.clientX,Ie=b.scrollLeft,M.classList.add("dragging"),document.addEventListener("mousemove",N),document.addEventListener("mouseup",Z)}function N(te){if(!ee||!b||!M)return;let W=b.scrollWidth>b.clientWidth?b.scrollWidth/b.clientWidth:1;b.scrollLeft=Ie+(te.clientX-G)*W}function Z(){ee=!1,M==null||M.classList.remove("dragging"),document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",Z)}return M.addEventListener("mousedown",_),()=>{b.removeEventListener("scroll",R),F.disconnect(),M.removeEventListener("mousedown",_)}},[f.length]);function y(b,M){z.current=M,m(M),b.dataTransfer.effectAllowed="move"}function C(b,M){b.preventDefault(),v(M)}function k(b,M){b.preventDefault(),b.stopPropagation();let R=b.currentTarget.getBoundingClientRect(),F=b.clientY<R.top+R.height/2?"before":"after",ee={taskId:M,position:F};c.current=ee,S(G=>(G==null?void 0:G.taskId)===M&&G.position===F?G:ee)}function h(b,M,R){b.preventDefault(),v(null);let F=c.current;c.current=null,S(null);let ee=z.current;if(z.current=null,m(null),!!ee)if(s&&F){let G=R.findIndex(N=>N.id===F.taskId),Ie=null,_=null;F.position==="before"?(_=F.taskId,Ie=G>0?R[G-1].id:null):(Ie=F.taskId,_=G<R.length-1?R[G+1].id:null),s(ee,M,Ie,_)}else l(ee,M)}function w(){z.current=null,m(null),v(null),c.current=null,S(null)}return(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)("main",{id:"kanban-board",ref:u,className:"flex-1 flex overflow-x-auto overflow-y-hidden",style:{padding:"16px 20px",gap:16},onDragEnd:w,children:f.map(b=>{let M=r?[]:i.filter(R=>R.status===b.id).sort(cn);return(0,de.jsx)($x,{col:b,tasks:M,isLoading:r,liveActivities:o,isDragOver:p===b.id&&!L,onDragOver:R=>C(R,b.id),onDrop:R=>h(R,b.id,M),onDragLeave:R=>{let F=R.relatedTarget;F&&R.currentTarget.contains(F)||(v(null),c.current=null,S(null))},onStatusChange:(R,F)=>l(R,F),onAddTask:()=>n(null,"details",b.id),onOpenTask:n,onDragStart:y,onCardDragOver:k,cardDropTarget:L},b.id)})}),(0,de.jsx)("div",{id:"kanban-scroll-track",style:{position:"fixed",bottom:0,left:0,right:0,height:6,background:"transparent",zIndex:40,pointerEvents:"none"},children:(0,de.jsx)("div",{id:"kanban-scroll-thumb",ref:d,style:{position:"absolute",top:1,height:4,borderRadius:2,background:"var(--p-border-t)",cursor:"pointer",pointerEvents:"auto",transition:"background 0.15s",opacity:0},onMouseEnter:b=>{b.currentTarget.style.background="var(--p-text-g)"},onMouseLeave:b=>{b.currentTarget.classList.contains("dragging")||(b.currentTarget.style.background="var(--p-border-t)")}})})]})}function $x({col:e,tasks:t,isLoading:a,liveActivities:r,isDragOver:o,onDragOver:n,onDrop:l,onDragLeave:s,onStatusChange:u,onAddTask:d,onOpenTask:g,onDragStart:m,onCardDragOver:p,cardDropTarget:v}){let[L,S]=jt.default.useState(!1),z=e.id==="in-progress"?"sd-inprogress":`sd-${e.id}`,c=20,i=e.id==="done",f=i&&t.length>c?t.length-c:0,y=i?t.slice(0,c):t;return(0,de.jsxs)("section",{className:"board-column","data-column-id":e.id,style:{outline:o?`2px dashed ${e.color}66`:void 0,outlineOffset:-2,borderRadius:8},onDragOver:n,onDragLeave:s,onDrop:l,children:[(0,de.jsxs)("div",{className:"column-header",style:{background:e.accent,borderColor:`color-mix(in srgb, ${e.color} 30%, transparent)`},children:[(0,de.jsx)("div",{className:`status-dot ${z}`}),(0,de.jsxs)("span",{style:{fontSize:12,fontWeight:600,color:e.id==="done"?`${e.color}b3`:e.color},children:[e.label,a?"":` \\xB7 ${t.length}`]}),(0,de.jsx)("span",{style:{marginLeft:"auto"}}),(0,de.jsx)("button",{type:"button",title:`Add task to ${e.label}`,style:{width:20,height:20,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:4,border:"none",background:"transparent",color:L?e.color:"var(--p-text-g)",cursor:"pointer",transition:"color .15s",padding:0},onMouseEnter:()=>S(!0),onMouseLeave:()=>S(!1),onClick:d,children:(0,de.jsx)(Ln,{style:{width:14,height:14}})})]}),(0,de.jsx)("div",{className:"column-scroll","data-status":e.id,children:a?Array.from({length:Wx}).map((C,k)=>(0,de.jsx)(Vx,{},k)):t.length===0?(0,de.jsxs)("div",{style:{border:"1px dashed var(--p-border-t)",borderRadius:8,padding:"10px 8px",fontSize:11,color:"var(--p-text-f)",textAlign:"center"},children:["No tasks in ",e.label.toLowerCase(),"."]}):(0,de.jsxs)(de.Fragment,{children:[y.map(C=>(0,de.jsxs)("div",{style:{position:"relative"},onDragOver:k=>p(k,C.id),children:[(v==null?void 0:v.taskId)===C.id&&v.position==="before"&&(0,de.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}}),(0,de.jsx)(ji,{task:C,col:e,liveActivity:r==null?void 0:r.get(C.id),onOpen:g,onDragStart:m}),(v==null?void 0:v.taskId)===C.id&&v.position==="after"&&(0,de.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}})]},C.id)),f>0&&(0,de.jsxs)("div",{style:{margin:"4px 0 2px",padding:"6px 8px",borderRadius:6,border:"1px dashed var(--p-border-t)",fontSize:11,color:"var(--p-text-g)",textAlign:"center",lineHeight:1.4},children:["+",f," older ",f===1?"task":"tasks"," not shown"]})]})})]})}var vr=A(we(),1);var ne=A(q(),1),gm={backlog:{text:"var(--p-text-m)",bg:"color-mix(in srgb, var(--p-text-g) 14%, transparent)",border:"color-mix(in srgb, var(--p-text-g) 30%, transparent)"},todo:{text:"var(--p-amber-300)",bg:"color-mix(in srgb, var(--p-amber) 14%, transparent)",border:"color-mix(in srgb, var(--p-amber) 30%, transparent)"},"in-progress":{text:"var(--p-blue-200)",bg:"color-mix(in srgb, var(--p-blue) 14%, transparent)",border:"color-mix(in srgb, var(--p-blue) 30%, transparent)"},review:{text:"var(--p-purple-300)",bg:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"color-mix(in srgb, var(--p-purple) 30%, transparent)"},done:{text:"var(--p-green-300)",bg:"color-mix(in srgb, var(--p-green) 12%, transparent)",border:"color-mix(in srgb, var(--p-green) 30%, transparent)"}},Kx=im,hm={Critical:"var(--p-red)",High:"var(--p-amber-300)",Medium:"var(--p-text-m)",Low:"var(--p-text-f)"},Yi=["in-progress","review","todo","backlog","done"];function Gx(){return(0,ne.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"18px 1fr auto auto",alignItems:"center",gap:10,padding:"6px 10px",borderRadius:8,border:"1px solid var(--p-border-t)",background:"var(--p-bg-2)",animation:"skeleton-pulse 1.5s ease-in-out infinite"},children:[(0,ne.jsx)("div",{style:{width:14,height:14,borderRadius:3,background:"var(--p-border-s)"}}),(0,ne.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"60%"}}),(0,ne.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:44}}),(0,ne.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:36}})]})}function Zi({tasks:e,searchQuery:t,isLoading:a,liveActivities:r,onOpenPanel:o,onAddTask:n,onDrop:l}){let[s,u]=vr.default.useState(null),[d,g]=vr.default.useState(null),[m,p]=vr.default.useState(null),[v,L]=vr.default.useState({backlog:!1,todo:!1,"in-progress":!1,review:!1,done:!1}),S=t?e.filter(c=>(c.title??"").toLowerCase().includes(t.toLowerCase())||(c.description??"").toLowerCase().includes(t.toLowerCase())):e,z=vr.default.useMemo(()=>{let c=new Map;for(let i of Yi)c.set(i,[]);for(let i of S)(c.get(i.status)??[]).push(i);return c},[S]);return(0,ne.jsxs)("div",{id:"kanban-list-view",style:{flex:1,overflowY:"auto",padding:"16px 24px",minHeight:0},children:[a?Yi.slice(0,3).map(c=>{let i=gm[c];return(0,ne.jsxs)("div",{style:{marginBottom:24},children:[(0,ne.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,ne.jsx)("div",{style:{width:18,height:18,borderRadius:5,background:"var(--p-border-s)",animation:"skeleton-pulse 1.5s ease-in-out infinite"}}),(0,ne.jsx)("div",{style:{height:18,borderRadius:6,background:i.bg,border:`1px solid ${i.border}`,width:72,animation:"skeleton-pulse 1.5s ease-in-out infinite"}}),(0,ne.jsx)("div",{style:{height:14,borderRadius:4,background:"var(--p-border-s)",width:16,animation:"skeleton-pulse 1.5s ease-in-out infinite"}})]}),(0,ne.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:Array.from({length:3}).map((f,y)=>(0,ne.jsx)(Gx,{},y))})]},c)}):Yi.map(c=>{let i=z.get(c)??[];if(i.length===0)return null;let f=gm[c];return(0,ne.jsxs)("div",{style:{marginBottom:24},children:[(0,ne.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8,padding:"4px 6px",borderRadius:6,transition:"background .1s",background:d===c?f.bg:"transparent",outline:d===c?`1px dashed ${f.border}`:void 0},onDragOver:y=>{y.preventDefault(),g(c)},onDragLeave:()=>g(null),onDrop:y=>{y.preventDefault(),g(null),p(null),s&&l(s,c),u(null)},children:[(0,ne.jsx)("button",{type:"button",title:v[c]?"Expand":"Collapse",onClick:y=>{y.stopPropagation(),L(C=>({...C,[c]:!C[c]}))},style:{width:18,height:18,borderRadius:5,border:"1px solid var(--p-border-t)",background:"var(--p-surface)",color:"var(--p-text-m)",fontSize:10,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:v[c]?"+":"\\u2212"}),(0,ne.jsx)("span",{style:{fontSize:11,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em",padding:"2px 8px",borderRadius:6,background:f.bg,border:`1px solid ${f.border}`,color:f.text},children:c}),(0,ne.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)"},children:i.length}),(0,ne.jsx)("button",{type:"button",title:`Add task to ${c}`,onClick:y=>{y.stopPropagation(),n(c)},style:{marginLeft:"auto",width:22,height:22,borderRadius:7,border:`1px solid ${f.border}`,background:f.bg,color:f.text,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:14,fontWeight:600},children:"+"})]}),(0,ne.jsx)("div",{style:{display:v[c]?"none":"flex",flexDirection:"column",gap:2},children:i.map(y=>(0,ne.jsx)(jx,{task:y,liveActivity:r==null?void 0:r.get(y.id),onOpen:o,onDragStart:C=>u(C),dragOver:m===y.id,onDragOver:()=>p(y.id),onDragLeave:()=>p(C=>C===y.id?null:C),onDropToStatus:()=>{s&&l(s,y.status),u(null),p(null)}},y.id))})]},c)}),!a&&S.length===0&&(0,ne.jsx)("div",{style:{textAlign:"center",color:"var(--p-text-g)",fontSize:13,marginTop:60},children:"No tasks found"})]})}function jx({task:e,liveActivity:t,onOpen:a,onDragStart:r,dragOver:o,onDragOver:n,onDragLeave:l,onDropToStatus:s}){let[u,d]=vr.default.useState(!1),g=Kx[e.type??"Task"]??"\\u2611",m=e.commentCount??0,p=e.fileCount??0;return(0,ne.jsxs)("div",{"data-task-id":e.id,"data-proto-id":"list-row",draggable:!0,style:{display:"grid",gridTemplateColumns:"18px 1fr auto auto auto",alignItems:"center",gap:10,padding:"6px 10px",borderRadius:8,background:o?"color-mix(in srgb, var(--p-blue) 10%, transparent)":u?"var(--p-hover)":"transparent",border:`1px solid ${o?"color-mix(in srgb, var(--p-blue) 40%, transparent)":u?"var(--p-border)":"transparent"}`,cursor:"grab",transition:"background .1s,border-color .1s",userSelect:"none"},onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onClick:()=>a(e),onDragStart:v=>{v.dataTransfer.effectAllowed="move",r(e.id),v.currentTarget.style.opacity="0.4"},onDragEnd:v=>{v.currentTarget.style.opacity="1"},onDragOver:v=>{v.preventDefault(),n()},onDragLeave:l,onDrop:v=>{v.preventDefault(),s()},children:[(0,ne.jsx)("span",{style:{fontSize:12,textAlign:"center",flexShrink:0},children:g}),(0,ne.jsxs)("div",{style:{minWidth:0},children:[(0,ne.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,ne.jsx)("span",{style:{fontSize:13,fontWeight:500,color:"var(--p-text)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.title}),e.priority&&hm[e.priority]&&(0,ne.jsx)(hn,{className:"w-2.5 h-2.5 flex-shrink-0",style:{color:hm[e.priority]}}),e.component&&(0,ne.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:10,background:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 30%, transparent)",color:"var(--p-purple-300)",flexShrink:0,fontFamily:"monospace"},children:e.component})]}),e.description&&(0,ne.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:1,maxWidth:"100%"},children:e.description.replace(/\\s+/g," ").trim()})]}),(0,ne.jsxs)("button",{title:m>0?`${m} comment(s)`:"Add comment",style:{display:"flex",alignItems:"center",gap:3,fontSize:11,color:m>0?"var(--p-text-m)":"var(--p-border-t)",background:"none",border:"none",cursor:"pointer",padding:"0 2px",flexShrink:0},onClick:v=>{v.stopPropagation(),a(e,"comments")},children:[(0,ne.jsx)(mr,{className:"w-3 h-3"}),m>0&&(0,ne.jsx)("span",{children:m})]}),p>0&&(0,ne.jsxs)("button",{title:`${p} file(s)`,style:{display:"flex",alignItems:"center",gap:3,fontSize:11,color:"var(--p-blue-300)",background:"none",border:"none",cursor:"pointer",padding:"0 2px",flexShrink:0},onClick:v=>{v.stopPropagation(),a(e,"files")},children:[(0,ne.jsx)(gr,{className:"w-3 h-3"}),(0,ne.jsx)("span",{children:p})]}),t&&(0,ne.jsx)(Xi,{activity:t})]})}var fo=A(we(),1);var Na=A(q(),1);function xm({size:e=32,style:t,className:a}){return(0,Na.jsxs)("svg",{width:e,height:e,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:t,className:a,"aria-label":"Vibeflow",children:[(0,Na.jsx)("rect",{width:"32",height:"32",rx:"7",fill:"#2563eb"}),(0,Na.jsx)("rect",{x:"7",y:"13",width:"3.5",height:"10",rx:"1.5",fill:"white",opacity:"0.75"}),(0,Na.jsx)("rect",{x:"12.25",y:"8.5",width:"3.5",height:"15",rx:"1.5",fill:"white"}),(0,Na.jsx)("rect",{x:"17.5",y:"14.5",width:"3.5",height:"8",rx:"1.5",fill:"white",opacity:"0.75"}),(0,Na.jsx)("rect",{x:"22.5",y:"11",width:"2.5",height:"11",rx:"1.25",fill:"white",opacity:"0.85"})]})}var ps=A(q(),1);function cs({id:e,title:t,onClick:a,label:r,icon:o,variant:n="neutral"}){return(0,ps.jsxs)("button",{id:e,onClick:a,title:t,className:`h-7 inline-flex items-center justify-center rounded-lg border transition-colors ${n==="accent"?"border-violet-700/50 bg-violet-900/30 text-violet-300 hover:bg-violet-800/30":"border-slate-700/60 bg-slate-800 text-slate-400 hover:bg-slate-700/50 hover:text-slate-200"} ${r?"gap-1.5 px-3 text-xs font-medium":"w-7"}`,type:"button",children:[o,r&&(0,ps.jsx)("span",{children:r})]})}var K=A(q(),1);function Ji({projectName:e,projectIcon:t,missingProjectIconStyle:a="initial",wsConnected:r,port:o,searchQuery:n,premiumUsage:l,isLoading:s,filterTags:u,allTags:d,onToggleTag:g,backHref:m,backLabel:p,onSearchChange:v,onSettings:L,extraActions:S,taskSummary:z}){let[c,i]=fo.default.useState(!1),[f,y]=fo.default.useState(0),C=fo.default.useRef(null),k=fo.default.useRef(null),h=n.match(/(?:^|\\s)#(\\S*)$/),w=h?h[1]:null,b=u??[],M=(d??[]).filter(N=>!b.includes(N)),R=w!==null?M.filter(N=>N.toLowerCase().includes(w.toLowerCase())):[];fo.default.useEffect(()=>{y(0)},[R.length]);function F(N){var te;let Z=n.replace(/\\s*#\\S*$/,"");v(Z),g==null||g(N),(te=C.current)==null||te.focus()}function ee(N){if(N.key==="Backspace"&&n===""&&b.length>0){N.preventDefault(),g==null||g(b[b.length-1]);return}if(!(w===null||R.length===0)){if(N.key==="ArrowDown")N.preventDefault(),y(Z=>Math.min(Z+1,R.length-1));else if(N.key==="ArrowUp")N.preventDefault(),y(Z=>Math.max(Z-1,0));else if(N.key==="Enter")N.preventDefault(),R[f]&&F(R[f]);else if(N.key==="Escape"){let Z=n.replace(/\\s*#\\S*$/,"");v(Z)}}}let G=(t??"").trim(),Ie=e?e.charAt(0).toUpperCase()+e.slice(1):"Vibeflow Board",_=n||b.length>0;return(0,K.jsxs)("header",{className:"px-5 py-3 flex items-center gap-3 border-b border-slate-800/60 flex-shrink-0",children:[(0,K.jsxs)("div",{className:"flex items-center gap-3 flex-shrink-0",children:[m&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("a",{id:"header-back-link",href:m,className:"text-xs text-slate-400 hover:text-slate-200 transition-colors no-underline",style:{textDecoration:"none",fontWeight:500},children:p??"Back"}),(0,K.jsx)(mn,{className:"w-3 h-3 text-slate-600 flex-shrink-0"})]}),(0,K.jsx)("div",{className:"flex-shrink-0",style:G?{fontSize:20}:void 0,children:G||(a==="vibeflow"?(0,K.jsx)(xm,{size:32}):(0,K.jsx)("div",{style:{width:32,height:32,borderRadius:8,flexShrink:0,background:"linear-gradient(135deg, #1e3a5f 0%, #1e293b 100%)",border:"1px solid rgba(37,99,235,0.3)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:13,fontWeight:700,color:"#93c5fd",letterSpacing:"-0.01em"},title:Ie,children:Ie.charAt(0).toUpperCase()}))}),(0,K.jsxs)("div",{children:[(0,K.jsxs)("div",{className:"flex items-center gap-2",children:[(0,K.jsx)("h1",{id:"header-project-name",className:"text-sm font-semibold text-white leading-tight",children:Ie}),r&&(0,K.jsxs)("div",{id:"header-live-pill",className:"flex items-center gap-1.5 rounded-full px-2 py-0.5",style:{background:"color-mix(in srgb, var(--p-green) 30%, transparent)",border:"1px solid color-mix(in srgb, var(--p-green) 28%, transparent)"},children:[(0,K.jsx)("div",{className:"w-1.5 h-1.5 rounded-full bg-green-400",style:{animation:"pulse-live 2s ease-in-out infinite"}}),(0,K.jsxs)("span",{className:"text-[10px] font-medium text-green-400",children:["live \\xB7 :",o]})]})]}),(0,K.jsxs)("p",{className:"text-[10px] text-slate-500 font-mono mt-0.5",children:[z,s&&(0,K.jsx)("span",{id:"header-loading-indicator",className:"inline-block ml-1.5 w-1 h-1 rounded-full bg-blue-400",style:{animation:"pulse-live 1.4s ease-in-out infinite",verticalAlign:"middle"}})]})]})]}),(0,K.jsx)("div",{className:"flex-1 flex justify-center px-4",children:(0,K.jsxs)("div",{className:"relative w-full max-w-sm",children:[(0,K.jsxs)("div",{className:"flex flex-wrap items-center gap-1 w-full min-h-[30px] rounded-lg bg-slate-800 border border-slate-700/60 px-2 py-1 cursor-text transition-colors focus-within:border-blue-500",onClick:()=>{var N;return(N=C.current)==null?void 0:N.focus()},children:[(0,K.jsx)(Sn,{className:"w-3.5 h-3.5 text-slate-500 flex-shrink-0 mr-0.5"}),b.map(N=>{let{bg:Z,text:te,border:W}=Ut(N);return(0,K.jsxs)("span",{style:{background:Z,color:te,border:`1px solid ${W}`,display:"inline-flex",alignItems:"center",gap:3,padding:"1px 7px",borderRadius:100,fontSize:11,fontWeight:500,whiteSpace:"nowrap"},children:[N,(0,K.jsx)("button",{onClick:ce=>{ce.stopPropagation(),g==null||g(N)},style:{background:"none",border:"none",cursor:"pointer",padding:0,lineHeight:1,color:"inherit",opacity:.7,display:"flex"},children:(0,K.jsx)(Ne,{style:{width:9,height:9}})})]},N)}),(0,K.jsx)("input",{ref:C,id:"global-search",type:"text",placeholder:b.length===0?"Search\\u2026 or type #tag":"#tag or search\\u2026",value:n,onChange:N=>v(N.target.value),onKeyDown:ee,className:"flex-1 min-w-[100px] bg-transparent border-none outline-none text-xs text-slate-200 placeholder-slate-500",autoComplete:"off",spellCheck:!1}),_&&(0,K.jsx)("button",{id:"global-search-clear",onClick:()=>{v(""),b.forEach(N=>g==null?void 0:g(N))},className:"text-slate-500 hover:text-slate-300 transition-colors flex-shrink-0 flex",title:"Clear search and tag filters",children:(0,K.jsx)(Ne,{className:"w-3.5 h-3.5"})})]}),w!==null&&R.length>0&&(0,K.jsxs)("div",{ref:k,style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.3)",zIndex:50,overflow:"hidden"},children:[(0,K.jsx)("div",{style:{padding:"5px 10px",fontSize:10,textTransform:"uppercase",letterSpacing:"0.06em",color:"var(--p-text-g)",borderBottom:"1px solid var(--p-border)"},children:"Tags"}),R.map((N,Z)=>{let{bg:te,text:W,border:ce}=Ut(N);return(0,K.jsxs)("button",{onMouseDown:je=>{je.preventDefault(),F(N)},onMouseEnter:()=>y(Z),style:{width:"100%",textAlign:"left",display:"flex",alignItems:"center",gap:8,padding:"7px 12px",background:Z===f?"var(--p-hover)":"none",border:"none",cursor:"pointer"},children:[(0,K.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:W,flexShrink:0}}),(0,K.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:N}),(0,K.jsx)("span",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",padding:"1px 7px",borderRadius:100,fontSize:10,background:te,color:W,border:`1px solid ${ce}`},children:"tag"})]},N)}),(0,K.jsx)("div",{style:{padding:"5px 10px",fontSize:10,color:"var(--p-text-g)",borderTop:"1px solid var(--p-border)"},children:"\\u2191\\u2193 navigate \\xB7 Enter select \\xB7 Esc close"})]})]})}),(0,K.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[S,(0,K.jsx)(cs,{id:"header-shortcuts-hint",title:"Click to see keyboard shortcuts",onClick:()=>i(!0),label:"? shortcuts"}),(0,K.jsx)(cs,{id:"btn-settings",title:"Settings",onClick:L,icon:(0,K.jsx)(hr,{className:"w-3.5 h-3.5"})})]}),c&&(0,K.jsx)("div",{style:{position:"fixed",inset:0,background:"rgba(2,12,27,0.80)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",zIndex:200,display:"flex",alignItems:"center",justifyContent:"center"},onClick:()=>i(!1),children:(0,K.jsxs)("div",{id:"shortcuts-modal",style:{background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:14,padding:"20px 24px",minWidth:320,maxWidth:420,boxShadow:"var(--p-shadow-lg)"},onClick:N=>N.stopPropagation(),children:[(0,K.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:16},children:[(0,K.jsx)("span",{style:{fontSize:13,fontWeight:700,color:"var(--p-text)"},children:"Keyboard Shortcuts"}),(0,K.jsx)("button",{onClick:()=>i(!1),style:{background:"none",border:"none",cursor:"pointer",color:"var(--p-text-f)",padding:2},children:(0,K.jsx)(Ne,{style:{width:14,height:14}})})]}),(0,K.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[["Alt+N","Open new task panel"],["Esc","Close panel / modal"],["?","Show this shortcuts overlay"],["Alt+F","Focus task search"]].map(([N,Z])=>(0,K.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12},children:[(0,K.jsx)("kbd",{style:{fontSize:10,fontFamily:"monospace",background:"var(--p-surface)",border:"1px solid var(--p-border-t)",borderRadius:4,padding:"2px 7px",color:"var(--p-text-sub)",flexShrink:0},children:N}),(0,K.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:Z})]},N))})]})})]})}var X=A(we(),1);var ms=A(we(),1);var Xt=A(q(),1);function gs({id:e,value:t,onChange:a,disabled:r}){let[o,n]=ms.default.useState(!1),l=ms.default.useRef(null),s=xr.find(u=>u.value===t)??xr[0];return ms.default.useEffect(()=>{let u=d=>{var g;(g=l.current)!=null&&g.contains(d.target)||n(!1)};return document.addEventListener("click",u),()=>document.removeEventListener("click",u)},[]),(0,Xt.jsxs)("div",{id:e,ref:l,style:{position:"relative",display:"inline-block"},children:[(0,Xt.jsxs)("button",{type:"button",title:s==null?void 0:s.tooltip,onClick:u=>{u.preventDefault(),r||n(d=>!d)},style:{display:"inline-flex",alignItems:"center",gap:5,padding:"3px 8px",borderRadius:6,border:"1px solid var(--p-border, rgba(255,255,255,0.08))",background:"var(--p-hover, rgba(255,255,255,0.05))",color:"var(--p-text-m, rgba(255,255,255,0.7))",fontSize:12,cursor:"pointer",whiteSpace:"nowrap"},children:[(0,Xt.jsx)("span",{style:{fontSize:13},children:s==null?void 0:s.icon}),(0,Xt.jsx)("span",{children:s==null?void 0:s.label})]}),o&&(0,Xt.jsx)("div",{style:{position:"absolute",top:"100%",left:0,marginTop:4,background:"var(--p-card, #1e293b)",border:"1px solid var(--p-border-s, rgba(255,255,255,0.12))",borderRadius:8,padding:"4px 0",zIndex:200,minWidth:140,boxShadow:"0 8px 24px rgba(0,0,0,0.4)"},children:xr.map(u=>(0,Xt.jsxs)("button",{type:"button",title:u.tooltip,onClick:()=>{a(u.value),n(!1)},style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"6px 12px",border:"none",background:u.value===t?"var(--p-hover, rgba(255,255,255,0.06))":"transparent",color:u.value===t?"var(--p-text, #fff)":"var(--p-text-f, rgba(255,255,255,0.55))",fontSize:12,cursor:"pointer",textAlign:"left"},children:[(0,Xt.jsx)("span",{style:{fontSize:14,lineHeight:1},children:u.icon}),(0,Xt.jsx)("span",{children:u.label})]},u.value))})]})}var et=A(we(),1);var Pn=A(we(),1);var Ha=A(q(),1);function _a({markdown:e,className:t,style:a}){let r=Pn.default.useRef(null),o=Pn.default.useRef({}),[n,l]=Pn.default.useState(null);return Pn.default.useEffect(()=>{let s=r.current;if(!s)return;function u(){l(null)}async function d(m){let p=m.target,v=p==null?void 0:p.closest("a[data-task-ref]");if(!v){u();return}m.preventDefault();let L=v.getAttribute("data-task-ref");if(!L)return;let S=v.getBoundingClientRect(),z=o.current[L];if(z){l({id:L,title:z.title,status:z.status,x:S.left,y:S.bottom+6});return}try{let i=await(await fetch(`/api/tasks/${L}`)).json(),f={title:i.title??`Task ${L}`,status:i.status??"unknown"};o.current[L]=f,l({id:L,title:f.title,status:f.status,x:S.left,y:S.bottom+6})}catch{l({id:L,title:`Task ${L}`,status:"unknown",x:S.left,y:S.bottom+6})}}function g(m){var L,S;let p=(S=(L=m.target)==null?void 0:L.closest)==null?void 0:S.call(L,"a[data-task-ref]");if(!p)return;let v=p.getAttribute("data-task-ref");v&&window.dispatchEvent(new CustomEvent("vibeflow-task-ref-click",{detail:{refId:v}}))}return s.addEventListener("mouseover",d),s.addEventListener("mouseleave",u),s.addEventListener("click",g),()=>{s.removeEventListener("mouseover",d),s.removeEventListener("mouseleave",u),s.removeEventListener("click",g)}},[]),(0,Ha.jsxs)("div",{style:{position:"relative"},children:[(0,Ha.jsx)("div",{ref:r,className:t,style:a,dangerouslySetInnerHTML:{__html:ns(e)}}),n&&(0,Ha.jsxs)("div",{style:{position:"fixed",left:n.x,top:n.y,background:"#0f172a",border:"1px solid rgba(59,130,246,0.4)",color:"#e2e8f0",borderRadius:8,padding:"8px 10px",fontSize:11,boxShadow:"0 10px 24px rgba(2,6,23,0.55)",zIndex:60,pointerEvents:"none",minWidth:180},children:[(0,Ha.jsxs)("div",{style:{color:"#60a5fa",fontFamily:"Menlo,monospace",marginBottom:3},children:["#",n.id]}),(0,Ha.jsx)("div",{style:{fontWeight:600,marginBottom:3},children:n.title}),(0,Ha.jsxs)("div",{style:{color:"#94a3b8"},children:["status: ",n.status]})]})]})}var Tn=A(we(),1),vm=A(q(),1),co=Tn.default.forwardRef(function({value:t,onChange:a,baseRows:r=4,maxRows:o,style:n,...l},s){let u=Tn.default.useRef(null),d=o??r*2,g=Tn.default.useCallback(()=>{let m=u.current;if(!m)return;m.style.height="auto";let p=window.getComputedStyle(m),v=Number.parseFloat(p.lineHeight||"0")||18,L=Number.parseFloat(p.paddingTop||"0")+Number.parseFloat(p.paddingBottom||"0"),S=Number.parseFloat(p.borderTopWidth||"0")+Number.parseFloat(p.borderBottomWidth||"0"),z=r*v+L+S,c=d*v+L+S,i=Math.max(z,Math.min(m.scrollHeight,c));m.style.height=`${i}px`,m.style.overflowY=m.scrollHeight>c?"auto":"hidden"},[r,d]);return Tn.default.useLayoutEffect(()=>{g()},[t,g]),(0,vm.jsx)("textarea",{...l,ref:m=>{u.current=m,typeof s=="function"?s(m):s&&(s.current=m)},rows:r,value:t,onChange:m=>a(m.target.value),style:{...n,resize:"none"}})});var Sm=A(we(),1);var ym=A(we(),1),Lm=A(oo(),1),da=A(q(),1);function yr({open:e,onClose:t,icon:a,title:r,headerActions:o,width:n,maxHeight:l,id:s,children:u,footer:d,boxStyle:g,onKeyDown:m}){if(ym.default.useEffect(()=>{if(!e)return;function L(S){S.key==="Escape"&&t(),m==null||m(S)}return window.addEventListener("keydown",L),()=>window.removeEventListener("keydown",L)},[e,t,m]),!e)return null;let p=!!(a||r||o),v=(0,da.jsx)("div",{id:s,className:"modal-backdrop",onClick:L=>{L.target===L.currentTarget&&t()},onMouseDown:L=>L.stopPropagation(),children:(0,da.jsxs)("div",{className:"modal-box",style:{width:n??"min(420px, 95vw)",maxHeight:l,...g},children:[p&&(0,da.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 18px",borderBottom:"1px solid var(--p-border)",flexShrink:0},children:[a&&(0,da.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:a}),r&&(0,da.jsx)("span",{style:{fontSize:14,fontWeight:600,color:"var(--p-text)",flex:1,minWidth:0},children:r}),o&&(0,da.jsx)("div",{style:{display:"flex",alignItems:"center",gap:4,flexShrink:0,marginLeft:"auto"},children:o})]}),u,d&&(0,da.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:8,padding:"10px 18px",borderTop:"1px solid var(--p-border)",flexShrink:0},children:d})]})});return(0,Lm.createPortal)(v,document.body)}var wt=A(q(),1);function Qt({open:e,message:t,title:a="Confirm",confirmLabel:r="Delete",cancelLabel:o="Cancel",loading:n,error:l,onConfirm:s,onCancel:u}){let d=Sm.default.useCallback(g=>{g.key==="Enter"&&s()},[s]);return(0,wt.jsx)(yr,{open:e,onClose:u,id:"confirm-modal",width:"min(380px, 95vw)",icon:(0,wt.jsx)(za,{style:{width:20,height:20,color:"#f87171"}}),title:a,onKeyDown:d,footer:(0,wt.jsxs)(wt.Fragment,{children:[(0,wt.jsx)("button",{id:"confirm-modal-cancel",onClick:u,disabled:n,style:{padding:"7px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer",transition:"background 0.15s"},children:o}),(0,wt.jsx)("button",{id:"confirm-modal-confirm",onClick:s,disabled:n,style:{padding:"7px 16px",borderRadius:8,background:"#dc2626",border:"none",color:"#fff",fontSize:13,fontWeight:600,cursor:n?"wait":"pointer",opacity:n?.6:1,transition:"background 0.15s"},children:n?"Deleting\\u2026":r})]}),children:(0,wt.jsxs)("div",{style:{padding:"16px 18px"},children:[typeof t=="string"?(0,wt.jsx)("p",{style:{margin:0,fontSize:13,color:"var(--p-text-f)",lineHeight:1.6},children:t}):t,l&&(0,wt.jsx)("p",{style:{margin:"8px 0 0",fontSize:12,color:"var(--p-red)"},children:l})]})})}var Ee=A(q(),1);function Im(e){return e.linkedPath?"\\u{1F517}":/\\.(png|jpe?g|gif|webp|svg)$/i.test(e.name)?"\\u{1F5BC}\\uFE0F":/\\.html?$/i.test(e.name)?"\\u{1F310}":/\\.md$/i.test(e.name)||/\\.pdf$/i.test(e.name)?"\\u{1F4C4}":"\\u{1F4CE}"}function Xx(e){return/\\.(png|jpe?g|gif|webp|svg|html?)$/i.test(e.name)}function Qx(e){return/\\.html?$/i.test(e.name)}function hs({file:e,url:t,variant:a,onPreview:r,onDelete:o}){let n=Xx(e),l=Qx(e);function s(){r?r(e,t):window.open(t,"_blank")}return a==="compact"?(0,Ee.jsxs)("div",{className:"group/file-compact",style:{display:"flex",alignItems:"center",gap:8,padding:"4px 8px",borderRadius:8,background:"var(--p-card)",border:"1px solid var(--p-border)",position:"relative"},children:[(0,Ee.jsx)("span",{style:{fontSize:14,flexShrink:0},children:Im(e)}),(0,Ee.jsx)("div",{style:{flex:1,minWidth:0},children:(0,Ee.jsx)("button",{onClick:s,style:{fontSize:12,color:"var(--p-blue-300)",background:"none",border:"none",cursor:"pointer",padding:0,textAlign:"left",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"},title:e.name,children:e.name})}),(0,Ee.jsx)("span",{className:"file-compact-ts",style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:e.createdAt?lt(e.createdAt):"attached"}),(0,Ee.jsxs)("div",{className:"file-compact-actions",style:{position:"absolute",right:6,top:0,bottom:0,display:"flex",alignItems:"center",gap:4,transition:"opacity 0.15s",background:"var(--p-card)",paddingLeft:8},children:[n&&(0,Ee.jsx)("button",{onClick:s,style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:l?"Open in new tab":"Preview",children:l?"\\u2197":"\\u{1F441}"}),(0,Ee.jsx)("a",{href:t,download:e.name,style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)",textDecoration:"none"},title:"Download",onClick:u=>u.stopPropagation(),children:"\\u2193"}),o&&(0,Ee.jsx)("button",{onClick:()=>void o(e),style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:"Delete",children:"\\u2715"})]})]}):(0,Ee.jsxs)("div",{className:"group/file",style:{display:"flex",alignItems:"center",gap:10,padding:8,borderRadius:8,border:"1px solid var(--p-border)",transition:"background 0.15s",position:"relative"},children:[(0,Ee.jsx)("span",{style:{fontSize:18,flexShrink:0},children:Im(e)}),(0,Ee.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,Ee.jsx)("p",{style:{fontSize:12,fontWeight:500,color:"var(--p-text)",margin:0,cursor:"pointer",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.name,onClick:s,children:e.name}),(0,Ee.jsx)("p",{style:{fontSize:10,color:"var(--p-text-f)",margin:0},children:e.linkedPath?`linked: ${e.linkedPath}`:$i(e.size??0)})]}),(0,Ee.jsxs)("div",{className:"file-normal-actions",style:{display:"flex",alignItems:"center",gap:4,transition:"opacity 0.15s"},children:[n&&(0,Ee.jsx)("button",{onClick:s,style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:l?"Open in new tab":"Preview",children:l?"\\u2197":"\\u{1F441}"}),(0,Ee.jsx)("a",{href:t,download:e.name,style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)",textDecoration:"none"},title:"Download",onClick:u=>u.stopPropagation(),children:"\\u2193"}),o&&(0,Ee.jsx)("button",{onClick:()=>void o(e),style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:"Delete",children:"\\u2715"})]})]})}var B=A(q(),1);function Cm({source:e}){return e!=="cli"?null:(0,B.jsx)("span",{title:"Via CLI (agent)",style:{fontSize:9,color:"var(--p-green-300)",background:"rgba(34,197,94,0.1)",border:"1px solid rgba(34,197,94,0.2)",borderRadius:4,padding:"0 4px",fontFamily:"monospace",lineHeight:"16px",flexShrink:0},children:">_"})}function Yx(e,t){if(e.kind==="lifecycle")return e.author??null;if(e.kind==="comment"){let a=e.comment;return a.type==="system"?null:a.author==="agent"?"\\u{1F916} Agent":a.authorName??t}return e.kind==="change"?e.actor:null}function Zx(e,t){let a=[];for(let r of e){let o=Yx(r,t),n=a[a.length-1];o&&n&&n.author===o?(n.items.push(r),r.sortKey>n.newestSortKey&&(n.newestSortKey=r.sortKey),r.sortKey<n.oldestSortKey&&(n.oldestSortKey=r.sortKey)):a.push({author:o,newestSortKey:r.sortKey,oldestSortKey:r.sortKey,items:[r]})}return a}function ed({comments:e,files:t=[],localChanges:a=[],loading:r,error:o,gitUserName:n="You",taskAuthorName:l,baseUrl:s="",taskId:u,taskCreatedAt:d,taskUpdatedAt:g,onEdit:m,onDelete:p,onDeleteFile:v,onFilePreview:L}){let S=et.default.useRef(null),z=et.default.useRef(null),[c,i]=et.default.useState(null),[f,y]=et.default.useState(""),[C,k]=et.default.useState(null),[h,w]=et.default.useState(null),[b,M]=et.default.useState(()=>{try{return localStorage.getItem("vibeflow-show-updates")!=="false"}catch{return!0}}),R=et.default.useRef(r),F=et.default.useMemo(()=>{let _=[];d&&_.push({kind:"lifecycle",sortKey:d,label:"Task created",icon:"\\u2726",author:l??n}),g&&g!==d&&_.push({kind:"lifecycle",sortKey:g,label:"Task edited",icon:"\\u270E"});let N=e.map(W=>({kind:"comment",sortKey:W.createdAt,comment:W})),Z=t.map(W=>{let ce=W.url.startsWith("http")?W.url:`${s}${W.url}`;return{kind:"file",sortKey:W.createdAt??"9999",file:W,url:ce}}),te=a.map(W=>({kind:"change",sortKey:W.timestamp,field:W.field,from:W.from,to:W.to,actor:W.actor,source:W.source}));return[..._,...N,...Z,...te].sort((W,ce)=>ce.sortKey.localeCompare(W.sortKey))},[e,t,a,s,d,g]),ee=et.default.useMemo(()=>F.filter(_=>_.kind==="lifecycle"||_.kind==="change").length,[F]),G=et.default.useMemo(()=>b?F:F.filter(_=>_.kind==="comment"||_.kind==="file"),[F,b]),Ie=et.default.useMemo(()=>Zx(G,n),[G,n]);return et.default.useEffect(()=>{let _=R.current&&!r;R.current=r,S.current&&_&&requestAnimationFrame(()=>{S.current&&(S.current.scrollTop=0)})},[r]),et.default.useEffect(()=>{c&&z.current&&(z.current.focus(),z.current.scrollIntoView({block:"nearest"}))},[c]),r?(0,B.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"Loading\\u2026"}):o?(0,B.jsx)("p",{style:{color:"var(--p-red-500)",fontSize:12,textAlign:"center",padding:"8px 0"},children:"Failed to load."}):F.length===0?(0,B.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"No activity yet."}):(0,B.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",minHeight:0},children:[ee>0&&(0,B.jsxs)("div",{style:{display:"flex",alignItems:"center",padding:"4px 0 4px",flexShrink:0,borderBottom:"1px solid var(--p-border)",marginBottom:4},children:[(0,B.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",flex:1,letterSpacing:"0.04em"},children:b?"":`${ee} system event${ee!==1?"s":""} hidden`}),(0,B.jsx)("button",{id:"dp-toggle-updates",onClick:()=>M(_=>{let N=!_;try{localStorage.setItem("vibeflow-show-updates",String(N))}catch{}return N}),style:{all:"unset",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:5,color:b?"var(--p-text-m)":"var(--p-text-g)",transition:"color .12s, background .12s"},title:b?"Hide system events":`Show ${ee} system event${ee!==1?"s":""}`,onMouseEnter:_=>{_.currentTarget.style.color="var(--p-text)",_.currentTarget.style.background="var(--p-hover)"},onMouseLeave:_=>{_.currentTarget.style.color=b?"var(--p-text-m)":"var(--p-text-g)",_.currentTarget.style.background="transparent"},children:b?(0,B.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,B.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,B.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}):(0,B.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,B.jsx)("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),(0,B.jsx)("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]})})]}),(0,B.jsx)("div",{ref:S,style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column",gap:2,minHeight:0},children:Ie.map((_,N)=>{let Z=_.author!==null&&_.items.length>1,te=Z,W=_.author==="\\u{1F916} Agent";return(0,B.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[te&&(0,B.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 0 2px",marginTop:4},children:[(0,B.jsx)("span",{style:{fontSize:11,fontWeight:600,color:W?"var(--p-purple)":"var(--p-blue-300)",flexShrink:0},children:_.author}),(0,B.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",flexShrink:0},children:`${lt(_.oldestSortKey)} \\u2013 ${lt(_.newestSortKey)}`}),(0,B.jsxs)("span",{style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:["(",_.items.length," activities)"]})]}),(0,B.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:Z?4:8,paddingLeft:Z?8:0,borderLeft:Z?"1.5px solid var(--p-border)":"none",marginLeft:Z?4:0},children:_.items.map((ce,je)=>Jx(ce,je,N,Z,n,c,f,z,i,y,m,k,v?w:null,L))})]},`group-${N}`)})}),(0,B.jsx)(Qt,{open:C!==null,message:"Delete this comment? This action cannot be undone.",onConfirm:()=>{C&&p(C),k(null)},onCancel:()=>k(null)}),v&&(0,B.jsx)(Qt,{open:h!==null,message:h?`Delete "${h.name}"? This action cannot be undone.`:"",onConfirm:()=>{h&&v(h),w(null)},onCancel:()=>w(null)})]})}function Jx(e,t,a,r,o,n,l,s,u,d,g,m,p,v){if(e.kind==="lifecycle")return(0,B.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:6,padding:"2px 0"},children:[(0,B.jsx)("span",{style:{fontSize:11,color:"var(--p-purple)",fontWeight:600,flexShrink:0,minWidth:18,paddingTop:1},children:e.icon}),(0,B.jsx)("div",{style:{flex:1,minWidth:0},children:(0,B.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,B.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)",fontStyle:"italic"},children:e.label}),!r&&(0,B.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",marginLeft:"auto",flexShrink:0},children:lt(e.sortKey)})]})})]},`lifecycle-${e.sortKey}-${a}-${t}`);if(e.kind==="change"){let C=e.from.length>28?e.from.slice(0,28)+"\\u2026":e.from,k=e.to.length>28?e.to.slice(0,28)+"\\u2026":e.to,h=e.from.length>28||e.to.length>28;return(0,B.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:6,padding:"2px 0"},children:[(0,B.jsx)("span",{style:{fontSize:11,color:"var(--p-blue)",fontWeight:600,flexShrink:0,minWidth:18,paddingTop:1},children:"\\u270E"}),(0,B.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,B.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[!r&&(0,B.jsxs)("span",{style:{fontSize:11,fontWeight:600,color:"var(--p-blue-300)"},children:["\\u{1F464} ",e.actor]}),!r&&(0,B.jsx)(Cm,{source:e.source}),(0,B.jsxs)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:["changed ",(0,B.jsx)("strong",{style:{color:"var(--p-text)"},children:e.field})]}),!r&&(0,B.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",marginLeft:"auto",flexShrink:0},children:lt(e.sortKey)})]}),(0,B.jsxs)("div",{title:h?`${e.from} \\u2192 ${e.to}`:void 0,style:{marginTop:2,fontSize:11,color:"var(--p-text-g)",display:"flex",alignItems:"center",gap:4,cursor:h?"help":"default"},children:[(0,B.jsx)("span",{style:{color:"var(--p-red)",background:"rgba(239,68,68,0.1)",borderRadius:4,padding:"1px 5px",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:C}),(0,B.jsx)("span",{style:{color:"var(--p-text-g)"},children:"\\u2192"}),(0,B.jsx)("span",{style:{color:"var(--p-green)",background:"rgba(34,197,94,0.1)",borderRadius:4,padding:"1px 5px",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:k})]})]})]},`change-${e.sortKey}-${a}-${t}`)}if(e.kind==="file"){let{file:y,url:C}=e;return(0,B.jsx)(hs,{file:y,url:C,variant:"compact",onPreview:v?(k,h)=>v(k.name,h):void 0,onDelete:p?k=>(p(k),Promise.resolve()):void 0},`file-${y.name}-${a}-${t}`)}let L=e.comment,S=L.author==="agent",z=L.type==="system",c=L.deleted===!0,i=!!L.id&&!S&&!z&&!c&&L.isOwnComment!==!1,f=n===L.id;return z?(0,B.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"2px 0",fontSize:11,color:"var(--p-text-g)",fontStyle:"italic"},children:[(0,B.jsx)("span",{style:{opacity:.6},children:"\\u2B21"}),(0,B.jsx)("span",{children:L.text}),!r&&(0,B.jsx)("span",{style:{marginLeft:"auto",flexShrink:0,opacity:.6},children:lt(L.createdAt)})]},L.id):(0,B.jsxs)("div",{className:"flex flex-col gap-1 group/comment",style:{paddingTop:r?2:4},children:[!r&&(0,B.jsxs)("div",{className:"flex items-center justify-between gap-1.5 text-xs mb-0.5",children:[(0,B.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,B.jsx)("span",{style:{color:c?"var(--p-text-g)":S?"var(--p-purple)":"var(--p-blue-300)"},children:S?"\\u{1F916} Agent":`\\u{1F464} ${L.authorName??o}`}),(0,B.jsx)(Cm,{source:L.source}),(0,B.jsxs)("span",{style:{color:"var(--p-text-g)"},children:[lt(L.createdAt),!c&&L.updatedAt?" \\xB7 edited":"",c?" \\xB7 deleted":""]})]}),i&&(0,B.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/comment:opacity-100 transition-opacity",children:[(0,B.jsx)("button",{onClick:()=>{u(L.id),d(L.text)},className:"p-1 rounded hover:bg-slate-700 transition-colors",title:"Edit",children:(0,B.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u270E"})}),(0,B.jsx)("button",{onClick:()=>m(L),className:"p-1 rounded hover:bg-red-900/40 transition-colors",title:"Delete",children:(0,B.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u2715"})})]})]}),r&&(0,B.jsxs)("div",{className:"flex items-center justify-between gap-1.5",style:{marginBottom:2},children:[(0,B.jsxs)("span",{style:{fontSize:10,color:"var(--p-text-g)"},children:[lt(L.createdAt),!c&&L.updatedAt?" \\xB7 edited":"",c?" \\xB7 deleted":""]}),i&&(0,B.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/comment:opacity-100 transition-opacity",children:[(0,B.jsx)("button",{onClick:()=>{u(L.id),d(L.text)},className:"p-1 rounded hover:bg-slate-700 transition-colors",title:"Edit",children:(0,B.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u270E"})}),(0,B.jsx)("button",{onClick:()=>m(L),className:"p-1 rounded hover:bg-red-900/40 transition-colors",title:"Delete",children:(0,B.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u2715"})})]})]}),f?(0,B.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,B.jsx)(co,{ref:s,value:l,onChange:d,baseRows:4,maxRows:12,onKeyDown:y=>{y.key==="Enter"&&(y.ctrlKey||y.metaKey)&&(y.preventDefault(),g(L,l).then(()=>u(null)))},style:{width:"100%",background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:6,padding:"8px 10px",fontSize:12,color:"var(--p-text)",outline:"none",fontFamily:"inherit",boxSizing:"border-box"}}),(0,B.jsxs)("div",{style:{display:"flex",gap:6,justifyContent:"flex-end"},children:[(0,B.jsx)("button",{onClick:()=>u(null),style:{padding:"4px 10px",background:"var(--p-surface)",border:"none",borderRadius:5,fontSize:11,color:"var(--p-text-sub)",cursor:"pointer"},children:"Cancel"}),(0,B.jsx)("button",{onClick:async()=>{await g(L,l),u(null)},style:{padding:"4px 10px",background:"var(--p-blue)",border:"none",borderRadius:5,fontSize:11,color:"var(--p-white)",cursor:"pointer"},children:"Save"})]})]}):c?(0,B.jsx)("div",{style:{padding:"8px 14px",fontSize:12,color:"var(--p-text-g)",fontStyle:"italic",background:"var(--p-input)",border:"1px dashed var(--p-border)",borderRadius:8},children:"Comment deleted"}):(0,B.jsx)(_a,{markdown:L.text,style:{background:"var(--p-input)",border:"1px solid var(--p-border)",borderRadius:8,padding:"10px 14px",fontSize:12,color:"var(--p-text-sub)",lineHeight:1.6}})]},L.id)}var wm=A(we(),1);var qa=A(q(),1);function td({files:e,loading:t,error:a,baseUrl:r,onPreview:o,onDelete:n}){let[l,s]=wm.default.useState(null);return t?(0,qa.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"Loading\\u2026"}):a?(0,qa.jsx)("p",{style:{color:"var(--p-red-500)",fontSize:12,textAlign:"center",padding:"8px 0"},children:"Failed to load."}):e.length===0?(0,qa.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"No files attached."}):(0,qa.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[e.map(u=>{let d=u.url??`${r}/api/files/${encodeURIComponent(u.name)}`;return(0,qa.jsx)(hs,{file:u,url:d,variant:"normal",onPreview:g=>o(g),onDelete:n?g=>(s(g),Promise.resolve()):void 0},u.name)}),n&&(0,qa.jsx)(Qt,{open:l!==null,message:l?`Delete "${l.name}"? This action cannot be undone.`:"",onConfirm:()=>{l&&n(l),s(null)},onCancel:()=>s(null)})]})}var od=A(we(),1);var po=A(we(),1),km=A(oo(),1);var Nt=A(q(),1);function Rn({value:e,onChange:t,previewValue:a,showPreview:r,setShowPreview:o,previewId:n,textareaId:l,placeholder:s,previewEmptyText:u,previewMinHeight:d=54,previewMaxHeight:g=220,baseRows:m=5,maxRows:p=12,autoFocus:v=!1,textareaRef:L,onKeyDown:S,afterTextarea:z,onBlur:c}){let i=po.default.useRef(null),[f,y]=po.default.useState([]),[C,k]=po.default.useState(null),[h,w]=po.default.useState(null);po.default.useEffect(()=>{let R=!0;return fetch("/api/tasks").then(F=>F.json()).then(F=>{if(!R)return;let ee=(F.tasks??[]).map(G=>({id:String(G.id??""),title:String(G.title??"")})).filter(G=>G.id.length>0);y(ee)}).catch(()=>{}),()=>{R=!1}},[]);function b(R){let F=i.current;if(!F){k(null);return}let ee=F.selectionStart??R.length,G=R.slice(0,ee),Ie=-1;for(let te=G.length-1;te>=0;te--){if(G[te]!=="#")continue;let W=te>0?G[te-1]:"";if(W&&!/\\s/.test(W))continue;let ce=G.slice(te+1);if(!ce.includes("#")){if(ce.length>80)return;Ie=te;break}}if(Ie===-1){k(null);return}let _=G.slice(Ie+1).trim().toLowerCase(),N=f.filter(te=>{if(!_)return!0;let W=te.id.toLowerCase(),ce=te.title.toLowerCase();return W.includes(_)||ce.includes(_)}).sort((te,W)=>{let ce=te.id.toLowerCase().startsWith(_)?1:0,je=W.id.toLowerCase().startsWith(_)?1:0;if(ce!==je)return je-ce;let bt=te.title.toLowerCase().startsWith(_)?1:0,Xe=W.title.toLowerCase().startsWith(_)?1:0;return bt!==Xe?Xe-bt:te.id.localeCompare(W.id)}).slice(0,6);if(!N.length){k(null),w(null);return}let Z=F.getBoundingClientRect();w({top:Z.top,left:Z.left,width:Z.width}),k({queryStart:Ie,queryEnd:ee,items:N})}function M(R){let F=C;if(!F)return;let ee=`${e.slice(0,F.queryStart)}#${R} ${e.slice(F.queryEnd)}`;t(ee),k(null),w(null),requestAnimationFrame(()=>{let G=i.current;if(!G)return;let Ie=F.queryStart+R.length+2;G.focus(),G.setSelectionRange(Ie,Ie)})}return r?(0,Nt.jsx)("div",{id:n,onClick:R=>{R.target.closest("a")||o(!1)},title:"Click to edit",style:{cursor:"text",minHeight:d,background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:8,padding:10,fontSize:12,color:"var(--p-text-sub)",lineHeight:1.7,overflow:"auto",maxHeight:g},children:(a??e).trim()?(0,Nt.jsx)(_a,{markdown:a??e}):(0,Nt.jsx)("span",{style:{color:"var(--p-border-t)"},children:u??s})}):(0,Nt.jsxs)("div",{style:{position:"relative"},children:[(0,Nt.jsx)(co,{id:l,ref:R=>{i.current=R,L&&(L.current=R)},className:"dp-textarea",placeholder:s,value:e,onChange:R=>{t(R),b(R)},onFocus:()=>o(!1),onBlur:()=>{k(null),w(null),o(!0),c==null||c()},baseRows:m,maxRows:p,autoFocus:v,onKeyDown:R=>{R.key==="Escape"&&(k(null),w(null)),S==null||S(R)}}),C&&h&&(0,km.createPortal)((0,Nt.jsx)("div",{"data-task-ref-suggest":"true",style:{position:"fixed",left:h.left+8,width:h.width-16,top:h.top,transform:"translateY(-100%)",border:"1px solid var(--p-border-s)",background:"var(--p-card)",borderRadius:8,boxShadow:"var(--p-shadow-lg)",overflow:"hidden",zIndex:9999},children:C.items.map(R=>(0,Nt.jsxs)("button",{type:"button",onMouseDown:F=>{F.preventDefault(),M(R.id)},style:{width:"100%",display:"flex",alignItems:"center",gap:8,textAlign:"left",border:"none",borderBottom:"1px solid var(--p-border)",background:"transparent",color:"var(--p-text-sub)",padding:"7px 10px",fontSize:11,cursor:"pointer"},onMouseEnter:F=>{F.currentTarget.style.background="var(--p-hover)"},onMouseLeave:F=>{F.currentTarget.style.background="transparent"},children:[(0,Nt.jsxs)("span",{style:{fontFamily:"monospace",color:"var(--p-blue-300)"},children:["#",R.id]}),(0,Nt.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:R.title})]},R.id))}),document.body),z]})}var Lr=A(we(),1);var kt=A(q(),1);function ad({tags:e,allTags:t,onChange:a,disabled:r}){let[o,n]=Lr.default.useState(""),[l,s]=Lr.default.useState(!1),u=Lr.default.useRef(null),d=Lr.default.useRef(null),g=o.trim().toLowerCase(),m=Lr.default.useMemo(()=>t.filter(f=>!e.includes(f)&&f.toLowerCase().includes(g)).slice(0,8),[t,e,g]),p=g.length>0&&!t.some(i=>i.toLowerCase()===g)&&!e.some(i=>i.toLowerCase()===g),v=g.length>0&&t.some(i=>i.toLowerCase()===g)&&!e.some(i=>i.toLowerCase()===g);function L(i){var y;let f=i.trim();!f||e.includes(f)||(a([...e,f]),n(""),s(!1),(y=u.current)==null||y.focus())}function S(i){a(e.filter(f=>f!==i))}function z(i){if(i.key==="Enter")if(i.preventDefault(),p||v){let f=t.find(y=>y.toLowerCase()===g);L(f??o.trim())}else m.length>0&&L(m[0]);i.key==="Escape"&&(s(!1),n("")),i.key==="Backspace"&&!o&&e.length>0&&S(e[e.length-1])}Lr.default.useEffect(()=>{function i(f){d.current&&!d.current.contains(f.target)&&s(!1)}return document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)},[]);let c=l&&(m.length>0||p);return(0,kt.jsxs)("div",{ref:d,style:{position:"relative"},children:[(0,kt.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignItems:"center",padding:"5px 8px",borderRadius:8,border:`1px solid ${l?"var(--p-blue)":"var(--p-border)"}`,background:"var(--p-input)",cursor:r?"not-allowed":"text",opacity:r?.6:1,minHeight:34,transition:"border-color .12s"},onClick:()=>{var i;r||(i=u.current)==null||i.focus()},children:[(0,kt.jsx)(bn,{tags:e,onRemove:r?void 0:S,size:"sm"}),!r&&(0,kt.jsx)("input",{ref:u,type:"text",value:o,placeholder:e.length?"":"Add tags\\u2026",onChange:i=>{n(i.target.value),s(!0)},onFocus:()=>s(!0),onKeyDown:z,style:{background:"none",border:"none",outline:"none",fontSize:12,color:"var(--p-text)",minWidth:80,flex:1,padding:0,lineHeight:"1.4"}})]}),c&&(0,kt.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onMouseDown:i=>i.preventDefault(),children:[m.map(i=>{let{bg:f,text:y,border:C}=Ut(i);return(0,kt.jsxs)("button",{type:"button",onClick:()=>L(i),style:{width:"100%",textAlign:"left",padding:"6px 10px",display:"flex",alignItems:"center",gap:6,background:"none",border:"none",cursor:"pointer",fontSize:12,color:"var(--p-text-m)"},onMouseEnter:k=>{k.currentTarget.style.background="var(--p-hover)"},onMouseLeave:k=>{k.currentTarget.style.background="none"},children:[(0,kt.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:y,border:`1px solid ${C}`,flexShrink:0}}),i]},i)}),p&&(0,kt.jsxs)("button",{type:"button",onClick:()=>L(o.trim()),style:{width:"100%",textAlign:"left",padding:"6px 10px",display:"flex",alignItems:"center",gap:6,background:"none",border:m.length>0?"1px solid var(--p-border)":"none",borderLeft:"none",borderRight:"none",borderBottom:"none",cursor:"pointer",fontSize:12,color:"var(--p-text-g)"},onMouseEnter:i=>{i.currentTarget.style.background="var(--p-hover)",i.currentTarget.style.color="var(--p-text-m)"},onMouseLeave:i=>{i.currentTarget.style.background="none",i.currentTarget.style.color="var(--p-text-g)"},children:[(0,kt.jsx)("span",{style:{fontSize:14,lineHeight:1},children:"+"}),\'Create "\',(0,kt.jsx)("strong",{style:{color:"var(--p-text)"},children:o.trim()}),\'"\']})]})]})}var $=A(q(),1);function nd({task:e,description:t,setDescription:a,showDescPreview:r,setShowDescPreview:o,priority:n,setPriority:l,onDescriptionBlur:s,onDescriptionDiscard:u,originalDescription:d,onPriorityChange:g,githubUrl:m,onFilePreview:p,onPatch:v,onDeleteScreenshot:L,liveFiles:S,allTags:z=[],overrideTags:c,onTagsChange:i}){let f=(e==null?void 0:e.files)??[],y=S?S.map(F=>({name:F.name,linkedPath:F.linkedPath,addedAt:F.createdAt,url:F.url})):f,C=y==null?void 0:y.find(F=>/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(F.name)),k=e&&C?C.url||`/api/tasks/${e.id}/files/${encodeURIComponent(C.name)}`:null,h=od.default.useRef(null),[w,b]=od.default.useState(null),{userPart:M,consolePart:R}=tv(t);return(0,$.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,$.jsxs)("div",{children:[(0,$.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:"Description"}),(0,$.jsx)(Rn,{value:t,previewValue:R?M:void 0,onChange:a,onBlur:s,showPreview:r,setShowPreview:o,previewId:"dp-desc-preview",textareaId:"dp-desc",placeholder:"Description (markdown)\\u2026",previewMinHeight:80,previewMaxHeight:220,baseRows:6,maxRows:12,autoFocus:!0,textareaRef:h,afterTextarea:u&&d!==void 0&&t!==d?(0,$.jsx)("button",{type:"button",onMouseDown:F=>{F.preventDefault(),u()},title:"Discard changes and restore saved description",style:{marginTop:4,display:"flex",alignItems:"center",gap:4,fontSize:11,color:"var(--p-text-g)",background:"none",border:"1px solid var(--p-border-t)",borderRadius:6,padding:"3px 8px",cursor:"pointer",transition:"color .12s, border-color .12s"},onMouseEnter:F=>{F.currentTarget.style.color="var(--p-amber-300)",F.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:F=>{F.currentTarget.style.color="var(--p-text-g)",F.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9 Discard changes"}):void 0})]}),R&&(0,$.jsx)(av,{logs:R}),e&&C&&k&&(0,$.jsxs)("div",{children:[(0,$.jsx)("div",{className:"dp-meta-label",children:"Screenshot"}),(0,$.jsxs)("div",{id:"dp-screenshot-preview",style:{border:"1px solid color-mix(in srgb, var(--p-border-t) 70%, transparent)",borderRadius:10,overflow:"hidden",background:"var(--p-card)"},children:[(0,$.jsx)("button",{onClick:()=>p(C.name,k),style:{width:"100%",height:112,border:"none",padding:0,background:"linear-gradient(135deg, var(--p-border), var(--p-bg))",cursor:"pointer",display:"block",overflow:"hidden"},title:"Preview screenshot",children:(0,$.jsx)("img",{src:k,alt:"Task screenshot",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}})}),(0,$.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",borderTop:"1px solid var(--p-border)",background:"var(--p-surface)"},children:[(0,$.jsx)("span",{style:{fontSize:10,color:"var(--p-text-f)",flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:C.addedAt?`Captured ${lt(C.addedAt)}`:"Screenshot attached"}),(0,$.jsx)("button",{onClick:()=>p(C.name,k),style:{fontSize:10,color:"var(--p-text-m)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Preview screenshot",children:"Preview"}),(0,$.jsx)("button",{onClick:()=>b(C.name),style:{fontSize:10,color:"var(--p-red)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Remove screenshot",children:"Remove"})]})]})]}),(0,$.jsxs)("div",{children:[(0,$.jsx)("div",{className:"dp-meta-label",children:"Tags"}),(0,$.jsx)(ad,{tags:c??(e==null?void 0:e.tags)??[],allTags:z,disabled:!e&&!i,onChange:F=>{i?i(F):e&&v(e.id,{tags:F})}})]}),(0,$.jsxs)("div",{children:[(0,$.jsx)("div",{className:"dp-meta-label",children:"Priority"}),(0,$.jsxs)("select",{id:"dp-priority",className:"dp-input",value:n,onChange:F=>{let ee=F.target.value;l(ee),g==null||g(ee)},style:{padding:"5px 8px",fontSize:12,cursor:"pointer",width:"auto"},children:[(0,$.jsx)("option",{value:"",children:"\\u2014"}),(0,$.jsx)("option",{value:"Critical",children:"Critical"}),(0,$.jsx)("option",{value:"High",children:"High"}),(0,$.jsx)("option",{value:"Medium",children:"Medium"}),(0,$.jsx)("option",{value:"Low",children:"Low"})]})]}),e&&(0,$.jsxs)("div",{id:"dp-metadata",style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[(0,$.jsx)(rd,{label:"Created",id:"dp-created",children:e.createdAt?lt(e.createdAt):"\\u2014"}),(0,$.jsx)(rd,{label:"ID",id:"dp-id",children:(0,$.jsx)("span",{style:{fontFamily:"monospace"},children:e.id})}),(0,$.jsx)(rd,{label:"Author",id:"dp-author",children:e.authorName??e.author??"\\u2014"}),e.commit&&(0,$.jsx)(ev,{task:e,githubUrl:m}),e.annotatedElementText&&(0,$.jsxs)("div",{id:"dp-annotated-text",style:{gridColumn:"1 / -1",background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,$.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Annotated element text"}),(0,$.jsx)("div",{style:{fontSize:11,color:"var(--p-text-f)",fontStyle:"italic",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:e.annotatedElementText})]})]}),(0,$.jsx)(Qt,{open:w!==null,message:"Remove this screenshot? This action cannot be undone.",confirmLabel:"Remove",onConfirm:()=>{w&&L(w),b(null)},onCancel:()=>b(null)})]})}function rd({label:e,id:t,children:a}){return(0,$.jsxs)("div",{id:t,style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,$.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:e}),(0,$.jsx)("div",{style:{fontSize:11,color:"var(--p-text-f)",borderBottom:"1px solid var(--p-border)",paddingBottom:4,display:"flex",alignItems:"center",minHeight:16},children:a})]})}function ev({task:e,githubUrl:t}){var n;let a=(n=e.commits)!=null&&n.length?e.commits:[{sha:e.commit,message:e.title??"",timestamp:e.createdAt??""}],r=a[a.length-1],o=a.map(l=>`${l.sha.slice(0,8)} ${l.timestamp?new Date(l.timestamp).toLocaleString():""} ${l.message.slice(0,60)}`).join(`\n`);return(0,$.jsxs)("div",{id:"dp-commit",style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px",cursor:"default"},title:a.length>1?`All commits:\n${o}`:`${r.sha}\n${r.message}`,children:[(0,$.jsxs)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:["Commit",a.length>1?"s":""]}),(0,$.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},children:[t&&e.commitPushed!==!1?(0,$.jsxs)("a",{href:`${t}/commit/${r.sha}`,target:"_blank",rel:"noopener noreferrer",style:{fontSize:10,color:"var(--p-blue-300)",fontFamily:"monospace",textDecoration:"none"},title:"Open diff on GitHub",onClick:l=>l.stopPropagation(),children:[r.sha.slice(0,8)," \\u2197"]}):(0,$.jsxs)("span",{style:{fontSize:10,color:"var(--p-text-f)",fontFamily:"monospace"},title:e.commitPushed===!1?"Commit not pushed to remote yet":void 0,children:[r.sha.slice(0,8),e.commitPushed===!1?" \\u23F3":""]}),a.length>1&&(0,$.jsxs)("span",{style:{fontSize:9,color:"var(--p-blue)",background:"color-mix(in srgb, var(--p-blue) 12%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 25%, transparent)",borderRadius:10,padding:"0 5px",fontWeight:600},children:["+",a.length-1]})]})]})}function tv(e){let a=e.indexOf(`\n---\n**Console logs**`);return a===-1?{userPart:e,consolePart:null}:{userPart:e.slice(0,a).trim(),consolePart:e.slice(a+1).trim()}}function av({logs:e}){let t=e.replace(/^---\\s*\\n/,"").split(`\n`).filter(a=>a.trim());return(0,$.jsxs)("div",{id:"dp-console-logs",style:{borderRadius:8,border:"1px solid color-mix(in srgb, var(--p-red) 30%, var(--p-border))",background:"color-mix(in srgb, var(--p-red) 4%, var(--p-card))",overflow:"hidden"},children:[(0,$.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 10px",borderBottom:"1px solid color-mix(in srgb, var(--p-red) 20%, var(--p-border))",background:"color-mix(in srgb, var(--p-red) 8%, var(--p-card))"},children:[(0,$.jsx)("span",{style:{fontSize:10,fontWeight:700,color:"color-mix(in srgb, var(--p-red) 80%, var(--p-text-sub))",letterSpacing:"0.05em",textTransform:"uppercase"},children:"Console Logs"}),(0,$.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",marginLeft:"auto"},children:"captured at submission"})]}),(0,$.jsxs)("div",{style:{padding:"6px 10px",maxHeight:200,overflowY:"auto",display:"flex",flexDirection:"column",gap:3},children:[t.map((a,r)=>{let o=a.includes("\\u{1F534}"),n=a.includes("\\u{1F7E1}"),l=a.replace(/^[-*]\\s*/,"");return(0,$.jsx)("div",{style:{fontFamily:"Menlo, monospace",fontSize:10,lineHeight:1.5,color:o?"var(--p-red)":n?"var(--p-amber-300)":"var(--p-text-f)",wordBreak:"break-all"},children:l},r)}),t.length===0&&(0,$.jsx)("div",{style:{fontSize:10,color:"var(--p-text-g)",fontStyle:"italic"},children:"No log entries captured."})]})]})}var mo=A(q(),1);function ld({commentInput:e,setCommentInput:t,commentSubmitting:a,onSubmit:r,baseRows:o=4}){return(0,mo.jsx)("div",{id:"dp-comment-input-area",children:(0,mo.jsx)(Rn,{value:e,onChange:t,showPreview:!1,setShowPreview:()=>{},previewId:"dp-comment-tab-edit",textareaId:"dp-comment-input",placeholder:"Add a comment\\u2026 (markdown)",previewEmptyText:"Leave a comment (markdown)\\u2026",previewMinHeight:o<=2?36:54,previewMaxHeight:140,baseRows:o,maxRows:10,autoFocus:!0,onKeyDown:n=>{n.key==="Enter"&&(n.ctrlKey||n.metaKey)&&(n.preventDefault(),r())},afterTextarea:(0,mo.jsx)("button",{id:"dp-comment-submit",disabled:a,onMouseDown:n=>{n.preventDefault(),r()},title:"Send (Ctrl+Enter)",style:{position:"absolute",bottom:16,right:8,width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--p-blue)",border:"none",borderRadius:6,cursor:"pointer",color:"var(--p-white)",transition:"background .15s"},children:(0,mo.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{display:"block"},children:(0,mo.jsx)("path",{d:"M2 8L14 2L10 8L14 14L2 8Z",fill:"currentColor"})})})})})}var E=A(q(),1),rv="vibeflow-paste-hint-dismissed";function ov({storageKey:e=rv}){let[t,a]=X.default.useState(()=>{try{return!localStorage.getItem(e)}catch{return!0}});if(!t)return null;function r(){try{localStorage.setItem(e,"1")}catch{}a(!1)}return(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",margin:"0 0 6px",borderRadius:6,background:"rgba(37,99,235,0.08)",border:"1px solid rgba(37,99,235,0.18)",fontSize:11,color:"var(--p-blue-300)",flexShrink:0},children:[(0,E.jsxs)("span",{style:{flex:1,lineHeight:1.4},children:["\\u{1F4A1} ",(0,E.jsx)("strong",{children:"Tip:"})," Paste screenshots or files anywhere in this panel \\u2014 they attach automatically."]}),(0,E.jsx)("button",{onClick:r,title:"Dismiss",style:{flexShrink:0,background:"none",border:"none",cursor:"pointer",padding:2,color:"var(--p-blue-300)",opacity:.7,display:"flex",alignItems:"center"},onMouseEnter:o=>{o.currentTarget.style.opacity="1"},onMouseLeave:o=>{o.currentTarget.style.opacity="0.7"},children:(0,E.jsx)(Ne,{style:{width:12,height:12}})})]})}var nv=[{id:"backlog",label:"backlog"},{id:"todo",label:"todo"},{id:"in-progress",label:"in-progress"},{id:"review",label:"review"},{id:"done",label:"done"}],lv=5*1024*1024;function sd(e,t=.8){return new Promise((a,r)=>{let o=new Image,n=URL.createObjectURL(e);o.onload=()=>{let l=document.createElement("canvas");l.width=o.naturalWidth,l.height=o.naturalHeight;let s=l.getContext("2d");if(!s){URL.revokeObjectURL(n),r(new Error("canvas unavailable"));return}s.drawImage(o,0,0),URL.revokeObjectURL(n),l.toBlob(u=>{u?a(u):r(new Error("canvas.toBlob failed"))},"image/jpeg",t)},o.onerror=()=>{URL.revokeObjectURL(n),r(new Error("image load failed"))},o.src=n})}function ud({open:e,task:t,tab:a,addColumnId:r="todo",gitUserName:o="You",githubUrl:n,baseUrl:l,isResizing:s,api:u,onClose:d,onSave:g,onCreate:m,onDelete:p,onPatch:v,onFilePreview:L,onActivityChange:S,externalLocalChanges:z=[],showLockIndicator:c=!0,lockedByUser:i,onGoBack:f,navBackLabel:y,commentVersion:C,allTasks:k=[]}){let h=!t,w=t?wn(t.type):wn("Task"),b=X.default.useRef(null),[M,R]=X.default.useState([]),F=X.default.useRef(!1),ee=X.default.useRef(""),G=X.default.useRef(""),Ie=X.default.useMemo(()=>{let I=new Set;for(let H of k)for(let V of H.tags??[])I.add(V);return[...I].sort()},[k]),[_,N]=X.default.useState(a),[Z,te]=X.default.useState(""),[W,ce]=X.default.useState(""),[je,bt]=X.default.useState(r),[Xe,Yt]=X.default.useState("Task"),[Pt,fa]=X.default.useState(""),[gt,Ir]=X.default.useState(!1),[Ls,Cr]=X.default.useState(!1),[Tt,Zt]=X.default.useState(!1),[Ss,Dn]=X.default.useState([]),[Is,Mn]=X.default.useState(!1),[An,Va]=X.default.useState(null),[ca,wr]=X.default.useState(""),[Cs,$a]=X.default.useState(!1),[kr,En]=X.default.useState([]),[Fn,Bn]=X.default.useState(!1),[ws,On]=X.default.useState(null),[ho,xo]=X.default.useState(0),Ka=X.default.useRef(0),[vo,x]=X.default.useState(0),[P,O]=X.default.useState(null),[Q,ge]=X.default.useState([]),[se,ae]=X.default.useState([]),oe=X.default.useRef(null),Ce=X.default.useRef(()=>{}),Me=X.default.useRef(""),Fe=X.default.useRef(!1);X.default.useEffect(()=>{Me.current=ca},[ca]),X.default.useEffect(()=>{Fe.current=Tt},[Tt]),X.default.useEffect(()=>{F.current=s??!1},[s]),X.default.useEffect(()=>{e||S==null||S(null,"viewing")},[e]),X.default.useEffect(()=>{if(!e||!t)return;Z!==ee.current||W!==G.current?S==null||S(t.id,"locked"):S==null||S(t.id,"viewing")},[Z,W,e,t==null?void 0:t.id]),X.default.useEffect(()=>{if(!e)return;function I(H){var V,ye,pe,Rt;if(!F.current&&!((ye=(V=H.target)==null?void 0:V.closest)!=null&&ye.call(V,"[data-task-ref-suggest]"))&&!((Rt=(pe=H.target)==null?void 0:pe.closest)!=null&&Rt.call(pe,".modal-backdrop"))&&b.current&&!b.current.contains(H.target)){if(Fe.current)return;if(Me.current.trim().length>0){Ce.current(),Zt(!0);return}Ce.current(),d()}}return document.addEventListener("mousedown",I),()=>document.removeEventListener("mousedown",I)},[e,d]),X.default.useEffect(()=>{if(!e)return;function I(H){if(H.key==="Escape"){if(Fe.current){Zt(!1),H.stopPropagation();return}if(Me.current.trim().length>0){H.stopPropagation(),Ce.current(),Zt(!0);return}}}return document.addEventListener("keydown",I,{capture:!0}),()=>document.removeEventListener("keydown",I,{capture:!0})},[e]),X.default.useEffect(()=>{if(e){if(N(a),Ir(!!t),wr(""),Dn([]),En([]),xo(0),x(0),ge([]),ae([]),t){let I=(t.title??"").trim(),H=(t.description??"").trim();te(I),ce(H),bt(t.status),Yt(t.type??"Task"),fa(t.priority??""),ee.current=I,G.current=H,S==null||S(t.id,"viewing")}else te(""),ce(""),bt(r),Yt("Task"),fa("");t&&(D(t.id),ut(t.id)),setTimeout(()=>{var I;return(I=oe.current)==null?void 0:I.focus()},50)}},[e,t==null?void 0:t.id,a]),X.default.useEffect(()=>{!e||!t||(_==="comments"?(Ga(t.id),ut(t.id)):_==="files"&&ut(t.id))},[_,e,t==null?void 0:t.id]),X.default.useEffect(()=>{if(!e||!t||Z!==ee.current||W!==G.current)return;let H=(t.title??"").trim(),V=(t.description??"").trim();(H!==ee.current||V!==G.current)&&(te(H),ce(V),ee.current=H,G.current=V),t.status&&t.status!==je&&bt(t.status),t.type&&t.type!==Xe&&Yt(t.type),t.priority!==void 0&&t.priority!==Pt&&fa(t.priority??"")},[t==null?void 0:t.title,t==null?void 0:t.description,t==null?void 0:t.status,t==null?void 0:t.type,t==null?void 0:t.priority]),X.default.useEffect(()=>{!e||!t||C===void 0||(_==="comments"?Ga(t.id):D(t.id))},[C]);async function D(I){var H,V;try{let[ye,pe]=await Promise.all([u.getComments(I),u.getFiles(I)]);xo(((H=ye.comments)==null?void 0:H.length)??0),x(((V=pe.files)==null?void 0:V.length)??0)}catch{}}async function Ga(I){var V;let H=++Ka.current;Mn(!0),Va(null);try{let ye=await u.getComments(I);if(Ka.current!==H)return;Dn(ye.comments??[]),xo(((V=ye.comments)==null?void 0:V.length)??0)}catch{if(Ka.current!==H)return;Va("failed")}finally{Ka.current===H&&Mn(!1)}}async function ut(I){var H;Bn(!0),On(null);try{let V=await u.getFiles(I);En(V.files??[]),x(((H=V.files)==null?void 0:H.length)??0)}catch{On("failed")}finally{Bn(!1)}}async function _t(){var I;if(!Z.trim()){(I=oe.current)==null||I.focus();return}if(!h&&ca.trim()&&await br(),h){let H=await m({title:Z.trim(),description:W.trim()||Z.trim(),status:je,type:Xe,priority:Pt||void 0,selector:"/",tags:se.length>0?se:void 0});if(H&&M.length>0){for(let V of M)await u.uploadFile(H,V).catch(()=>null);R([])}d()}else pa()}function pa(){if(!t||h)return;let I=Z.trim();if(!I)return;let H=ee.current,V=G.current,ye=I!==H,pe=W.trim()!==V;!ye&&!pe||(ye&&ja("title",H,I),pe&&ja("description",V,W.trim()),v(t.id,{title:I,description:W.trim(),type:Xe,priority:Pt||void 0}),ee.current=I,G.current=W.trim())}Ce.current=pa;function ja(I,H,V){H!==V&&ge(ye=>[...ye,{field:I,from:H,to:V,actor:o,timestamp:new Date().toISOString()}])}async function br(){if(!(!t||!ca.trim())){$a(!0);try{await u.addComment(t.id,ca.trim()),wr(""),await Ga(t.id)}finally{$a(!1)}}}async function Bm(I,H){t&&(await u.updateComment(t.id,I.id,H),await Ga(t.id))}async function Om(I){t&&(await u.deleteComment(t.id,I.id),await Ga(t.id))}async function zm(I){if(!t)return;let H=t.id;O(null);for(let V of Array.from(I.target.files??[])){if(!V.type.startsWith("image/")&&V.size>lv){O(`"${V.name}" exceeds the 5 MB limit and was skipped.`);continue}let ye;if(V.type.startsWith("image/")){let pe=await sd(V),Rt=V.name.replace(/\\.(png|bmp|gif|webp|tiff?)$/i,".jpg");ye=new File([pe],Rt,{type:"image/jpeg"})}else ye=V;await u.uploadFile(H,ye)}I.target.value="",await ut(H),D(H)}async function Um(I){if(!t)return;O(null);let H=await sd(I),ye=`paste-${new Date().toISOString().replace(/[:.]/g,"-").slice(0,19)}.jpg`,pe=new File([H],ye,{type:"image/jpeg"});await u.uploadFile(t.id,pe),await ut(t.id),D(t.id)}async function Nm(I){if(!t)return;let H=Array.from(I.items),V=H.find(pe=>pe.type.startsWith("image/"));if(V){let pe=V.getAsFile();pe&&await Um(pe);return}let ye=H.filter(pe=>pe.kind==="file"&&!pe.type.startsWith("image/"));if(ye.length>0){for(let pe of ye){let Rt=pe.getAsFile();Rt&&await u.uploadFile(t.id,Rt)}await ut(t.id),D(t.id);return}}X.default.useEffect(()=>{if(!e)return;function I(H){if(!H.clipboardData)return;let V=H.target;if(!((V.tagName==="TEXTAREA"||V.tagName==="INPUT"||V.isContentEditable)&&!Array.from(H.clipboardData.items).some(Pr=>Pr.kind==="file"))){if(H.preventDefault(),!t){let Rt=Array.from(H.clipboardData.items).find(Pr=>Pr.type.startsWith("image/"));if(Rt){let Pr=Rt.getAsFile();Pr&&(async()=>{let $m=await sd(Pr),Km=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19),Gm=new File([$m],`paste-${Km}.jpg`,{type:"image/jpeg"});R(jm=>[...jm,Gm])})()}return}Nm(H.clipboardData)}}return document.addEventListener("paste",I),()=>document.removeEventListener("paste",I)},[e,t==null?void 0:t.id]);async function cd(I){t&&(await u.deleteFile(t.id,I.name),await ut(t.id),D(t.id))}async function Hm(I){if(!t)return;await u.deleteFile(t.id,I);let H=(t.files??[]).filter(V=>V.name!==I);v(t.id,{files:H}),await ut(t.id),D(t.id)}function _m(I){bt(I),!h&&t&&v(t.id,{status:I})}let qm=I=>I!==je?"dp-status-btn":`dp-status-btn active-${I}`;function pd(){if(!Fe.current){if(Me.current.trim().length>0){Ce.current(),Zt(!0);return}Ce.current(),d()}}let Wm=e&&t!=null&&(Z!==ee.current||W!==G.current),Vm=X.default.useMemo(()=>{let I=[...z,...Q].sort((V,ye)=>new Date(V.timestamp).getTime()-new Date(ye.timestamp).getTime()),H=[];for(let V of I)H.some(pe=>pe.field===V.field&&pe.from.toLowerCase()===V.from.toLowerCase()&&pe.to.toLowerCase()===V.to.toLowerCase()&&pe.actor===V.actor&&Math.abs(new Date(pe.timestamp).getTime()-new Date(V.timestamp).getTime())<=3e3)||H.push(V);return H},[z,Q]),Xa=!h&&!!i;return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsxs)("aside",{id:"detail-panel",className:"open",ref:b,children:[Xa&&(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",background:"rgba(234,88,12,0.12)",border:"1px solid rgba(234,88,12,0.25)",borderRadius:6,margin:"8px 12px 0",fontSize:12,color:"#f97316",fontWeight:500},children:["\\u{1F512} Locked by ",(0,E.jsx)("strong",{children:i})," \\u2014 editing disabled until they finish."]}),(0,E.jsxs)("div",{className:"dp-header",children:[(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10},children:[f&&(0,E.jsx)("button",{id:"dp-back",onClick:f,title:y?`Back to: ${y}`:"Go back",style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"1px solid var(--p-border-t)",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s",fontSize:14,lineHeight:1},onMouseOver:I=>{I.currentTarget.style.background="var(--p-border)",I.currentTarget.style.color="var(--p-blue-300)",I.currentTarget.style.borderColor="var(--p-blue)"},onMouseOut:I=>{I.currentTarget.style.background="transparent",I.currentTarget.style.color="var(--p-text-g)",I.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u2190"}),(0,E.jsx)(gs,{id:"dp-type-picker",value:Xe,disabled:Xa,onChange:I=>{!h&&t&&I!==Xe&&ja("type",Xe,I),Yt(I),!h&&t&&v(t.id,{type:I})}}),(0,E.jsx)("input",{id:"dp-title",ref:oe,className:"dp-input",type:"text",placeholder:"Task title\\u2026",value:Z,readOnly:Xa,onChange:I=>te(I.target.value),onKeyDown:I=>{I.key==="Escape"&&(I.stopPropagation(),pd()),I.key==="Enter"&&h&&_t()},style:{flex:1,fontSize:14,fontWeight:600,padding:"4px 8px",borderColor:"transparent",background:"transparent"},onFocus:I=>{I.currentTarget.style.borderColor="var(--p-blue)",I.currentTarget.style.background="var(--p-input)"},onBlur:I=>{I.currentTarget.style.borderColor="transparent",I.currentTarget.style.background="transparent",h||pa()}}),!h&&Z!==ee.current&&Z.trim()!==""&&(0,E.jsx)("button",{type:"button",title:"Discard title changes",onMouseDown:I=>{I.preventDefault(),te(ee.current)},style:{width:20,height:20,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:4,border:"1px solid var(--p-border-t)",background:"none",color:"var(--p-text-g)",cursor:"pointer",fontSize:13,lineHeight:1},onMouseEnter:I=>{I.currentTarget.style.color="var(--p-amber-300)",I.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:I=>{I.currentTarget.style.color="var(--p-text-g)",I.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9"}),(0,E.jsx)("button",{id:"dp-close",onClick:pd,style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s",pointerEvents:"auto"},onMouseOver:I=>{I.currentTarget.style.background="var(--p-border)",I.currentTarget.style.color="var(--p-text-m)"},onMouseOut:I=>{I.currentTarget.style.background="transparent",I.currentTarget.style.color="var(--p-text-g)"},children:(0,E.jsx)(Ne,{style:{width:14,height:14}})}),c&&Wm&&t&&(0,E.jsx)("span",{id:"dp-lock-indicator",title:`Locked by ${o} \\u2014 unsaved changes`,style:{display:"inline-flex",alignItems:"center",gap:3,flexShrink:0,borderRadius:999,padding:"2px 7px",fontSize:10,fontWeight:600,border:"1px solid rgba(244,114,182,0.35)",color:"#f9a8d4",background:"rgba(157,23,77,0.28)"},children:"\\u{1F512} Locked"})]}),(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",...Xa?{pointerEvents:"none",opacity:.6}:{}},children:[(0,E.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",fontWeight:500,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Status"}),nv.map(I=>(0,E.jsx)("button",{className:qm(I.id),"data-status":I.id,onClick:()=>_m(I.id),children:I.label},I.id))]})]}),!h&&(0,E.jsxs)("div",{className:"dp-tabs",id:"dp-tabs-row",children:[(0,E.jsx)("button",{className:`dp-tab${_==="details"?" active":""}`,id:"dp-tab-details",onClick:()=>N("details"),children:"Details"}),(0,E.jsxs)("button",{className:`dp-tab${_==="comments"?" active":""}`,id:"dp-tab-activity",onClick:()=>N("comments"),children:["Activity ",ho>0&&(0,E.jsxs)("span",{id:"dp-activity-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",ho,")"]})]}),(0,E.jsxs)("button",{className:`dp-tab${_==="files"?" active":""}`,id:"dp-tab-files",onClick:()=>N("files"),children:["Files ",vo>0&&(0,E.jsxs)("span",{id:"dp-file-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",vo,")"]})]})]}),(0,E.jsxs)("div",{className:"dp-body",children:[!h&&(0,E.jsx)(ov,{}),(0,E.jsxs)("div",{className:"dp-pane",id:"dp-details-pane",style:{display:!t||_==="details"?"":"none"},children:[(0,E.jsx)("div",{style:Xa?{pointerEvents:"none",opacity:.6}:void 0,children:(0,E.jsx)(nd,{task:t,description:W,setDescription:ce,showDescPreview:gt,setShowDescPreview:Ir,priority:Pt,setPriority:fa,onDescriptionBlur:h?void 0:pa,onDescriptionDiscard:h?void 0:()=>{ce(G.current),Ir(!0)},originalDescription:h?void 0:G.current,onPriorityChange:h?void 0:I=>{t&&(I!==Pt&&ja("priority",Pt||"\\u2014",I||"\\u2014"),v(t.id,{priority:I||void 0}))},githubUrl:n,onFilePreview:L,onDeleteScreenshot:Hm,onPatch:v,liveFiles:kr.length>0||Fn?kr:void 0,allTags:Ie,overrideTags:h?se:void 0,onTagsChange:h?ae:void 0})}),!h&&t&&(0,E.jsx)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",flexShrink:0,marginTop:12,borderTop:"1px solid var(--p-border)",paddingTop:10},children:(0,E.jsx)(sv,{task:t})})]}),(0,E.jsxs)("div",{className:"dp-pane",id:"dp-activity-pane",style:{display:_==="comments"&&!h?"":"none"},children:[(0,E.jsx)("div",{style:{borderBottom:"1px solid var(--p-border)",paddingBottom:8,flexShrink:0},children:(0,E.jsx)(ld,{commentInput:ca,setCommentInput:wr,commentSubmitting:Cs,onSubmit:()=>void br(),baseRows:2})}),(0,E.jsx)(ed,{comments:Ss,files:kr,localChanges:Vm,loading:Is,error:An,gitUserName:o,taskAuthorName:t==null?void 0:t.authorName,baseUrl:l,taskId:t==null?void 0:t.id,taskCreatedAt:t==null?void 0:t.createdAt,taskUpdatedAt:t==null?void 0:t.updatedAt,onEdit:Bm,onDelete:Om,onDeleteFile:cd,onFilePreview:L})]}),(0,E.jsxs)("div",{className:"dp-pane",id:"dp-files-pane",style:{display:_==="files"&&!h?"":"none"},children:[(0,E.jsx)(td,{files:kr,loading:Fn,error:ws,baseUrl:l,onPreview:I=>L(I.name,I.linkedPath?`${l}/api/tasks/${t==null?void 0:t.id}/files/${encodeURIComponent(I.name)}`:`${l}${I.url}`),onDelete:Xa?void 0:cd}),(0,E.jsxs)("div",{style:{borderTop:"1px solid var(--p-border)",paddingTop:8,flexShrink:0,display:"flex",gap:8,flexWrap:"wrap",alignItems:"center",...Xa?{pointerEvents:"none",opacity:.5}:{}},children:[P&&(0,E.jsx)("div",{style:{width:"100%",fontSize:11,color:"var(--p-red)",background:"rgba(255,80,80,0.08)",border:"1px solid rgba(255,80,80,0.2)",borderRadius:5,padding:"4px 8px"},children:P}),(0,E.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,cursor:"pointer",padding:"6px 10px",background:"var(--p-card)",border:"1px solid var(--p-border)",borderRadius:8,color:"var(--p-text-m)",fontSize:12,transition:"all .15s"},onMouseOver:I=>{I.currentTarget.style.borderColor="var(--p-border-t)",I.currentTarget.style.color="var(--p-text)"},onMouseOut:I=>{I.currentTarget.style.borderColor="var(--p-border)",I.currentTarget.style.color="var(--p-text-m)"},children:[(0,E.jsx)(uo,{style:{width:12,height:12}}),"Upload",(0,E.jsx)("input",{id:"dp-file-upload",type:"file",style:{display:"none"},multiple:!0,onChange:zm})]}),(0,E.jsx)("span",{style:{fontSize:11,color:"var(--p-border-t)",marginLeft:"auto"},children:"or paste image"})]})]})]}),(0,E.jsxs)("div",{className:"dp-footer",children:[!h&&(0,E.jsx)("button",{id:"dp-delete",onClick:()=>Cr(!0),style:{color:"var(--p-red)",background:"none",border:"1px solid var(--p-border-t)",borderRadius:7,padding:"5px 12px",fontSize:12,cursor:"pointer",fontFamily:"inherit",transition:"all .15s"},onMouseOver:I=>{I.currentTarget.style.borderColor="var(--p-red)"},onMouseOut:I=>{I.currentTarget.style.borderColor="var(--p-border-t)"},children:"Delete"}),(0,E.jsx)("div",{style:{flex:1}}),h?(0,E.jsxs)(E.Fragment,{children:[M.length>0&&(0,E.jsxs)("span",{style:{fontSize:11,color:"var(--p-blue-300)",marginRight:8,background:"rgba(37,99,235,0.1)",border:"1px solid rgba(37,99,235,0.25)",borderRadius:6,padding:"3px 8px"},children:["\\u{1F4CE} ",M.length," screenshot",M.length!==1?"s":""," will attach on save"]}),(0,E.jsx)("button",{id:"dp-cancel",onClick:d,style:{padding:"5px 14px",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",border:"1px solid var(--p-border-t)",background:"var(--p-border)",color:"var(--p-text-sub)",fontFamily:"inherit",transition:"all .15s"},onMouseOver:I=>{I.currentTarget.style.borderColor="var(--p-text-g)"},onMouseOut:I=>{I.currentTarget.style.borderColor="var(--p-border-t)"},children:"Cancel"}),(0,E.jsx)("button",{id:"dp-save",onClick:()=>void _t(),style:{padding:"5px 18px",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",border:"1px solid var(--p-blue-700)",background:"var(--p-blue)",color:"var(--p-white)",fontFamily:"inherit",transition:"background .15s"},onMouseOver:I=>{I.currentTarget.style.background="var(--p-blue-700)"},onMouseOut:I=>{I.currentTarget.style.background="var(--p-blue)"},children:"Add Task"})]}):(0,E.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)",padding:"5px 4px"},children:"Changes are saved automatically"})]}),(0,E.jsx)(Qt,{open:Ls,title:"Delete task?",message:`You are about to permanently delete "${(t==null?void 0:t.title)||"this task"}". This action cannot be undone.`,confirmLabel:"Delete task",onConfirm:()=>{Cr(!1),p(t.id),d()},onCancel:()=>Cr(!1)})]}),Tt&&(0,E.jsx)("div",{style:{position:"fixed",inset:0,zIndex:201,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",background:"rgba(2,12,27,0.80)"},children:(0,E.jsxs)("div",{style:{background:"var(--p-surface)",border:"1px solid var(--p-border-s)",borderRadius:16,padding:"28px 32px",width:"100%",maxWidth:480,boxShadow:"var(--p-shadow-lg)",position:"relative"},children:[(0,E.jsx)("div",{style:{width:44,height:44,borderRadius:12,background:"rgba(139,92,246,0.12)",border:"1px solid rgba(139,92,246,0.25)",display:"flex",alignItems:"center",justifyContent:"center",marginBottom:16},children:(0,E.jsx)(uo,{style:{width:20,height:20,color:"var(--p-purple)"}})}),(0,E.jsx)("h2",{style:{margin:"0 0 8px",fontSize:17,fontWeight:700,color:"var(--p-text)"},children:"Send comment?"}),(0,E.jsx)("p",{style:{margin:"0 0 22px",fontSize:13,color:"var(--p-text-f)",lineHeight:1.6},children:"You have an unsent comment. Do you want to send it before closing?"}),(0,E.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,E.jsx)("button",{onClick:()=>{Zt(!1),br().then(()=>d())},style:{flex:1,padding:"9px 14px",borderRadius:8,background:"var(--p-purple)",border:"none",color:"#fff",fontSize:13,fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"},children:"Send & Close"}),(0,E.jsx)("button",{type:"button",onClick:()=>{Zt(!1),wr(""),d()},style:{padding:"9px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer"},children:"Discard & Close"}),(0,E.jsx)("button",{type:"button",onClick:()=>Zt(!1),style:{padding:"9px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer"},children:"Keep editing"})]})]})})]})}function sv({task:e}){let t=[];if(e.component&&t.push((0,E.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",background:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 36%, transparent)",borderRadius:100,fontSize:10,color:"var(--p-purple-300)",fontFamily:"monospace"},children:["\\u2B21 ",e.component]},"component")),e.file||e.selector&&e.selector!=="/"||e.cssSelector){let r=e.file??"";e.line!=null&&(r+=`:${e.line}`),e.col!=null&&(r+=`:${e.col}`);let o=e.cssSelector??(e.selector&&e.selector!=="/"?e.selector:""),n=r||o;if(n){let l=n.length>40?`\\u2026${n.slice(-40)}`:n,s=e.url?e.url.length>30?`\\u2026${e.url.slice(-30)}`:e.url:"";t.push((0,E.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:0,borderRadius:6,overflow:"hidden",border:"1px solid color-mix(in srgb, var(--p-blue) 15%, transparent)",fontSize:10,fontFamily:"monospace",whiteSpace:"nowrap"},children:[(0,E.jsx)("span",{title:[r,o].filter(Boolean).join(" \\xB7 "),style:{padding:"2px 6px",background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",color:"var(--p-blue-300)"},children:l}),s&&(0,E.jsx)("span",{title:e.url,style:{padding:"2px 6px",background:"color-mix(in srgb, var(--p-border) 72%, transparent)",color:"var(--p-text-g)",borderLeft:"1px solid color-mix(in srgb, var(--p-blue) 18%, transparent)"},children:s})]},"source"))}}else if(e.url){let r=e.url.length>40?`\\u2026${e.url.slice(-40)}`:e.url;t.push((0,E.jsx)("span",{className:"dp-source-pill",title:e.url,children:r},"url"))}return e.reportBack&&t.push((0,E.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",background:"color-mix(in srgb, var(--p-purple) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 24%, transparent)",borderRadius:100,fontSize:10,color:"var(--p-purple-300)"},children:"\\u21A9 report back"},"rb")),(0,E.jsx)("div",{id:"dp-meta-row",style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",flex:1},children:t})}var Sr=A(we(),1);var Y=A(q(),1),uv=[{id:"all",label:"All",dot:""},{id:"todo",label:"Todo",dot:"var(--p-amber)"},{id:"in-progress",label:"In Progress",dot:"var(--p-blue)"},{id:"review",label:"Review",dot:"var(--p-purple)"}],iv={todo:{background:"color-mix(in srgb, var(--p-amber) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-amber) 38%, transparent)",color:"var(--p-amber-300)"},"in-progress":{background:"color-mix(in srgb, var(--p-blue) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 38%, transparent)",color:"var(--p-blue-200)"},review:{background:"color-mix(in srgb, var(--p-purple) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 38%, transparent)",color:"var(--p-purple-300)"},done:{background:"color-mix(in srgb, var(--p-green) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-green) 32%, transparent)",color:"var(--p-green-300)"},backlog:{background:"color-mix(in srgb, var(--p-text-g) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-text-g) 32%, transparent)",color:"var(--p-text-m)"},all:{background:"color-mix(in srgb, var(--p-blue) 12%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 32%, transparent)",color:"var(--p-blue-200)"}};function id({tasks:e,filter:t,onFilter:a,view:r="board",onViewChange:o,activityCounter:n}){let[l,s]=Sr.default.useState(!1),[u,d]=Sr.default.useState(!1),[g,m]=Sr.default.useState(!1),p=Sr.default.useMemo(()=>[...new Set(e.map(h=>h.type).filter(Boolean))].sort(),[e]),v=Sr.default.useMemo(()=>[...new Set(e.map(h=>h.author).filter(Boolean))].sort(),[e]),L=Sr.default.useMemo(()=>{let h=new Set;for(let w of e)for(let b of w.tags??[])h.add(b);return[...h].sort()},[e]);function S(h){return e.filter(w=>w.status===h).length}function z(h){a({...t,status:h}),s(!1),d(!1),m(!1)}function c(h){a({...t,type:h}),s(!1)}function i(h){a({...t,user:h}),d(!1)}function f(h){let w=t.tags??[],b=w.includes(h)?w.filter(M=>M!==h):[...w,h];a({...t,tags:b})}function y(h){h.stopPropagation();let w=h.currentTarget.dataset.status;w&&z(w)}let C={display:"flex",alignItems:"center",gap:5,padding:"3px 10px",borderRadius:6,fontSize:11,cursor:"pointer",border:"1px solid transparent",background:"transparent",color:"var(--p-text-f)",transition:"all .12s",fontFamily:"inherit",fontWeight:500},k={...C,background:"var(--p-card)",border:"1px solid var(--p-border)",color:"var(--p-text-f)",padding:"3px 10px",position:"relative"};return(0,Y.jsxs)("div",{"data-proto-id":"filter-bar",style:{display:"flex",alignItems:"center",gap:6,padding:"7px 16px",background:"var(--p-surface)",borderBottom:"1px solid var(--p-border)",flexShrink:0},onClick:()=>{s(!1),d(!1),m(!1)},children:[(0,Y.jsx)("div",{style:{display:"flex",alignItems:"center",gap:2},children:uv.map(h=>{let w=t.status===h.id,b=h.id!=="all"?S(h.id):null,M=w?iv[h.id]:{};return(0,Y.jsxs)("button",{"data-status":h.id,style:{...C,...M},onMouseOver:R=>{w||(R.currentTarget.style.background="var(--p-hover)",R.currentTarget.style.color="var(--p-text-m)")},onMouseOut:R=>{w||(R.currentTarget.style.background="transparent",R.currentTarget.style.color="var(--p-text-f)")},onClick:y,children:[h.dot&&(0,Y.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:h.dot,flexShrink:0,display:"inline-block"}}),h.label,b!=null&&(0,Y.jsx)("span",{style:{color:w?"inherit":"var(--p-border-t)",fontSize:10,opacity:.8},children:b})]},h.id)})}),(0,Y.jsx)("div",{style:{flex:1}}),n,t.user&&(0,Y.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:"color-mix(in srgb, var(--p-purple) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 24%, transparent)",fontSize:10,color:"var(--p-purple-300)"},children:[t.user,(0,Y.jsx)("button",{onClick:()=>i(null),style:{display:"flex",background:"none",border:"none",color:"var(--p-purple-300)",cursor:"pointer",padding:0,lineHeight:1},children:(0,Y.jsx)(Ne,{style:{width:10,height:10}})})]}),t.type&&(0,Y.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 24%, transparent)",fontSize:10,color:"var(--p-cyan-300)"},children:[t.type,(0,Y.jsx)("button",{onClick:()=>c(null),style:{display:"flex",background:"none",border:"none",color:"var(--p-cyan-300)",cursor:"pointer",padding:0,lineHeight:1},children:(0,Y.jsx)(Ne,{style:{width:10,height:10}})})]}),(t.tags??[]).map(h=>{let{bg:w,text:b,border:M}=Ut(h);return(0,Y.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:w,border:`1px solid ${M}`,fontSize:10,color:b,fontWeight:600},children:[h,(0,Y.jsx)("button",{onClick:()=>f(h),style:{display:"flex",background:"none",border:"none",color:b,cursor:"pointer",padding:0,lineHeight:1},children:(0,Y.jsx)(Ne,{style:{width:10,height:10}})})]},h)}),(0,Y.jsxs)("div",{style:{position:"relative"},children:[(0,Y.jsxs)("button",{style:{...k,color:(t.tags??[]).length?"var(--p-green-300)":"var(--p-text-f)",borderColor:(t.tags??[]).length?"color-mix(in srgb, var(--p-green) 36%, transparent)":"var(--p-border)",opacity:L.length?1:.55},onClick:h=>{h.stopPropagation(),L.length&&(d(!1),s(!1),m(w=>!w))},children:[(0,Y.jsx)(so,{style:{width:12,height:12}}),"Tags",(t.tags??[]).length>0&&(0,Y.jsx)("span",{style:{fontSize:9,background:"color-mix(in srgb, var(--p-green) 20%, transparent)",color:"var(--p-green-300)",borderRadius:100,padding:"0 4px"},children:(t.tags??[]).length}),(0,Y.jsx)(cr,{style:{width:12,height:12}})]}),g&&L.length>0&&(0,Y.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:160,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:h=>h.stopPropagation(),children:[(t.tags??[]).length>0&&(0,Y.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>a({...t,tags:[]}),children:"Clear tag filters"}),L.map(h=>{let{bg:w,text:b,border:M}=Ut(h),R=(t.tags??[]).includes(h);return(0,Y.jsxs)("button",{style:{width:"100%",textAlign:"left",padding:"6px 12px",fontSize:11,color:"var(--p-text-m)",background:R?"var(--p-hover)":"none",border:"none",cursor:"pointer",display:"flex",alignItems:"center",gap:6},onMouseEnter:F=>{F.currentTarget.style.background="var(--p-hover)"},onMouseLeave:F=>{F.currentTarget.style.background=R?"var(--p-hover)":"none"},onClick:()=>f(h),children:[(0,Y.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:b,border:`1px solid ${M}`,flexShrink:0}}),(0,Y.jsx)("span",{style:{flex:1},children:h}),R&&(0,Y.jsx)("span",{style:{color:b,fontSize:12,lineHeight:1},children:"\\u2713"})]},h)})]})]}),(0,Y.jsxs)("div",{style:{position:"relative"},children:[(0,Y.jsxs)("button",{style:{...k,color:t.user?"var(--p-purple-300)":"var(--p-text-f)",borderColor:t.user?"color-mix(in srgb, var(--p-purple) 36%, transparent)":"var(--p-border)",opacity:v.length?1:.55},onClick:h=>{h.stopPropagation(),v.length&&(s(!1),d(w=>!w))},children:[(0,Y.jsx)(In,{style:{width:12,height:12}}),"User",(0,Y.jsx)(cr,{style:{width:12,height:12}})]}),u&&v.length>0&&(0,Y.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:160,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:h=>h.stopPropagation(),children:[(0,Y.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>i(null),children:"All users"}),v.map(h=>(0,Y.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.user===h?"var(--p-purple-300)":"var(--p-text-m)",background:t.user===h?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:w=>{t.user!==h&&(w.currentTarget.style.background="var(--p-hover)")},onMouseOut:w=>{t.user!==h&&(w.currentTarget.style.background="none")},onClick:()=>i(h),children:h},h))]})]}),(0,Y.jsxs)("div",{style:{position:"relative"},children:[(0,Y.jsxs)("button",{style:{...k,color:t.type?"var(--p-cyan-300)":"var(--p-text-f)",borderColor:t.type?"color-mix(in srgb, var(--p-blue) 36%, transparent)":"var(--p-border)",opacity:p.length?1:.55},onClick:h=>{h.stopPropagation(),p.length&&s(w=>!w)},children:[(0,Y.jsx)(so,{style:{width:12,height:12}}),"Type",(0,Y.jsx)(cr,{style:{width:12,height:12}})]}),l&&p.length>0&&(0,Y.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:140,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:h=>h.stopPropagation(),children:[(0,Y.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>c(null),children:"All types"}),p.map(h=>(0,Y.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.type===h?"var(--p-cyan-300)":"var(--p-text-m)",background:t.type===h?"color-mix(in srgb, var(--p-blue) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:w=>{t.type!==h&&(w.currentTarget.style.background="var(--p-hover)")},onMouseOut:w=>{t.type!==h&&(w.currentTarget.style.background="none")},onClick:()=>c(h),children:h},h))]})]}),(0,Y.jsxs)("div",{style:{display:"flex",alignItems:"center",background:"var(--p-card)",border:"1px solid var(--p-border)",borderRadius:8,padding:2,gap:0},children:[(0,Y.jsx)("button",{title:"Board view",style:{padding:"4px 7px",borderRadius:5,background:r==="board"?"var(--p-surface)":"none",color:r==="board"?"var(--p-text-sub)":"var(--p-text-g)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",transition:"background .12s,color .12s"},onClick:h=>{h.stopPropagation(),o==null||o("board")},children:(0,Y.jsx)(xn,{style:{width:13,height:13}})}),(0,Y.jsx)("button",{title:"List view",style:{padding:"4px 7px",borderRadius:5,background:r==="list"?"var(--p-surface)":"none",color:r==="list"?"var(--p-text-sub)":"var(--p-text-g)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",transition:"background .12s,color .12s"},onClick:h=>{h.stopPropagation(),o==null||o("list")},children:(0,Y.jsx)(vn,{style:{width:13,height:13}})})]})]})}var Wa=A(we(),1);var fe=A(q(),1),dv=[{id:"board",label:"Board",icon:(0,fe.jsx)(Oa,{className:"w-3.5 h-3.5"})},{id:"workflow",label:"Workflow",icon:(0,fe.jsx)(Cn,{className:"w-3.5 h-3.5"})}];function dd({open:e,visibleCols:t,settings:a,onClose:r,onSave:o}){let[n,l]=Wa.default.useState("board"),[s,u]=Wa.default.useState({}),[d,g]=Wa.default.useState(a.autoCommit??!1),[m,p]=Wa.default.useState(a.autoComment??!1),[v,L]=Wa.default.useState(a.autoPush??!1),[S,z]=Wa.default.useState(a.createBranch??!1);Wa.default.useEffect(()=>{if(!e)return;let f={};Ua.forEach(y=>{f[y.id]=t.includes(y.id)}),u(f),g(a.autoCommit??!1),p(a.autoComment??!1),L(a.autoPush??!1),z(a.createBranch??!1),l("board")},[e,t,a]);function c(){let f=Ua.filter(y=>s[y.id]).map(y=>y.id);o(f,{autoCommit:d,autoComment:m,autoPush:v,createBranch:S}),r()}function i(f){u(y=>({...y,[f]:!y[f]}))}return(0,fe.jsxs)(yr,{open:e,onClose:r,id:"settings-modal",width:"min(460px, 95vw)",icon:(0,fe.jsx)(hr,{style:{width:14,height:14,color:"var(--p-text-g)"}}),title:"Settings",headerActions:(0,fe.jsx)("button",{id:"settings-close",onClick:r,style:{width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s"},onMouseOver:f=>{f.currentTarget.style.background="var(--p-surface)",f.currentTarget.style.color="var(--p-text-m)"},onMouseOut:f=>{f.currentTarget.style.background="transparent",f.currentTarget.style.color="var(--p-text-g)"},children:(0,fe.jsx)(Ne,{style:{width:14,height:14}})}),footer:(0,fe.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,fe.jsx)("button",{id:"settings-cancel",onClick:r,className:"dp-status-btn",style:{padding:"5px 14px",fontSize:12},children:"Cancel"}),(0,fe.jsx)("button",{id:"settings-apply",onClick:c,style:{padding:"5px 14px",fontSize:12,fontWeight:500,borderRadius:6,border:"1px solid color-mix(in srgb, var(--p-purple) 55%, transparent)",background:"color-mix(in srgb, var(--p-purple) 18%, transparent)",color:"var(--p-purple-300)",cursor:"pointer",transition:"background .12s"},onMouseOver:f=>{f.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 28%, transparent)"},onMouseOut:f=>{f.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 18%, transparent)"},children:"Apply"})]}),children:[(0,fe.jsx)("div",{className:"dp-tabs",children:dv.map(f=>(0,fe.jsxs)("button",{onClick:()=>l(f.id),className:`dp-tab${n===f.id?" active":""}`,style:{display:"flex",alignItems:"center",gap:6},children:[f.icon,f.label]},f.id))}),n==="board"&&(0,fe.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:10},children:[(0,fe.jsx)("div",{className:"dp-meta-label",children:"Visible Columns"}),Ua.map(f=>(0,fe.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer",userSelect:"none"},children:[(0,fe.jsx)("input",{id:`settings-col-${f.id}`,type:"checkbox",checked:s[f.id]??!0,onChange:()=>i(f.id),style:{width:14,height:14,accentColor:f.color,cursor:"pointer"}}),(0,fe.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:f.color,flexShrink:0}}),(0,fe.jsx)("span",{style:{fontSize:13,color:"var(--p-text-m)"},children:f.label})]},f.id))]}),n==="workflow"&&(0,fe.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:16},children:[(0,fe.jsx)(xs,{id:"settings-auto-commit",label:"Commit after task implementation",description:"Agent is instructed to stage and commit changes after each task.",value:d,onChange:g}),(0,fe.jsx)(xs,{id:"settings-auto-push",label:"Push after task commit",description:`Agent is instructed to push after every commit. Requires \'Commit\' to be ON.${d?"":" (Enable Commit first)"}`,value:v&&d,onChange:f=>L(f&&d)}),(0,fe.jsx)(xs,{id:"settings-auto-comment",label:"Comment after task implementation",description:"Agent is instructed to add a summary comment after completing a task.",value:m,onChange:p}),(0,fe.jsx)(xs,{id:"settings-create-branch",label:"Create branch at end of session",description:"Agent creates a descriptive branch after all session tasks are done (e.g. fix/bug-errors, feat/eye-toggle). Name reflects the work: lowercase, kebab-case, 2\\u20135 words, prefix fix/feat/chore/docs.",value:S,onChange:z})]})]})}function xs({id:e,label:t,description:a,value:r,onChange:o}){return(0,fe.jsxs)("div",{children:[(0,fe.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:t}),(0,fe.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginBottom:10},children:a}),(0,fe.jsxs)("div",{id:e,style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer"},onClick:()=>o(!r),children:[(0,fe.jsxs)("div",{style:{position:"relative",width:36,height:20,flexShrink:0},children:[(0,fe.jsx)("div",{style:{width:36,height:20,borderRadius:10,background:r?"var(--p-purple)":"var(--p-card)",border:`1px solid ${r?"var(--p-purple-300)":"var(--p-border)"}`,transition:"all .15s"}}),(0,fe.jsx)("div",{style:{position:"absolute",top:3,left:r?18:3,width:14,height:14,borderRadius:"50%",background:r?"var(--p-purple-300)":"var(--p-text-muted)",transition:"all .15s"}})]}),(0,fe.jsx)("span",{style:{fontSize:12,color:"var(--p-text-g)"},children:r?"On":"Off"})]})]})}var ys=A(we(),1);var he=A(q(),1);function bm(e){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function vs(e){return/\\.md$/i.test(e)}function fd({open:e,name:t,url:a,onClose:r}){let[o,n]=ys.default.useState(null),[l,s]=ys.default.useState(!1);return ys.default.useEffect(()=>{!e||!a||(vs(t)?(s(!0),n(null),fetch(a).then(u=>u.text()).then(u=>{n(u),s(!1)}).catch(()=>{n("Error loading file."),s(!1)})):n(null))},[e,t,a]),(0,he.jsx)(yr,{open:e,onClose:r,id:"file-preview-modal",width:"min(700px, 95vw)",maxHeight:"88vh",boxStyle:{display:"flex",flexDirection:"column"},icon:(0,he.jsx)(lo,{className:"w-4 h-4 text-slate-400"}),title:t,headerActions:(0,he.jsxs)(he.Fragment,{children:[(0,he.jsx)("a",{href:a,download:t,className:"text-slate-400 hover:text-slate-200 transition-colors p-1.5 rounded-md hover:bg-slate-700/60",title:"Download",children:(0,he.jsx)(pr,{className:"w-4 h-4"})}),(0,he.jsx)("button",{id:"file-preview-close",onClick:r,className:"text-slate-400 hover:text-slate-200 transition-colors p-1.5 rounded-md hover:bg-slate-700/60",title:"Close",children:(0,he.jsx)(Ne,{className:"w-4 h-4"})})]}),footer:(0,he.jsxs)(he.Fragment,{children:[(0,he.jsxs)("a",{href:a,download:t,className:"flex items-center gap-1.5 border border-slate-700 hover:bg-slate-800 text-slate-300 text-sm px-3 py-1.5 rounded-lg transition-colors",children:[(0,he.jsx)(pr,{className:"w-3.5 h-3.5"}),"Download"]}),(0,he.jsx)("button",{id:"file-preview-close-footer",onClick:r,className:"border border-slate-700 hover:bg-slate-800 text-slate-300 text-sm px-4 py-1.5 rounded-lg transition-colors",children:"Close"})]}),children:(0,he.jsxs)("div",{className:"flex-1 overflow-auto",style:{minHeight:0,padding:"16px 20px"},children:[bm(t)&&(0,he.jsx)("div",{style:{borderRadius:8,overflow:"hidden",border:"1px solid var(--p-border)",background:"var(--p-card)",display:"inline-block",width:"100%"},children:(0,he.jsx)("img",{src:a,alt:t,style:{maxWidth:"100%",display:"block",margin:"0 auto",objectFit:"contain"}})}),vs(t)&&l&&(0,he.jsx)("p",{className:"text-xs text-slate-500 py-4",children:"Loading\\u2026"}),vs(t)&&!l&&o!==null&&(0,he.jsx)("div",{id:"file-preview-md",style:{background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:8,padding:"10px 14px",fontSize:13,color:"var(--p-text-sub)",lineHeight:1.65},children:(0,he.jsx)(_a,{markdown:o})}),!bm(t)&&!vs(t)&&(0,he.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-slate-500",children:[(0,he.jsx)(lo,{className:"w-10 h-10 opacity-40"}),(0,he.jsx)("p",{className:"text-sm",children:"Preview not available for this file type."}),(0,he.jsxs)("a",{href:a,download:t,className:"flex items-center gap-1.5 text-violet-400 hover:text-violet-300 hover:underline text-sm transition-colors",children:[(0,he.jsx)(pr,{className:"w-3.5 h-3.5"}),"Download file"]})]})]})})}var go=window.location.origin,Ht=`${go}/api/tasks`,st={async getTasks(){return(await fetch(`${Ht}?_=${Date.now()}`,{cache:"no-store"})).json()},async createTask(e){return(await fetch(Ht,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()},async updateTask(e,t){return(await fetch(`${Ht}/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).json()},async deleteTask(e){await fetch(`${Ht}/${e}`,{method:"DELETE"})},async getComments(e){return(await fetch(`${Ht}/${e}/comments`)).json()},async addComment(e,t){await fetch(`${Ht}/${e}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({author:"user",text:t,source:"web"})})},async updateComment(e,t,a){await fetch(`${Ht}/${e}/comments/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})})},async deleteComment(e,t){await fetch(`${Ht}/${e}/comments/${t}`,{method:"DELETE"})},async getFiles(e){return(await fetch(`${Ht}/${e}/files`)).json()},async uploadFile(e,t){let a=await t.arrayBuffer();await fetch(`${Ht}/${e}/files/${encodeURIComponent(t.name)}`,{method:"POST",headers:{"Content-Type":"application/octet-stream"},body:a})},async deleteFile(e,t){await fetch(`${Ht}/${e}/files/${encodeURIComponent(t)}`,{method:"DELETE"})},async getProject(){return(await fetch(`${go}/api/project`)).json()},async getCopilotStatus(){return(await fetch(`${go}/api/copilot/status`)).json()},async copilotLogin(){return(await fetch(`${go}/api/copilot/login`,{method:"POST"})).json().catch(()=>({}))},async getSettings(){return(await fetch(`${go}/api/settings`,{cache:"no-store"})).json()},async saveSettings(e){await fetch(`${go}/api/settings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})},wsUrl(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`}};var j=A(q(),1),fv=window.__PORT__??3700,cv=window.__SAAS_MODE__??!1,Pm=window.__BOARD_URL__??"",pv=window.__BOARD_NAME__??"",Dm=window.__IS_ADMIN__??!1;function mv({onClose:e}){let t=window.location.origin,[a,r]=re.default.useState("idle"),[o,n]=re.default.useState(!0),[l,s]=re.default.useState(null),[u,d]=re.default.useState("");async function g(){r("pushing"),d("");try{let p=await fetch(`${t}/api/push`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keepLocalFiles:o})}),v=await p.json();if(!p.ok){d(v.error??"Push failed"),r("error");return}s({imported:v.imported??0,skipped:v.skipped}),r("done")}catch(p){d(p instanceof Error?p.message:"Network error"),r("error")}}let m=a==="pushing";return(0,j.jsx)("div",{style:{position:"fixed",inset:0,zIndex:9999,background:"rgba(5, 8, 18, 0.72)",backdropFilter:"blur(10px)",display:"flex",alignItems:"center",justifyContent:"center",padding:20,fontFamily:"Inter, system-ui, -apple-system, sans-serif"},children:(0,j.jsxs)("div",{style:{background:"#101827",border:"1px solid rgba(255,255,255,0.07)",borderRadius:24,maxWidth:380,width:"100%",boxShadow:"0 0 0 1px rgba(59,130,246,0.07), 0 40px 80px rgba(0,0,0,0.75)",overflow:"hidden",position:"relative"},children:[(0,j.jsx)("div",{style:{position:"absolute",top:0,left:"20%",right:"20%",height:1,background:"linear-gradient(90deg, transparent, rgba(59,130,246,0.5), transparent)"}}),(0,j.jsxs)("div",{style:{padding:"36px 36px 20px",display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center"},children:[(0,j.jsx)("div",{style:{position:"relative",width:52,height:52,marginBottom:22},children:(0,j.jsxs)("svg",{width:"52",height:"52",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,j.jsx)("rect",{width:"18",height:"18",rx:"4",fill:"#2563eb"}),(0,j.jsx)("rect",{x:"2.5",y:"5",width:"2",height:"8",rx:"1",fill:"white",opacity:"0.7"}),(0,j.jsx)("rect",{x:"6.5",y:"2",width:"2",height:"14",rx:"1",fill:"white"}),(0,j.jsx)("rect",{x:"10.5",y:"6",width:"2",height:"6",rx:"1",fill:"white",opacity:"0.7"}),(0,j.jsx)("rect",{x:"14.5",y:"4",width:"2",height:"10",rx:"1",fill:"white",opacity:"0.85"})]})}),(0,j.jsx)("h1",{style:{fontSize:18,fontWeight:700,color:"#f1f5f9",letterSpacing:"-0.3px",margin:"0 0 7px"},children:"Online Mode Active"}),(0,j.jsxs)("p",{style:{fontSize:12,color:"rgba(255,255,255,0.36)",lineHeight:1.5,margin:0},children:["Connected to"," ",(0,j.jsx)("strong",{style:{color:"rgba(255,255,255,0.55)",fontWeight:500},children:pv||"Vibeflow SaaS"})]})]}),a==="done"&&l&&(0,j.jsxs)("div",{style:{margin:"0 28px 0",padding:"10px 14px",borderRadius:9,fontSize:12,display:"flex",alignItems:"center",gap:9,background:"rgba(16,185,129,0.08)",border:"1px solid rgba(16,185,129,0.18)",color:"#34d399"},children:[(0,j.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",children:(0,j.jsx)("path",{d:"M13 5L6.5 11.5 3 8",stroke:"#34d399",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})}),l.imported," task",l.imported!==1?"s":""," pushed to board",l.skipped!=null&&l.skipped>0?` \\xB7 ${l.skipped} already existed`:""]}),a==="error"&&u&&(0,j.jsx)("div",{style:{margin:"0 28px 0",padding:"10px 14px",borderRadius:9,fontSize:12,display:"flex",alignItems:"center",gap:9,background:"rgba(239,68,68,0.08)",border:"1px solid rgba(239,68,68,0.18)",color:"#f87171"},children:u}),(0,j.jsxs)("div",{style:{padding:"20px 24px 28px",display:"flex",flexDirection:"column",gap:8},children:[Pm&&(0,j.jsx)("a",{href:Pm,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:9,padding:14,background:"#2563eb",border:"none",borderRadius:12,color:"#fff",fontSize:14,fontWeight:600,cursor:"pointer",textDecoration:"none",letterSpacing:"-0.1px",transition:"background 0.15s, transform 0.1s"},onMouseEnter:p=>{p.currentTarget.style.background="#3b82f6",p.currentTarget.style.transform="translateY(-1px)"},onMouseLeave:p=>{p.currentTarget.style.background="#2563eb",p.currentTarget.style.transform="none"},children:"Open Web App \\u2192"}),a!=="done"&&(0,j.jsx)("button",{onClick:()=>void g(),disabled:m,style:{display:"flex",alignItems:"center",justifyContent:"center",gap:9,padding:12,background:"transparent",border:"1px solid rgba(255,255,255,0.08)",borderRadius:12,color:m?"rgba(255,255,255,0.25)":"rgba(255,255,255,0.4)",fontSize:13,fontWeight:500,cursor:m?"not-allowed":"pointer",transition:"border-color 0.15s, color 0.15s, background 0.15s"},onMouseEnter:p=>{m||(p.currentTarget.style.borderColor="rgba(255,255,255,0.15)",p.currentTarget.style.color="rgba(255,255,255,0.65)",p.currentTarget.style.background="rgba(255,255,255,0.03)")},onMouseLeave:p=>{m||(p.currentTarget.style.borderColor="rgba(255,255,255,0.08)",p.currentTarget.style.color="rgba(255,255,255,0.4)",p.currentTarget.style.background="transparent")},children:m?"\\u23F3 Pushing\\u2026":"\\u2191 Push local tasks"})]}),(0,j.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 24px 20px"},children:[(0,j.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:7,cursor:"pointer"},children:[(0,j.jsx)("input",{type:"checkbox",checked:o,onChange:p=>n(p.target.checked),style:{accentColor:"#2563eb",width:13,height:13,cursor:"pointer"}}),(0,j.jsx)("span",{style:{fontSize:11.5,color:"rgba(255,255,255,0.28)"},children:"Keep local files"})]}),Dm&&e&&(0,j.jsx)("button",{onClick:e,style:{fontSize:11,color:"rgba(255,255,255,0.2)",background:"none",border:"none",cursor:"pointer",textDecoration:"underline",textUnderlineOffset:2,transition:"color 0.15s"},onMouseEnter:p=>{p.currentTarget.style.color="rgba(255,255,255,0.45)"},onMouseLeave:p=>{p.currentTarget.style.color="rgba(255,255,255,0.2)"},children:"Dismiss (admin)"})]})]})})}var Tm={backlog:"Backlog",todo:"Todo","in-progress":"In Progress",review:"Review",done:"Done"};function gv(e,t,a){let r=a?e.filter(s=>{var u,d;return((u=s.title)==null?void 0:u.toLowerCase().includes(a))||((d=s.description)==null?void 0:d.toLowerCase().includes(a))}):e;if(a)return`${r.length} of ${e.length} tasks`;let o=r.filter(s=>s.status!=="done").length,n=r.filter(s=>s.status==="in-progress").length,l=r.filter(s=>s.status==="review").length;return`${o} open \\xB7 ${n} in-progress \\xB7 ${l} in review`}function Mm(){var Ka,vo;let[e,t]=re.default.useState([]),[a,r]=re.default.useState(!0),[o,n]=re.default.useState(!1),[l,s]=re.default.useState({open:!1,task:null,tab:"details"}),[u,d]=re.default.useState("board"),[g,m]=re.default.useState(!1),[p,v]=re.default.useState({open:!1,name:"",url:""}),[L,S]=re.default.useState(420),[z,c]=re.default.useState(!1),[i,f]=re.default.useState(""),[y,C]=re.default.useState(Ua.map(x=>x.id)),[k,h]=re.default.useState({status:"all",component:null,type:null,user:null,tags:[]}),[w,b]=re.default.useState("Proto Board"),[M,R]=re.default.useState(!1),[F,ee]=re.default.useState(!1),[G,Ie]=re.default.useState("You"),[_,N]=re.default.useState(null),[Z,te]=re.default.useState(""),[W,ce]=re.default.useState({}),je=re.default.useRef(null),bt=re.default.useRef(null),Xe=re.default.useRef(null),[Yt,Pt]=re.default.useState([]),fa=re.default.useRef(!1),gt=re.default.useRef([]),[Ir,Ls]=re.default.useState([]);re.default.useEffect(()=>(Tt(),Ss(),Is(),Mn(),Dn(),An(),()=>{var x;bt.current&&clearTimeout(bt.current),(x=je.current)==null||x.close()}),[]),re.default.useEffect(()=>{document.body.setAttribute("data-theme","dark")},[]),re.default.useEffect(()=>{function x(){let Q=window.location.hash.match(/^#task-([a-f0-9]{30})$/i);if(!Q){Xe.current=null;return}let ge=Q[1].toLowerCase();if(Xe.current===ge)return;let se=e.find(ae=>ae.id.toLowerCase()===ge);se&&(Xe.current=ge,fa.current?s(ae=>({...ae,open:!0,task:se,tab:"details"})):s(ae=>(ae.task&&ae.task.id!==se.id&&Pt(oe=>[...oe,ae.task]),{...ae,open:!0,task:se,tab:"details"})),fa.current=!1)}function P(){}x();let O=()=>{Xe.current=null,x()};return window.addEventListener("hashchange",O),window.addEventListener("vibeflow-task-ref-click",P),()=>{window.removeEventListener("hashchange",O),window.removeEventListener("vibeflow-task-ref-click",P)}},[e]),re.default.useEffect(()=>{if(!l.open||!l.task)return;let x=e.find(Q=>Q.id===l.task.id);if(!x)return;let P=l.task;Object.keys(x).some(Q=>x[Q]!==P[Q])&&s(Q=>({...Q,task:x}))},[e,l.open,(Ka=l.task)==null?void 0:Ka.id]),re.default.useEffect(()=>{function x(P){var ge,se,ae;let O=(ge=P.target)==null?void 0:ge.tagName,Q=O==="INPUT"||O==="TEXTAREA"||((se=P.target)==null?void 0:se.isContentEditable);if(P.key==="Escape"){if(p.open){v(oe=>({...oe,open:!1}));return}if(l.open){s(oe=>({...oe,open:!1}));return}if(g){m(!1);return}}if(!Q&&((P.key==="?"||P.key==="/"&&P.shiftKey)&&((ae=document.getElementById("header-shortcuts-hint"))==null||ae.click()),P.altKey&&!P.ctrlKey&&!P.metaKey&&(P.key==="n"||P.key==="N")&&(P.preventDefault(),$a(null,"details")),P.altKey&&!P.ctrlKey&&!P.metaKey&&(P.key==="f"||P.key==="F"))){P.preventDefault();let oe=document.getElementById("global-search");oe==null||oe.focus(),oe==null||oe.select()}}return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[p.open,l.open,g]);function Cr(x,P,O,Q,ge){let se=new Date().toISOString(),ae=Tm[P]??P,oe=Tm[O]??O,Ce=Date.now()-3e3;Ls(Me=>Me.some(D=>D.taskId===x&&D.to===oe&&new Date(D.timestamp).getTime()>Ce)?Me:[...Me,{taskId:x,field:"status",from:ae,to:oe,actor:Q,timestamp:se,source:ge}].slice(-500))}async function Tt(){try{let x=await st.getTasks();gt.current=x.tasks??[],t(x.tasks??[])}catch{}finally{r(!1)}}let Zt=re.default.useCallback((x,P,O)=>{let Q=String(x.id??"");if(!Q)return;let ge=x.created??x.createdAt,se=x.updated?String(x.updated):void 0,ae=Array.isArray(x.comments)?x.comments.length:void 0,oe=Array.isArray(x.files)?x.files.length:void 0,Ce=x.status?String(x.status):void 0,Me=gt.current.find(Fe=>Fe.id===Q);Ce&&Me&&Me.status!==Ce&&Cr(Q,Me.status,Ce,P??"Someone",O),t(Fe=>{let D=Fe.find(_t=>_t.id===Q),Ga={id:Q,title:x.title?String(x.title):(D==null?void 0:D.title)??"Untitled",description:x.description!=null?String(x.description):(D==null?void 0:D.description)??"",status:Ce??(D==null?void 0:D.status)??"todo",type:x.type?String(x.type):D==null?void 0:D.type,priority:x.priority?String(x.priority):D==null?void 0:D.priority,agent:x.agent?String(x.agent):D==null?void 0:D.agent,model:x.model?String(x.model):D==null?void 0:D.model,selector:x.selector?String(x.selector):D==null?void 0:D.selector,cssSelector:x.cssSelector?String(x.cssSelector):D==null?void 0:D.cssSelector,file:x.file?String(x.file):D==null?void 0:D.file,line:typeof x.line=="number"?x.line:D==null?void 0:D.line,col:typeof x.col=="number"?x.col:D==null?void 0:D.col,component:x.component?String(x.component):D==null?void 0:D.component,url:x.url?String(x.url):D==null?void 0:D.url,reportBack:x.reportBack===!0||(D==null?void 0:D.reportBack)===!0,commit:x.commit?String(x.commit):D==null?void 0:D.commit,commits:Array.isArray(x.commits)?x.commits:D==null?void 0:D.commits,commentCount:ae??(D==null?void 0:D.commentCount),fileCount:oe??(D==null?void 0:D.fileCount),createdAt:ge?String(ge):(D==null?void 0:D.createdAt)??new Date().toISOString(),updatedAt:se??(D==null?void 0:D.updatedAt),author:x.author?String(x.author):D==null?void 0:D.author,tags:Array.isArray(x.tags)?x.tags:D==null?void 0:D.tags,sortKey:x.sortKey?String(x.sortKey):D==null?void 0:D.sortKey},ut=Fe.filter(_t=>_t.id!==Q);return ut.push(Ga),ut.sort((_t,pa)=>{let ja=new Date(_t.updatedAt??_t.createdAt??"").getTime(),br=new Date(pa.updatedAt??pa.createdAt??"").getTime();return ja===br?_t.id.localeCompare(pa.id):br-ja}),gt.current=ut,ut})},[]);async function Ss(){try{let x=await st.getProject();x.name&&b(x.name),x.gitUserName&&Ie(x.gitUserName)}catch{}}async function Dn(){try{let x=await fetch("/api/github-url").then(P=>P.json());N(x.githubUrl??null)}catch{}}async function Is(){var x;try{let O=await st.getSettings();ce(O),(x=O.visibleCols)!=null&&x.length&&C(O.visibleCols),O.viewMode&&d(O.viewMode),O.panelWidth&&O.panelWidth>=280&&O.panelWidth<=900&&S(O.panelWidth)}catch{}}async function Mn(){try{let x=await st.getCopilotStatus();x!=null&&x.authenticated&&(x!=null&&x.username)?te(`Copilot: ${x.username}`):te("Copilot: not logged in")}catch{}}function An(){let P=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`,O=new WebSocket(P);je.current=O,O.addEventListener("open",()=>{R(!0),ee(!0),Tt()}),O.addEventListener("close",()=>{R(!1),bt.current=setTimeout(An,1500)}),O.addEventListener("message",ge=>{var se;try{let ae=JSON.parse(ge.data);if(ae.type==="tasks-updated"||(se=ae.type)!=null&&se.startsWith("task:")){Tt();return}if(ae.type==="task-changed"&&ae.task){let oe=ae.task,Ce=typeof oe.alteredBy=="string"?oe.alteredBy:typeof oe.author=="string"?oe.author:"Someone",Me=ae.source==="cli"?"cli":void 0;Zt(oe,Ce,Me);return}if(ae.type==="task-deleted"&&ae.taskId){let oe=String(ae.taskId);t(Ce=>{let Me=Ce.filter(Fe=>Fe.id!==oe);return gt.current=Me,Me})}}catch{}});let Q=setInterval(()=>{O.readyState===WebSocket.OPEN&&O.send(JSON.stringify({type:"ping"}))},2e4);O.addEventListener("close",()=>clearInterval(Q))}async function Va(x,P){let O=gt.current.find(Q=>Q.id===x);t(Q=>{let ge=Q.map(se=>se.id===x?{...se,...P}:se);return gt.current=ge,ge}),P.status&&(O!=null&&O.status)&&P.status!==O.status&&Cr(x,O.status,P.status,G);try{let Q=await st.updateTask(x,P);Q.task&&t(ge=>{let se=ge.map(ae=>ae.id===x?Q.task:ae);return gt.current=se,se})}catch{Tt()}}async function ca(x,P,O,Q){let ge=gt.current.filter(oe=>oe.status===P).sort(cn),{newSortKey:se,normalizationPatches:ae}=Gi(ge,x,O,Q);t(oe=>{let Ce=new Map;for(let{id:Fe,sortKey:D}of ae)Ce.set(Fe,{sortKey:D});Ce.set(x,{status:P,sortKey:se});let Me=oe.map(Fe=>Ce.has(Fe.id)?{...Fe,...Ce.get(Fe.id)}:Fe);return gt.current=Me,Me}),await Promise.all([...ae.map(({id:oe,sortKey:Ce})=>st.updateTask(oe,{sortKey:Ce}).catch(()=>{})),st.updateTask(x,{status:P,sortKey:se}).catch(()=>{Tt()})])}async function wr(x){t(P=>{let O=P.filter(Q=>Q.id!==x);return gt.current=O,O});try{await st.deleteTask(x)}catch{Tt()}}async function Cs(x){var P;try{let O=await st.createTask(x);return await Tt(),(P=O==null?void 0:O.task)==null?void 0:P.id}catch{}}function $a(x,P="details",O){Pt([]),s({open:!0,task:x,tab:P,addColumnId:O})}function kr(){Pt(x=>{if(x.length===0)return x;let P=x[x.length-1],O=x.slice(0,-1);return fa.current=!0,Xe.current=null,window.location.hash=`#task-${P.id}`,s(Q=>({...Q,open:!0,task:P,tab:"details"})),O})}function En(x,P){if(/\\.html?$/i.test(x)){window.open(P,"_blank","noopener,noreferrer");return}v({open:!0,name:x,url:P})}let Fn=gv(e,y,i.toLowerCase()),Bn=window.location.origin,ws=re.default.useMemo(()=>{let x=new Set;return e.forEach(P=>(P.tags??[]).forEach(O=>x.add(O))),Array.from(x).sort()},[e]),On=re.default.useMemo(()=>{var P;let x=(P=l.task)==null?void 0:P.id;return x?Ir.filter(O=>O.taskId===x).map(({field:O,from:Q,to:ge,actor:se,timestamp:ae,source:oe})=>({field:O,from:Q,to:ge,actor:se,timestamp:ae,source:oe})):[]},[(vo=l.task)==null?void 0:vo.id,Ir]),ho=re.default.useMemo(()=>{let x=e;return k.status!=="all"&&(x=x.filter(P=>P.status===k.status)),k.component&&(x=x.filter(P=>P.component===k.component)),k.type&&(x=x.filter(P=>P.type===k.type)),k.user&&(x=x.filter(P=>P.author===k.user)),k.tags&&k.tags.length>0&&(x=x.filter(P=>k.tags.every(O=>(P.tags??[]).includes(O)))),x},[e,k]),xo=F&&!M;return(0,j.jsxs)(j.Fragment,{children:[cv&&!o&&(0,j.jsx)(mv,{onClose:Dm?()=>n(!0):void 0}),(0,j.jsx)(Ji,{projectName:w,missingProjectIconStyle:"vibeflow",wsConnected:M,port:fv,searchQuery:i,filterTags:k.tags,allTags:ws,onToggleTag:x=>{let P=k.tags??[],O=P.includes(x)?P.filter(Q=>Q!==x):[...P,x];h(Q=>({...Q,tags:O}))},premiumUsage:Z,isLoading:a,taskSummary:Fn,onSearchChange:f,onSettings:()=>m(!0)}),(0,j.jsx)(id,{tasks:e,filter:k,view:u,onFilter:h,onViewChange:x=>{d(x),st.saveSettings({...W,viewMode:x}),ce(P=>({...P,viewMode:x}))}}),(0,j.jsxs)("div",{className:"flex flex-1 overflow-hidden",style:{minHeight:0,position:"relative"},children:[u==="list"?(0,j.jsx)(Zi,{tasks:ho,searchQuery:i,isLoading:a,onOpenPanel:(x,P)=>$a(x,P),onAddTask:x=>$a(null,"details",x),onDrop:(x,P)=>Va(x,{status:P})}):(0,j.jsx)(Qi,{tasks:ho,visibleCols:y,searchQuery:i,isLoading:a,onOpenPanel:(x,P,O)=>$a(x,P,O),onDrop:(x,P)=>Va(x,{status:P}),onReorder:ca}),l.open&&(0,j.jsxs)("div",{id:"detail-panel-container",style:{width:L,zIndex:z?30:10},className:z?"resizing":"",children:[(0,j.jsx)("div",{id:"detail-panel-resize-handle",onMouseDown:x=>{x.preventDefault(),c(!0),document.body.classList.add("vibeflow-resizing-panel");let P=x.clientX,O=L,Q=se=>{let ae=O-(se.clientX-P);S(Math.max(360,Math.min(860,ae)))},ge=se=>{c(!1),document.body.classList.remove("vibeflow-resizing-panel");let ae=Math.max(360,Math.min(860,O-(se.clientX-P)));st.saveSettings({...W,panelWidth:ae}),ce(oe=>({...oe,panelWidth:ae})),window.removeEventListener("mousemove",Q),window.removeEventListener("mouseup",ge)};window.addEventListener("mousemove",Q),window.addEventListener("mouseup",ge)}}),(0,j.jsx)(ud,{open:l.open,task:l.task,tab:l.tab,showLockIndicator:!1,addColumnId:l.addColumnId,gitUserName:G,githubUrl:_,baseUrl:Bn,isResizing:z,api:st,onClose:()=>{Pt([]),s(x=>({...x,open:!1}))},onSave:async x=>{l.task&&await Va(l.task.id,x),s(P=>({...P,open:!1}))},onCreate:async x=>{let P=await Cs(x);return s(O=>({...O,open:!1})),P},onDelete:async x=>{await wr(x),s(P=>({...P,open:!1}))},onPatch:Va,onFilePreview:En,onGoBack:Yt.length>0?kr:void 0,navBackLabel:Yt.length>0?Yt[Yt.length-1].title:void 0,externalLocalChanges:On,allTasks:e})]})]}),xo&&(0,Rm.createPortal)((0,j.jsx)("div",{id:"ws-lost-overlay",style:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:99999,background:"rgba(2, 6, 23, 0.88)",backdropFilter:"blur(4px)",WebkitBackdropFilter:"blur(4px)",display:"flex",alignItems:"center",justifyContent:"center",padding:16,pointerEvents:"all",cursor:"not-allowed"},children:(0,j.jsxs)("div",{style:{width:"min(420px, 92vw)",borderRadius:14,border:"1px solid var(--p-border-s)",background:"var(--p-card)",boxShadow:"0 16px 40px rgba(2,6,23,0.7)",padding:"20px 22px",display:"flex",flexDirection:"column",gap:10,cursor:"default",pointerEvents:"auto"},children:[(0,j.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,j.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"var(--p-text-m)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{animation:"spin 1.1s linear infinite",flexShrink:0},children:(0,j.jsx)("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})}),(0,j.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--p-text)"},children:"Connection Lost"})]}),(0,j.jsx)("div",{style:{fontSize:12,color:"var(--p-text-m)",lineHeight:1.6},children:"Real-time connection to the server was interrupted. Reconnecting in the background\\u2026"})]})}),document.body),(0,j.jsx)(dd,{open:g,visibleCols:y,settings:W,onClose:()=>m(!1),onSave:(x,P)=>{C(x);let O={...W,...P,visibleCols:x};ce(O),st.saveSettings(O)}}),(0,j.jsx)(fd,{open:p.open,name:p.name,url:p.url,onClose:()=>v(x=>({...x,open:!1}))})]})}var Fm=A(q(),1),Am=document.getElementById("root");Am&&(0,Em.createRoot)(Am).render((0,Fm.jsx)(Mm,{}));})();\n/*! Bundled license information:\n\nreact/cjs/react.production.min.js:\n (**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nscheduler/cjs/scheduler.production.min.js:\n (**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom.production.min.js:\n (**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact/cjs/react-jsx-runtime.production.min.js:\n (**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nlucide-react/dist/esm/shared/src/utils.js:\nlucide-react/dist/esm/defaultAttributes.js:\nlucide-react/dist/esm/Icon.js:\nlucide-react/dist/esm/createLucideIcon.js:\nlucide-react/dist/esm/icons/chevron-down.js:\nlucide-react/dist/esm/icons/chevron-right.js:\nlucide-react/dist/esm/icons/circle-check-big.js:\nlucide-react/dist/esm/icons/download.js:\nlucide-react/dist/esm/icons/eye.js:\nlucide-react/dist/esm/icons/file-text.js:\nlucide-react/dist/esm/icons/flag.js:\nlucide-react/dist/esm/icons/layout-dashboard.js:\nlucide-react/dist/esm/icons/list.js:\nlucide-react/dist/esm/icons/lock.js:\nlucide-react/dist/esm/icons/message-circle.js:\nlucide-react/dist/esm/icons/panels-top-left.js:\nlucide-react/dist/esm/icons/paperclip.js:\nlucide-react/dist/esm/icons/plus.js:\nlucide-react/dist/esm/icons/search.js:\nlucide-react/dist/esm/icons/settings.js:\nlucide-react/dist/esm/icons/tag.js:\nlucide-react/dist/esm/icons/triangle-alert.js:\nlucide-react/dist/esm/icons/upload.js:\nlucide-react/dist/esm/icons/user.js:\nlucide-react/dist/esm/icons/workflow.js:\nlucide-react/dist/esm/icons/x.js:\nlucide-react/dist/esm/lucide-react.js:\n (**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n *)\n*/\n';var Xt=Gt(import.meta.url),Zt=Qt(Xt),Jt=[rn(Zt,"kanban-template.html"),rn(process.cwd(),"src","server","kanban-template.html"),rn(process.cwd(),"dist","server","kanban-template.html")];function er(t){let e=Jt.find(r=>Kt(r));if(!e)throw new Error("kanban-template.html not found in expected locations");return Yt(e,"utf8").replaceAll("__PORT__",String(t))}function nr(t){return t.saasMode?`window.__SAAS_MODE__ = true; window.__BOARD_URL__ = ${JSON.stringify(t.boardUrl??"")}; window.__BOARD_NAME__ = ${JSON.stringify(t.boardName??"")}; window.__IS_ADMIN__ = ${t.isAdmin?"true":"false"};`:""}var tr="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iNCIgZmlsbD0iIzI1NjNlYiIvPjxyZWN0IHg9IjIuNSIgeT0iNSIgd2lkdGg9IjIiIGhlaWdodD0iOCIgcng9IjEiIGZpbGw9IndoaXRlIiBvcGFjaXR5PSIwLjciLz48cmVjdCB4PSI2LjUiIHk9IjIiIHdpZHRoPSIyIiBoZWlnaHQ9IjE0IiByeD0iMSIgZmlsbD0id2hpdGUiLz48cmVjdCB4PSIxMC41IiB5PSI2IiB3aWR0aD0iMiIgaGVpZ2h0PSI2IiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuNyIvPjxyZWN0IHg9IjE0LjUiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjEwIiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuODUiLz48L3N2Zz4=";function rr(t){return`<!DOCTYPE html>
|
|
29349
29349
|
<html lang="en" class="dark">
|
|
29350
29350
|
<head>
|
|
29351
29351
|
<meta charset="UTF-8">
|
|
29352
29352
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
29353
29353
|
<title>Vibeflow \u2014 Board</title>
|
|
29354
|
-
<link rel="icon" href="${
|
|
29354
|
+
<link rel="icon" href="${tr}" type="image/svg+xml">
|
|
29355
29355
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
29356
|
-
<style>${
|
|
29356
|
+
<style>${Fn}</style>
|
|
29357
29357
|
</head>
|
|
29358
29358
|
<body class="h-screen overflow-hidden flex flex-col" style="background:#020c1b;">
|
|
29359
29359
|
<div id="root"></div>
|
|
29360
|
-
<script>window.__PORT__ = ${t.port}; ${
|
|
29361
|
-
<script>${
|
|
29360
|
+
<script>window.__PORT__ = ${t.port}; ${nr(t)}</script>
|
|
29361
|
+
<script>${tn}</script>
|
|
29362
29362
|
</body>
|
|
29363
|
-
</html>`}function
|
|
29364
|
-
`;case"t":return" ";case"r":return"\r";case"\\":return"\\";default:return r}})}function
|
|
29365
|
-
`):[]);return
|
|
29363
|
+
</html>`}function on(t){let e=typeof t=="number"?{port:t}:t;return tn?rr(e):er(e.port)}import{readFileSync as An,writeFileSync as Go,mkdirSync as Xo,existsSync as On}from"fs";import{join as Mn,basename as or}from"path";var Dn={port:3700};function ar(t){return Mn(t,B,xn)}function Oe(t){let e=ar(t);if(!On(e))return{...Dn};let r=An(e,"utf-8"),i=JSON.parse(r);return{...Dn,...i}}function Me(t){let e=Mn(t,"package.json");if(On(e))try{let r=JSON.parse(An(e,"utf-8"));if(r.name)return r.name}catch{}return or(t)}import{mkdirSync as ir,writeFileSync as sr}from"fs";import{dirname as lr}from"path";import{randomBytes as cr}from"crypto";function Hn(t){let e=t;return{...t,text:t.text||e.body||"",author:t.author??"agent"}}function me(t,e){let r=ue(t,e);return((r?de(r):null)?.comments??[]).filter(c=>!c.deleted).map(Hn)}function Un(t){return t.replace(/\\(n|t|r|\\)/g,(e,r)=>{switch(r){case"n":return`
|
|
29364
|
+
`;case"t":return" ";case"r":return"\r";case"\\":return"\\";default:return r}})}function ve(t,e,r,i,c,o,a){i=Un(i);let s=ue(t,e),f=(s?de(s):null)?.comments??[],u={id:cr(8).toString("hex"),author:r,text:i,...c&&c.length>0?{files:c}:{},...o&&o!=="comment"?{type:o}:{},createdAt:new Date().toISOString(),source:a??"cli"},g=[...f,u];if(!V(t,e,{comments:g})){let k=Sn(t,e,new Date().toISOString());ir(lr(k),{recursive:!0}),sr(k,JSON.stringify({id:e,comments:g},null,2),"utf-8")}return u}function He(t,e,r,i){let c=ue(t,e),a=(c?de(c):null)?.comments??[],s=a.find(l=>l.id===r&&!l.deleted);return s?(s.text=Un(i),s.updatedAt=new Date().toISOString(),V(t,e,{comments:a}),Hn(s)):null}function Ue(t,e,r){let i=ue(t,e),o=(i?de(i):null)?.comments??[],a=o.findIndex(s=>s.id===r&&!s.deleted);return a===-1?!1:(o[a]={...o[a],deleted:!0,text:"[Comment deleted]",updatedAt:new Date().toISOString()},V(t,e,{comments:o}),!0)}import{execSync as jn}from"child_process";import{existsSync as ur,readFileSync as dr,writeFileSync as la,mkdirSync as ca}from"fs";import{join as pr}from"path";var fr="config.json";function mr(t){return pr(t,B,fr)}function gr(t){let e=mr(t);if(!ur(e))return{};try{return JSON.parse(dr(e,"utf-8"))}catch{return{}}}function hr(t){return t.length<=8?"***":t.slice(0,6)+"..."+t.slice(-4)}function vr(){try{return jn("gh auth token --hostname github.com",{encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}).trim()||null}catch{return null}}async function yr(t){try{let e=await fetch("https://api.github.com/user",{headers:{Authorization:`Bearer ${t}`,"User-Agent":"proto-studio-cli",Accept:"application/vnd.github+json"},signal:AbortSignal.timeout(5e3)});return e.ok?(await e.json()).login??null:null}catch{return null}}function br(t){let e=process.env.GITHUB_TOKEN;if(e?.trim())return{token:e.trim(),source:"env"};let i=gr(t).copilotToken;if(typeof i=="string"&&i.trim())return{token:i.trim(),source:"config"};let c=vr();return c?{token:c,source:"gh-cli"}:null}async function Re(t){let e=br(t);if(!e)return{authenticated:!1,source:null,tokenHint:null,username:null};let r=await yr(e.token).catch(()=>null);return{authenticated:!0,source:e.source,tokenHint:hr(e.token),username:r}}function je(){try{return jn("gh --version",{encoding:"utf-8",timeout:3e3,stdio:["pipe","pipe","pipe"]}),!0}catch{return!1}}import{existsSync as an,readFileSync as Wn,writeFileSync as $n,mkdirSync as zn}from"fs";import{join as We}from"path";import Bn from"os";var kr="settings.json";function Vn(){return We(Bn.homedir(),".vibeflow","settings.json")}function qn(t){return We(t,B,kr)}function sn(){try{return JSON.parse(Wn(Vn(),"utf-8"))}catch{return{}}}function Kn(t){let e=We(Bn.homedir(),".vibeflow");an(e)||zn(e,{recursive:!0}),$n(Vn(),JSON.stringify(t,null,2),"utf-8")}function X(t){let e=sn(),r=qn(t);if(!an(r))return e;try{let i=JSON.parse(Wn(r,"utf-8"));return{...e,...i}}catch{return e}}function Yn(t,e){let r=We(t,B);an(r)||zn(r,{recursive:!0});let i=qn(t),o={...X(t),...e};return $n(i,JSON.stringify(o,null,2),"utf-8"),o}import $e from"fs/promises";import wr from"os";import ln from"path";var xr=ln.join(wr.homedir(),".vibeflow"),ze=ln.join(xr,"token");async function Q(){try{return(await $e.readFile(ze,"utf8")).trim()||null}catch{return null}}async function Qn(t){await $e.mkdir(ln.dirname(ze),{recursive:!0}),await $e.writeFile(ze,t,{mode:384})}async function Gn(){try{await $e.unlink(ze)}catch{}}import{initTRPC as Cr,TRPCError as cn}from"@trpc/server";import{z as T}from"zod";var Zn=Cr.context().create(),Sr=Zn.router,te=Zn.procedure,Xn=T.enum(["backlog","todo","in-progress","review","done"]),un=T.object({id:T.string().min(1)}),Jn=Sr({project:te.query(({ctx:t})=>({name:Me(t.projectDir),projectDir:t.projectDir})),copilotStatus:te.query(async({ctx:t})=>await je()?await Re(t.projectDir):{authenticated:!1,reason:"gh CLI not found"}),tasks:te.query(({ctx:t})=>({tasks:oe(t.projectDir).map(i=>({...i,createdAt:i.created,commentCount:(i.comments??[]).length,fileCount:Xe(t.projectDir,i.id)}))})),searchTasks:te.input(T.object({query:T.string().min(1),limit:T.number().int().min(1).max(100).optional(),pageScope:T.string().optional()})).query(({ctx:t,input:e})=>{let r=oe(t.projectDir),i=Math.max(1,e.limit??10),c=e.query.toLowerCase();return{results:r.filter(a=>`${a.title} ${a.description??""} ${a.type??""} ${a.component??""}`.toLowerCase().includes(c)).slice(0,i).map(a=>({score:1,task:a,commentCount:(a.comments??[]).length,fileCount:Xe(t.projectDir,a.id)}))}}),createTask:te.input(T.object({title:T.string().min(1),selector:T.string().min(1),description:T.string().optional(),cssSelector:T.string().optional(),url:T.string().optional(),type:T.string().optional(),priority:T.string().optional(),file:T.string().optional(),line:T.number().int().positive().optional(),col:T.number().int().positive().optional(),component:T.string().optional(),status:Xn.optional(),agent:T.string().optional(),model:T.string().optional(),author:T.string().optional(),annotatedElementText:T.string().max(300).optional()})).mutation(({ctx:t,input:e})=>{let r=Ce(t.projectDir,{title:e.title,description:e.description??"",selector:e.selector,cssSelector:e.cssSelector,url:e.url,status:e.status??"todo",screenshot:void 0,file:e.file,line:e.line,col:e.col,component:e.component,type:e.type,priority:e.priority,author:e.author??"Unknown",agent:e.agent,model:e.model,annotatedElementText:e.annotatedElementText});return t.broadcast({type:"tasks-updated"}),{success:!0,task:r}}),updateTask:te.input(T.object({id:T.string().min(1),updates:T.object({status:Xn.optional(),title:T.string().min(1).optional(),description:T.string().optional(),type:T.string().optional(),priority:T.string().optional(),reportBack:T.boolean().optional(),agent:T.string().optional(),model:T.string().optional()})})).mutation(({ctx:t,input:e})=>{let r=V(t.projectDir,e.id,e.updates);if(!r)throw new cn({code:"NOT_FOUND",message:"Task not found"});return t.broadcast({type:"tasks-updated"}),{success:!0,task:r}}),deleteTask:te.input(un).mutation(({ctx:t,input:e})=>{if(!De(t.projectDir,e.id))throw new cn({code:"NOT_FOUND",message:"Task not found"});return t.broadcast({type:"tasks-updated"}),{success:!0}}),comments:te.input(un).query(({ctx:t,input:e})=>({comments:me(t.projectDir,e.id)})),addComment:te.input(T.object({taskId:T.string().min(1),text:T.string().min(1),author:T.enum(["user","agent"]).optional().default("user"),files:T.array(T.string()).optional(),source:T.enum(["cli","web"]).optional().default("web")})).mutation(({ctx:t,input:e})=>{let r=ve(t.projectDir,e.taskId,e.author,e.text.trim(),e.files,void 0,e.source);return t.broadcast({type:"tasks-updated"}),{success:!0,comment:r}}),updateComment:te.input(T.object({taskId:T.string().min(1),commentId:T.string().min(1),text:T.string().min(1)})).mutation(({ctx:t,input:e})=>{let r=He(t.projectDir,e.taskId,e.commentId,e.text.trim());if(!r)throw new cn({code:"NOT_FOUND",message:"Comment not found"});return{success:!0,comment:r}}),deleteComment:te.input(T.object({taskId:T.string().min(1),commentId:T.string().min(1)})).mutation(({ctx:t,input:e})=>(Ue(t.projectDir,e.taskId,e.commentId),t.broadcast({type:"tasks-updated"}),{success:!0})),files:te.input(un).query(({ctx:t,input:e})=>({files:ae(t.projectDir,e.id)}))});import{execSync as et}from"child_process";function dn(t){try{let e=et("git config user.name",{cwd:t,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim(),r=et("git config user.email",{cwd:t,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim();return{name:e||"Unknown",email:r||""}}catch{return{name:"Unknown",email:""}}}function mn(t){return/^[a-f0-9]{30}$/.test(t)}function Be(t,e){let r=t.headers.origin;return r&&!r.startsWith("http://localhost")?(e.status(403).json({error:"Forbidden"}),!1):!0}var Dr=new Set(["https://app.vibeflow.dev","https://vibeflow.dev","https://app.vibeflow.ai","https://vibeflow.ai"]);function Ar(t){if(!t)return null;try{let e=new URL(t).origin;return Dr.has(e)?e:null}catch{return null}}var ri=Tr(import.meta.url);function ft(){for(let t of Object.values(Lr()))for(let e of t??[])if(e.family==="IPv4"&&!e.internal)return e.address;return null}function mt(t,e){t.get("/api/pages",(r,i)=>{i.json({pages:e})})}var rt=new Map;function ot(t){let r=rt.get(t);if(r&&Date.now()-r.fetchedAt<3e5)return r.shas;try{let i=ut("git log --remotes --format=%H",{cwd:t,timeout:5e3}).toString().trim(),c=new Set(i?i.split(`
|
|
29365
|
+
`):[]);return rt.set(t,{shas:c,fetchedAt:Date.now()}),c}catch{return new Set}}function at(t,e){return t?e.has(t):null}function gt(t,e,r){t.get("/api/project",(o,a)=>{a.json({name:Me(e),projectDir:e})}),t.get("/api/tasks",(o,a)=>{let s=oe(e),l=ot(e),f=s.map(u=>{let g=u.commits?.length?u.commits[u.commits.length-1].sha:void 0;return{...u,createdAt:u.created,commentCount:(u.comments??[]).filter(h=>!h.deleted).length,fileCount:u.files?.length??0,commitPushed:at(g,l)}});a.json({tasks:f})}),t.param("id",(o,a,s,l)=>{if(!mn(l)){a.status(400).json({error:"Invalid task id"});return}s()}),t.get("/api/tasks/:id",(o,a)=>{let{id:s}=o.params,l=ue(e,s),f=l?de(l):null;if(!f){a.status(404).json({error:"Task not found"});return}let u=ot(e),g=f.commits?.length?f.commits[f.commits.length-1].sha:void 0;a.json({...f,commitPushed:at(g,u)})}),t.post("/api/tasks",(o,a)=>{let{title:s,description:l,selector:f,cssSelector:u,url:g,type:h,priority:k,file:L,line:F,col:E,component:S,status:R,agent:j,model:G,screenshot:O,annotatedElementText:Z,tags:he}=o.body;if(!s||!f){a.status(400).json({error:"Missing required fields: title, selector"});return}let se=dn(e),d=Ce(e,{title:s,description:l||"",selector:f,cssSelector:u||void 0,url:g||void 0,status:["backlog","todo","in-progress","review","done"].includes(R)?R:"todo",file:L||void 0,line:F!=null?Number(F):void 0,col:E!=null?Number(E):void 0,component:S||void 0,type:h||void 0,priority:k||void 0,author:se.name,agent:j||void 0,model:G||void 0,annotatedElementText:Z?String(Z).slice(0,300):void 0,tags:Array.isArray(he)?he.filter(b=>typeof b=="string"&&b.length>0):void 0});if(O){let b=re(e,B,Te);tt(b,{recursive:!0});let P=`${d.id}.png`;nt(re(b,P),Buffer.from(O,"base64")),V(e,d.id,{screenshot:P}),d.screenshot=P}console.log(`[Proto] Task created: "${d.title}" (${d.id})`),r({type:"tasks-updated"}),a.json({success:!0,task:d})}),t.patch("/api/tasks/:id",(o,a)=>{let{id:s}=o.params,l=o.body,f=["backlog","todo","in-progress","review","done"];if(l.status!==void 0&&!f.includes(l.status)){a.status(400).json({error:`Invalid status: ${l.status}`});return}let u=V(e,s,l);if(!u){a.status(404).json({error:"Task not found"});return}console.log(`[Proto] Task updated: "${u.title}" (${u.id}) \u2192 status:${u.status}`),r({type:"task-changed",taskId:u.id,action:"update",task:u}),a.json({success:!0,task:u})}),t.delete("/api/tasks/:id",(o,a)=>{let{id:s}=o.params;if(!De(e,s)){a.status(404).json({error:"Task not found"});return}console.log(`[Proto] Task deleted: ${s}`),r({type:"task-deleted",taskId:s}),a.json({success:!0})}),t.get("/api/tasks/:id/comments",(o,a)=>{let{id:s}=o.params,l=me(e,s);a.json({comments:l})}),t.post("/api/tasks/:id/comments",(o,a)=>{let{id:s}=o.params,{author:l,text:f,files:u,source:g}=o.body;if(!f||!f.trim()){a.status(400).json({error:"Missing required field: text"});return}let h=l==="agent"?"agent":"user",k=g==="cli"?"cli":"web",L=ve(e,s,h,f.trim(),Array.isArray(u)?u:void 0,void 0,k);r({type:"tasks-updated"}),a.json({success:!0,comment:L})}),t.patch("/api/tasks/:id/comments/:commentId",(o,a)=>{let{id:s,commentId:l}=o.params,{text:f}=o.body;if(!f||!f.trim()){a.status(400).json({error:"Missing required field: text"});return}let u=He(e,s,l,f.trim());if(!u){a.status(404).json({error:"Comment not found"});return}a.json({success:!0,comment:u})}),t.delete("/api/tasks/:id/comments/:commentId",(o,a)=>{let{id:s,commentId:l}=o.params;if(!Ue(e,s,l)){a.status(404).json({error:"Comment not found"});return}r({type:"tasks-updated"}),a.json({success:!0})}),t.get("/api/tasks/:id/files",(o,a)=>{let{id:s}=o.params,l=ae(e,s);a.json({files:l})}),t.get("/api/tasks/:id/files/:filename",(o,a)=>{let{id:s,filename:l}=o.params,f=Tn(e,s,l);if(!f){a.status(404).json({error:"File not found"});return}a.sendFile(f)});let i=new Set([".png",".jpg",".jpeg",".gif",".webp",".pdf",".txt",".md",".json",".csv",".svg",".mp4",".mov",".zip"]);t.post("/api/tasks/:id/files/:filename",ye.raw({type:"*/*",limit:"50mb"}),(o,a)=>{let{id:s,filename:l}=o.params;if(!l||l.includes("/")||l.includes("\\")){a.status(400).json({error:"Invalid filename"});return}let f=lt(decodeURIComponent(l)).toLowerCase();if(!i.has(f)){a.status(415).json({error:"File type not allowed"});return}let u=o.body;if(!Buffer.isBuffer(u)||u.length===0){a.status(400).json({error:"Empty file body"});return}let g=Pn(e,s,decodeURIComponent(l),u);r({type:"tasks-updated"}),a.json({success:!0,file:g})}),t.delete("/api/tasks/:id/files/:filename",(o,a)=>{let{id:s,filename:l}=o.params;if(!In(e,s,l)){a.status(404).json({error:"File not found"});return}ve(e,s,"user",`\u{1F5D1}\uFE0F File removed: \`${l}\``,void 0,"system","web"),r({type:"tasks-updated"}),a.json({success:!0})});let c=re(e,B,Te);t.post("/api/tasks/:id/screenshot",ye.json(),(o,a)=>{let{id:s}=o.params,{screenshot:l}=o.body;if(!ue(e,s)){a.status(404).json({error:"Task not found"});return}if(!l){a.status(400).json({error:"Missing screenshot"});return}tt(c,{recursive:!0});let f=`${s}.png`;nt(re(c,f),Buffer.from(l,"base64")),V(e,s,{screenshot:f}),r({type:"tasks-updated"}),a.json({success:!0,screenshot:f})}),t.delete("/api/tasks/:id/screenshot",(o,a)=>{let{id:s}=o.params;if(!ue(e,s)){a.status(404).json({error:"Task not found"});return}let l=`${s}.png`,f=re(c,l);fn(f)&&st(f),V(e,s,{screenshot:void 0}),r({type:"tasks-updated"}),a.json({success:!0})})}function ht(t,e,r){t.get("/api/user",(c,o)=>{o.json(dn(e))}),t.get("/api/settings",(c,o)=>{o.json(X(e))}),t.post("/api/settings",(c,o)=>{if(!Be(c,o))return;let a=new Set(["visibleCols","viewMode","panelWidth","autoCommit","autoComment","autoPush","createBranch"]),s=Object.fromEntries(Object.entries(c.body).filter(([f])=>a.has(f))),l=Yn(e,s);o.json({success:!0,settings:l})}),t.get("/api/push/workspaces",async(c,o)=>{let a=await Q().catch(()=>null);if(!a){o.status(401).json({error:"Not logged in"});return}let s=process.env.SPOTA_API_URL??"http://localhost:3000";try{let l=await fetch(`${s}/api/cli/workspaces`,{headers:{Authorization:`Bearer ${a}`}});if(!l.ok){let u=(await l.json().catch(()=>({}))).error??`HTTP ${l.status} from ${s}`;console.error(`[Proto] GET /api/push/workspaces failed: ${u}`),o.status(l.status).json({error:u});return}o.json(await l.json())}catch(l){let f=l instanceof Error?l.message:String(l);console.error(`[Proto] GET /api/push/workspaces network error: ${f}`),o.status(502).json({error:`Network error contacting SaaS API: ${f}`})}}),t.post("/api/push",ye.json(),async(c,o)=>{let{workspaceId:a,keepLocalFiles:s}=c.body,l=await Q().catch(()=>null);if(!l){o.status(401).json({error:"Not logged in"});return}let f=pe(e);if(f.length===0){o.json({imported:0,message:"No local tasks found"});return}let u=process.env.SPOTA_API_URL??"http://localhost:3000",g={tasks:f};a&&(g.workspaceId=a);try{let h=await fetch(`${u}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${l}`},body:JSON.stringify(g)});if(!h.ok){let L=await h.json().catch(()=>({}));o.status(h.status).json({error:L.error??"Import failed"});return}let k=await h.json();if(!s){for(let L of f)try{st(L.filePath)}catch{}r?.({type:"tasks-updated"})}o.json({imported:k.imported,skipped:k.skipped??0,workspaceId:k.workspaceId,boardId:k.boardId})}catch(h){let k=h instanceof Error?h.message:String(h);console.error(`[Proto] POST /api/push network error: ${k}`),o.status(502).json({error:`Network error contacting SaaS API: ${k}`})}}),t.get("/api/copilot/status",(c,o)=>{Re(e).then(a=>o.json(a)).catch(a=>{console.error(`[Proto] GET /api/copilot/status error: ${a instanceof Error?a.message:String(a)}`),o.json({authenticated:!1,source:null,tokenHint:null,username:null})})}),t.post("/api/copilot/login",async(c,o)=>{if(Be(c,o))try{let a=await Re(e);if(a.authenticated){o.json({launched:!1,alreadyAuthenticated:!0,username:a.username??null});return}if(!je()){o.status(400).json({launched:!1,error:"GitHub CLI is not installed. Install gh and authenticate with 'gh auth login'."});return}Nr("gh",["auth","login","--web","--hostname","github.com","--git-protocol","https","--scopes","read:user,copilot"],{cwd:e,detached:!0,stdio:"ignore"}).unref(),o.json({launched:!0})}catch(a){let s=a instanceof Error?a.message:String(a);console.error(`[Proto] POST /api/copilot/login error: ${s}`),o.status(500).json({launched:!1,error:s})}});let i=null;t.get("/api/agent-status",(c,o)=>{o.json(i??{message:"",active:!1,updatedAt:null})}),t.post("/api/agent-status",(c,o)=>{if(!Be(c,o))return;let{message:a,active:s}=c.body;i={message:(a??"").slice(0,200),active:s!==!1,updatedAt:new Date().toISOString()},r?.({type:"agent-status",...i}),o.json({ok:!0})}),t.delete("/api/agent-status",(c,o)=>{Be(c,o)&&(i=null,r?.({type:"agent-status",message:"",active:!1,updatedAt:null}),o.json({ok:!0}))}),t.get("/api/github-url",(c,o)=>{try{let a=ut("git remote get-url origin",{cwd:e,timeout:3e3}).toString().trim(),s=a.match(/^git@github\.com:(.+?)(?:\.git)?$/);if(s){o.json({githubUrl:`https://github.com/${s[1]}`});return}let l=a.match(/^(https?:\/\/github\.com\/[^/]+\/[^/]+?)(?:\.git)?$/);if(l){o.json({githubUrl:l[1]});return}}catch{}o.json({githubUrl:null})})}function vt(t,e){let r=process.env.SPOTA_ADMIN_EMAIL??"",i=process.env.SPOTA_API_URL??"http://localhost:3000";t.get("/kanban",async(c,o)=>{let a=await Q().catch(()=>null);if(!a){o.type("html").send(on({port:e}));return}let s=await ne().catch(()=>null),l=!1;if(r)try{let u=await fetch(`${i}/api/cli/profile`,{headers:{Authorization:`Bearer ${a}`}}).catch(()=>null);u?.ok&&(l=(await u.json()).email===r)}catch{}let f={port:e,saasMode:!0,boardUrl:s?.url??`${i}/kanban`,boardName:s?.name,isAdmin:l};o.type("html").send(on(f))})}var Or=`*{box-sizing:border-box;margin:0;padding:0}
|
|
29366
29366
|
body{font-family:system-ui,sans-serif;background:#0f172a;color:#e2e8f0;padding:32px;max-width:700px;margin:0 auto}
|
|
29367
29367
|
h1{font-size:22px;font-weight:700;color:#f1f5f9;margin-bottom:6px}
|
|
29368
29368
|
h2{font-size:14px;font-weight:600;color:#94a3b8;margin:24px 0 8px;text-transform:uppercase;letter-spacing:.06em}
|
|
@@ -29375,45 +29375,45 @@ code{font-family:monospace;font-size:12px;color:#a5b4fc;word-break:break-all}
|
|
|
29375
29375
|
.badge{display:inline-block;padding:2px 8px;background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.3);border-radius:10px;font-size:11px;color:#60a5fa;margin-left:6px}
|
|
29376
29376
|
.badge.green{background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.3);color:#4ade80}
|
|
29377
29377
|
pre{background:#050d1a;border:1px solid #1e293b;border-radius:6px;padding:12px;overflow-x:auto;font-family:monospace;font-size:12px;color:#a5b4fc;margin-top:8px}
|
|
29378
|
-
.note{font-size:11px;color:#64748b;margin-top:8px;padding:8px 10px;background:#0a0f1e;border-radius:6px;border-left:3px solid #334155}`;function
|
|
29378
|
+
.note{font-size:11px;color:#64748b;margin-top:8px;padding:8px 10px;background:#0a0f1e;border-radius:6px;border-left:3px solid #334155}`;function pn(t){return t.replace(/</g,"<").replace(/>/g,">")}var Mr="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none'%3E%3Crect width='32' height='32' rx='7' fill='%232563eb'/%3E%3Crect x='7' y='13' width='3.5' height='10' rx='1.5' fill='white' opacity='.75'/%3E%3Crect x='12.25' y='8.5' width='3.5' height='15' rx='1.5' fill='white'/%3E%3Crect x='17.5' y='14.5' width='3.5' height='8' rx='1.5' fill='white' opacity='.75'/%3E%3Crect x='22.5' y='11' width='2.5' height='11' rx='1.25' fill='white' opacity='.85'/%3E%3C/svg%3E";function it(t,e){return`<!DOCTYPE html>
|
|
29379
29379
|
<html lang="en">
|
|
29380
|
-
<head><meta charset="UTF-8"><title>Vibeflow \u2014 Inject Overlay</title><link rel="icon" type="image/svg+xml" href="${
|
|
29380
|
+
<head><meta charset="UTF-8"><title>Vibeflow \u2014 Inject Overlay</title><link rel="icon" type="image/svg+xml" href="${Mr}"><style>${Or}</style></head>
|
|
29381
29381
|
<body>
|
|
29382
29382
|
<h1>Vibeflow \u2014 Inject Overlay</h1>
|
|
29383
29383
|
<p style="margin-top:6px">${t}</p>
|
|
29384
29384
|
${e.join(`
|
|
29385
29385
|
`)}
|
|
29386
|
-
</body></html>`}function
|
|
29386
|
+
</body></html>`}function yt(t,e,r,i){let c=r?r.replace(/[^a-zA-Z0-9_-]/g,""):void 0;if(i){let u=`${i}/api/overlay.js`,g=c?`window.__PROTO_BOARD_ID='${c}';`:"",h=`javascript:(function(){if(document.getElementById('vibeflow-studio-root')){alert('Vibeflow overlay is already active.')}else{${g}fetch('${u}').then(function(r){return r.text()}).then(function(code){eval(code)}).catch(function(){alert('Failed to load Vibeflow overlay')})}})()`,k=`${g}fetch('${u}').then(r=>r.text()).then(code=>eval(code));`,L=c?`<script src="${u}" data-vibeflow-overlay data-board-id="${c}"></script>`:`<script src="${u}" data-vibeflow-overlay></script>`;t.get("/inject",(F,E)=>{E.type("html").send(it(`Add the Vibeflow overlay to any page to annotate and create tasks.${c?`<br><span style="font-size:12px;color:#64748b">Connected to board <code style="background:#1e293b;padding:2px 6px;border-radius:4px">${c}</code> via SaaS.</span>`:""}`,[`<h2>Option 1 \u2014 Bookmarklet <span class="badge green">CSP-safe</span> <span class="badge">recommended</span></h2>
|
|
29387
29387
|
<div class="card"><p>Drag this link to your bookmarks bar, then click it on any page to activate the overlay:</p>
|
|
29388
|
-
<a class="bookmarklet" href="${
|
|
29388
|
+
<a class="bookmarklet" href="${h}"><svg class='bookmarklet-icon' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='7' y='13' width='3.5' height='10' rx='1.5' fill='white' opacity='.75'/><rect x='12.25' y='8.5' width='3.5' height='15' rx='1.5' fill='white'/><rect x='17.5' y='14.5' width='3.5' height='8' rx='1.5' fill='white' opacity='.75'/><rect x='22.5' y='11' width='2.5' height='11' rx='1.25' fill='white' opacity='.85'/></svg>Vibeflow annotate</a>
|
|
29389
29389
|
<div class="note">\u2705 Works on pages with strict Content-Security-Policy (uses fetch + eval instead of <script src>).<br>\u26A0\uFE0F Do not click the link here \u2014 drag it to your bookmarks bar first, then use it on your target page.</div></div>`,`<h2>Option 2 \u2014 Browser console <span class="badge green">CSP-safe</span></h2>
|
|
29390
29390
|
<div class="card"><p>Open browser DevTools console on your target page and paste:</p>
|
|
29391
|
-
<pre>${
|
|
29391
|
+
<pre>${pn(k)}</pre>
|
|
29392
29392
|
<div class="note">\u2705 Works on most pages \u2014 uses fetch + eval which respects <code>connect-src https:</code> and <code>unsafe-eval</code>.</div></div>`,`<h2>Option 3 \u2014 Script tag</h2>
|
|
29393
29393
|
<div class="card"><p>Add this tag to your HTML (before <code></body></code>):</p>
|
|
29394
|
-
<pre>${
|
|
29395
|
-
<div class="note">Requires your CSP to allow loading scripts from <code>${i}</code>. Suitable when you control the page's HTML.</div></div>`]))});return}let
|
|
29394
|
+
<pre>${pn(L)}</pre>
|
|
29395
|
+
<div class="note">Requires your CSP to allow loading scripts from <code>${i}</code>. Suitable when you control the page's HTML.</div></div>`]))});return}let o=`http://localhost:${e}/vibeflow-overlay.js`,a=c?` data-board-id="${c}"`:"",s=`<script src="${o}" data-vibeflow-overlay${a}></script>`,l=c?`s.setAttribute('data-board-id','${c}');`:"",f=`javascript:(function(){if(document.getElementById('vibeflow-studio-root')){alert('Vibeflow overlay is already active on this page.');}else{var s=document.createElement('script');s.src='${o}';s.setAttribute('data-vibeflow-overlay','');${l}document.head.appendChild(s);}})()`;t.get("/inject",(u,g)=>{g.type("html").send(it("Add the Vibeflow overlay to any page without modifying source code.",[`<h2>Option 1 \u2014 Bookmarklet <span class="badge">recommended</span></h2>
|
|
29396
29396
|
<div class="card"><p>Drag this link to your bookmarks bar, then click it on any page to activate the overlay:</p>
|
|
29397
|
-
<a class="bookmarklet" href="${
|
|
29397
|
+
<a class="bookmarklet" href="${f}"><svg class='bookmarklet-icon' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='7' y='13' width='3.5' height='10' rx='1.5' fill='white' opacity='.75'/><rect x='12.25' y='8.5' width='3.5' height='15' rx='1.5' fill='white'/><rect x='17.5' y='14.5' width='3.5' height='8' rx='1.5' fill='white' opacity='.75'/><rect x='22.5' y='11' width='2.5' height='11' rx='1.25' fill='white' opacity='.85'/></svg>Vibeflow annotate</a>
|
|
29398
29398
|
<div class="note">\u26A0\uFE0F Do not click the link here \u2014 drag it to your bookmarks bar first, then use it on your target page.</div></div>`,`<h2>Option 2 \u2014 Script tag</h2>
|
|
29399
29399
|
<div class="card"><p>Add this tag to your HTML (before <code></body></code>):</p>
|
|
29400
|
-
<pre>${
|
|
29400
|
+
<pre>${pn(s)}</pre>
|
|
29401
29401
|
<div class="note">Requires the proto server to be running at port ${e}. Works without the Chrome extension.</div></div>`,`<h2>Option 3 \u2014 Browser console</h2>
|
|
29402
29402
|
<div class="card"><p>Open browser DevTools console and paste:</p>
|
|
29403
|
-
<pre>var s=document.createElement('script');s.src='${
|
|
29403
|
+
<pre>var s=document.createElement('script');s.src='${o}';s.setAttribute('data-vibeflow-overlay','');${c?`s.setAttribute('data-board-id','${c}');`:""}document.head.appendChild(s);</pre></div>`,'<div class="note" style="margin-top:20px">\u2699\uFE0F <strong>CSP note:</strong> If your app sets a strict Content-Security-Policy, use the Chrome extension instead \u2014 it bypasses CSP by injecting in the main world.</div>']))})}function bt(t,e,r){t.use("/trpc",Fr({router:Jn,createContext:()=>({projectDir:e,broadcast:r})}))}function kt(t){t.use((e,r,i,c)=>{console.error("[Proto] Unhandled error:",e.message),i.status(500).json({error:"Internal server error"})})}function wt(t){t.use((e,r,i)=>{if(r.setHeader("Access-Control-Allow-Origin","*"),r.setHeader("Access-Control-Allow-Methods","GET, POST, PATCH, DELETE, OPTIONS"),r.setHeader("Access-Control-Allow-Headers","Content-Type"),e.method==="OPTIONS"){r.status(204).end();return}i()})}function xt(t){t.disable("x-powered-by"),t.use((e,r,i)=>{r.setHeader("Content-Security-Policy",["default-src 'self'","script-src 'self' 'unsafe-inline' 'unsafe-eval' blob: https://cdn.tailwindcss.com https://unpkg.com","style-src 'self' 'unsafe-inline' https://fonts.googleapis.com","font-src 'self' https://fonts.gstatic.com","img-src 'self' data: blob:","connect-src 'self' ws://localhost:* ws://127.0.0.1:* wss://localhost:* wss://127.0.0.1:*","frame-ancestors 'none'","object-src 'none'","base-uri 'self'","form-action 'self'","worker-src 'self' blob:"].join("; ")),r.setHeader("Permissions-Policy","camera=(), microphone=(), geolocation=()"),r.setHeader("X-Content-Type-Options","nosniff"),r.setHeader("X-Frame-Options","DENY"),r.setHeader("Referrer-Policy","strict-origin-when-cross-origin"),r.setHeader("Cross-Origin-Embedder-Policy","unsafe-none"),r.setHeader("Cross-Origin-Opener-Policy","same-origin"),i()})}async function Hr(t,e){let r=e._testToken!==void 0?e._testToken:await Q().catch(()=>null),i=e._testWorkspace!==void 0?e._testWorkspace:r?await ne().catch(()=>null):null,c=!!(r&&i),o=ye();wt(o),xt(o),o.use(ye.json({limit:"10mb"}));let a=ct(o),s=new dt({server:a}),l=g=>{let h=JSON.stringify(g);for(let k of s.clients)k.readyState===pt.OPEN&&k.send(h)};s.on("connection",g=>{g.on("message",h=>{try{JSON.parse(h.toString()).type==="ping"&&g.send(JSON.stringify({type:"pong"}))}catch{}})});let f=Ar(i?.url)??process.env.SPOTA_API_URL??"http://localhost:3000";if(c){o.use(["/api/tasks","/api/push","/trpc"],(h,k)=>{k.status(503).json({error:"Online mode active \u2014 local task API is disabled. All task operations go through the SaaS backend."})});let g=Ln(f);o.get("/vibeflow-overlay.js",(h,k)=>{k.type("application/javascript").send(g)})}else{_e(t);let g=nn(e.port);o.get("/vibeflow-overlay.js",(k,L)=>{L.type("application/javascript").send(g)});let h=re(t,B,Te);o.get("/screenshots/:filename",(k,L)=>{let{filename:F}=k.params,E=le(F,".png");if(!mn(E)){L.status(400).end();return}let S=re(h,`${E}.png`);if(!fn(S)){L.status(404).end();return}L.sendFile(S)}),mt(o,[]),gt(o,t,l),bt(o,t,l),ht(o,t,l)}vt(o,e.port),yt(o,e.port,c?i?.id:void 0,c?f:void 0);let u=c?null:Je(re(t,B,Ie),{onChanged:g=>{let h=de(g);l(h?{type:"task-changed",taskId:h.id,action:"update",task:h,source:"cli"}:{type:"tasks-updated"})},onDeleted:g=>{let h=le(g,".json");l({type:"task-deleted",taskId:h})}});return kt(o),new Promise((g,h)=>{let k=e.host??"localhost";a.listen(e.port,k,()=>{let F=`http://${k==="0.0.0.0"?ft()??"localhost":k}:${e.port}`,E=k==="0.0.0.0"?`http://localhost:${e.port}`:null,S=y.dim(" "+"\u2500".repeat(62));console.log(),console.log(y.green(" \u2713 Vibeflow running")+y.dim(" \xB7 ")+y.cyan(F)),E&&console.log(y.dim(" Local: ")+y.cyan(E)),console.log(S),c?(console.log(y.dim(" Mode: ")+y.green("\u25CF Online")+y.dim(" \u2014 connected to Vibeflow SaaS")),console.log(y.dim(" Board: ")+y.white(i.name??"your board")),console.log(y.dim(" Web: ")+y.cyan(i.url)),console.log(S),console.log(y.dim(" Overlay script: ")+y.cyan(`${F}/vibeflow-overlay.js`)),console.log(),console.log(y.dim(" \u250C\u2500 Add to your HTML ")+y.dim("\u2500".repeat(43)+"\u2510")),console.log(y.dim(" \u2502 ")+y.yellow(`<script src="${F}/vibeflow-overlay.js" data-vibeflow-overlay></script>`)+y.dim(" \u2502")),console.log(y.dim(" \u2502 ")+y.dim("Or drag the bookmarklet: ")+y.cyan(`${F}/inject`)+y.dim(" \u2502")),console.log(y.dim(" \u2514"+"\u2500".repeat(63)+"\u2518"))):(console.log(y.dim(" Mode: ")+y.yellow("\u25CE Local")+y.dim(" \u2014 no account needed")),console.log(S),console.log(y.bold.white(" BOARDS & APIS")),console.log(y.dim(" Kanban board ")+y.cyan(`${F}/kanban`)),console.log(y.dim(" Task API ")+y.cyan(`${F}/api/tasks`)),console.log(S),console.log(y.bold.white(" INTEGRATE INTO YOUR APP")+y.dim(` (full guide: ${F}/inject)`)),console.log(y.dim(" 1. Add this script tag to your HTML:")),console.log(y.dim(" ")+y.yellow(`<script src="${F}/vibeflow-overlay.js" data-vibeflow-overlay></script>`)),console.log(y.dim(" 2. Reload your page \u2014 the overlay appears automatically.")),console.log(y.dim(" 3. Click anything to annotate it.")),console.log(S),console.log(y.dim(" Bookmarklet \u2014 no code changes needed:")),console.log(y.dim(" Visit and drag the bookmarklet from ")+y.cyan(`${F}/inject`)+y.dim(" to your bookmarks bar."))),console.log(),console.log(y.dim(" Press Ctrl+C to stop")),console.log(),g({url:F,close:async()=>{u&&await u.close(),s.close(),await new Promise(R=>a.close(()=>R()))}})}),a.on("error",h)})}async function gn(t,e){if(!t)return Hr(e.projectDir??process.cwd(),e);if(t.startsWith("http://")||t.startsWith("https://"))throw new Error(`Proxy mode is no longer supported.
|
|
29404
29404
|
To annotate an existing app, run: proto serve (API-only mode)
|
|
29405
|
-
Then install the Chrome extension and navigate to your app.`);let r=
|
|
29406
|
-
`);
|
|
29405
|
+
Then install the Chrome extension and navigate to your app.`);let r=_r(t),c=Ir(r).isDirectory(),o=c?Pr(r).filter(S=>lt(S)===".html").map(S=>re(r,S)):[r];if(o.length===0)throw new Error("No HTML files found at "+t);let a=c?r:Rr(r);_e(a);let s=ye();wt(s),xt(s),s.use(ye.json({limit:"10mb"}));let l=ct(s),f=new dt({server:l}),u=S=>{let R=JSON.stringify(S);for(let j of f.clients)j.readyState===pt.OPEN&&j.send(R)};f.on("connection",S=>{S.on("message",R=>{try{JSON.parse(R.toString()).type==="ping"&&S.send(JSON.stringify({type:"pong"}))}catch{}})});let g=e.noOverlay?null:nn(e.port);g&&s.get("/vibeflow-overlay.js",(S,R)=>{R.type("application/javascript").send(g)});let h=re(a,B,Te);s.get("/screenshots/:filename",(S,R)=>{let{filename:j}=S.params,G=le(j,".png");if(!mn(G)){R.status(400).end();return}let O=re(h,`${G}.png`);if(!fn(O)){R.status(404).end();return}R.sendFile(O)}),c&&s.get("/",(S,R)=>{let j=o.map(G=>{let O=le(G);return`<li><a href="/${O}">${O}</a></li>`}).join(`
|
|
29406
|
+
`);R.send(`<!DOCTYPE html><html><head><title>Vibeflow Studio</title>
|
|
29407
29407
|
<style>body{font-family:system-ui;max-width:600px;margin:40px auto;padding:0 20px}
|
|
29408
29408
|
a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}
|
|
29409
29409
|
li{margin:8px 0}</style></head>
|
|
29410
29410
|
<body><h1>Vibeflow Studio</h1>
|
|
29411
29411
|
<p>Select a prototype to review:</p>
|
|
29412
|
-
<ul>${
|
|
29413
|
-
Push them to your board now? [Y/n]: `),async
|
|
29414
|
-
Login timed out. Please try again.`)),process.
|
|
29415
|
-
Uploading ${o} file(s) (${
|
|
29416
|
-
`),{uploaded:c,failed:l,failedFiles:P}}async function St(t,e){let r=Kr(t),i=await Q();if(!i&&(console.log(B.yellow(" Not logged in. Starting login flow...")),await Ve(),i=await Q(),!i)){console.error(B.red(" Login failed. Please run `vibeflow login` and try again.")),process.exitCode=1;return}let s=ce(r);if(s.length===0){console.log(B.dim(" No local tasks found. Nothing to push."));return}console.log(B.cyan(` Found ${s.length} local task(s). Pushing to SaaS...`));let o=Xr(),a=e.workspace;if(!a){let f=await J();f&&(a=f.id,console.log(B.dim(` Using board: ${f.icon??""} ${f.name}`)))}let c={tasks:s};a&&(c.workspaceId=a);let l;try{let f=await fetch(`${o}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(c)});if(!f.ok){let _=await f.json().catch(()=>({}));console.error(B.red(` Import failed: ${f.status} ${_.error??f.statusText}`)),process.exitCode=1;return}l=await f.json()}catch(f){let _=f instanceof Error?f.message:String(f);console.error(B.red(` Network error: ${_}`)),process.exitCode=1;return}console.log(B.green(` \u2713 Pushed ${l.imported} task(s) to SaaS`)),l.skipped&&l.skipped>0&&console.log(B.dim(` Skipped ${l.skipped} already-imported task(s).`));let u=(await J())?.name??l.workspaceId;console.log(B.dim(` Board: ${u}`));let C=l.idMap??{},P=s.filter(f=>f.id&&C[f.id]).map(f=>({localId:f.id,remoteId:C[f.id]})),{uploaded:k,failed:w,failedFiles:R}=await Zr(o,i,r,P);if(k>0&&console.log(B.green(` \u2713 Uploaded ${k} file(s) to storage`)),w>0){console.log(B.yellow(` \u26A0 ${w} file(s) failed to upload`));for(let f of R)console.log(B.dim(` - ${f.name}: ${f.reason}`))}if(e.keepLocalFiles){console.log(B.dim(" Local task files kept (--keep-local-files)."));return}let L=0;for(let f of s)try{Vr(f.filePath),L++}catch{}console.log(B.dim(` Deleted ${L} local task file(s).`))}var eo="http://localhost:3000";function qe(){return process.env.SPOTA_API_URL??eo}var no={backlog:"backlog",todo:"todo","in-progress":"in_progress",review:"review",done:"done"},to={backlog:"backlog",todo:"todo",in_progress:"in-progress",review:"review",done:"done",cancelled:"done"};function de(t){return to[t]??"todo"}function ro(t){return no[t]??"todo"}async function Ye(){let t=await Q();return t?{Authorization:`Bearer ${t}`}:null}async function Se(t){let e=await Ye();if(!e)return null;let r=new URL(`${qe()}/api/cli/tasks`);t&&r.searchParams.set("boardId",t);try{let i=await fetch(r.toString(),{headers:e});return i.ok?i.json():null}catch{return null}}async function Et(t){let e=await Se();return e?e.tasks.find(r=>r.id===t)??null:null}async function mn(t,e){let r=await Ye();if(!r)return null;let i={};e.status!==void 0&&(i.status=ro(e.status)),e.title!==void 0&&(i.title=e.title),e.description!==void 0&&(i.description=e.description),e.priority!==void 0&&(i.priority=e.priority);try{let s=await fetch(`${qe()}/api/cli/tasks/${encodeURIComponent(t)}`,{method:"PATCH",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify(i)});if(!s.ok)return null;let o=await s.json();return{task:o.task,warning:o.warning}}catch{return null}}async function Pt(t,e){let r=await Ye();if(!r)return null;try{let i=await fetch(`${qe()}/api/cli/tasks/${encodeURIComponent(t)}/comments`,{method:"POST",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify({body:e})});return i.ok?(await i.json()).comment:null}catch{return null}}async function It(t){let e=await Ye();if(!e)return null;try{let r=await fetch(`${qe()}/api/cli/tasks`,{method:"POST",headers:{...e,"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok?(await r.json()).task:null}catch{return null}}import{readFileSync as hn,existsSync as vn,unlinkSync as yo}from"fs";import{resolve as V,join as At,basename as Ot}from"path";import n from"chalk";import{createHash as oo,randomUUID as ao}from"crypto";import{existsSync as io,readFileSync as so,writeFileSync as lo,mkdirSync as co}from"fs";import{join as Tt}from"path";import _t from"os";import{PostHog as uo}from"posthog-node";var po="phc_C9AUV3rnayLfVvxgHtvj6AXcwsd8FKWUfJ9262zWsCvM",fo="https://eu.i.posthog.com";function Rt(){return Tt(process.env.HOME??_t.homedir(),".vibeflow")}function Nt(){return Tt(Rt(),"config.json")}function Ke(){try{return JSON.parse(so(Nt(),"utf-8"))}catch{return{}}}function Lt(t){let e=Rt();io(e)||co(e,{recursive:!0});let r=Ke();lo(Nt(),JSON.stringify({...r,...t},null,2),"utf-8")}function Ft(){return process.env.VIBEFLOW_TELEMETRY==="0"?!1:Ke().disabled!==!0}function gn(t){Lt({disabled:!t})}function Dt(){let t=Ft(),e=Ke();return{enabled:t,anonymousId:e.anonymousId??null}}function mo(){let t=Ke();if(t.anonymousId)return t.anonymousId;let e=ao();return Lt({anonymousId:e}),e}function go(){let t=_t.userInfo().username;return oo("sha256").update(t).digest("hex").slice(0,16)}var Ne=null;function ho(){return Ft()?(Ne||(Ne=new uo(po,{host:fo,flushAt:1,flushInterval:0})),Ne):null}function ye(t,e){let r=ho();if(!r)return;let i=mo();r.capture({distinctId:i,event:t,properties:{...e,$user_id:go()}})}async function be(){if(Ne)try{await Ne.shutdown()}catch{}}function bo(t,e){let r=u=>u.replace(/[^0-9.]/g,"").split(".").map(Number),[i=0,s=0,o=0]=r(t),[a=0,c=0,l=0]=r(e);return i!==a?i>a:s!==c?s>c:o>l}function ko(){let t="0.4.1";if(!t)return;let e="@vibeflow-tools/cli";import("https").then(({default:r})=>{let i=r.get(`https://registry.npmjs.org/${encodeURIComponent(e)}/latest`,{timeout:5e3},s=>{let o="";s.on("data",a=>{o+=a.toString()}),s.on("end",()=>{try{let{version:a}=JSON.parse(o);a&&bo(a,t)&&(console.log(),console.log(n.bgYellow.black.bold(` \u2191 Update available: ${t} \u2192 ${a} `)),console.log(n.dim(" Run: ")+n.cyan(`npm install -g ${e}@${a}`)+n.dim(" to update")),console.log())}catch{}})});i.on("error",()=>{}),i.on("timeout",()=>{i.destroy()})}).catch(()=>{})}wt();var ke={backlog:n.gray,todo:n.yellow,"in-progress":n.blue,review:n.magenta,done:n.green},wo=new Set(["Task","Bug","Research"]);function xo(t){if(t){for(let e of wo)if(e.toLowerCase()===t.toLowerCase())return e}}function ge(t){let e=(t??"Medium").trim().toLowerCase();return e==="critical"?0:e==="high"?1:e==="low"?3:2}var Mt=["in-progress","review","todo","backlog","done"];function Qe(t){let e=Mt.indexOf(t);return e===-1?Mt.length:e}function Ht(t){try{return Ge("git",["push"],{cwd:t,stdio:"inherit"}),{ok:!0}}catch{try{let e=yn("git rev-parse --abbrev-ref HEAD",{cwd:t}).toString().trim();return Ge("git",["push","--set-upstream","origin",e],{cwd:t,stdio:"inherit"}),{ok:!0}}catch(e){return{ok:!1,error:(e instanceof Error?e.message:String(e)).slice(0,220)}}}}function Ee(t){let{autoCommit:e,autoPush:r,autoComment:i,createBranch:s}=t;if(console.log(n.bold("Agent instructions (concise):")),console.log(n.dim(" Discover: vibeflow tasks --status todo | vibeflow tasks --type Research | vibeflow tasks --user <email> | vibeflow tasks --tag <tag>")),console.log(n.dim(" Details: vibeflow tasks --get <id> (full task info with comments and files)")),console.log(n.dim(' Create: vibeflow tasks --add --title "..." --description "..."')),console.log(),console.log(n.dim(" Workflow:")),console.log(n.yellow(" \u26A0 IMMEDIATELY set in-progress BEFORE any implementation work:")),console.log(n.dim(" 1. vibeflow tasks --edit <id> --set-status in-progress \u2190 DO THIS FIRST")),console.log(n.dim(" 2. <implement the change>")),e){console.log(n.dim(" 3. git add <files> (stage your changes first)"));let o=["--set-status review"];e&&o.push('--commit-message "<one-line summary>"'),i&&o.push('--comment "<report>"'),console.log(n.dim(` 4. vibeflow tasks --edit <id> ${o.join(" ")}`)),console.log(n.dim(" CLI will commit staged changes and link the commit SHA automatically."))}else{console.log(n.dim(' 3. git add <files> && vibeflow tasks --commit --task <id> --message "<one-line summary>"'));let o=["--set-status review"];i&&o.push('--comment "<report>"'),console.log(n.dim(` 4. vibeflow tasks --edit <id> ${o.join(" ")}`))}i&&(console.log(n.dim("")),console.log(n.dim(" Comment format (--comment):")),console.log(n.dim(" \xB7 Plain text for concise one-liners.")),console.log(n.dim(" \xB7 Markdown for multi-section reports. Use **bold**, bullet lists, code fences.")),console.log(n.dim(" \xB7 Must cover: what changed, why, key decisions, anything future agents should know.")),console.log(n.dim(" \xB7 For long reports, attach a .md file and reference it in the comment."))),console.log(),e&&console.log(n.dim(" [setting] Auto-commit ON: provide --commit-message when setting status to review; CLI commits.")),r&&console.log(n.dim(" [setting] Auto-push ON: CLI pushes after the commit automatically.")),i&&console.log(n.dim(" [setting] Auto-comment ON: --comment is required when setting status to review.")),s&&(console.log(n.dim(" [setting] Create branch ON: after ALL tasks in this session are done, create and push a descriptive branch:")),console.log(n.dim(" git checkout -b <short-name> (e.g. fix/annotation-errors, feat/eye-toggle, chore/cleanup-extension)")),console.log(n.dim(" git push -u origin HEAD")),console.log(n.dim(" Branch name rules: lowercase, kebab-case, 2-5 words, prefix fix/feat/chore/docs.")),console.log(n.dim(" Describe the WORK done (not dates). Bad: agent/2026-04-16. Good: fix/bug-errors-visibility."))),t.hasResearchTasks&&(console.log(n.dim(" Research tasks: NEVER generate code \u2014 research only.")),console.log(n.dim(" Attach a .md report before marking Research tasks as review.")),console.log(n.dim(" CLI ENFORCES: cannot mark Research as review without an attached .md report.")),console.log(n.dim(" Use --report-file <path> to upload your .md report when marking as review:")),console.log(n.dim(' vibeflow tasks --edit <id> --set-status review --report-file ./report.md --comment "..."')),console.log(n.dim(" The file is uploaded to the task and deleted from the local filesystem automatically."))),t.hasBugTasks&&(console.log(n.dim(" Bug tasks: Include error logs / stack traces in the commit comment.")),console.log(n.dim(" Describe: the symptom, the console error, what triggered it, and how it was fixed."))),console.log(n.red(" CRITICAL: NEVER edit .vibeflow/ task files directly.")),console.log(n.dim(" All task operations (status, comments, commits) must go through CLI commands.")),console.log(n.red(" CRITICAL: Set in-progress BEFORE reading/planning. Other agents may pick the same task.")),console.log(n.dim(" The in-progress transition signals ownership. Skip it and another agent may duplicate your work.")),console.log(n.dim(" Sequence: discover tasks \u2192 pick one \u2192 set in-progress \u2192 THEN read details and implement.")),console.log(n.red(' CRITICAL: NEVER set a task status to "done".')),console.log(n.dim(' When your implementation is complete, set the status to "review" \u2014 not "done".')),console.log(n.dim(" Only humans can mark tasks as done after reviewing the work.")),console.log(n.dim(" The CLI will warn you and still allow the change \u2014 but agents must not use it.")),console.log()}var re=new vo;re.name("vibeflow").description("Vibeflow \u2014 CLI tool for frontend prototyping with LLM assistance").version("0.4.1");re.addHelpText("after",`
|
|
29412
|
+
<ul>${j}</ul></body></html>`)});for(let S of o){let R=c?`/${le(S)}`:"/";s.get(R,(j,G)=>{let O=Er(S,"utf-8"),Z=g?Nn(O,g):O;G.type("html").send(Z)})}let k=o.map(S=>`/${le(S)}`);mt(s,c?k:[]),gt(s,a,u),bt(s,a,u),ht(s,a,u),vt(s,e.port),yt(s,e.port);let L=null;L=Ze(r,{onChange:S=>{let R=le(S);console.log(y.dim(` File changed: ${R}`)),u({type:"reload",file:R})}});let F=re(a,B,Ie),E=Je(F,{onChanged:S=>{let R=de(S);u(R?{type:"task-changed",taskId:R.id,action:"update",task:R,source:"cli"}:{type:"tasks-updated"})},onDeleted:S=>{let R=le(S,".json");u({type:"task-deleted",taskId:R})}});return kt(s),new Promise((S,R)=>{let j=e.host??"localhost";l.listen(e.port,j,()=>{let O=`http://${j==="0.0.0.0"?ft()??"localhost":j}:${e.port}`,Z=j==="0.0.0.0"?`http://localhost:${e.port}`:null,he=y.dim(" "+"\u2500".repeat(62));console.log(),console.log(y.green(" \u2713 Vibeflow running")+y.dim(" \xB7 ")+y.cyan(O)),Z&&console.log(y.dim(" Local: ")+y.cyan(Z)),console.log(he);for(let se of o){let Le=c?`/${le(se)}`:"/";console.log(y.dim(" File: ")+y.cyan(`${O}${Le}`)+y.dim(` (${le(se)})`))}console.log(y.dim(" Kanban board: ")+y.cyan(`${O}/kanban`)),console.log(y.dim(" Task API: ")+y.cyan(`${O}/api/tasks`)),console.log(he),console.log(y.bold.white(" INTEGRATE INTO YOUR APP")+y.dim(` (full guide: ${O}/inject)`)),console.log(y.dim(" 1. Add this script tag to your HTML:")),console.log(y.dim(" ")+y.yellow(`<script src="${O}/vibeflow-overlay.js" data-vibeflow-overlay></script>`)),console.log(y.dim(" 2. Reload your page \u2014 the overlay appears automatically.")),console.log(y.dim(" 3. Click anything to annotate it.")),console.log(),console.log(y.dim(" Press Ctrl+C to stop")),console.log(),e.open&&import("open").then(se=>se.default(O)).catch(()=>{}),S({url:O,close:async()=>{L&&await L.close(),await E.close(),f.close(),await new Promise(se=>l.close(()=>se()))}})}),l.on("error",R)})}async function be(){return await Q()?"saas":"local"}import H from"chalk";import Ur from"open";import Ct from"readline";import jr from"@inquirer/select";import{existsSync as Wr,readdirSync as St,readFileSync as $r}from"fs";import{join as hn,resolve as zr}from"path";var Br="http://localhost:3000",Vr=300*1e3;function Et(){return process.env.SPOTA_API_URL??Br}async function qr(t){return new Promise(e=>setTimeout(e,t))}async function Kr(t){return t.length===1?(console.log(H.dim(` Using board: ${t[0].icon??""} ${t[0].name}`)),t[0]):await jr({message:"Select a board to use:",choices:t.map(r=>({name:`${r.icon??""} ${r.name}`,value:r}))})}async function Pt(t,e){try{let r=await fetch(`${t}/api/cli/settings`,{headers:{Authorization:`Bearer ${e}`}});if(!r.ok)return;let i=await r.json();i.settings&&Object.keys(i.settings).length>0&&Kn({...i.settings,_settingsRefreshedAt:Date.now()})}catch{}}async function It(){try{let t=await Q();if(!t)return;let r=sn()._settingsRefreshedAt??0;if(Date.now()-r<Vr)return;let i=Et();Pt(i,t)}catch{}}async function Yr(t,e){try{let[r,i]=await Promise.all([fetch(`${t}/api/cli/workspaces`,{headers:{Authorization:`Bearer ${e}`}}),fetch(`${t}/api/cli/profile`,{headers:{Authorization:`Bearer ${e}`}})]);if(!r.ok)return;let c=await r.json();if(!c.workspaces?.length){console.log(H.yellow(" No boards found. Create a board in the web app first."));return}let o=i.ok?await i.json():null,a=await Kr(c.workspaces);await _n({...a,email:o?.email??null}),console.log(H.green(` Board set: ${a.icon??""} ${a.name}`)),console.log(H.dim(` Open at: ${a.url}`))}catch{}}async function Qr(t,e,r,i){let c=hn(t,B,Ie);if(!Wr(c))return;let o=[];try{for(let u of St(c))if(!u.startsWith(".")){let g=hn(c,u);for(let h of St(g).filter(k=>k.endsWith(".json")))o.push(hn(g,h))}}catch{return}if(o.length===0)return;let a=o.flatMap(u=>{try{return[JSON.parse($r(u,"utf-8"))]}catch{return[]}}),s=new Set;try{let u=await fetch(`${e}/api/cli/tasks?boardId=${i.id}`,{headers:{Authorization:`Bearer ${r}`}}).catch(()=>null);if(u?.ok){let g=await u.json();s=new Set((g.tasks??[]).flatMap(h=>[h.id,...h.cliId?[h.cliId]:[]]))}}catch{}let l=a.filter(u=>!s.has(u.id));if(l.length===0)return;console.log(),console.log(H.bold(` ${l.length} local task${l.length!==1?"s are":" is"} not yet synced to the board:`));let f=l.slice(0,10);for(let u of f){let g=u.status?H.dim(` [${u.status}]`):"";console.log(H.dim(` \u2022 ${u.title??u.id}${g}`))}return l.length>10&&console.log(H.dim(` \u2026 and ${l.length-10} more`)),new Promise(u=>{let g=Ct.createInterface({input:process.stdin,output:process.stdout});g.question(H.cyan(`
|
|
29413
|
+
Push them to your board now? [Y/n]: `),async h=>{if(g.close(),h.trim().toLowerCase()==="n"){console.log(H.dim(" Skipped. You can push later with: vibeflow push")),u();return}let k=Ct.createInterface({input:process.stdin,output:process.stdout});k.question(H.cyan(" Delete local task files after push? [y/N]: "),async L=>{k.close();let F=L.trim().toLowerCase()!=="y";try{let E=await fetch(`${e}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`},body:JSON.stringify({boardId:i.id,tasks:l,keepLocalFiles:F})}),S={};try{S=await E.json()}catch{}E.ok?(console.log(H.green(` \u2713 Pushed ${S.imported??0} task${(S.imported??0)!==1?"s":""} to ${i.name}`)),(S.skipped??0)>0&&console.log(H.dim(` (${S.skipped} already existed and were skipped)`))):console.log(H.red(` Push failed: ${S.error??`HTTP ${E.status}`}`))}catch(E){console.log(H.red(` Push failed: ${E instanceof Error?E.message:"Network error"}`))}u()})})})}async function Ve(t=zr(".")){let e=Et();console.log(H.cyan(" Initiating device login flow..."));let r=await fetch(`${e}/api/cli/auth/device-init`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!r.ok){console.error(H.red(` Failed to initiate login: ${r.status} ${r.statusText}`)),process.exitCode=1;return}let{deviceCode:i,userCode:c,verificationUrl:o,expiresIn:a}=await r.json();console.log(),console.log(H.bold(" Open this URL in your browser to authorize:")),console.log(H.underline(` ${o}`)),console.log();try{await Ur(o),console.log(H.dim(" (Browser opened automatically)"))}catch{}let s=Date.now()+a*1e3,l=3e3;for(;Date.now()<s;){await qr(l);let f=await fetch(`${e}/api/cli/auth/device-poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:i})});if(!f.ok){console.error(H.red(" Poll request failed. Retrying..."));continue}let u=await f.json();if("token"in u){await Qn(u.token),console.log(),console.log(H.green(" Logged in successfully. Now operating in SaaS mode.")),await Promise.all([Yr(e,u.token),Pt(e,u.token)]);let{readWorkspace:g}=await import("./workspace-KGOQ67YV.js"),h=await g();h&&await Qr(t,e,u.token,h);return}if("expired"in u){console.error(H.red(" Device code expired. Please try again.")),process.exitCode=1;return}process.stdout.write(H.dim("."))}console.error(H.red(`
|
|
29414
|
+
Login timed out. Please try again.`)),process.exitCode=1}import Gr from"chalk";async function Tt(){await Promise.all([Gn(),Rn()]),console.log(Gr.green(" Logged out. Now operating in local mode."))}import q from"chalk";import{unlinkSync as Xr,readFileSync as Zr,existsSync as Jr}from"fs";import{resolve as eo,join as no}from"path";var to="http://localhost:3000";function ro(){return process.env.SPOTA_API_URL??to}function oo(t){return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function _t(t,e,r=24){let i=Math.round(t/e*r);return`[${"\u2588".repeat(i)+"\u2591".repeat(r-i)}]`}async function ao(t,e,r,i){let c=[];for(let{localId:k,remoteId:L}of i){let F=ae(r,k);for(let E of F){let S=E.linkedPath??no(En(r,k),E.name);Jr(S)&&c.push({remoteId:L,name:E.name,filePath:S,size:E.size})}}if(c.length===0)return{uploaded:0,failed:0,failedFiles:[]};let o=c.length,a=c.reduce((k,L)=>k+L.size,0);console.log(q.cyan(`
|
|
29415
|
+
Uploading ${o} file(s) (${oo(a)})...`));let s=0,l=0,f=0,u=Date.now(),g=[];for(let k of c){let L=Math.round(s/o*100),F=_t(s,o),E=(Date.now()-u)/1e3,S=f/Math.max(E,.01),R=a-f,j=S>0?Math.ceil(R/S):0,G=j>60?`${Math.ceil(j/60)}m`:`${j}s`;process.stdout.write(`\r ${F} ${L}% ${k.name.slice(0,28)} ETA: ${G} `);try{let O=Zr(k.filePath),Z=await fetch(`${t}/api/tasks/${encodeURIComponent(k.remoteId)}/files`,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/octet-stream","x-filename":encodeURIComponent(k.name)},body:O});Z.ok?(s++,f+=k.size):(l++,g.push({name:k.name,reason:`HTTP ${Z.status}`}))}catch(O){l++,g.push({name:k.name,reason:O instanceof Error?O.message:String(O)})}}let h=_t(o,o);return process.stdout.write(`\r ${h} 100% Done${" ".repeat(40)}
|
|
29416
|
+
`),{uploaded:s,failed:l,failedFiles:g}}async function Rt(t,e){let r=eo(t),i=await Q();if(!i&&(console.log(q.yellow(" Not logged in. Starting login flow...")),await Ve(),i=await Q(),!i)){console.error(q.red(" Login failed. Please run `vibeflow login` and try again.")),process.exitCode=1;return}let c=pe(r);if(c.length===0){console.log(q.dim(" No local tasks found. Nothing to push."));return}console.log(q.cyan(` Found ${c.length} local task(s). Pushing to SaaS...`));let o=ro(),a=e.workspace;if(!a){let E=await ne();E&&(a=E.id,console.log(q.dim(` Using board: ${E.icon??""} ${E.name}`)))}let s={tasks:c};a&&(s.workspaceId=a);let l;try{let E=await fetch(`${o}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(s)});if(!E.ok){let S=await E.json().catch(()=>({}));console.error(q.red(` Import failed: ${E.status} ${S.error??E.statusText}`)),process.exitCode=1;return}l=await E.json()}catch(E){let S=E instanceof Error?E.message:String(E);console.error(q.red(` Network error: ${S}`)),process.exitCode=1;return}console.log(q.green(` \u2713 Pushed ${l.imported} task(s) to SaaS`)),l.skipped&&l.skipped>0&&console.log(q.dim(` Skipped ${l.skipped} already-imported task(s).`));let f=(await ne())?.name??l.workspaceId;console.log(q.dim(` Board: ${f}`));let u=l.idMap??{},g=c.filter(E=>E.id&&u[E.id]).map(E=>({localId:E.id,remoteId:u[E.id]})),{uploaded:h,failed:k,failedFiles:L}=await ao(o,i,r,g);if(h>0&&console.log(q.green(` \u2713 Uploaded ${h} file(s) to storage`)),k>0){console.log(q.yellow(` \u26A0 ${k} file(s) failed to upload`));for(let E of L)console.log(q.dim(` - ${E.name}: ${E.reason}`))}if(e.keepLocalFiles){console.log(q.dim(" Local task files kept (--keep-local-files)."));return}let F=0;for(let E of c)try{Xr(E.filePath),F++}catch{}console.log(q.dim(` Deleted ${F} local task file(s).`))}var io="http://localhost:3000";function qe(){return process.env.SPOTA_API_URL??io}var so={backlog:"backlog",todo:"todo","in-progress":"in_progress",review:"review",done:"done"},lo={backlog:"backlog",todo:"todo",in_progress:"in-progress",review:"review",done:"done",cancelled:"done"};function fe(t){return lo[t]??"todo"}function co(t){return so[t]??"todo"}async function Ke(){let t=await Q();return t?{Authorization:`Bearer ${t}`}:null}async function Se(t){let e=await Ke();if(!e)return null;let r=new URL(`${qe()}/api/cli/tasks`);t&&r.searchParams.set("boardId",t);try{let i=await fetch(r.toString(),{headers:e});return i.ok?i.json():null}catch{return null}}async function Nt(t){let e=await Se();return e?e.tasks.find(r=>r.id===t)??null:null}async function vn(t,e){let r=await Ke();if(!r)return null;let i={};e.status!==void 0&&(i.status=co(e.status)),e.title!==void 0&&(i.title=e.title),e.description!==void 0&&(i.description=e.description),e.priority!==void 0&&(i.priority=e.priority);try{let c=await fetch(`${qe()}/api/cli/tasks/${encodeURIComponent(t)}`,{method:"PATCH",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify(i)});if(!c.ok)return null;let o=await c.json();return{task:o.task,warning:o.warning}}catch{return null}}async function Lt(t,e){let r=await Ke();if(!r)return null;try{let i=await fetch(`${qe()}/api/cli/tasks/${encodeURIComponent(t)}/comments`,{method:"POST",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify({body:e})});return i.ok?(await i.json()).comment:null}catch{return null}}async function Ft(t){let e=await Ke();if(!e)return null;try{let r=await fetch(`${qe()}/api/cli/tasks`,{method:"POST",headers:{...e,"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok?(await r.json()).task:null}catch{return null}}import{readFileSync as bn,existsSync as kn,unlinkSync as So}from"fs";import{resolve as K,join as Wt,basename as $t}from"path";import n from"chalk";import{createHash as uo,randomUUID as po}from"crypto";import{existsSync as fo,readFileSync as mo,writeFileSync as go,mkdirSync as ho}from"fs";import{join as Dt}from"path";import At from"os";import{PostHog as vo}from"posthog-node";var yo="phc_C9AUV3rnayLfVvxgHtvj6AXcwsd8FKWUfJ9262zWsCvM",bo="https://eu.i.posthog.com";function Ot(){return Dt(process.env.HOME??At.homedir(),".vibeflow")}function Mt(){return Dt(Ot(),"config.json")}function Ye(){try{return JSON.parse(mo(Mt(),"utf-8"))}catch{return{}}}function Ht(t){let e=Ot();fo(e)||ho(e,{recursive:!0});let r=Ye();go(Mt(),JSON.stringify({...r,...t},null,2),"utf-8")}function Ut(){return process.env.VIBEFLOW_TELEMETRY==="0"?!1:Ye().disabled!==!0}function yn(t){Ht({disabled:!t})}function jt(){let t=Ut(),e=Ye();return{enabled:t,anonymousId:e.anonymousId??null}}function ko(){let t=Ye();if(t.anonymousId)return t.anonymousId;let e=po();return Ht({anonymousId:e}),e}function wo(){let t=At.userInfo().username;return uo("sha256").update(t).digest("hex").slice(0,16)}var Ne=null;function xo(){return Ut()?(Ne||(Ne=new vo(yo,{host:bo,flushAt:1,flushInterval:0})),Ne):null}function ke(t,e){let r=xo();if(!r)return;let i=ko();r.capture({distinctId:i,event:t,properties:{...e,$user_id:wo()}})}async function we(){if(Ne)try{await Ne.shutdown()}catch{}}function Eo(t,e){let r=f=>f.replace(/[^0-9.]/g,"").split(".").map(Number),[i=0,c=0,o=0]=r(t),[a=0,s=0,l=0]=r(e);return i!==a?i>a:c!==s?c>s:o>l}function Po(){let t="0.4.2";if(!t)return;let e="@vibeflow-tools/cli";import("https").then(({default:r})=>{let i=r.get(`https://registry.npmjs.org/${encodeURIComponent(e)}/latest`,{timeout:5e3},c=>{let o="";c.on("data",a=>{o+=a.toString()}),c.on("end",()=>{try{let{version:a}=JSON.parse(o);a&&Eo(a,t)&&(console.log(),console.log(n.bgYellow.black.bold(` \u2191 Update available: ${t} \u2192 ${a} `)),console.log(n.dim(" Run: ")+n.cyan(`npm install -g ${e}@${a}`)+n.dim(" to update")),console.log())}catch{}})});i.on("error",()=>{}),i.on("timeout",()=>{i.destroy()})}).catch(()=>{})}It();var xe={backlog:n.gray,todo:n.yellow,"in-progress":n.blue,review:n.magenta,done:n.green},Io=new Set(["Task","Bug","Research"]);function To(t){if(t){for(let e of Io)if(e.toLowerCase()===t.toLowerCase())return e}}function ge(t){let e=(t??"Medium").trim().toLowerCase();return e==="critical"?0:e==="high"?1:e==="low"?3:2}var zt=["in-progress","review","todo","backlog","done"];function Qe(t){let e=zt.indexOf(t);return e===-1?zt.length:e}function Bt(t){try{return Ge("git",["push"],{cwd:t,stdio:"inherit"}),{ok:!0}}catch{try{let e=wn("git rev-parse --abbrev-ref HEAD",{cwd:t}).toString().trim();return Ge("git",["push","--set-upstream","origin",e],{cwd:t,stdio:"inherit"}),{ok:!0}}catch(e){return{ok:!1,error:(e instanceof Error?e.message:String(e)).slice(0,220)}}}}function Ee(t){let{autoCommit:e,autoPush:r,autoComment:i,createBranch:c}=t;if(console.log(n.bold("Agent instructions (concise):")),console.log(n.dim(" Discover: vibeflow tasks --status todo | vibeflow tasks --type Research | vibeflow tasks --user <email> | vibeflow tasks --tag <tag>")),console.log(n.dim(" Details: vibeflow tasks --get <id> (full task info with comments and files)")),console.log(n.dim(' Create: vibeflow tasks --add --title "..." --description "..."')),console.log(),console.log(n.dim(" Workflow:")),console.log(n.yellow(" \u26A0 IMMEDIATELY set in-progress BEFORE any implementation work:")),console.log(n.dim(" 1. vibeflow tasks --edit <id> --set-status in-progress \u2190 DO THIS FIRST")),console.log(n.dim(" 2. <implement the change>")),e){console.log(n.dim(" 3. git add <files> (stage your changes first)"));let o=["--set-status review"];e&&o.push('--commit-message "<one-line summary>"'),i&&o.push('--comment "<report>"'),console.log(n.dim(` 4. vibeflow tasks --edit <id> ${o.join(" ")}`)),console.log(n.dim(" CLI will commit staged changes and link the commit SHA automatically."))}else{console.log(n.dim(' 3. git add <files> && vibeflow tasks --commit --task <id> --message "<one-line summary>"'));let o=["--set-status review"];i&&o.push('--comment "<report>"'),console.log(n.dim(` 4. vibeflow tasks --edit <id> ${o.join(" ")}`))}i&&(console.log(n.dim("")),console.log(n.dim(" Comment format (--comment):")),console.log(n.dim(" \xB7 Plain text for concise one-liners.")),console.log(n.dim(" \xB7 Markdown for multi-section reports. Use **bold**, bullet lists, code fences.")),console.log(n.dim(" \xB7 Must cover: what changed, why, key decisions, anything future agents should know.")),console.log(n.dim(" \xB7 For long reports, attach a .md file and reference it in the comment."))),console.log(),e&&console.log(n.dim(" [setting] Auto-commit ON: provide --commit-message when setting status to review; CLI commits.")),r&&console.log(n.dim(" [setting] Auto-push ON: CLI pushes after the commit automatically.")),i&&console.log(n.dim(" [setting] Auto-comment ON: --comment is required when setting status to review.")),c&&(console.log(n.dim(" [setting] Create branch ON: after ALL tasks in this session are done, create and push a descriptive branch:")),console.log(n.dim(" git checkout -b <short-name> (e.g. fix/annotation-errors, feat/eye-toggle, chore/cleanup-extension)")),console.log(n.dim(" git push -u origin HEAD")),console.log(n.dim(" Branch name rules: lowercase, kebab-case, 2-5 words, prefix fix/feat/chore/docs.")),console.log(n.dim(" Describe the WORK done (not dates). Bad: agent/2026-04-16. Good: fix/bug-errors-visibility."))),t.hasResearchTasks&&(console.log(n.dim(" Research tasks: NEVER generate code \u2014 research only.")),console.log(n.dim(" Attach a .md report before marking Research tasks as review.")),console.log(n.dim(" CLI ENFORCES: cannot mark Research as review without an attached .md report.")),console.log(n.dim(" Use --report-file <path> to upload your .md report when marking as review:")),console.log(n.dim(' vibeflow tasks --edit <id> --set-status review --report-file ./report.md --comment "..."')),console.log(n.dim(" The file is uploaded to the task and deleted from the local filesystem automatically."))),t.hasBugTasks&&(console.log(n.dim(" Bug tasks: Include error logs / stack traces in the commit comment.")),console.log(n.dim(" Describe: the symptom, the console error, what triggered it, and how it was fixed."))),console.log(n.red(" CRITICAL: NEVER edit .vibeflow/ task files directly.")),console.log(n.dim(" All task operations (status, comments, commits) must go through CLI commands.")),console.log(n.red(" CRITICAL: Set in-progress BEFORE reading/planning. Other agents may pick the same task.")),console.log(n.dim(" The in-progress transition signals ownership. Skip it and another agent may duplicate your work.")),console.log(n.dim(" Sequence: discover tasks \u2192 pick one \u2192 set in-progress \u2192 THEN read details and implement.")),console.log(n.red(' CRITICAL: NEVER set a task status to "done".')),console.log(n.dim(' When your implementation is complete, set the status to "review" \u2014 not "done".')),console.log(n.dim(" Only humans can mark tasks as done after reviewing the work.")),console.log(n.dim(" The CLI will warn you and still allow the change \u2014 but agents must not use it.")),console.log()}var ie=new Co;ie.name("vibeflow").description("Vibeflow \u2014 CLI tool for frontend prototyping with LLM assistance").version("0.4.2");ie.addHelpText("after",`
|
|
29417
29417
|
${"\u2500".repeat(60)}
|
|
29418
29418
|
For coding agents \u2014 quick reference:
|
|
29419
29419
|
|
|
@@ -29445,20 +29445,20 @@ File attachments:
|
|
|
29445
29445
|
<file binary body>
|
|
29446
29446
|
List: GET /api/tasks/<id>/files
|
|
29447
29447
|
Delete: DELETE /api/tasks/<id>/files/<filename>
|
|
29448
|
-
`);
|
|
29449
|
-
`))console.log(n.dim(` ${
|
|
29450
|
-
`))console.log(n.dim(` ${
|
|
29451
|
-
`))console.log(n.dim(` \u2502 ${
|
|
29452
|
-
`))console.log(n.dim(` ${
|
|
29453
|
-
`))console.log(n.dim(` ${
|
|
29454
|
-
`))console.log(n.dim(` \u2502 ${
|
|
29455
|
-
`))console.log(n.dim(` ${
|
|
29456
|
-
`))console.log(n.dim(` ${Fe}`))}}console.log(),console.log(n.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done."));return}let
|
|
29457
|
-
`))console.log(n.dim(` ${x}`))}if(
|
|
29458
|
-
`))console.log(n.dim(` ${W}`))}}if(b.linkedFiles&&b.linkedFiles.length>0){console.log(n.dim(` linked files (${b.linkedFiles.length}):`));for(let x of b.linkedFiles)console.log(n.dim(` - ${x.name} ${x.url}`))}console.log(),console.log(n.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done."));return}if(e.add){if(!e.title?.trim()){console.log(n.red("\u2717 --title is required with --add")),console.log(n.dim(' Example: vibeflow tasks --add --title "Fix CTA spacing" --description "Button overflows on mobile"')),process.exitCode=1;return}if(await ve()==="saas"){let v=await J(),d=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo",N=kn(),T=await It({id:N,title:e.title.trim(),description:e.description?.trim(),status:d,boardId:v?.id});if(!T){console.log(n.red("\u2717 Failed to create task in online board.")),console.log(n.yellow(" Check your connection or run 'vibeflow login'.")),process.exitCode=1;return}e.json?console.log(JSON.stringify(T,null,2)):(console.log(n.green(`\u2713 Task created: ${T.title}`)),console.log(n.dim(` id: ${T.id} | status: ${de(T.status)}`)));return}let h=V(t);Te(h);let H=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo",S=xe(h,{title:e.title.trim(),description:e.description?.trim()??"",status:H,selector:"/"});e.json?console.log(JSON.stringify(S,null,2)):(console.log(n.green(`\u2713 Task created: ${S.title}`)),console.log(n.dim(` id: ${S.id} | status: ${S.status}`)));return}if(e.commit){if(!e.task){console.log(n.red("\u2717 --task <task-id> is required with --commit")),console.log(n.dim(' Example: vibeflow tasks --commit --task abc12345 --message "fix button alignment"')),process.exitCode=1;return}let p=V(t),E=ee(p).find(v=>v.id===e.task||v.id.startsWith(e.task));if(!E){console.log(n.red(`\u2717 Task not found: ${e.task}`)),console.log(n.dim(" Run 'vibeflow tasks' to see available task IDs.")),process.exitCode=1;return}let H=e.message?.trim()||E.title;(E.type??"").toLowerCase()==="research"&&(console.log(n.yellow("\u26A0 WARNING: This is a Research task. Research tasks must NOT produce code changes.")),console.log(n.yellow(" Only commit research report files (.md). Do not commit code changes.")),console.log());let S=`${H} [proto:${E.id}]`;try{Ge("git",["commit","-m",S],{cwd:p,stdio:"inherit"});let v=yn("git rev-parse HEAD",{cwd:p}).toString().trim(),m={sha:v,message:H,timestamp:new Date().toISOString()},d=E.commits??[];if(z(p,E.id,{commits:[...d,m]}),console.log(n.green(`\u2713 Committed and linked to task: ${E.title}`)),console.log(n.dim(` commit: ${v}`)),console.log(n.dim(` proto: ${E.id}`)),G(p).autoPush){console.log(n.dim(" auto-push: pushing commit to remote..."));let T=Ht(p);T.ok?console.log(n.green("\u2713 Auto-push complete")):(console.log(n.yellow("\u26A0 Auto-push failed. Commit is local; run 'git push' manually.")),T.error&&console.log(n.dim(` reason: ${T.error}`)))}}catch{console.log(n.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=1}return}if(e.edit!==void 0){let p=typeof e.edit=="string"?e.edit:void 0,h=e.title||e.setStatus||e.description;if(!p||!h){if(e.type&&!c(e.type))return;let m=ee(t);if(e.status&&(m=m.filter(d=>d.status===e.status)),e.type&&(m=m.filter(d=>(d.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!l(e.user,m))return;if(e.user&&(m=m.filter(d=>o(d.author,e.user))),e.tag&&e.tag.length>0&&(m=m.filter(d=>e.tag.every(N=>(d.tags??[]).includes(N)))),console.log(n.bold("vibeflow tasks --edit \u2014 LLM Usage Instructions")),console.log(),console.log("Edit a task:"),console.log(n.cyan(' vibeflow tasks [dir] --edit <task-id> [--title "new title"] [--set-status backlog|todo|in-progress|review|done] [--description "new description"]')),console.log(),console.log("Examples:"),console.log(n.dim(" vibeflow tasks --edit abc12345 --set-status done")),console.log(n.dim(" vibeflow tasks --edit abc12345 --set-status in-progress")),console.log(n.dim(' vibeflow tasks --edit abc12345 --title "Updated title" --description "More detail"')),console.log(),m.length===0)console.log(n.dim("No tasks found."));else{console.log("Available tasks:");for(let d of m){let N=ke[d.status]??n.white;console.log(` ${N(`[${d.status}]`)} ${n.bold(d.id)} \u2014 ${d.title}`)}}return}let E=["backlog","todo","in-progress","review","done"];if(e.setStatus==="done"&&(console.log(n.yellow('\u26A0 WARNING: Agents should NEVER set a task status to "done".')),console.log(n.yellow(" Only humans should mark tasks as done after reviewing.")),console.log(n.dim(" If you are an agent, use --set-status review instead.")),console.log()),e.setStatus&&!E.includes(e.setStatus)){console.log(n.red(`\u2717 Invalid status: "${e.setStatus}"`)),console.log(n.yellow(` Valid statuses: ${E.join(" | ")}`)),console.log(n.dim(` Example: vibeflow tasks --edit ${p} --set-status in-progress`)),process.exitCode=1;return}if(e.setStatus==="review"&&!e.comment?.trim()){console.log(n.red("\u2717 --comment is required when setting status to review")),console.log(n.dim(" Provide a concise implementation report explaining:")),console.log(n.dim(" \xB7 what was changed and why")),console.log(n.dim(" \xB7 key decisions and trade-offs")),console.log(n.dim(" \xB7 anything future agents should know")),console.log(n.dim(` Example: vibeflow tasks --edit ${p} --set-status review --comment "Implemented X by doing Y. Key decision: Z."`)),process.exitCode=1;return}let H=await ve();if(e.setStatus==="review"){let m=V(t),d=G(m);if(d.autoComment&&!e.comment?.trim()){console.log(n.red("\u2717 --comment is required (auto-comment setting is ON)")),console.log(n.dim(" Provide: what changed, why, key decisions, anything future agents should know.")),console.log(n.dim(" Plain text for short notes; Markdown for multi-section reports.")),console.log(n.dim(` Example: vibeflow tasks --edit ${p} --set-status review --comment "Implemented X by doing Y."`)),process.exitCode=1;return}if(d.autoCommit&&!e.commitMessage?.trim()){console.log(n.red("\u2717 --commit-message is required (auto-commit setting is ON)")),console.log(n.dim(" Stage your changes first, then provide a one-line commit summary.")),console.log(n.dim(` Example: vibeflow tasks --edit ${p} --set-status review --commit-message "fix: add hover effect" --comment "..."`)),process.exitCode=1;return}}if(H==="saas"){let m={};if(e.setStatus&&(m.status=e.setStatus),e.title&&(m.title=e.title),e.description&&(m.description=e.description),e.setStatus==="in-progress"){let N=await Et(p);if(N&&de(N.status)==="in-progress"){let T=N.author??"another user";console.log(n.yellow(`\u26A0 Task is already in-progress (last updated by: ${T})`)),console.log(n.yellow(" Another agent or user may be working on this task.")),console.log(n.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}let d=await mn(p,m);if(!d){console.log(n.red(`\u2717 Failed to update task: ${p}`)),console.log(n.yellow(" Ensure you are connected and the task ID exists in the online board.")),process.exitCode=1;return}d.warning&&console.log(n.yellow(`\u26A0 Server warning: ${d.warning}`)),e.setStatus==="review"&&e.comment?.trim()&&await Pt(p,e.comment.trim())&&console.log(n.dim(" comment: added")),console.log(n.green(`\u2713 Task updated: ${d.task.title}`)),console.log(n.dim(` id: ${d.task.id} | status: ${de(d.task.status)}`));return}let S={};if(e.title&&(S.title=e.title),e.setStatus&&(S.status=e.setStatus),e.description&&(S.description=e.description),e.setStatus==="in-progress"){let m=V(t),N=ee(m).find(T=>T.id===p||T.id.startsWith(p));if(N&&((N.type??"").toLowerCase()==="research"&&(console.log(n.yellow("\u26A0 WARNING: This is a Research task. Policy: do NOT implement code.")),console.log(n.yellow(" Research only \u2014 attach a .md report file, leave a summary comment, mark as review.")),console.log()),N.status==="in-progress")){let T=N.updated?new Date(N.updated).toLocaleString():"unknown",$=N.author??"another user";console.log(n.yellow(`\u26A0 Task is already in-progress (author: ${$}, last updated: ${T})`)),console.log(n.yellow(" Another agent or user may be working on this task.")),console.log(n.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}if(e.setStatus==="review"){let m=V(t),N=ee(m).find(T=>T.id===p||T.id.startsWith(p));if(N&&(N.type??"").toLowerCase()==="research"){if(e.reportFile){let T=V(e.reportFile);if(!vn(T)){console.log(n.red(`\u2717 Report file not found: ${T}`)),process.exitCode=1;return}if(!/\.md$/i.test(T)){console.log(n.red("\u2717 Report file must be a Markdown (.md) file")),process.exitCode=1;return}let $=hn(T),{saveFile:X}=await import("./files-3RDDXUOS.js");X(m,N.id,Ot(T),$),yo(T),console.log(n.green(`\u2713 Report uploaded: ${Ot(T)} (local file removed)`))}else if(!ne(m,N.id).some(X=>/\.md$/i.test(X.name))){console.log(n.red("\u2717 Cannot mark Research task as review: no .md report file attached.")),console.log(n.dim(" Provide a research report:")),console.log(n.dim(` vibeflow tasks --edit ${p} --set-status review --report-file ./my-research.md --comment "..."`)),process.exitCode=1;return}}}let v=z(t,p,S);if(!v){console.log(n.red(`\u2717 Task not found: ${p}`)),console.log(n.yellow(" Run 'vibeflow tasks' to see available task IDs.")),process.exitCode=1;return}if(e.setStatus==="review"&&e.comment?.trim()&&(he(V(t),p,"agent",e.comment.trim()),console.log(n.dim(" comment: added"))),console.log(n.green(`\u2713 Task updated: ${v.title}`)),console.log(n.dim(` id: ${v.id} | status: ${v.status}`)),e.setStatus==="review"){let m=V(t),d=G(m);if(d.autoCommit&&e.commitMessage?.trim()){let T=ee(m).find($=>$.id===p||$.id.startsWith(p));if(T){let $=`${e.commitMessage.trim()} [proto:${T.id}]`;try{Ge("git",["commit","-m",$],{cwd:m,stdio:"inherit"});let X=yn("git rev-parse HEAD",{cwd:m}).toString().trim(),b={sha:X,message:e.commitMessage.trim(),timestamp:new Date().toISOString()},x=T.commits??[];if(z(m,T.id,{commits:[...x,b]}),console.log(n.green(`\u2713 Committed: ${$}`)),console.log(n.dim(` sha: ${X}`)),d.autoPush){console.log(n.dim(" pushing..."));let y=Ht(m);y.ok?console.log(n.green("\u2713 Pushed")):(console.log(n.yellow("\u26A0 Push failed. Run 'git push' manually.")),y.error&&console.log(n.dim(` reason: ${y.error}`)))}}catch{console.log(n.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=1}}}}return}let u=["backlog","todo","in-progress","review","done"];if(e.status&&!u.includes(e.status)){console.log(n.red(`\u2717 Invalid status filter: "${e.status}"`)),console.log(n.yellow(` Valid statuses: ${u.join(" | ")}`)),console.log(n.dim(" Example: vibeflow tasks --status todo")),process.exitCode=1;return}if(e.type&&!c(e.type))return;if(await ve()==="saas"){let p=await J(),h=await Se(p?.id);if(!h){console.log(n.red("\u2717 Unable to reach the online backend.")),console.log(n.yellow(" Check your connection or run 'vibeflow login' if your session expired.")),process.exitCode=1;return}let E=h.tasks.map(d=>({...d,status:de(d.status)}));if(e.status&&(E=E.filter(d=>d.status===e.status)),e.type&&(E=E.filter(d=>(d.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!l(e.user,E))return;e.user&&(E=E.filter(d=>o(d.author,e.user))),e.tag&&e.tag.length>0&&(E=E.filter(d=>e.tag.every(N=>(d.tags??[]).includes(N))));let H=e.limit!==void 0?parseInt(e.limit,10):20;if(!isNaN(H)&&H>0&&(E=E.slice(0,H)),e.json){console.log(JSON.stringify(E,null,2));return}let S=E.some(d=>(d.type??"").toLowerCase()==="research"),v=E.some(d=>(d.type??"").toLowerCase()==="bug"),m=G(V(t));if(Ee({hasResearchTasks:S,hasBugTasks:v,autoCommit:m.autoCommit,autoPush:m.autoPush,autoComment:m.autoComment,createBranch:m.createBranch}),E.length===0)console.log(n.dim("No tasks found."));else{E=E.sort((x,y)=>{let W=Qe(x.status)-Qe(y.status);if(W!==0)return W;let A=ge(x.priority??void 0)-ge(y.priority??void 0);return A!==0?A:new Date(y.updatedAt).getTime()-new Date(x.updatedAt).getTime()});for(let[x,y]of E.entries()){let W=ke[y.status]??n.white,A=xo(y.type);if(console.log(` ${n.dim(`${x+1}.`)} ${W(`[${y.status}]`)} ${y.title}`),console.log(n.dim(` id: ${y.id}`)),console.log(n.dim(" selector: /")),A&&console.log(n.dim(` type: ${A}`)),y.priority&&console.log(n.dim(` priority: ${y.priority}`)),console.log(n.dim(` created: ${y.createdAt}`)),y.description){console.log(n.dim(" description:"));for(let K of y.description.split(`
|
|
29459
|
-
`))console.log(n.dim(` ${
|
|
29460
|
-
`))console.log(n.dim(` ${Pe}`))}}if(
|
|
29461
|
-
`))console.log(n.dim(` \u2502 ${
|
|
29462
|
-
`))console.log(n.dim(` ${m}`))}if(
|
|
29463
|
-
`))console.log(n.dim(` ${N}`))}}if(
|
|
29464
|
-
`))console.log(n.dim(` \u2502 ${
|
|
29448
|
+
`);ie.command("serve").description("Serve HTML prototype(s) with live overlay, or start API-only task server for existing apps").argument("[target]","HTML file or directory of HTML files").option("-p, --port <port>","Port number","3700").option("--host <host>","Bind hostname (default: localhost; use 0.0.0.0 for LAN sharing)").option("--no-open","Do not open browser automatically").action(async(t,e)=>{ke("command_run",{command:"serve"}),await we(),await gn(t,{port:parseInt(e.port,10),host:e.host,open:e.open})});ie.command("kanban").description("Start the Vibeflow server and open the live Kanban board in the browser").argument("[dir]","Project root directory",".").option("-p, --port <port>","Port number","3700").option("--host <host>","Bind hostname (default: localhost; use 0.0.0.0 for LAN sharing)").action(async(t,e)=>{ke("command_run",{command:"kanban"}),await we();let r=parseInt(e.port,10),c=(await gn(void 0,{port:r,host:e.host,open:!1,projectDir:K(t)})).url+"/kanban";console.log(),console.log(n.green(" \u2713 Kanban board ready")),console.log(n.dim(" ")+n.cyan(c)),console.log(),console.log(n.bold("Agent prompt:")),console.log(n.dim(" Get new tasks and implement them, once done check again for new ones:")),console.log(n.dim(" ")+n.green("npx @vibeflow-tools/cli tasks --next")),console.log(),import("open").then(o=>o.default(c)).catch(()=>{console.log(n.dim(" Visit: ")+n.cyan(c))}),Po()});ie.command("tasks").description("List or edit tasks in the project").argument("[dir]","Project root directory",".").option("--status <status>","Filter by status (backlog, todo, in-progress, review, done)").option("--type <type>","Filter by type (Task, Bug, Feature, Enhancement, Research)").option("--user <user>","Filter by exact task author email (case-insensitive)").option("--edit [task-id]","Edit a task by ID (LLM-friendly). Omit task-id to see usage instructions.").option("--add","Create a task (requires --title)").option("--title <title>","New title for the task (use with --edit)").option("--set-status <status>","New status: backlog | todo | in-progress | review | done (use with --edit)").option("--description <text>","New description for the task (use with --edit)").option("--json","Output machine-readable JSON").option("--commit","Commit staged changes and link the commit SHA to a task (use with --task)").option("--task <task-id>","Task ID to link with the commit (use with --commit)").option("--message <msg>","Commit message (use with --commit; task ID is appended automatically)").option("--comment <text>","Implementation report comment (required when setting status to review)").option("--commit-message <msg>","Commit message for auto-commit on review (required when auto-commit setting is ON)").option("--get <task-id>","Get full details of a single task by ID (supports partial ID prefix)").option("--next","Pick the next available todo task, move it to in-progress, and output it ready to work on").option("--tag <tag>","Filter by tag (can be specified multiple times for AND matching)",(t,e)=>[...e,t],[]).option("--report-file <path>","Path to a local .md file to upload as the research report (use with --set-status review on Research tasks; file is uploaded and deleted locally)").option("--limit <n>","Limit how many tasks are returned in list mode (default: 20; use 0 for unlimited)").action((t,e)=>{(async()=>{let r=e.add?"add":e.next?"next":e.edit?"edit":e.get?"get":"list";ke("command_run",{command:"tasks",subcommand:r});let i=["Task","Bug","Feature","Enhancement","Research"],c=d=>d.trim().toLowerCase(),o=(d,b)=>{let P=c(b);return P?c(d??"")===P:!0},a=d=>[...new Set(d.map(b=>b.author?.trim()).filter(b=>!!b))].sort((b,P)=>b.localeCompare(P)),s=d=>i.map(b=>b.toLowerCase()).includes(d.toLowerCase())?!0:(console.log(n.red(`\u2717 Invalid type filter: "${d}"`)),console.log(n.yellow(` Available types: ${i.join(" | ")}`)),console.log(n.dim(" Type filter is exact (example: --type Bug)")),process.exitCode=1,!1),l=(d,b)=>{let P=a(b);return P.length===0?(console.log(n.red("\u2717 Cannot filter by user: no task authors are available on this board.")),process.exitCode=1,!1):P.some(A=>o(A,d))?!0:(console.log(n.red(`\u2717 User not found: "${d}"`)),console.log(n.yellow(` Available users: ${P.join(" | ")}`)),console.log(n.dim(" User filter is exact email match (case-insensitive).")),process.exitCode=1,!1)};if(e.get){if(await be()==="saas"){let C=await ne(),x=await Se(C?.id);if(!x){console.log(n.red("\u2717 Unable to reach the online backend.")),process.exitCode=1;return}let v=x.tasks.find(W=>W.id===e.get||W.id.startsWith(e.get));if(!v){console.log(n.red(`\u2717 Task not found: ${e.get}`)),process.exitCode=1;return}let M=fe(v.status);if(e.json){console.log(JSON.stringify({...v,status:M},null,2));return}let U=xe[M]??n.white;if(console.log(` ${U(`[${M}]`)} ${n.bold(v.title)}`),console.log(n.dim(` id: ${v.id}`)),console.log(n.dim(" selector: /")),v.type&&console.log(n.dim(` type: ${v.type}`)),v.priority&&console.log(n.dim(` priority: ${v.priority}`)),console.log(n.dim(` created: ${v.createdAt}`)),v.description){console.log(n.dim(" description:"));for(let W of v.description.split(`
|
|
29449
|
+
`))console.log(n.dim(` ${W}`))}v.annotatedElementText&&console.log(n.dim(` element text: ${v.annotatedElementText}`));let Y=[...v.comments??[]].sort((W,D)=>new Date(W.createdAt).getTime()-new Date(D.createdAt).getTime());if(Y.length>0){console.log(n.dim(` comments (${Y.length}):`));for(let W of Y){console.log(n.dim(` [${W.author??"agent"}] ${W.createdAt}`));for(let D of W.body.split(`
|
|
29450
|
+
`))console.log(n.dim(` ${D}`))}}if(v.files&&v.files.length>0){console.log(n.dim(` linked files (${v.files.length}):`));for(let W of v.files){let D=W.url??`${process.env.SPOTA_API_URL??"http://localhost:3000"}/api/tasks/${v.id}/files/${encodeURIComponent(W.name)}`;if(console.log(n.dim(` - ${W.name} ${D}`)),W.content){console.log(n.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let ee of W.content.split(`
|
|
29451
|
+
`))console.log(n.dim(` \u2502 ${ee}`));console.log(n.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}}}let $=X(K(t)),ce=(v.type??"").toLowerCase()==="research",Pe=(v.type??"").toLowerCase()==="bug";Ee({hasResearchTasks:ce,hasBugTasks:Pe,autoCommit:$.autoCommit,autoPush:$.autoPush,autoComment:$.autoComment,createBranch:$.createBranch});return}let b=K(t),P=Oe(b),I=pe(b).find(C=>C.id===e.get||C.id.startsWith(e.get));if(!I){console.log(n.red(`\u2717 Task not found: ${e.get}`)),console.log(n.dim(" Run 'vibeflow tasks' to see available task IDs.")),process.exitCode=1;return}let w=me(b,I.id).sort((C,x)=>new Date(C.createdAt).getTime()-new Date(x.createdAt).getTime()),m=ae(b,I.id).map(C=>({...C,url:`http://localhost:${P.port}${C.url}`})),p=Ae(I,w,m);if(e.json){console.log(JSON.stringify({...I,comments:w,files:m},null,2));return}let N=xe[I.status]??n.white;if(console.log(` ${N(`[${p.status}]`)} ${n.bold(p.title)}`),console.log(n.dim(` id: ${p.id}`)),console.log(n.dim(` file: ${I.filePath}`)),p.file&&console.log(n.dim(` source: ${p.file}${p.line!=null?`:${p.line}`:""}${p.col!=null?`:${p.col}`:""}`)),p.component&&console.log(n.dim(` component: ${p.component}`)),console.log(n.dim(` selector: ${p.selector}`)),I.cssSelector&&console.log(n.dim(` css: ${I.cssSelector}`)),p.url&&console.log(n.dim(` url: ${p.url}`)),I.commits&&I.commits.length>0)if(I.commits.length===1)console.log(n.dim(` commit: ${I.commits[0].sha}`));else{console.log(n.dim(` commits (${I.commits.length}):`));for(let C of I.commits)console.log(n.dim(` ${C.sha.slice(0,8)} ${C.timestamp} ${C.message.slice(0,60)}`))}if(console.log(n.dim(` created: ${p.created}`)),I.type&&console.log(n.dim(` type: ${I.type}`)),I.priority&&console.log(n.dim(` priority: ${I.priority}`)),I.author&&console.log(n.dim(` author: ${I.author}`)),p.description){console.log(n.dim(" description:"));for(let C of p.description.split(`
|
|
29452
|
+
`))console.log(n.dim(` ${C}`))}if(I.annotatedElementText&&console.log(n.dim(` element text: ${I.annotatedElementText}`)),w.length>0){console.log(n.dim(` comments (${w.length}):`));for(let C of w){let x=C.updatedAt?` (edited ${C.updatedAt})`:"";console.log(n.dim(` [${C.author??"user"}] ${C.createdAt}${x}`));for(let v of C.text.split(`
|
|
29453
|
+
`))console.log(n.dim(` ${v}`))}}if(m.length>0){console.log(n.dim(` linked files (${m.length}):`));for(let C of m){let x=C.linkedPath??Wt(b,".vibeflow","files",I.id,C.name);if(console.log(n.dim(` - ${C.name} ${C.url}`)),/\.(md|txt)$/i.test(C.name)&&C.size<1e5&&kn(x))try{let v=bn(x,"utf-8");console.log(n.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let M of v.split(`
|
|
29454
|
+
`))console.log(n.dim(` \u2502 ${M}`));console.log(n.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}catch{}}}let _=X(b),z=(I.type??"").toLowerCase()==="research",J=(I.type??"").toLowerCase()==="bug";Ee({hasResearchTasks:z,hasBugTasks:J,autoCommit:_.autoCommit,autoPush:_.autoPush,autoComment:_.autoComment,createBranch:_.createBranch});return}if(e.next){if(await be()==="saas"){let x=await ne(),v=await Se(x?.id);if(!v){console.log(n.red("\u2717 Unable to reach the online backend.")),process.exitCode=1;return}if(e.type&&!s(e.type))return;let M=v.tasks.map(D=>({...D,status:fe(D.status)})).filter(D=>D.status==="todo");if(e.type&&(M=M.filter(D=>(D.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!l(e.user,M))return;if(e.user&&(M=M.filter(D=>o(D.author,e.user))),e.tag&&e.tag.length>0&&(M=M.filter(D=>e.tag.every(ee=>(D.tags??[]).includes(ee)))),M=M.sort((D,ee)=>{let Fe=ge(D.priority??void 0)-ge(ee.priority??void 0);return Fe!==0?Fe:new Date(D.createdAt).getTime()-new Date(ee.createdAt).getTime()}),M.length===0){let D=[e.type&&`type=${e.type}`,e.user&&`user=${e.user}`,e.tag?.length&&`tag=${e.tag.join(",")}`].filter(Boolean),ee=D.length>0?` matching ${D.join(" ")}`:"";console.log(n.dim(`No todo tasks found${ee}. Nothing to work on.`));return}let U=M[0];if(!await vn(U.id,{status:"in-progress"})){console.log(n.red(`\u2717 Failed to move task to in-progress: ${U.id}`)),process.exitCode=1;return}if(e.json){console.log(JSON.stringify({...U,status:"in-progress"},null,2));return}let $=X(K(t)),ce=(U.type??"").toLowerCase()==="research",Pe=(U.type??"").toLowerCase()==="bug";if(Ee({hasResearchTasks:ce,hasBugTasks:Pe,autoCommit:$.autoCommit,autoPush:$.autoPush,autoComment:$.autoComment,createBranch:$.createBranch}),console.log(n.green.bold("\u25B6 NEXT TASK \u2014 Status moved to in-progress. Implement this now:")),console.log(),console.log(` ${n.blue("[in-progress]")} ${n.bold(U.title)}`),console.log(n.dim(` id: ${U.id}`)),U.type&&console.log(n.dim(` type: ${U.type}`)),U.priority&&console.log(n.dim(` priority: ${U.priority}`)),console.log(n.dim(` created: ${U.createdAt}`)),U.description){console.log(n.dim(" description:"));for(let D of U.description.split(`
|
|
29455
|
+
`))console.log(n.dim(` ${D}`))}let W=[...U.comments??[]].sort((D,ee)=>new Date(D.createdAt).getTime()-new Date(ee.createdAt).getTime());if(W.length>0){console.log(n.dim(` comments (${W.length}):`));for(let D of W){let ee=D.authorId?`user:${D.authorId.slice(0,8)}`:"agent";console.log(n.dim(` [${ee}] ${D.createdAt}`));for(let Fe of D.body.split(`
|
|
29456
|
+
`))console.log(n.dim(` ${Fe}`))}}console.log(),console.log(n.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done."));return}let b=K(t),P=pe(b);if(e.type&&!s(e.type))return;let A=P.filter(x=>x.status==="todo");if(e.type&&(A=A.filter(x=>(x.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!l(e.user,A))return;if(e.user&&(A=A.filter(x=>o(x.author,e.user))),e.tag&&e.tag.length>0&&(A=A.filter(x=>e.tag.every(v=>(x.tags??[]).includes(v)))),A=A.sort((x,v)=>{let M=ge(x.priority)-ge(v.priority);return M!==0?M:new Date(x.created).getTime()-new Date(v.created).getTime()}),A.length===0){let x=[e.type&&`type=${e.type}`,e.user&&`user=${e.user}`,e.tag?.length&&`tag=${e.tag.join(",")}`].filter(Boolean),v=x.length>0?` matching ${x.join(" ")}`:"";console.log(n.dim(`No todo tasks found${v}. Nothing to work on.`));return}let I=A[0],w=V(b,I.id,{status:"in-progress"});if(!w){console.log(n.red(`\u2717 Failed to update task: ${I.id}`)),process.exitCode=1;return}if(e.json){console.log(JSON.stringify({...w,filePath:I.filePath},null,2));return}let m=X(b),p=(w.type??"").toLowerCase()==="research",N=(w.type??"").toLowerCase()==="bug";Ee({hasResearchTasks:p,hasBugTasks:N,autoCommit:m.autoCommit,autoPush:m.autoPush,autoComment:m.autoComment,createBranch:m.createBranch});let _=Oe(b),z=me(b,w.id).sort((x,v)=>new Date(x.createdAt).getTime()-new Date(v.createdAt).getTime()),J=ae(b,w.id).map(x=>({...x,url:`http://localhost:${_.port}${x.url}`})),C=Ae(w,z,J);if(console.log(n.green.bold("\u25B6 NEXT TASK \u2014 Status moved to in-progress. Implement this now:")),console.log(),console.log(` ${n.blue("[in-progress]")} ${n.bold(C.title)}`),console.log(n.dim(` id: ${C.id}`)),console.log(n.dim(` file: ${I.filePath}`)),C.file&&console.log(n.dim(` source: ${C.file}${C.line!=null?`:${C.line}`:""}${C.col!=null?`:${C.col}`:""}`)),C.component&&console.log(n.dim(` component: ${C.component}`)),console.log(n.dim(` selector: ${C.selector}`)),w.cssSelector&&console.log(n.dim(` css: ${w.cssSelector}`)),C.url&&console.log(n.dim(` url: ${C.url}`)),console.log(n.dim(` created: ${C.created}`)),C.type&&console.log(n.dim(` type: ${C.type}`)),C.priority&&console.log(n.dim(` priority: ${C.priority}`)),C.description){console.log(n.dim(" description:"));for(let x of C.description.split(`
|
|
29457
|
+
`))console.log(n.dim(` ${x}`))}if(C.structuredComments&&C.structuredComments.length>0){console.log(n.dim(` comments (${C.structuredComments.length}):`));for(let x of C.structuredComments){let v=x.updatedAt?` (edited ${x.updatedAt})`:"";console.log(n.dim(` [${x.author??"agent"}] ${x.createdAt}${v}`));for(let M of x.text.split(`
|
|
29458
|
+
`))console.log(n.dim(` ${M}`))}}if(C.linkedFiles&&C.linkedFiles.length>0){console.log(n.dim(` linked files (${C.linkedFiles.length}):`));for(let x of C.linkedFiles)console.log(n.dim(` - ${x.name} ${x.url}`))}console.log(),console.log(n.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done."));return}if(e.add){if(!e.title?.trim()){console.log(n.red("\u2717 --title is required with --add")),console.log(n.dim(' Example: vibeflow tasks --add --title "Fix CTA spacing" --description "Button overflows on mobile"')),process.exitCode=1;return}if(await be()==="saas"){let w=await ne(),p=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo",N=Cn(),_=await Ft({id:N,title:e.title.trim(),description:e.description?.trim(),status:p,boardId:w?.id});if(!_){console.log(n.red("\u2717 Failed to create task in online board.")),console.log(n.yellow(" Check your connection or run 'vibeflow login'.")),process.exitCode=1;return}e.json?console.log(JSON.stringify(_,null,2)):(console.log(n.green(`\u2713 Task created: ${_.title}`)),console.log(n.dim(` id: ${_.id} | status: ${fe(_.status)}`)));return}let b=K(t);_e(b);let A=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo",I=Ce(b,{title:e.title.trim(),description:e.description?.trim()??"",status:A,selector:"/"});e.json?console.log(JSON.stringify(I,null,2)):(console.log(n.green(`\u2713 Task created: ${I.title}`)),console.log(n.dim(` id: ${I.id} | status: ${I.status}`)));return}if(e.commit){if(!e.task){console.log(n.red("\u2717 --task <task-id> is required with --commit")),console.log(n.dim(' Example: vibeflow tasks --commit --task abc12345 --message "fix button alignment"')),process.exitCode=1;return}let d=K(t),P=oe(d).find(w=>w.id===e.task||w.id.startsWith(e.task));if(!P){console.log(n.red(`\u2717 Task not found: ${e.task}`)),console.log(n.dim(" Run 'vibeflow tasks' to see available task IDs.")),process.exitCode=1;return}let A=e.message?.trim()||P.title;(P.type??"").toLowerCase()==="research"&&(console.log(n.yellow("\u26A0 WARNING: This is a Research task. Research tasks must NOT produce code changes.")),console.log(n.yellow(" Only commit research report files (.md). Do not commit code changes.")),console.log());let I=`${A} [proto:${P.id}]`;try{Ge("git",["commit","-m",I],{cwd:d,stdio:"inherit"});let w=wn("git rev-parse HEAD",{cwd:d}).toString().trim(),m={sha:w,message:A,timestamp:new Date().toISOString()},p=P.commits??[];if(V(d,P.id,{commits:[...p,m]}),console.log(n.green(`\u2713 Committed and linked to task: ${P.title}`)),console.log(n.dim(` commit: ${w}`)),console.log(n.dim(` proto: ${P.id}`)),X(d).autoPush){console.log(n.dim(" auto-push: pushing commit to remote..."));let _=Bt(d);_.ok?console.log(n.green("\u2713 Auto-push complete")):(console.log(n.yellow("\u26A0 Auto-push failed. Commit is local; run 'git push' manually.")),_.error&&console.log(n.dim(` reason: ${_.error}`)))}}catch{console.log(n.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=1}return}if(e.edit!==void 0){let d=typeof e.edit=="string"?e.edit:void 0,b=e.title||e.setStatus||e.description;if(!d||!b){if(e.type&&!s(e.type))return;let m=oe(t);if(e.status&&(m=m.filter(p=>p.status===e.status)),e.type&&(m=m.filter(p=>(p.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!l(e.user,m))return;if(e.user&&(m=m.filter(p=>o(p.author,e.user))),e.tag&&e.tag.length>0&&(m=m.filter(p=>e.tag.every(N=>(p.tags??[]).includes(N)))),console.log(n.bold("vibeflow tasks --edit \u2014 LLM Usage Instructions")),console.log(),console.log("Edit a task:"),console.log(n.cyan(' vibeflow tasks [dir] --edit <task-id> [--title "new title"] [--set-status backlog|todo|in-progress|review|done] [--description "new description"]')),console.log(),console.log("Examples:"),console.log(n.dim(" vibeflow tasks --edit abc12345 --set-status done")),console.log(n.dim(" vibeflow tasks --edit abc12345 --set-status in-progress")),console.log(n.dim(' vibeflow tasks --edit abc12345 --title "Updated title" --description "More detail"')),console.log(),m.length===0)console.log(n.dim("No tasks found."));else{console.log("Available tasks:");for(let p of m){let N=xe[p.status]??n.white;console.log(` ${N(`[${p.status}]`)} ${n.bold(p.id)} \u2014 ${p.title}`)}}return}let P=["backlog","todo","in-progress","review","done"];if(e.setStatus==="done"&&(console.log(n.yellow('\u26A0 WARNING: Agents should NEVER set a task status to "done".')),console.log(n.yellow(" Only humans should mark tasks as done after reviewing.")),console.log(n.dim(" If you are an agent, use --set-status review instead.")),console.log()),e.setStatus&&!P.includes(e.setStatus)){console.log(n.red(`\u2717 Invalid status: "${e.setStatus}"`)),console.log(n.yellow(` Valid statuses: ${P.join(" | ")}`)),console.log(n.dim(` Example: vibeflow tasks --edit ${d} --set-status in-progress`)),process.exitCode=1;return}if(e.setStatus==="review"&&!e.comment?.trim()){console.log(n.red("\u2717 --comment is required when setting status to review")),console.log(n.dim(" Provide a concise implementation report explaining:")),console.log(n.dim(" \xB7 what was changed and why")),console.log(n.dim(" \xB7 key decisions and trade-offs")),console.log(n.dim(" \xB7 anything future agents should know")),console.log(n.dim(` Example: vibeflow tasks --edit ${d} --set-status review --comment "Implemented X by doing Y. Key decision: Z."`)),process.exitCode=1;return}let A=await be();if(e.setStatus==="review"){let m=K(t),p=X(m);if(p.autoComment&&!e.comment?.trim()){console.log(n.red("\u2717 --comment is required (auto-comment setting is ON)")),console.log(n.dim(" Provide: what changed, why, key decisions, anything future agents should know.")),console.log(n.dim(" Plain text for short notes; Markdown for multi-section reports.")),console.log(n.dim(` Example: vibeflow tasks --edit ${d} --set-status review --comment "Implemented X by doing Y."`)),process.exitCode=1;return}if(p.autoCommit&&!e.commitMessage?.trim()){console.log(n.red("\u2717 --commit-message is required (auto-commit setting is ON)")),console.log(n.dim(" Stage your changes first, then provide a one-line commit summary.")),console.log(n.dim(` Example: vibeflow tasks --edit ${d} --set-status review --commit-message "fix: add hover effect" --comment "..."`)),process.exitCode=1;return}}if(A==="saas"){let m={};if(e.setStatus&&(m.status=e.setStatus),e.title&&(m.title=e.title),e.description&&(m.description=e.description),e.setStatus==="in-progress"){let N=await Nt(d);if(N&&fe(N.status)==="in-progress"){let _=N.author??"another user";console.log(n.yellow(`\u26A0 Task is already in-progress (last updated by: ${_})`)),console.log(n.yellow(" Another agent or user may be working on this task.")),console.log(n.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}let p=await vn(d,m);if(!p){console.log(n.red(`\u2717 Failed to update task: ${d}`)),console.log(n.yellow(" Ensure you are connected and the task ID exists in the online board.")),process.exitCode=1;return}p.warning&&console.log(n.yellow(`\u26A0 Server warning: ${p.warning}`)),e.setStatus==="review"&&e.comment?.trim()&&await Lt(d,e.comment.trim())&&console.log(n.dim(" comment: added")),console.log(n.green(`\u2713 Task updated: ${p.task.title}`)),console.log(n.dim(` id: ${p.task.id} | status: ${fe(p.task.status)}`));return}let I={};if(e.title&&(I.title=e.title),e.setStatus&&(I.status=e.setStatus),e.description&&(I.description=e.description),e.setStatus==="in-progress"){let m=K(t),N=oe(m).find(_=>_.id===d||_.id.startsWith(d));if(N&&((N.type??"").toLowerCase()==="research"&&(console.log(n.yellow("\u26A0 WARNING: This is a Research task. Policy: do NOT implement code.")),console.log(n.yellow(" Research only \u2014 attach a .md report file, leave a summary comment, mark as review.")),console.log()),N.status==="in-progress")){let _=N.updated?new Date(N.updated).toLocaleString():"unknown",z=N.author??"another user";console.log(n.yellow(`\u26A0 Task is already in-progress (author: ${z}, last updated: ${_})`)),console.log(n.yellow(" Another agent or user may be working on this task.")),console.log(n.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}if(e.setStatus==="review"){let m=K(t),N=oe(m).find(_=>_.id===d||_.id.startsWith(d));if(N&&(N.type??"").toLowerCase()==="research"){if(e.reportFile){let _=K(e.reportFile);if(!kn(_)){console.log(n.red(`\u2717 Report file not found: ${_}`)),process.exitCode=1;return}if(!/\.md$/i.test(_)){console.log(n.red("\u2717 Report file must be a Markdown (.md) file")),process.exitCode=1;return}let z=bn(_),{saveFile:J}=await import("./files-IX5QZQHC.js");J(m,N.id,$t(_),z),So(_),console.log(n.green(`\u2713 Report uploaded: ${$t(_)} (local file removed)`))}else if(!ae(m,N.id).some(J=>/\.md$/i.test(J.name))){console.log(n.red("\u2717 Cannot mark Research task as review: no .md report file attached.")),console.log(n.dim(" Provide a research report:")),console.log(n.dim(` vibeflow tasks --edit ${d} --set-status review --report-file ./my-research.md --comment "..."`)),process.exitCode=1;return}}}let w=V(t,d,I);if(!w){console.log(n.red(`\u2717 Task not found: ${d}`)),console.log(n.yellow(" Run 'vibeflow tasks' to see available task IDs.")),process.exitCode=1;return}if(e.setStatus==="review"&&e.comment?.trim()&&(ve(K(t),d,"agent",e.comment.trim()),console.log(n.dim(" comment: added"))),console.log(n.green(`\u2713 Task updated: ${w.title}`)),console.log(n.dim(` id: ${w.id} | status: ${w.status}`)),e.setStatus==="review"){let m=K(t),p=X(m);if(p.autoCommit&&e.commitMessage?.trim()){let _=oe(m).find(z=>z.id===d||z.id.startsWith(d));if(_){let z=`${e.commitMessage.trim()} [proto:${_.id}]`;try{Ge("git",["commit","-m",z],{cwd:m,stdio:"inherit"});let J=wn("git rev-parse HEAD",{cwd:m}).toString().trim(),C={sha:J,message:e.commitMessage.trim(),timestamp:new Date().toISOString()},x=_.commits??[];if(V(m,_.id,{commits:[...x,C]}),console.log(n.green(`\u2713 Committed: ${z}`)),console.log(n.dim(` sha: ${J}`)),p.autoPush){console.log(n.dim(" pushing..."));let v=Bt(m);v.ok?console.log(n.green("\u2713 Pushed")):(console.log(n.yellow("\u26A0 Push failed. Run 'git push' manually.")),v.error&&console.log(n.dim(` reason: ${v.error}`)))}}catch{console.log(n.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=1}}}}return}let f=["backlog","todo","in-progress","review","done"];if(e.status&&!f.includes(e.status)){console.log(n.red(`\u2717 Invalid status filter: "${e.status}"`)),console.log(n.yellow(` Valid statuses: ${f.join(" | ")}`)),console.log(n.dim(" Example: vibeflow tasks --status todo")),process.exitCode=1;return}if(e.type&&!s(e.type))return;if(await be()==="saas"){let d=await ne(),b=await Se(d?.id);if(!b){console.log(n.red("\u2717 Unable to reach the online backend.")),console.log(n.yellow(" Check your connection or run 'vibeflow login' if your session expired.")),process.exitCode=1;return}let P=b.tasks.map(p=>({...p,status:fe(p.status)}));if(e.status&&(P=P.filter(p=>p.status===e.status)),e.type&&(P=P.filter(p=>(p.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!l(e.user,P))return;e.user&&(P=P.filter(p=>o(p.author,e.user))),e.tag&&e.tag.length>0&&(P=P.filter(p=>e.tag.every(N=>(p.tags??[]).includes(N))));let A=e.limit!==void 0?parseInt(e.limit,10):20;if(!isNaN(A)&&A>0&&(P=P.slice(0,A)),e.json){console.log(JSON.stringify(P,null,2));return}let I=P.some(p=>(p.type??"").toLowerCase()==="research"),w=P.some(p=>(p.type??"").toLowerCase()==="bug"),m=X(K(t));if(Ee({hasResearchTasks:I,hasBugTasks:w,autoCommit:m.autoCommit,autoPush:m.autoPush,autoComment:m.autoComment,createBranch:m.createBranch}),P.length===0)console.log(n.dim("No tasks found."));else{P=P.sort((x,v)=>{let M=Qe(x.status)-Qe(v.status);if(M!==0)return M;let U=ge(x.priority??void 0)-ge(v.priority??void 0);return U!==0?U:new Date(v.updatedAt).getTime()-new Date(x.updatedAt).getTime()});for(let[x,v]of P.entries()){let M=xe[v.status]??n.white,U=To(v.type);if(console.log(` ${n.dim(`${x+1}.`)} ${M(`[${v.status}]`)} ${v.title}`),console.log(n.dim(` id: ${v.id}`)),console.log(n.dim(" selector: /")),U&&console.log(n.dim(` type: ${U}`)),v.priority&&console.log(n.dim(` priority: ${v.priority}`)),console.log(n.dim(` created: ${v.createdAt}`)),v.description){console.log(n.dim(" description:"));for(let Y of v.description.split(`
|
|
29459
|
+
`))console.log(n.dim(` ${Y}`))}if(v.comments&&v.comments.length>0){let Y=[...v.comments].sort(($,ce)=>new Date($.createdAt).getTime()-new Date(ce.createdAt).getTime());console.log(n.dim(` comments (${Y.length}):`));for(let $ of Y){let ce=$.authorId?`user:${$.authorId.slice(0,8)}`:"agent";console.log(n.dim(` [${ce}] ${$.createdAt}`));for(let Pe of $.body.split(`
|
|
29460
|
+
`))console.log(n.dim(` ${Pe}`))}}if(v.files&&v.files.length>0){console.log(n.dim(` linked files (${v.files.length}):`));for(let Y of v.files){let $=Y.url??`${process.env.SPOTA_API_URL??"http://localhost:3000"}/api/tasks/${v.id}/files/${encodeURIComponent(Y.name)}`;if(console.log(n.dim(` - ${Y.name} ${$}`)),Y.content){console.log(n.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let ce of Y.content.split(`
|
|
29461
|
+
`))console.log(n.dim(` \u2502 ${ce}`));console.log(n.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}}}console.log()}let p=b.tasks.map(x=>({...x,status:fe(x.status)})),N=p.filter(x=>x.status==="backlog").length,_=p.filter(x=>x.status==="todo").length,z=p.filter(x=>x.status==="in-progress").length,J=p.filter(x=>x.status==="review").length,C=p.filter(x=>x.status==="done").length;console.log(n.dim(` Total: ${p.length} | Backlog: ${N} | Todo: ${_} | In Progress: ${z} | Review: ${J} | Done: ${C}`))}return}let g=pe(t);if(e.user&&!l(e.user,g))return;let h=e.status?g.filter(d=>d.status===e.status):g;e.type&&(h=h.filter(d=>(d.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&(h=h.filter(d=>o(d.author,e.user))),e.tag&&e.tag.length>0&&(h=h.filter(d=>e.tag.every(b=>(d.tags??[]).includes(b))));let k=e.limit!==void 0?parseInt(e.limit,10):20;if(e.json){console.log(JSON.stringify(h,null,2));return}h=h.sort((d,b)=>{let P=Qe(d.status)-Qe(b.status);if(P!==0)return P;let A=ge(d.priority)-ge(b.priority);if(A!==0)return A;let I=new Date(d.updated??d.created).getTime(),w=new Date(b.updated??b.created).getTime();return I!==w?w-I:d.id.localeCompare(b.id)});let L=h.length;if(!isNaN(k)&&k>0&&(h=h.slice(0,k)),h.length===0){console.log(n.dim("No tasks found."));return}let F=K(t),E=h.some(d=>(d.type??"").toLowerCase()==="research"),S=h.some(d=>(d.type??"").toLowerCase()==="bug"),R=X(F);Ee({hasResearchTasks:E,hasBugTasks:S,autoCommit:R.autoCommit,autoPush:R.autoPush,autoComment:R.autoComment,createBranch:R.createBranch});let j=Oe(F);for(let[d,b]of h.entries()){let P=xe[b.status]??n.white,A=me(F,b.id).sort((m,p)=>new Date(m.createdAt).getTime()-new Date(p.createdAt).getTime()),I=ae(F,b.id).map(m=>({...m,url:`http://localhost:${j.port}${m.url}`})),w=Ae(b,A,I);if(console.log(` ${n.dim(`${d+1}.`)} ${P(`[${w.status}]`)} ${w.title}`),console.log(n.dim(` id: ${w.id}`)),console.log(n.dim(` file: ${b.filePath}`)),w.file&&console.log(n.dim(` source: ${w.file}${w.line!=null?`:${w.line}`:""}${w.col!=null?`:${w.col}`:""}`)),w.component&&console.log(n.dim(` component: ${w.component}`)),console.log(n.dim(` selector: ${w.selector}`)),b.cssSelector&&console.log(n.dim(` css: ${b.cssSelector}`)),w.url&&console.log(n.dim(` url: ${w.url}`)),b.screenshot&&console.log(n.dim(` screenshot: http://localhost:${j.port}/screenshots/${b.screenshot}`)),b.commits&&b.commits.length>0)if(b.commits.length===1)console.log(n.dim(` commit: ${b.commits[0].sha}`));else{console.log(n.dim(` commits (${b.commits.length}):`));for(let m of b.commits)console.log(n.dim(` ${m.sha.slice(0,8)} ${m.timestamp} ${m.message.slice(0,60)}`))}if(console.log(n.dim(` created: ${w.created}`)),w.type&&console.log(n.dim(` type: ${w.type}`)),w.priority&&console.log(n.dim(` priority: ${w.priority}`)),w.description){console.log(n.dim(" description:"));for(let m of w.description.split(`
|
|
29462
|
+
`))console.log(n.dim(` ${m}`))}if(w.structuredComments&&w.structuredComments.length>0){console.log(n.dim(` comments (${w.structuredComments.length}):`));for(let m of w.structuredComments){let p=m.updatedAt?` (edited ${m.updatedAt})`:"";console.log(n.dim(` [${m.author??"agent"}] ${m.createdAt}${p}`));for(let N of m.text.split(`
|
|
29463
|
+
`))console.log(n.dim(` ${N}`))}}if(w.linkedFiles&&w.linkedFiles.length>0){console.log(n.dim(` linked files (${w.linkedFiles.length}):`));for(let m of w.linkedFiles){let p=m.linkedPath??Wt(F,".vibeflow","files",b.id,m.name);if(console.log(n.dim(` - ${m.name} ${m.url}`)),/\.(md|txt)$/i.test(m.name)&&m.size<1e5&&kn(p))try{let N=bn(p,"utf-8");console.log(n.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let _ of N.split(`
|
|
29464
|
+
`))console.log(n.dim(` \u2502 ${_}`));console.log(n.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}catch{}}}console.log()}let G=g.filter(d=>d.status==="backlog").length,O=g.filter(d=>d.status==="todo").length,Z=g.filter(d=>d.status==="in-progress").length,he=g.filter(d=>d.status==="review").length,se=g.filter(d=>d.status==="done").length,Le=!isNaN(k)&&k>0&&L>k?n.yellow(` (showing ${k} of ${L} matching \u2014 use --limit 0 for all)`):"";console.log(n.dim(` Total: ${g.length} | Backlog: ${G} | Todo: ${O} | In Progress: ${Z} | Review: ${he} | Done: ${se}`)+Le),await we()})()});ie.command("login",{hidden:!0}).description("Authenticate CLI against the Vibeflow SaaS backend (device flow)").action(async()=>{ke("command_run",{command:"login"}),await we(),await Ve()});ie.command("logout",{hidden:!0}).description("Remove stored auth token and switch to local mode").action(async()=>{ke("command_run",{command:"logout"}),await we(),await Tt()});ie.command("status",{hidden:!0}).description("Show login status, connection info, and task statistics").action(async()=>{if(await be()==="local"){console.log(n.yellow("\u25CF Not logged in")+n.dim(" (local mode)")),console.log(n.dim(" Run ")+n.cyan("vibeflow login")+n.dim(" to connect to the Vibeflow cloud.")),console.log();let o=K("."),a=pe(o);if(a.length>0){let s=a.reduce((l,f)=>(l[f.status]=(l[f.status]??0)+1,l),{});console.log(n.bold(" Local task statistics:"));for(let[l,f]of Object.entries(s)){let u=xe[l]??n.white;console.log(` ${u(l.padEnd(12))} ${f}`)}console.log(n.dim(` ${"total".padEnd(12)} ${a.length}`))}else console.log(n.dim(" No local tasks found."));return}let e=await ne();console.log(n.green("\u25CF Online")+n.dim(" (SaaS mode)")),e&&(console.log(n.dim(` Board: ${e.icon?e.icon+" ":""}${e.name}`)),e.email&&console.log(n.dim(` Email: ${e.email}`)),console.log(n.dim(" URL: ")+n.cyan(e.url))),console.log();let r=await Se(e?.id);if(!r){console.log(n.yellow(" \u26A0 Could not reach SaaS backend. Check your connection."));return}let i=r.tasks.map(o=>({...o,status:fe(o.status)}));if(i.length===0){console.log(n.dim(" No tasks found."));return}let c=i.reduce((o,a)=>(o[a.status]=(o[a.status]??0)+1,o),{});console.log(n.bold(" Task statistics:"));for(let[o,a]of Object.entries(c)){let s=xe[o]??n.white;console.log(` ${s(o.padEnd(12))} ${a}`)}console.log(n.dim(` ${"total".padEnd(12)} ${i.length}`))});ie.command("push",{hidden:!0}).description("Push all local tasks to the Vibeflow SaaS app and delete them locally").argument("[dir]","Project root directory",".").option("--workspace <id>","Target workspace ID (defaults to your first workspace)").option("--keep-local-files","Keep local task files after pushing (do not delete them)").action(async(t,e)=>{ke("command_run",{command:"push"}),await Rt(t,e),await we()});ie.command("telemetry").description("Manage CLI usage telemetry (opt-out at any time)").option("--enable","Enable usage telemetry (default)").option("--disable","Disable usage telemetry").option("--status","Show current telemetry status").action(async t=>{if(t.disable){yn(!1),console.log(n.yellow("Telemetry disabled. No usage data will be collected.")),console.log(n.dim("Run `vibeflow telemetry --enable` to re-enable at any time."));return}if(t.enable){yn(!0),console.log(n.green("Telemetry enabled. Thank you for helping improve Vibeflow!"));return}let{enabled:e,anonymousId:r}=jt(),i=process.env.VIBEFLOW_TELEMETRY==="0";console.log(n.bold("Telemetry status:")),console.log(` Enabled: ${e?n.green("yes"):n.yellow("no")}`),i&&console.log(n.dim(" (disabled via VIBEFLOW_TELEMETRY=0 environment variable)")),r&&console.log(n.dim(` Anonymous ID: ${r}`)),console.log(),console.log(n.dim(" vibeflow telemetry --disable Opt out of usage tracking")),console.log(n.dim(" vibeflow telemetry --enable Opt back in")),console.log(n.dim(" No PII is ever collected. User identity is hashed."))});ie.parse();
|