teapot-coding-agent 0.22.13 → 0.23.0

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.
@@ -1 +0,0 @@
1
- {"version":3,"mappings":"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G,EAAE,IAAK,GAAE,GAAG,GAAG,CAAC,IAAI,IAAO,IAAI,IAAO,IAAI,KAAK,KAAK,IAAO,IAAI,IAAI,IAAI,IAAO,IAAI,IAAI,IAAI,IAAO,IAAI,GAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,IAAO,KAAK,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,GAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,KAAK,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,GAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAO,IAAI,IAAO,KAAK,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,GAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAO,IAAI,IAAO,KAAK,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,GAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,KAAK,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,GAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,IAAO,IAAI,IAAO,KAAK,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,GAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,KAAK,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,GAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,IAAO,IAAI,IAAO,KAAK,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,GAAM,EAAE,GAAG,KAAK,CAAC,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,KAAK,IAAO,IAAI,IAAO,IAAI,IAAO,EAAE,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,IAAO,IAAI,GAAM,EAAE,IAA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AE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,OAAO,MAAM,EAAE,CAAC,OAAO,MAAM,EAAE,CAAC,OAAO,MAAM,EAAE,CAAC,OAAO,MAAM,EAAE,CAAC,OAAO,MAAM,EAAE,CAAC,OAAO,MAAM,EAAE,CAAC,OAAO,MAAM,EAAE,CAAC,OAAO,MAAM,CAAC,EAAE,GAAG,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,KAAK,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CA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AE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,QA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","names":["mdCache","Map","renderMarkdownCached","src","hit","get","undefined","html","renderMarkdown","set","size","delete","keys","next","value","AUTHORS","prompt","name","icon","color","user","message","progress","question","HARNESS_AUTH","flash","setFlash","createSignal","flashTimer","flashHint","msg","clearTimeout","setTimeout","THEMES","key","label","mode","sw","themeColors","bg","fg","cs","getComputedStyle","document","documentElement","getPropertyValue","trim","background","foreground","authorOf","e","data","actor","String","type","source","startsWith","slice","FEED_TYPES","Set","NOTE_FEED_TYPES","fmtTs","iso","d","Date","getHours","padStart","getMinutes","api","path","opts","token","localStorage","getItem","headers","Headers","has","res","fetch","ok","status","window","dispatchEvent","CustomEvent","body","json","detail","error","Object","assign","Error","payload","hashTok","location","hash","match","setItem","decodeURIComponent","history","replaceState","pathname","search","wsTokenQuery","t","encodeURIComponent","App","agents","setAgents","selected","setSelected","timelineId","setTimelineId","masterSessionIndex","setMasterSessionIndex","sessionsByAgent","setSessionsByAgent","sessionIndexFetched","refreshSessionIndex","r","byId","byAgent","s","sessions","id","agentId","list","push","events","setEvents","eventsTotal","setEventsTotal","branches","setBranches","metrics","setMetrics","drafts","draft","setDraft","saveDraft","v","cfg","setCfg","providers","showNew","setShowNew","showCfg","setShowCfg","showRight","setShowRight","innerWidth","toggleRight","showThemes","setShowThemes","fixedTheme","setFixedTheme","themeAuto","setThemeAuto","sysLightTheme","setSysLightTheme","sysDarkTheme","setSysDarkTheme","sysMql","matchMedia","sysPrefersLight","setSysPrefersLight","matches","onMount","onChange","addEventListener","onCleanup","removeEventListener","createEffect","active","dataset","theme","appearance","find","modelProvider","setModelProvider","modelDraft","setModelDraft","models","setModels","providerList","loadModels","prov","modalityBadge","m","text","image","audio","video","file","side","map","k","join","modalities","input","output","modelSpec","sel","model","x","parts","badge","contextLength","fmtK","price","p","Math","round","toFixed","pricing","pin","pout","completion","_prevModelAgent","a","provider","defaultProvider","untrack","curProv","curDraft","composerMaximized","setComposerMaximized","atBottom","setAtBottom","missed","setMissed","compacting","setCompacting","liveIsCompact","liveText","liveBody","setLive","l","liveByAgent","setLiveByAgent","live","patch","prev","at","now","setLiveText","thinkStartedAt","setThinkStartedAt","liveStartedAt","liveReasoning","setLiveReasoning","liveRenderTimer","reasoning","length","st","txt","rsn","requestAnimationFrame","scrollBottom","queued","pendingPrompts","setPendingMsgs","onVisible","visibilityState","nearBottom","createMemo","editing","setEditing","add","callId","pendingMsgs","notifs","setNotifs","hideGhosts","setHideGhosts","showNotifs","setShowNotifs","unreadCount","filter","n","read","markSessionRead","changed","subtreeUnread","total","child","parent","notifSeq","addNotif","maybeNotify","ev","who","eid","final","kind","title","content","eventId","doing","recent","Boolean","jumpToEvent","el","querySelector","scrollIntoView","behavior","block","classList","remove","pairInfo","resFor","consumed","awaiting","q","call","shift","answeredQuestionIds","lastQuestionAt","lastUserPromptAt","seq","event","max","chatEvents","lastKind","_prevKind","real","metaToolName","progressEcho","expanded","sub","norm","replace","toLowerCase","deduped","i","role","includes","dec","decision","deliveredIds","loggedUserPrompts","deliveredNotes","pid","promptId","stillPendingIds","visible","note","echoes","pend","echoEv","maxSeq","reduce","forEach","echoCache","sent","clear","ts","toISOString","session","branch","pending","images","loadCfg","then","catch","authLocked","setAuthLocked","onUnauthorized","todoDraft","setTodoDraft","todoViewMode","setTodoViewMode","todoDirty","setTodoDirty","todoSeededFor","serverTodo","todo","saveTodo","notify","getElementById","checked","method","JSON","stringify","refreshAgents","ex","todoStats","done","line","split","agentSetChanged","prevById","refreshMetrics","tasks","setTasks","loadTasks","agentTasks","agent","collapsedSubs","setCollapsedSubs","parse","toggleCollapse","treeRows","workspaceMissing","byParent","roots","some","unshift","rows","walk","nodes","depth","kids","branchFilter","setBranchFilter","evCache","cacheKey","stabilize","out","Array","from","known","oldest","loadingOlder","setLoadingOlder","olderDone","setOlderDone","feedGeneration","lastBranchesGen","mergeEvents","incoming","values","sort","b","backfillUntilScrollable","measurable","f","feedEl","clientHeight","guard","scrollHeight","before","loadOlder","prevH","prevTop","scrollTop","bf","tid","sessQ","page","loadEvents","sessionId","genAtStart","needsBranches","br","sk","Promise","all","resolve","skills","setAgentSkills","bottomSlack","c","min","force","timelineCache","latestSessionOf","select","prevId","prevTid","prevEvents","prevTotal","TIMELINE_CACHE_MAX","entries","y","userScrolledUp","lastScrollGap","navigate","cached","ctx","phase","connected","setConnected","ws","timer","close","pendingRefresh","onTabVisible","connectWs","proto","protocol","WebSocket","host","onopen","onclose","onerror","FEED_IRRELEVANT","onmessage","summarized","snapshot","findIndex","cur","j","et","ed","runFeedRefresh","beforeId","beforeTotal","buf","pathId","url","pushState","sid","owner","base","target","tagName","isContentEditable","blur","preventDefault","focus","toggleTerm","idx","termOpen","setTermOpen","termTabs","setTermTabs","paneL","setPaneL","paneR","setPaneR","splitView","setSplitView","focusedPane","setFocusedPane","termHeight","setTermHeight","Number","innerHeight","liveTerms","paneHosts","activeTab","focusTab","focused","mineIdx","otherIdx","setMine","setOther","addFromSelected","addTab","perAgent","tab","closeTab","ro","disconnect","term","dispose","rest","_","disposeAllTerms","ensureSession","parentElement","appendChild","fit","createElement","className","Terminal","cursorBlink","fontSize","fontFamily","FitAddon","loadAddon","open","w","write","code","onData","readyState","OPEN","send","last","cols","resizeTimer","pushResize","ResizeObserver","observe","mountPane","owned","replaceChildren","other","startGrip","startY","clientY","startH","move","h","up","toggleSplit","candidates","setPaneHost","want","initial","loadPersonas","mi","setInterval","clearInterval","SLASH_COMMANDS","cmd","desc","personas","setPersonas","mentionFork","setMentionFork","mentionQuery","mentionMatches","NO_ARG_COMMANDS","agentSkills","cmdIdx","setCmdIdx","suggestions","cmdName","argPart","exact","insert","description","composerEl","autosizeComposer","suppressScrollEval","wasFollowing","style","height","MAX_COMPOSER_H","pendingImages","setPendingImages","addImages","files","reader","FileReader","onload","result","readAsDataURL","sendText","targetId","start","random","toString","console","sp","indexOf","arg","isPersona","knownAgent","persona","task","context","executeSlash","post","ran","rightbarEl","rightbarTop","abs","act","goalDraft","setGoalDraft","goalVerifyDraft","setGoalVerifyDraft","goalDirty","setGoalDirty","goalNotify","setGoalNotify","goalSeededFor","goal","setGoal","verify","_$createComponent","Show","when","needsSetup","fallback","children","SetupWizard","onDone","reload","_el$","_tmpl$","_el$4","firstChild","nextSibling","_el$5","_tmpl$54","_el$6","_el$7","_el$8","_el$11","_el$12","_el$15","_el$18","_el$20","_el$21","_el$23","_el$89","_$insert","For","each","_el$189","_tmpl$64","_el$191","_el$192","$$click","_tmpl$65","_el$190","_tmpl$59","stopPropagation","_$effect","_$setAttribute","_c$3","_$memo","_tmpl$66","_el$193","_tmpl$60","running","_el$200","_tmpl$67","_$className","_tmpl$61","_el$196","_tmpl$62","schedule","_tmpl$63","_p$","_v$17","_v$18","_v$19","_v$20","_v$21","_v$22","workspace","_$style","o","_el$9","_tmpl$3","_el$1","currentTarget","_el$202","_tmpl$68","_el$204","_el$208","_tmpl$70","_el$205","_tmpl$69","_el$207","_el$209","_el$10","_tmpl$2","_el$210","_tmpl$71","_el$211","_el$212","_tmpl$72","_$setStyleProperty","_v$23","_v$24","_el$14","_tmpl$4","IconBtn","onClick","firstVisible","rssMb","heapUsedMb","_tmpl$5","loadavg1","floor","uptimeSec","_tmpl$73","_el$24","_tmpl$9","_el$26","_el$27","_el$34","_el$35","_el$39","_el$40","_el$41","_el$42","_el$28","_tmpl$6","_el$31","_el$32","_tmpl$7","forked","stats","turns","toolCalls","statusReason","_el$43","_tmpl$8","_el$44","_tmpl$14","nb","gap","_el$214","_tmpl$74","_c$4","_tmpl$0","_tmpl$1","_tmpl$75","MessageRow","onOption","answeredIds","agentActive","onResize","onCancel","back","onEdit","_el$47","_tmpl$13","_el$49","_el$51","_tmpl$10","_el$52","_el$54","ThinkingTimer","startedAt","_$use","stick","_tmpl$76","_el$218","_tmpl$12","innerHTML","_tmpl$11","_el$56","_el$57","_tmpl$19","_el$58","_el$59","_el$60","_el$61","_el$62","_el$63","_el$64","$$dblclick","$$pointerdown","_el$219","_tmpl$77","_el$221","_v$25","_v$26","_c$","pop","_ref$","_tmpl$15","_tmpl$16","_el$67","_tmpl$18","_ref$2","_tmpl$17","toggle","_v$","_v$2","_v$3","_el$69","_tmpl$25","_el$74","_el$80","_el$83","_el$86","_el$87","_el$88","_el$70","_tmpl$20","_c$2","_el$72","_tmpl$21","_el$222","_tmpl$78","_el$223","_el$224","_v$27","_v$28","_el$73","_el$225","_tmpl$79","_el$226","_el$228","_el$75","_tmpl$22","_el$76","_el$77","_el$79","im","_el$229","_tmpl$80","_el$230","_el$231","_v$29","_v$30","_v$31","$$keydown","sugg","shiftKey","isComposing","$$input","imgs","clipboardData","_ref$3","_el$81","_tmpl$23","_el$82","click","_el$84","_tmpl$24","_v$4","_v$5","_v$6","_ref$4","_tmpl$26","_el$91","_tmpl$27","_el$92","_el$94","_el$95","_el$96","_el$98","_el$101","_el$102","_v$7","_v$8","keyed","aid","FilesPanel","_tmpl$28","_el$104","_tmpl$30","_el$105","_el$106","_el$107","_el$108","_el$109","_el$110","_el$232","_el$233","btn","disabled","contextWindowTokens","textContent","alert","_el$112","_tmpl$29","_tmpl$31","_el$114","_tmpl$33","_el$115","_el$116","_el$117","_$addEventListener","confirm","_el$118","_tmpl$32","stopped","_v$9","_v$0","_el$119","_tmpl$34","_el$121","autoContinue","_el$122","_tmpl$36","_tmpl$81","_el$124","_tmpl$35","_el$125","_tmpl$37","_el$235","_tmpl$82","_v$32","_v$33","_tmpl$83","_el$127","_tmpl$38","_el$128","_el$129","_tmpl$39","_el$131","audit","_el$237","_tmpl$84","_el$238","_el$239","_el$240","verdict","relTime","_v$34","_v$35","feedback","_tmpl$40","_el$133","_tmpl$41","_el$134","_el$135","_el$138","_el$139","_tmpl$43","_el$145","_el$141","_tmpl$42","_el$142","_el$144","_$p","_el$146","_tmpl$44","_el$147","_v$1","_v$10","_el$241","_tmpl$85","_el$148","_tmpl$45","_el$149","_tmpl$46","_el$150","_el$151","_tmpl$47","latestProgress","_tmpl$86","_el$243","_tmpl$91","_el$244","_el$246","_el$259","_el$247","_tmpl$87","_el$249","problems","_el$250","_tmpl$88","_el$252","_el$253","_tmpl$89","_el$255","goalStatus","_el$256","_tmpl$90","_el$258","_tmpl$48","_el$154","_tmpl$51","_el$155","_el$156","_el$158","_el$159","_el$161","_el$164","_el$165","_el$167","_el$168","_el$170","compactions","inputTokens","outputTokens","cachedInputTokens","_el$171","_tmpl$49","_el$174","costUsd","_el$175","_tmpl$50","_el$177","costFmt","_tmpl$92","ctxVals","cv","modelMeta","effectiveWindow","pct","usedTokens","compactAt","cls","derivedBudget","usingDerived","compactAtIsManual","fmtPct","isInteger","_el$261","_tmpl$97","_el$262","_el$264","_el$267","_el$272","_el$274","_el$275","_el$276","_el$283","_el$285","_el$286","_el$289","_el$268","_tmpl$93","_el$269","_el$270","_tmpl$94","_el$271","_v$36","_v$37","_el$277","_tmpl$95","_el$278","_v$38","_v$39","_el$279","_tmpl$96","_el$282","autoCompact","_tmpl$52","_el$290","_tmpl$98","_el$291","_el$292","_el$293","_v$40","_v$41","_tmpl$53","_tmpl$99","_el$295","_tmpl$101","_el$296","_el$297","_el$298","_el$301","_el$302","_el$303","_tmpl$100","_c$5","_c$6","oneLine","_v$42","_v$43","_v$11","_v$12","_v$13","_v$14","_v$15","_v$16","_el$181","_tmpl$55","_el$182","_tmpl$58","_el$185","_el$187","_el$186","_tmpl$56","_tmpl$102","_el$188","_tmpl$57","_el$305","_tmpl$104","_el$307","_el$308","_el$309","_el$310","_c$7","_el$311","_tmpl$103","truncate","_v$44","_v$45","_v$46","NewAgentModal","onClose","onCreated","ConfigModal","onSaved","afterCount","tail","setTail","Modal","_el$312","_tmpl$106","_el$313","_el$321","_el$322","ta","_el$314","_tmpl$105","_el$315","_el$316","_el$317","_el$318","_el$320","BashElapsed","props","getTime","setNow","inline","_el$323","_tmpl$107","_c$8","timeoutMs","_el$325","_tmpl$108","_el$326","_el$327","_tmpl$109","_c$9","ToolRow","staleDone","hint","_el$328","_tmpl$110","args","argStr","cmdText","effTimeout","codeBlock","_el$329","_tmpl$111","resultBlock","_el$330","_tmpl$112","_el$331","durationMs","CopyBtn","_tmpl$113","isBg","bgJob","timeoutHint","_el$333","_tmpl$114","_el$335","_el$338","_tmpl$115","bits","offset","limit","_el$340","_tmpl$116","_el$341","_el$342","_tmpl$117","_tmpl$118","replace_all","_el$344","_tmpl$119","_el$345","_tmpl$120","_el$346","_tmpl$121","_el$347","_el$349","_tmpl$122","patchLines","test","shown","MAX_PATCH_LINES","_el$351","_tmpl$123","_el$352","_tmpl$124","_c$1","_c$0","_el$353","_tmpl$125","_el$356","_el$357","_tmpl$126","u","URL","_el$359","_el$361","_tmpl$128","_el$360","_tmpl$127","action","mdBody","_el$362","_el$363","_el$364","_tmpl$129","isArray","_el$366","_tmpl$130","_el$368","_el$369","_el$371","_tmpl$131","_el$373","_tmpl$133","_el$374","_el$375","_el$380","_el$381","_el$378","_tmpl$132","rawOf","actorKey","grouped","_el$382","_tmpl$134","_el$385","fromBranch","newBranch","what","_el$386","_tmpl$135","_el$389","_el$390","_tmpl$136","_el$393","by","to","_el$394","_tmpl$137","_el$395","_c$10","reason","_el$396","_tmpl$138","_el$397","_el$401","_el$402","_el$403","_el$406","failures","lastTool","lastError","_el$407","_tmpl$139","_el$408","_el$412","_el$413","attempt","waitMs","failed","secs","_el$414","jobId","_el$415","_tmpl$140","_el$420","_el$421","_el$422","tokensBefore","tokensAfter","_el$423","_tmpl$144","_el$424","_el$425","_el$434","_tmpl$145","_el$426","_tmpl$143","_el$427","_el$430","_el$431","_el$428","_c$11","_el$432","_tmpl$141","_el$433","_tmpl$142","SwitchContent","_v$47","_v$48","_v$49","_v$50","_v$51","FreeTextAnswer","val","setVal","submit","answered","_el$435","_tmpl$146","_el$436","_el$437","_v$52","_v$53","_v$54","_el$438","_el$439","_tmpl$147","_el$440","_tmpl$148","_el$441","_tmpl$149","_el$442","_el$444","_c$12","_el$445","interrupted","_tmpl$150","_el$447","_tmpl$151","_el$448","_el$449","_tmpl$152","_el$450","_el$451","_el$452","_el$453","_el$454","alts","alternatives","_el$455","_tmpl$154","_el$456","_el$459","_el$460","_el$461","_tmpl$153","_v$55","_v$56","rationale","options","_el$463","_tmpl$157","_el$466","_tmpl$155","_el$468","_tmpl$156","_el$469","_tmpl$158","_el$470","_tmpl$159","_el$473","_el$474","_el$476","_el$477","_el$479","_el$480","_el$482","_el$483","_el$485","_el$486","_tmpl$160","_el$487","_el$489","_tmpl$162","_el$492","_el$493","_el$497","_el$498","_c$13","dropped","summary","_tmpl$161","_el$500","_el$501","_tmpl$163","ms","unit","usd","toLocaleString","_el$502","_tmpl$164","_el$503","_v$57","class","_v$58","_v$59","setDone","setFailed","copy","navigator","clipboard","writeText","position","opacity","execCommand","_el$504","_tmpl$165","_c$14","_el$505","_tmpl$166","_el$506","_el$508","_el$509","dir","setDir","setEntries","setName","setProvider","setModel","err","setErr","browse","setParent","create","_el$510","_tmpl$168","_el$511","_el$514","_el$515","_el$516","_el$517","_el$518","_el$519","_el$521","_el$522","_el$524","_el$527","_el$529","_el$530","_tmpl$169","_el$532","_el$528","_tmpl$167","IMAGE_EXT","VIDEO_EXT","AUDIO_EXT","ficon","ext","mk","mediaKindOf","fileUi","fileUiFor","preview","media","viewMode","ui","setKids","setExpandedRaw","setPreviewRaw","setPreview","setExpanded","setMediaRaw","setMedia","setViewModeRaw","setViewMode","ignoreMode","setIgnoreMode","cycleIgnoreMode","order","ignoreFilter","ignored","showHidden","setShowHidden","toggleHidden","targets","fetchDirWith","results","mergeKids","parseEntries","parentPath","fetchDir","hidden","qs","URLSearchParams","old","merged","fresh","kept","kidsFor","toggleDir","node","hlHtml","setHlHtml","hlPending","setHlPending","editBuf","setEditBuf","saving","setSaving","isMd","hlRun","startHighlighting","run","highlightChunks","chunk","openFileWith","binary","truncated","saveFile","pv","baseContent","raw","conflict","current","take","isEditable","row","_el$533","_tmpl$171","_el$534","_el$535","_c$15","_el$536","_tmpl$170","_v$60","_v$61","_v$62","wsName","refreshing","setRefreshing","refreshTree","_el$537","_tmpl$172","_el$539","_el$541","_tmpl$173","_el$542","_tmpl$174","_el$547","_tmpl$179","_el$549","_el$548","_tmpl$177","_el$550","_tmpl$178","_tmpl$181","CodePreview","_el$558","_tmpl$182","_el$551","_tmpl$180","_el$552","_el$554","_el$555","_el$556","_el$543","_tmpl$176","_el$545","_el$546","_el$560","_tmpl$184","_el$559","_tmpl$183","_el$544","_tmpl$175","_v$63","_v$64","_el$563","_tmpl$187","_el$566","_el$567","_tmpl$188","_el$561","_tmpl$185","_tmpl$186","PROVIDER_PRESETS","CUSTOM_PRESET","preset","setPreset","baseUrl","setBaseUrl","apiKey","setApiKey","setWorkspace","password","setPassword","busy","setBusy","pick","specOf","_el$568","_tmpl$192","_el$572","_el$573","_el$575","_el$577","_el$578","_el$579","_el$581","_el$582","_el$584","_el$585","_el$589","_el$591","_el$593","_el$596","_el$598","_el$599","_tmpl$193","_v$67","_v$68","_el$574","_tmpl$189","_el$600","_el$601","_tmpl$194","_el$586","_tmpl$191","_el$587","_el$588","_tmpl$190","_el$597","_v$65","_v$66","setProviders","setDefaultProvider","intervalMin","setIntervalMin","progressIntervalMs","minChars","setMinChars","progressMinChars","ctxBudgetK","setCtxBudgetK","contextTokenBudget","ctxWinK","setCtxWinK","maxDepth","setMaxDepth","maxSpawnDepth","agentIds","saveProviders","save","cleanTasks","numInput","oninput","_el$603","_tmpl$195","_el$604","_el$605","_tmpl$196","_el$606","_el$608","_el$609","_el$614","_el$616","_el$618","_el$619","_el$621","_el$622","_el$624","_el$625","_el$627","_el$630","_el$632","_el$634","Index","_el$635","_tmpl$197","_el$636","_el$637","_el$638","_el$639","_el$640","_el$641","_tmpl$198","_el$643","_el$644","_tmpl$199","_el$645","_el$646","_el$647","_el$648","_el$649","_el$650","_el$651","_el$652","_el$653","_tmpl$201","_el$654","_el$655","_el$656","_tmpl$200","version","_el$633","_$delegateEvents","render"],"ignoreList":[0,1,3,4],"sources":["../../node_modules/.pnpm/solid-js@1.9.15/node_modules/solid-js/dist/solid.js","../../node_modules/.pnpm/solid-js@1.9.15/node_modules/solid-js/web/dist/web.js","../../frontend/md.js","../../node_modules/.pnpm/@xterm+xterm@6.0.0/node_modules/@xterm/xterm/lib/xterm.mjs","../../node_modules/.pnpm/@xterm+addon-fit@0.11.0/node_modules/@xterm/addon-fit/lib/addon-fit.mjs","../../frontend/App.tsx","../../frontend/index.tsx"],"sourcesContent":["let taskIdCounter = 1,\n isCallbackScheduled = false,\n isPerformingWork = false,\n taskQueue = [],\n currentTask = null,\n shouldYieldToHost = null,\n yieldInterval = 5,\n deadline = 0,\n maxYieldInterval = 300,\n maxDeadline = 0,\n scheduleCallback = null,\n scheduledCallback = null;\nconst maxSigned31BitInt = 1073741823;\nfunction setupScheduler() {\n const channel = new MessageChannel(),\n port1 = channel.port1,\n port = channel.port2;\n if (typeof port1.unref === \"function\") port1.unref();\n if (typeof port.unref === \"function\") port.unref();\n scheduleCallback = () => port.postMessage(null);\n port1.onmessage = () => {\n if (scheduledCallback !== null) {\n const currentTime = performance.now();\n deadline = currentTime + yieldInterval;\n maxDeadline = currentTime + maxYieldInterval;\n try {\n const hasMoreWork = scheduledCallback(currentTime);\n if (!hasMoreWork) {\n scheduledCallback = null;\n } else port.postMessage(null);\n } catch (error) {\n port.postMessage(null);\n throw error;\n }\n }\n };\n if (navigator && navigator.scheduling && navigator.scheduling.isInputPending) {\n const scheduling = navigator.scheduling;\n shouldYieldToHost = () => {\n const currentTime = performance.now();\n if (currentTime >= deadline) {\n if (scheduling.isInputPending()) {\n return true;\n }\n return currentTime >= maxDeadline;\n } else {\n return false;\n }\n };\n } else {\n shouldYieldToHost = () => performance.now() >= deadline;\n }\n}\nfunction enqueue(taskQueue, task) {\n function findIndex() {\n let m = 0;\n let n = taskQueue.length - 1;\n while (m <= n) {\n const k = n + m >> 1;\n const cmp = task.expirationTime - taskQueue[k].expirationTime;\n if (cmp > 0) m = k + 1;else if (cmp < 0) n = k - 1;else return k;\n }\n return m;\n }\n taskQueue.splice(findIndex(), 0, task);\n}\nfunction requestCallback(fn, options) {\n if (!scheduleCallback) setupScheduler();\n let startTime = performance.now(),\n timeout = maxSigned31BitInt;\n if (options && options.timeout) timeout = options.timeout;\n const newTask = {\n id: taskIdCounter++,\n fn,\n startTime,\n expirationTime: startTime + timeout\n };\n enqueue(taskQueue, newTask);\n if (!isCallbackScheduled && !isPerformingWork) {\n isCallbackScheduled = true;\n scheduledCallback = flushWork;\n scheduleCallback();\n }\n return newTask;\n}\nfunction cancelCallback(task) {\n task.fn = null;\n}\nfunction flushWork(initialTime) {\n isCallbackScheduled = false;\n isPerformingWork = true;\n try {\n return workLoop(initialTime);\n } finally {\n currentTask = null;\n isPerformingWork = false;\n }\n}\nfunction workLoop(initialTime) {\n let currentTime = initialTime;\n currentTask = taskQueue[0] || null;\n while (currentTask !== null) {\n if (currentTask.expirationTime > currentTime && shouldYieldToHost()) {\n break;\n }\n const callback = currentTask.fn;\n if (callback !== null) {\n currentTask.fn = null;\n const didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n callback(didUserCallbackTimeout);\n currentTime = performance.now();\n if (currentTask === taskQueue[0]) {\n taskQueue.shift();\n }\n } else taskQueue.shift();\n currentTask = taskQueue[0] || null;\n }\n return currentTask !== null;\n}\n\nconst sharedConfig = {\n context: undefined,\n registry: undefined,\n effects: undefined,\n done: false,\n getContextId() {\n return getContextId(this.context.count);\n },\n getNextContextId() {\n return getContextId(this.context.count++);\n }\n};\nfunction getContextId(count) {\n const num = String(count),\n len = num.length - 1;\n return sharedConfig.context.id + (len ? String.fromCharCode(96 + len) : \"\") + num;\n}\nfunction setHydrateContext(context) {\n sharedConfig.context = context;\n}\nfunction nextHydrateContext() {\n return {\n ...sharedConfig.context,\n id: sharedConfig.getNextContextId(),\n count: 0\n };\n}\n\nconst IS_DEV = false;\nconst equalFn = (a, b) => a === b;\nconst $PROXY = Symbol(\"solid-proxy\");\nconst SUPPORTS_PROXY = typeof Proxy === \"function\";\nconst $TRACK = Symbol(\"solid-track\");\nconst $DEVCOMP = Symbol(\"solid-dev-component\");\nconst signalOptions = {\n equals: equalFn\n};\nlet ERROR = null;\nlet runEffects = runQueue;\nconst STALE = 1;\nconst PENDING = 2;\nconst UNOWNED = {\n owned: null,\n cleanups: null,\n context: null,\n owner: null\n};\nconst NO_INIT = {};\nvar Owner = null;\nlet Transition = null;\nlet Scheduler = null;\nlet ExternalSourceConfig = null;\nlet Listener = null;\nlet Updates = null;\nlet Effects = null;\nlet ExecCount = 0;\nfunction createRoot(fn, detachedOwner) {\n const listener = Listener,\n owner = Owner,\n unowned = fn.length === 0,\n current = detachedOwner === undefined ? owner : detachedOwner,\n root = unowned ? UNOWNED : {\n owned: null,\n cleanups: null,\n context: current ? current.context : null,\n owner: current\n },\n updateFn = unowned ? fn : () => fn(() => untrack(() => cleanNode(root)));\n Owner = root;\n Listener = null;\n try {\n return runUpdates(updateFn, true);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n}\nfunction createSignal(value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const s = {\n value,\n observers: null,\n observerSlots: null,\n comparator: options.equals || undefined\n };\n const setter = value => {\n if (typeof value === \"function\") {\n if (Transition && Transition.running && Transition.sources.has(s)) value = value(s.tValue);else value = value(s.value);\n }\n return writeSignal(s, value);\n };\n return [readSignal.bind(s), setter];\n}\nfunction createComputed(fn, value, options) {\n const c = createComputation(fn, value, true, STALE);\n if (Scheduler && Transition && Transition.running) Updates.push(c);else updateComputation(c);\n}\nfunction createRenderEffect(fn, value, options) {\n const c = createComputation(fn, value, false, STALE);\n if (Scheduler && Transition && Transition.running) Updates.push(c);else updateComputation(c);\n}\nfunction createEffect(fn, value, options) {\n runEffects = runUserEffects;\n const c = createComputation(fn, value, false, STALE),\n s = SuspenseContext && useContext(SuspenseContext);\n if (s) c.suspense = s;\n if (!options || !options.render) c.user = true;\n Effects ? Effects.push(c) : updateComputation(c);\n}\nfunction createReaction(onInvalidate, options) {\n let fn;\n const c = createComputation(() => {\n fn ? fn() : untrack(onInvalidate);\n fn = undefined;\n }, undefined, false, 0),\n s = SuspenseContext && useContext(SuspenseContext);\n if (s) c.suspense = s;\n c.user = true;\n return tracking => {\n fn = tracking;\n updateComputation(c);\n };\n}\nfunction createMemo(fn, value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const c = createComputation(fn, value, true, 0);\n c.observers = null;\n c.observerSlots = null;\n c.comparator = options.equals || undefined;\n if (Scheduler && Transition && Transition.running) {\n c.tState = STALE;\n Updates.push(c);\n } else updateComputation(c);\n return readSignal.bind(c);\n}\nfunction isPromise(v) {\n return v && typeof v === \"object\" && \"then\" in v;\n}\nfunction createResource(pSource, pFetcher, pOptions) {\n let source;\n let fetcher;\n let options;\n if (typeof pFetcher === \"function\") {\n source = pSource;\n fetcher = pFetcher;\n options = pOptions || {};\n } else {\n source = true;\n fetcher = pSource;\n options = pFetcher || {};\n }\n let pr = null,\n initP = NO_INIT,\n id = null,\n loadedUnderTransition = false,\n scheduled = false,\n resolved = \"initialValue\" in options,\n dynamic = typeof source === \"function\" && createMemo(source);\n const contexts = new Set(),\n [value, setValue] = (options.storage || createSignal)(options.initialValue),\n [error, setError] = createSignal(undefined),\n [track, trigger] = createSignal(undefined, {\n equals: false\n }),\n [state, setState] = createSignal(resolved ? \"ready\" : \"unresolved\");\n if (Owner) onCleanup(() => {\n for (const c of contexts.keys()) c.decrement();\n contexts.clear();\n if (Transition && pr) Transition.promises.delete(pr);\n pr = null;\n });\n if (sharedConfig.context) {\n id = sharedConfig.getNextContextId();\n if (options.ssrLoadFrom === \"initial\") initP = options.initialValue;else if (sharedConfig.load && sharedConfig.has(id)) initP = sharedConfig.load(id);\n }\n function loadEnd(p, v, error, key) {\n if (pr === p) {\n pr = null;\n key !== undefined && (resolved = true);\n if ((p === initP || v === initP) && options.onHydrated) queueMicrotask(() => options.onHydrated(key, {\n value: v\n }));\n initP = NO_INIT;\n if (Transition && p && loadedUnderTransition) {\n Transition.promises.delete(p);\n loadedUnderTransition = false;\n runUpdates(() => {\n Transition.running = true;\n completeLoad(v, error);\n }, false);\n } else completeLoad(v, error);\n }\n return v;\n }\n function completeLoad(v, err) {\n runUpdates(() => {\n if (err === undefined) setValue(() => v);\n setState(err !== undefined ? \"errored\" : resolved ? \"ready\" : \"unresolved\");\n setError(err);\n for (const c of contexts.keys()) c.decrement();\n contexts.clear();\n }, false);\n }\n function read() {\n const c = SuspenseContext && useContext(SuspenseContext),\n v = value(),\n err = error();\n if (err !== undefined && !pr) throw err;\n if (Listener && !Listener.user && c) {\n createComputed(() => {\n track();\n if (pr) {\n if (c.resolved && Transition && loadedUnderTransition) Transition.promises.add(pr);else if (!contexts.has(c)) {\n c.increment();\n contexts.add(c);\n }\n }\n });\n }\n return v;\n }\n function load(refetching = true) {\n if (refetching !== false && scheduled) return;\n scheduled = false;\n const lookup = dynamic ? dynamic() : source;\n loadedUnderTransition = Transition && Transition.running;\n if (lookup == null || lookup === false) {\n loadEnd(pr, untrack(value));\n return;\n }\n if (Transition && pr) Transition.promises.delete(pr);\n let error;\n const p = initP !== NO_INIT ? initP : untrack(() => {\n try {\n return fetcher(lookup, {\n value: value(),\n refetching\n });\n } catch (fetcherError) {\n error = fetcherError;\n }\n });\n if (error !== undefined) {\n loadEnd(pr, undefined, castError(error), lookup);\n return;\n } else if (!isPromise(p)) {\n loadEnd(pr, p, undefined, lookup);\n return p;\n }\n pr = p;\n if (\"v\" in p) {\n if (p.s === 1) loadEnd(pr, p.v, undefined, lookup);else loadEnd(pr, undefined, castError(p.v), lookup);\n return p;\n }\n scheduled = true;\n queueMicrotask(() => scheduled = false);\n runUpdates(() => {\n setState(resolved ? \"refreshing\" : \"pending\");\n trigger();\n }, false);\n return p.then(v => loadEnd(p, v, undefined, lookup), e => loadEnd(p, undefined, castError(e), lookup));\n }\n Object.defineProperties(read, {\n state: {\n get: () => state()\n },\n error: {\n get: () => error()\n },\n loading: {\n get() {\n const s = state();\n return s === \"pending\" || s === \"refreshing\";\n }\n },\n latest: {\n get() {\n if (!resolved) return read();\n const err = error();\n if (err && !pr) throw err;\n return value();\n }\n }\n });\n let owner = Owner;\n if (dynamic) createComputed(() => (owner = Owner, load(false)));else load(false);\n return [read, {\n refetch: info => runWithOwner(owner, () => load(info)),\n mutate: setValue\n }];\n}\nfunction createDeferred(source, options) {\n let t,\n timeout = options ? options.timeoutMs : undefined;\n const node = createComputation(() => {\n if (!t || !t.fn) t = requestCallback(() => setDeferred(() => node.value), timeout !== undefined ? {\n timeout\n } : undefined);\n return source();\n }, undefined, true);\n const [deferred, setDeferred] = createSignal(Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, options);\n updateComputation(node);\n setDeferred(() => Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value);\n return deferred;\n}\nfunction createSelector(source, fn = equalFn, options) {\n const subs = new Map();\n const node = createComputation(p => {\n const v = source();\n for (const [key, val] of subs.entries()) if (fn(key, v) !== fn(key, p)) {\n for (const c of val.values()) {\n if (Transition && Transition.running) c.tState = STALE;else c.state = STALE;\n if (c.pure) Updates.push(c);else Effects.push(c);\n }\n }\n return v;\n }, undefined, true, STALE);\n updateComputation(node);\n return key => {\n const listener = Listener;\n if (listener) {\n let l;\n if (l = subs.get(key)) l.add(listener);else subs.set(key, l = new Set([listener]));\n onCleanup(() => {\n l.delete(listener);\n !l.size && subs.delete(key);\n });\n }\n return fn(key, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value);\n };\n}\nfunction batch(fn) {\n return runUpdates(fn, false);\n}\nfunction untrack(fn) {\n if (!ExternalSourceConfig && Listener === null) return fn();\n const listener = Listener;\n Listener = null;\n try {\n if (ExternalSourceConfig) return ExternalSourceConfig.untrack(fn);\n return fn();\n } finally {\n Listener = listener;\n }\n}\nfunction on(deps, fn, options) {\n const isArray = Array.isArray(deps);\n let prevInput;\n let defer = options && options.defer;\n return prevValue => {\n let input;\n if (isArray) {\n input = Array(deps.length);\n for (let i = 0; i < deps.length; i++) input[i] = deps[i]();\n } else input = deps();\n if (defer) {\n defer = false;\n return prevValue;\n }\n const result = untrack(() => fn(input, prevInput, prevValue));\n prevInput = input;\n return result;\n };\n}\nfunction onMount(fn) {\n createEffect(() => untrack(fn));\n}\nfunction onCleanup(fn) {\n if (Owner === null) ;else if (Owner.cleanups === null) Owner.cleanups = [fn];else Owner.cleanups.push(fn);\n return fn;\n}\nfunction catchError(fn, handler) {\n ERROR || (ERROR = Symbol(\"error\"));\n Owner = createComputation(undefined, undefined, true);\n Owner.context = {\n ...Owner.context,\n [ERROR]: [handler]\n };\n if (Transition && Transition.running) Transition.sources.add(Owner);\n try {\n return fn();\n } catch (err) {\n handleError(err);\n } finally {\n Owner = Owner.owner;\n }\n}\nfunction getListener() {\n return Listener;\n}\nfunction getOwner() {\n return Owner;\n}\nfunction runWithOwner(o, fn) {\n const prev = Owner;\n const prevListener = Listener;\n Owner = o;\n Listener = null;\n try {\n return runUpdates(fn, true);\n } catch (err) {\n handleError(err);\n } finally {\n Owner = prev;\n Listener = prevListener;\n }\n}\nfunction enableScheduling(scheduler = requestCallback) {\n Scheduler = scheduler;\n}\nfunction startTransition(fn) {\n if (Transition && Transition.running) {\n fn();\n return Transition.done;\n }\n const l = Listener;\n const o = Owner;\n return Promise.resolve().then(() => {\n Listener = l;\n Owner = o;\n let t;\n if (Scheduler || SuspenseContext) {\n t = Transition || (Transition = {\n sources: new Set(),\n effects: [],\n promises: new Set(),\n disposed: new Set(),\n queue: new Set(),\n running: true\n });\n t.done || (t.done = new Promise(res => t.resolve = res));\n t.running = true;\n }\n runUpdates(fn, false);\n Listener = Owner = null;\n return t ? t.done : undefined;\n });\n}\nconst [transPending, setTransPending] = /*@__PURE__*/createSignal(false);\nfunction useTransition() {\n return [transPending, startTransition];\n}\nfunction resumeEffects(e) {\n Effects.push.apply(Effects, e);\n e.length = 0;\n}\nfunction createContext(defaultValue, options) {\n const id = Symbol(\"context\");\n return {\n id,\n Provider: createProvider(id),\n defaultValue\n };\n}\nfunction useContext(context) {\n let value;\n return Owner && Owner.context && (value = Owner.context[context.id]) !== undefined ? value : context.defaultValue;\n}\nfunction children(fn) {\n const children = createMemo(fn);\n const memo = createMemo(() => resolveChildren(children()));\n memo.toArray = () => {\n const c = memo();\n return Array.isArray(c) ? c : c != null ? [c] : [];\n };\n return memo;\n}\nlet SuspenseContext;\nfunction getSuspenseContext() {\n return SuspenseContext || (SuspenseContext = createContext());\n}\nfunction enableExternalSource(factory, untrack = fn => fn()) {\n if (ExternalSourceConfig) {\n const {\n factory: oldFactory,\n untrack: oldUntrack\n } = ExternalSourceConfig;\n ExternalSourceConfig = {\n factory: (fn, trigger) => {\n const oldSource = oldFactory(fn, trigger);\n const source = factory(x => oldSource.track(x), trigger);\n return {\n track: x => source.track(x),\n dispose() {\n source.dispose();\n oldSource.dispose();\n }\n };\n },\n untrack: fn => oldUntrack(() => untrack(fn))\n };\n } else {\n ExternalSourceConfig = {\n factory,\n untrack\n };\n }\n}\nfunction readSignal() {\n const runningTransition = Transition && Transition.running;\n if (this.sources && (runningTransition ? this.tState : this.state)) {\n if ((runningTransition ? this.tState : this.state) === STALE) updateComputation(this);else {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(this), false);\n Updates = updates;\n }\n }\n if (Listener) {\n const observers = this.observers;\n if (!observers || observers[observers.length - 1] !== Listener) {\n const sSlot = observers ? observers.length : 0;\n if (!Listener.sources) {\n Listener.sources = [this];\n Listener.sourceSlots = [sSlot];\n } else {\n Listener.sources.push(this);\n Listener.sourceSlots.push(sSlot);\n }\n if (!observers) {\n this.observers = [Listener];\n this.observerSlots = [Listener.sources.length - 1];\n } else {\n observers.push(Listener);\n this.observerSlots.push(Listener.sources.length - 1);\n }\n }\n }\n if (runningTransition && Transition.sources.has(this)) return this.tValue;\n return this.value;\n}\nfunction writeSignal(node, value, isComp) {\n let current = Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value;\n if (!node.comparator || !node.comparator(current, value)) {\n if (Transition) {\n const TransitionRunning = Transition.running;\n if (TransitionRunning || !isComp && Transition.sources.has(node)) {\n Transition.sources.add(node);\n node.tValue = value;\n }\n if (!TransitionRunning) node.value = value;\n } else node.value = value;\n if (node.observers && node.observers.length) {\n runUpdates(() => {\n for (let i = 0; i < node.observers.length; i += 1) {\n const o = node.observers[i];\n const TransitionRunning = Transition && Transition.running;\n if (TransitionRunning && Transition.disposed.has(o)) continue;\n if (TransitionRunning ? !o.tState : !o.state) {\n if (o.pure) Updates.push(o);else Effects.push(o);\n if (o.observers) markDownstream(o);\n }\n if (!TransitionRunning) o.state = STALE;else o.tState = STALE;\n }\n if (Updates.length > 10e5) {\n Updates = [];\n if (IS_DEV) ;\n throw new Error();\n }\n }, false);\n }\n }\n return value;\n}\nfunction updateComputation(node) {\n if (!node.fn) return;\n cleanNode(node);\n const time = ExecCount;\n runComputation(node, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, time);\n if (Transition && !Transition.running && Transition.sources.has(node)) {\n queueMicrotask(() => {\n runUpdates(() => {\n Transition && (Transition.running = true);\n Listener = Owner = node;\n runComputation(node, node.tValue, time);\n Listener = Owner = null;\n }, false);\n });\n }\n}\nfunction runComputation(node, value, time) {\n let nextValue;\n const owner = Owner,\n listener = Listener;\n Listener = Owner = node;\n try {\n nextValue = node.fn(value);\n } catch (err) {\n if (node.pure) {\n if (Transition && Transition.running) {\n node.tState = STALE;\n node.tOwned && node.tOwned.forEach(cleanNode);\n node.tOwned = undefined;\n } else {\n node.state = STALE;\n node.owned && node.owned.forEach(cleanNode);\n node.owned = null;\n }\n }\n node.updatedAt = time + 1;\n return handleError(err);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n if (!node.updatedAt || node.updatedAt <= time) {\n if (node.updatedAt != null && \"observers\" in node) {\n writeSignal(node, nextValue, true);\n } else if (Transition && Transition.running && node.pure) {\n if (!Transition.sources.has(node)) node.value = nextValue;\n Transition.sources.add(node);\n node.tValue = nextValue;\n } else node.value = nextValue;\n node.updatedAt = time;\n }\n}\nfunction createComputation(fn, init, pure, state = STALE, options) {\n const c = {\n fn,\n state: state,\n updatedAt: null,\n owned: null,\n sources: null,\n sourceSlots: null,\n cleanups: null,\n value: init,\n owner: Owner,\n context: Owner ? Owner.context : null,\n pure\n };\n if (Transition && Transition.running) {\n c.state = 0;\n c.tState = state;\n }\n if (Owner === null) ;else if (Owner !== UNOWNED) {\n if (Transition && Transition.running && Owner.pure) {\n if (!Owner.tOwned) Owner.tOwned = [c];else Owner.tOwned.push(c);\n } else {\n if (!Owner.owned) Owner.owned = [c];else Owner.owned.push(c);\n }\n }\n if (ExternalSourceConfig && c.fn) {\n const sourceFn = c.fn;\n const [track, trigger] = createSignal(undefined, {\n equals: false\n });\n const ordinary = ExternalSourceConfig.factory(sourceFn, trigger);\n onCleanup(() => ordinary.dispose());\n let inTransition;\n let trackedOrdinary = false;\n const triggerInTransition = () => startTransition(trigger).then(() => {\n if (inTransition) {\n inTransition.dispose();\n inTransition = undefined;\n if (!trackedOrdinary) trigger();\n }\n });\n c.fn = x => {\n track();\n if (Transition && Transition.running) {\n if (!inTransition) inTransition = ExternalSourceConfig.factory(sourceFn, triggerInTransition);\n return inTransition.track(x);\n }\n trackedOrdinary = true;\n return ordinary.track(x);\n };\n }\n return c;\n}\nfunction runTop(node) {\n const runningTransition = Transition && Transition.running;\n if ((runningTransition ? node.tState : node.state) === 0) return;\n if ((runningTransition ? node.tState : node.state) === PENDING) return lookUpstream(node);\n if (node.suspense && untrack(node.suspense.inFallback)) return node.suspense.effects.push(node);\n const ancestors = [node];\n while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {\n if (runningTransition && Transition.disposed.has(node)) return;\n if (runningTransition ? node.tState : node.state) ancestors.push(node);\n }\n for (let i = ancestors.length - 1; i >= 0; i--) {\n node = ancestors[i];\n if (runningTransition) {\n let top = node,\n prev = ancestors[i + 1];\n while ((top = top.owner) && top !== prev) {\n if (Transition.disposed.has(top)) return;\n }\n }\n if ((runningTransition ? node.tState : node.state) === STALE) {\n updateComputation(node);\n } else if ((runningTransition ? node.tState : node.state) === PENDING) {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(node, ancestors[0]), false);\n Updates = updates;\n }\n }\n}\nfunction runUpdates(fn, init) {\n if (Updates) return fn();\n let wait = false;\n if (!init) Updates = [];\n if (Effects) wait = true;else Effects = [];\n ExecCount++;\n try {\n const res = fn();\n completeUpdates(wait);\n return res;\n } catch (err) {\n if (!wait) Effects = null;\n Updates = null;\n handleError(err);\n }\n}\nfunction completeUpdates(wait) {\n if (Updates) {\n if (Scheduler && Transition && Transition.running) scheduleQueue(Updates);else runQueue(Updates);\n Updates = null;\n }\n if (wait) return;\n let res;\n if (Transition) {\n if (!Transition.promises.size && !Transition.queue.size) {\n const sources = Transition.sources;\n const disposed = Transition.disposed;\n Effects.push.apply(Effects, Transition.effects);\n res = Transition.resolve;\n for (const e of Effects) {\n \"tState\" in e && (e.state = e.tState);\n delete e.tState;\n }\n Transition = null;\n runUpdates(() => {\n for (const d of disposed) cleanNode(d);\n for (const v of sources) {\n v.value = v.tValue;\n if (v.owned) {\n for (let i = 0, len = v.owned.length; i < len; i++) cleanNode(v.owned[i]);\n }\n if (v.tOwned) v.owned = v.tOwned;\n delete v.tValue;\n delete v.tOwned;\n v.tState = 0;\n }\n setTransPending(false);\n }, false);\n } else if (Transition.running) {\n Transition.running = false;\n Transition.effects.push.apply(Transition.effects, Effects);\n Effects = null;\n setTransPending(true);\n return;\n }\n }\n const e = Effects;\n Effects = null;\n if (e.length) runUpdates(() => runEffects(e), false);\n if (res) res();\n}\nfunction runQueue(queue) {\n for (let i = 0; i < queue.length; i++) runTop(queue[i]);\n}\nfunction scheduleQueue(queue) {\n for (let i = 0; i < queue.length; i++) {\n const item = queue[i];\n const tasks = Transition.queue;\n if (!tasks.has(item)) {\n tasks.add(item);\n Scheduler(() => {\n tasks.delete(item);\n runUpdates(() => {\n Transition.running = true;\n runTop(item);\n }, false);\n Transition && (Transition.running = false);\n });\n }\n }\n}\nfunction runUserEffects(queue) {\n let i,\n userLength = 0;\n for (i = 0; i < queue.length; i++) {\n const e = queue[i];\n if (!e.user) runTop(e);else queue[userLength++] = e;\n }\n if (sharedConfig.context) {\n if (sharedConfig.count) {\n sharedConfig.effects || (sharedConfig.effects = []);\n sharedConfig.effects.push(...queue.slice(0, userLength));\n return;\n }\n setHydrateContext();\n }\n if (sharedConfig.effects && (sharedConfig.done || !sharedConfig.count)) {\n queue = [...sharedConfig.effects, ...queue];\n userLength += sharedConfig.effects.length;\n delete sharedConfig.effects;\n }\n for (i = 0; i < userLength; i++) runTop(queue[i]);\n}\nfunction lookUpstream(node, ignore) {\n const runningTransition = Transition && Transition.running;\n if (runningTransition) node.tState = 0;else node.state = 0;\n for (let i = 0; i < node.sources.length; i += 1) {\n const source = node.sources[i];\n if (source.sources) {\n const state = runningTransition ? source.tState : source.state;\n if (state === STALE) {\n if (source !== ignore && (!source.updatedAt || source.updatedAt < ExecCount)) runTop(source);\n } else if (state === PENDING) lookUpstream(source, ignore);\n }\n }\n}\nfunction markDownstream(node) {\n const runningTransition = Transition && Transition.running;\n for (let i = 0; i < node.observers.length; i += 1) {\n const o = node.observers[i];\n if (runningTransition ? !o.tState : !o.state) {\n if (runningTransition) o.tState = PENDING;else o.state = PENDING;\n if (o.pure) Updates.push(o);else Effects.push(o);\n o.observers && markDownstream(o);\n }\n }\n}\nfunction cleanNode(node) {\n let i;\n if (node.sources) {\n while (node.sources.length) {\n const source = node.sources.pop(),\n index = node.sourceSlots.pop(),\n obs = source.observers;\n if (obs && obs.length) {\n const n = obs.pop(),\n s = source.observerSlots.pop();\n if (index < obs.length) {\n n.sourceSlots[s] = index;\n obs[index] = n;\n source.observerSlots[index] = s;\n }\n }\n }\n }\n if (node.tOwned) {\n for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);\n delete node.tOwned;\n }\n if (Transition && Transition.running && node.pure) {\n reset(node, true);\n } else if (node.owned) {\n for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);\n node.owned = null;\n }\n if (node.cleanups) {\n for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();\n node.cleanups = null;\n }\n if (Transition && Transition.running) node.tState = 0;else node.state = 0;\n}\nfunction reset(node, top) {\n if (!top) {\n node.tState = 0;\n Transition.disposed.add(node);\n }\n if (node.owned) {\n for (let i = 0; i < node.owned.length; i++) reset(node.owned[i]);\n }\n}\nfunction castError(err) {\n if (err instanceof Error) return err;\n return new Error(typeof err === \"string\" ? err : \"Unknown error\", {\n cause: err\n });\n}\nfunction runErrors(err, fns, owner) {\n try {\n for (const f of fns) f(err);\n } catch (e) {\n handleError(e, owner && owner.owner || null);\n }\n}\nfunction handleError(err, owner = Owner) {\n const fns = ERROR && owner && owner.context && owner.context[ERROR];\n const error = castError(err);\n if (!fns) throw error;\n if (Effects) Effects.push({\n fn() {\n runErrors(error, fns, owner);\n },\n state: STALE\n });else runErrors(error, fns, owner);\n}\nfunction resolveChildren(children) {\n if (typeof children === \"function\" && !children.length) return resolveChildren(children());\n if (Array.isArray(children)) {\n const results = [];\n for (let i = 0; i < children.length; i++) {\n const result = resolveChildren(children[i]);\n if (Array.isArray(result)) {\n if (result.length < 32768) results.push.apply(results, result);else for (let j = 0; j < result.length; j++) results.push(result[j]);\n } else {\n results.push(result);\n }\n }\n return results;\n }\n return children;\n}\nfunction createProvider(id, options) {\n return function provider(props) {\n let res;\n createRenderEffect(() => res = untrack(() => {\n Owner.context = {\n ...Owner.context,\n [id]: props.value\n };\n return children(() => props.children);\n }), undefined);\n return res;\n };\n}\nfunction onError(fn) {\n ERROR || (ERROR = Symbol(\"error\"));\n if (Owner === null) ;else if (Owner.context === null || !Owner.context[ERROR]) {\n Owner.context = {\n ...Owner.context,\n [ERROR]: [fn]\n };\n mutateContext(Owner, ERROR, [fn]);\n } else Owner.context[ERROR].push(fn);\n}\nfunction mutateContext(o, key, value) {\n if (o.owned) {\n for (let i = 0; i < o.owned.length; i++) {\n if (o.owned[i].context === o.context) mutateContext(o.owned[i], key, value);\n if (!o.owned[i].context) {\n o.owned[i].context = o.context;\n mutateContext(o.owned[i], key, value);\n } else if (!o.owned[i].context[key]) {\n o.owned[i].context[key] = value;\n mutateContext(o.owned[i], key, value);\n }\n }\n }\n}\n\nfunction observable(input) {\n return {\n subscribe(observer) {\n if (!(observer instanceof Object) || observer == null) {\n throw new TypeError(\"Expected the observer to be an object.\");\n }\n const handler = typeof observer === \"function\" ? observer : observer.next && observer.next.bind(observer);\n if (!handler) {\n return {\n unsubscribe() {}\n };\n }\n const dispose = createRoot(disposer => {\n createEffect(() => {\n const v = input();\n untrack(() => handler(v));\n });\n return disposer;\n });\n if (getOwner()) onCleanup(dispose);\n return {\n unsubscribe() {\n dispose();\n }\n };\n },\n [Symbol.observable || \"@@observable\"]() {\n return this;\n }\n };\n}\nfunction from(producer, initalValue = undefined) {\n const [s, set] = createSignal(initalValue, {\n equals: false\n });\n if (\"subscribe\" in producer) {\n const unsub = producer.subscribe(v => set(() => v));\n onCleanup(() => \"unsubscribe\" in unsub ? unsub.unsubscribe() : unsub());\n } else {\n const clean = producer(set);\n onCleanup(clean);\n }\n return s;\n}\n\nconst FALLBACK = Symbol(\"fallback\");\nfunction dispose(d) {\n for (let i = 0; i < d.length; i++) d[i]();\n}\nfunction mapArray(list, mapFn, options = {}) {\n let items = [],\n mapped = [],\n disposers = [],\n len = 0,\n indexes = mapFn.length > 1 ? [] : null;\n onCleanup(() => dispose(disposers));\n return () => {\n let newItems = list() || [],\n newLen = newItems.length,\n i,\n j;\n newItems[$TRACK];\n return untrack(() => {\n let newIndices, newIndicesNext, temp, tempdisposers, tempIndexes, start, end, newEnd, item;\n if (newLen === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n indexes && (indexes = []);\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot(disposer => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n }\n else if (len === 0) {\n mapped = new Array(newLen);\n for (j = 0; j < newLen; j++) {\n items[j] = newItems[j];\n mapped[j] = createRoot(mapper);\n }\n len = newLen;\n } else {\n temp = new Array(newLen);\n tempdisposers = new Array(newLen);\n indexes && (tempIndexes = new Array(newLen));\n for (start = 0, end = Math.min(len, newLen); start < end && items[start] === newItems[start]; start++);\n for (end = len - 1, newEnd = newLen - 1; end >= start && newEnd >= start && items[end] === newItems[newEnd]; end--, newEnd--) {\n temp[newEnd] = mapped[end];\n tempdisposers[newEnd] = disposers[end];\n indexes && (tempIndexes[newEnd] = indexes[end]);\n }\n newIndices = new Map();\n newIndicesNext = new Array(newEnd + 1);\n for (j = newEnd; j >= start; j--) {\n item = newItems[j];\n i = newIndices.get(item);\n newIndicesNext[j] = i === undefined ? -1 : i;\n newIndices.set(item, j);\n }\n for (i = start; i <= end; i++) {\n item = items[i];\n j = newIndices.get(item);\n if (j !== undefined && j !== -1) {\n temp[j] = mapped[i];\n tempdisposers[j] = disposers[i];\n indexes && (tempIndexes[j] = indexes[i]);\n j = newIndicesNext[j];\n newIndices.set(item, j);\n } else disposers[i]();\n }\n for (j = start; j < newLen; j++) {\n if (j in temp) {\n mapped[j] = temp[j];\n disposers[j] = tempdisposers[j];\n if (indexes) {\n indexes[j] = tempIndexes[j];\n indexes[j](j);\n }\n } else mapped[j] = createRoot(mapper);\n }\n mapped = mapped.slice(0, len = newLen);\n items = newItems.slice(0);\n }\n return mapped;\n });\n function mapper(disposer) {\n disposers[j] = disposer;\n if (indexes) {\n const [s, set] = createSignal(j);\n indexes[j] = set;\n return mapFn(newItems[j], s);\n }\n return mapFn(newItems[j]);\n }\n };\n}\nfunction indexArray(list, mapFn, options = {}) {\n let items = [],\n mapped = [],\n disposers = [],\n signals = [],\n len = 0,\n i;\n onCleanup(() => dispose(disposers));\n return () => {\n const newItems = list() || [],\n newLen = newItems.length;\n newItems[$TRACK];\n return untrack(() => {\n if (newLen === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n signals = [];\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot(disposer => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n return mapped;\n }\n if (items[0] === FALLBACK) {\n disposers[0]();\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n }\n for (i = 0; i < newLen; i++) {\n if (i < items.length && items[i] !== newItems[i]) {\n signals[i](() => newItems[i]);\n } else if (i >= items.length) {\n mapped[i] = createRoot(mapper);\n }\n }\n for (; i < items.length; i++) {\n disposers[i]();\n }\n len = signals.length = disposers.length = newLen;\n items = newItems.slice(0);\n return mapped = mapped.slice(0, len);\n });\n function mapper(disposer) {\n disposers[i] = disposer;\n const [s, set] = createSignal(newItems[i]);\n signals[i] = set;\n return mapFn(s, i);\n }\n };\n}\n\nlet hydrationEnabled = false;\nfunction enableHydration() {\n hydrationEnabled = true;\n}\nfunction createComponent(Comp, props) {\n if (hydrationEnabled) {\n if (sharedConfig.context) {\n const c = sharedConfig.context;\n setHydrateContext(nextHydrateContext());\n const r = untrack(() => Comp(props || {}));\n setHydrateContext(c);\n return r;\n }\n }\n return untrack(() => Comp(props || {}));\n}\nfunction trueFn() {\n return true;\n}\nconst propTraps = {\n get(_, property, receiver) {\n if (property === $PROXY) return receiver;\n return _.get(property);\n },\n has(_, property) {\n if (property === $PROXY) return true;\n return _.has(property);\n },\n set: trueFn,\n deleteProperty: trueFn,\n getOwnPropertyDescriptor(_, property) {\n return {\n configurable: true,\n enumerable: true,\n get() {\n return _.get(property);\n },\n set: trueFn,\n deleteProperty: trueFn\n };\n },\n ownKeys(_) {\n return _.keys();\n }\n};\nfunction resolveSource(s) {\n return !(s = typeof s === \"function\" ? s() : s) ? {} : s;\n}\nfunction resolveSources() {\n for (let i = 0, length = this.length; i < length; ++i) {\n const v = this[i]();\n if (v !== undefined) return v;\n }\n}\nfunction mergeProps(...sources) {\n let proxy = false;\n for (let i = 0; i < sources.length; i++) {\n const s = sources[i];\n proxy = proxy || !!s && $PROXY in s;\n sources[i] = typeof s === \"function\" ? (proxy = true, createMemo(s)) : s;\n }\n if (SUPPORTS_PROXY && proxy) {\n return new Proxy({\n get(property) {\n for (let i = sources.length - 1; i >= 0; i--) {\n const v = resolveSource(sources[i])[property];\n if (v !== undefined) return v;\n }\n },\n has(property) {\n for (let i = sources.length - 1; i >= 0; i--) {\n if (property in resolveSource(sources[i])) return true;\n }\n return false;\n },\n keys() {\n const keys = [];\n for (let i = 0; i < sources.length; i++) keys.push(...Object.keys(resolveSource(sources[i])));\n return [...new Set(keys)];\n }\n }, propTraps);\n }\n const sourcesMap = {};\n const defined = Object.create(null);\n for (let i = sources.length - 1; i >= 0; i--) {\n const source = sources[i];\n if (!source) continue;\n const sourceKeys = Object.getOwnPropertyNames(source);\n for (let i = sourceKeys.length - 1; i >= 0; i--) {\n const key = sourceKeys[i];\n if (key === \"__proto__\" || key === \"constructor\") continue;\n const desc = Object.getOwnPropertyDescriptor(source, key);\n if (!defined[key]) {\n defined[key] = desc.get ? {\n enumerable: true,\n configurable: true,\n get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)])\n } : desc.value !== undefined ? desc : undefined;\n } else {\n const sources = sourcesMap[key];\n if (sources) {\n if (desc.get) sources.push(desc.get.bind(source));else if (desc.value !== undefined) sources.push(() => desc.value);\n }\n }\n }\n }\n const target = {};\n const definedKeys = Object.keys(defined);\n for (let i = definedKeys.length - 1; i >= 0; i--) {\n const key = definedKeys[i],\n desc = defined[key];\n if (desc && desc.get) Object.defineProperty(target, key, desc);else target[key] = desc ? desc.value : undefined;\n }\n return target;\n}\nfunction splitProps(props, ...keys) {\n const len = keys.length;\n if (SUPPORTS_PROXY && $PROXY in props) {\n const blocked = len > 1 ? keys.flat() : keys[0];\n const claimed = new Set();\n const res = keys.map(k => {\n const owned = k.filter(property => !claimed.has(property) && (claimed.add(property), true));\n return new Proxy({\n get(property) {\n return owned.includes(property) ? props[property] : undefined;\n },\n has(property) {\n return owned.includes(property) && property in props;\n },\n keys() {\n return owned.filter(property => property in props);\n }\n }, propTraps);\n });\n res.push(new Proxy({\n get(property) {\n return blocked.includes(property) ? undefined : props[property];\n },\n has(property) {\n return blocked.includes(property) ? false : property in props;\n },\n keys() {\n return Object.keys(props).filter(k => !blocked.includes(k));\n }\n }, propTraps));\n return res;\n }\n const objects = [];\n for (let i = 0; i <= len; i++) {\n objects[i] = {};\n }\n for (const propName of Object.getOwnPropertyNames(props)) {\n let keyIndex = len;\n for (let i = 0; i < keys.length; i++) {\n if (keys[i].includes(propName)) {\n keyIndex = i;\n break;\n }\n }\n const desc = Object.getOwnPropertyDescriptor(props, propName);\n const isDefaultDesc = !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable;\n isDefaultDesc ? objects[keyIndex][propName] = desc.value : Object.defineProperty(objects[keyIndex], propName, desc);\n }\n return objects;\n}\nfunction lazy(fn) {\n let comp;\n let p;\n const load = () => {\n if (!p) {\n const cur = p = fn();\n cur.then(mod => {\n comp = () => mod.default;\n }, () => {\n if (p === cur) p = undefined;\n });\n }\n return p;\n };\n const wrap = props => {\n const ctx = sharedConfig.context;\n if (ctx) {\n const [s, set] = createSignal();\n sharedConfig.count || (sharedConfig.count = 0);\n sharedConfig.count++;\n load().then(mod => {\n !sharedConfig.done && setHydrateContext(ctx);\n sharedConfig.count--;\n set(() => mod.default);\n setHydrateContext();\n }, err => {\n !sharedConfig.done && setHydrateContext(ctx);\n sharedConfig.count--;\n set(() => () => {\n throw err;\n });\n setHydrateContext();\n });\n comp = s;\n } else if (!comp) {\n const [s] = createResource(() => load().then(mod => mod.default));\n comp = s;\n onCleanup(() => comp = undefined);\n }\n let Comp;\n return createMemo(() => (Comp = comp?.()) ? untrack(() => {\n if (IS_DEV) ;\n if (!ctx || sharedConfig.done) return Comp(props);\n const c = sharedConfig.context;\n setHydrateContext(ctx);\n const r = Comp(props);\n setHydrateContext(c);\n return r;\n }) : \"\");\n };\n wrap.preload = () => load();\n return wrap;\n}\nlet counter = 0;\nfunction createUniqueId() {\n const ctx = sharedConfig.context;\n return ctx ? sharedConfig.getNextContextId() : `cl-${counter++}`;\n}\n\nconst narrowedError = name => `Stale read from <${name}>.`;\nfunction For(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(mapArray(() => props.each, props.children, fallback || undefined));\n}\nfunction Index(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(indexArray(() => props.each, props.children, fallback || undefined));\n}\nfunction Show(props) {\n const keyed = props.keyed;\n const conditionValue = createMemo(() => props.when, undefined, undefined);\n const condition = keyed ? conditionValue : createMemo(conditionValue, undefined, {\n equals: (a, b) => !a === !b\n });\n return createMemo(() => {\n const c = condition();\n if (c) {\n const child = props.children;\n const fn = typeof child === \"function\" && child.length > 0;\n return fn ? untrack(() => child(keyed ? c : () => {\n if (!untrack(condition)) throw narrowedError(\"Show\");\n return conditionValue();\n })) : child;\n }\n return props.fallback;\n }, undefined, undefined);\n}\nfunction Switch(props) {\n const chs = children(() => props.children);\n const switchFunc = createMemo(() => {\n const ch = chs();\n const mps = Array.isArray(ch) ? ch : [ch];\n let func = () => undefined;\n for (let i = 0; i < mps.length; i++) {\n const index = i;\n const mp = mps[i];\n const prevFunc = func;\n const conditionValue = createMemo(() => prevFunc() ? undefined : mp.when, undefined, undefined);\n const condition = mp.keyed ? conditionValue : createMemo(conditionValue, undefined, {\n equals: (a, b) => !a === !b\n });\n func = () => prevFunc() || (condition() ? [index, conditionValue, mp] : undefined);\n }\n return func;\n });\n return createMemo(() => {\n const sel = switchFunc()();\n if (!sel) return props.fallback;\n const [index, conditionValue, mp] = sel;\n const child = mp.children;\n const fn = typeof child === \"function\" && child.length > 0;\n return fn ? untrack(() => child(mp.keyed ? conditionValue() : () => {\n if (untrack(switchFunc)()?.[0] !== index) throw narrowedError(\"Match\");\n return conditionValue();\n })) : child;\n }, undefined, undefined);\n}\nfunction Match(props) {\n return props;\n}\nlet Errors;\nfunction resetErrorBoundaries() {\n Errors && [...Errors].forEach(fn => fn());\n}\nfunction ErrorBoundary(props) {\n let err;\n if (sharedConfig.context && sharedConfig.load) err = sharedConfig.load(sharedConfig.getContextId());\n const [errored, setErrored] = createSignal(err, undefined);\n Errors || (Errors = new Set());\n Errors.add(setErrored);\n onCleanup(() => Errors.delete(setErrored));\n return createMemo(() => {\n let e;\n if (e = errored()) {\n const f = props.fallback;\n return typeof f === \"function\" && f.length ? untrack(() => f(e, () => setErrored())) : f;\n }\n return catchError(() => props.children, setErrored);\n }, undefined, undefined);\n}\n\nconst suspenseListEquals = (a, b) => a.showContent === b.showContent && a.showFallback === b.showFallback;\nconst SuspenseListContext = /* #__PURE__ */createContext();\nfunction SuspenseList(props) {\n let [wrapper, setWrapper] = createSignal(() => ({\n inFallback: false\n })),\n show;\n const listContext = useContext(SuspenseListContext);\n const [registry, setRegistry] = createSignal([]);\n if (listContext) {\n show = listContext.register(createMemo(() => wrapper()().inFallback));\n }\n const resolved = createMemo(prev => {\n const reveal = props.revealOrder,\n tail = props.tail,\n {\n showContent = true,\n showFallback = true\n } = show ? show() : {},\n reg = registry(),\n reverse = reveal === \"backwards\";\n if (reveal === \"together\") {\n const all = reg.every(inFallback => !inFallback());\n const res = reg.map(() => ({\n showContent: all && showContent,\n showFallback\n }));\n res.inFallback = !all;\n return res;\n }\n let stop = false;\n let inFallback = prev.inFallback;\n const res = [];\n for (let i = 0, len = reg.length; i < len; i++) {\n const n = reverse ? len - i - 1 : i,\n s = reg[n]();\n if (!stop && !s) {\n res[n] = {\n showContent,\n showFallback\n };\n } else {\n const next = !stop;\n if (next) inFallback = true;\n res[n] = {\n showContent: next,\n showFallback: !tail || next && tail === \"collapsed\" ? showFallback : false\n };\n stop = true;\n }\n }\n if (!stop) inFallback = false;\n res.inFallback = inFallback;\n return res;\n }, {\n inFallback: false\n });\n setWrapper(() => resolved);\n return createComponent(SuspenseListContext.Provider, {\n value: {\n register: inFallback => {\n let index;\n setRegistry(registry => {\n index = registry.length;\n return [...registry, inFallback];\n });\n return createMemo(() => resolved()[index], undefined, {\n equals: suspenseListEquals\n });\n }\n },\n get children() {\n return props.children;\n }\n });\n}\nfunction Suspense(props) {\n let counter = 0,\n show,\n ctx,\n p,\n flicker,\n error;\n const [inFallback, setFallback] = createSignal(false),\n SuspenseContext = getSuspenseContext(),\n store = {\n increment: () => {\n if (++counter === 1) setFallback(true);\n },\n decrement: () => {\n if (--counter === 0) setFallback(false);\n },\n inFallback,\n effects: [],\n resolved: false\n },\n owner = getOwner();\n if (sharedConfig.context && sharedConfig.load) {\n const key = sharedConfig.getContextId();\n let ref = sharedConfig.load(key);\n if (ref) {\n if (typeof ref !== \"object\" || ref.s !== 1) p = ref;else sharedConfig.gather(key);\n }\n if (p && p !== \"$$f\") {\n const [s, set] = createSignal(undefined, {\n equals: false\n });\n flicker = s;\n p.then(() => {\n if (sharedConfig.done) return set();\n sharedConfig.gather(key);\n setHydrateContext(ctx);\n set();\n setHydrateContext();\n }, err => {\n error = err;\n set();\n });\n }\n }\n const listContext = useContext(SuspenseListContext);\n if (listContext) show = listContext.register(store.inFallback);\n let dispose;\n onCleanup(() => dispose && dispose());\n return createComponent(SuspenseContext.Provider, {\n value: store,\n get children() {\n return createMemo(() => {\n if (error) throw error;\n ctx = sharedConfig.context;\n if (flicker) {\n flicker();\n return flicker = undefined;\n }\n if (ctx && p === \"$$f\") setHydrateContext();\n const rendered = createMemo(() => props.children);\n return createMemo(prev => {\n const inFallback = store.inFallback(),\n {\n showContent = true,\n showFallback = true\n } = show ? show() : {};\n if ((!inFallback || p && p !== \"$$f\") && showContent) {\n store.resolved = true;\n dispose && dispose();\n dispose = ctx = p = undefined;\n resumeEffects(store.effects);\n return rendered();\n }\n if (!showFallback) return;\n if (dispose) return prev;\n return createRoot(disposer => {\n dispose = disposer;\n if (ctx) {\n setHydrateContext({\n id: ctx.id + \"F\",\n count: 0\n });\n ctx = undefined;\n }\n return props.fallback;\n }, owner);\n });\n });\n }\n });\n}\n\nconst DEV = undefined;\n\nexport { $DEVCOMP, $PROXY, $TRACK, DEV, ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, batch, cancelCallback, catchError, children, createComponent, createComputed, createContext, createDeferred, createEffect, createMemo, createReaction, createRenderEffect, createResource, createRoot, createSelector, createSignal, createUniqueId, enableExternalSource, enableHydration, enableScheduling, equalFn, from, getListener, getOwner, indexArray, lazy, mapArray, mergeProps, observable, on, onCleanup, onError, onMount, requestCallback, resetErrorBoundaries, runWithOwner, sharedConfig, splitProps, startTransition, untrack, useContext, useTransition };\n","import { createMemo, sharedConfig, createRenderEffect, createRoot, untrack, splitProps, getOwner, createEffect, runWithOwner, createSignal, onCleanup, enableHydration } from 'solid-js';\nexport { ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, createComponent, createRenderEffect as effect, getOwner, mergeProps, untrack } from 'solid-js';\n\nconst booleans = [\"allowfullscreen\", \"async\", \"alpha\",\n\"autofocus\",\n\"autoplay\", \"checked\", \"controls\", \"default\", \"disabled\", \"formnovalidate\", \"hidden\",\n\"indeterminate\", \"inert\",\n\"ismap\", \"loop\", \"multiple\", \"muted\", \"nomodule\", \"novalidate\", \"open\", \"playsinline\", \"readonly\", \"required\", \"reversed\", \"seamless\",\n\"selected\", \"adauctionheaders\",\n\"browsingtopics\",\n\"credentialless\",\n\"defaultchecked\", \"defaultmuted\", \"defaultselected\", \"defer\", \"disablepictureinpicture\", \"disableremoteplayback\", \"preservespitch\",\n\"shadowrootclonable\", \"shadowrootcustomelementregistry\",\n\"shadowrootdelegatesfocus\", \"shadowrootserializable\",\n\"sharedstoragewritable\"\n];\nconst Properties = /*#__PURE__*/new Set([\n\"className\", \"value\",\n\"readOnly\", \"noValidate\", \"formNoValidate\", \"isMap\", \"noModule\", \"playsInline\", \"adAuctionHeaders\",\n\"allowFullscreen\", \"browsingTopics\",\n\"defaultChecked\", \"defaultMuted\", \"defaultSelected\", \"disablePictureInPicture\", \"disableRemotePlayback\", \"preservesPitch\", \"shadowRootClonable\", \"shadowRootCustomElementRegistry\",\n\"shadowRootDelegatesFocus\", \"shadowRootSerializable\",\n\"sharedStorageWritable\",\n...booleans]);\nconst ChildProperties = /*#__PURE__*/new Set([\"innerHTML\", \"textContent\", \"innerText\", \"children\"]);\nconst Aliases = /*#__PURE__*/Object.assign(Object.create(null), {\n className: \"class\",\n htmlFor: \"for\"\n});\nconst PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {\n class: \"className\",\n novalidate: {\n $: \"noValidate\",\n FORM: 1\n },\n formnovalidate: {\n $: \"formNoValidate\",\n BUTTON: 1,\n INPUT: 1\n },\n ismap: {\n $: \"isMap\",\n IMG: 1\n },\n nomodule: {\n $: \"noModule\",\n SCRIPT: 1\n },\n playsinline: {\n $: \"playsInline\",\n VIDEO: 1\n },\n readonly: {\n $: \"readOnly\",\n INPUT: 1,\n TEXTAREA: 1\n },\n adauctionheaders: {\n $: \"adAuctionHeaders\",\n IFRAME: 1\n },\n allowfullscreen: {\n $: \"allowFullscreen\",\n IFRAME: 1\n },\n browsingtopics: {\n $: \"browsingTopics\",\n IMG: 1\n },\n defaultchecked: {\n $: \"defaultChecked\",\n INPUT: 1\n },\n defaultmuted: {\n $: \"defaultMuted\",\n AUDIO: 1,\n VIDEO: 1\n },\n defaultselected: {\n $: \"defaultSelected\",\n OPTION: 1\n },\n disablepictureinpicture: {\n $: \"disablePictureInPicture\",\n VIDEO: 1\n },\n disableremoteplayback: {\n $: \"disableRemotePlayback\",\n AUDIO: 1,\n VIDEO: 1\n },\n preservespitch: {\n $: \"preservesPitch\",\n AUDIO: 1,\n VIDEO: 1\n },\n shadowrootclonable: {\n $: \"shadowRootClonable\",\n TEMPLATE: 1\n },\n shadowrootdelegatesfocus: {\n $: \"shadowRootDelegatesFocus\",\n TEMPLATE: 1\n },\n shadowrootserializable: {\n $: \"shadowRootSerializable\",\n TEMPLATE: 1\n },\n sharedstoragewritable: {\n $: \"sharedStorageWritable\",\n IFRAME: 1,\n IMG: 1\n }\n});\nfunction getPropAlias(prop, tagName) {\n const a = PropAliases[prop];\n return typeof a === \"object\" ? a[tagName] ? a[\"$\"] : undefined : a;\n}\nconst DelegatedEvents = /*#__PURE__*/new Set([\"beforeinput\", \"click\", \"dblclick\", \"contextmenu\", \"focusin\", \"focusout\", \"input\", \"keydown\", \"keyup\", \"mousedown\", \"mousemove\", \"mouseout\", \"mouseover\", \"mouseup\", \"pointerdown\", \"pointermove\", \"pointerout\", \"pointerover\", \"pointerup\", \"touchend\", \"touchmove\", \"touchstart\"]);\nconst SVGElements = /*#__PURE__*/new Set([\n\"altGlyph\", \"altGlyphDef\", \"altGlyphItem\", \"animate\", \"animateColor\", \"animateMotion\", \"animateTransform\", \"circle\", \"clipPath\", \"color-profile\", \"cursor\", \"defs\", \"desc\", \"ellipse\", \"feBlend\", \"feColorMatrix\", \"feComponentTransfer\", \"feComposite\", \"feConvolveMatrix\", \"feDiffuseLighting\", \"feDisplacementMap\", \"feDistantLight\", \"feDropShadow\", \"feFlood\", \"feFuncA\", \"feFuncB\", \"feFuncG\", \"feFuncR\", \"feGaussianBlur\", \"feImage\", \"feMerge\", \"feMergeNode\", \"feMorphology\", \"feOffset\", \"fePointLight\", \"feSpecularLighting\", \"feSpotLight\", \"feTile\", \"feTurbulence\", \"filter\", \"font\", \"font-face\", \"font-face-format\", \"font-face-name\", \"font-face-src\", \"font-face-uri\", \"foreignObject\", \"g\", \"glyph\", \"glyphRef\", \"hkern\", \"image\", \"line\", \"linearGradient\", \"marker\", \"mask\", \"metadata\", \"missing-glyph\", \"mpath\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialGradient\", \"rect\",\n\"set\", \"stop\",\n\"svg\", \"switch\", \"symbol\", \"text\", \"textPath\",\n\"tref\", \"tspan\", \"use\", \"view\", \"vkern\"]);\nconst SVGNamespace = {\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\"\n};\nconst DOMElements = /*#__PURE__*/new Set([\"html\", \"base\", \"head\", \"link\", \"meta\", \"style\", \"title\", \"body\", \"address\", \"article\", \"aside\", \"footer\", \"header\", \"main\", \"nav\", \"section\", \"body\", \"blockquote\", \"dd\", \"div\", \"dl\", \"dt\", \"figcaption\", \"figure\", \"hr\", \"li\", \"ol\", \"p\", \"pre\", \"ul\", \"a\", \"abbr\", \"b\", \"bdi\", \"bdo\", \"br\", \"cite\", \"code\", \"data\", \"dfn\", \"em\", \"i\", \"kbd\", \"mark\", \"q\", \"rp\", \"rt\", \"ruby\", \"s\", \"samp\", \"small\", \"span\", \"strong\", \"sub\", \"sup\", \"time\", \"u\", \"var\", \"wbr\", \"area\", \"audio\", \"img\", \"map\", \"track\", \"video\", \"embed\", \"iframe\", \"object\", \"param\", \"picture\", \"portal\", \"source\", \"svg\", \"math\", \"canvas\", \"noscript\", \"script\", \"del\", \"ins\", \"caption\", \"col\", \"colgroup\", \"table\", \"tbody\", \"td\", \"tfoot\", \"th\", \"thead\", \"tr\", \"button\", \"datalist\", \"fieldset\", \"form\", \"input\", \"label\", \"legend\", \"meter\", \"optgroup\", \"option\", \"output\", \"progress\", \"select\", \"textarea\", \"details\", \"dialog\", \"menu\", \"summary\", \"details\", \"slot\", \"template\", \"acronym\", \"applet\", \"basefont\", \"bgsound\", \"big\", \"blink\", \"center\", \"content\", \"dir\", \"font\", \"frame\", \"frameset\", \"hgroup\", \"image\", \"keygen\", \"marquee\", \"menuitem\", \"nobr\", \"noembed\", \"noframes\", \"plaintext\", \"rb\", \"rtc\", \"shadow\", \"spacer\", \"strike\", \"tt\", \"xmp\", \"a\", \"abbr\", \"acronym\", \"address\", \"applet\", \"area\", \"article\", \"aside\", \"audio\", \"b\", \"base\", \"basefont\", \"bdi\", \"bdo\", \"bgsound\", \"big\", \"blink\", \"blockquote\", \"body\", \"br\", \"button\", \"canvas\", \"caption\", \"center\", \"cite\", \"code\", \"col\", \"colgroup\", \"content\", \"data\", \"datalist\", \"dd\", \"del\", \"details\", \"dfn\", \"dialog\", \"dir\", \"div\", \"dl\", \"dt\", \"em\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"font\", \"footer\", \"form\", \"frame\", \"frameset\", \"head\", \"header\", \"hgroup\", \"hr\", \"html\", \"i\", \"iframe\", \"image\", \"img\", \"input\", \"ins\", \"kbd\", \"keygen\", \"label\", \"legend\", \"li\", \"link\", \"main\", \"map\", \"mark\", \"marquee\", \"menu\", \"menuitem\", \"meta\", \"meter\", \"nav\", \"nobr\", \"noembed\", \"noframes\", \"noscript\", \"object\", \"ol\", \"optgroup\", \"option\", \"output\", \"p\", \"param\", \"picture\", \"plaintext\", \"portal\", \"pre\", \"progress\", \"q\", \"rb\", \"rp\", \"rt\", \"rtc\", \"ruby\", \"s\", \"samp\", \"script\", \"section\", \"select\", \"shadow\", \"slot\", \"small\", \"source\", \"spacer\", \"span\", \"strike\", \"strong\", \"style\", \"sub\", \"summary\", \"sup\", \"table\", \"tbody\", \"td\", \"template\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"time\", \"title\", \"tr\", \"track\", \"tt\", \"u\", \"ul\", \"var\", \"video\", \"wbr\", \"xmp\", \"input\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\",\n\"webview\",\n\"isindex\", \"listing\", \"multicol\", \"nextid\", \"noindex\", \"search\"]);\n\nconst memo = fn => createMemo(() => fn());\n\nfunction reconcileArrays(parentNode, a, b) {\n let bLength = b.length,\n aEnd = a.length,\n bEnd = bLength,\n aStart = 0,\n bStart = 0,\n after = a[aEnd - 1].nextSibling,\n map = null;\n while (aStart < aEnd || bStart < bEnd) {\n if (a[aStart] === b[bStart]) {\n aStart++;\n bStart++;\n continue;\n }\n while (a[aEnd - 1] === b[bEnd - 1]) {\n aEnd--;\n bEnd--;\n }\n if (aEnd === aStart) {\n const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;\n while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);\n } else if (bEnd === bStart) {\n while (aStart < aEnd) {\n if (!map || !map.has(a[aStart])) a[aStart].remove();\n aStart++;\n }\n } else if (a[aStart] === b[bEnd - 1] && b[bStart] === a[aEnd - 1]) {\n const node = a[--aEnd].nextSibling;\n parentNode.insertBefore(b[bStart++], a[aStart++].nextSibling);\n parentNode.insertBefore(b[--bEnd], node);\n a[aEnd] = b[bEnd];\n } else {\n if (!map) {\n map = new Map();\n let i = bStart;\n while (i < bEnd) map.set(b[i], i++);\n }\n const index = map.get(a[aStart]);\n if (index != null) {\n if (bStart < index && index < bEnd) {\n let i = aStart,\n sequence = 1,\n t;\n while (++i < aEnd && i < bEnd) {\n if ((t = map.get(a[i])) == null || t !== index + sequence) break;\n sequence++;\n }\n if (sequence > index - bStart) {\n const node = a[aStart];\n while (bStart < index) parentNode.insertBefore(b[bStart++], node);\n } else parentNode.replaceChild(b[bStart++], a[aStart++]);\n } else aStart++;\n } else a[aStart++].remove();\n }\n }\n}\n\nconst $$EVENTS = \"_$DX_DELEGATE\";\nfunction render(code, element, init, options = {}) {\n let disposer;\n createRoot(dispose => {\n disposer = dispose;\n element === document ? code() : insert(element, code(), element.firstChild ? null : undefined, init);\n }, options.owner);\n return () => {\n disposer();\n element.textContent = \"\";\n };\n}\nfunction template(html, isImportNode, isSVG, isMathML) {\n let node;\n const create = () => {\n const t = isMathML ? document.createElementNS(\"http://www.w3.org/1998/Math/MathML\", \"template\") : document.createElement(\"template\");\n t.innerHTML = html;\n return isSVG ? t.content.firstChild.firstChild : isMathML ? t.firstChild : t.content.firstChild;\n };\n const fn = isImportNode ? () => untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);\n fn.cloneNode = fn;\n return fn;\n}\nfunction delegateEvents(eventNames, document = window.document) {\n const e = document[$$EVENTS] || (document[$$EVENTS] = new Set());\n for (let i = 0, l = eventNames.length; i < l; i++) {\n const name = eventNames[i];\n if (!e.has(name)) {\n e.add(name);\n document.addEventListener(name, eventHandler);\n }\n }\n}\nfunction clearDelegatedEvents(document = window.document) {\n if (document[$$EVENTS]) {\n for (let name of document[$$EVENTS].keys()) document.removeEventListener(name, eventHandler);\n delete document[$$EVENTS];\n }\n}\nfunction setProperty(node, name, value) {\n if (isHydrating(node)) return;\n if ((name === \"value\" || name === \"defaultValue\") && (node.nodeName === \"INPUT\" || node.nodeName === \"TEXTAREA\")) node[name] = value ?? \"\";else node[name] = value;\n}\nfunction setAttribute(node, name, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttribute(name);else node.setAttribute(name, value);\n}\nfunction setAttributeNS(node, namespace, name, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttributeNS(namespace, name);else node.setAttributeNS(namespace, name, value);\n}\nfunction setBoolAttribute(node, name, value) {\n if (isHydrating(node)) return;\n value ? node.setAttribute(name, \"\") : node.removeAttribute(name);\n}\nfunction className(node, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttribute(\"class\");else node.className = value;\n}\nfunction addEventListener(node, name, handler, delegate) {\n if (delegate) {\n if (Array.isArray(handler)) {\n node[`$$${name}`] = handler[0];\n node[`$$${name}Data`] = handler[1];\n } else node[`$$${name}`] = handler;\n } else if (Array.isArray(handler)) {\n const handlerFn = handler[0];\n node.addEventListener(name, handler[0] = e => handlerFn.call(node, handler[1], e));\n } else node.addEventListener(name, handler, typeof handler !== \"function\" && handler);\n}\nfunction classList(node, value, prev = {}) {\n const classKeys = Object.keys(value || {}),\n prevKeys = Object.keys(prev);\n let i, len;\n for (i = 0, len = prevKeys.length; i < len; i++) {\n const key = prevKeys[i];\n if (!key || key === \"undefined\" || value[key]) continue;\n toggleClassKey(node, key, false);\n delete prev[key];\n }\n for (i = 0, len = classKeys.length; i < len; i++) {\n const key = classKeys[i],\n classValue = !!value[key];\n if (!key || key === \"undefined\" || prev[key] === classValue || !classValue) continue;\n toggleClassKey(node, key, true);\n prev[key] = classValue;\n }\n return prev;\n}\nfunction style(node, value, prev) {\n if (!value) return prev ? setAttribute(node, \"style\") : value;\n const nodeStyle = node.style;\n if (typeof value === \"string\") return nodeStyle.cssText = value;\n typeof prev === \"string\" && (nodeStyle.cssText = prev = undefined);\n prev || (prev = {});\n value || (value = {});\n let v, s;\n for (s in prev) {\n value[s] == null && nodeStyle.removeProperty(s);\n delete prev[s];\n }\n for (s in value) {\n v = value[s];\n if (v !== prev[s]) {\n nodeStyle.setProperty(s, v);\n prev[s] = v;\n }\n }\n return prev;\n}\nfunction setStyleProperty(node, name, value) {\n value != null ? node.style.setProperty(name, value) : node.style.removeProperty(name);\n}\nfunction spread(node, props = {}, isSVG, skipChildren) {\n const prevProps = {};\n if (!skipChildren) {\n createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));\n }\n createRenderEffect(() => typeof props.ref === \"function\" && use(props.ref, node));\n createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));\n return prevProps;\n}\nfunction dynamicProperty(props, key) {\n const src = props[key];\n Object.defineProperty(props, key, {\n get() {\n return src();\n },\n enumerable: true\n });\n return props;\n}\nfunction use(fn, element, arg) {\n return untrack(() => fn(element, arg));\n}\nfunction insert(parent, accessor, marker, initial) {\n if (marker !== undefined && !initial) initial = [];\n if (typeof accessor !== \"function\") return insertExpression(parent, accessor, initial, marker);\n createRenderEffect(current => insertExpression(parent, accessor(), current, marker), initial);\n}\nfunction assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) {\n props || (props = {});\n for (const prop in prevProps) {\n if (!(prop in props)) {\n if (prop === \"children\") continue;\n prevProps[prop] = assignProp(node, prop, null, prevProps[prop], isSVG, skipRef, props);\n }\n }\n for (const prop in props) {\n if (prop === \"children\") {\n if (!skipChildren) insertExpression(node, props.children);\n continue;\n }\n const value = props[prop];\n prevProps[prop] = assignProp(node, prop, value, prevProps[prop], isSVG, skipRef, props);\n }\n}\nfunction hydrate$1(code, element, options = {}) {\n if (globalThis._$HY.done) return render(code, element, [...element.childNodes], options);\n sharedConfig.completed = globalThis._$HY.completed;\n sharedConfig.events = globalThis._$HY.events;\n sharedConfig.load = id => globalThis._$HY.r[id];\n sharedConfig.has = id => id in globalThis._$HY.r;\n sharedConfig.gather = root => gatherHydratable(element, root);\n sharedConfig.registry = new Map();\n sharedConfig.context = {\n id: options.renderId || \"\",\n count: 0\n };\n try {\n gatherHydratable(element, options.renderId);\n return render(code, element, [...element.childNodes], options);\n } finally {\n sharedConfig.context = null;\n }\n}\nfunction getNextElement(template) {\n let node,\n key,\n hydrating = isHydrating();\n if (!hydrating || !(node = sharedConfig.registry.get(key = getHydrationKey()))) {\n return template();\n }\n if (sharedConfig.completed) sharedConfig.completed.add(node);\n sharedConfig.registry.delete(key);\n return node;\n}\nfunction getNextMatch(el, nodeName) {\n while (el && el.localName !== nodeName) el = el.nextSibling;\n return el;\n}\nfunction getNextMarker(start) {\n let end = start,\n count = 0,\n current = [];\n if (isHydrating(start)) {\n while (end) {\n if (end.nodeType === 8) {\n const v = end.nodeValue;\n if (v === \"$\") count++;else if (v === \"/\") {\n if (count === 0) return [end, current];\n count--;\n }\n }\n current.push(end);\n end = end.nextSibling;\n }\n }\n return [end, current];\n}\nfunction runHydrationEvents() {\n if (sharedConfig.events && !sharedConfig.events.queued) {\n queueMicrotask(() => {\n const {\n completed,\n events\n } = sharedConfig;\n if (!events) return;\n events.queued = false;\n while (events.length) {\n const [el, e] = events[0];\n if (!completed.has(el)) return;\n events.shift();\n eventHandler(e);\n }\n if (sharedConfig.done) {\n sharedConfig.events = _$HY.events = null;\n sharedConfig.completed = _$HY.completed = null;\n }\n });\n sharedConfig.events.queued = true;\n }\n}\nfunction isHydrating(node) {\n return !!sharedConfig.context && !sharedConfig.done && (!node || node.isConnected);\n}\nfunction toPropertyName(name) {\n return name.toLowerCase().replace(/-([a-z])/g, (_, w) => w.toUpperCase());\n}\nfunction toggleClassKey(node, key, value) {\n const classNames = key.trim().split(/\\s+/);\n for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);\n}\nfunction assignProp(node, prop, value, prev, isSVG, skipRef, props) {\n let isCE, isProp, isChildProp, propAlias, forceProp;\n if (prop === \"style\") return style(node, value, prev);\n if (prop === \"classList\") return classList(node, value, prev);\n if (value === prev) return prev;\n if (prop === \"ref\") {\n if (!skipRef) value(node);\n } else if (prop.slice(0, 3) === \"on:\") {\n const e = prop.slice(3);\n prev && node.removeEventListener(e, prev, typeof prev !== \"function\" && prev);\n value && node.addEventListener(e, value, typeof value !== \"function\" && value);\n } else if (prop.slice(0, 10) === \"oncapture:\") {\n const e = prop.slice(10);\n prev && node.removeEventListener(e, prev, true);\n value && node.addEventListener(e, value, true);\n } else if (prop.slice(0, 2) === \"on\") {\n const name = prop.slice(2).toLowerCase();\n const delegate = DelegatedEvents.has(name);\n if (!delegate && prev) {\n const h = Array.isArray(prev) ? prev[0] : prev;\n node.removeEventListener(name, h);\n }\n if (delegate || value) {\n addEventListener(node, name, value, delegate);\n delegate && delegateEvents([name]);\n }\n } else if (prop.slice(0, 5) === \"attr:\") {\n setAttribute(node, prop.slice(5), value);\n } else if (prop.slice(0, 5) === \"bool:\") {\n setBoolAttribute(node, prop.slice(5), value);\n } else if ((forceProp = prop.slice(0, 5) === \"prop:\") || (isChildProp = ChildProperties.has(prop)) || !isSVG && ((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes(\"-\") || \"is\" in props)) {\n if (forceProp) {\n prop = prop.slice(5);\n isProp = true;\n } else if (isHydrating(node)) return value;\n if (prop === \"class\" || prop === \"className\") className(node, value);else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else if ((prop === \"value\" || prop === \"defaultValue\") && (node.nodeName === \"INPUT\" || node.nodeName === \"TEXTAREA\"))\n node[propAlias || prop] = value ?? \"\";else node[propAlias || prop] = value;\n } else {\n const ns = isSVG && prop.indexOf(\":\") > -1 && SVGNamespace[prop.split(\":\")[0]];\n if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);\n }\n return value;\n}\nfunction eventHandler(e) {\n if (sharedConfig.registry && sharedConfig.events) {\n if (sharedConfig.events.find(([el, ev]) => ev === e)) return;\n }\n let node = e.target;\n const key = `$$${e.type}`;\n const oriTarget = e.target;\n const oriCurrentTarget = e.currentTarget;\n const retarget = value => Object.defineProperty(e, \"target\", {\n configurable: true,\n value\n });\n const handleNode = () => {\n const handler = node[key];\n if (handler && !node.disabled) {\n const data = node[`${key}Data`];\n data !== undefined ? handler.call(node, data, e) : handler.call(node, e);\n if (e.cancelBubble) return;\n }\n node.host && typeof node.host !== \"string\" && !node.host._$host && node.contains(e.target) && retarget(node.host);\n return true;\n };\n const walkUpTree = () => {\n while (handleNode() && (node = node._$host || node.parentNode || node.host));\n };\n Object.defineProperty(e, \"currentTarget\", {\n configurable: true,\n get() {\n return node || document;\n }\n });\n if (sharedConfig.registry && !sharedConfig.done) sharedConfig.done = _$HY.done = true;\n if (e.composedPath) {\n const path = e.composedPath();\n retarget(path[0]);\n for (let i = 0; i < path.length - 2; i++) {\n node = path[i];\n if (!handleNode()) break;\n if (node._$host) {\n node = node._$host;\n walkUpTree();\n break;\n }\n if (node.parentNode === oriCurrentTarget) {\n break;\n }\n }\n }\n else walkUpTree();\n retarget(oriTarget);\n}\nfunction insertExpression(parent, value, current, marker, unwrapArray) {\n const hydrating = isHydrating(parent);\n if (hydrating) {\n !current && (current = [...parent.childNodes]);\n let cleaned = [];\n for (let i = 0; i < current.length; i++) {\n const node = current[i];\n if (node.nodeType === 8 && node.data.slice(0, 2) === \"!$\") node.remove();else cleaned.push(node);\n }\n current = cleaned;\n }\n while (typeof current === \"function\") current = current();\n if (value === current) return current;\n const t = typeof value,\n multi = marker !== undefined;\n parent = multi && current[0] && current[0].parentNode || parent;\n if (t === \"string\" || t === \"number\") {\n if (hydrating) return current;\n if (t === \"number\") {\n value = value.toString();\n if (value === current) return current;\n }\n if (multi) {\n let node = current[0];\n if (node && node.nodeType === 3) {\n node.data !== value && (node.data = value);\n } else node = document.createTextNode(value);\n current = cleanChildren(parent, current, marker, node);\n } else {\n if (current !== \"\" && typeof current === \"string\") {\n current = parent.firstChild.data = value;\n } else current = parent.textContent = value;\n }\n } else if (value == null || t === \"boolean\") {\n if (hydrating) return current;\n current = cleanChildren(parent, current, marker);\n } else if (t === \"function\") {\n createRenderEffect(() => {\n let v = value();\n while (typeof v === \"function\") v = v();\n current = insertExpression(parent, v, current, marker);\n });\n return () => current;\n } else if (Array.isArray(value)) {\n const array = [];\n const currentArray = current && Array.isArray(current);\n if (normalizeIncomingArray(array, value, current, unwrapArray)) {\n createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));\n return () => current;\n }\n if (hydrating) {\n if (!array.length) return current;\n if (marker === undefined) return current = [...parent.childNodes];\n let node = array[0];\n if (node.parentNode !== parent) return current;\n const nodes = [node];\n while ((node = node.nextSibling) !== marker) nodes.push(node);\n return current = nodes;\n }\n if (array.length === 0) {\n current = cleanChildren(parent, current, marker);\n if (multi) return current;\n } else if (currentArray) {\n if (current.length === 0) {\n appendNodes(parent, array, marker);\n } else reconcileArrays(parent, current, array);\n } else {\n current && cleanChildren(parent);\n appendNodes(parent, array);\n }\n current = array;\n } else if (value.nodeType) {\n if (hydrating && value.parentNode) return current = multi ? [value] : value;\n if (Array.isArray(current)) {\n if (multi) return current = cleanChildren(parent, current, marker, value);\n cleanChildren(parent, current, null, value);\n } else if (current == null || current === \"\" || !parent.firstChild) {\n parent.appendChild(value);\n } else parent.replaceChild(value, parent.firstChild);\n current = value;\n } else ;\n return current;\n}\nfunction normalizeIncomingArray(normalized, array, current, unwrap) {\n let dynamic = false;\n for (let i = 0, len = array.length; i < len; i++) {\n let item = array[i],\n prev = current && current[normalized.length],\n t;\n if (item == null || item === true || item === false) ; else if ((t = typeof item) === \"object\" && item.nodeType) {\n normalized.push(item);\n } else if (Array.isArray(item)) {\n dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;\n } else if (t === \"function\") {\n if (unwrap) {\n while (typeof item === \"function\") item = item();\n dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;\n } else {\n normalized.push(item);\n dynamic = true;\n }\n } else {\n const value = String(item);\n if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);else normalized.push(document.createTextNode(value));\n }\n }\n return dynamic;\n}\nfunction appendNodes(parent, array, marker = null) {\n for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);\n}\nfunction cleanChildren(parent, current, marker, replacement) {\n if (marker === undefined) return parent.textContent = \"\";\n const node = replacement || document.createTextNode(\"\");\n if (current.length) {\n let inserted = false;\n for (let i = current.length - 1; i >= 0; i--) {\n const el = current[i];\n if (node !== el) {\n const isParent = el.parentNode === parent;\n if (!inserted && !i) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);else isParent && el.remove();\n } else inserted = true;\n }\n } else parent.insertBefore(node, marker);\n return [node];\n}\nfunction gatherHydratable(element, root) {\n const templates = element.querySelectorAll(`*[data-hk]`);\n for (let i = 0; i < templates.length; i++) {\n const node = templates[i];\n const key = node.getAttribute(\"data-hk\");\n if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key)) sharedConfig.registry.set(key, node);\n }\n}\nfunction getHydrationKey() {\n return sharedConfig.getNextContextId();\n}\nfunction NoHydration(props) {\n return sharedConfig.context ? undefined : props.children;\n}\nfunction Hydration(props) {\n return props.children;\n}\nconst voidFn = () => undefined;\nconst RequestContext = Symbol();\nfunction innerHTML(parent, content) {\n !sharedConfig.context && (parent.innerHTML = content);\n}\n\nfunction throwInBrowser(func) {\n const err = new Error(`${func.name} is not supported in the browser, returning undefined`);\n console.error(err);\n}\nfunction renderToString(fn, options) {\n throwInBrowser(renderToString);\n}\nfunction renderToStringAsync(fn, options) {\n throwInBrowser(renderToStringAsync);\n}\nfunction renderToStream(fn, options) {\n throwInBrowser(renderToStream);\n}\nfunction ssr(template, ...nodes) {}\nfunction ssrElement(name, props, children, needsId) {}\nfunction ssrClassList(value) {}\nfunction ssrStyle(value) {}\nfunction ssrAttribute(key, value) {}\nfunction ssrHydrationKey() {}\nfunction resolveSSRNode(node) {}\nfunction escape(html) {}\nfunction ssrSpread(props, isSVG, skipChildren) {}\n\nconst isServer = false;\nconst isDev = false;\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nfunction createElement(tagName, isSVG = false, is = undefined) {\n return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName, {\n is\n });\n}\nconst hydrate = (...args) => {\n enableHydration();\n return hydrate$1(...args);\n};\nfunction Portal(props) {\n const {\n useShadow\n } = props,\n marker = document.createTextNode(\"\"),\n mount = () => props.mount || document.body,\n owner = getOwner();\n let content;\n let hydrating = !!sharedConfig.context;\n createEffect(() => {\n if (hydrating) getOwner().user = hydrating = false;\n content || (content = runWithOwner(owner, () => createMemo(() => props.children)));\n const el = mount();\n if (el instanceof HTMLHeadElement) {\n const [clean, setClean] = createSignal(false);\n const cleanup = () => setClean(true);\n createRoot(dispose => insert(el, () => !clean() ? content() : dispose(), null));\n onCleanup(cleanup);\n } else {\n const container = createElement(props.isSVG ? \"g\" : \"div\", props.isSVG),\n renderRoot = useShadow && container.attachShadow ? container.attachShadow({\n mode: \"open\"\n }) : container;\n Object.defineProperty(container, \"_$host\", {\n get() {\n return marker.parentNode;\n },\n configurable: true\n });\n insert(renderRoot, content);\n el.appendChild(container);\n props.ref && props.ref(container);\n onCleanup(() => el.contains(container) && el.removeChild(container));\n }\n }, undefined, {\n render: !hydrating\n });\n return marker;\n}\nfunction createDynamic(component, props) {\n const cached = createMemo(component);\n return createMemo(() => {\n const component = cached();\n switch (typeof component) {\n case \"function\":\n return untrack(() => component(props));\n case \"string\":\n const isSvg = SVGElements.has(component);\n const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg, untrack(() => props.is));\n spread(el, props, isSvg);\n return el;\n }\n });\n}\nfunction Dynamic(props) {\n const [, others] = splitProps(props, [\"component\"]);\n return createDynamic(() => props.component, others);\n}\n\nexport { Aliases, voidFn as Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Hydration, voidFn as HydrationScript, NoHydration, Portal, Properties, RequestContext, SVGElements, SVGNamespace, addEventListener, assign, classList, className, clearDelegatedEvents, createDynamic, delegateEvents, dynamicProperty, escape, voidFn as generateHydrationScript, voidFn as getAssets, getHydrationKey, getNextElement, getNextMarker, getNextMatch, getPropAlias, voidFn as getRequestEvent, hydrate, innerHTML, insert, isDev, isServer, memo, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, runHydrationEvents, setAttribute, setAttributeNS, setBoolAttribute, setProperty, setStyleProperty, spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrSpread, ssrStyle, style, template, use, voidFn as useAssets };\n","/**\n * Tiny dependency-free Markdown renderer (plain ES module, no build step).\n * Strategy: escape ALL HTML first, then apply a small set of block/inline\n * rules on the escaped text. Output is XSS-safe because raw <,>,& in input\n * can never survive as markup.\n *\n * Blocks: fenced code · headings #–###### · ul/ol incl. one-level nesting &\n * task items · GFM pipe tables (alignment, escaped pipes) · blockquotes ·\n * horizontal rules · paragraphs.\n * Inline: code spans (protected), images, links, bare autolinks, ***bold-\n * italic***, **bold**, __bold__, *em*, _em_, ~~strike~~.\n */\nconst LIST_ITEM = /^(\\s*)([-*+]|\\d+[.)])\\s+(.*)$/;\n\n/** Public entry: escape everything up front, then structure the lines. */\nexport function renderMarkdown(src) {\n return renderEscaped(escapeHtml(src.replace(/\\r\\n/g, \"\\n\")).split(\"\\n\"));\n}\n\n/**\n * Structure already-escaped lines into HTML. Blockquote recursion calls this\n * directly so inner content is never double-escaped.\n */\nfunction renderEscaped(lines) {\n const out = [];\n let i = 0;\n while (i < lines.length) {\n const line = lines[i];\n // fenced code block. The info string may be any non-whitespace run\n // (`js`, `/subject/why-qa`, `text .txt`…) — the old /\\w*/ pattern rejected\n // slash-y pseudo-paths, which made the line fall through to paragraph\n // handling and HANGED the renderer on such chats.\n if (/^```[^\\n]*$/.test(line) && !/^```.+\\`\\`\\`/.test(line)) {\n const buf = [];\n i++;\n while (i < lines.length && !/^```\\s*$/.test(lines[i])) buf.push(lines[i++]);\n i++; // closing fence (may be missing — unclosed fence just runs to EOF)\n out.push(`<pre><code>${buf.join(\"\\n\")}</code></pre>`);\n continue;\n }\n // horizontal rule (before list: *** / --- would otherwise look like items)\n if (/^ {0,3}(?:-{3,}|\\*{3,}|_{3,})\\s*$/.test(line)) {\n out.push(\"<hr>\");\n i++;\n continue;\n }\n // heading (# through ###### → h1–h6)\n const h = line.match(/^(#{1,6})\\s+(.*)$/);\n if (h) {\n out.push(`<h${h[1].length}>${inline(h[2])}</h${h[1].length}>`);\n i++;\n continue;\n }\n // blockquote (recursive → nested quotes/lists/tables all work);\n // escapeHtml turned \">\" into \"&gt;\", so match the escaped marker\n if (/^\\s*&gt;/.test(line)) {\n const buf = [];\n while (i < lines.length && /^\\s*&gt;/.test(lines[i])) buf.push(lines[i++].replace(/^\\s*&gt;\\s?/, \"\"));\n out.push(`<blockquote>${renderEscaped(buf)}</blockquote>`);\n continue;\n }\n // table (GFM): header row containing |, then a --- separator row\n if (line.includes(\"|\") && i + 1 < lines.length && isSeparatorRow(lines[i + 1])) {\n const align = splitRow(lines[i + 1]).map((c) =>\n c.startsWith(\":\") && c.endsWith(\":\") ? \"center\" : c.endsWith(\":\") ? \"right\" : \"left\",\n );\n const head = splitRow(line);\n i += 2;\n const rows = [];\n while (i < lines.length && /\\S/.test(lines[i]) && lines[i].includes(\"|\")) {\n rows.push(splitRow(lines[i]));\n i++;\n }\n const cell = (c, idx, tag) => {\n const a = align[idx];\n const style = a && a !== \"left\" ? ` style=\"text-align:${a}\"` : \"\";\n return `<${tag}${style}>${inline(c)}</${tag}>`;\n };\n out.push(\n `<div class=\"tbl\"><table><thead><tr>${head.map((c, k) => cell(c, k, \"th\")).join(\"\")}</tr></thead>` +\n `<tbody>${rows.map((r) => `<tr>${r.map((c, k) => cell(c, k, \"td\")).join(\"\")}</tr>`).join(\"\")}</tbody></table></div>`,\n );\n continue;\n }\n // list (ul/ol, task items, one level of nesting via indentation)\n if (LIST_ITEM.test(line)) {\n out.push(parseList(indentOf(line.match(LIST_ITEM)[1])));\n continue;\n }\n // blank line\n if (/^\\s*$/.test(line)) {\n i++;\n continue;\n }\n // paragraph\n const para = [];\n while (\n i < lines.length &&\n !/^\\s*$/.test(lines[i]) &&\n !/^#{1,6}\\s/.test(lines[i]) &&\n !lines[i].startsWith(\"```\") &&\n !/^ {0,3}(?:-{3,}|\\*{3,}|_{3,})\\s*$/.test(lines[i]) &&\n !/^\\s*&gt;/.test(lines[i]) &&\n !LIST_ITEM.test(lines[i]) &&\n !(lines[i].includes(\"|\") && i + 1 < lines.length && isSeparatorRow(lines[i + 1]))\n ) {\n para.push(lines[i++]);\n }\n out.push(`<p>${para.map(inline).join(\"<br>\")}</p>`);\n }\n return out.join(\"\\n\");\n\n function indentOf(ws) {\n return ws.replace(/\\t/g, \" \").length;\n }\n\n /** Consumes list lines from i onward; returns HTML. One nesting level. */\n function parseList(minIndent) {\n let ordered = null;\n const items = [];\n while (i < lines.length) {\n const m = lines[i].match(LIST_ITEM);\n if (!m) break;\n const ind = indentOf(m[1]);\n if (ind < minIndent) break;\n const ol = /^\\d/.test(m[2]);\n if (ordered === null) ordered = ol;\n else if (ol !== ordered) break; // marker type changed → close this list\n i++;\n let body = m[3];\n // folded continuation lines (wrapped text belonging to this item)\n while (\n i < lines.length &&\n /\\S/.test(lines[i]) &&\n !LIST_ITEM.test(lines[i]) &&\n !/^#{1,6}\\s/.test(lines[i]) &&\n!lines[i].startsWith(\"```\") &&\n !/^\\s*&gt;/.test(lines[i])\n ) {\n body += \" \" + lines[i].trim();\n i++;\n }\n // nested list deeper-indented than this item?\n let sub = \"\";\n const n = lines[i]?.match(LIST_ITEM);\n if (n && indentOf(n[1]) > ind) sub = parseList(indentOf(n[1]));\n // task-list checkbox\n const task = body.match(/^\\[( |x|X)\\]\\s+(.*)$/);\n const box = task\n ? `<input type=\"checkbox\" disabled${task[1].toLowerCase() === \"x\" ? \" checked\" : \"\"}> `\n : \"\";\n items.push(`<li>${box}${inline(task ? task[2] : body)}${sub}</li>`);\n }\n return ordered ? `<ol>${items.join(\"\")}</ol>` : `<ul>${items.join(\"\")}</ul>`;\n }\n\n function inline(s) {\n // protect code spans from further processing. The placeholder uses a\n // private-use char + sentinel pair; literal NULs in the source were a\n // collision (user text containing \\u0000<digits>\\u0000 swapped in another\n // span's HTML). escapeHtml keeps them, so strip before placeholdering.\n const codes = [];\n s = s.replace(/\\u0000/g, \"\");\n s = s.replace(/`([^`]+)`/g, (_, c) => {\n codes.push(`<code>${c}</code>`);\n return `\\ue000${codes.length - 1}\\uE001`;\n });\n // images before links\n s = s.replace(\n /!\\[([^\\]]*)\\]\\((https?:\\/\\/[^)\\s]+)(?:\\s+&quot;[^)]*&quot;)?\\)/g,\n '<img src=\"$2\" alt=\"$1\" loading=\"lazy\">',\n );\n s = s.replace(\n /\\[([^\\]]+)\\]\\((https?:\\/\\/[^)\\s]+)(?:\\s+&quot;[^)]*&quot;)?\\)/g,\n '<a href=\"$2\" rel=\"noopener noreferrer\" target=\"_blank\">$1</a>',\n );\n // bare autolinks (skip anything already inside an attribute/text)\n s = s.replace(\n /(?<![\"'=\\w])(https?:\\/\\/[^\\s<>\"')\\]]*[^\\s<>\"')\\].,;:!?\"')\\]])/g,\n '<a href=\"$1\">$1</a>',\n );\n // emphasis — triple first, then bold, then italic; permissive about inner\n // spaces so half-written streaming text and \"** spaced **\" both work\n s = s.replace(/\\*\\*\\*([\\s\\S]+?)\\*\\*\\*/g, \"<strong><em>$1</em></strong>\");\n s = s.replace(/\\*\\*([\\s\\S]+?)\\*\\*/g, \"<strong>$1</strong>\");\n s = s.replace(/(^|[^\\w])__(?=\\S)([\\s\\S]*?\\S)__(?!\\w)/g, \"$1<strong>$2</strong>\");\n s = s.replace(/(^|[^\\w*])\\*(?!\\s)([^*\\n]+?)\\*(?![\\w*])/g, \"$1<em>$2</em>\");\n s = s.replace(/(^|[^\\w])_(?!\\s)([^_\\n]+?)_(?!\\w)/g, \"$1<em>$2</em>\");\n s = s.replace(/~~([\\s\\S]+?)~~/g, \"<del>$1</del>\");\n // eslint-disable-next-line no-control-regex\n return s.replace(/\\ue000(\\d+)\\ue001/g, (_, k) => codes[+k] ?? \"\");\n }\n}\n\n/** Split a table row on unescaped pipes; `\\|` becomes a literal pipe. */\nfunction splitRow(line) {\n let s = line.trim();\n if (s.startsWith(\"|\")) s = s.slice(1);\n const cells = [];\n let cur = \"\";\n for (let k = 0; k < s.length; k++) {\n if (s[k] === \"\\\\\" && s[k + 1] === \"|\") {\n cur += \"|\";\n k++;\n continue;\n }\n if (s[k] === \"|\" && k === s.length - 1) break; // trailing pipe\n if (s[k] === \"|\") {\n cells.push(cur.trim());\n cur = \"\";\n continue;\n }\n cur += s[k];\n }\n cells.push(cur.trim());\n return cells.filter((c, idx) => !(c === \"\" && idx === cells.length - 1 && s.endsWith(\"|\")));\n}\n\n/** `| --- | :--: |` — the second row of a GFM table. */\nfunction isSeparatorRow(line) {\n const s = line.trim();\n if (!s.includes(\"|\") || !s.includes(\"-\")) return false;\n const cells = splitRow(s);\n return cells.every((c) => /^:?-+:?$/.test(c)) && cells.some((c) => c !== \"\");\n}\n\nfunction escapeHtml(s) {\n return s\n .replace(/&/g, \"&amp;\")\n .replace(/</g, \"&lt;\")\n .replace(/>/g, \"&gt;\")\n .replace(/\"/g, \"&quot;\");\n}\n","/**\n * Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.\n * @license MIT\n *\n * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)\n * @license MIT\n *\n * Originally forked from (with the author's permission):\n * Fabrice Bellard's javascript vt100 for jslinux:\n * http://bellard.org/jslinux/\n * Copyright (c) 2011 Fabrice Bellard\n */\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar zs=Object.defineProperty;var Rl=Object.getOwnPropertyDescriptor;var Ll=(s,t)=>{for(var e in t)zs(s,e,{get:t[e],enumerable:!0})};var M=(s,t,e,i)=>{for(var r=i>1?void 0:i?Rl(t,e):t,n=s.length-1,o;n>=0;n--)(o=s[n])&&(r=(i?o(t,e,r):o(r))||r);return i&&r&&zs(t,e,r),r},S=(s,t)=>(e,i)=>t(e,i,s);var Gs=\"Terminal input\",mi={get:()=>Gs,set:s=>Gs=s},$s=\"Too much output to announce, navigate to rows manually to read\",_i={get:()=>$s,set:s=>$s=s};function Al(s){return s.replace(/\\r?\\n/g,\"\\r\")}function kl(s,t){return t?\"\\x1B[200~\"+s+\"\\x1B[201~\":s}function Vs(s,t){s.clipboardData&&s.clipboardData.setData(\"text/plain\",t.selectionText),s.preventDefault()}function qs(s,t,e,i){if(s.stopPropagation(),s.clipboardData){let r=s.clipboardData.getData(\"text/plain\");Cn(r,t,e,i)}}function Cn(s,t,e,i){s=Al(s),s=kl(s,e.decPrivateModes.bracketedPasteMode&&i.rawOptions.ignoreBracketedPasteMode!==!0),e.triggerDataEvent(s,!0),t.value=\"\"}function Mn(s,t,e){let i=e.getBoundingClientRect(),r=s.clientX-i.left-10,n=s.clientY-i.top-10;t.style.width=\"20px\",t.style.height=\"20px\",t.style.left=`${r}px`,t.style.top=`${n}px`,t.style.zIndex=\"1000\",t.focus()}function Pn(s,t,e,i,r){Mn(s,t,e),r&&i.rightClickSelect(s),t.value=i.selectionText,t.select()}function Ce(s){return s>65535?(s-=65536,String.fromCharCode((s>>10)+55296)+String.fromCharCode(s%1024+56320)):String.fromCharCode(s)}function It(s,t=0,e=s.length){let i=\"\";for(let r=t;r<e;++r){let n=s[r];n>65535?(n-=65536,i+=String.fromCharCode((n>>10)+55296)+String.fromCharCode(n%1024+56320)):i+=String.fromCharCode(n)}return i}var er=class{constructor(){this._interim=0}clear(){this._interim=0}decode(t,e){let i=t.length;if(!i)return 0;let r=0,n=0;if(this._interim){let o=t.charCodeAt(n++);56320<=o&&o<=57343?e[r++]=(this._interim-55296)*1024+o-56320+65536:(e[r++]=this._interim,e[r++]=o),this._interim=0}for(let o=n;o<i;++o){let l=t.charCodeAt(o);if(55296<=l&&l<=56319){if(++o>=i)return this._interim=l,r;let a=t.charCodeAt(o);56320<=a&&a<=57343?e[r++]=(l-55296)*1024+a-56320+65536:(e[r++]=l,e[r++]=a);continue}l!==65279&&(e[r++]=l)}return r}},tr=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(t,e){let i=t.length;if(!i)return 0;let r=0,n,o,l,a,u=0,h=0;if(this.interim[0]){let _=!1,p=this.interim[0];p&=(p&224)===192?31:(p&240)===224?15:7;let m=0,f;for(;(f=this.interim[++m]&63)&&m<4;)p<<=6,p|=f;let A=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,R=A-m;for(;h<R;){if(h>=i)return 0;if(f=t[h++],(f&192)!==128){h--,_=!0;break}else this.interim[m++]=f,p<<=6,p|=f&63}_||(A===2?p<128?h--:e[r++]=p:A===3?p<2048||p>=55296&&p<=57343||p===65279||(e[r++]=p):p<65536||p>1114111||(e[r++]=p)),this.interim.fill(0)}let c=i-4,d=h;for(;d<i;){for(;d<c&&!((n=t[d])&128)&&!((o=t[d+1])&128)&&!((l=t[d+2])&128)&&!((a=t[d+3])&128);)e[r++]=n,e[r++]=o,e[r++]=l,e[r++]=a,d+=4;if(n=t[d++],n<128)e[r++]=n;else if((n&224)===192){if(d>=i)return this.interim[0]=n,r;if(o=t[d++],(o&192)!==128){d--;continue}if(u=(n&31)<<6|o&63,u<128){d--;continue}e[r++]=u}else if((n&240)===224){if(d>=i)return this.interim[0]=n,r;if(o=t[d++],(o&192)!==128){d--;continue}if(d>=i)return this.interim[0]=n,this.interim[1]=o,r;if(l=t[d++],(l&192)!==128){d--;continue}if(u=(n&15)<<12|(o&63)<<6|l&63,u<2048||u>=55296&&u<=57343||u===65279)continue;e[r++]=u}else if((n&248)===240){if(d>=i)return this.interim[0]=n,r;if(o=t[d++],(o&192)!==128){d--;continue}if(d>=i)return this.interim[0]=n,this.interim[1]=o,r;if(l=t[d++],(l&192)!==128){d--;continue}if(d>=i)return this.interim[0]=n,this.interim[1]=o,this.interim[2]=l,r;if(a=t[d++],(a&192)!==128){d--;continue}if(u=(n&7)<<18|(o&63)<<12|(l&63)<<6|a&63,u<65536||u>1114111)continue;e[r++]=u}}return r}};var ir=\"\";var we=\" \";var De=class s{constructor(){this.fg=0;this.bg=0;this.extended=new rt}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new s;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},rt=class s{constructor(t=0,e=0){this._ext=0;this._urlId=0;this._ext=t,this._urlId=e}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new s(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}};var q=class s extends De{constructor(){super(...arguments);this.content=0;this.fg=0;this.bg=0;this.extended=new rt;this.combinedData=\"\"}static fromCharData(e){let i=new s;return i.setFromCharData(e),i}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Ce(this.content&2097151):\"\"}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let i=!1;if(e[1].length>2)i=!0;else if(e[1].length===2){let r=e[1].charCodeAt(0);if(55296<=r&&r<=56319){let n=e[1].charCodeAt(1);56320<=n&&n<=57343?this.content=(r-55296)*1024+n-56320+65536|e[2]<<22:i=!0}else i=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;i&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}};var js=\"di$target\",Hn=\"di$dependencies\",Fn=new Map;function Xs(s){return s[Hn]||[]}function ie(s){if(Fn.has(s))return Fn.get(s);let t=function(e,i,r){if(arguments.length!==3)throw new Error(\"@IServiceName-decorator can only be used to decorate a parameter\");Pl(t,e,r)};return t._id=s,Fn.set(s,t),t}function Pl(s,t,e){t[js]===t?t[Hn].push({id:s,index:e}):(t[Hn]=[{id:s,index:e}],t[js]=t)}var F=ie(\"BufferService\"),rr=ie(\"CoreMouseService\"),ge=ie(\"CoreService\"),Zs=ie(\"CharsetService\"),xt=ie(\"InstantiationService\");var nr=ie(\"LogService\"),H=ie(\"OptionsService\"),sr=ie(\"OscLinkService\"),Js=ie(\"UnicodeService\"),Be=ie(\"DecorationService\");var wt=class{constructor(t,e,i){this._bufferService=t;this._optionsService=e;this._oscLinkService=i}provideLinks(t,e){let i=this._bufferService.buffer.lines.get(t-1);if(!i){e(void 0);return}let r=[],n=this._optionsService.rawOptions.linkHandler,o=new q,l=i.getTrimmedLength(),a=-1,u=-1,h=!1;for(let c=0;c<l;c++)if(!(u===-1&&!i.hasContent(c))){if(i.loadCell(c,o),o.hasExtendedAttrs()&&o.extended.urlId)if(u===-1){u=c,a=o.extended.urlId;continue}else h=o.extended.urlId!==a;else u!==-1&&(h=!0);if(h||u!==-1&&c===l-1){let d=this._oscLinkService.getLinkData(a)?.uri;if(d){let _={start:{x:u+1,y:t},end:{x:c+(!h&&c===l-1?1:0),y:t}},p=!1;if(!n?.allowNonHttpProtocols)try{let m=new URL(d);[\"http:\",\"https:\"].includes(m.protocol)||(p=!0)}catch{p=!0}p||r.push({text:d,range:_,activate:(m,f)=>n?n.activate(m,f,_):Ol(m,f),hover:(m,f)=>n?.hover?.(m,f,_),leave:(m,f)=>n?.leave?.(m,f,_)})}h=!1,o.hasExtendedAttrs()&&o.extended.urlId?(u=c,a=o.extended.urlId):(u=-1,a=-1)}}e(r)}};wt=M([S(0,F),S(1,H),S(2,sr)],wt);function Ol(s,t){if(confirm(`Do you want to navigate to ${t}?\n\nWARNING: This link could potentially be dangerous`)){let i=window.open();if(i){try{i.opener=null}catch{}i.location.href=t}else console.warn(\"Opening link blocked as opener could not be cleared\")}}var nt=ie(\"CharSizeService\"),ae=ie(\"CoreBrowserService\"),Dt=ie(\"MouseService\"),ce=ie(\"RenderService\"),Qs=ie(\"SelectionService\"),or=ie(\"CharacterJoinerService\"),Re=ie(\"ThemeService\"),lr=ie(\"LinkProviderService\");var Wn=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?ar.isErrorNoTelemetry(t)?new ar(t.message+`\n\n`+t.stack):new Error(t.message+`\n\n`+t.stack):t},0)}}addListener(t){return this.listeners.push(t),()=>{this._removeListener(t)}}emit(t){this.listeners.forEach(e=>{e(t)})}_removeListener(t){this.listeners.splice(this.listeners.indexOf(t),1)}setUnexpectedErrorHandler(t){this.unexpectedErrorHandler=t}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}},Bl=new Wn;function Lt(s){Nl(s)||Bl.onUnexpectedError(s)}var Un=\"Canceled\";function Nl(s){return s instanceof bi?!0:s instanceof Error&&s.name===Un&&s.message===Un}var bi=class extends Error{constructor(){super(Un),this.name=this.message}};function eo(s){return s?new Error(`Illegal argument: ${s}`):new Error(\"Illegal argument\")}var ar=class s extends Error{constructor(t){super(t),this.name=\"CodeExpectedError\"}static fromError(t){if(t instanceof s)return t;let e=new s;return e.message=t.message,e.stack=t.stack,e}static isErrorNoTelemetry(t){return t.name===\"CodeExpectedError\"}},Rt=class s extends Error{constructor(t){super(t||\"An unexpected bug occurred.\"),Object.setPrototypeOf(this,s.prototype)}};function Fl(s,t,e=0,i=s.length){let r=e,n=i;for(;r<n;){let o=Math.floor((r+n)/2);t(s[o])?r=o+1:n=o}return r-1}var cr=class cr{constructor(t){this._array=t;this._findLastMonotonousLastIdx=0}findLastMonotonous(t){if(cr.assertInvariants){if(this._prevFindLastPredicate){for(let i of this._array)if(this._prevFindLastPredicate(i)&&!t(i))throw new Error(\"MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.\")}this._prevFindLastPredicate=t}let e=Fl(this._array,t,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=e+1,e===-1?void 0:this._array[e]}};cr.assertInvariants=!1;var to=cr;function Se(s,t=0){return s[s.length-(1+t)]}var ro;(l=>{function s(a){return a<0}l.isLessThan=s;function t(a){return a<=0}l.isLessThanOrEqual=t;function e(a){return a>0}l.isGreaterThan=e;function i(a){return a===0}l.isNeitherLessOrGreaterThan=i,l.greaterThan=1,l.lessThan=-1,l.neitherLessOrGreaterThan=0})(ro||={});function no(s,t){return(e,i)=>t(s(e),s(i))}var so=(s,t)=>s-t;var At=class At{constructor(t){this.iterate=t}forEach(t){this.iterate(e=>(t(e),!0))}toArray(){let t=[];return this.iterate(e=>(t.push(e),!0)),t}filter(t){return new At(e=>this.iterate(i=>t(i)?e(i):!0))}map(t){return new At(e=>this.iterate(i=>e(t(i))))}some(t){let e=!1;return this.iterate(i=>(e=t(i),!e)),e}findFirst(t){let e;return this.iterate(i=>t(i)?(e=i,!1):!0),e}findLast(t){let e;return this.iterate(i=>(t(i)&&(e=i),!0)),e}findLastMaxBy(t){let e,i=!0;return this.iterate(r=>((i||ro.isGreaterThan(t(r,e)))&&(i=!1,e=r),!0)),e}};At.empty=new At(t=>{});var io=At;function co(s,t){let e=Object.create(null);for(let i of s){let r=t(i),n=e[r];n||(n=e[r]=[]),n.push(i)}return e}var lo,ao,oo=class{constructor(t,e){this.toKey=e;this._map=new Map;this[lo]=\"SetWithKey\";for(let i of t)this.add(i)}get size(){return this._map.size}add(t){let e=this.toKey(t);return this._map.set(e,t),this}delete(t){return this._map.delete(this.toKey(t))}has(t){return this._map.has(this.toKey(t))}*entries(){for(let t of this._map.values())yield[t,t]}keys(){return this.values()}*values(){for(let t of this._map.values())yield t}clear(){this._map.clear()}forEach(t,e){this._map.forEach(i=>t.call(e,i,i,this))}[(ao=Symbol.iterator,lo=Symbol.toStringTag,ao)](){return this.values()}};var ur=class{constructor(){this.map=new Map}add(t,e){let i=this.map.get(t);i||(i=new Set,this.map.set(t,i)),i.add(e)}delete(t,e){let i=this.map.get(t);i&&(i.delete(e),i.size===0&&this.map.delete(t))}forEach(t,e){let i=this.map.get(t);i&&i.forEach(e)}get(t){let e=this.map.get(t);return e||new Set}};function Kn(s,t){let e=this,i=!1,r;return function(){if(i)return r;if(i=!0,t)try{r=s.apply(e,arguments)}finally{t()}else r=s.apply(e,arguments);return r}}var zn;(O=>{function s(I){return I&&typeof I==\"object\"&&typeof I[Symbol.iterator]==\"function\"}O.is=s;let t=Object.freeze([]);function e(){return t}O.empty=e;function*i(I){yield I}O.single=i;function r(I){return s(I)?I:i(I)}O.wrap=r;function n(I){return I||t}O.from=n;function*o(I){for(let k=I.length-1;k>=0;k--)yield I[k]}O.reverse=o;function l(I){return!I||I[Symbol.iterator]().next().done===!0}O.isEmpty=l;function a(I){return I[Symbol.iterator]().next().value}O.first=a;function u(I,k){let P=0;for(let oe of I)if(k(oe,P++))return!0;return!1}O.some=u;function h(I,k){for(let P of I)if(k(P))return P}O.find=h;function*c(I,k){for(let P of I)k(P)&&(yield P)}O.filter=c;function*d(I,k){let P=0;for(let oe of I)yield k(oe,P++)}O.map=d;function*_(I,k){let P=0;for(let oe of I)yield*k(oe,P++)}O.flatMap=_;function*p(...I){for(let k of I)yield*k}O.concat=p;function m(I,k,P){let oe=P;for(let Me of I)oe=k(oe,Me);return oe}O.reduce=m;function*f(I,k,P=I.length){for(k<0&&(k+=I.length),P<0?P+=I.length:P>I.length&&(P=I.length);k<P;k++)yield I[k]}O.slice=f;function A(I,k=Number.POSITIVE_INFINITY){let P=[];if(k===0)return[P,I];let oe=I[Symbol.iterator]();for(let Me=0;Me<k;Me++){let Pe=oe.next();if(Pe.done)return[P,O.empty()];P.push(Pe.value)}return[P,{[Symbol.iterator](){return oe}}]}O.consume=A;async function R(I){let k=[];for await(let P of I)k.push(P);return Promise.resolve(k)}O.asyncToArray=R})(zn||={});var Wl=!1,dt=null,hr=class hr{constructor(){this.livingDisposables=new Map}getDisposableData(t){let e=this.livingDisposables.get(t);return e||(e={parent:null,source:null,isSingleton:!1,value:t,idx:hr.idx++},this.livingDisposables.set(t,e)),e}trackDisposable(t){let e=this.getDisposableData(t);e.source||(e.source=new Error().stack)}setParent(t,e){let i=this.getDisposableData(t);i.parent=e}markAsDisposed(t){this.livingDisposables.delete(t)}markAsSingleton(t){this.getDisposableData(t).isSingleton=!0}getRootParent(t,e){let i=e.get(t);if(i)return i;let r=t.parent?this.getRootParent(this.getDisposableData(t.parent),e):t;return e.set(t,r),r}getTrackedDisposables(){let t=new Map;return[...this.livingDisposables.entries()].filter(([,i])=>i.source!==null&&!this.getRootParent(i,t).isSingleton).flatMap(([i])=>i)}computeLeakingDisposables(t=10,e){let i;if(e)i=e;else{let a=new Map,u=[...this.livingDisposables.values()].filter(c=>c.source!==null&&!this.getRootParent(c,a).isSingleton);if(u.length===0)return;let h=new Set(u.map(c=>c.value));if(i=u.filter(c=>!(c.parent&&h.has(c.parent))),i.length===0)throw new Error(\"There are cyclic diposable chains!\")}if(!i)return;function r(a){function u(c,d){for(;c.length>0&&d.some(_=>typeof _==\"string\"?_===c[0]:c[0].match(_));)c.shift()}let h=a.source.split(`\n`).map(c=>c.trim().replace(\"at \",\"\")).filter(c=>c!==\"\");return u(h,[\"Error\",/^trackDisposable \\(.*\\)$/,/^DisposableTracker.trackDisposable \\(.*\\)$/]),h.reverse()}let n=new ur;for(let a of i){let u=r(a);for(let h=0;h<=u.length;h++)n.add(u.slice(0,h).join(`\n`),a)}i.sort(no(a=>a.idx,so));let o=\"\",l=0;for(let a of i.slice(0,t)){l++;let u=r(a),h=[];for(let c=0;c<u.length;c++){let d=u[c];d=`(shared with ${n.get(u.slice(0,c+1).join(`\n`)).size}/${i.length} leaks) at ${d}`;let p=n.get(u.slice(0,c).join(`\n`)),m=co([...p].map(f=>r(f)[c]),f=>f);delete m[u[c]];for(let[f,A]of Object.entries(m))h.unshift(` - stacktraces of ${A.length} other leaks continue with ${f}`);h.unshift(d)}o+=`\n\n\n==================== Leaking disposable ${l}/${i.length}: ${a.value.constructor.name} ====================\n${h.join(`\n`)}\n============================================================\n\n`}return i.length>t&&(o+=`\n\n\n... and ${i.length-t} more leaking disposables\n\n`),{leaks:i,details:o}}};hr.idx=0;var uo=hr;function Ul(s){dt=s}if(Wl){let s=\"__is_disposable_tracked__\";Ul(new class{trackDisposable(t){let e=new Error(\"Potentially leaked disposable\").stack;setTimeout(()=>{t[s]||console.log(e)},3e3)}setParent(t,e){if(t&&t!==D.None)try{t[s]=!0}catch{}}markAsDisposed(t){if(t&&t!==D.None)try{t[s]=!0}catch{}}markAsSingleton(t){}})}function fr(s){return dt?.trackDisposable(s),s}function pr(s){dt?.markAsDisposed(s)}function vi(s,t){dt?.setParent(s,t)}function Kl(s,t){if(dt)for(let e of s)dt.setParent(e,t)}function Gn(s){return dt?.markAsSingleton(s),s}function Ne(s){if(zn.is(s)){let t=[];for(let e of s)if(e)try{e.dispose()}catch(i){t.push(i)}if(t.length===1)throw t[0];if(t.length>1)throw new AggregateError(t,\"Encountered errors while disposing of store\");return Array.isArray(s)?[]:s}else if(s)return s.dispose(),s}function ho(...s){let t=C(()=>Ne(s));return Kl(s,t),t}function C(s){let t=fr({dispose:Kn(()=>{pr(t),s()})});return t}var dr=class dr{constructor(){this._toDispose=new Set;this._isDisposed=!1;fr(this)}dispose(){this._isDisposed||(pr(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Ne(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error(\"Cannot register a disposable on itself!\");return vi(t,this),this._isDisposed?dr.DISABLE_DISPOSED_WARNING||console.warn(new Error(\"Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!\").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error(\"Cannot dispose a disposable on itself!\");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.has(t)&&(this._toDispose.delete(t),vi(t,null))}};dr.DISABLE_DISPOSED_WARNING=!1;var Ee=dr,D=class{constructor(){this._store=new Ee;fr(this),vi(this._store,this)}dispose(){pr(this),this._store.dispose()}_register(t){if(t===this)throw new Error(\"Cannot register a disposable on itself!\");return this._store.add(t)}};D.None=Object.freeze({dispose(){}});var ye=class{constructor(){this._isDisposed=!1;fr(this)}get value(){return this._isDisposed?void 0:this._value}set value(t){this._isDisposed||t===this._value||(this._value?.dispose(),t&&vi(t,this),this._value=t)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,pr(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let t=this._value;return this._value=void 0,t&&vi(t,null),t}};var fe=typeof window==\"object\"?window:globalThis;var kt=class kt{constructor(t){this.element=t,this.next=kt.Undefined,this.prev=kt.Undefined}};kt.Undefined=new kt(void 0);var G=kt,Ct=class{constructor(){this._first=G.Undefined;this._last=G.Undefined;this._size=0}get size(){return this._size}isEmpty(){return this._first===G.Undefined}clear(){let t=this._first;for(;t!==G.Undefined;){let e=t.next;t.prev=G.Undefined,t.next=G.Undefined,t=e}this._first=G.Undefined,this._last=G.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){let i=new G(t);if(this._first===G.Undefined)this._first=i,this._last=i;else if(e){let n=this._last;this._last=i,i.prev=n,n.next=i}else{let n=this._first;this._first=i,i.next=n,n.prev=i}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(i))}}shift(){if(this._first!==G.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==G.Undefined){let t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==G.Undefined&&t.next!==G.Undefined){let e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===G.Undefined&&t.next===G.Undefined?(this._first=G.Undefined,this._last=G.Undefined):t.next===G.Undefined?(this._last=this._last.prev,this._last.next=G.Undefined):t.prev===G.Undefined&&(this._first=this._first.next,this._first.prev=G.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==G.Undefined;)yield t.element,t=t.next}};var zl=globalThis.performance&&typeof globalThis.performance.now==\"function\",mr=class s{static create(t){return new s(t)}constructor(t){this._now=zl&&t===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}};var Gl=!1,fo=!1,$l=!1,$;(Qe=>{Qe.None=()=>D.None;function t(y){if($l){let{onDidAddListener:T}=y,g=gi.create(),w=0;y.onDidAddListener=()=>{++w===2&&(console.warn(\"snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here\"),g.print()),T?.()}}}function e(y,T){return d(y,()=>{},0,void 0,!0,void 0,T)}Qe.defer=e;function i(y){return(T,g=null,w)=>{let E=!1,x;return x=y(N=>{if(!E)return x?x.dispose():E=!0,T.call(g,N)},null,w),E&&x.dispose(),x}}Qe.once=i;function r(y,T,g){return h((w,E=null,x)=>y(N=>w.call(E,T(N)),null,x),g)}Qe.map=r;function n(y,T,g){return h((w,E=null,x)=>y(N=>{T(N),w.call(E,N)},null,x),g)}Qe.forEach=n;function o(y,T,g){return h((w,E=null,x)=>y(N=>T(N)&&w.call(E,N),null,x),g)}Qe.filter=o;function l(y){return y}Qe.signal=l;function a(...y){return(T,g=null,w)=>{let E=ho(...y.map(x=>x(N=>T.call(g,N))));return c(E,w)}}Qe.any=a;function u(y,T,g,w){let E=g;return r(y,x=>(E=T(E,x),E),w)}Qe.reduce=u;function h(y,T){let g,w={onWillAddFirstListener(){g=y(E.fire,E)},onDidRemoveLastListener(){g?.dispose()}};T||t(w);let E=new v(w);return T?.add(E),E.event}function c(y,T){return T instanceof Array?T.push(y):T&&T.add(y),y}function d(y,T,g=100,w=!1,E=!1,x,N){let Z,te,Oe,ze=0,le,et={leakWarningThreshold:x,onWillAddFirstListener(){Z=y(ht=>{ze++,te=T(te,ht),w&&!Oe&&(me.fire(te),te=void 0),le=()=>{let fi=te;te=void 0,Oe=void 0,(!w||ze>1)&&me.fire(fi),ze=0},typeof g==\"number\"?(clearTimeout(Oe),Oe=setTimeout(le,g)):Oe===void 0&&(Oe=0,queueMicrotask(le))})},onWillRemoveListener(){E&&ze>0&&le?.()},onDidRemoveLastListener(){le=void 0,Z.dispose()}};N||t(et);let me=new v(et);return N?.add(me),me.event}Qe.debounce=d;function _(y,T=0,g){return Qe.debounce(y,(w,E)=>w?(w.push(E),w):[E],T,void 0,!0,void 0,g)}Qe.accumulate=_;function p(y,T=(w,E)=>w===E,g){let w=!0,E;return o(y,x=>{let N=w||!T(x,E);return w=!1,E=x,N},g)}Qe.latch=p;function m(y,T,g){return[Qe.filter(y,T,g),Qe.filter(y,w=>!T(w),g)]}Qe.split=m;function f(y,T=!1,g=[],w){let E=g.slice(),x=y(te=>{E?E.push(te):Z.fire(te)});w&&w.add(x);let N=()=>{E?.forEach(te=>Z.fire(te)),E=null},Z=new v({onWillAddFirstListener(){x||(x=y(te=>Z.fire(te)),w&&w.add(x))},onDidAddFirstListener(){E&&(T?setTimeout(N):N())},onDidRemoveLastListener(){x&&x.dispose(),x=null}});return w&&w.add(Z),Z.event}Qe.buffer=f;function A(y,T){return(w,E,x)=>{let N=T(new O);return y(function(Z){let te=N.evaluate(Z);te!==R&&w.call(E,te)},void 0,x)}}Qe.chain=A;let R=Symbol(\"HaltChainable\");class O{constructor(){this.steps=[]}map(T){return this.steps.push(T),this}forEach(T){return this.steps.push(g=>(T(g),g)),this}filter(T){return this.steps.push(g=>T(g)?g:R),this}reduce(T,g){let w=g;return this.steps.push(E=>(w=T(w,E),w)),this}latch(T=(g,w)=>g===w){let g=!0,w;return this.steps.push(E=>{let x=g||!T(E,w);return g=!1,w=E,x?E:R}),this}evaluate(T){for(let g of this.steps)if(T=g(T),T===R)break;return T}}function I(y,T,g=w=>w){let w=(...Z)=>N.fire(g(...Z)),E=()=>y.on(T,w),x=()=>y.removeListener(T,w),N=new v({onWillAddFirstListener:E,onDidRemoveLastListener:x});return N.event}Qe.fromNodeEventEmitter=I;function k(y,T,g=w=>w){let w=(...Z)=>N.fire(g(...Z)),E=()=>y.addEventListener(T,w),x=()=>y.removeEventListener(T,w),N=new v({onWillAddFirstListener:E,onDidRemoveLastListener:x});return N.event}Qe.fromDOMEventEmitter=k;function P(y){return new Promise(T=>i(y)(T))}Qe.toPromise=P;function oe(y){let T=new v;return y.then(g=>{T.fire(g)},()=>{T.fire(void 0)}).finally(()=>{T.dispose()}),T.event}Qe.fromPromise=oe;function Me(y,T){return y(g=>T.fire(g))}Qe.forward=Me;function Pe(y,T,g){return T(g),y(w=>T(w))}Qe.runAndSubscribe=Pe;class Ke{constructor(T,g){this._observable=T;this._counter=0;this._hasChanged=!1;let w={onWillAddFirstListener:()=>{T.addObserver(this)},onDidRemoveLastListener:()=>{T.removeObserver(this)}};g||t(w),this.emitter=new v(w),g&&g.add(this.emitter)}beginUpdate(T){this._counter++}handlePossibleChange(T){}handleChange(T,g){this._hasChanged=!0}endUpdate(T){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function di(y,T){return new Ke(y,T).emitter.event}Qe.fromObservable=di;function V(y){return(T,g,w)=>{let E=0,x=!1,N={beginUpdate(){E++},endUpdate(){E--,E===0&&(y.reportChanges(),x&&(x=!1,T.call(g)))},handlePossibleChange(){},handleChange(){x=!0}};y.addObserver(N),y.reportChanges();let Z={dispose(){y.removeObserver(N)}};return w instanceof Ee?w.add(Z):Array.isArray(w)&&w.push(Z),Z}}Qe.fromObservableLight=V})($||={});var Mt=class Mt{constructor(t){this.listenerCount=0;this.invocationCount=0;this.elapsedOverall=0;this.durations=[];this.name=`${t}_${Mt._idPool++}`,Mt.all.add(this)}start(t){this._stopWatch=new mr,this.listenerCount=t}stop(){if(this._stopWatch){let t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}};Mt.all=new Set,Mt._idPool=0;var $n=Mt,po=-1;var br=class br{constructor(t,e,i=(br._idPool++).toString(16).padStart(3,\"0\")){this._errorHandler=t;this.threshold=e;this.name=i;this._warnCountdown=0}dispose(){this._stacks?.clear()}check(t,e){let i=this.threshold;if(i<=0||e<i)return;this._stacks||(this._stacks=new Map);let r=this._stacks.get(t.value)||0;if(this._stacks.set(t.value,r+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=i*.5;let[n,o]=this.getMostFrequentStack(),l=`[${this.name}] potential listener LEAK detected, having ${e} listeners already. MOST frequent listener (${o}):`;console.warn(l),console.warn(n);let a=new qn(l,n);this._errorHandler(a)}return()=>{let n=this._stacks.get(t.value)||0;this._stacks.set(t.value,n-1)}}getMostFrequentStack(){if(!this._stacks)return;let t,e=0;for(let[i,r]of this._stacks)(!t||e<r)&&(t=[i,r],e=r);return t}};br._idPool=1;var Vn=br,gi=class s{constructor(t){this.value=t}static create(){let t=new Error;return new s(t.stack??\"\")}print(){console.warn(this.value.split(`\n`).slice(2).join(`\n`))}},qn=class extends Error{constructor(t,e){super(t),this.name=\"ListenerLeakError\",this.stack=e}},Yn=class extends Error{constructor(t,e){super(t),this.name=\"ListenerRefusalError\",this.stack=e}},Vl=0,Pt=class{constructor(t){this.value=t;this.id=Vl++}},ql=2,Yl=(s,t)=>{if(s instanceof Pt)t(s);else for(let e=0;e<s.length;e++){let i=s[e];i&&t(i)}},_r;if(Gl){let s=[];setInterval(()=>{s.length!==0&&(console.warn(\"[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:\"),console.warn(s.join(`\n`)),s.length=0)},3e3),_r=new FinalizationRegistry(t=>{typeof t==\"string\"&&s.push(t)})}var v=class{constructor(t){this._size=0;this._options=t,this._leakageMon=po>0||this._options?.leakWarningThreshold?new Vn(t?.onListenerError??Lt,this._options?.leakWarningThreshold??po):void 0,this._perfMon=this._options?._profName?new $n(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(fo){let t=this._listeners;queueMicrotask(()=>{Yl(t,e=>e.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(t,e,i)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let a=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(a);let u=this._leakageMon.getMostFrequentStack()??[\"UNKNOWN stack\",-1],h=new Yn(`${a}. HINT: Stack shows most frequent listener (${u[1]}-times)`,u[0]);return(this._options?.onListenerError||Lt)(h),D.None}if(this._disposed)return D.None;e&&(t=t.bind(e));let r=new Pt(t),n,o;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=gi.create(),n=this._leakageMon.check(r.stack,this._size+1)),fo&&(r.stack=o??gi.create()),this._listeners?this._listeners instanceof Pt?(this._deliveryQueue??=new jn,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let l=C(()=>{_r?.unregister(l),n?.(),this._removeListener(r)});if(i instanceof Ee?i.add(l):Array.isArray(i)&&i.push(l),_r){let a=new Error().stack.split(`\n`).slice(2,3).join(`\n`).trim(),u=/(file:|vscode-file:\\/\\/vscode-app)?(\\/[^:]*:\\d+:\\d+)/.exec(a);_r.register(l,u?.[2]??a,l)}return l},this._event}_removeListener(t){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let e=this._listeners,i=e.indexOf(t);if(i===-1)throw console.log(\"disposed?\",this._disposed),console.log(\"size?\",this._size),console.log(\"arr?\",JSON.stringify(this._listeners)),new Error(\"Attempted to dispose unknown listener\");this._size--,e[i]=void 0;let r=this._deliveryQueue.current===this;if(this._size*ql<=e.length){let n=0;for(let o=0;o<e.length;o++)e[o]?e[n++]=e[o]:r&&(this._deliveryQueue.end--,n<this._deliveryQueue.i&&this._deliveryQueue.i--);e.length=n}}_deliver(t,e){if(!t)return;let i=this._options?.onListenerError||Lt;if(!i){t.value(e);return}try{t.value(e)}catch(r){i(r)}}_deliverQueue(t){let e=t.current._listeners;for(;t.i<t.end;)this._deliver(e[t.i++],t.value);t.reset()}fire(t){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Pt)this._deliver(this._listeners,t);else{let e=this._deliveryQueue;e.enqueue(this,t,this._listeners.length),this._deliverQueue(e)}this._perfMon?.stop()}hasListeners(){return this._size>0}};var jn=class{constructor(){this.i=-1;this.end=0}enqueue(t,e,i){this.i=0,this.end=i,this.current=t,this.value=e}reset(){this.i=this.end,this.current=void 0,this.value=void 0}};var gr=class gr{constructor(){this.mapWindowIdToZoomLevel=new Map;this._onDidChangeZoomLevel=new v;this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event;this.mapWindowIdToZoomFactor=new Map;this._onDidChangeFullscreen=new v;this.onDidChangeFullscreen=this._onDidChangeFullscreen.event;this.mapWindowIdToFullScreen=new Map}getZoomLevel(t){return this.mapWindowIdToZoomLevel.get(this.getWindowId(t))??0}setZoomLevel(t,e){if(this.getZoomLevel(e)===t)return;let i=this.getWindowId(e);this.mapWindowIdToZoomLevel.set(i,t),this._onDidChangeZoomLevel.fire(i)}getZoomFactor(t){return this.mapWindowIdToZoomFactor.get(this.getWindowId(t))??1}setZoomFactor(t,e){this.mapWindowIdToZoomFactor.set(this.getWindowId(e),t)}setFullscreen(t,e){if(this.isFullscreen(e)===t)return;let i=this.getWindowId(e);this.mapWindowIdToFullScreen.set(i,t),this._onDidChangeFullscreen.fire(i)}isFullscreen(t){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(t))}getWindowId(t){return t.vscodeWindowId}};gr.INSTANCE=new gr;var Si=gr;function Xl(s,t,e){typeof t==\"string\"&&(t=s.matchMedia(t)),t.addEventListener(\"change\",e)}var Eu=Si.INSTANCE.onDidChangeZoomLevel;function mo(s){return Si.INSTANCE.getZoomFactor(s)}var Tu=Si.INSTANCE.onDidChangeFullscreen,Ot=typeof navigator==\"object\"?navigator.userAgent:\"\",Ei=Ot.indexOf(\"Firefox\")>=0,Bt=Ot.indexOf(\"AppleWebKit\")>=0,Ti=Ot.indexOf(\"Chrome\")>=0,Sr=!Ti&&Ot.indexOf(\"Safari\")>=0;var Iu=Ot.indexOf(\"Electron/\")>=0,yu=Ot.indexOf(\"Android\")>=0,vr=!1;if(typeof fe.matchMedia==\"function\"){let s=fe.matchMedia(\"(display-mode: standalone) or (display-mode: window-controls-overlay)\"),t=fe.matchMedia(\"(display-mode: fullscreen)\");vr=s.matches,Xl(fe,s,({matches:e})=>{vr&&t.matches||(vr=e)})}function _o(){return vr}var Nt=\"en\",yr=!1,xr=!1,Ii=!1,Zl=!1,vo=!1,go=!1,Jl=!1,Ql=!1,ea=!1,ta=!1,Tr,Ir=Nt,bo=Nt,ia,$e,Ve=globalThis,xe;typeof Ve.vscode<\"u\"&&typeof Ve.vscode.process<\"u\"?xe=Ve.vscode.process:typeof process<\"u\"&&typeof process?.versions?.node==\"string\"&&(xe=process);var So=typeof xe?.versions?.electron==\"string\",ra=So&&xe?.type===\"renderer\";if(typeof xe==\"object\"){yr=xe.platform===\"win32\",xr=xe.platform===\"darwin\",Ii=xe.platform===\"linux\",Zl=Ii&&!!xe.env.SNAP&&!!xe.env.SNAP_REVISION,Jl=So,ea=!!xe.env.CI||!!xe.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Tr=Nt,Ir=Nt;let s=xe.env.VSCODE_NLS_CONFIG;if(s)try{let t=JSON.parse(s);Tr=t.userLocale,bo=t.osLocale,Ir=t.resolvedLanguage||Nt,ia=t.languagePack?.translationsConfigFile}catch{}vo=!0}else typeof navigator==\"object\"&&!ra?($e=navigator.userAgent,yr=$e.indexOf(\"Windows\")>=0,xr=$e.indexOf(\"Macintosh\")>=0,Ql=($e.indexOf(\"Macintosh\")>=0||$e.indexOf(\"iPad\")>=0||$e.indexOf(\"iPhone\")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Ii=$e.indexOf(\"Linux\")>=0,ta=$e?.indexOf(\"Mobi\")>=0,go=!0,Ir=globalThis._VSCODE_NLS_LANGUAGE||Nt,Tr=navigator.language.toLowerCase(),bo=Tr):console.error(\"Unable to resolve platform.\");var Xn=0;xr?Xn=1:yr?Xn=3:Ii&&(Xn=2);var wr=yr,Te=xr,Zn=Ii;var Dr=vo;var na=go&&typeof Ve.importScripts==\"function\",xu=na?Ve.origin:void 0;var Fe=$e,st=Ir,sa;(i=>{function s(){return st}i.value=s;function t(){return st.length===2?st===\"en\":st.length>=3?st[0]===\"e\"&&st[1]===\"n\"&&st[2]===\"-\":!1}i.isDefaultVariant=t;function e(){return st===\"en\"}i.isDefault=e})(sa||={});var oa=typeof Ve.postMessage==\"function\"&&!Ve.importScripts,Eo=(()=>{if(oa){let s=[];Ve.addEventListener(\"message\",e=>{if(e.data&&e.data.vscodeScheduleAsyncWork)for(let i=0,r=s.length;i<r;i++){let n=s[i];if(n.id===e.data.vscodeScheduleAsyncWork){s.splice(i,1),n.callback();return}}});let t=0;return e=>{let i=++t;s.push({id:i,callback:e}),Ve.postMessage({vscodeScheduleAsyncWork:i},\"*\")}}return s=>setTimeout(s)})();var la=!!(Fe&&Fe.indexOf(\"Chrome\")>=0),wu=!!(Fe&&Fe.indexOf(\"Firefox\")>=0),Du=!!(!la&&Fe&&Fe.indexOf(\"Safari\")>=0),Ru=!!(Fe&&Fe.indexOf(\"Edg/\")>=0),Lu=!!(Fe&&Fe.indexOf(\"Android\")>=0);var ot=typeof navigator==\"object\"?navigator:{},aa={clipboard:{writeText:Dr||document.queryCommandSupported&&document.queryCommandSupported(\"copy\")||!!(ot&&ot.clipboard&&ot.clipboard.writeText),readText:Dr||!!(ot&&ot.clipboard&&ot.clipboard.readText)},keyboard:Dr||_o()?0:ot.keyboard||Sr?1:2,touch:\"ontouchstart\"in fe||ot.maxTouchPoints>0,pointerEvents:fe.PointerEvent&&(\"ontouchstart\"in fe||navigator.maxTouchPoints>0)};var yi=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,e){this._keyCodeToStr[t]=e,this._strToKeyCode[e.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}},Jn=new yi,To=new yi,Io=new yi,yo=new Array(230);var Qn;(o=>{function s(l){return Jn.keyCodeToStr(l)}o.toString=s;function t(l){return Jn.strToKeyCode(l)}o.fromString=t;function e(l){return To.keyCodeToStr(l)}o.toUserSettingsUS=e;function i(l){return Io.keyCodeToStr(l)}o.toUserSettingsGeneral=i;function r(l){return To.strToKeyCode(l)||Io.strToKeyCode(l)}o.fromUserSettings=r;function n(l){if(l>=98&&l<=113)return null;switch(l){case 16:return\"Up\";case 18:return\"Down\";case 15:return\"Left\";case 17:return\"Right\"}return Jn.keyCodeToStr(l)}o.toElectronAccelerator=n})(Qn||={});var Rr=class s{constructor(t,e,i,r,n){this.ctrlKey=t;this.shiftKey=e;this.altKey=i;this.metaKey=r;this.keyCode=n}equals(t){return t instanceof s&&this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}getHashCode(){let t=this.ctrlKey?\"1\":\"0\",e=this.shiftKey?\"1\":\"0\",i=this.altKey?\"1\":\"0\",r=this.metaKey?\"1\":\"0\";return`K${t}${e}${i}${r}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new es([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}};var es=class{constructor(t){if(t.length===0)throw eo(\"chords\");this.chords=t}getHashCode(){let t=\"\";for(let e=0,i=this.chords.length;e<i;e++)e!==0&&(t+=\";\"),t+=this.chords[e].getHashCode();return t}equals(t){if(t===null||this.chords.length!==t.chords.length)return!1;for(let e=0;e<this.chords.length;e++)if(!this.chords[e].equals(t.chords[e]))return!1;return!0}};function ca(s){if(s.charCode){let e=String.fromCharCode(s.charCode).toUpperCase();return Qn.fromString(e)}let t=s.keyCode;if(t===3)return 7;if(Ei)switch(t){case 59:return 85;case 60:if(Zn)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(Te)return 57;break}else if(Bt){if(Te&&t===93)return 57;if(!Te&&t===92)return 57}return yo[t]||0}var ua=Te?256:2048,ha=512,da=1024,fa=Te?2048:256;var ft=class{constructor(t){this._standardKeyboardEventBrand=!0;let e=t;this.browserEvent=e,this.target=e.target,this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey,this.altGraphKey=e.getModifierState?.(\"AltGraph\"),this.keyCode=ca(e),this.code=e.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(t){return this._asKeybinding===t}_computeKeybinding(){let t=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode);let e=0;return this.ctrlKey&&(e|=ua),this.altKey&&(e|=ha),this.shiftKey&&(e|=da),this.metaKey&&(e|=fa),e|=t,e}_computeKeyCodeChord(){let t=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode),new Rr(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,t)}};var wo=new WeakMap;function pa(s){if(!s.parent||s.parent===s)return null;try{let t=s.location,e=s.parent.location;if(t.origin!==\"null\"&&e.origin!==\"null\"&&t.origin!==e.origin)return null}catch{return null}return s.parent}var Lr=class{static getSameOriginWindowChain(t){let e=wo.get(t);if(!e){e=[],wo.set(t,e);let i=t,r;do r=pa(i),r?e.push({window:new WeakRef(i),iframeElement:i.frameElement||null}):e.push({window:new WeakRef(i),iframeElement:null}),i=r;while(i)}return e.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(t,e){if(!e||t===e)return{top:0,left:0};let i=0,r=0,n=this.getSameOriginWindowChain(t);for(let o of n){let l=o.window.deref();if(i+=l?.scrollY??0,r+=l?.scrollX??0,l===e||!o.iframeElement)break;let a=o.iframeElement.getBoundingClientRect();i+=a.top,r+=a.left}return{top:i,left:r}}};var qe=class{constructor(t,e){this.timestamp=Date.now(),this.browserEvent=e,this.leftButton=e.button===0,this.middleButton=e.button===1,this.rightButton=e.button===2,this.buttons=e.buttons,this.target=e.target,this.detail=e.detail||1,e.type===\"dblclick\"&&(this.detail=2),this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey,typeof e.pageX==\"number\"?(this.posx=e.pageX,this.posy=e.pageY):(this.posx=e.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=e.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let i=Lr.getPositionOfChildWindowRelativeToAncestorWindow(t,e.view);this.posx-=i.left,this.posy-=i.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}};var xi=class{constructor(t,e=0,i=0){this.browserEvent=t||null,this.target=t?t.target||t.targetNode||t.srcElement:null,this.deltaY=i,this.deltaX=e;let r=!1;if(Ti){let n=navigator.userAgent.match(/Chrome\\/(\\d+)/);r=(n?parseInt(n[1]):123)<=122}if(t){let n=t,o=t,l=t.view?.devicePixelRatio||1;if(typeof n.wheelDeltaY<\"u\")r?this.deltaY=n.wheelDeltaY/(120*l):this.deltaY=n.wheelDeltaY/120;else if(typeof o.VERTICAL_AXIS<\"u\"&&o.axis===o.VERTICAL_AXIS)this.deltaY=-o.detail/3;else if(t.type===\"wheel\"){let a=t;a.deltaMode===a.DOM_DELTA_LINE?Ei&&!Te?this.deltaY=-t.deltaY/3:this.deltaY=-t.deltaY:this.deltaY=-t.deltaY/40}if(typeof n.wheelDeltaX<\"u\")Sr&&wr?this.deltaX=-(n.wheelDeltaX/120):r?this.deltaX=n.wheelDeltaX/(120*l):this.deltaX=n.wheelDeltaX/120;else if(typeof o.HORIZONTAL_AXIS<\"u\"&&o.axis===o.HORIZONTAL_AXIS)this.deltaX=-t.detail/3;else if(t.type===\"wheel\"){let a=t;a.deltaMode===a.DOM_DELTA_LINE?Ei&&!Te?this.deltaX=-t.deltaX/3:this.deltaX=-t.deltaX:this.deltaX=-t.deltaX/40}this.deltaY===0&&this.deltaX===0&&t.wheelDelta&&(r?this.deltaY=t.wheelDelta/(120*l):this.deltaY=t.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}};var Do=Object.freeze(function(s,t){let e=setTimeout(s.bind(t),0);return{dispose(){clearTimeout(e)}}}),ma;(i=>{function s(r){return r===i.None||r===i.Cancelled||r instanceof ts?!0:!r||typeof r!=\"object\"?!1:typeof r.isCancellationRequested==\"boolean\"&&typeof r.onCancellationRequested==\"function\"}i.isCancellationToken=s,i.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:$.None}),i.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Do})})(ma||={});var ts=class{constructor(){this._isCancelled=!1;this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Do:(this._emitter||(this._emitter=new v),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}};var _a=Symbol(\"MicrotaskDelay\");var Ye=class{constructor(t,e){this._isDisposed=!1;this._token=-1,typeof t==\"function\"&&typeof e==\"number\"&&this.setIfNotSet(t,e)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,e){if(this._isDisposed)throw new Rt(\"Calling 'cancelAndSet' on a disposed TimeoutTimer\");this.cancel(),this._token=setTimeout(()=>{this._token=-1,t()},e)}setIfNotSet(t,e){if(this._isDisposed)throw new Rt(\"Calling 'setIfNotSet' on a disposed TimeoutTimer\");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,t()},e))}},kr=class{constructor(){this.disposable=void 0;this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(t,e,i=globalThis){if(this.isDisposed)throw new Rt(\"Calling 'cancelAndSet' on a disposed IntervalTimer\");this.cancel();let r=i.setInterval(()=>{t()},e);this.disposable=C(()=>{i.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};var ba,Ar;(function(){typeof globalThis.requestIdleCallback!=\"function\"||typeof globalThis.cancelIdleCallback!=\"function\"?Ar=(s,t)=>{Eo(()=>{if(e)return;let i=Date.now()+15;t(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,i-Date.now())}}))});let e=!1;return{dispose(){e||(e=!0)}}}:Ar=(s,t,e)=>{let i=s.requestIdleCallback(t,typeof e==\"number\"?{timeout:e}:void 0),r=!1;return{dispose(){r||(r=!0,s.cancelIdleCallback(i))}}},ba=s=>Ar(globalThis,s)})();var va;(e=>{async function s(i){let r,n=await Promise.all(i.map(o=>o.then(l=>l,l=>{r||(r=l)})));if(typeof r<\"u\")throw r;return n}e.settled=s;function t(i){return new Promise(async(r,n)=>{try{await i(r,n)}catch(o){n(o)}})}e.withAsyncBody=t})(va||={});var _e=class _e{static fromArray(t){return new _e(e=>{e.emitMany(t)})}static fromPromise(t){return new _e(async e=>{e.emitMany(await t)})}static fromPromises(t){return new _e(async e=>{await Promise.all(t.map(async i=>e.emitOne(await i)))})}static merge(t){return new _e(async e=>{await Promise.all(t.map(async i=>{for await(let r of i)e.emitOne(r)}))})}constructor(t,e){this._state=0,this._results=[],this._error=null,this._onReturn=e,this._onStateChanged=new v,queueMicrotask(async()=>{let i={emitOne:r=>this.emitOne(r),emitMany:r=>this.emitMany(r),reject:r=>this.reject(r)};try{await Promise.resolve(t(i)),this.resolve()}catch(r){this.reject(r)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}})}[Symbol.asyncIterator](){let t=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(t<this._results.length)return{done:!1,value:this._results[t++]};if(this._state===1)return{done:!0,value:void 0};await $.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,e){return new _e(async i=>{for await(let r of t)i.emitOne(e(r))})}map(t){return _e.map(this,t)}static filter(t,e){return new _e(async i=>{for await(let r of t)e(r)&&i.emitOne(r)})}filter(t){return _e.filter(this,t)}static coalesce(t){return _e.filter(t,e=>!!e)}coalesce(){return _e.coalesce(this)}static async toPromise(t){let e=[];for await(let i of t)e.push(i);return e}toPromise(){return _e.toPromise(this)}emitOne(t){this._state===0&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){this._state===0&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(t){this._state===0&&(this._state=2,this._error=t,this._onStateChanged.fire())}};_e.EMPTY=_e.fromArray([]);var Ro=_e;function Lo(s){return 55296<=s&&s<=56319}function is(s){return 56320<=s&&s<=57343}function Ao(s,t){return(s-55296<<10)+(t-56320)+65536}function Mo(s){return ns(s,0)}function ns(s,t){switch(typeof s){case\"object\":return s===null?je(349,t):Array.isArray(s)?Ea(s,t):Ta(s,t);case\"string\":return Po(s,t);case\"boolean\":return Sa(s,t);case\"number\":return je(s,t);case\"undefined\":return je(937,t);default:return je(617,t)}}function je(s,t){return(t<<5)-t+s|0}function Sa(s,t){return je(s?433:863,t)}function Po(s,t){t=je(149417,t);for(let e=0,i=s.length;e<i;e++)t=je(s.charCodeAt(e),t);return t}function Ea(s,t){return t=je(104579,t),s.reduce((e,i)=>ns(i,e),t)}function Ta(s,t){return t=je(181387,t),Object.keys(s).sort().reduce((e,i)=>(e=Po(i,e),ns(s[i],e)),t)}function rs(s,t,e=32){let i=e-t,r=~((1<<i)-1);return(s<<t|(r&s)>>>i)>>>0}function ko(s,t=0,e=s.byteLength,i=0){for(let r=0;r<e;r++)s[t+r]=i}function Ia(s,t,e=\"0\"){for(;s.length<t;)s=e+s;return s}function wi(s,t=32){return s instanceof ArrayBuffer?Array.from(new Uint8Array(s)).map(e=>e.toString(16).padStart(2,\"0\")).join(\"\"):Ia((s>>>0).toString(16),t/4)}var Cr=class Cr{constructor(){this._h0=1732584193;this._h1=4023233417;this._h2=2562383102;this._h3=271733878;this._h4=3285377520;this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(t){let e=t.length;if(e===0)return;let i=this._buff,r=this._buffLen,n=this._leftoverHighSurrogate,o,l;for(n!==0?(o=n,l=-1,n=0):(o=t.charCodeAt(0),l=0);;){let a=o;if(Lo(o))if(l+1<e){let u=t.charCodeAt(l+1);is(u)?(l++,a=Ao(o,u)):a=65533}else{n=o;break}else is(o)&&(a=65533);if(r=this._push(i,r,a),l++,l<e)o=t.charCodeAt(l);else break}this._buffLen=r,this._leftoverHighSurrogate=n}_push(t,e,i){return i<128?t[e++]=i:i<2048?(t[e++]=192|(i&1984)>>>6,t[e++]=128|(i&63)>>>0):i<65536?(t[e++]=224|(i&61440)>>>12,t[e++]=128|(i&4032)>>>6,t[e++]=128|(i&63)>>>0):(t[e++]=240|(i&1835008)>>>18,t[e++]=128|(i&258048)>>>12,t[e++]=128|(i&4032)>>>6,t[e++]=128|(i&63)>>>0),e>=64&&(this._step(),e-=64,this._totalLen+=64,t[0]=t[64],t[1]=t[65],t[2]=t[66]),e}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),wi(this._h0)+wi(this._h1)+wi(this._h2)+wi(this._h3)+wi(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,ko(this._buff,this._buffLen),this._buffLen>56&&(this._step(),ko(this._buff));let t=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(t/4294967296),!1),this._buffDV.setUint32(60,t%4294967296,!1),this._step()}_step(){let t=Cr._bigBlock32,e=this._buffDV;for(let c=0;c<64;c+=4)t.setUint32(c,e.getUint32(c,!1),!1);for(let c=64;c<320;c+=4)t.setUint32(c,rs(t.getUint32(c-12,!1)^t.getUint32(c-32,!1)^t.getUint32(c-56,!1)^t.getUint32(c-64,!1),1),!1);let i=this._h0,r=this._h1,n=this._h2,o=this._h3,l=this._h4,a,u,h;for(let c=0;c<80;c++)c<20?(a=r&n|~r&o,u=1518500249):c<40?(a=r^n^o,u=1859775393):c<60?(a=r&n|r&o|n&o,u=2400959708):(a=r^n^o,u=3395469782),h=rs(i,5)+a+l+u+t.getUint32(c*4,!1)&4294967295,l=o,o=n,n=rs(r,30),r=i,i=h;this._h0=this._h0+i&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+n&4294967295,this._h3=this._h3+o&4294967295,this._h4=this._h4+l&4294967295}};Cr._bigBlock32=new DataView(new ArrayBuffer(320));var Co=Cr;var{registerWindow:Bh,getWindow:be,getDocument:Nh,getWindows:Fh,getWindowsCount:Hh,getWindowId:Oo,getWindowById:Wh,hasWindow:Uh,onDidRegisterWindow:No,onWillUnregisterWindow:Kh,onDidUnregisterWindow:zh}=function(){let s=new Map;fe;let t={window:fe,disposables:new Ee};s.set(fe.vscodeWindowId,t);let e=new v,i=new v,r=new v;function n(o,l){return(typeof o==\"number\"?s.get(o):void 0)??(l?t:void 0)}return{onDidRegisterWindow:e.event,onWillUnregisterWindow:r.event,onDidUnregisterWindow:i.event,registerWindow(o){if(s.has(o.vscodeWindowId))return D.None;let l=new Ee,a={window:o,disposables:l.add(new Ee)};return s.set(o.vscodeWindowId,a),l.add(C(()=>{s.delete(o.vscodeWindowId),i.fire(o)})),l.add(L(o,Y.BEFORE_UNLOAD,()=>{r.fire(o)})),e.fire(a),l},getWindows(){return s.values()},getWindowsCount(){return s.size},getWindowId(o){return o.vscodeWindowId},hasWindow(o){return s.has(o)},getWindowById:n,getWindow(o){let l=o;if(l?.ownerDocument?.defaultView)return l.ownerDocument.defaultView.window;let a=o;return a?.view?a.view.window:fe},getDocument(o){return be(o).document}}}();var ss=class{constructor(t,e,i,r){this._node=t,this._type=e,this._handler=i,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function L(s,t,e,i){return new ss(s,t,e,i)}function ya(s,t){return function(e){return t(new qe(s,e))}}function xa(s){return function(t){return s(new ft(t))}}var os=function(t,e,i,r){let n=i;return e===\"click\"||e===\"mousedown\"||e===\"contextmenu\"?n=ya(be(t),i):(e===\"keydown\"||e===\"keypress\"||e===\"keyup\")&&(n=xa(i)),L(t,e,n,r)};var wa,mt;var Mr=class extends kr{constructor(t){super(),this.defaultTarget=t&&be(t)}cancelAndSet(t,e,i){return super.cancelAndSet(t,e,i??this.defaultTarget)}},Di=class{constructor(t,e=0){this._runner=t,this.priority=e,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(t){Lt(t)}}static sort(t,e){return e.priority-t.priority}};(function(){let s=new Map,t=new Map,e=new Map,i=new Map,r=n=>{e.set(n,!1);let o=s.get(n)??[];for(t.set(n,o),s.set(n,[]),i.set(n,!0);o.length>0;)o.sort(Di.sort),o.shift().execute();i.set(n,!1)};mt=(n,o,l=0)=>{let a=Oo(n),u=new Di(o,l),h=s.get(a);return h||(h=[],s.set(a,h)),h.push(u),e.get(a)||(e.set(a,!0),n.requestAnimationFrame(()=>r(a))),u},wa=(n,o,l)=>{let a=Oo(n);if(i.get(a)){let u=new Di(o,l),h=t.get(a);return h||(h=[],t.set(a,h)),h.push(u),u}else return mt(n,o,l)}})();var pt=class pt{constructor(t,e){this.width=t;this.height=e}with(t=this.width,e=this.height){return t!==this.width||e!==this.height?new pt(t,e):this}static is(t){return typeof t==\"object\"&&typeof t.height==\"number\"&&typeof t.width==\"number\"}static lift(t){return t instanceof pt?t:new pt(t.width,t.height)}static equals(t,e){return t===e?!0:!t||!e?!1:t.width===e.width&&t.height===e.height}};pt.None=new pt(0,0);var Bo=pt;function Fo(s){let t=s.getBoundingClientRect(),e=be(s);return{left:t.left+e.scrollX,top:t.top+e.scrollY,width:t.width,height:t.height}}var Gh=new class{constructor(){this.mutationObservers=new Map}observe(s,t,e){let i=this.mutationObservers.get(s);i||(i=new Map,this.mutationObservers.set(s,i));let r=Mo(e),n=i.get(r);if(n)n.users+=1;else{let o=new v,l=new MutationObserver(u=>o.fire(u));l.observe(s,e);let a=n={users:1,observer:l,onDidMutate:o.event};t.add(C(()=>{a.users-=1,a.users===0&&(o.dispose(),l.disconnect(),i?.delete(r),i?.size===0&&this.mutationObservers.delete(s))})),i.set(r,n)}return n.onDidMutate}};var Y={CLICK:\"click\",AUXCLICK:\"auxclick\",DBLCLICK:\"dblclick\",MOUSE_UP:\"mouseup\",MOUSE_DOWN:\"mousedown\",MOUSE_OVER:\"mouseover\",MOUSE_MOVE:\"mousemove\",MOUSE_OUT:\"mouseout\",MOUSE_ENTER:\"mouseenter\",MOUSE_LEAVE:\"mouseleave\",MOUSE_WHEEL:\"wheel\",POINTER_UP:\"pointerup\",POINTER_DOWN:\"pointerdown\",POINTER_MOVE:\"pointermove\",POINTER_LEAVE:\"pointerleave\",CONTEXT_MENU:\"contextmenu\",WHEEL:\"wheel\",KEY_DOWN:\"keydown\",KEY_PRESS:\"keypress\",KEY_UP:\"keyup\",LOAD:\"load\",BEFORE_UNLOAD:\"beforeunload\",UNLOAD:\"unload\",PAGE_SHOW:\"pageshow\",PAGE_HIDE:\"pagehide\",PASTE:\"paste\",ABORT:\"abort\",ERROR:\"error\",RESIZE:\"resize\",SCROLL:\"scroll\",FULLSCREEN_CHANGE:\"fullscreenchange\",WK_FULLSCREEN_CHANGE:\"webkitfullscreenchange\",SELECT:\"select\",CHANGE:\"change\",SUBMIT:\"submit\",RESET:\"reset\",FOCUS:\"focus\",FOCUS_IN:\"focusin\",FOCUS_OUT:\"focusout\",BLUR:\"blur\",INPUT:\"input\",STORAGE:\"storage\",DRAG_START:\"dragstart\",DRAG:\"drag\",DRAG_ENTER:\"dragenter\",DRAG_LEAVE:\"dragleave\",DRAG_OVER:\"dragover\",DROP:\"drop\",DRAG_END:\"dragend\",ANIMATION_START:Bt?\"webkitAnimationStart\":\"animationstart\",ANIMATION_END:Bt?\"webkitAnimationEnd\":\"animationend\",ANIMATION_ITERATION:Bt?\"webkitAnimationIteration\":\"animationiteration\"};var Da=/([\\w\\-]+)?(#([\\w\\-]+))?((\\.([\\w\\-]+))*)/;function Ho(s,t,e,...i){let r=Da.exec(t);if(!r)throw new Error(\"Bad use of emmet\");let n=r[1]||\"div\",o;return s!==\"http://www.w3.org/1999/xhtml\"?o=document.createElementNS(s,n):o=document.createElement(n),r[3]&&(o.id=r[3]),r[4]&&(o.className=r[4].replace(/\\./g,\" \").trim()),e&&Object.entries(e).forEach(([l,a])=>{typeof a>\"u\"||(/^on\\w+$/.test(l)?o[l]=a:l===\"selected\"?a&&o.setAttribute(l,\"true\"):o.setAttribute(l,a))}),o.append(...i),o}function Ra(s,t,...e){return Ho(\"http://www.w3.org/1999/xhtml\",s,t,...e)}Ra.SVG=function(s,t,...e){return Ho(\"http://www.w3.org/2000/svg\",s,t,...e)};var ls=class{constructor(t){this.domNode=t;this._maxWidth=\"\";this._width=\"\";this._height=\"\";this._top=\"\";this._left=\"\";this._bottom=\"\";this._right=\"\";this._paddingTop=\"\";this._paddingLeft=\"\";this._paddingBottom=\"\";this._paddingRight=\"\";this._fontFamily=\"\";this._fontWeight=\"\";this._fontSize=\"\";this._fontStyle=\"\";this._fontFeatureSettings=\"\";this._fontVariationSettings=\"\";this._textDecoration=\"\";this._lineHeight=\"\";this._letterSpacing=\"\";this._className=\"\";this._display=\"\";this._position=\"\";this._visibility=\"\";this._color=\"\";this._backgroundColor=\"\";this._layerHint=!1;this._contain=\"none\";this._boxShadow=\"\"}setMaxWidth(t){let e=Ie(t);this._maxWidth!==e&&(this._maxWidth=e,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){let e=Ie(t);this._width!==e&&(this._width=e,this.domNode.style.width=this._width)}setHeight(t){let e=Ie(t);this._height!==e&&(this._height=e,this.domNode.style.height=this._height)}setTop(t){let e=Ie(t);this._top!==e&&(this._top=e,this.domNode.style.top=this._top)}setLeft(t){let e=Ie(t);this._left!==e&&(this._left=e,this.domNode.style.left=this._left)}setBottom(t){let e=Ie(t);this._bottom!==e&&(this._bottom=e,this.domNode.style.bottom=this._bottom)}setRight(t){let e=Ie(t);this._right!==e&&(this._right=e,this.domNode.style.right=this._right)}setPaddingTop(t){let e=Ie(t);this._paddingTop!==e&&(this._paddingTop=e,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(t){let e=Ie(t);this._paddingLeft!==e&&(this._paddingLeft=e,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(t){let e=Ie(t);this._paddingBottom!==e&&(this._paddingBottom=e,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(t){let e=Ie(t);this._paddingRight!==e&&(this._paddingRight=e,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){let e=Ie(t);this._fontSize!==e&&(this._fontSize=e,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){let e=Ie(t);this._lineHeight!==e&&(this._lineHeight=e,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){let e=Ie(t);this._letterSpacing!==e&&(this._letterSpacing=e,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,e){this.domNode.classList.toggle(t,e),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?\"translate3d(0px, 0px, 0px)\":\"\")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,e){this.domNode.setAttribute(t,e)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}};function Ie(s){return typeof s==\"number\"?`${s}px`:s}function _t(s){return new ls(s)}var Wt=class{constructor(){this._hooks=new Ee;this._pointerMoveCallback=null;this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(t,e){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let i=this._onStopCallback;this._onStopCallback=null,t&&i&&i(e)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(t,e,i,r,n){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=n;let o=t;try{t.setPointerCapture(e),this._hooks.add(C(()=>{try{t.releasePointerCapture(e)}catch{}}))}catch{o=be(t)}this._hooks.add(L(o,Y.POINTER_MOVE,l=>{if(l.buttons!==i){this.stopMonitoring(!0);return}l.preventDefault(),this._pointerMoveCallback(l)})),this._hooks.add(L(o,Y.POINTER_UP,l=>this.stopMonitoring(!0)))}};function Wo(s,t,e){let i=null,r=null;if(typeof e.value==\"function\"?(i=\"value\",r=e.value,r.length!==0&&console.warn(\"Memoize should only be used in functions with zero parameters\")):typeof e.get==\"function\"&&(i=\"get\",r=e.get),!r)throw new Error(\"not supported\");let n=`$memoize$${t}`;e[i]=function(...o){return this.hasOwnProperty(n)||Object.defineProperty(this,n,{configurable:!1,enumerable:!1,writable:!1,value:r.apply(this,o)}),this[n]}}var He;(n=>(n.Tap=\"-xterm-gesturetap\",n.Change=\"-xterm-gesturechange\",n.Start=\"-xterm-gesturestart\",n.End=\"-xterm-gesturesend\",n.Contextmenu=\"-xterm-gesturecontextmenu\"))(He||={});var Q=class Q extends D{constructor(){super();this.dispatched=!1;this.targets=new Ct;this.ignoreTargets=new Ct;this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register($.runAndSubscribe(No,({window:e,disposables:i})=>{i.add(L(e.document,\"touchstart\",r=>this.onTouchStart(r),{passive:!1})),i.add(L(e.document,\"touchend\",r=>this.onTouchEnd(e,r))),i.add(L(e.document,\"touchmove\",r=>this.onTouchMove(r),{passive:!1}))},{window:fe,disposables:this._store}))}static addTarget(e){if(!Q.isTouchDevice())return D.None;Q.INSTANCE||(Q.INSTANCE=Gn(new Q));let i=Q.INSTANCE.targets.push(e);return C(i)}static ignoreTarget(e){if(!Q.isTouchDevice())return D.None;Q.INSTANCE||(Q.INSTANCE=Gn(new Q));let i=Q.INSTANCE.ignoreTargets.push(e);return C(i)}static isTouchDevice(){return\"ontouchstart\"in fe||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){let i=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let r=0,n=e.targetTouches.length;r<n;r++){let o=e.targetTouches.item(r);this.activeTouches[o.identifier]={id:o.identifier,initialTarget:o.target,initialTimeStamp:i,initialPageX:o.pageX,initialPageY:o.pageY,rollingTimestamps:[i],rollingPageX:[o.pageX],rollingPageY:[o.pageY]};let l=this.newGestureEvent(He.Start,o.target);l.pageX=o.pageX,l.pageY=o.pageY,this.dispatchEvent(l)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}onTouchEnd(e,i){let r=Date.now(),n=Object.keys(this.activeTouches).length;for(let o=0,l=i.changedTouches.length;o<l;o++){let a=i.changedTouches.item(o);if(!this.activeTouches.hasOwnProperty(String(a.identifier))){console.warn(\"move of an UNKNOWN touch\",a);continue}let u=this.activeTouches[a.identifier],h=Date.now()-u.initialTimeStamp;if(h<Q.HOLD_DELAY&&Math.abs(u.initialPageX-Se(u.rollingPageX))<30&&Math.abs(u.initialPageY-Se(u.rollingPageY))<30){let c=this.newGestureEvent(He.Tap,u.initialTarget);c.pageX=Se(u.rollingPageX),c.pageY=Se(u.rollingPageY),this.dispatchEvent(c)}else if(h>=Q.HOLD_DELAY&&Math.abs(u.initialPageX-Se(u.rollingPageX))<30&&Math.abs(u.initialPageY-Se(u.rollingPageY))<30){let c=this.newGestureEvent(He.Contextmenu,u.initialTarget);c.pageX=Se(u.rollingPageX),c.pageY=Se(u.rollingPageY),this.dispatchEvent(c)}else if(n===1){let c=Se(u.rollingPageX),d=Se(u.rollingPageY),_=Se(u.rollingTimestamps)-u.rollingTimestamps[0],p=c-u.rollingPageX[0],m=d-u.rollingPageY[0],f=[...this.targets].filter(A=>u.initialTarget instanceof Node&&A.contains(u.initialTarget));this.inertia(e,f,r,Math.abs(p)/_,p>0?1:-1,c,Math.abs(m)/_,m>0?1:-1,d)}this.dispatchEvent(this.newGestureEvent(He.End,u.initialTarget)),delete this.activeTouches[a.identifier]}this.dispatched&&(i.preventDefault(),i.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,i){let r=document.createEvent(\"CustomEvent\");return r.initEvent(e,!1,!0),r.initialTarget=i,r.tapCount=0,r}dispatchEvent(e){if(e.type===He.Tap){let i=new Date().getTime(),r=0;i-this._lastSetTapCountTime>Q.CLEAR_TAP_COUNT_TIME?r=1:r=2,this._lastSetTapCountTime=i,e.tapCount=r}else(e.type===He.Change||e.type===He.Contextmenu)&&(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(let r of this.ignoreTargets)if(r.contains(e.initialTarget))return;let i=[];for(let r of this.targets)if(r.contains(e.initialTarget)){let n=0,o=e.initialTarget;for(;o&&o!==r;)n++,o=o.parentElement;i.push([n,r])}i.sort((r,n)=>r[0]-n[0]);for(let[r,n]of i)n.dispatchEvent(e),this.dispatched=!0}}inertia(e,i,r,n,o,l,a,u,h){this.handle=mt(e,()=>{let c=Date.now(),d=c-r,_=0,p=0,m=!0;n+=Q.SCROLL_FRICTION*d,a+=Q.SCROLL_FRICTION*d,n>0&&(m=!1,_=o*n*d),a>0&&(m=!1,p=u*a*d);let f=this.newGestureEvent(He.Change);f.translationX=_,f.translationY=p,i.forEach(A=>A.dispatchEvent(f)),m||this.inertia(e,i,c,n,o,l+_,a,u,h+p)})}onTouchMove(e){let i=Date.now();for(let r=0,n=e.changedTouches.length;r<n;r++){let o=e.changedTouches.item(r);if(!this.activeTouches.hasOwnProperty(String(o.identifier))){console.warn(\"end of an UNKNOWN touch\",o);continue}let l=this.activeTouches[o.identifier],a=this.newGestureEvent(He.Change,l.initialTarget);a.translationX=o.pageX-Se(l.rollingPageX),a.translationY=o.pageY-Se(l.rollingPageY),a.pageX=o.pageX,a.pageY=o.pageY,this.dispatchEvent(a),l.rollingPageX.length>3&&(l.rollingPageX.shift(),l.rollingPageY.shift(),l.rollingTimestamps.shift()),l.rollingPageX.push(o.pageX),l.rollingPageY.push(o.pageY),l.rollingTimestamps.push(i)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}};Q.SCROLL_FRICTION=-.005,Q.HOLD_DELAY=700,Q.CLEAR_TAP_COUNT_TIME=400,M([Wo],Q,\"isTouchDevice\",1);var Pr=Q;var lt=class extends D{onclick(t,e){this._register(L(t,Y.CLICK,i=>e(new qe(be(t),i))))}onmousedown(t,e){this._register(L(t,Y.MOUSE_DOWN,i=>e(new qe(be(t),i))))}onmouseover(t,e){this._register(L(t,Y.MOUSE_OVER,i=>e(new qe(be(t),i))))}onmouseleave(t,e){this._register(L(t,Y.MOUSE_LEAVE,i=>e(new qe(be(t),i))))}onkeydown(t,e){this._register(L(t,Y.KEY_DOWN,i=>e(new ft(i))))}onkeyup(t,e){this._register(L(t,Y.KEY_UP,i=>e(new ft(i))))}oninput(t,e){this._register(L(t,Y.INPUT,e))}onblur(t,e){this._register(L(t,Y.BLUR,e))}onfocus(t,e){this._register(L(t,Y.FOCUS,e))}onchange(t,e){this._register(L(t,Y.CHANGE,e))}ignoreGesture(t){return Pr.ignoreTarget(t)}};var Uo=11,Or=class extends lt{constructor(t){super(),this._onActivate=t.onActivate,this.bgDomNode=document.createElement(\"div\"),this.bgDomNode.className=\"arrow-background\",this.bgDomNode.style.position=\"absolute\",this.bgDomNode.style.width=t.bgWidth+\"px\",this.bgDomNode.style.height=t.bgHeight+\"px\",typeof t.top<\"u\"&&(this.bgDomNode.style.top=\"0px\"),typeof t.left<\"u\"&&(this.bgDomNode.style.left=\"0px\"),typeof t.bottom<\"u\"&&(this.bgDomNode.style.bottom=\"0px\"),typeof t.right<\"u\"&&(this.bgDomNode.style.right=\"0px\"),this.domNode=document.createElement(\"div\"),this.domNode.className=t.className,this.domNode.style.position=\"absolute\",this.domNode.style.width=Uo+\"px\",this.domNode.style.height=Uo+\"px\",typeof t.top<\"u\"&&(this.domNode.style.top=t.top+\"px\"),typeof t.left<\"u\"&&(this.domNode.style.left=t.left+\"px\"),typeof t.bottom<\"u\"&&(this.domNode.style.bottom=t.bottom+\"px\"),typeof t.right<\"u\"&&(this.domNode.style.right=t.right+\"px\"),this._pointerMoveMonitor=this._register(new Wt),this._register(os(this.bgDomNode,Y.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(os(this.domNode,Y.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new Mr),this._pointerdownScheduleRepeatTimer=this._register(new Ye)}_arrowPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let e=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,be(t))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(e,200),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,i=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),t.preventDefault()}};var cs=class s{constructor(t,e,i,r,n,o,l){this._forceIntegerValues=t;this._scrollStateBrand=void 0;this._forceIntegerValues&&(e=e|0,i=i|0,r=r|0,n=n|0,o=o|0,l=l|0),this.rawScrollLeft=r,this.rawScrollTop=l,e<0&&(e=0),r+e>i&&(r=i-e),r<0&&(r=0),n<0&&(n=0),l+n>o&&(l=o-n),l<0&&(l=0),this.width=e,this.scrollWidth=i,this.scrollLeft=r,this.height=n,this.scrollHeight=o,this.scrollTop=l}equals(t){return this.rawScrollLeft===t.rawScrollLeft&&this.rawScrollTop===t.rawScrollTop&&this.width===t.width&&this.scrollWidth===t.scrollWidth&&this.scrollLeft===t.scrollLeft&&this.height===t.height&&this.scrollHeight===t.scrollHeight&&this.scrollTop===t.scrollTop}withScrollDimensions(t,e){return new s(this._forceIntegerValues,typeof t.width<\"u\"?t.width:this.width,typeof t.scrollWidth<\"u\"?t.scrollWidth:this.scrollWidth,e?this.rawScrollLeft:this.scrollLeft,typeof t.height<\"u\"?t.height:this.height,typeof t.scrollHeight<\"u\"?t.scrollHeight:this.scrollHeight,e?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new s(this._forceIntegerValues,this.width,this.scrollWidth,typeof t.scrollLeft<\"u\"?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof t.scrollTop<\"u\"?t.scrollTop:this.rawScrollTop)}createScrollEvent(t,e){let i=this.width!==t.width,r=this.scrollWidth!==t.scrollWidth,n=this.scrollLeft!==t.scrollLeft,o=this.height!==t.height,l=this.scrollHeight!==t.scrollHeight,a=this.scrollTop!==t.scrollTop;return{inSmoothScrolling:e,oldWidth:t.width,oldScrollWidth:t.scrollWidth,oldScrollLeft:t.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:t.height,oldScrollHeight:t.scrollHeight,oldScrollTop:t.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:r,scrollLeftChanged:n,heightChanged:o,scrollHeightChanged:l,scrollTopChanged:a}}},Ri=class extends D{constructor(e){super();this._scrollableBrand=void 0;this._onScroll=this._register(new v);this.onScroll=this._onScroll.event;this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new cs(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,i){let r=this._state.withScrollDimensions(e,i);this._setState(r,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let i=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(i,!1)}setScrollPositionSmooth(e,i){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>\"u\"?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>\"u\"?this._smoothScrolling.to.scrollTop:e.scrollTop};let r=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===r.scrollLeft&&this._smoothScrolling.to.scrollTop===r.scrollTop)return;let n;i?n=new Nr(this._smoothScrolling.from,r,this._smoothScrolling.startTime,this._smoothScrolling.duration):n=this._smoothScrolling.combine(this._state,r,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=n}else{let r=this._state.withScrollPosition(e);this._smoothScrolling=Nr.start(this._state,r,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),i=this._state.withScrollPosition(e);if(this._setState(i,!0),!!this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,i){let r=this._state;r.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(r,i)))}},Br=class{constructor(t,e,i){this.scrollLeft=t,this.scrollTop=e,this.isDone=i}};function as(s,t){let e=t-s;return function(i){return s+e*ka(i)}}function La(s,t,e){return function(i){return i<e?s(i/e):t((i-e)/(1-e))}}var Nr=class s{constructor(t,e,i,r){this.from=t,this.to=e,this.duration=r,this.startTime=i,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(t,e,i){if(Math.abs(t-e)>2.5*i){let n,o;return t<e?(n=t+.75*i,o=e-.75*i):(n=t-.75*i,o=e+.75*i),La(as(t,n),as(o,e),.33)}return as(t,e)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(t){this.to=t.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(t){let e=(t-this.startTime)/this.duration;if(e<1){let i=this.scrollLeft(e),r=this.scrollTop(e);return new Br(i,r,!1)}return new Br(this.to.scrollLeft,this.to.scrollTop,!0)}combine(t,e,i){return s.start(t,e,i)}static start(t,e,i){i=i+10;let r=Date.now()-10;return new s(t,e,r,i)}};function Aa(s){return Math.pow(s,3)}function ka(s){return 1-Aa(1-s)}var Fr=class extends D{constructor(t,e,i){super(),this._visibility=t,this._visibleClassName=e,this._invisibleClassName=i,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new Ye)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this._updateShouldBeVisible())}setShouldBeVisible(t){this._rawShouldBeVisible=t,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){let t=this._applyVisibilitySetting();this._shouldBeVisible!==t&&(this._shouldBeVisible=t,this.ensureVisibility())}setIsNeeded(t){this._isNeeded!==t&&(this._isNeeded=t,this.ensureVisibility())}setDomNode(t){this._domNode=t,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(t){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(t?\" fade\":\"\")))}};var Ca=140,Ut=class extends lt{constructor(t){super(),this._lazyRender=t.lazyRender,this._host=t.host,this._scrollable=t.scrollable,this._scrollByPage=t.scrollByPage,this._scrollbarState=t.scrollbarState,this._visibilityController=this._register(new Fr(t.visibility,\"visible scrollbar \"+t.extraScrollbarClassName,\"invisible scrollbar \"+t.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new Wt),this._shouldRender=!0,this.domNode=_t(document.createElement(\"div\")),this.domNode.setAttribute(\"role\",\"presentation\"),this.domNode.setAttribute(\"aria-hidden\",\"true\"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition(\"absolute\"),this._register(L(this.domNode.domNode,Y.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(t){let e=this._register(new Or(t));this.domNode.domNode.appendChild(e.bgDomNode),this.domNode.domNode.appendChild(e.domNode)}_createSlider(t,e,i,r){this.slider=_t(document.createElement(\"div\")),this.slider.setClassName(\"slider\"),this.slider.setPosition(\"absolute\"),this.slider.setTop(t),this.slider.setLeft(e),typeof i==\"number\"&&this.slider.setWidth(i),typeof r==\"number\"&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain(\"strict\"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(L(this.slider.domNode,Y.POINTER_DOWN,n=>{n.button===0&&(n.preventDefault(),this._sliderPointerDown(n))})),this.onclick(this.slider.domNode,n=>{n.leftButton&&n.stopPropagation()})}_onElementSize(t){return this._scrollbarState.setVisibleSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(t){return this._scrollbarState.setScrollSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(t){return this._scrollbarState.setScrollPosition(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(t){t.target===this.domNode.domNode&&this._onPointerDown(t)}delegatePointerDown(t){let e=this.domNode.domNode.getClientRects()[0].top,i=e+this._scrollbarState.getSliderPosition(),r=e+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),n=this._sliderPointerPosition(t);i<=n&&n<=r?t.button===0&&(t.preventDefault(),this._sliderPointerDown(t)):this._onPointerDown(t)}_onPointerDown(t){let e,i;if(t.target===this.domNode.domNode&&typeof t.offsetX==\"number\"&&typeof t.offsetY==\"number\")e=t.offsetX,i=t.offsetY;else{let n=Fo(this.domNode.domNode);e=t.pageX-n.left,i=t.pageY-n.top}let r=this._pointerDownRelativePosition(e,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),t.button===0&&(t.preventDefault(),this._sliderPointerDown(t))}_sliderPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let e=this._sliderPointerPosition(t),i=this._sliderOrthogonalPointerPosition(t),r=this._scrollbarState.clone();this.slider.toggleClassName(\"active\",!0),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,n=>{let o=this._sliderOrthogonalPointerPosition(n),l=Math.abs(o-i);if(wr&&l>Ca){this._setDesiredScrollPositionNow(r.getScrollPosition());return}let u=this._sliderPointerPosition(n)-e;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(u))},()=>{this.slider.toggleClassName(\"active\",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(t){let e={};this.writeScrollPosition(e,t),this._scrollable.setScrollPositionNow(e)}updateScrollbarSize(t){this._updateScrollbarSize(t),this._scrollbarState.setScrollbarSize(t),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}};var Kt=class s{constructor(t,e,i,r,n,o){this._scrollbarSize=Math.round(e),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(t),this._visibleSize=r,this._scrollSize=n,this._scrollPosition=o,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new s(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(t){let e=Math.round(t);return this._visibleSize!==e?(this._visibleSize=e,this._refreshComputedValues(),!0):!1}setScrollSize(t){let e=Math.round(t);return this._scrollSize!==e?(this._scrollSize=e,this._refreshComputedValues(),!0):!1}setScrollPosition(t){let e=Math.round(t);return this._scrollPosition!==e?(this._scrollPosition=e,this._refreshComputedValues(),!0):!1}setScrollbarSize(t){this._scrollbarSize=Math.round(t)}setOppositeScrollbarSize(t){this._oppositeScrollbarSize=Math.round(t)}static _computeValues(t,e,i,r,n){let o=Math.max(0,i-t),l=Math.max(0,o-2*e),a=r>0&&r>i;if(!a)return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(l),computedSliderRatio:0,computedSliderPosition:0};let u=Math.round(Math.max(20,Math.floor(i*l/r))),h=(l-u)/(r-i),c=n*h;return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(u),computedSliderRatio:h,computedSliderPosition:Math.round(c)}}_refreshComputedValues(){let t=s._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(t){if(!this._computedIsNeeded)return 0;let e=t-this._arrowSize-this._computedSliderSize/2;return Math.round(e/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(t){if(!this._computedIsNeeded)return 0;let e=t-this._arrowSize,i=this._scrollPosition;return e<this._computedSliderPosition?i-=this._visibleSize:i+=this._visibleSize,i}getDesiredScrollPositionFromDelta(t){if(!this._computedIsNeeded)return 0;let e=this._computedSliderPosition+t;return Math.round(e/this._computedSliderRatio)}};var Wr=class extends Ut{constructor(t,e,i){let r=t.getScrollDimensions(),n=t.getCurrentScrollPosition();if(super({lazyRender:e.lazyRender,host:i,scrollbarState:new Kt(e.horizontalHasArrows?e.arrowSize:0,e.horizontal===2?0:e.horizontalScrollbarSize,e.vertical===2?0:e.verticalScrollbarSize,r.width,r.scrollWidth,n.scrollLeft),visibility:e.horizontal,extraScrollbarClassName:\"horizontal\",scrollable:t,scrollByPage:e.scrollByPage}),e.horizontalHasArrows)throw new Error(\"horizontalHasArrows is not supported in xterm.js\");this._createSlider(Math.floor((e.horizontalScrollbarSize-e.horizontalSliderSize)/2),0,void 0,e.horizontalSliderSize)}_updateSlider(t,e){this.slider.setWidth(t),this.slider.setLeft(e)}_renderDomNode(t,e){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(t.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,e){return t}_sliderPointerPosition(t){return t.pageX}_sliderOrthogonalPointerPosition(t){return t.pageY}_updateScrollbarSize(t){this.slider.setHeight(t)}writeScrollPosition(t,e){t.scrollLeft=e}updateOptions(t){this.updateScrollbarSize(t.horizontal===2?0:t.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(t.vertical===2?0:t.verticalScrollbarSize),this._visibilityController.setVisibility(t.horizontal),this._scrollByPage=t.scrollByPage}};var Ur=class extends Ut{constructor(t,e,i){let r=t.getScrollDimensions(),n=t.getCurrentScrollPosition();if(super({lazyRender:e.lazyRender,host:i,scrollbarState:new Kt(e.verticalHasArrows?e.arrowSize:0,e.vertical===2?0:e.verticalScrollbarSize,0,r.height,r.scrollHeight,n.scrollTop),visibility:e.vertical,extraScrollbarClassName:\"vertical\",scrollable:t,scrollByPage:e.scrollByPage}),e.verticalHasArrows)throw new Error(\"horizontalHasArrows is not supported in xterm.js\");this._createSlider(0,Math.floor((e.verticalScrollbarSize-e.verticalSliderSize)/2),e.verticalSliderSize,void 0)}_updateSlider(t,e){this.slider.setHeight(t),this.slider.setTop(e)}_renderDomNode(t,e){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(t.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,e){return e}_sliderPointerPosition(t){return t.pageY}_sliderOrthogonalPointerPosition(t){return t.pageX}_updateScrollbarSize(t){this.slider.setWidth(t)}writeScrollPosition(t,e){t.scrollTop=e}updateOptions(t){this.updateScrollbarSize(t.vertical===2?0:t.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(t.vertical),this._scrollByPage=t.scrollByPage}};var Ma=500,Ko=50,zo=!0,us=class{constructor(t,e,i){this.timestamp=t,this.deltaX=e,this.deltaY=i,this.score=0}},zr=class zr{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let t=1,e=0,i=1,r=this._rear;do{let n=r===this._front?t:Math.pow(2,-i);if(t-=n,e+=this._memory[r].score*n,r===this._front)break;r=(this._capacity+r-1)%this._capacity,i++}while(!0);return e<=.5}acceptStandardWheelEvent(t){if(Ti){let e=be(t.browserEvent),i=mo(e);this.accept(Date.now(),t.deltaX*i,t.deltaY*i)}else this.accept(Date.now(),t.deltaX,t.deltaY)}accept(t,e,i){let r=null,n=new us(t,e,i);this._front===-1&&this._rear===-1?(this._memory[0]=n,this._front=0,this._rear=0):(r=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=n),n.score=this._computeScore(n,r)}_computeScore(t,e){if(Math.abs(t.deltaX)>0&&Math.abs(t.deltaY)>0)return 1;let i=.5;if((!this._isAlmostInt(t.deltaX)||!this._isAlmostInt(t.deltaY))&&(i+=.25),e){let r=Math.abs(t.deltaX),n=Math.abs(t.deltaY),o=Math.abs(e.deltaX),l=Math.abs(e.deltaY),a=Math.max(Math.min(r,o),1),u=Math.max(Math.min(n,l),1),h=Math.max(r,o),c=Math.max(n,l);h%a===0&&c%u===0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(t){return Math.abs(Math.round(t)-t)<.01}};zr.INSTANCE=new zr;var hs=zr,ds=class extends lt{constructor(e,i,r){super();this._onScroll=this._register(new v);this.onScroll=this._onScroll.event;this._onWillScroll=this._register(new v);this.onWillScroll=this._onWillScroll.event;this._options=Pa(i),this._scrollable=r,this._register(this._scrollable.onScroll(o=>{this._onWillScroll.fire(o),this._onDidScroll(o),this._onScroll.fire(o)}));let n={onMouseWheel:o=>this._onMouseWheel(o),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new Ur(this._scrollable,this._options,n)),this._horizontalScrollbar=this._register(new Wr(this._scrollable,this._options,n)),this._domNode=document.createElement(\"div\"),this._domNode.className=\"xterm-scrollable-element \"+this._options.className,this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.style.position=\"relative\",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=_t(document.createElement(\"div\")),this._leftShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=_t(document.createElement(\"div\")),this._topShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=_t(document.createElement(\"div\")),this._topLeftShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,o=>this._onMouseOver(o)),this.onmouseleave(this._listenOnDomNode,o=>this._onMouseLeave(o)),this._hideTimeout=this._register(new Ye),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=Ne(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,Te&&(this._options.className+=\" mac\"),this._domNode.className=\"xterm-scrollable-element \"+this._options.className}updateOptions(e){typeof e.handleMouseWheel<\"u\"&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<\"u\"&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<\"u\"&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<\"u\"&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<\"u\"&&(this._options.horizontal=e.horizontal),typeof e.vertical<\"u\"&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<\"u\"&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<\"u\"&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<\"u\"&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new xi(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=Ne(this._mouseWheelToDispose),e)){let r=n=>{this._onMouseWheel(new xi(n))};this._mouseWheelToDispose.push(L(this._listenOnDomNode,Y.MOUSE_WHEEL,r,{passive:!1}))}}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let i=hs.INSTANCE;zo&&i.acceptStandardWheelEvent(e);let r=!1;if(e.deltaY||e.deltaX){let o=e.deltaY*this._options.mouseWheelScrollSensitivity,l=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&l+o===0?l=o=0:Math.abs(o)>=Math.abs(l)?l=0:o=0),this._options.flipAxes&&([o,l]=[l,o]);let a=!Te&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||a)&&!l&&(l=o,o=0),e.browserEvent&&e.browserEvent.altKey&&(l=l*this._options.fastScrollSensitivity,o=o*this._options.fastScrollSensitivity);let u=this._scrollable.getFutureScrollPosition(),h={};if(o){let c=Ko*o,d=u.scrollTop-(c<0?Math.floor(c):Math.ceil(c));this._verticalScrollbar.writeScrollPosition(h,d)}if(l){let c=Ko*l,d=u.scrollLeft-(c<0?Math.floor(c):Math.ceil(c));this._horizontalScrollbar.writeScrollPosition(h,d)}h=this._scrollable.validateScrollPosition(h),(u.scrollLeft!==h.scrollLeft||u.scrollTop!==h.scrollTop)&&(zo&&this._options.mouseWheelSmoothScroll&&i.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(h):this._scrollable.setScrollPositionNow(h),r=!0)}let n=r;!n&&this._options.alwaysConsumeMouseWheel&&(n=!0),!n&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(n=!0),n&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error(\"Please use `lazyRender` together with `renderNow`!\");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),i=e.scrollTop>0,r=e.scrollLeft>0,n=r?\" left\":\"\",o=i?\" top\":\"\",l=r||i?\" top-left-corner\":\"\";this._leftShadowDomNode.setClassName(`shadow${n}`),this._topShadowDomNode.setClassName(`shadow${o}`),this._topLeftShadowDomNode.setClassName(`shadow${l}${o}${n}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),Ma)}};var Kr=class extends ds{constructor(t,e,i){super(t,e,i)}setScrollPosition(t){t.reuseAnimation?this._scrollable.setScrollPositionSmooth(t,t.reuseAnimation):this._scrollable.setScrollPositionNow(t)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function Pa(s){let t={lazyRender:typeof s.lazyRender<\"u\"?s.lazyRender:!1,className:typeof s.className<\"u\"?s.className:\"\",useShadows:typeof s.useShadows<\"u\"?s.useShadows:!0,handleMouseWheel:typeof s.handleMouseWheel<\"u\"?s.handleMouseWheel:!0,flipAxes:typeof s.flipAxes<\"u\"?s.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof s.consumeMouseWheelIfScrollbarIsNeeded<\"u\"?s.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof s.alwaysConsumeMouseWheel<\"u\"?s.alwaysConsumeMouseWheel:!1,scrollYToX:typeof s.scrollYToX<\"u\"?s.scrollYToX:!1,mouseWheelScrollSensitivity:typeof s.mouseWheelScrollSensitivity<\"u\"?s.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof s.fastScrollSensitivity<\"u\"?s.fastScrollSensitivity:5,scrollPredominantAxis:typeof s.scrollPredominantAxis<\"u\"?s.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof s.mouseWheelSmoothScroll<\"u\"?s.mouseWheelSmoothScroll:!0,arrowSize:typeof s.arrowSize<\"u\"?s.arrowSize:11,listenOnDomNode:typeof s.listenOnDomNode<\"u\"?s.listenOnDomNode:null,horizontal:typeof s.horizontal<\"u\"?s.horizontal:1,horizontalScrollbarSize:typeof s.horizontalScrollbarSize<\"u\"?s.horizontalScrollbarSize:10,horizontalSliderSize:typeof s.horizontalSliderSize<\"u\"?s.horizontalSliderSize:0,horizontalHasArrows:typeof s.horizontalHasArrows<\"u\"?s.horizontalHasArrows:!1,vertical:typeof s.vertical<\"u\"?s.vertical:1,verticalScrollbarSize:typeof s.verticalScrollbarSize<\"u\"?s.verticalScrollbarSize:10,verticalHasArrows:typeof s.verticalHasArrows<\"u\"?s.verticalHasArrows:!1,verticalSliderSize:typeof s.verticalSliderSize<\"u\"?s.verticalSliderSize:0,scrollByPage:typeof s.scrollByPage<\"u\"?s.scrollByPage:!1};return t.horizontalSliderSize=typeof s.horizontalSliderSize<\"u\"?s.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=typeof s.verticalSliderSize<\"u\"?s.verticalSliderSize:t.verticalScrollbarSize,Te&&(t.className+=\" mac\"),t}var zt=class extends D{constructor(e,i,r,n,o,l,a,u){super();this._bufferService=r;this._optionsService=a;this._renderService=u;this._onRequestScrollLines=this._register(new v);this.onRequestScrollLines=this._onRequestScrollLines.event;this._isSyncing=!1;this._isHandlingScroll=!1;this._suppressOnScrollHandler=!1;let h=this._register(new Ri({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:c=>mt(n.window,c)}));this._register(this._optionsService.onSpecificOptionChange(\"smoothScrollDuration\",()=>{h.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new Kr(i,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},h)),this._register(this._optionsService.onMultipleOptionChange([\"scrollSensitivity\",\"fastScrollSensitivity\",\"overviewRuler\"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(o.onProtocolChange(c=>{this._scrollableElement.updateOptions({handleMouseWheel:!(c&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register($.runAndSubscribe(l.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=l.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(C(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=n.mainDocument.createElement(\"style\"),i.appendChild(this._styleElement),this._register(C(()=>this._styleElement.remove())),this._register($.runAndSubscribe(l.onChangeColors,()=>{this._styleElement.textContent=[\".xterm .xterm-scrollable-element > .scrollbar > .slider {\",` background: ${l.colors.scrollbarSliderBackground.css};`,\"}\",\".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {\",` background: ${l.colors.scrollbarSliderHoverBackground.css};`,\"}\",\".xterm .xterm-scrollable-element > .scrollbar > .slider.active {\",` background: ${l.colors.scrollbarSliderActiveBackground.css};`,\"}\"].join(`\n`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(c=>this._handleScroll(c)))}scrollLines(e){let i=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:i.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,i){i&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!i,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(e){e!==void 0&&(this._latestYDisp=e),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let i=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),r=i-this._bufferService.buffer.ydisp;r!==0&&(this._latestYDisp=i,this._onRequestScrollLines.fire(r)),this._isHandlingScroll=!1}};zt=M([S(2,F),S(3,ae),S(4,rr),S(5,Re),S(6,H),S(7,ce)],zt);var Gt=class extends D{constructor(e,i,r,n,o){super();this._screenElement=e;this._bufferService=i;this._coreBrowserService=r;this._decorationService=n;this._renderService=o;this._decorationElements=new Map;this._altBufferIsActive=!1;this._dimensionsChanged=!1;this._container=document.createElement(\"div\"),this._container.classList.add(\"xterm-decoration-container\"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(l=>this._removeDecoration(l))),this._register(C(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){let i=this._coreBrowserService.mainDocument.createElement(\"div\");i.classList.add(\"xterm-decoration\"),i.classList.toggle(\"xterm-decoration-top-layer\",e?.options?.layer===\"top\"),i.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,i.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,i.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,i.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let r=e.options.x??0;return r&&r>this._bufferService.cols&&(i.style.display=\"none\"),this._refreshXPosition(e,i),i}_refreshStyle(e){let i=e.marker.line-this._bufferService.buffers.active.ydisp;if(i<0||i>=this._bufferService.rows)e.element&&(e.element.style.display=\"none\",e.onRenderEmitter.fire(e.element));else{let r=this._decorationElements.get(e);r||(r=this._createElement(e),e.element=r,this._decorationElements.set(e,r),this._container.appendChild(r),e.onDispose(()=>{this._decorationElements.delete(e),r.remove()})),r.style.display=this._altBufferIsActive?\"none\":\"block\",this._altBufferIsActive||(r.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,r.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,r.style.top=`${i*this._renderService.dimensions.css.cell.height}px`,r.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(r)}}_refreshXPosition(e,i=e.element){if(!i)return;let r=e.options.x??0;(e.options.anchor||\"left\")===\"right\"?i.style.right=r?`${r*this._renderService.dimensions.css.cell.width}px`:\"\":i.style.left=r?`${r*this._renderService.dimensions.css.cell.width}px`:\"\"}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};Gt=M([S(1,F),S(2,ae),S(3,Be),S(4,ce)],Gt);var Gr=class{constructor(){this._zones=[];this._zonePool=[];this._zonePoolIndex=0;this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(t){if(t.options.overviewRulerOptions){for(let e of this._zones)if(e.color===t.options.overviewRulerOptions.color&&e.position===t.options.overviewRulerOptions.position){if(this._lineIntersectsZone(e,t.marker.line))return;if(this._lineAdjacentToZone(e,t.marker.line,t.options.overviewRulerOptions.position)){this._addLineToZone(e,t.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=t.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=t.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=t.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=t.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:t.options.overviewRulerOptions.color,position:t.options.overviewRulerOptions.position,startBufferLine:t.marker.line,endBufferLine:t.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(t){this._linePadding=t}_lineIntersectsZone(t,e){return e>=t.startBufferLine&&e<=t.endBufferLine}_lineAdjacentToZone(t,e,i){return e>=t.startBufferLine-this._linePadding[i||\"full\"]&&e<=t.endBufferLine+this._linePadding[i||\"full\"]}_addLineToZone(t,e){t.startBufferLine=Math.min(t.startBufferLine,e),t.endBufferLine=Math.max(t.endBufferLine,e)}};var We={full:0,left:0,center:0,right:0},at={full:0,left:0,center:0,right:0},Li={full:0,left:0,center:0,right:0},bt=class extends D{constructor(e,i,r,n,o,l,a,u){super();this._viewportElement=e;this._screenElement=i;this._bufferService=r;this._decorationService=n;this._renderService=o;this._optionsService=l;this._themeService=a;this._coreBrowserService=u;this._colorZoneStore=new Gr;this._shouldUpdateDimensions=!0;this._shouldUpdateAnchor=!0;this._lastKnownBufferLength=0;this._canvas=this._coreBrowserService.mainDocument.createElement(\"canvas\"),this._canvas.classList.add(\"xterm-decoration-overview-ruler\"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(C(()=>this._canvas?.remove()));let h=this._canvas.getContext(\"2d\");if(h)this._ctx=h;else throw new Error(\"Ctx cannot be null\");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?\"none\":\"block\"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange(\"overviewRuler\",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let e=Math.floor((this._canvas.width-1)/3),i=Math.ceil((this._canvas.width-1)/3);at.full=this._canvas.width,at.left=e,at.center=i,at.right=e,this._refreshDrawHeightConstants(),Li.full=1,Li.left=1,Li.center=1+at.left,Li.right=1+at.left+at.center}_refreshDrawHeightConstants(){We.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,i=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);We.left=i,We.center=i,We.right=i}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*We.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*We.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*We.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*We.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let i of this._decorationService.decorations)this._colorZoneStore.addDecoration(i);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let i of e)i.position!==\"full\"&&this._renderColorZone(i);for(let i of e)i.position===\"full\"&&this._renderColorZone(i);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(Li[e.position||\"full\"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-We[e.position||\"full\"]/2),at[e.position||\"full\"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+We[e.position||\"full\"]))}_queueRefresh(e,i){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=i||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};bt=M([S(2,F),S(3,Be),S(4,ce),S(5,H),S(6,Re),S(7,ae)],bt);var b;(E=>(E.NUL=\"\\0\",E.SOH=\"\u0001\",E.STX=\"\u0002\",E.ETX=\"\u0003\",E.EOT=\"\u0004\",E.ENQ=\"\u0005\",E.ACK=\"\u0006\",E.BEL=\"\\x07\",E.BS=\"\\b\",E.HT=\"\t\",E.LF=`\n`,E.VT=\"\\v\",E.FF=\"\\f\",E.CR=\"\\r\",E.SO=\"\u000e\",E.SI=\"\u000f\",E.DLE=\"\u0010\",E.DC1=\"\u0011\",E.DC2=\"\u0012\",E.DC3=\"\u0013\",E.DC4=\"\u0014\",E.NAK=\"\u0015\",E.SYN=\"\u0016\",E.ETB=\"\u0017\",E.CAN=\"\u0018\",E.EM=\"\u0019\",E.SUB=\"\u001a\",E.ESC=\"\\x1B\",E.FS=\"\u001c\",E.GS=\"\u001d\",E.RS=\"\u001e\",E.US=\"\u001f\",E.SP=\" \",E.DEL=\"\\x7F\"))(b||={});var Ai;(g=>(g.PAD=\"\\x80\",g.HOP=\"\\x81\",g.BPH=\"\\x82\",g.NBH=\"\\x83\",g.IND=\"\\x84\",g.NEL=\"\\x85\",g.SSA=\"\\x86\",g.ESA=\"\\x87\",g.HTS=\"\\x88\",g.HTJ=\"\\x89\",g.VTS=\"\\x8A\",g.PLD=\"\\x8B\",g.PLU=\"\\x8C\",g.RI=\"\\x8D\",g.SS2=\"\\x8E\",g.SS3=\"\\x8F\",g.DCS=\"\\x90\",g.PU1=\"\\x91\",g.PU2=\"\\x92\",g.STS=\"\\x93\",g.CCH=\"\\x94\",g.MW=\"\\x95\",g.SPA=\"\\x96\",g.EPA=\"\\x97\",g.SOS=\"\\x98\",g.SGCI=\"\\x99\",g.SCI=\"\\x9A\",g.CSI=\"\\x9B\",g.ST=\"\\x9C\",g.OSC=\"\\x9D\",g.PM=\"\\x9E\",g.APC=\"\\x9F\"))(Ai||={});var fs;(t=>t.ST=`${b.ESC}\\\\`)(fs||={});var $t=class{constructor(t,e,i,r,n,o){this._textarea=t;this._compositionView=e;this._bufferService=i;this._optionsService=r;this._coreService=n;this._renderService=o;this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=\"\"}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=\"\",this._dataAlreadySent=\"\",this._compositionView.classList.add(\"active\")}compositionupdate(t){this._compositionView.textContent=t.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(t){if(this._isComposing||this._isSendingComposition){if(t.keyCode===20||t.keyCode===229||t.keyCode===16||t.keyCode===17||t.keyCode===18)return!1;this._finalizeComposition(!1)}return t.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(t){if(this._compositionView.classList.remove(\"active\"),this._isComposing=!1,t){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let i;e.start+=this._dataAlreadySent.length,this._isComposing?i=this._textarea.value.substring(e.start,this._compositionPosition.start):i=this._textarea.value.substring(e.start),i.length>0&&this._coreService.triggerDataEvent(i,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let t=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let e=this._textarea.value,i=e.replace(t,\"\");this._dataAlreadySent=i,e.length>t.length?this._coreService.triggerDataEvent(i,!0):e.length<t.length?this._coreService.triggerDataEvent(`${b.DEL}`,!0):e.length===t.length&&e!==t&&this._coreService.triggerDataEvent(e,!0)}},0)}updateCompositionElements(t){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),i=this._renderService.dimensions.css.cell.height,r=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,n=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=n+\"px\",this._compositionView.style.top=r+\"px\",this._compositionView.style.height=i+\"px\",this._compositionView.style.lineHeight=i+\"px\",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+\"px\";let o=this._compositionView.getBoundingClientRect();this._textarea.style.left=n+\"px\",this._textarea.style.top=r+\"px\",this._textarea.style.width=Math.max(o.width,1)+\"px\",this._textarea.style.height=Math.max(o.height,1)+\"px\",this._textarea.style.lineHeight=o.height+\"px\"}t||setTimeout(()=>this.updateCompositionElements(!0),0)}}};$t=M([S(2,F),S(3,H),S(4,ge),S(5,ce)],$t);var ue=0,he=0,de=0,J=0,ps={css:\"#00000000\",rgba:0},j;(i=>{function s(r,n,o,l){return l!==void 0?`#${vt(r)}${vt(n)}${vt(o)}${vt(l)}`:`#${vt(r)}${vt(n)}${vt(o)}`}i.toCss=s;function t(r,n,o,l=255){return(r<<24|n<<16|o<<8|l)>>>0}i.toRgba=t;function e(r,n,o,l){return{css:i.toCss(r,n,o,l),rgba:i.toRgba(r,n,o,l)}}i.toColor=e})(j||={});var U;(l=>{function s(a,u){if(J=(u.rgba&255)/255,J===1)return{css:u.css,rgba:u.rgba};let h=u.rgba>>24&255,c=u.rgba>>16&255,d=u.rgba>>8&255,_=a.rgba>>24&255,p=a.rgba>>16&255,m=a.rgba>>8&255;ue=_+Math.round((h-_)*J),he=p+Math.round((c-p)*J),de=m+Math.round((d-m)*J);let f=j.toCss(ue,he,de),A=j.toRgba(ue,he,de);return{css:f,rgba:A}}l.blend=s;function t(a){return(a.rgba&255)===255}l.isOpaque=t;function e(a,u,h){let c=$r.ensureContrastRatio(a.rgba,u.rgba,h);if(c)return j.toColor(c>>24&255,c>>16&255,c>>8&255)}l.ensureContrastRatio=e;function i(a){let u=(a.rgba|255)>>>0;return[ue,he,de]=$r.toChannels(u),{css:j.toCss(ue,he,de),rgba:u}}l.opaque=i;function r(a,u){return J=Math.round(u*255),[ue,he,de]=$r.toChannels(a.rgba),{css:j.toCss(ue,he,de,J),rgba:j.toRgba(ue,he,de,J)}}l.opacity=r;function n(a,u){return J=a.rgba&255,r(a,J*u/255)}l.multiplyOpacity=n;function o(a){return[a.rgba>>24&255,a.rgba>>16&255,a.rgba>>8&255]}l.toColorRGB=o})(U||={});var z;(i=>{let s,t;try{let r=document.createElement(\"canvas\");r.width=1,r.height=1;let n=r.getContext(\"2d\",{willReadFrequently:!0});n&&(s=n,s.globalCompositeOperation=\"copy\",t=s.createLinearGradient(0,0,1,1))}catch{}function e(r){if(r.match(/#[\\da-f]{3,8}/i))switch(r.length){case 4:return ue=parseInt(r.slice(1,2).repeat(2),16),he=parseInt(r.slice(2,3).repeat(2),16),de=parseInt(r.slice(3,4).repeat(2),16),j.toColor(ue,he,de);case 5:return ue=parseInt(r.slice(1,2).repeat(2),16),he=parseInt(r.slice(2,3).repeat(2),16),de=parseInt(r.slice(3,4).repeat(2),16),J=parseInt(r.slice(4,5).repeat(2),16),j.toColor(ue,he,de,J);case 7:return{css:r,rgba:(parseInt(r.slice(1),16)<<8|255)>>>0};case 9:return{css:r,rgba:parseInt(r.slice(1),16)>>>0}}let n=r.match(/rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(,\\s*(0|1|\\d?\\.(\\d+))\\s*)?\\)/);if(n)return ue=parseInt(n[1]),he=parseInt(n[2]),de=parseInt(n[3]),J=Math.round((n[5]===void 0?1:parseFloat(n[5]))*255),j.toColor(ue,he,de,J);if(!s||!t)throw new Error(\"css.toColor: Unsupported css format\");if(s.fillStyle=t,s.fillStyle=r,typeof s.fillStyle!=\"string\")throw new Error(\"css.toColor: Unsupported css format\");if(s.fillRect(0,0,1,1),[ue,he,de,J]=s.getImageData(0,0,1,1).data,J!==255)throw new Error(\"css.toColor: Unsupported css format\");return{rgba:j.toRgba(ue,he,de,J),css:r}}i.toColor=e})(z||={});var ve;(e=>{function s(i){return t(i>>16&255,i>>8&255,i&255)}e.relativeLuminance=s;function t(i,r,n){let o=i/255,l=r/255,a=n/255,u=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4),h=l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4),c=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4);return u*.2126+h*.7152+c*.0722}e.relativeLuminance2=t})(ve||={});var $r;(n=>{function s(o,l){if(J=(l&255)/255,J===1)return l;let a=l>>24&255,u=l>>16&255,h=l>>8&255,c=o>>24&255,d=o>>16&255,_=o>>8&255;return ue=c+Math.round((a-c)*J),he=d+Math.round((u-d)*J),de=_+Math.round((h-_)*J),j.toRgba(ue,he,de)}n.blend=s;function t(o,l,a){let u=ve.relativeLuminance(o>>8),h=ve.relativeLuminance(l>>8);if(Xe(u,h)<a){if(h<u){let p=e(o,l,a),m=Xe(u,ve.relativeLuminance(p>>8));if(m<a){let f=i(o,l,a),A=Xe(u,ve.relativeLuminance(f>>8));return m>A?p:f}return p}let d=i(o,l,a),_=Xe(u,ve.relativeLuminance(d>>8));if(_<a){let p=e(o,l,a),m=Xe(u,ve.relativeLuminance(p>>8));return _>m?d:p}return d}}n.ensureContrastRatio=t;function e(o,l,a){let u=o>>24&255,h=o>>16&255,c=o>>8&255,d=l>>24&255,_=l>>16&255,p=l>>8&255,m=Xe(ve.relativeLuminance2(d,_,p),ve.relativeLuminance2(u,h,c));for(;m<a&&(d>0||_>0||p>0);)d-=Math.max(0,Math.ceil(d*.1)),_-=Math.max(0,Math.ceil(_*.1)),p-=Math.max(0,Math.ceil(p*.1)),m=Xe(ve.relativeLuminance2(d,_,p),ve.relativeLuminance2(u,h,c));return(d<<24|_<<16|p<<8|255)>>>0}n.reduceLuminance=e;function i(o,l,a){let u=o>>24&255,h=o>>16&255,c=o>>8&255,d=l>>24&255,_=l>>16&255,p=l>>8&255,m=Xe(ve.relativeLuminance2(d,_,p),ve.relativeLuminance2(u,h,c));for(;m<a&&(d<255||_<255||p<255);)d=Math.min(255,d+Math.ceil((255-d)*.1)),_=Math.min(255,_+Math.ceil((255-_)*.1)),p=Math.min(255,p+Math.ceil((255-p)*.1)),m=Xe(ve.relativeLuminance2(d,_,p),ve.relativeLuminance2(u,h,c));return(d<<24|_<<16|p<<8|255)>>>0}n.increaseLuminance=i;function r(o){return[o>>24&255,o>>16&255,o>>8&255,o&255]}n.toChannels=r})($r||={});function vt(s){let t=s.toString(16);return t.length<2?\"0\"+t:t}function Xe(s,t){return s<t?(t+.05)/(s+.05):(s+.05)/(t+.05)}var Vr=class extends De{constructor(e,i,r){super();this.content=0;this.combinedData=\"\";this.fg=e.fg,this.bg=e.bg,this.combinedData=i,this._width=r}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error(\"not implemented\")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},ct=class{constructor(t){this._bufferService=t;this._characterJoiners=[];this._nextCharacterJoinerId=0;this._workCell=new q}register(t){let e={id:this._nextCharacterJoinerId++,handler:t};return this._characterJoiners.push(e),e.id}deregister(t){for(let e=0;e<this._characterJoiners.length;e++)if(this._characterJoiners[e].id===t)return this._characterJoiners.splice(e,1),!0;return!1}getJoinedCharacters(t){if(this._characterJoiners.length===0)return[];let e=this._bufferService.buffer.lines.get(t);if(!e||e.length===0)return[];let i=[],r=e.translateToString(!0),n=0,o=0,l=0,a=e.getFg(0),u=e.getBg(0);for(let h=0;h<e.getTrimmedLength();h++)if(e.loadCell(h,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==a||this._workCell.bg!==u){if(h-n>1){let c=this._getJoinedRanges(r,l,o,e,n);for(let d=0;d<c.length;d++)i.push(c[d])}n=h,l=o,a=this._workCell.fg,u=this._workCell.bg}o+=this._workCell.getChars().length||we.length}if(this._bufferService.cols-n>1){let h=this._getJoinedRanges(r,l,o,e,n);for(let c=0;c<h.length;c++)i.push(h[c])}return i}_getJoinedRanges(t,e,i,r,n){let o=t.substring(e,i),l=[];try{l=this._characterJoiners[0].handler(o)}catch(a){console.error(a)}for(let a=1;a<this._characterJoiners.length;a++)try{let u=this._characterJoiners[a].handler(o);for(let h=0;h<u.length;h++)ct._mergeRanges(l,u[h])}catch(u){console.error(u)}return this._stringRangesToCellRanges(l,r,n),l}_stringRangesToCellRanges(t,e,i){let r=0,n=!1,o=0,l=t[r];if(l){for(let a=i;a<this._bufferService.cols;a++){let u=e.getWidth(a),h=e.getString(a).length||we.length;if(u!==0){if(!n&&l[0]<=o&&(l[0]=a,n=!0),l[1]<=o){if(l[1]=a,l=t[++r],!l)break;l[0]<=o?(l[0]=a,n=!0):n=!1}o+=h}}l&&(l[1]=this._bufferService.cols)}}static _mergeRanges(t,e){let i=!1;for(let r=0;r<t.length;r++){let n=t[r];if(i){if(e[1]<=n[0])return t[r-1][1]=e[1],t;if(e[1]<=n[1])return t[r-1][1]=Math.max(e[1],n[1]),t.splice(r,1),t;t.splice(r,1),r--}else{if(e[1]<=n[0])return t.splice(r,0,e),t;if(e[1]<=n[1])return n[0]=Math.min(e[0],n[0]),t;e[0]<n[1]&&(n[0]=Math.min(e[0],n[0]),i=!0);continue}}return i?t[t.length-1][1]=e[1]:t.push(e),t}};ct=M([S(0,F)],ct);function Oa(s){return 57508<=s&&s<=57558}function Ba(s){return 9472<=s&&s<=9631}function $o(s){return Oa(s)||Ba(s)}function Vo(){return{css:{canvas:qr(),cell:qr()},device:{canvas:qr(),cell:qr(),char:{width:0,height:0,left:0,top:0}}}}function qr(){return{width:0,height:0}}var Vt=class{constructor(t,e,i,r,n,o,l){this._document=t;this._characterJoinerService=e;this._optionsService=i;this._coreBrowserService=r;this._coreService=n;this._decorationService=o;this._themeService=l;this._workCell=new q;this._columnSelectMode=!1;this.defaultSpacing=0}handleSelectionChanged(t,e,i){this._selectionStart=t,this._selectionEnd=e,this._columnSelectMode=i}createRow(t,e,i,r,n,o,l,a,u,h,c){let d=[],_=this._characterJoinerService.getJoinedCharacters(e),p=this._themeService.colors,m=t.getNoBgTrimmedLength();i&&m<o+1&&(m=o+1);let f,A=0,R=\"\",O=0,I=0,k=0,P=0,oe=!1,Me=0,Pe=!1,Ke=0,di=0,V=[],Qe=h!==-1&&c!==-1;for(let y=0;y<m;y++){t.loadCell(y,this._workCell);let T=this._workCell.getWidth();if(T===0)continue;let g=!1,w=y>=di,E=y,x=this._workCell;if(_.length>0&&y===_[0][0]&&w){let W=_.shift(),An=this._isCellInSelection(W[0],e);for(O=W[0]+1;O<W[1];O++)w&&=An===this._isCellInSelection(O,e);w&&=!i||o<W[0]||o>=W[1],w?(g=!0,x=new Vr(this._workCell,t.translateToString(!0,W[0],W[1]),W[1]-W[0]),E=W[1]-1,T=x.getWidth()):di=W[1]}let N=this._isCellInSelection(y,e),Z=i&&y===o,te=Qe&&y>=h&&y<=c,Oe=!1;this._decorationService.forEachDecorationAtCell(y,e,void 0,W=>{Oe=!0});let ze=x.getChars()||we;if(ze===\" \"&&(x.isUnderline()||x.isOverline())&&(ze=\"\\xA0\"),Ke=T*a-u.get(ze,x.isBold(),x.isItalic()),!f)f=this._document.createElement(\"span\");else if(A&&(N&&Pe||!N&&!Pe&&x.bg===I)&&(N&&Pe&&p.selectionForeground||x.fg===k)&&x.extended.ext===P&&te===oe&&Ke===Me&&!Z&&!g&&!Oe&&w){x.isInvisible()?R+=we:R+=ze,A++;continue}else A&&(f.textContent=R),f=this._document.createElement(\"span\"),A=0,R=\"\";if(I=x.bg,k=x.fg,P=x.extended.ext,oe=te,Me=Ke,Pe=N,g&&o>=y&&o<=E&&(o=y),!this._coreService.isCursorHidden&&Z&&this._coreService.isCursorInitialized){if(V.push(\"xterm-cursor\"),this._coreBrowserService.isFocused)l&&V.push(\"xterm-cursor-blink\"),V.push(r===\"bar\"?\"xterm-cursor-bar\":r===\"underline\"?\"xterm-cursor-underline\":\"xterm-cursor-block\");else if(n)switch(n){case\"outline\":V.push(\"xterm-cursor-outline\");break;case\"block\":V.push(\"xterm-cursor-block\");break;case\"bar\":V.push(\"xterm-cursor-bar\");break;case\"underline\":V.push(\"xterm-cursor-underline\");break;default:break}}if(x.isBold()&&V.push(\"xterm-bold\"),x.isItalic()&&V.push(\"xterm-italic\"),x.isDim()&&V.push(\"xterm-dim\"),x.isInvisible()?R=we:R=x.getChars()||we,x.isUnderline()&&(V.push(`xterm-underline-${x.extended.underlineStyle}`),R===\" \"&&(R=\"\\xA0\"),!x.isUnderlineColorDefault()))if(x.isUnderlineColorRGB())f.style.textDecorationColor=`rgb(${De.toColorRGB(x.getUnderlineColor()).join(\",\")})`;else{let W=x.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&x.isBold()&&W<8&&(W+=8),f.style.textDecorationColor=p.ansi[W].css}x.isOverline()&&(V.push(\"xterm-overline\"),R===\" \"&&(R=\"\\xA0\")),x.isStrikethrough()&&V.push(\"xterm-strikethrough\"),te&&(f.style.textDecoration=\"underline\");let le=x.getFgColor(),et=x.getFgColorMode(),me=x.getBgColor(),ht=x.getBgColorMode(),fi=!!x.isInverse();if(fi){let W=le;le=me,me=W;let An=et;et=ht,ht=An}let tt,Qi,pi=!1;this._decorationService.forEachDecorationAtCell(y,e,void 0,W=>{W.options.layer!==\"top\"&&pi||(W.backgroundColorRGB&&(ht=50331648,me=W.backgroundColorRGB.rgba>>8&16777215,tt=W.backgroundColorRGB),W.foregroundColorRGB&&(et=50331648,le=W.foregroundColorRGB.rgba>>8&16777215,Qi=W.foregroundColorRGB),pi=W.options.layer===\"top\")}),!pi&&N&&(tt=this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque,me=tt.rgba>>8&16777215,ht=50331648,pi=!0,p.selectionForeground&&(et=50331648,le=p.selectionForeground.rgba>>8&16777215,Qi=p.selectionForeground)),pi&&V.push(\"xterm-decoration-top\");let it;switch(ht){case 16777216:case 33554432:it=p.ansi[me],V.push(`xterm-bg-${me}`);break;case 50331648:it=j.toColor(me>>16,me>>8&255,me&255),this._addStyle(f,`background-color:#${qo((me>>>0).toString(16),\"0\",6)}`);break;case 0:default:fi?(it=p.foreground,V.push(`xterm-bg-${257}`)):it=p.background}switch(tt||x.isDim()&&(tt=U.multiplyOpacity(it,.5)),et){case 16777216:case 33554432:x.isBold()&&le<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(le+=8),this._applyMinimumContrast(f,it,p.ansi[le],x,tt,void 0)||V.push(`xterm-fg-${le}`);break;case 50331648:let W=j.toColor(le>>16&255,le>>8&255,le&255);this._applyMinimumContrast(f,it,W,x,tt,Qi)||this._addStyle(f,`color:#${qo(le.toString(16),\"0\",6)}`);break;case 0:default:this._applyMinimumContrast(f,it,p.foreground,x,tt,Qi)||fi&&V.push(`xterm-fg-${257}`)}V.length&&(f.className=V.join(\" \"),V.length=0),!Z&&!g&&!Oe&&w?A++:f.textContent=R,Ke!==this.defaultSpacing&&(f.style.letterSpacing=`${Ke}px`),d.push(f),y=E}return f&&A&&(f.textContent=R),d}_applyMinimumContrast(t,e,i,r,n,o){if(this._optionsService.rawOptions.minimumContrastRatio===1||$o(r.getCode()))return!1;let l=this._getContrastCache(r),a;if(!n&&!o&&(a=l.getColor(e.rgba,i.rgba)),a===void 0){let u=this._optionsService.rawOptions.minimumContrastRatio/(r.isDim()?2:1);a=U.ensureContrastRatio(n||e,o||i,u),l.setColor((n||e).rgba,(o||i).rgba,a??null)}return a?(this._addStyle(t,`color:${a.css}`),!0):!1}_getContrastCache(t){return t.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(t,e){t.setAttribute(\"style\",`${t.getAttribute(\"style\")||\"\"}${e};`)}_isCellInSelection(t,e){let i=this._selectionStart,r=this._selectionEnd;return!i||!r?!1:this._columnSelectMode?i[0]<=r[0]?t>=i[0]&&e>=i[1]&&t<r[0]&&e<=r[1]:t<i[0]&&e>=i[1]&&t>=r[0]&&e<=r[1]:e>i[1]&&e<r[1]||i[1]===r[1]&&e===i[1]&&t>=i[0]&&t<r[0]||i[1]<r[1]&&e===r[1]&&t<r[0]||i[1]<r[1]&&e===i[1]&&t>=i[0]}};Vt=M([S(1,or),S(2,H),S(3,ae),S(4,ge),S(5,Be),S(6,Re)],Vt);function qo(s,t,e){for(;s.length<e;)s=t+s;return s}var Yr=class{constructor(t,e){this._flat=new Float32Array(256);this._font=\"\";this._fontSize=0;this._weight=\"normal\";this._weightBold=\"bold\";this._measureElements=[];this._container=t.createElement(\"div\"),this._container.classList.add(\"xterm-width-cache-measure-container\"),this._container.setAttribute(\"aria-hidden\",\"true\"),this._container.style.whiteSpace=\"pre\",this._container.style.fontKerning=\"none\";let i=t.createElement(\"span\");i.classList.add(\"xterm-char-measure-element\");let r=t.createElement(\"span\");r.classList.add(\"xterm-char-measure-element\"),r.style.fontWeight=\"bold\";let n=t.createElement(\"span\");n.classList.add(\"xterm-char-measure-element\"),n.style.fontStyle=\"italic\";let o=t.createElement(\"span\");o.classList.add(\"xterm-char-measure-element\"),o.style.fontWeight=\"bold\",o.style.fontStyle=\"italic\",this._measureElements=[i,r,n,o],this._container.appendChild(i),this._container.appendChild(r),this._container.appendChild(n),this._container.appendChild(o),e.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(t,e,i,r){t===this._font&&e===this._fontSize&&i===this._weight&&r===this._weightBold||(this._font=t,this._fontSize=e,this._weight=i,this._weightBold=r,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${i}`,this._measureElements[1].style.fontWeight=`${r}`,this._measureElements[2].style.fontWeight=`${i}`,this._measureElements[3].style.fontWeight=`${r}`,this.clear())}get(t,e,i){let r=0;if(!e&&!i&&t.length===1&&(r=t.charCodeAt(0))<256){if(this._flat[r]!==-9999)return this._flat[r];let l=this._measure(t,0);return l>0&&(this._flat[r]=l),l}let n=t;e&&(n+=\"B\"),i&&(n+=\"I\");let o=this._holey.get(n);if(o===void 0){let l=0;e&&(l|=1),i&&(l|=2),o=this._measure(t,l),o>0&&this._holey.set(n,o)}return o}_measure(t,e){let i=this._measureElements[e];return i.textContent=t.repeat(32),i.offsetWidth/32}};var ms=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(t,e,i,r=!1){if(this.selectionStart=e,this.selectionEnd=i,!e||!i||e[0]===i[0]&&e[1]===i[1]){this.clear();return}let n=t.buffers.active.ydisp,o=e[1]-n,l=i[1]-n,a=Math.max(o,0),u=Math.min(l,t.rows-1);if(a>=t.rows||u<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=o,this.viewportEndRow=l,this.viewportCappedStartRow=a,this.viewportCappedEndRow=u,this.startCol=e[0],this.endCol=i[0]}isCellSelected(t,e,i){return this.hasSelection?(i-=t.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?e>=this.startCol&&i>=this.viewportCappedStartRow&&e<this.endCol&&i<=this.viewportCappedEndRow:e<this.startCol&&i>=this.viewportCappedStartRow&&e>=this.endCol&&i<=this.viewportCappedEndRow:i>this.viewportStartRow&&i<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&i===this.viewportStartRow&&e>=this.startCol&&e<this.endCol||this.viewportStartRow<this.viewportEndRow&&i===this.viewportEndRow&&e<this.endCol||this.viewportStartRow<this.viewportEndRow&&i===this.viewportStartRow&&e>=this.startCol):!1}};function Yo(){return new ms}var _s=\"xterm-dom-renderer-owner-\",Le=\"xterm-rows\",jr=\"xterm-fg-\",jo=\"xterm-bg-\",ki=\"xterm-focus\",Xr=\"xterm-selection\",Na=1,Yt=class extends D{constructor(e,i,r,n,o,l,a,u,h,c,d,_,p,m){super();this._terminal=e;this._document=i;this._element=r;this._screenElement=n;this._viewportElement=o;this._helperContainer=l;this._linkifier2=a;this._charSizeService=h;this._optionsService=c;this._bufferService=d;this._coreService=_;this._coreBrowserService=p;this._themeService=m;this._terminalClass=Na++;this._rowElements=[];this._selectionRenderModel=Yo();this.onRequestRedraw=this._register(new v).event;this._rowContainer=this._document.createElement(\"div\"),this._rowContainer.classList.add(Le),this._rowContainer.style.lineHeight=\"normal\",this._rowContainer.setAttribute(\"aria-hidden\",\"true\"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement(\"div\"),this._selectionContainer.classList.add(Xr),this._selectionContainer.setAttribute(\"aria-hidden\",\"true\"),this.dimensions=Vo(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(f=>this._injectCss(f))),this._injectCss(this._themeService.colors),this._rowFactory=u.createInstance(Vt,document),this._element.classList.add(_s+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(f=>this._handleLinkHover(f))),this._register(this._linkifier2.onHideLinkUnderline(f=>this._handleLinkLeave(f))),this._register(C(()=>{this._element.classList.remove(_s+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new Yr(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let r of this._rowElements)r.style.width=`${this.dimensions.css.canvas.width}px`,r.style.height=`${this.dimensions.css.cell.height}px`,r.style.lineHeight=`${this.dimensions.css.cell.height}px`,r.style.overflow=\"hidden\";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement(\"style\"),this._screenElement.appendChild(this._dimensionsStyleElement));let i=`${this._terminalSelector} .${Le} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=i,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement(\"style\"),this._screenElement.appendChild(this._themeStyleElement));let i=`${this._terminalSelector} .${Le} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;i+=`${this._terminalSelector} .${Le} .xterm-dim { color: ${U.multiplyOpacity(e.foreground,.5).css};}`,i+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let r=`blink_underline_${this._terminalClass}`,n=`blink_bar_${this._terminalClass}`,o=`blink_block_${this._terminalClass}`;i+=`@keyframes ${r} { 50% { border-bottom-style: hidden; }}`,i+=`@keyframes ${n} { 50% { box-shadow: none; }}`,i+=`@keyframes ${o} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,i+=`${this._terminalSelector} .${Le}.${ki} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${Le}.${ki} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${Le}.${ki} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${o} 1s step-end infinite;}${this._terminalSelector} .${Le} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${Le} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${Le} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${Le} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${Le} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,i+=`${this._terminalSelector} .${Xr} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${Xr} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${Xr} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[l,a]of e.ansi.entries())i+=`${this._terminalSelector} .${jr}${l} { color: ${a.css}; }${this._terminalSelector} .${jr}${l}.xterm-dim { color: ${U.multiplyOpacity(a,.5).css}; }${this._terminalSelector} .${jo}${l} { background-color: ${a.css}; }`;i+=`${this._terminalSelector} .${jr}${257} { color: ${U.opaque(e.background).css}; }${this._terminalSelector} .${jr}${257}.xterm-dim { color: ${U.multiplyOpacity(U.opaque(e.background),.5).css}; }${this._terminalSelector} .${jo}${257} { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=i}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get(\"W\",!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,i){for(let r=this._rowElements.length;r<=i;r++){let n=this._document.createElement(\"div\");this._rowContainer.appendChild(n),this._rowElements.push(n)}for(;this._rowElements.length>i;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,i){this._refreshRowElements(e,i),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(ki),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(ki),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,i,r){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,i,r),this.renderRows(0,this._bufferService.rows-1),!e||!i||(this._selectionRenderModel.update(this._terminal,e,i,r),!this._selectionRenderModel.hasSelection))return;let n=this._selectionRenderModel.viewportStartRow,o=this._selectionRenderModel.viewportEndRow,l=this._selectionRenderModel.viewportCappedStartRow,a=this._selectionRenderModel.viewportCappedEndRow,u=this._document.createDocumentFragment();if(r){let h=e[0]>i[0];u.appendChild(this._createSelectionElement(l,h?i[0]:e[0],h?e[0]:i[0],a-l+1))}else{let h=n===l?e[0]:0,c=l===o?i[0]:this._bufferService.cols;u.appendChild(this._createSelectionElement(l,h,c));let d=a-l-1;if(u.appendChild(this._createSelectionElement(l+1,0,this._bufferService.cols,d)),l!==a){let _=o===a?i[0]:this._bufferService.cols;u.appendChild(this._createSelectionElement(a,0,_))}}this._selectionContainer.appendChild(u)}_createSelectionElement(e,i,r,n=1){let o=this._document.createElement(\"div\"),l=i*this.dimensions.css.cell.width,a=this.dimensions.css.cell.width*(r-i);return l+a>this.dimensions.css.canvas.width&&(a=this.dimensions.css.canvas.width-l),o.style.height=`${n*this.dimensions.css.cell.height}px`,o.style.top=`${e*this.dimensions.css.cell.height}px`,o.style.left=`${l}px`,o.style.width=`${a}px`,o}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let e of this._rowElements)e.replaceChildren()}renderRows(e,i){let r=this._bufferService.buffer,n=r.ybase+r.y,o=Math.min(r.x,this._bufferService.cols-1),l=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,a=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,u=this._optionsService.rawOptions.cursorInactiveStyle;for(let h=e;h<=i;h++){let c=h+r.ydisp,d=this._rowElements[h],_=r.lines.get(c);if(!d||!_)break;d.replaceChildren(...this._rowFactory.createRow(_,c,c===n,a,u,o,l,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${_s}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,i,r,n,o,l){r<0&&(e=0),n<0&&(i=0);let a=this._bufferService.rows-1;r=Math.max(Math.min(r,a),0),n=Math.max(Math.min(n,a),0),o=Math.min(o,this._bufferService.cols);let u=this._bufferService.buffer,h=u.ybase+u.y,c=Math.min(u.x,o-1),d=this._optionsService.rawOptions.cursorBlink,_=this._optionsService.rawOptions.cursorStyle,p=this._optionsService.rawOptions.cursorInactiveStyle;for(let m=r;m<=n;++m){let f=m+u.ydisp,A=this._rowElements[m],R=u.lines.get(f);if(!A||!R)break;A.replaceChildren(...this._rowFactory.createRow(R,f,f===h,_,p,c,d,this.dimensions.css.cell.width,this._widthCache,l?m===r?e:0:-1,l?(m===n?i:o)-1:-1))}}};Yt=M([S(7,xt),S(8,nt),S(9,H),S(10,F),S(11,ge),S(12,ae),S(13,Re)],Yt);var jt=class extends D{constructor(e,i,r){super();this._optionsService=r;this.width=0;this.height=0;this._onCharSizeChange=this._register(new v);this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new vs(this._optionsService))}catch{this._measureStrategy=this._register(new bs(e,i,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange([\"fontFamily\",\"fontSize\"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let e=this._measureStrategy.measure();(e.width!==this.width||e.height!==this.height)&&(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};jt=M([S(2,H)],jt);var Zr=class extends D{constructor(){super(...arguments);this._result={width:0,height:0}}_validateAndSet(e,i){e!==void 0&&e>0&&i!==void 0&&i>0&&(this._result.width=e,this._result.height=i)}},bs=class extends Zr{constructor(e,i,r){super();this._document=e;this._parentElement=i;this._optionsService=r;this._measureElement=this._document.createElement(\"span\"),this._measureElement.classList.add(\"xterm-char-measure-element\"),this._measureElement.textContent=\"W\".repeat(32),this._measureElement.setAttribute(\"aria-hidden\",\"true\"),this._measureElement.style.whiteSpace=\"pre\",this._measureElement.style.fontKerning=\"none\",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},vs=class extends Zr{constructor(e){super();this._optionsService=e;this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext(\"2d\");let i=this._ctx.measureText(\"W\");if(!(\"width\"in i&&\"fontBoundingBoxAscent\"in i&&\"fontBoundingBoxDescent\"in i))throw new Error(\"Required font metrics not supported\")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText(\"W\");return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}};var Jr=class extends D{constructor(e,i,r){super();this._textarea=e;this._window=i;this.mainDocument=r;this._isFocused=!1;this._cachedIsFocused=void 0;this._screenDprMonitor=this._register(new gs(this._window));this._onDprChange=this._register(new v);this.onDprChange=this._onDprChange.event;this._onWindowChange=this._register(new v);this.onWindowChange=this._onWindowChange.event;this._register(this.onWindowChange(n=>this._screenDprMonitor.setWindow(n))),this._register($.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(L(this._textarea,\"focus\",()=>this._isFocused=!0)),this._register(L(this._textarea,\"blur\",()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},gs=class extends D{constructor(e){super();this._parentWindow=e;this._windowResizeListener=this._register(new ye);this._onDprChange=this._register(new v);this.onDprChange=this._onDprChange.event;this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(C(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=L(this._parentWindow,\"resize\",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}};var Qr=class extends D{constructor(){super();this.linkProviders=[];this._register(C(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let i=this.linkProviders.indexOf(e);i!==-1&&this.linkProviders.splice(i,1)}}}};function Ci(s,t,e){let i=e.getBoundingClientRect(),r=s.getComputedStyle(e),n=parseInt(r.getPropertyValue(\"padding-left\")),o=parseInt(r.getPropertyValue(\"padding-top\"));return[t.clientX-i.left-n,t.clientY-i.top-o]}function Xo(s,t,e,i,r,n,o,l,a){if(!n)return;let u=Ci(s,t,e);if(u)return u[0]=Math.ceil((u[0]+(a?o/2:0))/o),u[1]=Math.ceil(u[1]/l),u[0]=Math.min(Math.max(u[0],1),i+(a?1:0)),u[1]=Math.min(Math.max(u[1],1),r),u}var Xt=class{constructor(t,e){this._renderService=t;this._charSizeService=e}getCoords(t,e,i,r,n){return Xo(window,t,e,i,r,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,n)}getMouseReportCoords(t,e){let i=Ci(window,t,e);if(this._charSizeService.hasValidSize)return i[0]=Math.min(Math.max(i[0],0),this._renderService.dimensions.css.canvas.width-1),i[1]=Math.min(Math.max(i[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(i[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(i[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(i[0]),y:Math.floor(i[1])}}};Xt=M([S(0,ce),S(1,nt)],Xt);var en=class{constructor(t,e){this._renderCallback=t;this._coreBrowserService=e;this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(t){return this._refreshCallbacks.push(t),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(t,e,i){this._rowCount=i,t=t!==void 0?t:0,e=e!==void 0?e:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,e):e,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let t=Math.max(this._rowStart,0),e=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,e),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let t of this._refreshCallbacks)t(0);this._refreshCallbacks=[]}};var tn={};Ll(tn,{getSafariVersion:()=>Ha,isChromeOS:()=>Ts,isFirefox:()=>Ss,isIpad:()=>Wa,isIphone:()=>Ua,isLegacyEdge:()=>Fa,isLinux:()=>Bi,isMac:()=>Zt,isNode:()=>Mi,isSafari:()=>Zo,isWindows:()=>Es});var Mi=typeof process<\"u\"&&\"title\"in process,Pi=Mi?\"node\":navigator.userAgent,Oi=Mi?\"node\":navigator.platform,Ss=Pi.includes(\"Firefox\"),Fa=Pi.includes(\"Edge\"),Zo=/^((?!chrome|android).)*safari/i.test(Pi);function Ha(){if(!Zo)return 0;let s=Pi.match(/Version\\/(\\d+)/);return s===null||s.length<2?0:parseInt(s[1])}var Zt=[\"Macintosh\",\"MacIntel\",\"MacPPC\",\"Mac68K\"].includes(Oi),Wa=Oi===\"iPad\",Ua=Oi===\"iPhone\",Es=[\"Windows\",\"Win16\",\"Win32\",\"WinCE\"].includes(Oi),Bi=Oi.indexOf(\"Linux\")>=0,Ts=/\\bCrOS\\b/.test(Pi);var rn=class{constructor(){this._tasks=[];this._i=0}enqueue(t){this._tasks.push(t),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(t){this._idleCallback=void 0;let e=0,i=0,r=t.timeRemaining(),n=0;for(;this._i<this._tasks.length;){if(e=performance.now(),this._tasks[this._i]()||this._i++,e=Math.max(1,performance.now()-e),i=Math.max(e,i),n=t.timeRemaining(),i*1.5>n){r-e<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(r-e))}ms`),this._start();return}r=n}this.clear()}},Is=class extends rn{_requestCallback(t){return setTimeout(()=>t(this._createDeadline(16)))}_cancelCallback(t){clearTimeout(t)}_createDeadline(t){let e=performance.now()+t;return{timeRemaining:()=>Math.max(0,e-performance.now())}}},ys=class extends rn{_requestCallback(t){return requestIdleCallback(t)}_cancelCallback(t){cancelIdleCallback(t)}},Jt=!Mi&&\"requestIdleCallback\"in window?ys:Is,nn=class{constructor(){this._queue=new Jt}set(t){this._queue.clear(),this._queue.enqueue(t)}flush(){this._queue.flush()}};var Qt=class extends D{constructor(e,i,r,n,o,l,a,u,h){super();this._rowCount=e;this._optionsService=r;this._charSizeService=n;this._coreService=o;this._coreBrowserService=u;this._renderer=this._register(new ye);this._pausedResizeTask=new nn;this._observerDisposable=this._register(new ye);this._isPaused=!1;this._needsFullRefresh=!1;this._isNextRenderRedrawOnly=!0;this._needsSelectionRefresh=!1;this._canvasWidth=0;this._canvasHeight=0;this._selectionState={start:void 0,end:void 0,columnSelectMode:!1};this._onDimensionsChange=this._register(new v);this.onDimensionsChange=this._onDimensionsChange.event;this._onRenderedViewportChange=this._register(new v);this.onRenderedViewportChange=this._onRenderedViewportChange.event;this._onRender=this._register(new v);this.onRender=this._onRender.event;this._onRefreshRequest=this._register(new v);this.onRefreshRequest=this._onRefreshRequest.event;this._renderDebouncer=new en((c,d)=>this._renderRows(c,d),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new xs(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(C(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(a.onResize(()=>this._fullRefresh())),this._register(a.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(l.onDecorationRegistered(()=>this._fullRefresh())),this._register(l.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange([\"customGlyphs\",\"drawBoldTextInBrightColors\",\"letterSpacing\",\"lineHeight\",\"fontFamily\",\"fontSize\",\"fontWeight\",\"fontWeightBold\",\"minimumContrastRatio\",\"rescaleOverlappingGlyphs\"],()=>{this.clear(),this.handleResize(a.cols,a.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange([\"cursorBlink\",\"cursorStyle\"],()=>this.refreshRows(a.buffer.y,a.buffer.y,!0))),this._register(h.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,i),this._register(this._coreBrowserService.onWindowChange(c=>this._registerIntersectionObserver(c,i)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,i){if(\"IntersectionObserver\"in e){let r=new e.IntersectionObserver(n=>this._handleIntersectionChange(n[n.length-1]),{threshold:0});r.observe(i),this._observerDisposable.value=C(()=>r.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,i,r=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,i);return}let n=this._syncOutputHandler.flush();n&&(e=Math.min(e,n.start),i=Math.max(i,n.end)),r||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,i,this._rowCount)}_renderRows(e,i){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,i);return}e=Math.min(e,this._rowCount-1),i=Math.min(i,this._rowCount-1),this._renderer.value.renderRows(e,i),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:i}),this._onRender.fire({start:e,end:i}),this._isNextRenderRedrawOnly=!0}}resize(e,i){this._rowCount=i,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(i=>this.refreshRows(i.start,i.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,i){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(e,i)):this._renderer.value.handleResize(e,i),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,i,r){this._selectionState.start=e,this._selectionState.end=i,this._selectionState.columnSelectMode=r,this._renderer.value?.handleSelectionChanged(e,i,r)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};Qt=M([S(2,H),S(3,nt),S(4,ge),S(5,Be),S(6,F),S(7,ae),S(8,Re)],Qt);var xs=class{constructor(t,e,i){this._coreBrowserService=t;this._coreService=e;this._onTimeout=i;this._start=0;this._end=0;this._isBuffering=!1}bufferRows(t,e){this._isBuffering?(this._start=Math.min(this._start,t),this._end=Math.max(this._end,e)):(this._start=t,this._end=e,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let t={start:this._start,end:this._end};return this._isBuffering=!1,t}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function Jo(s,t,e,i){let r=e.buffer.x,n=e.buffer.y;if(!e.buffer.hasScrollback)return Ga(r,n,s,t,e,i)+sn(n,t,e,i)+$a(r,n,s,t,e,i);let o;if(n===t)return o=r>s?\"D\":\"C\",Fi(Math.abs(r-s),Ni(o,i));o=n>t?\"D\":\"C\";let l=Math.abs(n-t),a=za(n>t?s:r,e)+(l-1)*e.cols+1+Ka(n>t?r:s,e);return Fi(a,Ni(o,i))}function Ka(s,t){return s-1}function za(s,t){return t.cols-s}function Ga(s,t,e,i,r,n){return sn(t,i,r,n).length===0?\"\":Fi(el(s,t,s,t-gt(t,r),!1,r).length,Ni(\"D\",n))}function sn(s,t,e,i){let r=s-gt(s,e),n=t-gt(t,e),o=Math.abs(r-n)-Va(s,t,e);return Fi(o,Ni(Qo(s,t),i))}function $a(s,t,e,i,r,n){let o;sn(t,i,r,n).length>0?o=i-gt(i,r):o=t;let l=i,a=qa(s,t,e,i,r,n);return Fi(el(s,o,e,l,a===\"C\",r).length,Ni(a,n))}function Va(s,t,e){let i=0,r=s-gt(s,e),n=t-gt(t,e);for(let o=0;o<Math.abs(r-n);o++){let l=Qo(s,t)===\"A\"?-1:1;e.buffer.lines.get(r+l*o)?.isWrapped&&i++}return i}function gt(s,t){let e=0,i=t.buffer.lines.get(s),r=i?.isWrapped;for(;r&&s>=0&&s<t.rows;)e++,i=t.buffer.lines.get(--s),r=i?.isWrapped;return e}function qa(s,t,e,i,r,n){let o;return sn(e,i,r,n).length>0?o=i-gt(i,r):o=t,s<e&&o<=i||s>=e&&o<i?\"C\":\"D\"}function Qo(s,t){return s>t?\"A\":\"B\"}function el(s,t,e,i,r,n){let o=s,l=t,a=\"\";for(;(o!==e||l!==i)&&l>=0&&l<n.buffer.lines.length;)o+=r?1:-1,r&&o>n.cols-1?(a+=n.buffer.translateBufferLineToString(l,!1,s,o),o=0,s=0,l++):!r&&o<0&&(a+=n.buffer.translateBufferLineToString(l,!1,0,s+1),o=n.cols-1,s=o,l--);return a+n.buffer.translateBufferLineToString(l,!1,s,o)}function Ni(s,t){let e=t?\"O\":\"[\";return b.ESC+e+s}function Fi(s,t){s=Math.floor(s);let e=\"\";for(let i=0;i<s;i++)e+=t;return e}var on=class{constructor(t){this._bufferService=t;this.isSelectAllActive=!1;this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:!this.selectionEnd||!this.selectionStart?this.selectionStart:this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?t%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)-1]:[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[t,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[Math.max(t,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let t=this.selectionStart,e=this.selectionEnd;return!t||!e?!1:t[1]>e[1]||t[1]===e[1]&&t[0]>e[0]}handleTrim(t){return this.selectionStart&&(this.selectionStart[1]-=t),this.selectionEnd&&(this.selectionEnd[1]-=t),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function ws(s,t){if(s.start.y>s.end.y)throw new Error(`Buffer range end (${s.end.x}, ${s.end.y}) cannot be before start (${s.start.x}, ${s.start.y})`);return t*(s.end.y-s.start.y)+(s.end.x-s.start.x+1)}var Ds=50,Ya=15,ja=50,Xa=500,Za=\"\\xA0\",Ja=new RegExp(Za,\"g\");var ei=class extends D{constructor(e,i,r,n,o,l,a,u,h){super();this._element=e;this._screenElement=i;this._linkifier=r;this._bufferService=n;this._coreService=o;this._mouseService=l;this._optionsService=a;this._renderService=u;this._coreBrowserService=h;this._dragScrollAmount=0;this._enabled=!0;this._workCell=new q;this._mouseDownTimeStamp=0;this._oldHasSelection=!1;this._oldSelectionStart=void 0;this._oldSelectionEnd=void 0;this._onLinuxMouseSelection=this._register(new v);this.onLinuxMouseSelection=this._onLinuxMouseSelection.event;this._onRedrawRequest=this._register(new v);this.onRequestRedraw=this._onRedrawRequest.event;this._onSelectionChange=this._register(new v);this.onSelectionChange=this._onSelectionChange.event;this._onRequestScrollLines=this._register(new v);this.onRequestScrollLines=this._onRequestScrollLines.event;this._mouseMoveListener=c=>this._handleMouseMove(c),this._mouseUpListener=c=>this._handleMouseUp(c),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(c=>this._handleTrim(c)),this._register(this._bufferService.buffers.onBufferActivate(c=>this._handleBufferActivate(c))),this.enable(),this._model=new on(this._bufferService),this._activeSelectionMode=0,this._register(C(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(c=>{c.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let e=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!e||!i?!1:e[0]!==i[0]||e[1]!==i[1]}get selectionText(){let e=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;if(!e||!i)return\"\";let r=this._bufferService.buffer,n=[];if(this._activeSelectionMode===3){if(e[0]===i[0])return\"\";let l=e[0]<i[0]?e[0]:i[0],a=e[0]<i[0]?i[0]:e[0];for(let u=e[1];u<=i[1];u++){let h=r.translateBufferLineToString(u,!0,l,a);n.push(h)}}else{let l=e[1]===i[1]?i[0]:void 0;n.push(r.translateBufferLineToString(e[1],!0,e[0],l));for(let a=e[1]+1;a<=i[1]-1;a++){let u=r.lines.get(a),h=r.translateBufferLineToString(a,!0);u?.isWrapped?n[n.length-1]+=h:n.push(h)}if(e[1]!==i[1]){let a=r.lines.get(i[1]),u=r.translateBufferLineToString(i[1],!0,0,i[0]);a&&a.isWrapped?n[n.length-1]+=u:n.push(u)}}return n.map(l=>l.replace(Ja,\" \")).join(Es?`\\r\n`:`\n`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),Bi&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(e){let i=this._getMouseBufferCoords(e),r=this._model.finalSelectionStart,n=this._model.finalSelectionEnd;return!r||!n||!i?!1:this._areCoordsInSelection(i,r,n)}isCellInSelection(e,i){let r=this._model.finalSelectionStart,n=this._model.finalSelectionEnd;return!r||!n?!1:this._areCoordsInSelection([e,i],r,n)}_areCoordsInSelection(e,i,r){return e[1]>i[1]&&e[1]<r[1]||i[1]===r[1]&&e[1]===i[1]&&e[0]>=i[0]&&e[0]<r[0]||i[1]<r[1]&&e[1]===r[1]&&e[0]<r[0]||i[1]<r[1]&&e[1]===i[1]&&e[0]>=i[0]}_selectWordAtCursor(e,i){let r=this._linkifier.currentLink?.link?.range;if(r)return this._model.selectionStart=[r.start.x-1,r.start.y-1],this._model.selectionStartLength=ws(r,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let n=this._getMouseBufferCoords(e);return n?(this._selectWordAt(n,i),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,i){this._model.clearSelection(),e=Math.max(e,0),i=Math.min(i,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,i],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let i=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(i)return i[0]--,i[1]--,i[1]+=this._bufferService.buffer.ydisp,i}_getMouseEventScrollAmount(e){let i=Ci(this._coreBrowserService.window,e,this._screenElement)[1],r=this._renderService.dimensions.css.canvas.height;return i>=0&&i<=r?0:(i>r&&(i-=r),i=Math.min(Math.max(i,-Ds),Ds),i/=Ds,i/Math.abs(i)+Math.round(i*(Ya-1)))}shouldForceSelection(e){return Zt?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener(\"mousemove\",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener(\"mouseup\",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),ja)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener(\"mousemove\",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener(\"mouseup\",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let i=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);i&&i.length!==this._model.selectionStart[0]&&i.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let i=this._getMouseBufferCoords(e);i&&(this._activeSelectionMode=2,this._selectLineAt(i[1]))}shouldColumnSelect(e){return e.altKey&&!(Zt&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let i=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(e),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let r=this._bufferService.buffer;if(this._model.selectionEnd[1]<r.lines.length){let n=r.lines.get(this._model.selectionEnd[1]);n&&n.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!i||i[0]!==this._model.selectionEnd[0]||i[1]!==this._model.selectionEnd[1])&&this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let e=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let i=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&i<Xa&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let r=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(r&&r[0]!==void 0&&r[1]!==void 0){let n=Jo(r[0]-1,r[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(n,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let e=this._model.finalSelectionStart,i=this._model.finalSelectionEnd,r=!!e&&!!i&&(e[0]!==i[0]||e[1]!==i[1]);if(!r){this._oldHasSelection&&this._fireOnSelectionChange(e,i,r);return}!e||!i||(!this._oldSelectionStart||!this._oldSelectionEnd||e[0]!==this._oldSelectionStart[0]||e[1]!==this._oldSelectionStart[1]||i[0]!==this._oldSelectionEnd[0]||i[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(e,i,r)}_fireOnSelectionChange(e,i,r){this._oldSelectionStart=e,this._oldSelectionEnd=i,this._oldHasSelection=r,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim(i=>this._handleTrim(i))}_convertViewportColToCharacterIndex(e,i){let r=i;for(let n=0;i>=n;n++){let o=e.loadCell(n,this._workCell).getChars().length;this._workCell.getWidth()===0?r--:o>1&&i!==n&&(r+=o-1)}return r}setSelection(e,i,r){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,i],this._model.selectionStartLength=r,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,i,r=!0,n=!0){if(e[0]>=this._bufferService.cols)return;let o=this._bufferService.buffer,l=o.lines.get(e[1]);if(!l)return;let a=o.translateBufferLineToString(e[1],!1),u=this._convertViewportColToCharacterIndex(l,e[0]),h=u,c=e[0]-u,d=0,_=0,p=0,m=0;if(a.charAt(u)===\" \"){for(;u>0&&a.charAt(u-1)===\" \";)u--;for(;h<a.length&&a.charAt(h+1)===\" \";)h++}else{let R=e[0],O=e[0];l.getWidth(R)===0&&(d++,R--),l.getWidth(O)===2&&(_++,O++);let I=l.getString(O).length;for(I>1&&(m+=I-1,h+=I-1);R>0&&u>0&&!this._isCharWordSeparator(l.loadCell(R-1,this._workCell));){l.loadCell(R-1,this._workCell);let k=this._workCell.getChars().length;this._workCell.getWidth()===0?(d++,R--):k>1&&(p+=k-1,u-=k-1),u--,R--}for(;O<l.length&&h+1<a.length&&!this._isCharWordSeparator(l.loadCell(O+1,this._workCell));){l.loadCell(O+1,this._workCell);let k=this._workCell.getChars().length;this._workCell.getWidth()===2?(_++,O++):k>1&&(m+=k-1,h+=k-1),h++,O++}}h++;let f=u+c-d+p,A=Math.min(this._bufferService.cols,h-u+d+_-p-m);if(!(!i&&a.slice(u,h).trim()===\"\")){if(r&&f===0&&l.getCodePoint(0)!==32){let R=o.lines.get(e[1]-1);if(R&&l.isWrapped&&R.getCodePoint(this._bufferService.cols-1)!==32){let O=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(O){let I=this._bufferService.cols-O.start;f-=I,A+=I}}}if(n&&f+A===this._bufferService.cols&&l.getCodePoint(this._bufferService.cols-1)!==32){let R=o.lines.get(e[1]+1);if(R?.isWrapped&&R.getCodePoint(0)!==32){let O=this._getWordAt([0,e[1]+1],!1,!1,!0);O&&(A+=O.length)}}return{start:f,length:A}}}_selectWordAt(e,i){let r=this._getWordAt(e,i);if(r){for(;r.start<0;)r.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[r.start,e[1]],this._model.selectionStartLength=r.length}}_selectToWordAt(e){let i=this._getWordAt(e,!0);if(i){let r=e[1];for(;i.start<0;)i.start+=this._bufferService.cols,r--;if(!this._model.areSelectionValuesReversed())for(;i.start+i.length>this._bufferService.cols;)i.length-=this._bufferService.cols,r++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?i.start:i.start+i.length,r]}}_isCharWordSeparator(e){return e.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let i=this._bufferService.buffer.getWrappedRangeForLine(e),r={start:{x:0,y:i.first},end:{x:this._bufferService.cols-1,y:i.last}};this._model.selectionStart=[0,i.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=ws(r,this._bufferService.cols)}};ei=M([S(3,F),S(4,ge),S(5,Dt),S(6,H),S(7,ce),S(8,ae)],ei);var Hi=class{constructor(){this._data={}}set(t,e,i){this._data[t]||(this._data[t]={}),this._data[t][e]=i}get(t,e){return this._data[t]?this._data[t][e]:void 0}clear(){this._data={}}};var Wi=class{constructor(){this._color=new Hi;this._css=new Hi}setCss(t,e,i){this._css.set(t,e,i)}getCss(t,e){return this._css.get(t,e)}setColor(t,e,i){this._color.set(t,e,i)}getColor(t,e){return this._color.get(t,e)}clear(){this._color.clear(),this._css.clear()}};var re=Object.freeze((()=>{let s=[z.toColor(\"#2e3436\"),z.toColor(\"#cc0000\"),z.toColor(\"#4e9a06\"),z.toColor(\"#c4a000\"),z.toColor(\"#3465a4\"),z.toColor(\"#75507b\"),z.toColor(\"#06989a\"),z.toColor(\"#d3d7cf\"),z.toColor(\"#555753\"),z.toColor(\"#ef2929\"),z.toColor(\"#8ae234\"),z.toColor(\"#fce94f\"),z.toColor(\"#729fcf\"),z.toColor(\"#ad7fa8\"),z.toColor(\"#34e2e2\"),z.toColor(\"#eeeeec\")],t=[0,95,135,175,215,255];for(let e=0;e<216;e++){let i=t[e/36%6|0],r=t[e/6%6|0],n=t[e%6];s.push({css:j.toCss(i,r,n),rgba:j.toRgba(i,r,n)})}for(let e=0;e<24;e++){let i=8+e*10;s.push({css:j.toCss(i,i,i),rgba:j.toRgba(i,i,i)})}return s})());var St=z.toColor(\"#ffffff\"),Ki=z.toColor(\"#000000\"),tl=z.toColor(\"#ffffff\"),il=Ki,Ui={css:\"rgba(255, 255, 255, 0.3)\",rgba:4294967117},Qa=St,ti=class extends D{constructor(e){super();this._optionsService=e;this._contrastCache=new Wi;this._halfContrastCache=new Wi;this._onChangeColors=this._register(new v);this.onChangeColors=this._onChangeColors.event;this._colors={foreground:St,background:Ki,cursor:tl,cursorAccent:il,selectionForeground:void 0,selectionBackgroundTransparent:Ui,selectionBackgroundOpaque:U.blend(Ki,Ui),selectionInactiveBackgroundTransparent:Ui,selectionInactiveBackgroundOpaque:U.blend(Ki,Ui),scrollbarSliderBackground:U.opacity(St,.2),scrollbarSliderHoverBackground:U.opacity(St,.4),scrollbarSliderActiveBackground:U.opacity(St,.5),overviewRulerBorder:St,ansi:re.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange(\"minimumContrastRatio\",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange(\"theme\",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(e={}){let i=this._colors;if(i.foreground=K(e.foreground,St),i.background=K(e.background,Ki),i.cursor=U.blend(i.background,K(e.cursor,tl)),i.cursorAccent=U.blend(i.background,K(e.cursorAccent,il)),i.selectionBackgroundTransparent=K(e.selectionBackground,Ui),i.selectionBackgroundOpaque=U.blend(i.background,i.selectionBackgroundTransparent),i.selectionInactiveBackgroundTransparent=K(e.selectionInactiveBackground,i.selectionBackgroundTransparent),i.selectionInactiveBackgroundOpaque=U.blend(i.background,i.selectionInactiveBackgroundTransparent),i.selectionForeground=e.selectionForeground?K(e.selectionForeground,ps):void 0,i.selectionForeground===ps&&(i.selectionForeground=void 0),U.isOpaque(i.selectionBackgroundTransparent)&&(i.selectionBackgroundTransparent=U.opacity(i.selectionBackgroundTransparent,.3)),U.isOpaque(i.selectionInactiveBackgroundTransparent)&&(i.selectionInactiveBackgroundTransparent=U.opacity(i.selectionInactiveBackgroundTransparent,.3)),i.scrollbarSliderBackground=K(e.scrollbarSliderBackground,U.opacity(i.foreground,.2)),i.scrollbarSliderHoverBackground=K(e.scrollbarSliderHoverBackground,U.opacity(i.foreground,.4)),i.scrollbarSliderActiveBackground=K(e.scrollbarSliderActiveBackground,U.opacity(i.foreground,.5)),i.overviewRulerBorder=K(e.overviewRulerBorder,Qa),i.ansi=re.slice(),i.ansi[0]=K(e.black,re[0]),i.ansi[1]=K(e.red,re[1]),i.ansi[2]=K(e.green,re[2]),i.ansi[3]=K(e.yellow,re[3]),i.ansi[4]=K(e.blue,re[4]),i.ansi[5]=K(e.magenta,re[5]),i.ansi[6]=K(e.cyan,re[6]),i.ansi[7]=K(e.white,re[7]),i.ansi[8]=K(e.brightBlack,re[8]),i.ansi[9]=K(e.brightRed,re[9]),i.ansi[10]=K(e.brightGreen,re[10]),i.ansi[11]=K(e.brightYellow,re[11]),i.ansi[12]=K(e.brightBlue,re[12]),i.ansi[13]=K(e.brightMagenta,re[13]),i.ansi[14]=K(e.brightCyan,re[14]),i.ansi[15]=K(e.brightWhite,re[15]),e.extendedAnsi){let r=Math.min(i.ansi.length-16,e.extendedAnsi.length);for(let n=0;n<r;n++)i.ansi[n+16]=K(e.extendedAnsi[n],re[n+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(e===void 0){for(let i=0;i<this._restoreColors.ansi.length;++i)this._colors.ansi[i]=this._restoreColors.ansi[i];return}switch(e){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[e]=this._restoreColors.ansi[e]}}modifyColors(e){e(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};ti=M([S(0,H)],ti);function K(s,t){if(s!==void 0)try{return z.toColor(s)}catch{}return t}var Rs=class{constructor(...t){this._entries=new Map;for(let[e,i]of t)this.set(e,i)}set(t,e){let i=this._entries.get(t);return this._entries.set(t,e),i}forEach(t){for(let[e,i]of this._entries.entries())t(e,i)}has(t){return this._entries.has(t)}get(t){return this._entries.get(t)}},ln=class{constructor(){this._services=new Rs;this._services.set(xt,this)}setService(t,e){this._services.set(t,e)}getService(t){return this._services.get(t)}createInstance(t,...e){let i=Xs(t).sort((o,l)=>o.index-l.index),r=[];for(let o of i){let l=this._services.get(o.id);if(!l)throw new Error(`[createInstance] ${t.name} depends on UNKNOWN service ${o.id._id}.`);r.push(l)}let n=i.length>0?i[0].index:e.length;if(e.length!==n)throw new Error(`[createInstance] First service dependency of ${t.name} at position ${n+1} conflicts with ${e.length} static arguments`);return new t(...e,...r)}};var ec={trace:0,debug:1,info:2,warn:3,error:4,off:5},tc=\"xterm.js: \",ii=class extends D{constructor(e){super();this._optionsService=e;this._logLevel=5;this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(\"logLevel\",()=>this._updateLogLevel())),ic=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=ec[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let i=0;i<e.length;i++)typeof e[i]==\"function\"&&(e[i]=e[i]())}_log(e,i,r){this._evalLazyOptionalParams(r),e.call(console,(this._optionsService.options.logger?\"\":tc)+i,...r)}trace(e,...i){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,i)}debug(e,...i){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,i)}info(e,...i){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,i)}warn(e,...i){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,i)}error(e,...i){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,i)}};ii=M([S(0,H)],ii);var ic;var zi=class extends D{constructor(e){super();this._maxLength=e;this.onDeleteEmitter=this._register(new v);this.onDelete=this.onDeleteEmitter.event;this.onInsertEmitter=this._register(new v);this.onInsert=this.onInsertEmitter.event;this.onTrimEmitter=this._register(new v);this.onTrim=this.onTrimEmitter.event;this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;let i=new Array(e);for(let r=0;r<Math.min(e,this.length);r++)i[r]=this._array[this._getCyclicIndex(r)];this._array=i,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let i=this._length;i<e;i++)this._array[i]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,i){this._array[this._getCyclicIndex(e)]=i}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error(\"Can only recycle when the buffer is full\");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(e,i,...r){if(i){for(let n=e;n<this._length-i;n++)this._array[this._getCyclicIndex(n)]=this._array[this._getCyclicIndex(n+i)];this._length-=i,this.onDeleteEmitter.fire({index:e,amount:i})}for(let n=this._length-1;n>=e;n--)this._array[this._getCyclicIndex(n+r.length)]=this._array[this._getCyclicIndex(n)];for(let n=0;n<r.length;n++)this._array[this._getCyclicIndex(e+n)]=r[n];if(r.length&&this.onInsertEmitter.fire({index:e,amount:r.length}),this._length+r.length>this._maxLength){let n=this._length+r.length-this._maxLength;this._startIndex+=n,this._length=this._maxLength,this.onTrimEmitter.fire(n)}else this._length+=r.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,i,r){if(!(i<=0)){if(e<0||e>=this._length)throw new Error(\"start argument out of range\");if(e+r<0)throw new Error(\"Cannot shift elements in list beyond index 0\");if(r>0){for(let o=i-1;o>=0;o--)this.set(e+o+r,this.get(e+o));let n=e+i+r-this._length;if(n>0)for(this._length+=n;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let n=0;n<i;n++)this.set(e+n+r,this.get(e+n))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}};var B=3;var X=Object.freeze(new De),an=0,Ls=2,Ze=class s{constructor(t,e,i=!1){this.isWrapped=i;this._combined={};this._extendedAttrs={};this._data=new Uint32Array(t*B);let r=e||q.fromCharData([0,ir,1,0]);for(let n=0;n<t;++n)this.setCell(n,r);this.length=t}get(t){let e=this._data[t*B+0],i=e&2097151;return[this._data[t*B+1],e&2097152?this._combined[t]:i?Ce(i):\"\",e>>22,e&2097152?this._combined[t].charCodeAt(this._combined[t].length-1):i]}set(t,e){this._data[t*B+1]=e[0],e[1].length>1?(this._combined[t]=e[1],this._data[t*B+0]=t|2097152|e[2]<<22):this._data[t*B+0]=e[1].charCodeAt(0)|e[2]<<22}getWidth(t){return this._data[t*B+0]>>22}hasWidth(t){return this._data[t*B+0]&12582912}getFg(t){return this._data[t*B+1]}getBg(t){return this._data[t*B+2]}hasContent(t){return this._data[t*B+0]&4194303}getCodePoint(t){let e=this._data[t*B+0];return e&2097152?this._combined[t].charCodeAt(this._combined[t].length-1):e&2097151}isCombined(t){return this._data[t*B+0]&2097152}getString(t){let e=this._data[t*B+0];return e&2097152?this._combined[t]:e&2097151?Ce(e&2097151):\"\"}isProtected(t){return this._data[t*B+2]&536870912}loadCell(t,e){return an=t*B,e.content=this._data[an+0],e.fg=this._data[an+1],e.bg=this._data[an+2],e.content&2097152&&(e.combinedData=this._combined[t]),e.bg&268435456&&(e.extended=this._extendedAttrs[t]),e}setCell(t,e){e.content&2097152&&(this._combined[t]=e.combinedData),e.bg&268435456&&(this._extendedAttrs[t]=e.extended),this._data[t*B+0]=e.content,this._data[t*B+1]=e.fg,this._data[t*B+2]=e.bg}setCellFromCodepoint(t,e,i,r){r.bg&268435456&&(this._extendedAttrs[t]=r.extended),this._data[t*B+0]=e|i<<22,this._data[t*B+1]=r.fg,this._data[t*B+2]=r.bg}addCodepointToCell(t,e,i){let r=this._data[t*B+0];r&2097152?this._combined[t]+=Ce(e):r&2097151?(this._combined[t]=Ce(r&2097151)+Ce(e),r&=-2097152,r|=2097152):r=e|1<<22,i&&(r&=-12582913,r|=i<<22),this._data[t*B+0]=r}insertCells(t,e,i){if(t%=this.length,t&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t-1,0,1,i),e<this.length-t){let r=new q;for(let n=this.length-t-e-1;n>=0;--n)this.setCell(t+e+n,this.loadCell(t+n,r));for(let n=0;n<e;++n)this.setCell(t+n,i)}else for(let r=t;r<this.length;++r)this.setCell(r,i);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,i)}deleteCells(t,e,i){if(t%=this.length,e<this.length-t){let r=new q;for(let n=0;n<this.length-t-e;++n)this.setCell(t+n,this.loadCell(t+e+n,r));for(let n=this.length-e;n<this.length;++n)this.setCell(n,i)}else for(let r=t;r<this.length;++r)this.setCell(r,i);t&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t-1,0,1,i),this.getWidth(t)===0&&!this.hasContent(t)&&this.setCellFromCodepoint(t,0,1,i)}replaceCells(t,e,i,r=!1){if(r){for(t&&this.getWidth(t-1)===2&&!this.isProtected(t-1)&&this.setCellFromCodepoint(t-1,0,1,i),e<this.length&&this.getWidth(e-1)===2&&!this.isProtected(e)&&this.setCellFromCodepoint(e,0,1,i);t<e&&t<this.length;)this.isProtected(t)||this.setCell(t,i),t++;return}for(t&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t-1,0,1,i),e<this.length&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e,0,1,i);t<e&&t<this.length;)this.setCell(t++,i)}resize(t,e){if(t===this.length)return this._data.length*4*Ls<this._data.buffer.byteLength;let i=t*B;if(t>this.length){if(this._data.buffer.byteLength>=i*4)this._data=new Uint32Array(this._data.buffer,0,i);else{let r=new Uint32Array(i);r.set(this._data),this._data=r}for(let r=this.length;r<t;++r)this.setCell(r,e)}else{this._data=this._data.subarray(0,i);let r=Object.keys(this._combined);for(let o=0;o<r.length;o++){let l=parseInt(r[o],10);l>=t&&delete this._combined[l]}let n=Object.keys(this._extendedAttrs);for(let o=0;o<n.length;o++){let l=parseInt(n[o],10);l>=t&&delete this._extendedAttrs[l]}}return this.length=t,i*4*Ls<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*Ls<this._data.buffer.byteLength){let t=new Uint32Array(this._data.length);return t.set(this._data),this._data=t,1}return 0}fill(t,e=!1){if(e){for(let i=0;i<this.length;++i)this.isProtected(i)||this.setCell(i,t);return}this._combined={},this._extendedAttrs={};for(let i=0;i<this.length;++i)this.setCell(i,t)}copyFrom(t){this.length!==t.length?this._data=new Uint32Array(t._data):this._data.set(t._data),this.length=t.length,this._combined={};for(let e in t._combined)this._combined[e]=t._combined[e];this._extendedAttrs={};for(let e in t._extendedAttrs)this._extendedAttrs[e]=t._extendedAttrs[e];this.isWrapped=t.isWrapped}clone(){let t=new s(0);t._data=new Uint32Array(this._data),t.length=this.length;for(let e in this._combined)t._combined[e]=this._combined[e];for(let e in this._extendedAttrs)t._extendedAttrs[e]=this._extendedAttrs[e];return t.isWrapped=this.isWrapped,t}getTrimmedLength(){for(let t=this.length-1;t>=0;--t)if(this._data[t*B+0]&4194303)return t+(this._data[t*B+0]>>22);return 0}getNoBgTrimmedLength(){for(let t=this.length-1;t>=0;--t)if(this._data[t*B+0]&4194303||this._data[t*B+2]&50331648)return t+(this._data[t*B+0]>>22);return 0}copyCellsFrom(t,e,i,r,n){let o=t._data;if(n)for(let a=r-1;a>=0;a--){for(let u=0;u<B;u++)this._data[(i+a)*B+u]=o[(e+a)*B+u];o[(e+a)*B+2]&268435456&&(this._extendedAttrs[i+a]=t._extendedAttrs[e+a])}else for(let a=0;a<r;a++){for(let u=0;u<B;u++)this._data[(i+a)*B+u]=o[(e+a)*B+u];o[(e+a)*B+2]&268435456&&(this._extendedAttrs[i+a]=t._extendedAttrs[e+a])}let l=Object.keys(t._combined);for(let a=0;a<l.length;a++){let u=parseInt(l[a],10);u>=e&&(this._combined[u-e+i]=t._combined[u])}}translateToString(t,e,i,r){e=e??0,i=i??this.length,t&&(i=Math.min(i,this.getTrimmedLength())),r&&(r.length=0);let n=\"\";for(;e<i;){let o=this._data[e*B+0],l=o&2097151,a=o&2097152?this._combined[e]:l?Ce(l):we;if(n+=a,r)for(let u=0;u<a.length;++u)r.push(e);e+=o>>22||1}return r&&r.push(e),n}};function sl(s,t,e,i,r,n){let o=[];for(let l=0;l<s.length-1;l++){let a=l,u=s.get(++a);if(!u.isWrapped)continue;let h=[s.get(l)];for(;a<s.length&&u.isWrapped;)h.push(u),u=s.get(++a);if(!n&&i>=l&&i<a){l+=h.length-1;continue}let c=0,d=ri(h,c,t),_=1,p=0;for(;_<h.length;){let f=ri(h,_,t),A=f-p,R=e-d,O=Math.min(A,R);h[c].copyCellsFrom(h[_],p,d,O,!1),d+=O,d===e&&(c++,d=0),p+=O,p===f&&(_++,p=0),d===0&&c!==0&&h[c-1].getWidth(e-1)===2&&(h[c].copyCellsFrom(h[c-1],e-1,d++,1,!1),h[c-1].setCell(e-1,r))}h[c].replaceCells(d,e,r);let m=0;for(let f=h.length-1;f>0&&(f>c||h[f].getTrimmedLength()===0);f--)m++;m>0&&(o.push(l+h.length-m),o.push(m)),l+=h.length-1}return o}function ol(s,t){let e=[],i=0,r=t[i],n=0;for(let o=0;o<s.length;o++)if(r===o){let l=t[++i];s.onDeleteEmitter.fire({index:o-n,amount:l}),o+=l-1,n+=l,r=t[++i]}else e.push(o);return{layout:e,countRemoved:n}}function ll(s,t){let e=[];for(let i=0;i<t.length;i++)e.push(s.get(t[i]));for(let i=0;i<e.length;i++)s.set(i,e[i]);s.length=t.length}function al(s,t,e){let i=[],r=s.map((a,u)=>ri(s,u,t)).reduce((a,u)=>a+u),n=0,o=0,l=0;for(;l<r;){if(r-l<e){i.push(r-l);break}n+=e;let a=ri(s,o,t);n>a&&(n-=a,o++);let u=s[o].getWidth(n-1)===2;u&&n--;let h=u?e-1:e;i.push(h),l+=h}return i}function ri(s,t,e){if(t===s.length-1)return s[t].getTrimmedLength();let i=!s[t].hasContent(e-1)&&s[t].getWidth(e-1)===1,r=s[t+1].getWidth(0)===2;return i&&r?e-1:e}var un=class un{constructor(t){this.line=t;this.isDisposed=!1;this._disposables=[];this._id=un._nextId++;this._onDispose=this.register(new v);this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),Ne(this._disposables),this._disposables.length=0)}register(t){return this._disposables.push(t),t}};un._nextId=1;var cn=un;var ne={},Je=ne.B;ne[0]={\"`\":\"\\u25C6\",a:\"\\u2592\",b:\"\\u2409\",c:\"\\u240C\",d:\"\\u240D\",e:\"\\u240A\",f:\"\\xB0\",g:\"\\xB1\",h:\"\\u2424\",i:\"\\u240B\",j:\"\\u2518\",k:\"\\u2510\",l:\"\\u250C\",m:\"\\u2514\",n:\"\\u253C\",o:\"\\u23BA\",p:\"\\u23BB\",q:\"\\u2500\",r:\"\\u23BC\",s:\"\\u23BD\",t:\"\\u251C\",u:\"\\u2524\",v:\"\\u2534\",w:\"\\u252C\",x:\"\\u2502\",y:\"\\u2264\",z:\"\\u2265\",\"{\":\"\\u03C0\",\"|\":\"\\u2260\",\"}\":\"\\xA3\",\"~\":\"\\xB7\"};ne.A={\"#\":\"\\xA3\"};ne.B=void 0;ne[4]={\"#\":\"\\xA3\",\"@\":\"\\xBE\",\"[\":\"ij\",\"\\\\\":\"\\xBD\",\"]\":\"|\",\"{\":\"\\xA8\",\"|\":\"f\",\"}\":\"\\xBC\",\"~\":\"\\xB4\"};ne.C=ne[5]={\"[\":\"\\xC4\",\"\\\\\":\"\\xD6\",\"]\":\"\\xC5\",\"^\":\"\\xDC\",\"`\":\"\\xE9\",\"{\":\"\\xE4\",\"|\":\"\\xF6\",\"}\":\"\\xE5\",\"~\":\"\\xFC\"};ne.R={\"#\":\"\\xA3\",\"@\":\"\\xE0\",\"[\":\"\\xB0\",\"\\\\\":\"\\xE7\",\"]\":\"\\xA7\",\"{\":\"\\xE9\",\"|\":\"\\xF9\",\"}\":\"\\xE8\",\"~\":\"\\xA8\"};ne.Q={\"@\":\"\\xE0\",\"[\":\"\\xE2\",\"\\\\\":\"\\xE7\",\"]\":\"\\xEA\",\"^\":\"\\xEE\",\"`\":\"\\xF4\",\"{\":\"\\xE9\",\"|\":\"\\xF9\",\"}\":\"\\xE8\",\"~\":\"\\xFB\"};ne.K={\"@\":\"\\xA7\",\"[\":\"\\xC4\",\"\\\\\":\"\\xD6\",\"]\":\"\\xDC\",\"{\":\"\\xE4\",\"|\":\"\\xF6\",\"}\":\"\\xFC\",\"~\":\"\\xDF\"};ne.Y={\"#\":\"\\xA3\",\"@\":\"\\xA7\",\"[\":\"\\xB0\",\"\\\\\":\"\\xE7\",\"]\":\"\\xE9\",\"`\":\"\\xF9\",\"{\":\"\\xE0\",\"|\":\"\\xF2\",\"}\":\"\\xE8\",\"~\":\"\\xEC\"};ne.E=ne[6]={\"@\":\"\\xC4\",\"[\":\"\\xC6\",\"\\\\\":\"\\xD8\",\"]\":\"\\xC5\",\"^\":\"\\xDC\",\"`\":\"\\xE4\",\"{\":\"\\xE6\",\"|\":\"\\xF8\",\"}\":\"\\xE5\",\"~\":\"\\xFC\"};ne.Z={\"#\":\"\\xA3\",\"@\":\"\\xA7\",\"[\":\"\\xA1\",\"\\\\\":\"\\xD1\",\"]\":\"\\xBF\",\"{\":\"\\xB0\",\"|\":\"\\xF1\",\"}\":\"\\xE7\"};ne.H=ne[7]={\"@\":\"\\xC9\",\"[\":\"\\xC4\",\"\\\\\":\"\\xD6\",\"]\":\"\\xC5\",\"^\":\"\\xDC\",\"`\":\"\\xE9\",\"{\":\"\\xE4\",\"|\":\"\\xF6\",\"}\":\"\\xE5\",\"~\":\"\\xFC\"};ne[\"=\"]={\"#\":\"\\xF9\",\"@\":\"\\xE0\",\"[\":\"\\xE9\",\"\\\\\":\"\\xE7\",\"]\":\"\\xEA\",\"^\":\"\\xEE\",_:\"\\xE8\",\"`\":\"\\xF4\",\"{\":\"\\xE4\",\"|\":\"\\xF6\",\"}\":\"\\xFC\",\"~\":\"\\xFB\"};var cl=4294967295,$i=class{constructor(t,e,i){this._hasScrollback=t;this._optionsService=e;this._bufferService=i;this.ydisp=0;this.ybase=0;this.y=0;this.x=0;this.tabs={};this.savedY=0;this.savedX=0;this.savedCurAttrData=X.clone();this.savedCharset=Je;this.markers=[];this._nullCell=q.fromCharData([0,ir,1,0]);this._whitespaceCell=q.fromCharData([0,we,1,32]);this._isClearing=!1;this._memoryCleanupQueue=new Jt;this._memoryCleanupPosition=0;this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new zi(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(t){return t?(this._nullCell.fg=t.fg,this._nullCell.bg=t.bg,this._nullCell.extended=t.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new rt),this._nullCell}getWhitespaceCell(t){return t?(this._whitespaceCell.fg=t.fg,this._whitespaceCell.bg=t.bg,this._whitespaceCell.extended=t.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new rt),this._whitespaceCell}getBlankLine(t,e){return new Ze(this._bufferService.cols,this.getNullCell(t),e)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(t){if(!this._hasScrollback)return t;let e=t+this._optionsService.rawOptions.scrollback;return e>cl?cl:e}fillViewportRows(t){if(this.lines.length===0){t===void 0&&(t=X);let e=this._rows;for(;e--;)this.lines.push(this.getBlankLine(t))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new zi(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(t,e){let i=this.getNullCell(X),r=0,n=this._getCorrectBufferLength(e);if(n>this.lines.maxLength&&(this.lines.maxLength=n),this.lines.length>0){if(this._cols<t)for(let l=0;l<this.lines.length;l++)r+=+this.lines.get(l).resize(t,i);let o=0;if(this._rows<e)for(let l=this._rows;l<e;l++)this.lines.length<e+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new Ze(t,i)):this.ybase>0&&this.lines.length<=this.ybase+this.y+o+1?(this.ybase--,o++,this.ydisp>0&&this.ydisp--):this.lines.push(new Ze(t,i)));else for(let l=this._rows;l>e;l--)this.lines.length>e+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(n<this.lines.maxLength){let l=this.lines.length-n;l>0&&(this.lines.trimStart(l),this.ybase=Math.max(this.ybase-l,0),this.ydisp=Math.max(this.ydisp-l,0),this.savedY=Math.max(this.savedY-l,0)),this.lines.maxLength=n}this.x=Math.min(this.x,t-1),this.y=Math.min(this.y,e-1),o&&(this.y+=o),this.savedX=Math.min(this.savedX,t-1),this.scrollTop=0}if(this.scrollBottom=e-1,this._isReflowEnabled&&(this._reflow(t,e),this._cols>t))for(let o=0;o<this.lines.length;o++)r+=+this.lines.get(o).resize(t,i);this._cols=t,this._rows=e,this._memoryCleanupQueue.clear(),r>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let t=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,t=!1);let e=0;for(;this._memoryCleanupPosition<this.lines.length;)if(e+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),e>100)return!0;return t}get _isReflowEnabled(){let t=this._optionsService.rawOptions.windowsPty;return t&&t.buildNumber?this._hasScrollback&&t.backend===\"conpty\"&&t.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(t,e){this._cols!==t&&(t>this._cols?this._reflowLarger(t,e):this._reflowSmaller(t,e))}_reflowLarger(t,e){let i=this._optionsService.rawOptions.reflowCursorLine,r=sl(this.lines,this._cols,t,this.ybase+this.y,this.getNullCell(X),i);if(r.length>0){let n=ol(this.lines,r);ll(this.lines,n.layout),this._reflowLargerAdjustViewport(t,e,n.countRemoved)}}_reflowLargerAdjustViewport(t,e,i){let r=this.getNullCell(X),n=i;for(;n-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<e&&this.lines.push(new Ze(t,r))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-i,0)}_reflowSmaller(t,e){let i=this._optionsService.rawOptions.reflowCursorLine,r=this.getNullCell(X),n=[],o=0;for(let l=this.lines.length-1;l>=0;l--){let a=this.lines.get(l);if(!a||!a.isWrapped&&a.getTrimmedLength()<=t)continue;let u=[a];for(;a.isWrapped&&l>0;)a=this.lines.get(--l),u.unshift(a);if(!i){let I=this.ybase+this.y;if(I>=l&&I<l+u.length)continue}let h=u[u.length-1].getTrimmedLength(),c=al(u,this._cols,t),d=c.length-u.length,_;this.ybase===0&&this.y!==this.lines.length-1?_=Math.max(0,this.y-this.lines.maxLength+d):_=Math.max(0,this.lines.length-this.lines.maxLength+d);let p=[];for(let I=0;I<d;I++){let k=this.getBlankLine(X,!0);p.push(k)}p.length>0&&(n.push({start:l+u.length+o,newLines:p}),o+=p.length),u.push(...p);let m=c.length-1,f=c[m];f===0&&(m--,f=c[m]);let A=u.length-d-1,R=h;for(;A>=0;){let I=Math.min(R,f);if(u[m]===void 0)break;if(u[m].copyCellsFrom(u[A],R-I,f-I,I,!0),f-=I,f===0&&(m--,f=c[m]),R-=I,R===0){A--;let k=Math.max(A,0);R=ri(u,k,this._cols)}}for(let I=0;I<u.length;I++)c[I]<t&&u[I].setCell(c[I],r);let O=d-_;for(;O-- >0;)this.ybase===0?this.y<e-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+o)-e&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+d,this.ybase+e-1)}if(n.length>0){let l=[],a=[];for(let f=0;f<this.lines.length;f++)a.push(this.lines.get(f));let u=this.lines.length,h=u-1,c=0,d=n[c];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+o);let _=0;for(let f=Math.min(this.lines.maxLength-1,u+o-1);f>=0;f--)if(d&&d.start>h+_){for(let A=d.newLines.length-1;A>=0;A--)this.lines.set(f--,d.newLines[A]);f++,l.push({index:h+1,amount:d.newLines.length}),_+=d.newLines.length,d=n[++c]}else this.lines.set(f,a[h--]);let p=0;for(let f=l.length-1;f>=0;f--)l[f].index+=p,this.lines.onInsertEmitter.fire(l[f]),p+=l[f].amount;let m=Math.max(0,u+o-this.lines.maxLength);m>0&&this.lines.onTrimEmitter.fire(m)}}translateBufferLineToString(t,e,i=0,r){let n=this.lines.get(t);return n?n.translateToString(e,i,r):\"\"}getWrappedRangeForLine(t){let e=t,i=t;for(;e>0&&this.lines.get(e).isWrapped;)e--;for(;i+1<this.lines.length&&this.lines.get(i+1).isWrapped;)i++;return{first:e,last:i}}setupTabStops(t){for(t!=null?this.tabs[t]||(t=this.prevStop(t)):(this.tabs={},t=0);t<this._cols;t+=this._optionsService.rawOptions.tabStopWidth)this.tabs[t]=!0}prevStop(t){for(t==null&&(t=this.x);!this.tabs[--t]&&t>0;);return t>=this._cols?this._cols-1:t<0?0:t}nextStop(t){for(t==null&&(t=this.x);!this.tabs[++t]&&t<this._cols;);return t>=this._cols?this._cols-1:t<0?0:t}clearMarkers(t){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].line===t&&(this.markers[e].dispose(),this.markers.splice(e--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].dispose();this.markers.length=0,this._isClearing=!1}addMarker(t){let e=new cn(t);return this.markers.push(e),e.register(this.lines.onTrim(i=>{e.line-=i,e.line<0&&e.dispose()})),e.register(this.lines.onInsert(i=>{e.line>=i.index&&(e.line+=i.amount)})),e.register(this.lines.onDelete(i=>{e.line>=i.index&&e.line<i.index+i.amount&&e.dispose(),e.line>i.index&&(e.line-=i.amount)})),e.register(e.onDispose(()=>this._removeMarker(e))),e}_removeMarker(t){this._isClearing||this.markers.splice(this.markers.indexOf(t),1)}};var hn=class extends D{constructor(e,i){super();this._optionsService=e;this._bufferService=i;this._onBufferActivate=this._register(new v);this.onBufferActivate=this._onBufferActivate.event;this.reset(),this._register(this._optionsService.onSpecificOptionChange(\"scrollback\",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange(\"tabStopWidth\",()=>this.setupTabStops()))}reset(){this._normal=new $i(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new $i(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,i){this._normal.resize(e,i),this._alt.resize(e,i),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}};var ks=2,Cs=1,ni=class extends D{constructor(e){super();this.isUserScrolling=!1;this._onResize=this._register(new v);this.onResize=this._onResize.event;this._onScroll=this._register(new v);this.onScroll=this._onScroll.event;this.cols=Math.max(e.rawOptions.cols||0,ks),this.rows=Math.max(e.rawOptions.rows||0,Cs),this.buffers=this._register(new hn(e,this)),this._register(this.buffers.onBufferActivate(i=>{this._onScroll.fire(i.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,i){let r=this.cols!==e,n=this.rows!==i;this.cols=e,this.rows=i,this.buffers.resize(e,i),this._onResize.fire({cols:e,rows:i,colsChanged:r,rowsChanged:n})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,i=!1){let r=this.buffer,n;n=this._cachedBlankLine,(!n||n.length!==this.cols||n.getFg(0)!==e.fg||n.getBg(0)!==e.bg)&&(n=r.getBlankLine(e,i),this._cachedBlankLine=n),n.isWrapped=i;let o=r.ybase+r.scrollTop,l=r.ybase+r.scrollBottom;if(r.scrollTop===0){let a=r.lines.isFull;l===r.lines.length-1?a?r.lines.recycle().copyFrom(n):r.lines.push(n.clone()):r.lines.splice(l+1,0,n.clone()),a?this.isUserScrolling&&(r.ydisp=Math.max(r.ydisp-1,0)):(r.ybase++,this.isUserScrolling||r.ydisp++)}else{let a=l-o+1;r.lines.shiftElements(o+1,a-1,-1),r.lines.set(l,n.clone())}this.isUserScrolling||(r.ydisp=r.ybase),this._onScroll.fire(r.ydisp)}scrollLines(e,i){let r=this.buffer;if(e<0){if(r.ydisp===0)return;this.isUserScrolling=!0}else e+r.ydisp>=r.ybase&&(this.isUserScrolling=!1);let n=r.ydisp;r.ydisp=Math.max(Math.min(r.ydisp+e,r.ybase),0),n!==r.ydisp&&(i||this._onScroll.fire(r.ydisp))}};ni=M([S(0,H)],ni);var si={cols:80,rows:24,cursorBlink:!1,cursorStyle:\"block\",cursorWidth:1,cursorInactiveStyle:\"outline\",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:\"alt\",fastScrollSensitivity:5,fontFamily:\"monospace\",fontSize:15,fontWeight:\"normal\",fontWeightBold:\"bold\",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:\"info\",logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:Zt,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:\" ()[]{}',\\\"`\",altClickMovesCursor:!0,convertEol:!1,termName:\"xterm\",cancelEvents:!1,overviewRuler:{}},nc=[\"normal\",\"bold\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"],dn=class extends D{constructor(e){super();this._onOptionChange=this._register(new v);this.onOptionChange=this._onOptionChange.event;let i={...si};for(let r in e)if(r in i)try{let n=e[r];i[r]=this._sanitizeAndValidateOption(r,n)}catch(n){console.error(n)}this.rawOptions=i,this.options={...i},this._setupOptions(),this._register(C(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,i){return this.onOptionChange(r=>{r===e&&i(this.rawOptions[e])})}onMultipleOptionChange(e,i){return this.onOptionChange(r=>{e.indexOf(r)!==-1&&i()})}_setupOptions(){let e=r=>{if(!(r in si))throw new Error(`No option with key \"${r}\"`);return this.rawOptions[r]},i=(r,n)=>{if(!(r in si))throw new Error(`No option with key \"${r}\"`);n=this._sanitizeAndValidateOption(r,n),this.rawOptions[r]!==n&&(this.rawOptions[r]=n,this._onOptionChange.fire(r))};for(let r in this.rawOptions){let n={get:e.bind(this,r),set:i.bind(this,r)};Object.defineProperty(this.options,r,n)}}_sanitizeAndValidateOption(e,i){switch(e){case\"cursorStyle\":if(i||(i=si[e]),!sc(i))throw new Error(`\"${i}\" is not a valid value for ${e}`);break;case\"wordSeparator\":i||(i=si[e]);break;case\"fontWeight\":case\"fontWeightBold\":if(typeof i==\"number\"&&1<=i&&i<=1e3)break;i=nc.includes(i)?i:si[e];break;case\"cursorWidth\":i=Math.floor(i);case\"lineHeight\":case\"tabStopWidth\":if(i<1)throw new Error(`${e} cannot be less than 1, value: ${i}`);break;case\"minimumContrastRatio\":i=Math.max(1,Math.min(21,Math.round(i*10)/10));break;case\"scrollback\":if(i=Math.min(i,4294967295),i<0)throw new Error(`${e} cannot be less than 0, value: ${i}`);break;case\"fastScrollSensitivity\":case\"scrollSensitivity\":if(i<=0)throw new Error(`${e} cannot be less than or equal to 0, value: ${i}`);break;case\"rows\":case\"cols\":if(!i&&i!==0)throw new Error(`${e} must be numeric, value: ${i}`);break;case\"windowsPty\":i=i??{};break}return i}};function sc(s){return s===\"block\"||s===\"underline\"||s===\"bar\"}function oi(s,t=5){if(typeof s!=\"object\")return s;let e=Array.isArray(s)?[]:{};for(let i in s)e[i]=t<=1?s[i]:s[i]&&oi(s[i],t-1);return e}var ul=Object.freeze({insertMode:!1}),hl=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),li=class extends D{constructor(e,i,r){super();this._bufferService=e;this._logService=i;this._optionsService=r;this.isCursorInitialized=!1;this.isCursorHidden=!1;this._onData=this._register(new v);this.onData=this._onData.event;this._onUserInput=this._register(new v);this.onUserInput=this._onUserInput.event;this._onBinary=this._register(new v);this.onBinary=this._onBinary.event;this._onRequestScrollToBottom=this._register(new v);this.onRequestScrollToBottom=this._onRequestScrollToBottom.event;this.modes=oi(ul),this.decPrivateModes=oi(hl)}reset(){this.modes=oi(ul),this.decPrivateModes=oi(hl)}triggerDataEvent(e,i=!1){if(this._optionsService.rawOptions.disableStdin)return;let r=this._bufferService.buffer;i&&this._optionsService.rawOptions.scrollOnUserInput&&r.ybase!==r.ydisp&&this._onRequestScrollToBottom.fire(),i&&this._onUserInput.fire(),this._logService.debug(`sending data \"${e}\"`),this._logService.trace(\"sending data (codes)\",()=>e.split(\"\").map(n=>n.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary \"${e}\"`),this._logService.trace(\"sending binary (codes)\",()=>e.split(\"\").map(i=>i.charCodeAt(0))),this._onBinary.fire(e))}};li=M([S(0,F),S(1,nr),S(2,H)],li);var dl={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:s=>s.button===4||s.action!==1?!1:(s.ctrl=!1,s.alt=!1,s.shift=!1,!0)},VT200:{events:19,restrict:s=>s.action!==32},DRAG:{events:23,restrict:s=>!(s.action===32&&s.button===3)},ANY:{events:31,restrict:s=>!0}};function Ms(s,t){let e=(s.ctrl?16:0)|(s.shift?4:0)|(s.alt?8:0);return s.button===4?(e|=64,e|=s.action):(e|=s.button&3,s.button&4&&(e|=64),s.button&8&&(e|=128),s.action===32?e|=32:s.action===0&&!t&&(e|=3)),e}var Ps=String.fromCharCode,fl={DEFAULT:s=>{let t=[Ms(s,!1)+32,s.col+32,s.row+32];return t[0]>255||t[1]>255||t[2]>255?\"\":`\\x1B[M${Ps(t[0])}${Ps(t[1])}${Ps(t[2])}`},SGR:s=>{let t=s.action===0&&s.button!==4?\"m\":\"M\";return`\\x1B[<${Ms(s,!0)};${s.col};${s.row}${t}`},SGR_PIXELS:s=>{let t=s.action===0&&s.button!==4?\"m\":\"M\";return`\\x1B[<${Ms(s,!0)};${s.x};${s.y}${t}`}},ai=class extends D{constructor(e,i,r){super();this._bufferService=e;this._coreService=i;this._optionsService=r;this._protocols={};this._encodings={};this._activeProtocol=\"\";this._activeEncoding=\"\";this._lastEvent=null;this._wheelPartialScroll=0;this._onProtocolChange=this._register(new v);this.onProtocolChange=this._onProtocolChange.event;for(let n of Object.keys(dl))this.addProtocol(n,dl[n]);for(let n of Object.keys(fl))this.addEncoding(n,fl[n]);this.reset()}addProtocol(e,i){this._protocols[e]=i}addEncoding(e,i){this._encodings[e]=i}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw new Error(`unknown protocol \"${e}\"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw new Error(`unknown encoding \"${e}\"`);this._activeEncoding=e}reset(){this.activeProtocol=\"NONE\",this.activeEncoding=\"DEFAULT\",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,i,r){if(e.deltaY===0||e.shiftKey||i===void 0||r===void 0)return 0;let n=i/r,o=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(o/=n+0,Math.abs(e.deltaY)<50&&(o*=.3),this._wheelPartialScroll+=o,o=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(o*=this._bufferService.rows),o}_applyScrollModifier(e,i){return i.altKey||i.ctrlKey||i.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||e.button===4&&e.action===32||e.button===3&&e.action!==32||e.button!==4&&(e.action===2||e.action===3)||(e.col++,e.row++,e.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e,this._activeEncoding===\"SGR_PIXELS\"))||!this._protocols[this._activeProtocol].restrict(e))return!1;let i=this._encodings[this._activeEncoding](e);return i&&(this._activeEncoding===\"DEFAULT\"?this._coreService.triggerBinaryEvent(i):this._coreService.triggerDataEvent(i,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(e&1),up:!!(e&2),drag:!!(e&4),move:!!(e&8),wheel:!!(e&16)}}_equalEvents(e,i,r){if(r){if(e.x!==i.x||e.y!==i.y)return!1}else if(e.col!==i.col||e.row!==i.row)return!1;return!(e.button!==i.button||e.action!==i.action||e.ctrl!==i.ctrl||e.alt!==i.alt||e.shift!==i.shift)}};ai=M([S(0,F),S(1,ge),S(2,H)],ai);var Os=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],ac=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],se;function cc(s,t){let e=0,i=t.length-1,r;if(s<t[0][0]||s>t[i][1])return!1;for(;i>=e;)if(r=e+i>>1,s>t[r][1])e=r+1;else if(s<t[r][0])i=r-1;else return!0;return!1}var fn=class{constructor(){this.version=\"6\";if(!se){se=new Uint8Array(65536),se.fill(1),se[0]=0,se.fill(0,1,32),se.fill(0,127,160),se.fill(2,4352,4448),se[9001]=2,se[9002]=2,se.fill(2,11904,42192),se[12351]=1,se.fill(2,44032,55204),se.fill(2,63744,64256),se.fill(2,65040,65050),se.fill(2,65072,65136),se.fill(2,65280,65377),se.fill(2,65504,65511);for(let t=0;t<Os.length;++t)se.fill(0,Os[t][0],Os[t][1]+1)}}wcwidth(t){return t<32?0:t<127?1:t<65536?se[t]:cc(t,ac)?0:t>=131072&&t<=196605||t>=196608&&t<=262141?2:1}charProperties(t,e){let i=this.wcwidth(t),r=i===0&&e!==0;if(r){let n=Ae.extractWidth(e);n===0?r=!1:n>i&&(i=n)}return Ae.createPropertyValue(0,i,r)}};var Ae=class s{constructor(){this._providers=Object.create(null);this._active=\"\";this._onChange=new v;this.onChange=this._onChange.event;let t=new fn;this.register(t),this._active=t.version,this._activeProvider=t}static extractShouldJoin(t){return(t&1)!==0}static extractWidth(t){return t>>1&3}static extractCharKind(t){return t>>3}static createPropertyValue(t,e,i=!1){return(t&16777215)<<3|(e&3)<<1|(i?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(t){if(!this._providers[t])throw new Error(`unknown Unicode version \"${t}\"`);this._active=t,this._activeProvider=this._providers[t],this._onChange.fire(t)}register(t){this._providers[t.version]=t}wcwidth(t){return this._activeProvider.wcwidth(t)}getStringCellWidth(t){let e=0,i=0,r=t.length;for(let n=0;n<r;++n){let o=t.charCodeAt(n);if(55296<=o&&o<=56319){if(++n>=r)return e+this.wcwidth(o);let u=t.charCodeAt(n);56320<=u&&u<=57343?o=(o-55296)*1024+u-56320+65536:e+=this.wcwidth(u)}let l=this.charProperties(o,i),a=s.extractWidth(l);s.extractShouldJoin(l)&&(a-=s.extractWidth(i)),e+=a,i=l}return e}charProperties(t,e){return this._activeProvider.charProperties(t,e)}};var pn=class{constructor(){this.glevel=0;this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(t){this.glevel=t,this.charset=this._charsets[t]}setgCharset(t,e){this._charsets[t]=e,this.glevel===t&&(this.charset=e)}};function Bs(s){let e=s.buffer.lines.get(s.buffer.ybase+s.buffer.y-1)?.get(s.cols-1),i=s.buffer.lines.get(s.buffer.ybase+s.buffer.y);i&&e&&(i.isWrapped=e[3]!==0&&e[3]!==32)}var Vi=2147483647,uc=256,ci=class s{constructor(t=32,e=32){this.maxLength=t;this.maxSubParamsLength=e;if(e>uc)throw new Error(\"maxSubParamsLength must not be greater than 256\");this.params=new Int32Array(t),this.length=0,this._subParams=new Int32Array(e),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(t),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(t){let e=new s;if(!t.length)return e;for(let i=Array.isArray(t[0])?1:0;i<t.length;++i){let r=t[i];if(Array.isArray(r))for(let n=0;n<r.length;++n)e.addSubParam(r[n]);else e.addParam(r)}return e}clone(){let t=new s(this.maxLength,this.maxSubParamsLength);return t.params.set(this.params),t.length=this.length,t._subParams.set(this._subParams),t._subParamsLength=this._subParamsLength,t._subParamsIdx.set(this._subParamsIdx),t._rejectDigits=this._rejectDigits,t._rejectSubDigits=this._rejectSubDigits,t._digitIsSub=this._digitIsSub,t}toArray(){let t=[];for(let e=0;e<this.length;++e){t.push(this.params[e]);let i=this._subParamsIdx[e]>>8,r=this._subParamsIdx[e]&255;r-i>0&&t.push(Array.prototype.slice.call(this._subParams,i,r))}return t}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(t){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(t<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=t>Vi?Vi:t}addSubParam(t){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(t<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParams[this._subParamsLength++]=t>Vi?Vi:t,this._subParamsIdx[this.length-1]++}}hasSubParams(t){return(this._subParamsIdx[t]&255)-(this._subParamsIdx[t]>>8)>0}getSubParams(t){let e=this._subParamsIdx[t]>>8,i=this._subParamsIdx[t]&255;return i-e>0?this._subParams.subarray(e,i):null}getSubParamsAll(){let t={};for(let e=0;e<this.length;++e){let i=this._subParamsIdx[e]>>8,r=this._subParamsIdx[e]&255;r-i>0&&(t[e]=this._subParams.slice(i,r))}return t}addDigit(t){let e;if(this._rejectDigits||!(e=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let i=this._digitIsSub?this._subParams:this.params,r=i[e-1];i[e-1]=~r?Math.min(r*10+t,Vi):t}};var qi=[],mn=class{constructor(){this._state=0;this._active=qi;this._id=-1;this._handlers=Object.create(null);this._handlerFb=()=>{};this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(t,e){this._handlers[t]===void 0&&(this._handlers[t]=[]);let i=this._handlers[t];return i.push(e),{dispose:()=>{let r=i.indexOf(e);r!==-1&&i.splice(r,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=qi}reset(){if(this._state===2)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].end(!1);this._stack.paused=!1,this._active=qi,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||qi,!this._active.length)this._handlerFb(this._id,\"START\");else for(let t=this._active.length-1;t>=0;t--)this._active[t].start()}_put(t,e,i){if(!this._active.length)this._handlerFb(this._id,\"PUT\",It(t,e,i));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(t,e,i)}start(){this.reset(),this._state=1}put(t,e,i){if(this._state!==3){if(this._state===1)for(;e<i;){let r=t[e++];if(r===59){this._state=2,this._start();break}if(r<48||57<r){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+r-48}this._state===2&&i-e>0&&this._put(t,e,i)}}end(t,e=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,\"END\",t);else{let i=!1,r=this._active.length-1,n=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,i=e,n=this._stack.fallThrough,this._stack.paused=!1),!n&&i===!1){for(;r>=0&&(i=this._active[r].end(t),i!==!0);r--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,i;r--}for(;r>=0;r--)if(i=this._active[r].end(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,i}this._active=qi,this._id=-1,this._state=0}}},pe=class{constructor(t){this._handler=t;this._data=\"\";this._hitLimit=!1}start(){this._data=\"\",this._hitLimit=!1}put(t,e,i){this._hitLimit||(this._data+=It(t,e,i),this._data.length>1e7&&(this._data=\"\",this._hitLimit=!0))}end(t){let e=!1;if(this._hitLimit)e=!1;else if(t&&(e=this._handler(this._data),e instanceof Promise))return e.then(i=>(this._data=\"\",this._hitLimit=!1,i));return this._data=\"\",this._hitLimit=!1,e}};var Yi=[],_n=class{constructor(){this._handlers=Object.create(null);this._active=Yi;this._ident=0;this._handlerFb=()=>{};this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Yi}registerHandler(t,e){this._handlers[t]===void 0&&(this._handlers[t]=[]);let i=this._handlers[t];return i.push(e),{dispose:()=>{let r=i.indexOf(e);r!==-1&&i.splice(r,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}reset(){if(this._active.length)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].unhook(!1);this._stack.paused=!1,this._active=Yi,this._ident=0}hook(t,e){if(this.reset(),this._ident=t,this._active=this._handlers[t]||Yi,!this._active.length)this._handlerFb(this._ident,\"HOOK\",e);else for(let i=this._active.length-1;i>=0;i--)this._active[i].hook(e)}put(t,e,i){if(!this._active.length)this._handlerFb(this._ident,\"PUT\",It(t,e,i));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(t,e,i)}unhook(t,e=!0){if(!this._active.length)this._handlerFb(this._ident,\"UNHOOK\",t);else{let i=!1,r=this._active.length-1,n=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,i=e,n=this._stack.fallThrough,this._stack.paused=!1),!n&&i===!1){for(;r>=0&&(i=this._active[r].unhook(t),i!==!0);r--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,i;r--}for(;r>=0;r--)if(i=this._active[r].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,i}this._active=Yi,this._ident=0}},ji=new ci;ji.addParam(0);var Xi=class{constructor(t){this._handler=t;this._data=\"\";this._params=ji;this._hitLimit=!1}hook(t){this._params=t.length>1||t.params[0]?t.clone():ji,this._data=\"\",this._hitLimit=!1}put(t,e,i){this._hitLimit||(this._data+=It(t,e,i),this._data.length>1e7&&(this._data=\"\",this._hitLimit=!0))}unhook(t){let e=!1;if(this._hitLimit)e=!1;else if(t&&(e=this._handler(this._data,this._params),e instanceof Promise))return e.then(i=>(this._params=ji,this._data=\"\",this._hitLimit=!1,i));return this._params=ji,this._data=\"\",this._hitLimit=!1,e}};var Fs=class{constructor(t){this.table=new Uint8Array(t)}setDefault(t,e){this.table.fill(t<<4|e)}add(t,e,i,r){this.table[e<<8|t]=i<<4|r}addMany(t,e,i,r){for(let n=0;n<t.length;n++)this.table[e<<8|t[n]]=i<<4|r}},ke=160,hc=function(){let s=new Fs(4095),e=Array.apply(null,Array(256)).map((a,u)=>u),i=(a,u)=>e.slice(a,u),r=i(32,127),n=i(0,24);n.push(25),n.push.apply(n,i(28,32));let o=i(0,14),l;s.setDefault(1,0),s.addMany(r,0,2,0);for(l in o)s.addMany([24,26,153,154],l,3,0),s.addMany(i(128,144),l,3,0),s.addMany(i(144,152),l,3,0),s.add(156,l,0,0),s.add(27,l,11,1),s.add(157,l,4,8),s.addMany([152,158,159],l,0,7),s.add(155,l,11,3),s.add(144,l,11,9);return s.addMany(n,0,3,0),s.addMany(n,1,3,1),s.add(127,1,0,1),s.addMany(n,8,0,8),s.addMany(n,3,3,3),s.add(127,3,0,3),s.addMany(n,4,3,4),s.add(127,4,0,4),s.addMany(n,6,3,6),s.addMany(n,5,3,5),s.add(127,5,0,5),s.addMany(n,2,3,2),s.add(127,2,0,2),s.add(93,1,4,8),s.addMany(r,8,5,8),s.add(127,8,5,8),s.addMany([156,27,24,26,7],8,6,0),s.addMany(i(28,32),8,0,8),s.addMany([88,94,95],1,0,7),s.addMany(r,7,0,7),s.addMany(n,7,0,7),s.add(156,7,0,0),s.add(127,7,0,7),s.add(91,1,11,3),s.addMany(i(64,127),3,7,0),s.addMany(i(48,60),3,8,4),s.addMany([60,61,62,63],3,9,4),s.addMany(i(48,60),4,8,4),s.addMany(i(64,127),4,7,0),s.addMany([60,61,62,63],4,0,6),s.addMany(i(32,64),6,0,6),s.add(127,6,0,6),s.addMany(i(64,127),6,0,0),s.addMany(i(32,48),3,9,5),s.addMany(i(32,48),5,9,5),s.addMany(i(48,64),5,0,6),s.addMany(i(64,127),5,7,0),s.addMany(i(32,48),4,9,5),s.addMany(i(32,48),1,9,2),s.addMany(i(32,48),2,9,2),s.addMany(i(48,127),2,10,0),s.addMany(i(48,80),1,10,0),s.addMany(i(81,88),1,10,0),s.addMany([89,90,92],1,10,0),s.addMany(i(96,127),1,10,0),s.add(80,1,11,9),s.addMany(n,9,0,9),s.add(127,9,0,9),s.addMany(i(28,32),9,0,9),s.addMany(i(32,48),9,9,12),s.addMany(i(48,60),9,8,10),s.addMany([60,61,62,63],9,9,10),s.addMany(n,11,0,11),s.addMany(i(32,128),11,0,11),s.addMany(i(28,32),11,0,11),s.addMany(n,10,0,10),s.add(127,10,0,10),s.addMany(i(28,32),10,0,10),s.addMany(i(48,60),10,8,10),s.addMany([60,61,62,63],10,0,11),s.addMany(i(32,48),10,9,12),s.addMany(n,12,0,12),s.add(127,12,0,12),s.addMany(i(28,32),12,0,12),s.addMany(i(32,48),12,9,12),s.addMany(i(48,64),12,0,11),s.addMany(i(64,127),12,12,13),s.addMany(i(64,127),10,12,13),s.addMany(i(64,127),9,12,13),s.addMany(n,13,13,13),s.addMany(r,13,13,13),s.add(127,13,0,13),s.addMany([27,156,24,26],13,14,0),s.add(ke,0,2,0),s.add(ke,8,5,8),s.add(ke,6,0,6),s.add(ke,11,0,11),s.add(ke,13,13,13),s}(),bn=class extends D{constructor(e=hc){super();this._transitions=e;this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0};this.initialState=0,this.currentState=this.initialState,this._params=new ci,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(i,r,n)=>{},this._executeHandlerFb=i=>{},this._csiHandlerFb=(i,r)=>{},this._escHandlerFb=i=>{},this._errorHandlerFb=i=>i,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(C(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new mn),this._dcsParser=this._register(new _n),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:\"\\\\\"},()=>!0)}_identifier(e,i=[64,126]){let r=0;if(e.prefix){if(e.prefix.length>1)throw new Error(\"only one byte as prefix supported\");if(r=e.prefix.charCodeAt(0),r&&60>r||r>63)throw new Error(\"prefix must be in range 0x3c .. 0x3f\")}if(e.intermediates){if(e.intermediates.length>2)throw new Error(\"only two bytes as intermediates are supported\");for(let o=0;o<e.intermediates.length;++o){let l=e.intermediates.charCodeAt(o);if(32>l||l>47)throw new Error(\"intermediate must be in range 0x20 .. 0x2f\");r<<=8,r|=l}}if(e.final.length!==1)throw new Error(\"final must be a single byte\");let n=e.final.charCodeAt(0);if(i[0]>n||n>i[1])throw new Error(`final must be in range ${i[0]} .. ${i[1]}`);return r<<=8,r|=n,r}identToString(e){let i=[];for(;e;)i.push(String.fromCharCode(e&255)),e>>=8;return i.reverse().join(\"\")}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,i){let r=this._identifier(e,[48,126]);this._escHandlers[r]===void 0&&(this._escHandlers[r]=[]);let n=this._escHandlers[r];return n.push(i),{dispose:()=>{let o=n.indexOf(i);o!==-1&&n.splice(o,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,i){this._executeHandlers[e.charCodeAt(0)]=i}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,i){let r=this._identifier(e);this._csiHandlers[r]===void 0&&(this._csiHandlers[r]=[]);let n=this._csiHandlers[r];return n.push(i),{dispose:()=>{let o=n.indexOf(i);o!==-1&&n.splice(o,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,i){return this._dcsParser.registerHandler(this._identifier(e),i)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,i){return this._oscParser.registerHandler(e,i)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,i,r,n,o){this._parseStack.state=e,this._parseStack.handlers=i,this._parseStack.handlerPos=r,this._parseStack.transition=n,this._parseStack.chunkPos=o}parse(e,i,r){let n=0,o=0,l=0,a;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,l=this._parseStack.chunkPos+1;else{if(r===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error(\"improper continuation due to previous async handler, giving up parsing\");let u=this._parseStack.handlers,h=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(r===!1&&h>-1){for(;h>=0&&(a=u[h](this._params),a!==!0);h--)if(a instanceof Promise)return this._parseStack.handlerPos=h,a}this._parseStack.handlers=[];break;case 4:if(r===!1&&h>-1){for(;h>=0&&(a=u[h](),a!==!0);h--)if(a instanceof Promise)return this._parseStack.handlerPos=h,a}this._parseStack.handlers=[];break;case 6:if(n=e[this._parseStack.chunkPos],a=this._dcsParser.unhook(n!==24&&n!==26,r),a)return a;n===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(n=e[this._parseStack.chunkPos],a=this._oscParser.end(n!==24&&n!==26,r),a)return a;n===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,l=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let u=l;u<i;++u){switch(n=e[u],o=this._transitions.table[this.currentState<<8|(n<160?n:ke)],o>>4){case 2:for(let m=u+1;;++m){if(m>=i||(n=e[m])<32||n>126&&n<ke){this._printHandler(e,u,m),u=m-1;break}if(++m>=i||(n=e[m])<32||n>126&&n<ke){this._printHandler(e,u,m),u=m-1;break}if(++m>=i||(n=e[m])<32||n>126&&n<ke){this._printHandler(e,u,m),u=m-1;break}if(++m>=i||(n=e[m])<32||n>126&&n<ke){this._printHandler(e,u,m),u=m-1;break}}break;case 3:this._executeHandlers[n]?this._executeHandlers[n]():this._executeHandlerFb(n),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:u,code:n,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let c=this._csiHandlers[this._collect<<8|n],d=c?c.length-1:-1;for(;d>=0&&(a=c[d](this._params),a!==!0);d--)if(a instanceof Promise)return this._preserveStack(3,c,d,o,u),a;d<0&&this._csiHandlerFb(this._collect<<8|n,this._params),this.precedingJoinState=0;break;case 8:do switch(n){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(n-48)}while(++u<i&&(n=e[u])>47&&n<60);u--;break;case 9:this._collect<<=8,this._collect|=n;break;case 10:let _=this._escHandlers[this._collect<<8|n],p=_?_.length-1:-1;for(;p>=0&&(a=_[p](),a!==!0);p--)if(a instanceof Promise)return this._preserveStack(4,_,p,o,u),a;p<0&&this._escHandlerFb(this._collect<<8|n),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|n,this._params);break;case 13:for(let m=u+1;;++m)if(m>=i||(n=e[m])===24||n===26||n===27||n>127&&n<ke){this._dcsParser.put(e,u,m),u=m-1;break}break;case 14:if(a=this._dcsParser.unhook(n!==24&&n!==26),a)return this._preserveStack(6,[],0,o,u),a;n===27&&(o|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let m=u+1;;m++)if(m>=i||(n=e[m])<32||n>127&&n<ke){this._oscParser.put(e,u,m),u=m-1;break}break;case 6:if(a=this._oscParser.end(n!==24&&n!==26),a)return this._preserveStack(5,[],0,o,u),a;n===27&&(o|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break}this.currentState=o&15}}};var dc=/^([\\da-f])\\/([\\da-f])\\/([\\da-f])$|^([\\da-f]{2})\\/([\\da-f]{2})\\/([\\da-f]{2})$|^([\\da-f]{3})\\/([\\da-f]{3})\\/([\\da-f]{3})$|^([\\da-f]{4})\\/([\\da-f]{4})\\/([\\da-f]{4})$/,fc=/^[\\da-f]+$/;function Ws(s){if(!s)return;let t=s.toLowerCase();if(t.indexOf(\"rgb:\")===0){t=t.slice(4);let e=dc.exec(t);if(e){let i=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/i*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/i*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/i*255)]}}else if(t.indexOf(\"#\")===0&&(t=t.slice(1),fc.exec(t)&&[3,6,9,12].includes(t.length))){let e=t.length/3,i=[0,0,0];for(let r=0;r<3;++r){let n=parseInt(t.slice(e*r,e*r+e),16);i[r]=e===1?n<<4:e===2?n:e===3?n>>4:n>>8}return i}}function Hs(s,t){let e=s.toString(16),i=e.length<2?\"0\"+e:e;switch(t){case 4:return e[0];case 8:return i;case 12:return(i+i).slice(0,3);default:return i+i}}function ml(s,t=16){let[e,i,r]=s;return`rgb:${Hs(e,t)}/${Hs(i,t)}/${Hs(r,t)}`}var mc={\"(\":0,\")\":1,\"*\":2,\"+\":3,\"-\":1,\".\":2},ut=131072,_l=10;function bl(s,t){if(s>24)return t.setWinLines||!1;switch(s){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var vl=5e3,gl=0,vn=class extends D{constructor(e,i,r,n,o,l,a,u,h=new bn){super();this._bufferService=e;this._charsetService=i;this._coreService=r;this._logService=n;this._optionsService=o;this._oscLinkService=l;this._coreMouseService=a;this._unicodeService=u;this._parser=h;this._parseBuffer=new Uint32Array(4096);this._stringDecoder=new er;this._utf8Decoder=new tr;this._windowTitle=\"\";this._iconName=\"\";this._windowTitleStack=[];this._iconNameStack=[];this._curAttrData=X.clone();this._eraseAttrDataInternal=X.clone();this._onRequestBell=this._register(new v);this.onRequestBell=this._onRequestBell.event;this._onRequestRefreshRows=this._register(new v);this.onRequestRefreshRows=this._onRequestRefreshRows.event;this._onRequestReset=this._register(new v);this.onRequestReset=this._onRequestReset.event;this._onRequestSendFocus=this._register(new v);this.onRequestSendFocus=this._onRequestSendFocus.event;this._onRequestSyncScrollBar=this._register(new v);this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event;this._onRequestWindowsOptionsReport=this._register(new v);this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event;this._onA11yChar=this._register(new v);this.onA11yChar=this._onA11yChar.event;this._onA11yTab=this._register(new v);this.onA11yTab=this._onA11yTab.event;this._onCursorMove=this._register(new v);this.onCursorMove=this._onCursorMove.event;this._onLineFeed=this._register(new v);this.onLineFeed=this._onLineFeed.event;this._onScroll=this._register(new v);this.onScroll=this._onScroll.event;this._onTitleChange=this._register(new v);this.onTitleChange=this._onTitleChange.event;this._onColor=this._register(new v);this.onColor=this._onColor.event;this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0};this._specialColors=[256,257,258];this._register(this._parser),this._dirtyRowTracker=new Zi(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(c=>this._activeBuffer=c.activeBuffer)),this._parser.setCsiHandlerFallback((c,d)=>{this._logService.debug(\"Unknown CSI code: \",{identifier:this._parser.identToString(c),params:d.toArray()})}),this._parser.setEscHandlerFallback(c=>{this._logService.debug(\"Unknown ESC code: \",{identifier:this._parser.identToString(c)})}),this._parser.setExecuteHandlerFallback(c=>{this._logService.debug(\"Unknown EXECUTE code: \",{code:c})}),this._parser.setOscHandlerFallback((c,d,_)=>{this._logService.debug(\"Unknown OSC code: \",{identifier:c,action:d,data:_})}),this._parser.setDcsHandlerFallback((c,d,_)=>{d===\"HOOK\"&&(_=_.toArray()),this._logService.debug(\"Unknown DCS code: \",{identifier:this._parser.identToString(c),action:d,payload:_})}),this._parser.setPrintHandler((c,d,_)=>this.print(c,d,_)),this._parser.registerCsiHandler({final:\"@\"},c=>this.insertChars(c)),this._parser.registerCsiHandler({intermediates:\" \",final:\"@\"},c=>this.scrollLeft(c)),this._parser.registerCsiHandler({final:\"A\"},c=>this.cursorUp(c)),this._parser.registerCsiHandler({intermediates:\" \",final:\"A\"},c=>this.scrollRight(c)),this._parser.registerCsiHandler({final:\"B\"},c=>this.cursorDown(c)),this._parser.registerCsiHandler({final:\"C\"},c=>this.cursorForward(c)),this._parser.registerCsiHandler({final:\"D\"},c=>this.cursorBackward(c)),this._parser.registerCsiHandler({final:\"E\"},c=>this.cursorNextLine(c)),this._parser.registerCsiHandler({final:\"F\"},c=>this.cursorPrecedingLine(c)),this._parser.registerCsiHandler({final:\"G\"},c=>this.cursorCharAbsolute(c)),this._parser.registerCsiHandler({final:\"H\"},c=>this.cursorPosition(c)),this._parser.registerCsiHandler({final:\"I\"},c=>this.cursorForwardTab(c)),this._parser.registerCsiHandler({final:\"J\"},c=>this.eraseInDisplay(c,!1)),this._parser.registerCsiHandler({prefix:\"?\",final:\"J\"},c=>this.eraseInDisplay(c,!0)),this._parser.registerCsiHandler({final:\"K\"},c=>this.eraseInLine(c,!1)),this._parser.registerCsiHandler({prefix:\"?\",final:\"K\"},c=>this.eraseInLine(c,!0)),this._parser.registerCsiHandler({final:\"L\"},c=>this.insertLines(c)),this._parser.registerCsiHandler({final:\"M\"},c=>this.deleteLines(c)),this._parser.registerCsiHandler({final:\"P\"},c=>this.deleteChars(c)),this._parser.registerCsiHandler({final:\"S\"},c=>this.scrollUp(c)),this._parser.registerCsiHandler({final:\"T\"},c=>this.scrollDown(c)),this._parser.registerCsiHandler({final:\"X\"},c=>this.eraseChars(c)),this._parser.registerCsiHandler({final:\"Z\"},c=>this.cursorBackwardTab(c)),this._parser.registerCsiHandler({final:\"`\"},c=>this.charPosAbsolute(c)),this._parser.registerCsiHandler({final:\"a\"},c=>this.hPositionRelative(c)),this._parser.registerCsiHandler({final:\"b\"},c=>this.repeatPrecedingCharacter(c)),this._parser.registerCsiHandler({final:\"c\"},c=>this.sendDeviceAttributesPrimary(c)),this._parser.registerCsiHandler({prefix:\">\",final:\"c\"},c=>this.sendDeviceAttributesSecondary(c)),this._parser.registerCsiHandler({final:\"d\"},c=>this.linePosAbsolute(c)),this._parser.registerCsiHandler({final:\"e\"},c=>this.vPositionRelative(c)),this._parser.registerCsiHandler({final:\"f\"},c=>this.hVPosition(c)),this._parser.registerCsiHandler({final:\"g\"},c=>this.tabClear(c)),this._parser.registerCsiHandler({final:\"h\"},c=>this.setMode(c)),this._parser.registerCsiHandler({prefix:\"?\",final:\"h\"},c=>this.setModePrivate(c)),this._parser.registerCsiHandler({final:\"l\"},c=>this.resetMode(c)),this._parser.registerCsiHandler({prefix:\"?\",final:\"l\"},c=>this.resetModePrivate(c)),this._parser.registerCsiHandler({final:\"m\"},c=>this.charAttributes(c)),this._parser.registerCsiHandler({final:\"n\"},c=>this.deviceStatus(c)),this._parser.registerCsiHandler({prefix:\"?\",final:\"n\"},c=>this.deviceStatusPrivate(c)),this._parser.registerCsiHandler({intermediates:\"!\",final:\"p\"},c=>this.softReset(c)),this._parser.registerCsiHandler({intermediates:\" \",final:\"q\"},c=>this.setCursorStyle(c)),this._parser.registerCsiHandler({final:\"r\"},c=>this.setScrollRegion(c)),this._parser.registerCsiHandler({final:\"s\"},c=>this.saveCursor(c)),this._parser.registerCsiHandler({final:\"t\"},c=>this.windowOptions(c)),this._parser.registerCsiHandler({final:\"u\"},c=>this.restoreCursor(c)),this._parser.registerCsiHandler({intermediates:\"'\",final:\"}\"},c=>this.insertColumns(c)),this._parser.registerCsiHandler({intermediates:\"'\",final:\"~\"},c=>this.deleteColumns(c)),this._parser.registerCsiHandler({intermediates:'\"',final:\"q\"},c=>this.selectProtected(c)),this._parser.registerCsiHandler({intermediates:\"$\",final:\"p\"},c=>this.requestMode(c,!0)),this._parser.registerCsiHandler({prefix:\"?\",intermediates:\"$\",final:\"p\"},c=>this.requestMode(c,!1)),this._parser.setExecuteHandler(b.BEL,()=>this.bell()),this._parser.setExecuteHandler(b.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(b.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(b.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(b.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(b.BS,()=>this.backspace()),this._parser.setExecuteHandler(b.HT,()=>this.tab()),this._parser.setExecuteHandler(b.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(b.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(Ai.IND,()=>this.index()),this._parser.setExecuteHandler(Ai.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(Ai.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new pe(c=>(this.setTitle(c),this.setIconName(c),!0))),this._parser.registerOscHandler(1,new pe(c=>this.setIconName(c))),this._parser.registerOscHandler(2,new pe(c=>this.setTitle(c))),this._parser.registerOscHandler(4,new pe(c=>this.setOrReportIndexedColor(c))),this._parser.registerOscHandler(8,new pe(c=>this.setHyperlink(c))),this._parser.registerOscHandler(10,new pe(c=>this.setOrReportFgColor(c))),this._parser.registerOscHandler(11,new pe(c=>this.setOrReportBgColor(c))),this._parser.registerOscHandler(12,new pe(c=>this.setOrReportCursorColor(c))),this._parser.registerOscHandler(104,new pe(c=>this.restoreIndexedColor(c))),this._parser.registerOscHandler(110,new pe(c=>this.restoreFgColor(c))),this._parser.registerOscHandler(111,new pe(c=>this.restoreBgColor(c))),this._parser.registerOscHandler(112,new pe(c=>this.restoreCursorColor(c))),this._parser.registerEscHandler({final:\"7\"},()=>this.saveCursor()),this._parser.registerEscHandler({final:\"8\"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:\"D\"},()=>this.index()),this._parser.registerEscHandler({final:\"E\"},()=>this.nextLine()),this._parser.registerEscHandler({final:\"H\"},()=>this.tabSet()),this._parser.registerEscHandler({final:\"M\"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:\"=\"},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:\">\"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:\"c\"},()=>this.fullReset()),this._parser.registerEscHandler({final:\"n\"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:\"o\"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:\"|\"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:\"}\"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:\"~\"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:\"%\",final:\"@\"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:\"%\",final:\"G\"},()=>this.selectDefaultCharset());for(let c in ne)this._parser.registerEscHandler({intermediates:\"(\",final:c},()=>this.selectCharset(\"(\"+c)),this._parser.registerEscHandler({intermediates:\")\",final:c},()=>this.selectCharset(\")\"+c)),this._parser.registerEscHandler({intermediates:\"*\",final:c},()=>this.selectCharset(\"*\"+c)),this._parser.registerEscHandler({intermediates:\"+\",final:c},()=>this.selectCharset(\"+\"+c)),this._parser.registerEscHandler({intermediates:\"-\",final:c},()=>this.selectCharset(\"-\"+c)),this._parser.registerEscHandler({intermediates:\".\",final:c},()=>this.selectCharset(\".\"+c)),this._parser.registerEscHandler({intermediates:\"/\",final:c},()=>this.selectCharset(\"/\"+c));this._parser.registerEscHandler({intermediates:\"#\",final:\"8\"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(c=>(this._logService.error(\"Parsing error: \",c),c)),this._parser.registerDcsHandler({intermediates:\"$\",final:\"q\"},new Xi((c,d)=>this.requestStatusString(c,d)))}getAttrData(){return this._curAttrData}_preserveStack(e,i,r,n){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=i,this._parseStack.decodedLength=r,this._parseStack.position=n}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((i,r)=>setTimeout(()=>r(\"#SLOW_TIMEOUT\"),vl))]).catch(i=>{if(i!==\"#SLOW_TIMEOUT\")throw i;console.warn(`async parser handler taking longer than ${vl} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,i){let r,n=this._activeBuffer.x,o=this._activeBuffer.y,l=0,a=this._parseStack.paused;if(a){if(r=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,i))return this._logSlowResolvingAsync(r),r;n=this._parseStack.cursorStartX,o=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>ut&&(l=this._parseStack.position+ut)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e==\"string\"?` \"${e}\"`:` \"${Array.prototype.map.call(e,c=>String.fromCharCode(c)).join(\"\")}\"`}`),this._logService.logLevel===0&&this._logService.trace(\"parsing data (codes)\",typeof e==\"string\"?e.split(\"\").map(c=>c.charCodeAt(0)):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<ut&&(this._parseBuffer=new Uint32Array(Math.min(e.length,ut))),a||this._dirtyRowTracker.clearRange(),e.length>ut)for(let c=l;c<e.length;c+=ut){let d=c+ut<e.length?c+ut:e.length,_=typeof e==\"string\"?this._stringDecoder.decode(e.substring(c,d),this._parseBuffer):this._utf8Decoder.decode(e.subarray(c,d),this._parseBuffer);if(r=this._parser.parse(this._parseBuffer,_))return this._preserveStack(n,o,_,c),this._logSlowResolvingAsync(r),r}else if(!a){let c=typeof e==\"string\"?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(r=this._parser.parse(this._parseBuffer,c))return this._preserveStack(n,o,c,0),this._logSlowResolvingAsync(r),r}(this._activeBuffer.x!==n||this._activeBuffer.y!==o)&&this._onCursorMove.fire();let u=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),h=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);h<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(h,this._bufferService.rows-1),end:Math.min(u,this._bufferService.rows-1)})}print(e,i,r){let n,o,l=this._charsetService.charset,a=this._optionsService.rawOptions.screenReaderMode,u=this._bufferService.cols,h=this._coreService.decPrivateModes.wraparound,c=this._coreService.modes.insertMode,d=this._curAttrData,_=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&r-i>0&&_.getWidth(this._activeBuffer.x-1)===2&&_.setCellFromCodepoint(this._activeBuffer.x-1,0,1,d);let p=this._parser.precedingJoinState;for(let m=i;m<r;++m){if(n=e[m],n<127&&l){let O=l[String.fromCharCode(n)];O&&(n=O.charCodeAt(0))}let f=this._unicodeService.charProperties(n,p);o=Ae.extractWidth(f);let A=Ae.extractShouldJoin(f),R=A?Ae.extractWidth(p):0;if(p=f,a&&this._onA11yChar.fire(Ce(n)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+o-R>u){if(h){let O=_,I=this._activeBuffer.x-R;for(this._activeBuffer.x=R,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),_=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),R>0&&_ instanceof Ze&&_.copyCellsFrom(O,I,0,R,!1);I<u;)O.setCellFromCodepoint(I++,0,1,d)}else if(this._activeBuffer.x=u-1,o===2)continue}if(A&&this._activeBuffer.x){let O=_.getWidth(this._activeBuffer.x-1)?1:2;_.addCodepointToCell(this._activeBuffer.x-O,n,o);for(let I=o-R;--I>=0;)_.setCellFromCodepoint(this._activeBuffer.x++,0,0,d);continue}if(c&&(_.insertCells(this._activeBuffer.x,o-R,this._activeBuffer.getNullCell(d)),_.getWidth(u-1)===2&&_.setCellFromCodepoint(u-1,0,1,d)),_.setCellFromCodepoint(this._activeBuffer.x++,n,o,d),o>0)for(;--o;)_.setCellFromCodepoint(this._activeBuffer.x++,0,0,d)}this._parser.precedingJoinState=p,this._activeBuffer.x<u&&r-i>0&&_.getWidth(this._activeBuffer.x)===0&&!_.hasContent(this._activeBuffer.x)&&_.setCellFromCodepoint(this._activeBuffer.x,0,1,d),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,i){return e.final===\"t\"&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,r=>bl(r.params[0],this._optionsService.rawOptions.windowOptions)?i(r):!0):this._parser.registerCsiHandler(e,i)}registerDcsHandler(e,i){return this._parser.registerDcsHandler(e,new Xi(i))}registerEscHandler(e,i){return this._parser.registerEscHandler(e,i)}registerOscHandler(e,i){return this._parser.registerOscHandler(e,new pe(i))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,i){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+i):(this._activeBuffer.x=e,this._activeBuffer.y=i),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,i){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+i)}cursorUp(e){let i=this._activeBuffer.y-this._activeBuffer.scrollTop;return i>=0?this._moveCursor(0,-Math.min(i,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let i=this._activeBuffer.scrollBottom-this._activeBuffer.y;return i>=0?this._moveCursor(0,Math.min(i,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let i=e.params[0];return i===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:i===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let i=e.params[0]||1;for(;i--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let i=e.params[0]||1;for(;i--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let i=e.params[0];return i===1&&(this._curAttrData.bg|=536870912),(i===2||i===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,i,r,n=!1,o=!1){let l=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);l.replaceCells(i,r,this._activeBuffer.getNullCell(this._eraseAttrData()),o),n&&(l.isWrapped=!1)}_resetBufferLine(e,i=!1){let r=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);r&&(r.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),i),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),r.isWrapped=!1)}eraseInDisplay(e,i=!1){this._restrictCursor(this._bufferService.cols);let r;switch(e.params[0]){case 0:for(r=this._activeBuffer.y,this._dirtyRowTracker.markDirty(r),this._eraseInBufferLine(r++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,i);r<this._bufferService.rows;r++)this._resetBufferLine(r,i);this._dirtyRowTracker.markDirty(r);break;case 1:for(r=this._activeBuffer.y,this._dirtyRowTracker.markDirty(r),this._eraseInBufferLine(r,0,this._activeBuffer.x+1,!0,i),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(r+1).isWrapped=!1);r--;)this._resetBufferLine(r,i);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(r=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,r-1);r--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+r)?.getTrimmedLength(););for(;r>=0;r--)this._bufferService.scroll(this._eraseAttrData())}else{for(r=this._bufferService.rows,this._dirtyRowTracker.markDirty(r-1);r--;)this._resetBufferLine(r,i);this._dirtyRowTracker.markDirty(0)}break;case 3:let n=this._activeBuffer.lines.length-this._bufferService.rows;n>0&&(this._activeBuffer.lines.trimStart(n),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-n,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-n,0),this._onScroll.fire(0));break}return!0}eraseInLine(e,i=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,i);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,i);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,i);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let i=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let r=this._activeBuffer.ybase+this._activeBuffer.y,n=this._bufferService.rows-1-this._activeBuffer.scrollBottom,o=this._bufferService.rows-1+this._activeBuffer.ybase-n+1;for(;i--;)this._activeBuffer.lines.splice(o-1,1),this._activeBuffer.lines.splice(r,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let i=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let r=this._activeBuffer.ybase+this._activeBuffer.y,n;for(n=this._bufferService.rows-1-this._activeBuffer.scrollBottom,n=this._bufferService.rows-1+this._activeBuffer.ybase-n;i--;)this._activeBuffer.lines.splice(r,1),this._activeBuffer.lines.splice(n,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return i&&(i.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return i&&(i.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let i=e.params[0]||1;for(;i--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(e){let i=e.params[0]||1;for(;i--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(X));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let i=e.params[0]||1;for(let r=this._activeBuffer.scrollTop;r<=this._activeBuffer.scrollBottom;++r){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+r);n.deleteCells(0,i,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let i=e.params[0]||1;for(let r=this._activeBuffer.scrollTop;r<=this._activeBuffer.scrollBottom;++r){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+r);n.insertCells(0,i,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let i=e.params[0]||1;for(let r=this._activeBuffer.scrollTop;r<=this._activeBuffer.scrollBottom;++r){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+r);n.insertCells(this._activeBuffer.x,i,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let i=e.params[0]||1;for(let r=this._activeBuffer.scrollTop;r<=this._activeBuffer.scrollBottom;++r){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+r);n.deleteCells(this._activeBuffer.x,i,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return i&&(i.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){let i=this._parser.precedingJoinState;if(!i)return!0;let r=e.params[0]||1,n=Ae.extractWidth(i),o=this._activeBuffer.x-n,a=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(o),u=new Uint32Array(a.length*r),h=0;for(let d=0;d<a.length;){let _=a.codePointAt(d)||0;u[h++]=_,d+=_>65535?2:1}let c=h;for(let d=1;d<r;++d)u.copyWithin(c,0,h),c+=h;return this.print(u,0,c),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is(\"xterm\")||this._is(\"rxvt-unicode\")||this._is(\"screen\")?this._coreService.triggerDataEvent(b.ESC+\"[?1;2c\"):this._is(\"linux\")&&this._coreService.triggerDataEvent(b.ESC+\"[?6c\")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(\"xterm\")?this._coreService.triggerDataEvent(b.ESC+\"[>0;276;0c\"):this._is(\"rxvt-unicode\")?this._coreService.triggerDataEvent(b.ESC+\"[>85;95;0c\"):this._is(\"linux\")?this._coreService.triggerDataEvent(e.params[0]+\"c\"):this._is(\"screen\")&&this._coreService.triggerDataEvent(b.ESC+\"[>83;40003;0c\")),!0}_is(e){return(this._optionsService.rawOptions.termName+\"\").indexOf(e)===0}setMode(e){for(let i=0;i<e.length;i++)switch(e.params[i]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0;break}return!0}setModePrivate(e){for(let i=0;i<e.length;i++)switch(e.params[i]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,Je),this._charsetService.setgCharset(1,Je),this._charsetService.setgCharset(2,Je),this._charsetService.setgCharset(3,Je);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug(\"Serial port requested application keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol=\"X10\";break;case 1e3:this._coreMouseService.activeProtocol=\"VT200\";break;case 1002:this._coreMouseService.activeProtocol=\"DRAG\";break;case 1003:this._coreMouseService.activeProtocol=\"ANY\";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug(\"DECSET 1005 not supported (see #2507)\");break;case 1006:this._coreMouseService.activeEncoding=\"SGR\";break;case 1015:this._logService.debug(\"DECSET 1015 not supported (see #2507)\");break;case 1016:this._coreMouseService.activeEncoding=\"SGR_PIXELS\";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0;break}return!0}resetMode(e){for(let i=0;i<e.length;i++)switch(e.params[i]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1;break}return!0}resetModePrivate(e){for(let i=0;i<e.length;i++)switch(e.params[i]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug(\"Switching back to normal keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol=\"NONE\";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug(\"DECRST 1005 not supported (see #2507)\");break;case 1006:this._coreMouseService.activeEncoding=\"DEFAULT\";break;case 1015:this._logService.debug(\"DECRST 1015 not supported (see #2507)\");break;case 1016:this._coreMouseService.activeEncoding=\"DEFAULT\";break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),e.params[i]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0);break}return!0}requestMode(e,i){let r;(P=>(P[P.NOT_RECOGNIZED=0]=\"NOT_RECOGNIZED\",P[P.SET=1]=\"SET\",P[P.RESET=2]=\"RESET\",P[P.PERMANENTLY_SET=3]=\"PERMANENTLY_SET\",P[P.PERMANENTLY_RESET=4]=\"PERMANENTLY_RESET\"))(r||={});let n=this._coreService.decPrivateModes,{activeProtocol:o,activeEncoding:l}=this._coreMouseService,a=this._coreService,{buffers:u,cols:h}=this._bufferService,{active:c,alt:d}=u,_=this._optionsService.rawOptions,p=(A,R)=>(a.triggerDataEvent(`${b.ESC}[${i?\"\":\"?\"}${A};${R}$y`),!0),m=A=>A?1:2,f=e.params[0];return i?f===2?p(f,4):f===4?p(f,m(a.modes.insertMode)):f===12?p(f,3):f===20?p(f,m(_.convertEol)):p(f,0):f===1?p(f,m(n.applicationCursorKeys)):f===3?p(f,_.windowOptions.setWinLines?h===80?2:h===132?1:0:0):f===6?p(f,m(n.origin)):f===7?p(f,m(n.wraparound)):f===8?p(f,3):f===9?p(f,m(o===\"X10\")):f===12?p(f,m(_.cursorBlink)):f===25?p(f,m(!a.isCursorHidden)):f===45?p(f,m(n.reverseWraparound)):f===66?p(f,m(n.applicationKeypad)):f===67?p(f,4):f===1e3?p(f,m(o===\"VT200\")):f===1002?p(f,m(o===\"DRAG\")):f===1003?p(f,m(o===\"ANY\")):f===1004?p(f,m(n.sendFocus)):f===1005?p(f,4):f===1006?p(f,m(l===\"SGR\")):f===1015?p(f,4):f===1016?p(f,m(l===\"SGR_PIXELS\")):f===1048?p(f,1):f===47||f===1047||f===1049?p(f,m(c===d)):f===2004?p(f,m(n.bracketedPasteMode)):f===2026?p(f,m(n.synchronizedOutput)):p(f,0)}_updateAttrColor(e,i,r,n,o){return i===2?(e|=50331648,e&=-16777216,e|=De.fromColorRGB([r,n,o])):i===5&&(e&=-50331904,e|=33554432|r&255),e}_extractColor(e,i,r){let n=[0,0,-1,0,0,0],o=0,l=0;do{if(n[l+o]=e.params[i+l],e.hasSubParams(i+l)){let a=e.getSubParams(i+l),u=0;do n[1]===5&&(o=1),n[l+u+1+o]=a[u];while(++u<a.length&&u+l+1+o<n.length);break}if(n[1]===5&&l+o>=2||n[1]===2&&l+o>=5)break;n[1]&&(o=1)}while(++l+i<e.length&&l+o<n.length);for(let a=2;a<n.length;++a)n[a]===-1&&(n[a]=0);switch(n[0]){case 38:r.fg=this._updateAttrColor(r.fg,n[1],n[3],n[4],n[5]);break;case 48:r.bg=this._updateAttrColor(r.bg,n[1],n[3],n[4],n[5]);break;case 58:r.extended=r.extended.clone(),r.extended.underlineColor=this._updateAttrColor(r.extended.underlineColor,n[1],n[3],n[4],n[5])}return l}_processUnderline(e,i){i.extended=i.extended.clone(),(!~e||e>5)&&(e=1),i.extended.underlineStyle=e,i.fg|=268435456,e===0&&(i.fg&=-268435457),i.updateExtended()}_processSGR0(e){e.fg=X.fg,e.bg=X.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(e.length===1&&e.params[0]===0)return this._processSGR0(this._curAttrData),!0;let i=e.length,r,n=this._curAttrData;for(let o=0;o<i;o++)r=e.params[o],r>=30&&r<=37?(n.fg&=-50331904,n.fg|=16777216|r-30):r>=40&&r<=47?(n.bg&=-50331904,n.bg|=16777216|r-40):r>=90&&r<=97?(n.fg&=-50331904,n.fg|=16777216|r-90|8):r>=100&&r<=107?(n.bg&=-50331904,n.bg|=16777216|r-100|8):r===0?this._processSGR0(n):r===1?n.fg|=134217728:r===3?n.bg|=67108864:r===4?(n.fg|=268435456,this._processUnderline(e.hasSubParams(o)?e.getSubParams(o)[0]:1,n)):r===5?n.fg|=536870912:r===7?n.fg|=67108864:r===8?n.fg|=1073741824:r===9?n.fg|=2147483648:r===2?n.bg|=134217728:r===21?this._processUnderline(2,n):r===22?(n.fg&=-134217729,n.bg&=-134217729):r===23?n.bg&=-67108865:r===24?(n.fg&=-268435457,this._processUnderline(0,n)):r===25?n.fg&=-536870913:r===27?n.fg&=-67108865:r===28?n.fg&=-1073741825:r===29?n.fg&=2147483647:r===39?(n.fg&=-67108864,n.fg|=X.fg&16777215):r===49?(n.bg&=-67108864,n.bg|=X.bg&16777215):r===38||r===48||r===58?o+=this._extractColor(e,o,n):r===53?n.bg|=1073741824:r===55?n.bg&=-1073741825:r===59?(n.extended=n.extended.clone(),n.extended.underlineColor=-1,n.updateExtended()):r===100?(n.fg&=-67108864,n.fg|=X.fg&16777215,n.bg&=-67108864,n.bg|=X.bg&16777215):this._logService.debug(\"Unknown SGR attribute: %d.\",r);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${b.ESC}[0n`);break;case 6:let i=this._activeBuffer.y+1,r=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${b.ESC}[${i};${r}R`);break}return!0}deviceStatusPrivate(e){switch(e.params[0]){case 6:let i=this._activeBuffer.y+1,r=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${b.ESC}[?${i};${r}R`);break;case 15:break;case 25:break;case 26:break;case 53:break}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=X.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){let i=e.length===0?1:e.params[0];if(i===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(i){case 1:case 2:this._coreService.decPrivateModes.cursorStyle=\"block\";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle=\"underline\";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle=\"bar\";break}let r=i%2===1;this._coreService.decPrivateModes.cursorBlink=r}return!0}setScrollRegion(e){let i=e.params[0]||1,r;return(e.length<2||(r=e.params[1])>this._bufferService.rows||r===0)&&(r=this._bufferService.rows),r>i&&(this._activeBuffer.scrollTop=i-1,this._activeBuffer.scrollBottom=r-1,this._setCursor(0,0)),!0}windowOptions(e){if(!bl(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let i=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:i!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${b.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(i===0||i===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>_l&&this._windowTitleStack.shift()),(i===0||i===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>_l&&this._iconNameStack.shift());break;case 23:(i===0||i===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(i===0||i===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let i=[],r=e.split(\";\");for(;r.length>1;){let n=r.shift(),o=r.shift();if(/^\\d+$/.exec(n)){let l=parseInt(n);if(Sl(l))if(o===\"?\")i.push({type:0,index:l});else{let a=Ws(o);a&&i.push({type:1,index:l,color:a})}}}return i.length&&this._onColor.fire(i),!0}setHyperlink(e){let i=e.indexOf(\";\");if(i===-1)return!0;let r=e.slice(0,i).trim(),n=e.slice(i+1);return n?this._createHyperlink(r,n):r.trim()?!1:this._finishHyperlink()}_createHyperlink(e,i){this._getCurrentLinkId()&&this._finishHyperlink();let r=e.split(\":\"),n,o=r.findIndex(l=>l.startsWith(\"id=\"));return o!==-1&&(n=r[o].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:n,uri:i}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,i){let r=e.split(\";\");for(let n=0;n<r.length&&!(i>=this._specialColors.length);++n,++i)if(r[n]===\"?\")this._onColor.fire([{type:0,index:this._specialColors[i]}]);else{let o=Ws(r[n]);o&&this._onColor.fire([{type:1,index:this._specialColors[i],color:o}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let i=[],r=e.split(\";\");for(let n=0;n<r.length;++n)if(/^\\d+$/.exec(r[n])){let o=parseInt(r[n]);Sl(o)&&i.push({type:2,index:o})}return i.length&&this._onColor.fire(i),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug(\"Serial port requested application keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug(\"Switching back to normal keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,Je),!0}selectCharset(e){return e.length!==2?(this.selectDefaultCharset(),!0):(e[0]===\"/\"||this._charsetService.setgCharset(mc[e[0]],ne[e[1]]||Je),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=X.clone(),this._eraseAttrDataInternal=X.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new q;e.content=1<<22|69,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let i=0;i<this._bufferService.rows;++i){let r=this._activeBuffer.ybase+this._activeBuffer.y+i,n=this._activeBuffer.lines.get(r);n&&(n.fill(e),n.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,i){let r=a=>(this._coreService.triggerDataEvent(`${b.ESC}${a}${b.ESC}\\\\`),!0),n=this._bufferService.buffer,o=this._optionsService.rawOptions,l={block:2,underline:4,bar:6};return r(e==='\"q'?`P1$r${this._curAttrData.isProtected()?1:0}\"q`:e==='\"p'?'P1$r61;1\"p':e===\"r\"?`P1$r${n.scrollTop+1};${n.scrollBottom+1}r`:e===\"m\"?\"P1$r0m\":e===\" q\"?`P1$r${l[o.cursorStyle]-(o.cursorBlink?1:0)} q`:\"P0$r\")}markRangeDirty(e,i){this._dirtyRowTracker.markRangeDirty(e,i)}},Zi=class{constructor(t){this._bufferService=t;this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(t){t<this.start?this.start=t:t>this.end&&(this.end=t)}markRangeDirty(t,e){t>e&&(gl=t,t=e,e=gl),t<this.start&&(this.start=t),e>this.end&&(this.end=e)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};Zi=M([S(0,F)],Zi);function Sl(s){return 0<=s&&s<256}var _c=5e7,El=12,bc=50,gn=class extends D{constructor(e){super();this._action=e;this._writeBuffer=[];this._callbacks=[];this._pendingData=0;this._bufferOffset=0;this._isSyncWriting=!1;this._syncCalls=0;this._didUserInput=!1;this._onWriteParsed=this._register(new v);this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,i){if(i!==void 0&&this._syncCalls>i){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let r;for(;r=this._writeBuffer.shift();){this._action(r);let n=this._callbacks.shift();n&&n()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,i){if(this._pendingData>_c)throw new Error(\"write data discarded, use flow control to avoid losing data\");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(i),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(i)}_innerWrite(e=0,i=!0){let r=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let n=this._writeBuffer[this._bufferOffset],o=this._action(n,i);if(o){let a=u=>performance.now()-r>=El?setTimeout(()=>this._innerWrite(0,u)):this._innerWrite(r,u);o.catch(u=>(queueMicrotask(()=>{throw u}),Promise.resolve(!1))).then(a);return}let l=this._callbacks[this._bufferOffset];if(l&&l(),this._bufferOffset++,this._pendingData-=n.length,performance.now()-r>=El)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>bc&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}};var ui=class{constructor(t){this._bufferService=t;this._nextId=1;this._entriesWithId=new Map;this._dataByLinkId=new Map}registerLink(t){let e=this._bufferService.buffer;if(t.id===void 0){let a=e.addMarker(e.ybase+e.y),u={data:t,id:this._nextId++,lines:[a]};return a.onDispose(()=>this._removeMarkerFromLink(u,a)),this._dataByLinkId.set(u.id,u),u.id}let i=t,r=this._getEntryIdKey(i),n=this._entriesWithId.get(r);if(n)return this.addLineToLink(n.id,e.ybase+e.y),n.id;let o=e.addMarker(e.ybase+e.y),l={id:this._nextId++,key:this._getEntryIdKey(i),data:i,lines:[o]};return o.onDispose(()=>this._removeMarkerFromLink(l,o)),this._entriesWithId.set(l.key,l),this._dataByLinkId.set(l.id,l),l.id}addLineToLink(t,e){let i=this._dataByLinkId.get(t);if(i&&i.lines.every(r=>r.line!==e)){let r=this._bufferService.buffer.addMarker(e);i.lines.push(r),r.onDispose(()=>this._removeMarkerFromLink(i,r))}}getLinkData(t){return this._dataByLinkId.get(t)?.data}_getEntryIdKey(t){return`${t.id};;${t.uri}`}_removeMarkerFromLink(t,e){let i=t.lines.indexOf(e);i!==-1&&(t.lines.splice(i,1),t.lines.length===0&&(t.data.id!==void 0&&this._entriesWithId.delete(t.key),this._dataByLinkId.delete(t.id)))}};ui=M([S(0,F)],ui);var Tl=!1,Sn=class extends D{constructor(e){super();this._windowsWrappingHeuristics=this._register(new ye);this._onBinary=this._register(new v);this.onBinary=this._onBinary.event;this._onData=this._register(new v);this.onData=this._onData.event;this._onLineFeed=this._register(new v);this.onLineFeed=this._onLineFeed.event;this._onResize=this._register(new v);this.onResize=this._onResize.event;this._onWriteParsed=this._register(new v);this.onWriteParsed=this._onWriteParsed.event;this._onScroll=this._register(new v);this._instantiationService=new ln,this.optionsService=this._register(new dn(e)),this._instantiationService.setService(H,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(ni)),this._instantiationService.setService(F,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(ii)),this._instantiationService.setService(nr,this._logService),this.coreService=this._register(this._instantiationService.createInstance(li)),this._instantiationService.setService(ge,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(ai)),this._instantiationService.setService(rr,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(Ae)),this._instantiationService.setService(Js,this.unicodeService),this._charsetService=this._instantiationService.createInstance(pn),this._instantiationService.setService(Zs,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(ui),this._instantiationService.setService(sr,this._oscLinkService),this._inputHandler=this._register(new vn(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register($.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register($.forward(this._bufferService.onResize,this._onResize)),this._register($.forward(this.coreService.onData,this._onData)),this._register($.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange([\"windowsMode\",\"windowsPty\"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new gn((i,r)=>this._inputHandler.parse(i,r))),this._register($.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new v),this._onScroll.event(e=>{this._onScrollApi?.fire(e.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(let i in e)this.optionsService.options[i]=e[i]}write(e,i){this._writeBuffer.write(e,i)}writeSync(e,i){this._logService.logLevel<=3&&!Tl&&(this._logService.warn(\"writeSync is unreliable and will be removed soon.\"),Tl=!0),this._writeBuffer.writeSync(e,i)}input(e,i=!0){this.coreService.triggerDataEvent(e,i)}resize(e,i){isNaN(e)||isNaN(i)||(e=Math.max(e,ks),i=Math.max(i,Cs),this._bufferService.resize(e,i))}scroll(e,i=!1){this._bufferService.scroll(e,i)}scrollLines(e,i){this._bufferService.scrollLines(e,i)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let i=e-this._bufferService.buffer.ydisp;i!==0&&this.scrollLines(i)}registerEscHandler(e,i){return this._inputHandler.registerEscHandler(e,i)}registerDcsHandler(e,i){return this._inputHandler.registerDcsHandler(e,i)}registerCsiHandler(e,i){return this._inputHandler.registerCsiHandler(e,i)}registerOscHandler(e,i){return this._inputHandler.registerOscHandler(e,i)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,i=this.optionsService.rawOptions.windowsPty;i&&i.buildNumber!==void 0&&i.buildNumber!==void 0?e=i.backend===\"conpty\"&&i.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(Bs.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:\"H\"},()=>(Bs(this._bufferService),!1))),this._windowsWrappingHeuristics.value=C(()=>{for(let i of e)i.dispose()})}}};var gc={48:[\"0\",\")\"],49:[\"1\",\"!\"],50:[\"2\",\"@\"],51:[\"3\",\"#\"],52:[\"4\",\"$\"],53:[\"5\",\"%\"],54:[\"6\",\"^\"],55:[\"7\",\"&\"],56:[\"8\",\"*\"],57:[\"9\",\"(\"],186:[\";\",\":\"],187:[\"=\",\"+\"],188:[\",\",\"<\"],189:[\"-\",\"_\"],190:[\".\",\">\"],191:[\"/\",\"?\"],192:[\"`\",\"~\"],219:[\"[\",\"{\"],220:[\"\\\\\",\"|\"],221:[\"]\",\"}\"],222:[\"'\",'\"']};function Il(s,t,e,i){let r={type:0,cancel:!1,key:void 0},n=(s.shiftKey?1:0)|(s.altKey?2:0)|(s.ctrlKey?4:0)|(s.metaKey?8:0);switch(s.keyCode){case 0:s.key===\"UIKeyInputUpArrow\"?t?r.key=b.ESC+\"OA\":r.key=b.ESC+\"[A\":s.key===\"UIKeyInputLeftArrow\"?t?r.key=b.ESC+\"OD\":r.key=b.ESC+\"[D\":s.key===\"UIKeyInputRightArrow\"?t?r.key=b.ESC+\"OC\":r.key=b.ESC+\"[C\":s.key===\"UIKeyInputDownArrow\"&&(t?r.key=b.ESC+\"OB\":r.key=b.ESC+\"[B\");break;case 8:r.key=s.ctrlKey?\"\\b\":b.DEL,s.altKey&&(r.key=b.ESC+r.key);break;case 9:if(s.shiftKey){r.key=b.ESC+\"[Z\";break}r.key=b.HT,r.cancel=!0;break;case 13:r.key=s.altKey?b.ESC+b.CR:b.CR,r.cancel=!0;break;case 27:r.key=b.ESC,s.altKey&&(r.key=b.ESC+b.ESC),r.cancel=!0;break;case 37:if(s.metaKey)break;n?r.key=b.ESC+\"[1;\"+(n+1)+\"D\":t?r.key=b.ESC+\"OD\":r.key=b.ESC+\"[D\";break;case 39:if(s.metaKey)break;n?r.key=b.ESC+\"[1;\"+(n+1)+\"C\":t?r.key=b.ESC+\"OC\":r.key=b.ESC+\"[C\";break;case 38:if(s.metaKey)break;n?r.key=b.ESC+\"[1;\"+(n+1)+\"A\":t?r.key=b.ESC+\"OA\":r.key=b.ESC+\"[A\";break;case 40:if(s.metaKey)break;n?r.key=b.ESC+\"[1;\"+(n+1)+\"B\":t?r.key=b.ESC+\"OB\":r.key=b.ESC+\"[B\";break;case 45:!s.shiftKey&&!s.ctrlKey&&(r.key=b.ESC+\"[2~\");break;case 46:n?r.key=b.ESC+\"[3;\"+(n+1)+\"~\":r.key=b.ESC+\"[3~\";break;case 36:n?r.key=b.ESC+\"[1;\"+(n+1)+\"H\":t?r.key=b.ESC+\"OH\":r.key=b.ESC+\"[H\";break;case 35:n?r.key=b.ESC+\"[1;\"+(n+1)+\"F\":t?r.key=b.ESC+\"OF\":r.key=b.ESC+\"[F\";break;case 33:s.shiftKey?r.type=2:s.ctrlKey?r.key=b.ESC+\"[5;\"+(n+1)+\"~\":r.key=b.ESC+\"[5~\";break;case 34:s.shiftKey?r.type=3:s.ctrlKey?r.key=b.ESC+\"[6;\"+(n+1)+\"~\":r.key=b.ESC+\"[6~\";break;case 112:n?r.key=b.ESC+\"[1;\"+(n+1)+\"P\":r.key=b.ESC+\"OP\";break;case 113:n?r.key=b.ESC+\"[1;\"+(n+1)+\"Q\":r.key=b.ESC+\"OQ\";break;case 114:n?r.key=b.ESC+\"[1;\"+(n+1)+\"R\":r.key=b.ESC+\"OR\";break;case 115:n?r.key=b.ESC+\"[1;\"+(n+1)+\"S\":r.key=b.ESC+\"OS\";break;case 116:n?r.key=b.ESC+\"[15;\"+(n+1)+\"~\":r.key=b.ESC+\"[15~\";break;case 117:n?r.key=b.ESC+\"[17;\"+(n+1)+\"~\":r.key=b.ESC+\"[17~\";break;case 118:n?r.key=b.ESC+\"[18;\"+(n+1)+\"~\":r.key=b.ESC+\"[18~\";break;case 119:n?r.key=b.ESC+\"[19;\"+(n+1)+\"~\":r.key=b.ESC+\"[19~\";break;case 120:n?r.key=b.ESC+\"[20;\"+(n+1)+\"~\":r.key=b.ESC+\"[20~\";break;case 121:n?r.key=b.ESC+\"[21;\"+(n+1)+\"~\":r.key=b.ESC+\"[21~\";break;case 122:n?r.key=b.ESC+\"[23;\"+(n+1)+\"~\":r.key=b.ESC+\"[23~\";break;case 123:n?r.key=b.ESC+\"[24;\"+(n+1)+\"~\":r.key=b.ESC+\"[24~\";break;default:if(s.ctrlKey&&!s.shiftKey&&!s.altKey&&!s.metaKey)s.keyCode>=65&&s.keyCode<=90?r.key=String.fromCharCode(s.keyCode-64):s.keyCode===32?r.key=b.NUL:s.keyCode>=51&&s.keyCode<=55?r.key=String.fromCharCode(s.keyCode-51+27):s.keyCode===56?r.key=b.DEL:s.keyCode===219?r.key=b.ESC:s.keyCode===220?r.key=b.FS:s.keyCode===221&&(r.key=b.GS);else if((!e||i)&&s.altKey&&!s.metaKey){let l=gc[s.keyCode]?.[s.shiftKey?1:0];if(l)r.key=b.ESC+l;else if(s.keyCode>=65&&s.keyCode<=90){let a=s.ctrlKey?s.keyCode-64:s.keyCode+32,u=String.fromCharCode(a);s.shiftKey&&(u=u.toUpperCase()),r.key=b.ESC+u}else if(s.keyCode===32)r.key=b.ESC+(s.ctrlKey?b.NUL:\" \");else if(s.key===\"Dead\"&&s.code.startsWith(\"Key\")){let a=s.code.slice(3,4);s.shiftKey||(a=a.toLowerCase()),r.key=b.ESC+a,r.cancel=!0}}else e&&!s.altKey&&!s.ctrlKey&&!s.shiftKey&&s.metaKey?s.keyCode===65&&(r.type=1):s.key&&!s.ctrlKey&&!s.altKey&&!s.metaKey&&s.keyCode>=48&&s.key.length===1?r.key=s.key:s.key&&s.ctrlKey&&(s.key===\"_\"&&(r.key=b.US),s.key===\"@\"&&(r.key=b.NUL));break}return r}var ee=0,En=class{constructor(t){this._getKey=t;this._array=[];this._insertedValues=[];this._flushInsertedTask=new Jt;this._isFlushingInserted=!1;this._deletedIndices=[];this._flushDeletedTask=new Jt;this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(t){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(t)}_flushInserted(){let t=this._insertedValues.sort((n,o)=>this._getKey(n)-this._getKey(o)),e=0,i=0,r=new Array(this._array.length+this._insertedValues.length);for(let n=0;n<r.length;n++)i>=this._array.length||this._getKey(t[e])<=this._getKey(this._array[i])?(r[n]=t[e],e++):r[n]=this._array[i++];this._array=r,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(t){if(this._flushCleanupInserted(),this._array.length===0)return!1;let e=this._getKey(t);if(e===void 0||(ee=this._search(e),ee===-1)||this._getKey(this._array[ee])!==e)return!1;do if(this._array[ee]===t)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(ee),!0;while(++ee<this._array.length&&this._getKey(this._array[ee])===e);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let t=this._deletedIndices.sort((n,o)=>n-o),e=0,i=new Array(this._array.length-t.length),r=0;for(let n=0;n<this._array.length;n++)t[e]===n?e++:i[r++]=this._array[n];this._array=i,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ee=this._search(t),!(ee<0||ee>=this._array.length)&&this._getKey(this._array[ee])===t))do yield this._array[ee];while(++ee<this._array.length&&this._getKey(this._array[ee])===t)}forEachByKey(t,e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ee=this._search(t),!(ee<0||ee>=this._array.length)&&this._getKey(this._array[ee])===t))do e(this._array[ee]);while(++ee<this._array.length&&this._getKey(this._array[ee])===t)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(t){let e=0,i=this._array.length-1;for(;i>=e;){let r=e+i>>1,n=this._getKey(this._array[r]);if(n>t)i=r-1;else if(n<t)e=r+1;else{for(;r>0&&this._getKey(this._array[r-1])===t;)r--;return r}}return e}};var Us=0,yl=0,Tn=class extends D{constructor(){super();this._decorations=new En(e=>e?.marker.line);this._onDecorationRegistered=this._register(new v);this.onDecorationRegistered=this._onDecorationRegistered.event;this._onDecorationRemoved=this._register(new v);this.onDecorationRemoved=this._onDecorationRemoved.event;this._register(C(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let i=new Ks(e);if(i){let r=i.marker.onDispose(()=>i.dispose()),n=i.onDispose(()=>{n.dispose(),i&&(this._decorations.delete(i)&&this._onDecorationRemoved.fire(i),r.dispose())});this._decorations.insert(i),this._onDecorationRegistered.fire(i)}return i}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,i,r){let n=0,o=0;for(let l of this._decorations.getKeyIterator(i))n=l.options.x??0,o=n+(l.options.width??1),e>=n&&e<o&&(!r||(l.options.layer??\"bottom\")===r)&&(yield l)}forEachDecorationAtCell(e,i,r,n){this._decorations.forEachByKey(i,o=>{Us=o.options.x??0,yl=Us+(o.options.width??1),e>=Us&&e<yl&&(!r||(o.options.layer??\"bottom\")===r)&&n(o)})}},Ks=class extends Ee{constructor(e){super();this.options=e;this.onRenderEmitter=this.add(new v);this.onRender=this.onRenderEmitter.event;this._onDispose=this.add(new v);this.onDispose=this._onDispose.event;this._cachedBg=null;this._cachedFg=null;this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position=\"full\")}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=z.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=z.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}};var Sc=1e3,In=class{constructor(t,e=Sc){this._renderCallback=t;this._debounceThresholdMS=e;this._lastRefreshMs=0;this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(t,e,i){this._rowCount=i,t=t!==void 0?t:0,e=e!==void 0?e:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,e):e;let r=performance.now();if(r-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){let n=r-this._lastRefreshMs,o=this._debounceThresholdMS-n;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},o)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let t=Math.max(this._rowStart,0),e=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,e)}};var xl=20;var wl=!1,Tt=class extends D{constructor(e,i,r,n){super();this._terminal=e;this._coreBrowserService=r;this._renderService=n;this._rowColumns=new WeakMap;this._liveRegionLineCount=0;this._charsToConsume=[];this._charsToAnnounce=\"\";let o=this._coreBrowserService.mainDocument;this._accessibilityContainer=o.createElement(\"div\"),this._accessibilityContainer.classList.add(\"xterm-accessibility\"),this._rowContainer=o.createElement(\"div\"),this._rowContainer.setAttribute(\"role\",\"list\"),this._rowContainer.classList.add(\"xterm-accessibility-tree\"),this._rowElements=[];for(let l=0;l<this._terminal.rows;l++)this._rowElements[l]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[l]);if(this._topBoundaryFocusListener=l=>this._handleBoundaryFocus(l,0),this._bottomBoundaryFocusListener=l=>this._handleBoundaryFocus(l,1),this._rowElements[0].addEventListener(\"focus\",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=o.createElement(\"div\"),this._liveRegion.classList.add(\"live-region\"),this._liveRegion.setAttribute(\"aria-live\",\"assertive\"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new In(this._renderRows.bind(this))),!this._terminal.element)throw new Error(\"Cannot enable accessibility before Terminal.open\");wl?(this._accessibilityContainer.classList.add(\"debug\"),this._rowContainer.classList.add(\"debug\"),this._debugRootContainer=o.createElement(\"div\"),this._debugRootContainer.classList.add(\"xterm\"),this._debugRootContainer.appendChild(o.createTextNode(\"------start a11y------\")),this._debugRootContainer.appendChild(this._accessibilityContainer),this._debugRootContainer.appendChild(o.createTextNode(\"------end a11y------\")),this._terminal.element.insertAdjacentElement(\"afterend\",this._debugRootContainer)):this._terminal.element.insertAdjacentElement(\"afterbegin\",this._accessibilityContainer),this._register(this._terminal.onResize(l=>this._handleResize(l.rows))),this._register(this._terminal.onRender(l=>this._refreshRows(l.start,l.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(l=>this._handleChar(l))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`\n`))),this._register(this._terminal.onA11yTab(l=>this._handleTab(l))),this._register(this._terminal.onKey(l=>this._handleKey(l.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(L(o,\"selectionchange\",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(C(()=>{wl?this._debugRootContainer.remove():this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let i=0;i<e;i++)this._handleChar(\" \")}_handleChar(e){this._liveRegionLineCount<xl+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`\n`&&(this._liveRegionLineCount++,this._liveRegionLineCount===xl+1&&(this._liveRegion.textContent+=_i.get())))}_clearLiveRegion(){this._liveRegion.textContent=\"\",this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,i){this._liveRegionDebouncer.refresh(e,i,this._terminal.rows)}_renderRows(e,i){let r=this._terminal.buffer,n=r.lines.length.toString();for(let o=e;o<=i;o++){let l=r.lines.get(r.ydisp+o),a=[],u=l?.translateToString(!0,void 0,void 0,a)||\"\",h=(r.ydisp+o+1).toString(),c=this._rowElements[o];c&&(u.length===0?(c.textContent=\"\\xA0\",this._rowColumns.set(c,[0,1])):(c.textContent=u,this._rowColumns.set(c,a)),c.setAttribute(\"aria-posinset\",h),c.setAttribute(\"aria-setsize\",n),this._alignRowWidth(c))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=\"\")}_handleBoundaryFocus(e,i){let r=e.target,n=this._rowElements[i===0?1:this._rowElements.length-2],o=r.getAttribute(\"aria-posinset\"),l=i===0?\"1\":`${this._terminal.buffer.lines.length}`;if(o===l||e.relatedTarget!==n)return;let a,u;if(i===0?(a=r,u=this._rowElements.pop(),this._rowContainer.removeChild(u)):(a=this._rowElements.shift(),u=r,this._rowContainer.removeChild(a)),a.removeEventListener(\"focus\",this._topBoundaryFocusListener),u.removeEventListener(\"focus\",this._bottomBoundaryFocusListener),i===0){let h=this._createAccessibilityTreeNode();this._rowElements.unshift(h),this._rowContainer.insertAdjacentElement(\"afterbegin\",h)}else{let h=this._createAccessibilityTreeNode();this._rowElements.push(h),this._rowContainer.appendChild(h)}this._rowElements[0].addEventListener(\"focus\",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._terminal.scrollLines(i===0?-1:1),this._rowElements[i===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error(\"anchorNode and/or focusNode are null\");return}let i={node:e.anchorNode,offset:e.anchorOffset},r={node:e.focusNode,offset:e.focusOffset};if((i.node.compareDocumentPosition(r.node)&Node.DOCUMENT_POSITION_PRECEDING||i.node===r.node&&i.offset>r.offset)&&([i,r]=[r,i]),i.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(i={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(i.node))return;let n=this._rowElements.slice(-1)[0];if(r.node.compareDocumentPosition(n)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(r={node:n,offset:n.textContent?.length??0}),!this._rowContainer.contains(r.node))return;let o=({node:u,offset:h})=>{let c=u instanceof Text?u.parentNode:u,d=parseInt(c?.getAttribute(\"aria-posinset\"),10)-1;if(isNaN(d))return console.warn(\"row is invalid. Race condition?\"),null;let _=this._rowColumns.get(c);if(!_)return console.warn(\"columns is null. Race condition?\"),null;let p=h<_.length?_[h]:_.slice(-1)[0]+1;return p>=this._terminal.cols&&(++d,p=0),{row:d,column:p}},l=o(i),a=o(r);if(!(!l||!a)){if(l.row>a.row||l.row===a.row&&l.column>=a.column)throw new Error(\"invalid range\");this._terminal.select(l.column,l.row,(a.row-l.row)*this._terminal.cols-l.column+a.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(\"focus\",this._bottomBoundaryFocusListener);for(let i=this._rowContainer.children.length;i<this._terminal.rows;i++)this._rowElements[i]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[i]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement(\"div\");return e.setAttribute(\"role\",\"listitem\"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){e.style.transform=\"\";let i=e.getBoundingClientRect().width,r=this._rowColumns.get(e)?.slice(-1)?.[0];if(!r)return;let n=r*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${n/i})`}};Tt=M([S(1,xt),S(2,ae),S(3,ce)],Tt);var hi=class extends D{constructor(e,i,r,n,o){super();this._element=e;this._mouseService=i;this._renderService=r;this._bufferService=n;this._linkProviderService=o;this._linkCacheDisposables=[];this._isMouseOut=!0;this._wasResized=!1;this._activeLine=-1;this._onShowLinkUnderline=this._register(new v);this.onShowLinkUnderline=this._onShowLinkUnderline.event;this._onHideLinkUnderline=this._register(new v);this.onHideLinkUnderline=this._onHideLinkUnderline.event;this._register(C(()=>{Ne(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(L(this._element,\"mouseleave\",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(L(this._element,\"mousemove\",this._handleMouseMove.bind(this))),this._register(L(this._element,\"mousedown\",this._handleMouseDown.bind(this))),this._register(L(this._element,\"mouseup\",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let i=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!i)return;this._isMouseOut=!1;let r=e.composedPath();for(let n=0;n<r.length;n++){let o=r[n];if(o.classList.contains(\"xterm\"))break;if(o.classList.contains(\"xterm-hover\"))return}(!this._lastBufferCell||i.x!==this._lastBufferCell.x||i.y!==this._lastBufferCell.y)&&(this._handleHover(i),this._lastBufferCell=i)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized){this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,i){(!this._activeProviderReplies||!i)&&(this._activeProviderReplies?.forEach(n=>{n?.forEach(o=>{o.link.dispose&&o.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let r=!1;for(let[n,o]of this._linkProviderService.linkProviders.entries())i?this._activeProviderReplies?.get(n)&&(r=this._checkLinkProviderResult(n,e,r)):o.provideLinks(e.y,l=>{if(this._isMouseOut)return;let a=l?.map(u=>({link:u}));this._activeProviderReplies?.set(n,a),r=this._checkLinkProviderResult(n,e,r),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,i){let r=new Set;for(let n=0;n<i.size;n++){let o=i.get(n);if(o)for(let l=0;l<o.length;l++){let a=o[l],u=a.link.range.start.y<e?0:a.link.range.start.x,h=a.link.range.end.y>e?this._bufferService.cols:a.link.range.end.x;for(let c=u;c<=h;c++){if(r.has(c)){o.splice(l--,1);break}r.add(c)}}}}_checkLinkProviderResult(e,i,r){if(!this._activeProviderReplies)return r;let n=this._activeProviderReplies.get(e),o=!1;for(let l=0;l<e;l++)(!this._activeProviderReplies.has(l)||this._activeProviderReplies.get(l))&&(o=!0);if(!o&&n){let l=n.find(a=>this._linkAtPosition(a.link,i));l&&(r=!0,this._handleNewLink(l))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!r)for(let l=0;l<this._activeProviderReplies.size;l++){let a=this._activeProviderReplies.get(l)?.find(u=>this._linkAtPosition(u.link,i));if(a){r=!0,this._handleNewLink(a);break}}return r}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let i=this._positionFromMouseEvent(e,this._element,this._mouseService);i&&this._mouseDownLink&&Ec(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,i)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,i){!this._currentLink||!this._lastMouseEvent||(!e||!i||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=i)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,Ne(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let i=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);i&&this._linkAtPosition(e.link,i)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0?!0:e.link.decorations.underline,pointerCursor:e.link.decorations===void 0?!0:e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:r=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==r&&(this._currentLink.state.decorations.pointerCursor=r,this._currentLink.state.isHovered&&this._element.classList.toggle(\"xterm-cursor-pointer\",r))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:r=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==r&&(this._currentLink.state.decorations.underline=r,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,r))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(r=>{if(!this._currentLink)return;let n=r.start===0?0:r.start+1+this._bufferService.buffer.ydisp,o=this._bufferService.buffer.ydisp+1+r.end;if(this._currentLink.link.range.start.y>=n&&this._currentLink.link.range.end.y<=o&&(this._clearCurrentLink(n,o),this._lastMouseEvent)){let l=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);l&&this._askForLink(l,!1)}})))}_linkHover(e,i,r){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(i,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(\"xterm-cursor-pointer\")),i.hover&&i.hover(r,i.text)}_fireUnderlineEvent(e,i){let r=e.range,n=this._bufferService.buffer.ydisp,o=this._createLinkUnderlineEvent(r.start.x-1,r.start.y-n-1,r.end.x,r.end.y-n-1,void 0);(i?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(o)}_linkLeave(e,i,r){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(i,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(\"xterm-cursor-pointer\")),i.leave&&i.leave(r,i.text)}_linkAtPosition(e,i){let r=e.range.start.y*this._bufferService.cols+e.range.start.x,n=e.range.end.y*this._bufferService.cols+e.range.end.x,o=i.y*this._bufferService.cols+i.x;return r<=o&&o<=n}_positionFromMouseEvent(e,i,r){let n=r.getCoords(e,i,this._bufferService.cols,this._bufferService.rows);if(n)return{x:n[0],y:n[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,i,r,n,o){return{x1:e,y1:i,x2:r,y2:n,cols:this._bufferService.cols,fg:o}}};hi=M([S(1,Dt),S(2,ce),S(3,F),S(4,lr)],hi);function Ec(s,t){return s.text===t.text&&s.range.start.x===t.range.start.x&&s.range.start.y===t.range.start.y&&s.range.end.x===t.range.end.x&&s.range.end.y===t.range.end.y}var yn=class extends Sn{constructor(e={}){super(e);this._linkifier=this._register(new ye);this.browser=tn;this._keyDownHandled=!1;this._keyDownSeen=!1;this._keyPressHandled=!1;this._unprocessedDeadKey=!1;this._accessibilityManager=this._register(new ye);this._onCursorMove=this._register(new v);this.onCursorMove=this._onCursorMove.event;this._onKey=this._register(new v);this.onKey=this._onKey.event;this._onRender=this._register(new v);this.onRender=this._onRender.event;this._onSelectionChange=this._register(new v);this.onSelectionChange=this._onSelectionChange.event;this._onTitleChange=this._register(new v);this.onTitleChange=this._onTitleChange.event;this._onBell=this._register(new v);this.onBell=this._onBell.event;this._onFocus=this._register(new v);this._onBlur=this._register(new v);this._onA11yCharEmitter=this._register(new v);this._onA11yTabEmitter=this._register(new v);this._onWillOpen=this._register(new v);this._setup(),this._decorationService=this._instantiationService.createInstance(Tn),this._instantiationService.setService(Be,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Qr),this._instantiationService.setService(lr,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(wt)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(i=>this.refresh(i?.start??0,i?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(i=>this._reportWindowsOptions(i))),this._register(this._inputHandler.onColor(i=>this._handleColorEvent(i))),this._register($.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register($.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register($.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register($.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(i=>this._afterResize(i.cols,i.rows))),this._register(C(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let i of e){let r,n=\"\";switch(i.index){case 256:r=\"foreground\",n=\"10\";break;case 257:r=\"background\",n=\"11\";break;case 258:r=\"cursor\",n=\"12\";break;default:r=\"ansi\",n=\"4;\"+i.index}switch(i.type){case 0:let o=U.toColorRGB(r===\"ansi\"?this._themeService.colors.ansi[i.index]:this._themeService.colors[r]);this.coreService.triggerDataEvent(`${b.ESC}]${n};${ml(o)}${fs.ST}`);break;case 1:if(r===\"ansi\")this._themeService.modifyColors(l=>l.ansi[i.index]=j.toColor(...i.color));else{let l=r;this._themeService.modifyColors(a=>a[l]=j.toColor(...i.color))}break;case 2:this._themeService.restoreColor(i.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(Tt,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(b.ESC+\"[I\"),this.element.classList.add(\"focus\"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=\"\",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(b.ESC+\"[O\"),this.element.classList.remove(\"focus\"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,i=this.buffer.lines.get(e);if(!i)return;let r=Math.min(this.buffer.x,this.cols-1),n=this._renderService.dimensions.css.cell.height,o=i.getWidth(r),l=this._renderService.dimensions.css.cell.width*o,a=this.buffer.y*this._renderService.dimensions.css.cell.height,u=r*this._renderService.dimensions.css.cell.width;this.textarea.style.left=u+\"px\",this.textarea.style.top=a+\"px\",this.textarea.style.width=l+\"px\",this.textarea.style.height=n+\"px\",this.textarea.style.lineHeight=n+\"px\",this.textarea.style.zIndex=\"-5\"}_initGlobal(){this._bindKeys(),this._register(L(this.element,\"copy\",i=>{this.hasSelection()&&Vs(i,this._selectionService)}));let e=i=>qs(i,this.textarea,this.coreService,this.optionsService);this._register(L(this.textarea,\"paste\",e)),this._register(L(this.element,\"paste\",e)),Ss?this._register(L(this.element,\"mousedown\",i=>{i.button===2&&Pn(i,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(L(this.element,\"contextmenu\",i=>{Pn(i,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),Bi&&this._register(L(this.element,\"auxclick\",i=>{i.button===1&&Mn(i,this.textarea,this.screenElement)}))}_bindKeys(){this._register(L(this.textarea,\"keyup\",e=>this._keyUp(e),!0)),this._register(L(this.textarea,\"keydown\",e=>this._keyDown(e),!0)),this._register(L(this.textarea,\"keypress\",e=>this._keyPress(e),!0)),this._register(L(this.textarea,\"compositionstart\",()=>this._compositionHelper.compositionstart())),this._register(L(this.textarea,\"compositionupdate\",e=>this._compositionHelper.compositionupdate(e))),this._register(L(this.textarea,\"compositionend\",()=>this._compositionHelper.compositionend())),this._register(L(this.textarea,\"input\",e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw new Error(\"Terminal requires a parent element.\");if(e.isConnected||this._logService.debug(\"Terminal.open was called on an element that was not attached to the DOM\"),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement(\"div\"),this.element.dir=\"ltr\",this.element.classList.add(\"terminal\"),this.element.classList.add(\"xterm\"),e.appendChild(this.element);let i=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(\"div\"),this._viewportElement.classList.add(\"xterm-viewport\"),i.appendChild(this._viewportElement),this.screenElement=this._document.createElement(\"div\"),this.screenElement.classList.add(\"xterm-screen\"),this._register(L(this.screenElement,\"mousemove\",o=>this.updateCursorStyle(o))),this._helperContainer=this._document.createElement(\"div\"),this._helperContainer.classList.add(\"xterm-helpers\"),this.screenElement.appendChild(this._helperContainer),i.appendChild(this.screenElement);let r=this.textarea=this._document.createElement(\"textarea\");this.textarea.classList.add(\"xterm-helper-textarea\"),this.textarea.setAttribute(\"aria-label\",mi.get()),Ts||this.textarea.setAttribute(\"aria-multiline\",\"false\"),this.textarea.setAttribute(\"autocorrect\",\"off\"),this.textarea.setAttribute(\"autocapitalize\",\"off\"),this.textarea.setAttribute(\"spellcheck\",\"false\"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange(\"disableStdin\",()=>r.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(Jr,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<\"u\"?window.document:null)),this._instantiationService.setService(ae,this._coreBrowserService),this._register(L(this.textarea,\"focus\",o=>this._handleTextAreaFocus(o))),this._register(L(this.textarea,\"blur\",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(jt,this._document,this._helperContainer),this._instantiationService.setService(nt,this._charSizeService),this._themeService=this._instantiationService.createInstance(ti),this._instantiationService.setService(Re,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(ct),this._instantiationService.setService(or,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(Qt,this.rows,this.screenElement)),this._instantiationService.setService(ce,this._renderService),this._register(this._renderService.onRenderedViewportChange(o=>this._onRender.fire(o))),this.onResize(o=>this._renderService.resize(o.cols,o.rows)),this._compositionView=this._document.createElement(\"div\"),this._compositionView.classList.add(\"composition-view\"),this._compositionHelper=this._instantiationService.createInstance($t,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(Xt),this._instantiationService.setService(Dt,this._mouseService);let n=this._linkifier.value=this._register(this._instantiationService.createInstance(hi,this.screenElement));this.element.appendChild(i);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(zt,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(o=>{super.scrollLines(o,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(ei,this.element,this.screenElement,n)),this._instantiationService.setService(Qs,this._selectionService),this._register(this._selectionService.onRequestScrollLines(o=>this.scrollLines(o.amount,o.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(o=>this._renderService.handleSelectionChanged(o.start,o.end,o.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(o=>{this.textarea.value=o,this.textarea.focus(),this.textarea.select()})),this._register($.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(Gt,this.screenElement)),this._register(L(this.element,\"mousedown\",o=>this._selectionService.handleMouseDown(o))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add(\"enable-mouse-events\")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(Tt,this)),this._register(this.optionsService.onSpecificOptionChange(\"screenReaderMode\",o=>this._handleScreenReaderModeOptionChange(o))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(bt,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(\"overviewRuler\",o=>{!this._overviewRulerRenderer&&o&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(bt,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Yt,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,i=this.element;function r(l){let a=e._mouseService.getMouseReportCoords(l,e.screenElement);if(!a)return!1;let u,h;switch(l.overrideType||l.type){case\"mousemove\":h=32,l.buttons===void 0?(u=3,l.button!==void 0&&(u=l.button<3?l.button:3)):u=l.buttons&1?0:l.buttons&4?1:l.buttons&2?2:3;break;case\"mouseup\":h=0,u=l.button<3?l.button:3;break;case\"mousedown\":h=1,u=l.button<3?l.button:3;break;case\"wheel\":if(e._customWheelEventHandler&&e._customWheelEventHandler(l)===!1)return!1;let c=l.deltaY;if(c===0||e.coreMouseService.consumeWheelEvent(l,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return!1;h=c<0?0:1,u=4;break;default:return!1}return h===void 0||u===void 0||u>4?!1:e.coreMouseService.triggerMouseEvent({col:a.col,row:a.row,x:a.x,y:a.y,button:u,action:h,ctrl:l.ctrlKey,alt:l.altKey,shift:l.shiftKey})}let n={mouseup:null,wheel:null,mousedrag:null,mousemove:null},o={mouseup:l=>(r(l),l.buttons||(this._document.removeEventListener(\"mouseup\",n.mouseup),n.mousedrag&&this._document.removeEventListener(\"mousemove\",n.mousedrag)),this.cancel(l)),wheel:l=>(r(l),this.cancel(l,!0)),mousedrag:l=>{l.buttons&&r(l)},mousemove:l=>{l.buttons||r(l)}};this._register(this.coreMouseService.onProtocolChange(l=>{l?(this.optionsService.rawOptions.logLevel===\"debug\"&&this._logService.debug(\"Binding to mouse events:\",this.coreMouseService.explainEvents(l)),this.element.classList.add(\"enable-mouse-events\"),this._selectionService.disable()):(this._logService.debug(\"Unbinding from mouse events.\"),this.element.classList.remove(\"enable-mouse-events\"),this._selectionService.enable()),l&8?n.mousemove||(i.addEventListener(\"mousemove\",o.mousemove),n.mousemove=o.mousemove):(i.removeEventListener(\"mousemove\",n.mousemove),n.mousemove=null),l&16?n.wheel||(i.addEventListener(\"wheel\",o.wheel,{passive:!1}),n.wheel=o.wheel):(i.removeEventListener(\"wheel\",n.wheel),n.wheel=null),l&2?n.mouseup||(n.mouseup=o.mouseup):(this._document.removeEventListener(\"mouseup\",n.mouseup),n.mouseup=null),l&4?n.mousedrag||(n.mousedrag=o.mousedrag):(this._document.removeEventListener(\"mousemove\",n.mousedrag),n.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(L(i,\"mousedown\",l=>{if(l.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(l)))return r(l),n.mouseup&&this._document.addEventListener(\"mouseup\",n.mouseup),n.mousedrag&&this._document.addEventListener(\"mousemove\",n.mousedrag),this.cancel(l)})),this._register(L(i,\"wheel\",l=>{if(!n.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(l)===!1)return!1;if(!this.buffer.hasScrollback){if(l.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(l,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return this.cancel(l,!0);let h=b.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?\"O\":\"[\")+(l.deltaY<0?\"A\":\"B\");return this.coreService.triggerDataEvent(h,!0),this.cancel(l,!0)}}},{passive:!1}))}refresh(e,i){this._renderService?.refreshRows(e,i)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?this.element.classList.add(\"column-select\"):this.element.classList.remove(\"column-select\")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,i){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,i),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let i=e-this._bufferService.buffer.ydisp;i!==0&&this.scrollLines(i)}paste(e){Cn(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw new Error(\"Terminal must be opened first\");let i=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),i}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw new Error(\"Terminal must be opened first\");this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,i,r){this._selectionService.setSelection(e,i,r)}getSelection(){return this._selectionService?this._selectionService.selectionText:\"\"}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,i){this._selectionService?.selectLines(e,i)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let i=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!i&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!i&&(e.key===\"Dead\"||e.key===\"AltGraph\")&&(this._unprocessedDeadKey=!0);let r=Il(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),r.type===3||r.type===2){let n=this.rows-1;return this.scrollLines(r.type===2?-n:n),this.cancel(e,!0)}if(r.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(r.cancel&&this.cancel(e,!0),!r.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((r.key===b.ETX||r.key===b.CR)&&(this.textarea.value=\"\"),this._onKey.fire({key:r.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(r.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,i){let r=e.isMac&&!this.options.macOptionIsMeta&&i.altKey&&!i.ctrlKey&&!i.metaKey||e.isWindows&&i.altKey&&i.ctrlKey&&!i.metaKey||e.isWindows&&i.getModifierState(\"AltGraph\");return i.type===\"keypress\"?r:r&&(!i.keyCode||i.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(Tc(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let i;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)i=e.charCode;else if(e.which===null||e.which===void 0)i=e.keyCode;else if(e.which!==0&&e.charCode!==0)i=e.which;else return!1;return!i||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(i=String.fromCharCode(i),this._onKey.fire({key:i,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(i,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType===\"insertText\"&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let i=e.data;return this.coreService.triggerDataEvent(i,!0),this.cancel(e),!0}return!1}resize(e,i){if(e===this.cols&&i===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,i)}_afterResize(e,i){this._charSizeService?.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(X));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains(\"focus\")?this.coreService.triggerDataEvent(b.ESC+\"[I\"):this.coreService.triggerDataEvent(b.ESC+\"[O\")}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let i=this._renderService.dimensions.css.canvas.width.toFixed(0),r=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${b.ESC}[4;${r};${i}t`);break;case 1:let n=this._renderService.dimensions.css.cell.width.toFixed(0),o=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${b.ESC}[6;${o};${n}t`);break}}cancel(e,i){if(!(!this.options.cancelEvents&&!i))return e.preventDefault(),e.stopPropagation(),!1}};function Tc(s){return s.keyCode===16||s.keyCode===17||s.keyCode===18}var xn=class{constructor(){this._addons=[]}dispose(){for(let t=this._addons.length-1;t>=0;t--)this._addons[t].instance.dispose()}loadAddon(t,e){let i={instance:e,dispose:e.dispose,isDisposed:!1};this._addons.push(i),e.dispose=()=>this._wrappedAddonDispose(i),e.activate(t)}_wrappedAddonDispose(t){if(t.isDisposed)return;let e=-1;for(let i=0;i<this._addons.length;i++)if(this._addons[i]===t){e=i;break}if(e===-1)throw new Error(\"Could not dispose an addon that has not been loaded\");t.isDisposed=!0,t.dispose.apply(t.instance),this._addons.splice(e,1)}};var wn=class{constructor(t){this._line=t}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(t,e){if(!(t<0||t>=this._line.length))return e?(this._line.loadCell(t,e),e):this._line.loadCell(t,new q)}translateToString(t,e,i){return this._line.translateToString(t,e,i)}};var Ji=class{constructor(t,e){this._buffer=t;this.type=e}init(t){return this._buffer=t,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(t){let e=this._buffer.lines.get(t);if(e)return new wn(e)}getNullCell(){return new q}};var Dn=class extends D{constructor(e){super();this._core=e;this._onBufferChange=this._register(new v);this.onBufferChange=this._onBufferChange.event;this._normal=new Ji(this._core.buffers.normal,\"normal\"),this._alternate=new Ji(this._core.buffers.alt,\"alternate\"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error(\"Active buffer is neither normal nor alternate\")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}};var Rn=class{constructor(t){this._core=t}registerCsiHandler(t,e){return this._core.registerCsiHandler(t,i=>e(i.toArray()))}addCsiHandler(t,e){return this.registerCsiHandler(t,e)}registerDcsHandler(t,e){return this._core.registerDcsHandler(t,(i,r)=>e(i,r.toArray()))}addDcsHandler(t,e){return this.registerDcsHandler(t,e)}registerEscHandler(t,e){return this._core.registerEscHandler(t,e)}addEscHandler(t,e){return this.registerEscHandler(t,e)}registerOscHandler(t,e){return this._core.registerOscHandler(t,e)}addOscHandler(t,e){return this.registerOscHandler(t,e)}};var Ln=class{constructor(t){this._core=t}register(t){this._core.unicodeService.register(t)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(t){this._core.unicodeService.activeVersion=t}};var Ic=[\"cols\",\"rows\"],Ue=0,Dl=class extends D{constructor(t){super(),this._core=this._register(new yn(t)),this._addonManager=this._register(new xn),this._publicOptions={...this._core.options};let e=r=>this._core.options[r],i=(r,n)=>{this._checkReadonlyOptions(r),this._core.options[r]=n};for(let r in this._core.options){let n={get:e.bind(this,r),set:i.bind(this,r)};Object.defineProperty(this._publicOptions,r,n)}}_checkReadonlyOptions(t){if(Ic.includes(t))throw new Error(`Option \"${t}\" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error(\"You must set the allowProposedApi option to true to use proposed API\")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new Rn(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new Ln(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new Dn(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let t=this._core.coreService.decPrivateModes,e=\"none\";switch(this._core.coreMouseService.activeProtocol){case\"X10\":e=\"x10\";break;case\"VT200\":e=\"vt200\";break;case\"DRAG\":e=\"drag\";break;case\"ANY\":e=\"any\";break}return{applicationCursorKeysMode:t.applicationCursorKeys,applicationKeypadMode:t.applicationKeypad,bracketedPasteMode:t.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:e,originMode:t.origin,reverseWraparoundMode:t.reverseWraparound,sendFocusMode:t.sendFocus,synchronizedOutputMode:t.synchronizedOutput,wraparoundMode:t.wraparound}}get options(){return this._publicOptions}set options(t){for(let e in t)this._publicOptions[e]=t[e]}blur(){this._core.blur()}focus(){this._core.focus()}input(t,e=!0){this._core.input(t,e)}resize(t,e){this._verifyIntegers(t,e),this._core.resize(t,e)}open(t){this._core.open(t)}attachCustomKeyEventHandler(t){this._core.attachCustomKeyEventHandler(t)}attachCustomWheelEventHandler(t){this._core.attachCustomWheelEventHandler(t)}registerLinkProvider(t){return this._core.registerLinkProvider(t)}registerCharacterJoiner(t){return this._checkProposedApi(),this._core.registerCharacterJoiner(t)}deregisterCharacterJoiner(t){this._checkProposedApi(),this._core.deregisterCharacterJoiner(t)}registerMarker(t=0){return this._verifyIntegers(t),this._core.registerMarker(t)}registerDecoration(t){return this._checkProposedApi(),this._verifyPositiveIntegers(t.x??0,t.width??0,t.height??0),this._core.registerDecoration(t)}hasSelection(){return this._core.hasSelection()}select(t,e,i){this._verifyIntegers(t,e,i),this._core.select(t,e,i)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(t,e){this._verifyIntegers(t,e),this._core.selectLines(t,e)}dispose(){super.dispose()}scrollLines(t){this._verifyIntegers(t),this._core.scrollLines(t)}scrollPages(t){this._verifyIntegers(t),this._core.scrollPages(t)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(t){this._verifyIntegers(t),this._core.scrollToLine(t)}clear(){this._core.clear()}write(t,e){this._core.write(t,e)}writeln(t,e){this._core.write(t),this._core.write(`\\r\n`,e)}paste(t){this._core.paste(t)}refresh(t,e){this._verifyIntegers(t,e),this._core.refresh(t,e)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(t){this._addonManager.loadAddon(this,t)}static get strings(){return{get promptLabel(){return mi.get()},set promptLabel(t){mi.set(t)},get tooMuchOutput(){return _i.get()},set tooMuchOutput(t){_i.set(t)}}}_verifyIntegers(...t){for(Ue of t)if(Ue===1/0||isNaN(Ue)||Ue%1!==0)throw new Error(\"This API only accepts integers\")}_verifyPositiveIntegers(...t){for(Ue of t)if(Ue&&(Ue===1/0||isNaN(Ue)||Ue%1!==0||Ue<0))throw new Error(\"This API only accepts positive integers\")}};export{Dl as Terminal};\n//# sourceMappingURL=xterm.mjs.map\n","/**\n * Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.\n * @license MIT\n *\n * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)\n * @license MIT\n *\n * Originally forked from (with the author's permission):\n * Fabrice Bellard's javascript vt100 for jslinux:\n * http://bellard.org/jslinux/\n * Copyright (c) 2011 Fabrice Bellard\n */\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar h=2,_=1,o=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let t=this._terminal._core._renderService.dimensions;if(t.css.cell.width===0||t.css.cell.height===0)return;let s=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,r=window.getComputedStyle(this._terminal.element.parentElement),l=parseInt(r.getPropertyValue(\"height\")),a=Math.max(0,parseInt(r.getPropertyValue(\"width\"))),i=window.getComputedStyle(this._terminal.element),n={top:parseInt(i.getPropertyValue(\"padding-top\")),bottom:parseInt(i.getPropertyValue(\"padding-bottom\")),right:parseInt(i.getPropertyValue(\"padding-right\")),left:parseInt(i.getPropertyValue(\"padding-left\"))},m=n.top+n.bottom,d=n.right+n.left,c=l-m,p=a-d-s;return{cols:Math.max(h,Math.floor(p/t.css.cell.width)),rows:Math.max(_,Math.floor(c/t.css.cell.height))}}};export{o as FitAddon};\n//# sourceMappingURL=addon-fit.mjs.map\n","import { createSignal, onMount, onCleanup, For, Show, createMemo, createEffect, untrack, Index } from \"solid-js\";\nimport { renderMarkdown } from \"./md\";\n\n/* Rendered-markdown cache: old messages were re-parsing their whole body on\n * EVERY prepend/refresh pass (scrolling back through a long session parsed\n * the same text over and over — visibly heavy). Event content is immutable,\n * so a small LRU keyed by the source string makes repeat renders free. */\nconst mdCache = new Map<string, string>();\nfunction renderMarkdownCached(src: string): string {\n const hit = mdCache.get(src);\n if (hit !== undefined) return hit;\n const html = renderMarkdown(src);\n mdCache.set(src, html);\n if (mdCache.size > 500) mdCache.delete(mdCache.keys().next().value!);\n return html;\n}\nimport \"@xterm/xterm/css/xterm.css\";\nimport { Terminal } from \"@xterm/xterm\";\nimport { FitAddon } from \"@xterm/addon-fit\";\n\ndeclare const __APP_VERSION__: string;\n\n/* ---------- types ---------- */\ninterface Agent {\n id: string; status: string; statusReason: string; workspace: string;\n session: string; branch: string; goal: { status: string; text: string; verify?: string; audit?: { verdict: \"approved\" | \"changes-required\"; feedback: string; at: string } };\n workspaceMissing?: boolean;\n latestProgress: any; stats: any; model: string; provider?: string;\n pendingPrompts?: number;\n todo?: string;\n parent?: string;\n autoContinue?: boolean;\n autoCompact?: boolean;\n ctx?: { usedTokens: number; compactAt: number; window: number; compactAtIsManual?: boolean; compacting?: string };\n}\n\ninterface Ev {\n id: string; seq: number; ts: string; session: string; branch: string;\n type: string; parent: string | null; data: any;\n}\n\nconst AUTHORS: Record<string, { name: string; icon: string; color: string }> = {\n prompt: { name: \"you\", icon: \"🟧\", color: \"#faa81a\" },\n user: { name: \"you\", icon: \"🟧\", color: \"#faa81a\" },\n message: { name: \"agent\", icon: \"🫖\", color: \"#5865f2\" },\n progress: { name: \"progress\", icon: \"📈\", color: \"#3ba55d\" },\n question: { name: \"agent\", icon: \"❓\", color: \"#5865f2\" }, // ask_user comes from the agent too\n};\nconst HARNESS_AUTH = { name: \"harness\", icon: \"📣\", color: \"#3ba55d\" };\n\n/* ---------- transient toast hint (module scope: also used by SwitchContent) ---------- */\nconst [flash, setFlash] = createSignal(\"\");\nlet flashTimer: ReturnType<typeof setTimeout> | undefined;\nconst flashHint = (msg: string) => {\n setFlash(msg);\n clearTimeout(flashTimer);\n flashTimer = setTimeout(() => setFlash(\"\"), 3200);\n};\n\n/* ---------- themes ---------- */\ntype ThemeMeta = {\n key: string;\n label: string;\n mode: \"dark\" | \"light\";\n /** three preview dots: page bg · raised surface · accent */\n sw: [string, string, string];\n};\nconst THEMES: ThemeMeta[] = [\n { key: \"dark\", label: \"Dark\", mode: \"dark\", sw: [\"#1a1c22\", \"#2b2e39\", \"#5865f2\"] },\n { key: \"midnight\", label: \"Midnight\", mode: \"dark\", sw: [\"#0d0f18\", \"#252a42\", \"#8b7cf7\"] },\n { key: \"tea\", label: \"Milk Tea\", mode: \"dark\", sw: [\"#241c16\", \"#493b2d\", \"#d98e32\"] },\n { key: \"coffee\", label: \"Coffee\", mode: \"dark\", sw: [\"#191410\", \"#403527\", \"#c68a4b\"] },\n { key: \"matcha\", label: \"Matcha\", mode: \"dark\", sw: [\"#1b2217\", \"#3c4a33\", \"#8db64e\"] },\n { key: \"matrix\", label: \"Matrix\", mode: \"dark\", sw: [\"#060a06\", \"#18301d\", \"#2fd558\"] },\n { key: \"sunset\", label: \"Sunset\", mode: \"dark\", sw: [\"#1c1422\", \"#452f52\", \"#f2784b\"] },\n { key: \"light\", label: \"Light\", mode: \"light\", sw: [\"#eceef4\", \"#ffffff\", \"#4757d8\"] },\n { key: \"strawberry\", label: \"Strawberry\", mode: \"light\", sw: [\"#fbe4ea\", \"#fffafb\", \"#e05575\"] },\n { key: \"ramune\", label: \"Ramune\", mode: \"light\", sw: [\"#ddeff7\", \"#fbfeff\", \"#1d86ae\"] },\n];\n\n/** xterm palette pulled from the active theme's CSS variables (fallback: dark) */\nfunction themeColors(): { background: string; foreground: string } {\n let bg = \"\";\n let fg = \"\";\n try {\n const cs = getComputedStyle(document.documentElement);\n bg = cs.getPropertyValue(\"--term-bg\").trim();\n fg = cs.getPropertyValue(\"--term-fg\").trim();\n } catch { /* non-DOM context */ }\n return { background: bg || \"#0d0e12\", foreground: fg || \"#dcdee4\" };\n}\n\n/** author for an event — mirrored sub-agent rows act under their own id */\nconst authorOf = (e: Ev) => {\n if (e.data?.actor) return { name: `@${String(e.data.actor)}`, icon: \"🧩\", color: \"#3ba0c9\" };\n if (e.type === \"tool_call\" || e.type === \"tool_result\")\n return { name: String(e.data?.name ?? \"tool\"), icon: \"⚙\", color: \"#3ba0c9\" };\n if (e.type === \"prompt\") {\n const src = String(e.data?.source ?? \"user\");\n if (src === \"user\") return AUTHORS.prompt;\n return src.startsWith(\"scheduler:\") ? { name: src.slice(10), icon: \"📣\", color: \"#3ba55d\" } : HARNESS_AUTH;\n }\n return AUTHORS[e.type] ?? { name: e.type, icon: \"•\", color: \"#9298a5\" };\n};\n\n// state/error/fork/goal render as dividers or embeds inside the feed\nconst FEED_TYPES = new Set([\n \"user\", \"message\", \"prompt\", \"tool_call\", \"tool_result\", \"progress\",\n \"state\", \"error\", \"fork\", \"goal\", \"todo\", \"question\", \"decision\", \"compaction\",\n \"system_note\",\n]);\n// system_note rows never RENDER, but two of them drive pending-echo state:\n// prompt-delivered flips the echo to \"sent\" and must ALSO refresh the feed so\n// the logged prompt row replaces the echo right away (otherwise the \"sent ✓\"\n// echo lingered until some unrelated event happened to refresh the timeline)\nconst NOTE_FEED_TYPES = new Set([\"system_note\"]);\nconst fmtTs = (iso: string) => {\n const d = new Date(iso);\n return `${String(d.getHours()).padStart(2, \"0\")}:${String(d.getMinutes()).padStart(2, \"0\")}`;\n};\n\nasync function api(path: string, opts?: RequestInit) {\n const token = localStorage.getItem(\"teapot.token\");\n const headers = new Headers(opts?.headers);\n if (token && !headers.has(\"authorization\")) headers.set(\"authorization\", `Bearer ${token}`);\n const res = await fetch(path, { ...opts, headers });\n if (!res.ok) {\n // auth gate: surface once so the login overlay can appear\n if (res.status === 401) window.dispatchEvent(new CustomEvent(\"teapot:unauthorized\"));\n let body: unknown = null;\n try { body = await res.json(); } catch { /* not json */ }\n const detail =\n (body && typeof body === \"object\" && \"error\" in body ? String((body as any).error) : \"\") ||\n `${path}: HTTP ${res.status}`;\n // carry the full payload (e.g. a 409's `current` file content) to callers\n throw Object.assign(new Error(detail), { payload: body });\n }\n return res.json();\n}\n\n// TEAPOT_API_TOKEN flow: open the UI as http://host/#token=<secret> once —\n// it is stored and stripped from the URL, then attached to every request.\nconst hashTok = location.hash.match(/[#&]token=([^&]+)/);\nif (hashTok) {\n localStorage.setItem(\"teapot.token\", decodeURIComponent(hashTok[1]));\n history.replaceState(null, \"\", location.pathname + location.search);\n}\nconst wsTokenQuery = () => {\n const t = localStorage.getItem(\"teapot.token\");\n return t ? `?token=${encodeURIComponent(t)}` : \"\";\n};\n\n/* ---------- app ---------- */\nexport default function App() {\n const [agents, setAgents] = createSignal<Agent[]>([]);\n const [selected, setSelected] = createSignal<string | null>(null);\n // internal session id backing the currently viewed timeline — the stable\n // handle behind /session/<id> URLs and every events fetch (?session=…)\n const [timelineId, setTimelineId] = createSignal<string>(\"\");\n // internal session id → owning agent id, and agent id → its session ids\n // (newest first) — ONE /api/sessions call serves every agent, refetched\n // only when the agent SET changes (not on every poll: the fan-out of one\n // request per agent per switch hammered the server for identical data)\n const [masterSessionIndex, setMasterSessionIndex] = createSignal<Map<string, string>>(new Map());\n const [sessionsByAgent, setSessionsByAgent] = createSignal<Map<string, string[]>>(new Map());\n let sessionIndexFetched = false;\n async function refreshSessionIndex(): Promise<void> {\n if (sessionIndexFetched) return; // one fetch is enough — sessions rarely change\n sessionIndexFetched = true;\n try {\n const r = await api(\"/api/sessions\");\n const byId = new Map<string, string>();\n const byAgent = new Map<string, string[]>();\n for (const s of r.sessions ?? []) {\n byId.set(s.id, s.agentId);\n const list = byAgent.get(s.agentId) ?? [];\n list.push(s.id); // server returns newest first\n byAgent.set(s.agentId, list);\n }\n setMasterSessionIndex(byId);\n setSessionsByAgent(byAgent);\n } catch { /* transient — retried on next agent-set change */ }\n }\n const [events, setEvents] = createSignal<Ev[]>([]);\n const [eventsTotal, setEventsTotal] = createSignal(0); // server-side count (window is capped)\n const [branches, setBranches] = createSignal<any[]>([]);\n const [metrics, setMetrics] = createSignal<any>(null);\n // per-session unsent prompt drafts — switching agents preserves what each\n // one was typing instead of showing the previous session's text\n const drafts = new Map<string, string>();\n const [draft, setDraft] = createSignal(drafts.get(selected() ?? \"\") ?? \"\");\n const saveDraft = (v: string) => {\n setDraft(v);\n const id = selected();\n if (id) {\n if (v) drafts.set(id, v);\n else drafts.delete(id); // cleared input → nothing to preserve\n }\n };\n const [cfg, setCfg] = createSignal<any>({ providers: {} });\n const [showNew, setShowNew] = createSignal(false);\n const [showCfg, setShowCfg] = createSignal(false);\n const [showRight, setShowRight] = createSignal(\n localStorage.getItem(\"teapot.panel\") !== null\n ? localStorage.getItem(\"teapot.panel\") === \"1\"\n : window.innerWidth > 1100,\n );\n const toggleRight = () => {\n const next = !showRight();\n setShowRight(next);\n localStorage.setItem(\"teapot.panel\", next ? \"1\" : \"0\");\n };\n\n /* ---------- theme picker (per-browser, localStorage-backed) ---------- */\n const [showThemes, setShowThemes] = createSignal(false);\n // fixed theme…\n const [fixedTheme, setFixedTheme] = createSignal(localStorage.getItem(\"teapot.theme\") ?? \"dark\");\n // …or follow the OS, with an explicit choice per system appearance\n const [themeAuto, setThemeAuto] = createSignal(localStorage.getItem(\"teapot.theme.auto\") === \"1\");\n const [sysLightTheme, setSysLightTheme] = createSignal(\n localStorage.getItem(\"teapot.theme.light\") ?? \"light\",\n );\n const [sysDarkTheme, setSysDarkTheme] = createSignal(\n localStorage.getItem(\"teapot.theme.dark\") ?? \"dark\",\n );\n const sysMql =\n typeof window.matchMedia === \"function\"\n ? window.matchMedia(\"(prefers-color-scheme: light)\")\n : null;\n const [sysPrefersLight, setSysPrefersLight] = createSignal(sysMql?.matches ?? false);\n onMount(() => {\n const onChange = (e: MediaQueryListEvent) => setSysPrefersLight(e.matches);\n sysMql?.addEventListener(\"change\", onChange);\n onCleanup(() => sysMql?.removeEventListener(\"change\", onChange));\n });\n // single writer: resolves the active theme and slaps it on <html>\n createEffect(() => {\n const active = themeAuto()\n ? sysPrefersLight()\n ? sysLightTheme()\n : sysDarkTheme()\n : fixedTheme();\n document.documentElement.dataset.theme = active;\n // light/dark appearance for components that ship their own palettes\n // (e.g. shiki dual-theme code blocks)\n document.documentElement.dataset.appearance =\n THEMES.find((t) => t.key === active)?.mode ?? \"dark\";\n });\n // model switcher state\n const [modelProvider, setModelProvider] = createSignal(\"\");\n const [modelDraft, setModelDraft] = createSignal(\"\");\n const [models, setModels] = createSignal<\n { id: string; contextLength?: number; pricing?: { prompt: number; completion: number }; modalities?: { input: string[]; output: string[] } }[]\n >([]);\n const providerList = () => Object.keys(cfg().providers ?? {});\n async function loadModels(prov: string) {\n if (!prov) return;\n try {\n const r = await api(`/api/models?provider=${encodeURIComponent(prov)}`);\n setModels(r.models ?? []);\n } catch { setModels([]); }\n }\n /** \"ctx 1m · $3/M in · $15/M out\" for the draft (or current) model */\n /** 📄🖼️→📄 style badge for a model's input/output modalities */\n const modalityBadge = (m?: { modalities?: { input: string[]; output: string[] } }): string => {\n const icon: Record<string, string> = {\n text: \"📄\", image: \"🖼️\", audio: \"🔊\", video: \"🎬\", file: \"📎\",\n };\n const side = (list?: string[]) =>\n (list ?? [\"text\"]).map((k) => icon[k] ?? k).join(\"\");\n if (!m?.modalities) return \"\";\n return `${side(m.modalities.input)} → ${side(m.modalities.output)}`;\n };\n const modelSpec = () => {\n const id = modelDraft().trim() || sel()?.model || \"\";\n if (!id) return \"\";\n const m = models().find((x) => x.id === id);\n if (!m) return \"\";\n const parts: string[] = [];\n const badge = modalityBadge(m);\n if (badge && badge !== \"📄 → 📄\") parts.push(badge); // text-only is the default — no noise\n if (m.contextLength) parts.push(`ctx ${fmtK(m.contextLength)} tok`);\n const price = (p?: number) =>\n p === undefined ? \"\" : `${p * 1e6 >= 10 ? Math.round(p * 1e6) : +(p * 1e6).toFixed(1)}/M`;\n if (m.pricing) {\n const pin = price(m.pricing.prompt);\n const pout = price(m.pricing.completion);\n if (pin && pout) parts.push(`${pin} in · ${pout} out`);\n else if (pin || pout) parts.push(price(m.pricing.prompt ?? m.pricing.completion));\n }\n return parts.join(\" · \");\n };\n // Keep the switcher aligned with the selected session. Keyed on STRINGS,\n // not on sel() identity: this used to re-run (and re-fetch /api/models!)\n // on every poll in which the agent's snapshot object changed — visibly\n // rebuilding the whole 🧦 model section = the \"right panel flashes\" bug.\n // FIX: the draft/provider signals are NOT dependencies — reading them\n // reactively cleared the draft on every keystroke and reverted the\n // provider dropdown on manual change (the \"right panel model switching\n // doesn't work\" bug). Clear draft / sync provider only when the selected\n // agent actually changes.\n let _prevModelAgent: string | null = null;\n createEffect(() => {\n const id = selected();\n if (!id) return;\n const a = agents().find((x) => x.id === id);\n const prov = a?.provider || cfg().defaultProvider || providerList()[0] || \"\";\n if (!a) return;\n if (id !== _prevModelAgent) {\n _prevModelAgent = id;\n // sync provider to the newly selected agent's provider\n if (untrack(() => modelProvider()) !== prov) {\n setModelProvider(prov);\n loadModels(prov);\n }\n // clear stale draft only on session switch, not on every poll\n if (untrack(() => modelDraft())) setModelDraft(\"\");\n } else {\n // same agent — keep user's draft/provider edits intact; only\n // re-sync if the server's provider changed externally and the user\n // isn't actively editing (draft empty means not mid-type)\n const curProv = untrack(() => modelProvider());\n const curDraft = untrack(() => modelDraft());\n if (!curDraft && curProv !== prov) {\n setModelProvider(prov);\n loadModels(prov);\n }\n }\n });\n // autoscroll: follow the tail only while the reader is already at the bottom\n const MAX_COMPOSER_H = 360; // ~15 lines expanded (was ~8 lines / 160px)\n const [composerMaximized, setComposerMaximized] = createSignal(false);\n const [atBottom, setAtBottom] = createSignal(true);\n const [missed, setMissed] = createSignal(0);\n // live compaction progress for the selected session (\"summarizing 2138…\")\n const [compacting, setCompacting] = createSignal<{ phase: string; summarized?: number } | null>(null);\n // the live bubble is carrying a compaction summarizer stream (prefixed by\n // the harness) rather than a normal assistant reply — render it differently\n const liveIsCompact = () => liveText().startsWith(\"[compact] \");\n const liveBody = () => (liveIsCompact() ? liveText().slice(\"[compact] \".length) : liveText());\n // a summarizer's streamed output is shown in the live bubble; clear it when\n // the pass ends so a stale \"[compact] …\" bubble can't outlive it\n createEffect(() => {\n if (!compacting()) setLive((l) => (l?.text.startsWith(\"[compact] \") ? null : l));\n });\n // ONE live buffer PER AGENT. The old single slot was clobbered by every\n // session switch (setLive(null) on select) and by the feed refresh's\n // stillStreaming heuristic — a streaming reply visibly blinked out and\n // came back, or vanished entirely after visiting another session.\n const [liveByAgent, setLiveByAgent] = createSignal<Map<string, { text: string; reasoning: string; at: number }>>(new Map());\n const live = () => {\n const id = selected();\n return id ? liveByAgent().get(id) ?? null : null;\n };\n const setLive = (patch: { text: string; reasoning: string } | null | ((cur: { text: string; reasoning: string } | null) => { text: string; reasoning: string } | null)) => {\n const id = selected();\n if (!id) return;\n setLiveByAgent((prev) => {\n const m = new Map(prev);\n const next = typeof patch === \"function\" ? patch(prev.get(id) ?? null) : patch;\n if (next) m.set(id, { ...next, at: Date.now() });\n else m.delete(id);\n return m;\n });\n };\n // markdown-rendered live body, throttled so per-chunk deltas don't re-parse\n // the whole (growing) text on every single WS message\n const [liveText, setLiveText] = createSignal(\"\");\n // when the CURRENT thinking stretch started (reasoning arriving while text\n // is still empty) — powers the 💭 thinking elapsed-time readout\n const [thinkStartedAt, setThinkStartedAt] = createSignal(0);\n const liveStartedAt = () => thinkStartedAt();\n // reasoning renders from the SAME throttle tick — binding it raw re-painted\n // the (often huge) thinking block on every single chunk\n const [liveReasoning, setLiveReasoning] = createSignal(\"\");\n let liveRenderTimer: ReturnType<typeof setTimeout> | undefined;\n createEffect(() => {\n const l = live();\n if (!l) {\n clearTimeout(liveRenderTimer);\n liveRenderTimer = undefined;\n setLiveText(\"\");\n setLiveReasoning(\"\");\n return;\n }\n if (liveRenderTimer) return; // a render is already scheduled\n liveRenderTimer = setTimeout(() => {\n liveRenderTimer = undefined;\n setLiveText(live()?.text ?? \"\");\n setLiveReasoning(live()?.reasoning ?? \"\");\n // adaptive throttle: the WHOLE text re-parses each tick, so stretch the\n // interval as it grows — long streams were re-rendering every 60ms and\n // bogging Firefox down\n }, (live()?.text.length ?? 0) > 20_000 ? 250 : (live()?.text.length ?? 0) > 6_000 ? 120 : 60);\n });\n onCleanup(() => clearTimeout(liveRenderTimer));\n\n // A finish() turn often streams REASONING-ONLY (empty text) — the live\n // buffer then shows a 💭 thinking bubble that outlives the run: nothing\n // else arrives to overwrite it, and the refresh-path cleanup only runs on\n // unrelated events. The agent's status is the ground truth: the moment it\n // leaves running/waiting, any leftover live buffer is dead and must go.\n // (Reload \"fixes\" it today only because the buffer is memory-only.)\n createEffect(() => {\n const st = sel()?.status;\n if (st === \"running\" || st === \"waiting\") return;\n const id = selected();\n if (!id) return;\n setLiveByAgent((prev) => {\n if (!prev.has(id)) return prev;\n const m = new Map(prev);\n m.delete(id);\n return m; // new identity only when something was actually dropped\n });\n setThinkStartedAt(0);\n });\n\n // auto-scroll the feed while live output streams and we're at the bottom.\n // The old version double-checked nearBottom() inside the rAF — but the live\n // bubble has ALREADY grown by then, so the unscrolled distance exceeded the\n // threshold, \"user scrolled away\" was falsely detected, and follow mode\n // jittered on/off with every chunk (worse with a tall composer eating into\n // the viewport). atBottom() is only flipped by real user scrolling, so it is\n // the signal to trust here; nearBottom() would just re-measure mid-growth.\n createEffect(() => {\n // reasoning-only streams (💭 thinking, no text yet) must follow too —\n // keying the effect on liveText() alone left the feed parked while the\n // reasoning details block kept growing\n const txt = liveText();\n const rsn = live()?.reasoning ?? \"\";\n if (!txt && !rsn) return;\n if (!atBottom()) return;\n // wait for the DOM to paint the new text\n requestAnimationFrame(() => {\n if (atBottom()) scrollBottom(true);\n });\n });\n // Browsers pause requestAnimationFrame while a tab is hidden, so scroll\n // follow-ups for updates arriving in a background tab are silently dropped\n // — coming back showed a stale bottom line even though \"follow\" mode was\n // on. Re-sync once on return: jump to the tail iff the reader was still\n // following when they left. Re-armed on every session switch.\n\n // Pending echoes must clear at EXACTLY the moment the ⏳ queue badge clears:\n // both mean \"the model has consumed the message\". The badge counts\n // snapshot().pendingPrompts, which drops the instant drainPendingPrompts()\n // moves the queue into this.messages — so reconcile against that count\n // instead of waiting for every prompt-delivered note to arrive over WS (the\n // badge and the echo visibly disagreed during that gap).\n createEffect(() => {\n const queued = sel()?.pendingPrompts ?? 0;\n setPendingMsgs((list) => {\n if (queued >= list.length) return list;\n return list.slice(0, queued); // newest entries were consumed by the model\n });\n });\n createEffect(() => {\n const id = selected();\n if (!id) return;\n const onVisible = () => {\n if (document.visibilityState !== \"visible\") return;\n requestAnimationFrame(() => {\n if (nearBottom()) {\n setAtBottom(true);\n setMissed(0);\n scrollBottom(true);\n }\n });\n };\n document.addEventListener(\"visibilitychange\", onVisible);\n onCleanup(() => document.removeEventListener(\"visibilitychange\", onVisible));\n });\n const sel = createMemo(() => agents().find((a) => a.id === selected()));\n // prompt being edited → edit-prompt fork dialog. SETTLED user prompts only:\n // a pending (queued, not yet delivered) message offers ✕ cancel instead —\n // editing implies the model may have seen it, which is false while queued.\n const [editing, setEditing] = createSignal<{ eventId: string; text: string } | null>(null);\n // ask_user calls that already have their tool_result in the log — used to\n // disable the option buttons (answering twice sent duplicate prompts)\n const answeredIds = createMemo(() => {\n const set = new Set<string>();\n for (const e of events()) {\n if (e.type === \"tool_result\" && e.data?.name === \"ask_user\") set.add(String(e.data.callId));\n }\n return set;\n });\n // optimistic echoes of prompts we just sent but haven't seen in the log yet\n const [pendingMsgs, setPendingMsgs] = createSignal<\n { id: string; text: string; at: number; promptId?: string; sent?: boolean; images?: string[] }[]\n >([]);\n\n /* ---------- notification center (in-app only; push later) ---------- */\n type Notif = {\n id: string;\n agentId: string;\n kind: \"progress\" | \"finish\" | \"question\" | \"error\";\n title: string;\n body: string;\n at: number;\n read: boolean;\n /** source event id — clicking the notification scrolls to this row */\n eventId?: string;\n };\n const [notifs, setNotifs] = createSignal<Notif[]>([]);\n // hide 👻 ghost sessions (workspace directory missing on disk) — a toggle,\n // because they still hold history the operator may need\n const [hideGhosts, setHideGhosts] = createSignal(\n localStorage.getItem(\"teapot.hideGhosts\") === \"1\",\n );\n const [showNotifs, setShowNotifs] = createSignal(false);\n const unreadCount = () => notifs().filter((n) => !n.read).length;\n /** mark all notifications from ONE session read — fired when the operator\n * is following the timeline tail (they are, by definition, looking at the\n * newest content those notifications point to) */\n const markSessionRead = (agentId: string) => {\n setNotifs((list) => {\n let changed = false;\n const next = list.map((n) => {\n if (n.read || n.agentId !== agentId) return n;\n changed = true;\n return { ...n, read: true };\n });\n return changed ? next : list; // avoid identity churn on no-op runs\n });\n };\n /** unread for one agent INCLUDING its whole sub-tree (subs, sub-subs…) */\n const subtreeUnread = (agentId: string): number => {\n let total = notifs().filter((n) => !n.read && n.agentId === agentId).length;\n for (const child of agents()) {\n if (child.parent === agentId)\n total += subtreeUnread(child.id);\n }\n return total;\n };\n let notifSeq = 0;\n const addNotif = (n: Omit<Notif, \"id\" | \"at\" | \"read\">) => {\n setNotifs((list) =>\n [{ ...n, id: `n${++notifSeq}`, at: Date.now(), read: false }, ...list].slice(0, 50),\n );\n };\n /** events worth telling the operator about, even on another session/tab */\n const maybeNotify = (agentId: string, ev: any) => {\n const who = agents().find((a) => a.id === agentId)?.id ?? agentId;\n const eid = typeof ev.id === \"string\" ? ev.id : undefined;\n if (ev.type === \"message\" && ev.data?.final === true) {\n addNotif({\n agentId,\n kind: \"finish\",\n title: `${who} finished`,\n body: String(ev.data.content ?? \"\").slice(0, 300),\n eventId: eid,\n });\n } else if (ev.type === \"question\") {\n addNotif({\n agentId,\n kind: \"question\",\n title: `${who} asks a question`,\n body: String(ev.data.question ?? \"\").slice(0, 300),\n eventId: eid,\n });\n } else if (ev.type === \"error\") {\n addNotif({\n agentId,\n kind: \"error\",\n title: `${who} hit an error`,\n body: String(ev.data.message ?? \"\").slice(0, 300),\n eventId: eid,\n });\n } else if (ev.type === \"progress\") {\n addNotif({\n agentId,\n kind: \"progress\",\n title: `${who}: ${String(ev.data.doing ?? \"progress\")}`.slice(0, 120),\n body: [ev.data.recent && `recent: ${ev.data.recent}`, ev.data.next && `next: ${ev.data.next}`]\n .filter(Boolean)\n .join(\" · \")\n .slice(0, 300),\n eventId: eid,\n });\n }\n };\n /** jump the timeline to a specific event row (used by notification clicks) */\n const jumpToEvent = (eventId: string) => {\n const el = document.querySelector<HTMLElement>(`[data-eid=\"${eventId}\"]`);\n if (el) {\n el.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n el.classList.add(\"flash-target\");\n setTimeout(() => el.classList.remove(\"flash-target\"), 1600);\n }\n };\n\n // pair tool_call events with their (possibly still missing) results:\n // consumed results are hidden from the feed, calls render as one merged row\n // that shows \"running…\" until its result lands\n const pairInfo = createMemo(() => {\n const resFor = new Map<string, Ev>();\n const consumed = new Set<string>();\n const awaiting = new Map<string, Ev[]>();\n for (const e of events()) {\n if (!FEED_TYPES.has(e.type)) continue;\n if (e.type === \"tool_call\") {\n const q = awaiting.get(e.data.callId) ?? [];\n q.push(e);\n awaiting.set(e.data.callId, q);\n } else if (e.type === \"tool_result\") {\n const call = awaiting.get(e.data.callId)?.shift();\n if (call) {\n resFor.set(call.id, e);\n consumed.add(e.id);\n }\n }\n }\n return { resFor, consumed };\n });\n // A question is ANSWERED only when a real operator reply arrived AFTER it —\n // a user prompt logged later than the question event. The tool_result that\n // pairs with the question is written immediately when the question is SHOWN\n // (it parks the loop), so its mere existence never means \"answered\".\n const answeredQuestionIds = createMemo(() => {\n const set = new Set<string>();\n let lastQuestionAt = -1;\n let lastUserPromptAt = -1;\n for (const e of events()) {\n if (e.type === \"question\") lastQuestionAt = e.seq;\n else if (e.type === \"prompt\" && e.data?.source === \"user\") lastUserPromptAt = e.seq;\n else if (\n e.type === \"system_note\" &&\n (e.data as any)?.event === \"prompt-delivered\"\n )\n lastUserPromptAt = Math.max(lastUserPromptAt, e.seq);\n }\n // any user reply after the latest open question closes ALL earlier\n // questions of this session (the loop resumes on the first reply)\n if (lastQuestionAt >= 0 && lastUserPromptAt > lastQuestionAt) {\n for (const e of events())\n if (e.type === \"question\" && e.seq <= lastUserPromptAt)\n set.add(String((e.data as any)?.callId ?? \"\"));\n }\n return set;\n });\n const chatEvents = createMemo(() => {\n const { consumed } = pairInfo();\n // Reasoning-only assistant turns (content empty, only 💭 reasoning) used\n // to render as their own agent bubble between every pair of tool rows,\n // which also broke \"consecutive bash\" grouping. They now ride along with\n // the tool run: a reasoning-only turn is dropped when the nearest visible\n // row before it is a tool event — its thinking belongs to that action.\n const lastVisibleBefore = new Map<string, string>();\n let lastKind = \"\";\n for (const e of events()) {\n (e as Ev & { _prevKind?: string })._prevKind = lastKind;\n if (!FEED_TYPES.has(e.type)) continue;\n const d = e.data ?? {};\n const isCarrier =\n e.type === \"message\" &&\n String(d.content ?? \"\").trim() === \"\" &&\n String(d.reasoning ?? \"\").trim() !== \"\";\n if (!isCarrier) lastKind = e.type === \"tool_result\" ? \"tool\" : e.type;\n }\n const real = events().filter((e) => {\n if (!FEED_TYPES.has(e.type)) return false;\n // report_progress calls are fully rendered by the progress embed below\n // (the timeline's 📈 row + the right panel's snapshot) — the tool-call\n // row would just repeat the same content a third time\n // report_progress / ask_user calls are fully rendered by their own\n // embeds (📈 progress / ❓ question) — the tool rows would just repeat\n // the same content a second time. ask_user also shows \"answered\"\n // state via its embed, so the raw rows add nothing.\n const metaToolName =\n e.type === \"tool_call\" || e.type === \"tool_result\" ? String(e.data?.name ?? \"\") : \"\";\n if (metaToolName === \"report_progress\") return false;\n if (metaToolName === \"ask_user\") return false;\n // paired tool results live inside their call's merged row\n if (e.type === \"tool_result\") return !consumed.has(e.id);\n // tool-call carrier turns have no visible payload — the ToolRow below\n // already tells that story; an empty agent bubble is just noise\n if (e.type === \"message\") {\n const content = String(e.data?.content ?? \"\");\n // reasoning-only turn right after a tool result: the next tool row's\n // collapsible reasoning covers that thinking; a standalone bubble here\n // broke \"consecutive bash\" grouping (prismrv-root-7fb7533b)\n if (\n content.trim() === \"\" &&\n String(e.data?.reasoning ?? \"\").trim() !== \"\" &&\n (e as Ev & { _prevKind?: string })._prevKind === \"tool\"\n )\n return false;\n // a requested progress report is already shown by its progress embed —\n // the log keeps the message (restores need it) but the feed must not\n if (e.data?.progressEcho) return false;\n // sanitize()'s request-only placeholder leaked into old logs as an\n // \"assistant said (tool call)\" message; the tool rows tell that story\n if (!e.data?.final && content.trim() === \"(tool call)\") return false;\n return (\n content.trim() !== \"\" ||\n String(e.data?.reasoning ?? \"\").trim() !== \"\" ||\n !!e.data?.final\n );\n }\n return true;\n });\n // expand mirrored child activity (\"sub\" events) into normal-looking rows\n // tagged with the acting sub id, so the parent feed shows who did what\n const expanded: Ev[] = [];\n for (const e of real) {\n if (e.type === \"sub\") {\n const d = e.data as { sub?: string; type?: string; data?: any };\n const kind = String(d?.type ?? \"message\");\n if (kind === \"state\") continue; // child state churn is noise up here\n expanded.push({ ...e, type: kind, data: { ...d?.data, actor: d?.sub } });\n } else expanded.push(e);\n }\n // DEDUPE: models often end a report_progress / record_decision turn by\n // repeating the very same content as an ordinary assistant message. When a\n // message follows its embed event (progress/decision) with essentially\n // identical text, drop the message — the embed already shows it (rendered).\n const norm = (s: unknown) => String(s ?? \"\").replace(/\\s+/g, \" \").trim().toLowerCase();\n const deduped: Ev[] = [];\n for (let i = 0; i < expanded.length; i++) {\n const e = expanded[i]!;\n if (\n e.type === \"message\" &&\n e.data?.role === \"assistant\"\n ) {\n const prev = expanded[i - 1];\n const body = norm(e.data.content);\n if (prev?.type === \"progress\") {\n const p = prev.data;\n const same =\n body.includes(norm(p.doing)) ||\n (!!p.recent && body.includes(norm(p.recent)));\n if (same && body.length <= Math.max(200, norm(p.doing).length * 3)) continue;\n }\n if (prev?.type === \"decision\") {\n const d = prev.data;\n // the decision line is the identity — models echo it verbatim or as\n // a heading; rationale alone is too weak a signal to dedupe on\n const dec = norm(d.decision);\n if (dec && body.includes(dec) && body.length <= Math.max(300, dec.length * 3)) continue;\n }\n }\n deduped.push(e);\n }\n // append optimistic echoes. An echo lives from SEND until its text enters\n // an LLM call payload — signalled by the prompt-delivered system_note\n // (same promptId). The LOGGED prompt row appears much earlier (at enqueue\n // time), so \"drop when logged\" made the pending indicator flash for ~120ms\n // and vanish while the message was still queued for the model.\n //\n // The logged prompt row of a NOT-YET-DELIVERED message must NOT render as\n // a settled timeline row: it would show the queued text twice (a \"sent\"\n // row at its log position AND the pending echo at the bottom) and imply\n // the model already saw it. Until prompt-delivered arrives, the log row is\n // hidden and the pending echo alone represents the message.\n const deliveredIds = new Set<string>();\n const loggedUserPrompts = new Set<string>();\n const deliveredNotes = new Map<string, number>(); // promptId → seq of its prompt-delivered note\n for (const e of deduped) {\n const pid = (e.data as any)?.promptId;\n if (!pid) continue;\n if (e.type === \"prompt\" && e.data?.source === \"user\") loggedUserPrompts.add(String(pid));\n if (e.type === \"system_note\" && (e.data as any)?.event === \"prompt-delivered\") {\n deliveredIds.add(String(pid));\n deliveredNotes.set(String(pid), e.seq);\n }\n }\n const deliveredSeq = new Map<string, number>();\n const stillPendingIds = new Set<string>();\n for (const p of pendingMsgs()) {\n if (p.promptId && !deliveredIds.has(p.promptId)) stillPendingIds.add(p.promptId);\n }\n const visible = deduped.filter((e) => {\n if (e.type !== \"prompt\" || e.data?.source !== \"user\") return true;\n const pid = String((e.data as any)?.promptId ?? \"\");\n return pid === \"\" || !stillPendingIds.has(pid); // hide undelivered log rows\n });\n // A delivered user prompt's log row was written at ENQUEUE time — its seq\n // sits wherever the operator typed it, NOT where the model actually\n // consumed it. Re-sequence it to its prompt-delivered note's position so\n // the timeline reads in true context order: the message lands between the\n // agent output that came before the delivery and the reply after it.\n for (const e of visible) {\n if (e.type !== \"prompt\" || e.data?.source !== \"user\") continue;\n const pid = String((e.data as any)?.promptId ?? \"\");\n const note = deliveredNotes.get(pid);\n if (note && note > e.seq) e.seq = note;\n }\n const pend = pendingMsgs().filter((p) => {\n if (!p.promptId) return true;\n // delivered AND its log row exists → the log row owns the display now\n if (deliveredIds.has(p.promptId) && loggedUserPrompts.has(p.promptId)) return false;\n return true;\n });\n const echoes: Ev[] = pend.map((p) => echoEv(p));\n // Echo ordering: all echoes sort BELOW every settled row (their seq sits\n // above the log's max seq), and multiple pending messages keep their own\n // send order — first-sent highest, so the block reads top-down in the\n // order the operator typed them.\n const maxSeq = visible.reduce((m, e) => Math.max(m, e.seq), 0);\n echoes.forEach((e, i) => {\n e.seq = maxSeq + 1 + i;\n });\n return [...visible, ...echoes];\n });\n // Reference-stable echo rows: chatEvents re-runs on EVERY event burst, and\n // rebuilding the echo objects each time handed Solid's <For> a brand-new\n // reference — remounting the pending row (and, with the tail-anchor race,\n // letting it flash to the top of the viewport). Cache by id; only the\n // pending→sent flip builds a new object.\n const echoCache = new Map<string, Ev>();\n function echoEv(p: { id: string; text: string; at: number; promptId?: string; sent?: boolean; images?: string[] }): Ev {\n const key = `${p.id}:${p.sent ? \"s\" : \"p\"}`;\n const hit = echoCache.get(key);\n if (hit) return hit;\n if (echoCache.size > 64) echoCache.clear();\n const ev: Ev = {\n id: p.id,\n // seq is assigned per-render in chatEvents (below every settled row,\n // in send order) — the sentinel here is just a stable placeholder\n seq: Number.MAX_SAFE_INTEGER,\n ts: new Date(p.at).toISOString(),\n session: sel()?.session ?? \"\",\n branch: sel()?.branch ?? \"br0\",\n parent: null,\n type: \"prompt\",\n data: {\n source: \"user\",\n text: p.text,\n pending: !p.sent,\n ...(p.images?.length ? { images: p.images } : {}),\n ...(p.promptId ? { promptId: p.promptId } : {}),\n },\n };\n echoCache.set(key, ev);\n return ev;\n }\n const loadCfg = () => api(\"/api/config\").then(setCfg).catch(() => {});\n // password auth: any 401 from /api/* flips this on → login overlay\n const [authLocked, setAuthLocked] = createSignal(false);\n onMount(() => {\n const onUnauthorized = () => setAuthLocked(true);\n window.addEventListener(\"teapot:unauthorized\", onUnauthorized);\n onCleanup(() => window.removeEventListener(\"teapot:unauthorized\", onUnauthorized));\n });\n\n // operator task list draft — seeded per selected agent; while the user\n // hasn't touched it, it follows server updates (the agent edits it too)\n const [todoDraft, setTodoDraft] = createSignal(\"\");\n // false = rendered checklist (default), true = raw markdown editor\n const [todoViewMode, setTodoViewMode] = createSignal(false);\n const [todoDirty, setTodoDirty] = createSignal(false);\n let todoSeededFor = \"\";\n createEffect(() => {\n const id = selected();\n const serverTodo = agents().find((a) => a.id === id)?.todo ?? \"\";\n if (id && id !== todoSeededFor) {\n todoSeededFor = id;\n setTodoDirty(false);\n setTodoDraft(serverTodo);\n } else if (id && !todoDirty()) {\n setTodoDraft(serverTodo); // stay current with agent-side set_todo edits\n }\n });\n const saveTodo = async () => {\n const notify = (document.getElementById(\"todo-notify\") as HTMLInputElement)?.checked ?? true;\n if (!selected()) return;\n try {\n await api(`/api/agents/${selected()}/todo`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ text: todoDraft(), notify }),\n });\n setTodoDirty(false);\n flashHint(`tasks saved${notify && todoDraft().trim() ? \" & notification queued\" : \"\"}`);\n refreshAgents();\n } catch (ex) {\n flashHint(`save failed: ${(ex as Error).message}`);\n }\n };\n\n /** count markdown checkboxes (\"- [ ]\" / \"- [x]\") in the draft for the progress pill */\n const todoStats = createMemo(() => {\n let total = 0;\n let done = 0;\n for (const line of todoDraft().split(\"\\n\")) {\n const m = line.match(/^\\s*[-*+] \\[([ xX])\\]/);\n if (!m) continue;\n total++;\n if (m[1]!.toLowerCase() === \"x\") done++;\n }\n return { total, done };\n });\n\n const refreshAgents = () =>\n api(\"/api/agents\")\n .then((d) => {\n let agentSetChanged = false;\n setAgents((prev) => {\n // Reference-stabilize snapshots: the server re-serializes every\n // agent on each poll, and new object identities made Solid re-run\n // EVERY expression bound to sel()*.x (the \"whole panel flashes\"\n // effect). Reuse the previous object when the snapshot is equal,\n // so unchanged panels skip their fine-grained updates entirely.\n const prevById = new Map(prev.map((a) => [a.id, a]));\n if (prev.length !== (d.agents ?? []).length) agentSetChanged = true;\n return (d.agents ?? []).map((a: Agent) => {\n const p = prevById.get(a.id);\n if (!p) agentSetChanged = true;\n return p && JSON.stringify(p) === JSON.stringify(a) ? p : a;\n });\n });\n // the session index is ONE request for ALL agents — only needed when\n // the agent set actually changes, not on every poll\n if (agentSetChanged) void refreshSessionIndex();\n })\n .catch(() => {});\n const refreshMetrics = () => api(\"/api/metrics\").then(setMetrics).catch(() => {});\n // scheduled (cron) tasks — shown in the right panel so \"what runs when\" is legible\n const [tasks, setTasks] = createSignal<any[]>([]);\n const loadTasks = () => api(\"/api/tasks\").then((d) => setTasks(d.tasks)).catch(() => {});\n const agentTasks = (id: string | null) => tasks().filter((t) => t.agent === id);\n\n // sidebar tree: subs hang under their parent, collapsible per parent\n const [collapsedSubs, setCollapsedSubs] = createSignal<Set<string>>((() => {\n try {\n return new Set(JSON.parse(localStorage.getItem(\"teapot.collapsed\") ?? \"[]\"));\n } catch { return new Set(); }\n })());\n const toggleCollapse = (id: string) => {\n const next = new Set(collapsedSubs());\n if (next.has(id)) next.delete(id);\n else next.add(id);\n setCollapsedSubs(next);\n localStorage.setItem(\"teapot.collapsed\", JSON.stringify([...next]));\n };\n const treeRows = createMemo(() => {\n // 👻 toggle: drop ghost sessions (workspace missing on disk) from the\n // sidebar tree entirely — they are noise once you know about them\n const list = hideGhosts() ? agents().filter((a) => !a.workspaceMissing) : agents();\n const byParent = new Map<string, Agent[]>();\n const roots: Agent[] = [];\n for (const a of list) {\n const isSub = a.parent && list.some((p) => p.id === a.parent);\n if (isSub) {\n // newest sub first — freshly spawned agents are what you want to see\n if (!byParent.has(a.parent!)) byParent.set(a.parent!, []);\n byParent.get(a.parent!)!.unshift(a);\n } else roots.push(a);\n }\n const rows: { a: Agent; depth: number }[] = [];\n const walk = (nodes: Agent[], depth: number) => {\n for (const a of nodes) {\n rows.push({ a, depth });\n const kids = byParent.get(a.id);\n if (kids?.length && !collapsedSubs().has(a.id)) walk(kids, depth + 1);\n }\n };\n walk(roots, 0);\n return rows;\n });\n\n // null = show everything; otherwise only the chosen branch's events\n const [branchFilter, setBranchFilter] = createSignal<string | null>(null);\n // Reference-stabilize events across fetches: logged events are immutable,\n // so reuse the previous object when the id already exists. Without this,\n // every refresh produced all-new references and Solid's <For> tore down\n // and rebuilt EVERY timeline row (markdown re-parse included) — heavy on\n // long sessions and it collapsed open <details>.\n const evCache = new Map<string, Ev>();\n // evCache keys are scoped per session: raw ids (e1, e2…) are only unique\n // WITHIN one log, so a cross-session key collision made stabilize() return\n // another session's row — the \"teapot-b3c520e0 shows teapot-3's timeline\" bug.\n function cacheKey(ev: { id: string }): string {\n // scoped by the internal session id (the log), NOT the agent id — agent\n // ids are recycled across incarnations, so two incarnations of one agent\n // must not share cache entries either\n return `${timelineId() || (selected() ?? \"?\")}:${ev.id}`;\n }\n function stabilize(list: Ev[]): Ev[] {\n const out: Ev[] = Array.from({ length: list.length });\n for (let i = 0; i < list.length; i++) {\n const e = list[i]!;\n const k = cacheKey(e);\n const known = evCache.get(k);\n out[i] = known ?? e;\n if (!known) {\n evCache.set(k, e);\n if (evCache.size > 6000) {\n const oldest = evCache.keys().next().value;\n if (oldest !== undefined) evCache.delete(oldest);\n }\n }\n }\n return out;\n }\n\n // upward pagination: prepend the page before the oldest loaded id\n const [loadingOlder, setLoadingOlder] = createSignal(false);\n const [olderDone, setOlderDone] = createSignal(false);\n // Generation token guarding every async timeline fetch. Switching sessions\n // bumps it; responses that come back after a switch belong to a dead view\n // and must NOT touch events/scroll (they used to overwrite the freshly\n // loaded timeline with the PREVIOUS session's rows).\n let feedGeneration = 0;\n // /branches is fork-only data: skip refetching within one generation\n let lastBranchesGen = -1;\n\n /** merge fetched page into state by id, seq-ascending, refs stabilized */\n function mergeEvents(incoming: Ev[]): void {\n setEvents((prev) => {\n const map = new Map<string, Ev>();\n for (const e of prev) map.set(e.id, e);\n for (const e of stabilize(incoming)) if (!map.has(e.id)) map.set(e.id, e);\n return [...map.values()].sort((a, b) => a.seq - b.seq);\n });\n }\n\n // After the initial page lands, the feed may not even fill the viewport\n // (a fresh session shows only the last ~dozen rows). scrollTop can never\n // reach the \"at top\" trigger then, so older pages were unreachable. Keep\n // pulling until the feed overflows or history is exhausted.\n async function backfillUntilScrollable(): Promise<void> {\n const id = selected();\n if (!id || olderDone() || loadingOlder()) return;\n // EVERYTHING is already loaded → no older history exists at all. Exit\n // before touching the server (a fresh session with a short log lands\n // here immediately — no probing, no loop).\n if (events().length >= eventsTotal()) {\n setOlderDone(true);\n return;\n }\n // Only trust measurements from a LAID-OUT feed. Hidden/unmounted feeds\n // report scrollHeight 0 and would look \"never full\", causing pointless\n // page pulls; if we cannot measure, we do not guess.\n const measurable = () => {\n const f = feedEl();\n return f && f.clientHeight > 0 ? f : null;\n };\n let guard = 0;\n while (guard++ < 20 && !olderDone() && selected() === id) {\n const f = measurable();\n if (f && f.scrollHeight > f.clientHeight + 40) return; // scrollable now\n if (events().length >= eventsTotal()) {\n setOlderDone(true);\n return;\n }\n const before = events().length;\n await loadOlder();\n // empty page (or fully deduped) means history is exhausted — loadOlder\n // has set olderDone itself in the empty-page case\n if (events().length === before) return;\n // prepending grows the content ABOVE the viewport; keep the reader\n // pinned to the tail while we backfill, or follow mode silently died\n // here and \"new messages appear at the top of my view\" was the result\n if (atBottom() && selected() === id) scrollBottom(true);\n }\n }\n\n async function loadOlder(): Promise<void> {\n const id = selected();\n const oldest = events()[0];\n if (!id || !oldest || loadingOlder() || olderDone()) return;\n setLoadingOlder(true);\n try {\n const f = feedEl();\n const prevH = f?.scrollHeight ?? 0;\n const prevTop = f?.scrollTop ?? 0;\n const bf = branchFilter();\n const tid = timelineId();\n const sessQ = tid && tid !== id ? `&session=${encodeURIComponent(tid)}` : \"\";\n const res = await api(\n `/api/agents/${id}/events?limit=300&before=${encodeURIComponent(oldest.id)}${sessQ}${bf ? `&branch=${encodeURIComponent(bf)}` : \"\"}`,\n );\n const page: Ev[] = res.events ?? [];\n if (page.length === 0) { setOlderDone(true); return; }\n // still the same session AND still anchored on the same oldest row?\n // (a plain selected() check can't be fooled by same-session tail\n // refreshes, which never touch the head of the list)\n if (selected() !== id || events()[0]?.id !== oldest.id) return;\n mergeEvents(page);\n // keep the viewport anchored to the same content after prepending\n requestAnimationFrame(() => {\n if (selected() === id) {\n const el = feedEl();\n if (el) el.scrollTop = prevTop + (el.scrollHeight - prevH);\n }\n });\n } catch { /* transient — user can scroll up again */ }\n finally { setLoadingOlder(false); }\n }\n\n async function loadEvents(id: string, sessionId?: string) {\n // DON'T bump the generation here. Bumping made two racing loads for the\n // SAME session invalidate each other: select() → loadEvents (gen N) and a\n // WS-triggered refresh (gen N+1) could resolve in either order, and the\n // loser was dropped — if the WS one landed first, the select's own fetch\n // was discarded AFTER the session had been cleared, leaving an EMPTY\n // timeline until some later event happened to trigger another refresh.\n // The generation only needs to move on actual session SWITCHES.\n const genAtStart = feedGeneration;\n const tid = sessionId ?? timelineId() ?? \"\";\n try {\n const bf = branchFilter();\n // /branches only changes on fork — fetch it on session switch, not on\n // every tail refresh (each call re-reads the log server-side otherwise)\n const needsBranches = genAtStart !== lastBranchesGen || !branches().length;\n const sessQ = tid && tid !== id ? `&session=${encodeURIComponent(tid)}` : \"\";\n const [ev, br, sk] = await Promise.all([\n api(`/api/agents/${id}/events?limit=300${sessQ}${bf ? `&branch=${encodeURIComponent(bf)}` : \"\"}`),\n needsBranches\n ? api(`/api/agents/${id}/branches`)\n : Promise.resolve({ branches: branches() }),\n api(`/api/agents/${id}/skills`).catch(() => ({ skills: [] })),\n ]);\n if (needsBranches) lastBranchesGen = genAtStart;\n // stale iff a DIFFERENT session is now selected or a switch happened\n // while we were in flight — same-session refreshes must not drop us\n if (genAtStart !== feedGeneration || selected() !== id) return; // stale view\n setEvents((prev) => {\n // tail refresh: union-merge so prepended older pages survive, and\n // stabilize() keeps unchanged rows reference-identical (no re-mounts)\n const map = new Map<string, Ev>();\n for (const e of prev) map.set(e.id, e);\n for (const e of stabilize(ev.events)) map.set(e.id, e);\n return [...map.values()].sort((a, b) => a.seq - b.seq);\n });\n setEventsTotal(ev.total ?? ev.events.length);\n setBranches(br.branches);\n setAgentSkills(sk.skills ?? []);\n } catch { /* agent may be gone */ }\n }\n\n function feedEl() { return document.querySelector(\".feed\"); }\n /** slack for \"am I at the bottom\" — must cover the composer's own growth:\n * a multi-line input (up to 160px) shrinks the feed viewport between frames,\n * and a fixed 80px threshold reads that as \"user scrolled away\" mid-stream */\n function bottomSlack() {\n // tight: the old 80px+ made \"at the bottom\" true while the reader was\n // still ~20-80px above it, so follow mode tugged on manual scrolling.\n const c = document.querySelector<HTMLTextAreaElement>(\".composer textarea\");\n return 24 + Math.min(Math.max((c?.scrollHeight ?? 0) - (c?.clientHeight ?? 0), 0), 160);\n }\n function nearBottom() {\n const f = feedEl();\n if (!f) return true;\n return f.scrollHeight - f.scrollTop - f.clientHeight < bottomSlack();\n }\n function scrollBottom(force = false) {\n const f = feedEl();\n if (f && (force || atBottom())) {\n f.scrollTop = f.scrollHeight;\n setMissed(0);\n }\n }\n\n // Per-session timeline snapshots: switching back to a recently viewed\n // session restores its last-known rows INSTANTLY, then loadEvents refreshes\n // in the background. Without this, every switch cleared the feed and\n // re-fetched (a visible blank flash + full round trip).\n const timelineCache = new Map<string, { events: Ev[]; total: number; at: number }>();\n const TIMELINE_CACHE_MAX = 6;\n\n /** newest internal session id owned by an agent (server returns newest first) */\n function latestSessionOf(agentId: string): string | null {\n return sessionsByAgent().get(agentId)?.[0] ?? null;\n }\n\n async function select(id: string, push = true) {\n const prevId = selected();\n const prevTid = timelineId();\n const prevEvents = events();\n const prevTotal = eventsTotal();\n // bump FIRST so any in-flight fetch for the previous session lands on a\n // dead generation and is dropped instead of overwriting this one's rows\n feedGeneration++;\n // resolve the agent's CURRENT internal session id — the timeline handle.\n // Falls back to the agent id for brand-new agents whose first session dir\n // isn't listed yet (the events fetch still works: same log).\n if (!sessionsByAgent().size) void refreshSessionIndex(); // first select before index landed\n let tid = latestSessionOf(id) ?? id;\n if (prevId !== id || tid !== prevTid) {\n // remember what the outgoing session looked like so returning is instant\n if (prevTid && prevEvents.length) {\n timelineCache.set(prevTid, { events: prevEvents, total: prevTotal, at: Date.now() });\n if (timelineCache.size > TIMELINE_CACHE_MAX) {\n const oldest = [...timelineCache.entries()].sort((x, y) => x[1].at - y[1].at)[0];\n if (oldest) timelineCache.delete(oldest[0]);\n }\n }\n // drop the previous session's timeline immediately — otherwise it stays\n // visible (or bleeds into the merge) until this session's fetch lands,\n // which read as \"the old conversation showing up in the new session\"\n setEvents([]);\n evCache.clear(); // event ids are per-log (e1, e2…) — never share across sessions\n // NOTE: live buffers are per-agent — leaving a session must NOT drop its\n // streaming bubble; the map keeps every session's stream independently.\n setCompacting(null);\n setMissed(0);\n // follow mode must NOT leak across sessions: leaving it false showed\n // \"jump to present\" on a brand-new/empty timeline whose feed had never\n // been scrolled (the pill only disappears once a real scroll lands)\n setAtBottom(true);\n userScrolledUp = false;\n lastScrollGap = undefined;\n }\n setSelected(id);\n setTimelineId(tid);\n saveDraft(drafts.get(id) ?? \"\"); // restore THIS session's unsent draft\n setBranchFilter(null);\n setOlderDone(false);\n setLoadingOlder(false);\n setPendingMsgs([]);\n localStorage.setItem(\"teapot.session\", id);\n navigate(tid, push); // URL carries the internal session id, not the agent id\n // HYDRATE from cache first: rows paint immediately (no blank flash), and\n // loadEvents below merges in whatever happened since. Cached events are\n // re-stabilized into evCache so reference identity survives the switch.\n const cached = timelineCache.get(tid);\n if (cached?.events.length) {\n // stabilize() re-registers every row under THIS session's scoped keys\n stabilize(cached.events);\n setEvents(stabilize(cached.events));\n setEventsTotal(cached.total);\n requestAnimationFrame(() => {\n if (selected() === id) scrollBottom(true);\n });\n }\n // lazy sessions sit in \"stopped\" until touched — clicking loads them\n api(`/api/agents/${id}/load`, { method: \"POST\" }).then(refreshAgents).catch(() => {});\n await loadEvents(id, tid);\n if (selected() !== id) return; // another switch won while we were loading\n // the freshly fetched snapshot is authoritative: a compaction may be\n // mid-flight on this session (missed bus events while another tab/agent\n // was selected) — seed the banner from ctx.compacting\n setCompacting(\n sel()?.ctx?.compacting ? { phase: String(sel()!.ctx!.compacting) } : null,\n );\n requestAnimationFrame(() => {\n if (selected() === id) scrollBottom(true);\n });\n // the first page may not fill the viewport — pull older pages until it\n // does (or history runs out), so infinite scroll is always reachable\n void backfillUntilScrollable();\n }\n\n /* ---------- realtime over WebSocket (auto-reconnect) ---------- */\n const [connected, setConnected] = createSignal(false);\n let ws: WebSocket | null = null;\n let timer: ReturnType<typeof setTimeout> | null = null;\n onCleanup(() => ws?.close());\n let pendingRefresh = false;\n // the visibilitychange listener is registered ONCE below (outside\n // connectWs) — a reconnect used to add another copy each time, leaking\n // closures and timers with every reconnect cycle\n let onTabVisible: (() => void) | null = null;\n document.addEventListener(\"visibilitychange\", () => onTabVisible?.());\n onCleanup(() => { onTabVisible = null; });\n function connectWs() {\n const proto = location.protocol === \"https:\" ? \"wss://\" : \"ws://\";\n ws = new WebSocket(`${proto}${location.host}/api/ws${wsTokenQuery()}`);\n ws.onopen = () => setConnected(true);\n ws.onclose = () => {\n setConnected(false);\n setTimeout(connectWs, 1500); // reconnect with a fixed short backoff\n };\n ws.onerror = () => ws?.close();\n // event types that don't change the feed — refreshing on every one of\n // these would hammer /events several times per turn for nothing\n const FEED_IRRELEVANT = new Set([\"state\", \"usage\", \"session_start\"]);\n // (live buffers are keyed per agent in liveByAgent — see the App body)\n ws.onmessage = (m) => {\n const msg = JSON.parse(m.data);\n if (msg.kind === \"ping\" || msg.kind === \"pong\") return;\n if (msg.kind === \"llm-delta\") {\n // update THIS agent's buffer only — other sessions keep streaming in\n // the background and their bubble must survive session switches\n setLiveByAgent((prev) => {\n const m = new Map(prev);\n m.set(msg.agentId, { text: msg.text ?? \"\", reasoning: msg.reasoning ?? \"\", at: Date.now() });\n return m;\n });\n // thinking-timer bookkeeping (selected session only): start the clock\n // when reasoning arrives with no text yet; reset once real text flows\n if (msg.agentId === selected()) {\n const r = String(msg.reasoning ?? \"\");\n const t = String(msg.text ?? \"\");\n if (r && !t) {\n if (!thinkStartedAt()) setThinkStartedAt(Date.now());\n } else if (t || (!r && thinkStartedAt())) {\n setThinkStartedAt(0);\n }\n }\n return;\n }\n if (msg.kind === \"compaction-progress\") {\n if (msg.agentId !== selected()) return;\n if (msg.phase === \"done\") setCompacting(null);\n else setCompacting({ phase: msg.phase, summarized: msg.summarized });\n // the phase banner rides on top of the feed — no refresh needed until\n // the compaction event itself lands\n return;\n }\n // agent-update now carries the fresh snapshot: apply it directly —\n // no GET /api/agents round-trip per event\n if (msg.kind === \"agent-update\" && msg.snapshot) {\n setAgents((prev) => {\n const i = prev.findIndex((a) => a.id === msg.snapshot.id);\n const next = msg.snapshot;\n if (i === -1) return [...prev, next];\n // content-equal → keep the OLD object: a new identity for unchanged\n // data re-ran every expression bound to that agent and was the last\n // source of the rare right-panel flash\n const cur = prev[i]!;\n const same =\n JSON.stringify(cur) === JSON.stringify(next);\n if (same) return prev;\n return prev.map((a, j) => (j === i ? next : a));\n });\n return; // snapshot IS the update; no feed refresh needed for it alone\n }\n if (msg.kind === \"event\") {\n const et = msg.event?.type;\n const ed = msg.event?.data ?? {};\n // a prompt-delivered note means the text ENTERED an LLM call payload —\n // flip the matching pending echo to \"sent\"; a prompt-cancelled note\n // drops the echo. BOTH fall through so the feed refresh below picks up\n // the logged prompt row in the same pass (the old early-returns made\n // the \"sent ✓\" echo linger until some unrelated event refreshed).\n if (et === \"system_note\" && ed.event === \"prompt-delivered\" && msg.agentId === selected()) {\n // delivery = the message now belongs to the log row. REMOVE the echo\n // from the list (the display filter alone kept it forever, and any\n // filter regression resurfaced it as a duplicate row).\n setPendingMsgs((list) => list.filter((p) => p.promptId !== ed.promptId));\n } else if (et === \"system_note\" && ed.event === \"prompt-cancelled\" && msg.agentId === selected()) {\n setPendingMsgs((list) => list.filter((p) => p.promptId !== ed.promptId));\n }\n if (FEED_IRRELEVANT.has(et) && !NOTE_FEED_TYPES.has(et)) return;\n // notify the operator about notable moments from ANY session — that's\n // the point of the notification center (progress / finish / question /\n // error), even when the timeline isn't being watched\n maybeNotify(msg.agentId, msg.event);\n // only the affected session's feed needs reloading — other sessions'\n // timelines are fetched on switch, not eagerly\n if (msg.event?.agent !== selected()) return;\n }\n // hidden tab: defer feed work until the tab is visible again — layout\n // is paused anyway, so fetching + re-rendering now is pure waste. The\n // single shared timer collapses the backlog into ONE refresh on return.\n if (document.visibilityState === \"hidden\") {\n pendingRefresh = true;\n return;\n }\n if (timer) return;\n // tool results land here one by one; a 400ms debounce made each bash\n // completion feel lost (\"switch away and back shows it\") — the fetch\n // itself is mtime-cached and cheap, so tighten the cadence instead\n timer = setTimeout(runFeedRefresh, 120);\n };\n pendingRefresh = false;\n const runFeedRefresh = async () => {\n timer = null;\n await refreshAgents();\n await refreshMetrics();\n if (selected()) {\n // compare last event ID, not array length: the /events window is\n // capped at 300, so long sessions have a CONSTANT length and a\n // length check never noticed new events (leaving the live bubble\n // blinking forever after the agent went idle)\n const beforeId = events().at(-1)?.id;\n const beforeTotal = eventsTotal();\n const fetchStartedAt = Date.now();\n await loadEvents(selected()!);\n if (events().at(-1)?.id !== beforeId) {\n // The bubble is stale ONLY when a persisted assistant message now\n // covers what it was showing. Time-based heuristics (delta after\n // fetch start) raced the stream's natural pauses and cleared a\n // LIVE bubble mid-reply — the \"output flashes, then disappears\"\n // bug. Compare content instead: drop the buffer only when the\n // log caught up with it (or the agent went idle with nothing new).\n const buf = live();\n if (buf && buf.text) {\n // covered = ANY persisted assistant message already carries this\n // text. Checking only the LAST message missed the common case\n // where tool turns landed after it — the bubble then lingered\n // forever as a duplicate \"streaming…\" row above its own copy.\n const body = buf.text.trim();\n const covered =\n sel()?.status !== \"running\" ||\n events().some(\n (e) =>\n e.type === \"message\" &&\n e.data?.role === \"assistant\" &&\n String(e.data.content ?? \"\").trim() === body,\n );\n if (covered) setLive(null);\n } else if (buf && !buf.text) {\n // reasoning-only buffer with no text: drop as soon as the agent\n // stops streaming (no text will ever persist for it)\n if (sel()?.status !== \"running\") setLive(null);\n }\n // trust atBottom() (flipped only by real user scrolling). The old\n // nearBottom() re-check measured AFTER new rows (state events like\n // idle→running, tool rows…) had already grown the feed — the\n // unscrolled gap exceeded the slack, follow was falsely dropped,\n // and the view jumped away right when a round kicked off.\n if (atBottom()) {\n scrollBottom(true);\n // following the tail means the operator has seen this session's\n // newest content — its notifications count as read\n markSessionRead(selected()!);\n } else {\n setMissed(missed() + Math.max(0, eventsTotal() - beforeTotal));\n }\n }\n // NOTE: don't drop pending echoes when the log's prompt event\n // appears — logging happens at ENQUEUE time, long before the text\n // reaches an LLM payload. The echo must survive until the matching\n // prompt-delivered note flips it to \"sent ✓\" (and it is then\n // removed only after the turn actually consumed it).\n }\n };\n onTabVisible = () => {\n if (document.visibilityState === \"visible\" && pendingRefresh) {\n pendingRefresh = false;\n // refresh IMMEDIATELY on return — the old 150ms delay made every\n // homecoming show a stale tail until the next beat\n void runFeedRefresh();\n }\n };\n }\n\n /* ---------- /session/<internalId> routing ---------- */\n // The URL carries the INTERNAL session id (the chat.jsonl's directory\n // name), not the agent id: agent ids are recycled across incarnations,\n // internal session ids never are — deep links stay valid forever.\n const pathId = () => decodeURIComponent(location.pathname.split(\"/\")[2] ?? \"\");\n function navigate(sessionId: string, push = true) {\n const url = `/session/${encodeURIComponent(sessionId)}`;\n if (push) history.pushState(null, \"\", url);\n else history.replaceState(null, \"\", url);\n }\n window.addEventListener(\"popstate\", () => {\n const sid = pathId();\n // resolve the internal id to its owning agent and open THAT agent's tab;\n // the timeline itself is fetched by ?session=<internalId> in loadEvents\n const owner = masterSessionIndex().get(sid);\n if (owner && owner !== selected()) select(owner, false);\n });\n\n /* ---------- small UX niceties ---------- */\n createEffect(() => {\n const a = sel();\n const base = a\n ? `${a.status === \"running\" ? \"▶ \" : a.status === \"error\" ? \"⚠ \" : \"\"}${a.id} · teapot`\n : \"teapot\";\n // unread notification count in the tab title — \"(2) linux · teapot\"\n document.title = unreadCount() > 0 ? `(${unreadCount()}) ${base}` : base;\n });\n window.addEventListener(\"keydown\", (e) => {\n const t = e.target as HTMLElement | null;\n const typing = !!t && (t.tagName === \"INPUT\" || t.tagName === \"TEXTAREA\" || t.isContentEditable);\n if (typing) {\n if (e.key === \"Escape\") (t as HTMLElement).blur();\n return;\n }\n if (e.key === \"Escape\") {\n if (showNew()) { setShowNew(false); return; }\n if (showCfg()) { setShowCfg(false); return; }\n if (showThemes()) { setShowThemes(false); return; }\n if (editing()) { setEditing(null); return; }\n const s = sel();\n if (s?.status === \"running\") {\n // Claude-Code-style: Esc interrupts the running agent\n api(`/api/agents/${s.id}/stop`, { method: \"POST\" }).then(refreshAgents);\n return;\n }\n if (showRight() && window.innerWidth <= 1100) setShowRight(false);\n return;\n }\n if (showNew() || showCfg()) return;\n if (e.key === \"/\") {\n e.preventDefault();\n document.querySelector<HTMLTextAreaElement>(\".composer textarea\")?.focus();\n } else if (e.key === \"d\") {\n toggleRight();\n } else if (e.key === \"t\") {\n toggleTerm();\n } else if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n // follow the visible sidebar tree order (parents, then expanded subs)\n const list = treeRows().map((r) => r.a);\n if (list.length === 0) return;\n e.preventDefault();\n const idx = list.findIndex((a) => a.id === selected());\n const next = e.key === \"ArrowDown\" ? Math.min(idx + 1, list.length - 1) : Math.max(idx - 1, 0);\n if (next !== idx) select(list[next].id);\n }\n });\n\n /* ---------- human terminal (bottom drawer: resizable, tabs, split) ---------- */\n const [termOpen, setTermOpen] = createSignal(localStorage.getItem(\"teapot.term\") === \"1\");\n const toggleTerm = () => {\n const next = !termOpen();\n setTermOpen(next);\n localStorage.setItem(\"teapot.term\", next ? \"1\" : \"0\");\n };\n\n type TermTab = { key: string; agentId: string; title: string };\n type TermSession = {\n el: HTMLDivElement;\n term: any;\n fit: any;\n ws: WebSocket;\n ro: ResizeObserver | null;\n };\n const [termTabs, setTermTabs] = createSignal<TermTab[]>([]);\n // each pane holds an index into termTabs (-1 = empty slot)\n const [paneL, setPaneL] = createSignal(0);\n const [paneR, setPaneR] = createSignal(-1);\n const [splitView, setSplitView] = createSignal(false);\n const [focusedPane, setFocusedPane] = createSignal(0);\n const [termHeight, setTermHeight] = createSignal(\n Number(localStorage.getItem(\"teapot.termH\")) ||\n Math.max(220, Math.round(window.innerHeight * 0.35)),\n );\n const liveTerms = new Map<string, TermSession>();\n const paneHosts: (HTMLDivElement | null)[] = [null, null];\n\n /** the tab currently shown in the focused pane */\n const activeTab = () =>\n termTabs()[focusedPane() === 0 ? paneL() : paneR()] ?? null;\n\n function focusTab(i: number) {\n const tab = termTabs()[i];\n if (!tab) return;\n const focused = focusedPane();\n // snapshot BEFORE any setter runs — the setters below are plain signals,\n // so reading through the accessor after a partial update gave the swap\n // logic stale values and the click landed on the wrong pane (v0.19.6\n // \"tab switching doesn't work\" regression)\n const mineIdx = focused === 0 ? paneL() : paneR();\n const otherIdx = focused === 0 ? paneR() : paneL();\n const setMine = (v: number) => (focused === 0 ? setPaneL(v) : setPaneR(v));\n const setOther = (v: number) => (focused === 0 ? setPaneR(v) : setPaneL(v));\n if (otherIdx === i) {\n // it's in the other pane — swap so both stay visible\n setOther(mineIdx);\n setMine(i);\n return;\n }\n if (mineIdx !== i) setMine(i);\n }\n\n const addFromSelected = () => addTab();\n\n function addTab(agentId?: string) {\n const who = agentId ?? selected();\n if (!who) return;\n const perAgent = termTabs().filter((t) => t.agentId === who).length;\n if (perAgent >= 10) {\n flashHint(`max 10 shells per agent (${who}) — that's already a lot`);\n return;\n }\n const n = termTabs().length + 1;\n const tab: TermTab =\n perAgent === 0\n ? { key: `${who}`, agentId: who, title: who }\n : { key: `${who}#${perAgent + 1}`, agentId: who, title: `${who}·${perAgent + 1}` };\n setTermTabs((list) => [...list, tab]);\n // land in the focused pane (swap if the other pane shows it already)\n if (focusedPane() === 0) setPaneL(termTabs().length); else setPaneR(termTabs().length);\n void n;\n }\n\n function closeTab(i: number) {\n const tab = termTabs()[i];\n if (!tab) return;\n const s = liveTerms.get(tab.key);\n if (s) {\n s.ro?.disconnect();\n try { s.ws.close(); } catch { /* gone */ }\n s.term.dispose();\n liveTerms.delete(tab.key);\n }\n const rest = termTabs().filter((_, j) => j !== i);\n setTermTabs(rest);\n const shift = (idx: number) => (idx === i ? -1 : idx > i ? idx - 1 : idx);\n setPaneL((p) => Math.min(shift(p), rest.length - 1));\n setPaneR((p) => (p === -1 ? -1 : Math.min(shift(p), rest.length - 1)));\n }\n\n function disposeAllTerms() {\n for (const [, s] of liveTerms) {\n s.ro?.disconnect();\n try { s.ws.close(); } catch { /* gone */ }\n s.term.dispose();\n }\n liveTerms.clear();\n }\n\n /** create (and mount) a session lazily; moving panes just re-appends its el */\n function ensureSession(tab: TermTab, host: HTMLElement): TermSession {\n let s = liveTerms.get(tab.key);\n if (!s) {\n const el = document.createElement(\"div\");\n el.className = \"termsession\";\n host.appendChild(el);\n const t = new Terminal({\n cursorBlink: true,\n fontSize: 12.5,\n fontFamily: 'ui-monospace, Menlo, Consolas, monospace',\n theme: themeColors(),\n });\n const f = new FitAddon();\n t.loadAddon(f);\n t.open(el);\n const proto = location.protocol === \"https:\" ? \"wss://\" : \"ws://\";\n const w = new WebSocket(`${proto}${location.host}/api/agents/${tab.agentId}/term${wsTokenQuery()}`);\n w.onmessage = (m) => {\n const msg = JSON.parse(m.data);\n if (msg.kind === \"data\") t.write(msg.data);\n else if (msg.kind === \"exit\") t.write(`\\r\\n\\x1b[2m[terminal exited ${msg.code ?? \"\"}]\\x1b[0m\\r\\n`);\n };\n t.onData((d: string) => {\n if (w.readyState === WebSocket.OPEN) w.send(JSON.stringify({ kind: \"input\", data: d }));\n });\n let last = { cols: 0, rows: 0 };\n const resizeTimer: ReturnType<typeof setTimeout>[] = [];\n const pushResize = () => {\n try { f.fit(); } catch { /* hidden */ }\n if ((t.cols !== last.cols || t.rows !== last.rows) && w.readyState === WebSocket.OPEN) {\n last = { cols: t.cols, rows: t.rows };\n w.send(JSON.stringify({ kind: \"resize\", cols: t.cols, rows: t.rows }));\n }\n };\n const ro = new ResizeObserver(() => {\n if (resizeTimer[0]) clearTimeout(resizeTimer[0]);\n resizeTimer[0] = setTimeout(pushResize, 250);\n });\n ro.observe(el);\n setTimeout(pushResize, 60);\n s = { el, term: t, fit: f, ws: w, ro };\n liveTerms.set(tab.key, s);\n } else if (s.el.parentElement !== host) {\n host.appendChild(s.el); // moved between panes — xterm DOM survives the move\n setTimeout(() => { try { s!.fit(); } catch { /* */ } }, 30);\n }\n return s;\n }\n\n function mountPane(idx: number) {\n const host = paneHosts[idx];\n if (!host) return;\n const tab = termTabs()[idx === 0 ? paneL() : paneR()];\n if (!tab) {\n // only clear when this pane actually owns a session — replaceChildren()\n // on every mount pass used to detach a session element the OTHER pass\n // had just re-attached, which is how tabs went blank\n const owned = [...liveTerms.values()].some((t) => t.el.parentElement === host);\n if (owned) host.replaceChildren();\n return;\n }\n const s = ensureSession(tab, host);\n // Each session element must live in EXACTLY one pane. Session elements\n // are absolutely positioned, so a previous tab's terminal stayed stacked\n // underneath and showed through a freshly opened (empty) shell — the\n // \"switching tabs kept showing the old tab's content\" bug.\n for (const [key, other] of liveTerms) {\n if (key !== tab.key && other.el.parentElement === host) other.el.remove();\n }\n // make sure the terminal element really lives in THIS pane right now —\n // switching tabs moved DOM nodes behind Solid's back, so verify instead\n // of assuming; then refit so xterm re-measures into the (new) box\n requestAnimationFrame(() => {\n if (s.el.parentElement !== host) host.appendChild(s.el);\n try { s.fit(); } catch { /* hidden */ }\n if (focusedPane() === (idx === 0 ? 0 : 1)) {\n try { s.term.focus(); } catch { /* hidden */ }\n }\n });\n }\n\n // (re)mount both panes whenever any layout input changes — tabs, pane\n // assignment, split mode, drawer height. This effect was accidentally lost\n // in an earlier refactor, so after reopening the drawer (or switching\n // tabs) nothing re-attached live sessions and the pane stayed \"no shell\".\n createEffect(() => {\n void termTabs();\n void splitView();\n void paneL();\n void paneR();\n void termHeight();\n requestAnimationFrame(() => {\n mountPane(0);\n if (splitView()) mountPane(1);\n });\n });\n\n // opening the drawer ensures a shell for the selected agent\n createEffect(() => {\n if (!termOpen()) return;\n const id = selected();\n if (!id) return;\n if (!termTabs().some((t) => t.agentId === id) && termTabs().length === 0) addTab(id);\n else if (!termTabs().some((t) => t.agentId === id)) {\n // the selected agent has no tab YET (other agents own all tabs).\n // The old code tried focusTab(findIndex→-1) and silently did nothing,\n // leaving the pane stuck on \"no shell here\" or another agent's shell.\n addTab(id);\n } else {\n // its tab exists — focus it in the active pane\n const i = termTabs().findIndex((t) => t.agentId === id);\n if (i >= 0) focusTab(i);\n }\n });\n\n // drawer height drag (double-click resets)\n const startGrip = (e: PointerEvent) => {\n e.preventDefault();\n const startY = e.clientY;\n const startH = termHeight();\n const move = (ev: PointerEvent) => {\n const h = Math.min(Math.max(startH - (ev.clientY - startY), 140), Math.round(window.innerHeight * 0.85));\n setTermHeight(h);\n };\n const up = () => {\n window.removeEventListener(\"pointermove\", move);\n window.removeEventListener(\"pointerup\", up);\n localStorage.setItem(\"teapot.termH\", String(termHeight()));\n requestAnimationFrame(() => { mountPane(0); if (splitView()) mountPane(1); });\n };\n window.addEventListener(\"pointermove\", move);\n window.addEventListener(\"pointerup\", up);\n };\n\n const toggleSplit = () => {\n const next = !splitView();\n setSplitView(next);\n if (next) {\n // seed the second pane with a DIFFERENT tab than the left pane shows —\n // the old findIndex picked index 0 whenever paneL() wasn't 0 (or -1\n // when it was), so split often opened with BOTH panes on one shell or\n // an empty right side despite other tabs existing\n const candidates = termTabs().map((_, i) => i).filter((i) => i !== paneL());\n if (paneR() < 0 || paneR() === paneL() || paneR() >= termTabs().length) {\n setPaneR(candidates[0] ?? -1);\n }\n }\n requestAnimationFrame(() => { mountPane(0); if (splitView()) mountPane(1); });\n };\n\n onCleanup(disposeAllTerms);\n\n // legacy single-host refs kept for pane mounting\n const setPaneHost = (idx: number) => (el: HTMLDivElement) => {\n paneHosts[idx] = el;\n // The drawer is conditionally mounted (<Show when={termOpen()}>). On\n // reopen the refs arrive fresh, but nothing re-ran mountPane — so live\n // sessions stayed detached and the pane showed \"no shell here\". Mount\n // right here; also refit after the drawer finishes animating in.\n if (el) requestAnimationFrame(() => {\n mountPane(idx);\n if (splitView()) mountPane(1);\n setTimeout(() => mountPane(idx), 200);\n });\n };\n\n onMount(() => {\n loadCfg();\n refreshAgents().then(async () => {\n // deep link: /session/<internalId> routes to its owning agent —\n // fall back to a raw agent id (old bookmarks) → last session → first\n await refreshSessionIndex();\n const want = pathId();\n const owner = want ? masterSessionIndex().get(want) : undefined;\n const initial =\n (owner ? agents().find((a) => a.id === owner) : undefined) ??\n agents().find((a) => a.id === want && !masterSessionIndex().has(want)) ??\n agents().find((a) => a.id === localStorage.getItem(\"teapot.session\")) ??\n agents()[0];\n if (initial) select(initial.id, false);\n });\n refreshMetrics();\n loadTasks();\n loadPersonas();\n connectWs();\n const mi = setInterval(() => {\n refreshMetrics();\n loadTasks();\n }, 30_000);\n onCleanup(() => clearInterval(mi));\n });\n\n const SLASH_COMMANDS = [\n { cmd: \"/start\", desc: \"start working toward the goal\" },\n { cmd: \"/stop\", desc: \"interrupt the running agent\" },\n { cmd: \"/fork\", desc: \"branch the conversation here\" },\n { cmd: \"/goal\", desc: \"/goal <text> — set goal & notify the agent\" },\n { cmd: \"/compact\", desc: \"force a context compaction now\" },\n { cmd: \"/skill\", desc: \"/skill <name> — force-load a skill and follow it\" },\n ];\n\n // @mentions: personas spawn sub-agents, agent ids target existing ones\n const [personas, setPersonas] = createSignal<{ key: string; label: string }[]>([]);\n const loadPersonas = () => api(\"/api/personas\").then((d) => setPersonas(d.personas)).catch(() => {});\n const [mentionFork, setMentionFork] = createSignal(false);\n const mentionQuery = () => {\n const m = draft().match(/^@([A-Za-z0-9._-]*)$/);\n return m ? m[1]!.toLowerCase() : null;\n };\n const mentionMatches = () => {\n const q = mentionQuery();\n if (q === null) return [];\n const list = [\n ...personas().map((p) => ({ key: p.key, label: `${p.label} — spawns a sub-agent`, kind: \"persona\" as const })),\n ...agents()\n .filter((a) => a.id !== selected())\n .map((a) => ({ key: a.id, label: `${a.status} — send directly`, kind: \"agent\" as const })),\n ];\n return list.filter((x) => x.key.toLowerCase().startsWith(q));\n };\n // popup shows while typing the first token of a command\n // oxlint-disable-next-line no-unused-vars\n const filteredCmds = () => {\n const d = draft();\n if (!d.startsWith(\"/\") || d.includes(\" \") || d.includes(\"\\n\")) return [];\n return SLASH_COMMANDS.filter((c) => c.cmd.slice(1).startsWith(d.slice(1).toLowerCase()));\n };\n\n // unified suggestions: slash commands, then /skill argument completion\n // (skill names come from the selected agent's roots via /api/agents/:id/skills)\n type Suggest = { insert: string; title: string };\n const NO_ARG_COMMANDS = new Set([\"start\", \"stop\", \"fork\", \"compact\"]);\n const [agentSkills, setAgentSkills] = createSignal<{ name: string; description: string }[]>([]);\n const [cmdIdx, setCmdIdx] = createSignal(-1);\n const suggestions = (): Suggest[] => {\n const d = draft();\n if (!d.startsWith(\"/\") || d.includes(\"\\n\")) return [];\n const m = d.match(/^\\/([a-z]*)(?:\\s+(.*))?$/i);\n if (!m) return [];\n const cmdName = m[1]!.toLowerCase();\n // NOTE: the arg is capture group TWO — group numbering was misread as [3]\n // before, so argPart was ALWAYS empty. Every \"/goal <text>\" then looked\n // like a bare command: the completion popup stayed open and Enter (with\n // cmdIdx set) replaced the draft with \"/goal \", silently eating the text.\n const argPart = (m[2] ?? \"\").trim();\n if (!argPart && cmdName !== \"skill\") {\n const rows = SLASH_COMMANDS.filter((c) => c.cmd.slice(1).startsWith(cmdName));\n // an exact, argument-less command must EXECUTE on Enter — don't keep a\n // popup open that would swallow the keystroke as another selection\n const exact = rows.find((c) => c.cmd.slice(1) === cmdName);\n if (exact && NO_ARG_COMMANDS.has(cmdName)) return [];\n return rows.map((c) => ({ insert: c.cmd + \" \", title: c.desc }));\n }\n if (cmdName === \"skill\") {\n let rows = agentSkills().filter((s) => s.name.toLowerCase().startsWith(argPart.toLowerCase()));\n // a single exact match means the name is complete — stop suggesting so\n // the following Enter dispatches /skill instead of re-selecting\n if (rows.length === 1 && rows[0]!.name.toLowerCase() === argPart.toLowerCase()) return [];\n return rows.map((s) => ({ insert: `/skill ${s.name} `, title: s.description || \"(bundled skill)\" }));\n }\n return [];\n };\n // oxlint-disable-next-line no-unassigned-vars\n let composerEl: HTMLTextAreaElement | undefined;\n const autosizeComposer = () => {\n if (!composerEl) return;\n // Suppress scroll-event processing while we resize the input: the\n // relayout fires a feed onscroll whose nearBottom() result flips with\n // every keystroke at the boundary, blinking the jump pill per character.\n // The flag also keeps follow mode pinned through the relayout.\n suppressScrollEval = true;\n const wasFollowing = atBottom();\n composerEl.style.height = \"auto\";\n composerEl.style.height = composerMaximized()\n ? \"\" // CSS takes over: .composer.maximized textarea fills the column\n : `${Math.min(composerEl.scrollHeight, MAX_COMPOSER_H)}px`;\n requestAnimationFrame(() => {\n const f = feedEl();\n if (wasFollowing && f) f.scrollTop = f.scrollHeight;\n suppressScrollEval = false;\n });\n };\n let suppressScrollEval = false;\n // user-scroll lock state (see the feed onscroll handler)\n let userScrolledUp = false;\n let lastScrollGap: number | undefined;\n createEffect(() => {\n draft(); // re-run on typing AND after send() clears the draft\n autosizeComposer();\n });\n\n /** post a raw prompt (used by composer AND question-option taps) */\n // image attachments staged for the next prompt (data URLs; capped count)\n const [pendingImages, setPendingImages] = createSignal<{ url: string; name: string }[]>([]);\n const addImages = (files: FileList | File[]) => {\n const list = Array.from(files).filter((f) => f.type.startsWith(\"image/\"));\n for (const f of list) {\n if (f.size > 8_000_000) {\n flashHint(`\"${f.name}\" is over 8 MB — skipped`);\n continue;\n }\n const reader = new FileReader();\n reader.onload = () => {\n setPendingImages((prev) =>\n [...prev, { url: String(reader.result), name: f.name }].slice(0, 4),\n );\n };\n reader.readAsDataURL(f);\n }\n };\n const sendText = async (text: string, targetId?: string) => {\n const id = targetId ?? selected();\n if (!id) return;\n const images = pendingImages();\n try {\n const r = await api(`/api/agents/${id}/prompt`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ text, start: true, ...(images.length ? { images } : {}) }),\n });\n // optimistic echo — replaced by the logged event once the feed catches up.\n // promptId links it to the later prompt-delivered note (real LLM payload).\n setPendingMsgs((l) => [\n ...l,\n {\n id: `@p${Date.now()}${Math.random().toString(36).slice(2, 6)}`,\n text,\n at: Date.now(),\n promptId: (r as any).promptId,\n ...(images.length ? { images: images.map((i) => i.url) } : {}),\n },\n ]);\n setPendingImages([]);\n // scroll to bottom after our message appears. The composer is shrinking\n // (autosize) in the same frame — wait two frames so the scroll target is\n // computed against the SETTLED layout, not the still-expanded input.\n requestAnimationFrame(() => requestAnimationFrame(() => scrollBottom(true)));\n } catch (ex) {\n saveDraft(text); // never eat the user's message on a failed send\n console.error(\"send failed:\", ex);\n }\n };\n\n const send = async (e: Event) => {\n e.preventDefault();\n const id = selected();\n const text = draft().trim();\n if (!id || !text) return;\n\n // @mentions: persona → spawn sub-agent; agent id → direct message\n if (text.startsWith(\"@\")) {\n const sp = text.indexOf(\" \");\n const name = (sp === -1 ? text.slice(1) : text.slice(1, sp)).toLowerCase();\n const arg = sp === -1 ? \"\" : text.slice(sp + 1).trim();\n const isPersona = personas().some((p) => p.key.toLowerCase() === name);\n const knownAgent = agents().some((a) => a.id.toLowerCase() === name);\n try {\n if (isPersona) {\n if (!arg) { flashHint(`usage: @${name} <task>`); return; }\n const r = await api(`/api/agents/${selected()}/spawn`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ persona: name, task: arg, context: mentionFork() ? \"fork\" : \"none\" }),\n });\n flashHint(`🧩 spawned ${(r as any).id}${mentionFork() ? \" (forked context)\" : \"\"}`);\n refreshAgents(); saveDraft(\"\");\n } else if (knownAgent) {\n if (!arg) { flashHint(`usage: @${name} <message>`); return; }\n await api(`/api/agents/${encodeURIComponent(name)}/prompt`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ text: arg, start: true }),\n });\n flashHint(`→ delivered to @${name}`);\n saveDraft(\"\");\n } else {\n flashHint(`unknown @${name} — personas: ${personas().map((p) => p.key).join(\", \") || \"(none)\"}`);\n return;\n }\n } catch (ex) {\n flashHint(`@${name} failed: ${(ex as Error).message}`);\n }\n return;\n }\n\n // slash commands are client-side operations\n if (text.startsWith(\"/\")) {\n const sp = text.indexOf(\" \");\n const name = (sp === -1 ? text.slice(1) : text.slice(1, sp)).toLowerCase();\n const arg = sp === -1 ? \"\" : text.slice(sp + 1).trim();\n if (name === \"goal\" && !arg) { saveDraft(\"/goal \"); return; } // keep typing\n if (name === \"skill\" && !arg) { saveDraft(\"/skill \"); return; }\n saveDraft(\"\");\n try {\n await executeSlash(name, arg);\n } catch (ex) {\n // a failed command must not eat the operator's input — sendText\n // already restores its draft on failure; commands now do too\n saveDraft(draft() ? `${text}\\n${draft()}` : text);\n throw ex;\n }\n return;\n }\n\n saveDraft(\"\");\n await sendText(text);\n // sending from a maximized composer restores the normal view — the whole\n // point of maximize is composing long text, and staying maximized after\n // send hid the timeline for no reason\n if (composerMaximized()) setComposerMaximized(false);\n };\n\n const executeSlash = async (name: string, arg: string): Promise<void> => {\n const id = selected();\n if (!id) return;\n const post = (p: string, body?: unknown) =>\n api(`/api/agents/${id}${p}`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n ...(body !== undefined ? { body: JSON.stringify(body) } : {}),\n }).then(refreshAgents);\n try {\n if (name === \"start\") await post(\"/start\");\n else if (name === \"stop\") await post(\"/stop\");\n else if (name === \"fork\") { await post(\"/fork\", {}); await select(id); }\n else if (name === \"compact\") {\n const r: any = await post(\"/compact\");\n flashHint(r?.ran ? \"context compacted\" : \"nothing to compact yet\");\n }\n else if (name === \"goal\") {\n if (!arg) { flashHint(\"usage: /goal <text>\"); return; }\n await post(\"/goal\", { text: arg, notify: true });\n flashHint(\"goal saved & notification queued\");\n }\n else if (name === \"skill\") {\n if (!arg) { flashHint(\"usage: /skill <name>\"); return; }\n await sendText(\n `[harness] Force-load and follow the skill \"${arg}\" now: call load_skill(\"${arg}\") and execute its playbook for the current task.`,\n );\n flashHint(`skill \"${arg}\" dispatched`);\n }\n else {\n flashHint(`unknown command \"${name}\" — /start /stop /fork /goal /skill /compact`);\n }\n } catch (ex) {\n flashHint(`/${name} failed: ${(ex as Error).message}`);\n }\n };\n\n // The right panel's scroll position used to reset whenever a control button\n // (▶ start / ■ stop / goal save…) refreshed the agents: content inside was\n // rebuilt and the browser clamped scrollTop. Keep the offset and restore it\n // on every repaint triggered by an agents update.\n let rightbarEl: HTMLDivElement | undefined;\n let rightbarTop = 0;\n createEffect(() => {\n agents(); // re-arm on every agents update (incl. start/stop refreshes)\n // double rAF: the first frame applies Solid's DOM writes, the second\n // measures/restores AFTER layout settles — restoring too early let the\n // browser clamp scrollTop to the OLD height and the panel visibly jumped\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (!rightbarEl) return;\n const target = Math.min(rightbarTop, rightbarEl.scrollHeight);\n if (Math.abs(rightbarEl.scrollTop - target) > 1) rightbarEl.scrollTop = target;\n });\n });\n });\n const act = (path: string) =>\n () => selected() && api(`/api/agents/${selected()}${path}`, { method: \"POST\" }).then(refreshAgents);\n\n // Goal input as SIGNALS (not uncontrolled DOM): the right panel re-renders\n // on every agent snapshot, and status flips / <Show> boundary crossings\n // rebuilt the form subtree — silently wiping half-typed goals mid-input.\n const [goalDraft, setGoalDraft] = createSignal(\"\");\n const [goalVerifyDraft, setGoalVerifyDraft] = createSignal(\"\");\n const [goalDirty, setGoalDirty] = createSignal(false);\n const [goalNotify, setGoalNotify] = createSignal(true);\n let goalSeededFor = \"\";\n createEffect(() => {\n const id = selected();\n if (!id) return;\n const g = sel()?.goal;\n if (id !== goalSeededFor) {\n goalSeededFor = id; // session switch → seed from the server copy\n setGoalDirty(false);\n setGoalDraft(\"\");\n setGoalVerifyDraft(\"\");\n void g; // goal text itself stays in the read-only card above the form\n }\n });\n const setGoal = async (e: Event) => {\n e.preventDefault();\n if (!selected() || !goalDraft().trim()) return;\n try {\n await api(`/api/agents/${selected()}/goal`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({\n text: goalDraft(),\n notify: goalNotify(),\n // only send when non-empty — an empty box must not wipe a contract\n ...(goalVerifyDraft().trim() ? { verify: goalVerifyDraft() } : {}),\n }),\n });\n setGoalDraft(\"\");\n setGoalVerifyDraft(\"\");\n setGoalDirty(false);\n refreshAgents();\n } catch (ex) {\n // keep the draft on failure — a wiped form AND an error hint was the\n // worst possible outcome for a long goal text\n flashHint(`goal save failed: ${(ex as Error).message}`);\n }\n };\n\n return (\n <>\n <Show when={cfg()?.needsSetup} fallback={null}>\n <SetupWizard onDone={() => location.reload()} />\n </Show>\n <Show when={authLocked()}>\n <div class=\"overlay\">\n <div class=\"modal\" style=\"max-width:360px\">\n <div class=\"modal-head\"><b>🔒 sign in</b><span /></div>\n <form\n onsubmit={(e) => {\n e.preventDefault();\n const el = document.getElementById(\"pw-input\") as HTMLInputElement;\n localStorage.setItem(\"teapot.token\", el.value);\n location.reload();\n }}\n style=\"display:flex;flex-direction:column;gap:10px\"\n >\n <input id=\"pw-input\" type=\"password\" placeholder=\"password\" autofocus />\n <button type=\"submit\" style=\"background:var(--acc);border:none;border-radius:6px;color:#fff;padding:7px 12px;cursor:pointer\">unlock</button>\n <span class=\"muted\" style=\"font-size:11px\">the token is stored locally and sent as Bearer to this server only</span>\n </form>\n </div>\n </div>\n </Show>\n <Show when={!cfg()?.needsSetup}>\n <div class={\"layout\" + (showRight() ? \"\" : \" right-hidden\")}>\n {/* ---------- sidebar ---------- */}\n <nav class=\"sidebar\">\n <div class=\"agent-list\">\n <For each={treeRows()}>\n {({ a, depth }) => (\n <div\n class={\"agent-item\" + (a.id === selected() ? \" sel\" : \"\") + (depth > 0 ? \" sub-row\" : \"\")}\n style={depth > 0 ? `padding-left:${10 + depth * 14}px` : \"\"}\n onclick={() => select(a.id)}\n title={a.parent ? `sub-agent of @${a.parent}` : undefined}\n >\n <Show when={agents().some((x) => x.parent === a.id)} fallback={<span class=\"caret-spacer\" />}>\n <span\n class=\"caret\"\n title={collapsedSubs().has(a.id) ? \"expand sub-agents\" : \"collapse sub-agents\"}\n onclick={(e: MouseEvent) => { e.stopPropagation(); toggleCollapse(a.id); }}\n >{collapsedSubs().has(a.id) ? \"▸\" : \"▾\"}</span>\n </Show>\n <span class={`dot ${a.status}`} />\n <span\n class={a.workspaceMissing ? \" ghost\" : \"\"}\n title={a.workspaceMissing ? `workspace not found on disk (${a.workspace}) — it will be created when this session runs` : undefined}\n >{a.id}</span>\n {a.workspaceMissing ? <span class=\"ghosttag\" title=\"workspace missing\">👻</span> : null}\n <Show when={subtreeUnread(a.id) > 0}>\n <span class=\"notifbadge\" title={`${subtreeUnread(a.id)} unread notification${subtreeUnread(a.id) > 1 ? \"s\" : \"\"} (including sub-agents)`}>\n 🔔{subtreeUnread(a.id)}\n </span>\n </Show>\n {/* collapsed tree: surface how many subs are still working so a\n busy parent doesn't look idle with its subtree hidden */}\n <Show when={collapsedSubs().has(a.id)}>\n {(() => {\n const kids = agents().filter((x) => x.parent === a.id);\n const running = kids.filter((k) => k.status === \"running\" || k.status === \"waiting\").length;\n return kids.length > 0 ? (\n <span\n class={\"subcount\" + (running > 0 ? \" live\" : \"\")}\n title={`${kids.length} sub-agent${kids.length > 1 ? \"s\" : \"\"} (${running} active)`}\n >\n 🧩 {kids.length}{running > 0 ? ` · ▶${running}` : \"\"}\n </span>\n ) : null;\n })()}\n </Show>\n <Show when={a.parent}><span class=\"subtag\">🧩</span></Show>\n <Show when={agentTasks(a.id).length > 0}>\n <span class=\"mini-cron\" title={agentTasks(a.id).map((t) => `${t.id}: ${t.schedule}`).join(\"\\n\")}>⏰</span>\n </Show>\n <Show when={a.goal.status === \"done\"}><span title=\"goal done\">✓</span></Show>\n </div>\n )}\n </For>\n </div>\n <div class=\"sidebar-footer\">\n <Show when={showThemes()}>\n <div class=\"themepop\">\n <label class=\"trow\" title=\"switch automatically when the OS switches appearance — pick which theme to use for each\">\n <input\n type=\"checkbox\"\n checked={themeAuto()}\n onchange={(e) => {\n const v = e.currentTarget.checked;\n setThemeAuto(v);\n localStorage.setItem(\"teapot.theme.auto\", v ? \"1\" : \"0\");\n }}\n />\n follow system\n </label>\n <Show\n when={!themeAuto()}\n fallback={\n <>\n <label class=\"trow\">system light →\n <select\n class=\"w100\"\n value={sysLightTheme()}\n onchange={(e) => {\n setSysLightTheme(e.currentTarget.value);\n localStorage.setItem(\"teapot.theme.light\", e.currentTarget.value);\n }}\n >\n <For each={THEMES.filter((t) => t.mode === \"light\")}>\n {(t) => <option value={t.key}>{t.label}</option>}\n </For>\n </select>\n </label>\n <label class=\"trow\">system dark →\n <select\n class=\"w100\"\n value={sysDarkTheme()}\n onchange={(e) => {\n setSysDarkTheme(e.currentTarget.value);\n localStorage.setItem(\"teapot.theme.dark\", e.currentTarget.value);\n }}\n >\n <For each={THEMES.filter((t) => t.mode === \"dark\")}>\n {(t) => <option value={t.key}>{t.label}</option>}\n </For>\n </select>\n </label>\n </>\n }\n >\n <div class=\"themegrid\">\n <For each={THEMES}>\n {(t) => (\n <button\n class={\"themebtn\" + (fixedTheme() === t.key ? \" on\" : \"\")}\n title={`${t.label} (${t.mode})`}\n onclick={() => {\n setFixedTheme(t.key);\n localStorage.setItem(\"teapot.theme\", t.key);\n }}\n >\n <span class=\"swdots\">{t.sw.map((c) => <i style={{ background: c }} />)}</span>\n {t.label}\n </button>\n )}\n </For>\n </div>\n </Show>\n </div>\n </Show>\n {/* row 1: buttons (incl. notification bell) — row 2: branding + live dot */}\n <div class=\"footer-row\" style=\"justify-content:flex-end\">\n <button\n class={\"iconbtn notifbtn\" + (unreadCount() > 0 ? \" has-unread\" : \"\")}\n title={unreadCount() > 0 ? `${unreadCount()} unread notifications` : \"notifications\"}\n onclick={(e: MouseEvent) => {\n e.stopPropagation();\n setShowNotifs(!showNotifs());\n if (!showNotifs()) setNotifs((l) => l.map((n) => ({ ...n, read: true })));\n }}\n >\n 🔔<Show when={unreadCount() > 0}><i class=\"notifdot\">{unreadCount()}</i></Show>\n </button>\n <IconBtn\n icon=\"👻\"\n active={hideGhosts()}\n title={hideGhosts() ? \"show ghost sessions again (👻 workspace missing on disk)\" : \"hide ghost sessions (👻 — their workspace directory no longer exists)\"}\n onClick={(e) => {\n e.stopPropagation();\n const next = !hideGhosts();\n setHideGhosts(next);\n localStorage.setItem(\"teapot.hideGhosts\", next ? \"1\" : \"0\");\n // keep the selection valid when the current session gets hidden\n if (next && selected() && sel()?.workspaceMissing) {\n const firstVisible = agents().find((a) => !a.workspaceMissing);\n if (firstVisible) select(firstVisible.id);\n }\n }}\n />\n <IconBtn icon=\"+\" title=\"new agent\" onClick={() => { loadCfg(); setShowNew(true); }} />\n <IconBtn icon=\"🎨\" title=\"themes\" onClick={() => setShowThemes(!showThemes())} />\n <IconBtn icon=\"⚙\" title=\"settings\" onClick={() => { loadCfg(); setShowCfg(true); }} />\n </div>\n <div class=\"brand-row\">\n <div class=\"brand\">\n 🫖 teapot <span class=\"version\">v{__APP_VERSION__}</span>\n <span class={\"conn\" + (connected() ? \" ok\" : \"\")} title={connected() ? \"live (websocket)\" : \"reconnecting…\"} />\n </div>\n </div>\n <div class=\"metrics\">\n <Show when={metrics()}>\n master rss {metrics().rssMb}MB · heap {metrics().heapUsedMb}MB<br />\n load1 {metrics().loadavg1} · up {Math.floor(metrics().uptimeSec / 60)}m\n </Show>\n </div>\n </div>\n </nav>\n\n {/* ---------- channel ---------- */}\n <section class=\"channel\">\n <Show when={sel()} fallback={<div style=\"display:grid;place-items:center;height:100%\" class=\"muted\">select an agent</div>}>\n <header class=\"chan-head\">\n <span class=\"hash\">#</span>\n <span class=\"title\">{sel()!.id}</span>\n <span class={`badge ${sel()!.status}`}>{sel()!.status}</span>\n <Show when={(sel()!.pendingPrompts ?? 0) > 0}>\n <span\n class=\"badge queued\"\n title={`${sel()!.pendingPrompts ?? 0} message${(sel()!.pendingPrompts ?? 0) > 1 ? \"s\" : \"\"} from you waiting in the queue. They will be handed to the model at its next turn boundary — the timeline shows them as \"pending (queued)…\" until then, and each can be withdrawn with ✕ cancel while it's still queued.`}\n >\n ⏳ {sel()!.pendingPrompts} of yours queued\n </span>\n </Show>\n <Show when={agentTasks(sel()!.id).length > 0}>\n <span class=\"badge cron\" title={`scheduled tasks:\\n${agentTasks(sel()!.id).map((t) => `${t.schedule} · ${t.id}${t.forked ? \" (forked)\" : \"\"}`).join(\"\\n\")}`}>\n ⏰ {agentTasks(sel()!.id).length}\n </span>\n </Show>\n <span class=\"sub\">\n {sel()!.model} · {sel()!.session}/{sel()!.branch} · turns {sel()!.stats.turns} · tools {sel()!.stats.toolCalls}\n </span>\n <span style=\"margin-left:auto;display:flex;gap:4px\">\n <Show when={sel()!.statusReason}>\n <span class=\"sub\" title={sel()!.statusReason}>ℹ</span>\n </Show>\n <IconBtn icon=\"⌨\" title=\"terminal (t)\" onClick={toggleTerm} />\n <IconBtn icon=\"▤\" title=\"toggle details panel (d)\" onClick={toggleRight} />\n </span>\n </header>\n\n <div class=\"feed\" onscroll={(e) => {\n if (suppressScrollEval) return; // programmatic resize, not user\n const el = e.currentTarget;\n const nb = nearBottom();\n // USER-SCROLL LOCK: while streaming, new content grows the feed and\n // fires scroll events whose nearBottom() still reads true (the\n // growth hasn't been laid out yet) — atBottom flipped back on, the\n // follow effect yanked the reader down mid-scroll, and the view\n // fought the user (\"ガタガタ\"). An upward scroll of >24px from the\n // bottom locks follow off until the reader returns to the tail.\n const gap = el.scrollHeight - el.scrollTop - el.clientHeight;\n if (!nb && lastScrollGap !== undefined && gap > lastScrollGap + 8 && gap > 24) {\n userScrolledUp = true;\n } else if (nb) {\n userScrolledUp = false;\n }\n lastScrollGap = gap;\n // reached the top → pull the next older page (infinite scroll up).\n // MUST run before the follow-lock return: the lock exists to stop\n // follow mode from fighting the reader, and a reader at the very\n // top is by definition not at the bottom — returning here silently\n // swallowed every loadOlder trigger (\"past logs never loaded\").\n if (el.scrollTop <= 4 && selected() && !loadingOlder() && !olderDone() && events().length > 0) {\n void loadOlder();\n }\n if (userScrolledUp && !nb) {\n setAtBottom(false);\n return; // locked: don't re-evaluate follow mode until back at tail\n }\n if (nb && missed()) setMissed(0);\n setAtBottom(nb);\n }}>\n <Show when={compacting()}>\n {(c) => (\n <div class=\"divider-msg compacting\" title=\"the harness is compressing old turns into notes so work can continue within the context window\">\n 🗜 {c().phase === \"harvesting\" ? \"saving durable lessons…\" : `summarizing ${c().summarized ? fmtK(c().summarized!) + \" \" : \"\"}older messages…`}\n </div>\n )}\n </Show>\n <Show when={olderDone() && chatEvents().length > 0}>\n <div class=\"divider-msg\">── beginning of log ──</div>\n </Show>\n <Show when={loadingOlder()}>\n <div class=\"divider-msg\">loading older events…</div>\n </Show>\n <Show when={chatEvents().length > 0} fallback={\n <div style=\"display:grid;place-items:center;height:100%\" class=\"muted\">no events yet — say something or press ▶ start</div>\n }>\n <For each={chatEvents()}>\n {(e, i) => (\n <MessageRow\n e={e}\n prev={chatEvents()[i() - 1]}\n res={pairInfo().resFor.get(e.id)}\n onOption={(t) => void sendText(t)}\n answeredIds={answeredQuestionIds()}\n agentActive={sel()?.status === \"running\" || sel()?.status === \"waiting\"}\n onResize={() => { if (atBottom()) requestAnimationFrame(() => scrollBottom(true)); }}\n onCancel={\n e.data?.pending && e.data?.promptId && e.data?.sent !== true\n ? () => {\n const pid = String(e.data.promptId);\n api(`/api/agents/${selected()}/prompt/cancel`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ promptId: pid }),\n })\n .then((r: any) => {\n // put the text back WITHOUT clobbering what\n // the user has typed since sending it\n const back = String(r.text ?? \"\");\n saveDraft(draft() ? `${back}\\n\\n${draft()}` : back);\n setPendingMsgs((list) => list.filter((p) => p.promptId !== pid));\n flashHint(\"message withdrawn — draft restored\");\n })\n .catch(() => flashHint(\"withdraw failed — it may have already been sent\"));\n }\n : undefined\n }\n onEdit={\n // settled user prompts only: a pending message has not\n // reached the model, so there is nothing to fork from —\n // cancel (✕) returns its text to the composer instead.\n e.type === \"prompt\" &&\n e.data?.source === \"user\" &&\n !(e.data?.pending && e.data?.sent !== true)\n ? () => setEditing({ eventId: e.id, text: String(e.data?.text ?? \"\") })\n : undefined\n }\n />\n )}\n </For>\n <Show when={live()}>\n <div class=\"msg live\">\n <div class=\"avatar\" style=\"background:#5865f233;border:1px solid #5865f266\">🫖</div>\n <div class=\"msg-body\">\n <div class=\"msg-head\">\n <span class=\"author\" style=\"color:var(--acc)\">agent</span>\n <span class=\"ts\">streaming…</span>\n </div>\n <Show when={liveReasoning()}>\n <details class=\"reasoning\" open>\n <summary>\n 💭 thinking <ThinkingTimer startedAt={liveStartedAt()} />\n </summary>\n {/* ref + scroll-follow: the thinking block grows from the\n bottom; keep its tail visible while it streams. The\n effect only scrolls THIS div — never the feed itself —\n so the two follow loops can't fight each other. */}\n <div\n class=\"mono thinkscroll\"\n ref={(el) => {\n // follow the thinking tail ONLY while the reader\n // is at the block's own bottom — scrolling up\n // inside it must pause follow (and returning to\n // the tail resumes), independent of feed position\n let stick = true;\n el.addEventListener(\"scroll\", () => {\n stick = el.scrollHeight - el.scrollTop - el.clientHeight < 24;\n });\n createEffect(() => {\n liveReasoning(); // re-run on every throttled tick\n if (stick) el.scrollTop = el.scrollHeight;\n });\n }}\n >\n {liveReasoning()}\n </div>\n </details>\n </Show>\n <Show\n when={liveText()}\n fallback={<div class=\"content muted\">thinking…</div>}\n >\n <Show when={liveIsCompact()} fallback={<div class=\"content\" innerHTML={renderMarkdown(liveText() + \"▍\")} />}>\n <div class=\"muted\" style=\"font-size:11.5px;margin-bottom:4px\">🗜 summarizing older context…</div>\n <div class=\"content\" innerHTML={renderMarkdown(liveBody() + \"▍\")} />\n </Show>\n </Show>\n </div>\n </div>\n </Show>\n </Show>\n </div>\n\n <Show when={termOpen()}>\n <div class=\"termdrawer\" style={{ height: `${termHeight()}px`, \"--termh\": `${termHeight()}px` } as any}>\n <div class=\"termgrip\" onpointerdown={startGrip} ondblclick={() => { setTermHeight(Math.max(220, Math.round(window.innerHeight * 0.35))); localStorage.setItem(\"teapot.termH\", String(termHeight())); }} title=\"drag to resize · double-click to reset\" />\n <div class=\"termbar\">\n <div class=\"termtabs\">\n <For each={termTabs()}>\n {(t, i) => (\n <span\n class={\"termtab\" + (focusedPane() === 0 && paneL() === i() ? \" active\" : \"\") + (splitView() && focusedPane() === 1 && paneR() === i() ? \" active\" : \"\")}\n onclick={() => focusTab(i())}\n title={`${t.title} — click to show in focused pane`}\n >\n ⌨ {t.title}\n <button class=\"tabx\" onclick={(e) => { e.stopPropagation(); closeTab(i()); }} title=\"close this shell\">✕</button>\n </span>\n )}\n </For>\n <IconBtn icon=\"+\" title=\"new shell in this workspace\" onClick={addFromSelected} />\n </div>\n <div style=\"display:flex;gap:4px;align-items:center\">\n <span class=\"muted mono\" style=\"flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap\">\n {activeTab() ? agents().find((a) => a.id === activeTab()!.agentId)?.workspace.split(\"/\").filter(Boolean).pop() : sel()?.workspace}\n </span>\n <IconBtn icon=\"◫\" title={splitView() ? \"single pane\" : \"split panes (50/50)\"} onClick={toggleSplit} />\n <IconBtn icon=\"▾\" title=\"hide the terminal (shells keep running; reopen with t) — close individual shells with their ✕ tab buttons\" onClick={toggleTerm} />\n </div>\n </div>\n <div class=\"termbody\" classList={{ split: splitView() }}>\n <div class=\"termpane\" classList={{ focused: focusedPane() === 0 }} onpointerdown={() => setFocusedPane(0)} ref={setPaneHost(0)}>\n <Show when={paneL() < 0 || paneL() >= termTabs().length}>\n <div class=\"termempty muted\">no shell here — + opens one, tabs fill the focused pane</div>\n </Show>\n </div>\n <Show when={splitView()}>\n <div class=\"termsplit\" />\n <div class=\"termpane\" classList={{ focused: focusedPane() === 1 }} onpointerdown={() => setFocusedPane(1)} ref={setPaneHost(1)}>\n <Show when={paneR() < 0 || paneR() >= termTabs().length}>\n <div class=\"termempty muted\">no shell here — click a tab or + to add</div>\n </Show>\n </div>\n </Show>\n </div>\n </div>\n </Show>\n\n <div class={\"composer\" + (composerMaximized() ? \" maximized\" : \"\")}>\n <Show when={!atBottom() || missed() > 0}>\n <button class=\"jump\" onclick={() => scrollBottom(true)}>\n ↓ {missed() > 0 ? `${missed()} new message${missed() > 1 ? \"s\" : \"\"}` : \"jump to present\"}\n </button>\n </Show>\n <Show when={suggestions().length > 0}>\n <div class=\"cmds\">\n <For each={suggestions()}>\n {(s, i) => (\n <div\n class={\"cmdrow\" + (i() === cmdIdx() ? \" active\" : \"\")}\n title={s.title}\n onclick={() => { saveDraft(s.insert); setCmdIdx(-1); }}\n >\n <b class=\"mono\">{s.insert.trim()}</b>\n <span class=\"muted\">{s.title}</span>\n </div>\n )}\n </For>\n </div>\n </Show>\n <Show when={mentionMatches().length > 0}>\n <div class=\"cmds\">\n <For each={mentionMatches()}>\n {(m) => (\n <div class=\"cmdrow\" title={m.label} onclick={() => { saveDraft(`@${m.key} `); setCmdIdx(-1); }}>\n <b>@{m.key}</b>\n <span class=\"muted\">{m.label}</span>\n </div>\n )}\n </For>\n </div>\n </Show>\n <form onsubmit={send}>\n {/* staged image chips — clicking ✕ unstages before send */}\n <Show when={pendingImages().length > 0}>\n <div class=\"imgstage\">\n <For each={pendingImages()}>\n {(im, i) => (\n <span class=\"imgchip\" title={im.name}>\n <img src={im.url} alt={im.name} />\n <button\n type=\"button\"\n class=\"imgx\"\n title=\"remove\"\n onclick={() => setPendingImages((l) => l.filter((_, j) => j !== i()))}\n >✕</button>\n </span>\n )}\n </For>\n <span class=\"muted\" style=\"font-size:11px;align-self:center\">\n {pendingImages().length} image{pendingImages().length > 1 ? \"s\" : \"\"} attached\n </span>\n </div>\n </Show>\n <textarea\n ref={composerEl}\n rows={1}\n placeholder={`message #${sel()!.id} — / for commands · paste or 📎 to attach images`}\n value={draft()}\n onpaste={(e) => {\n // screenshots land on the clipboard as files — stage them\n const imgs = Array.from(e.clipboardData?.files ?? []).filter((f) => f.type.startsWith(\"image/\"));\n if (imgs.length) {\n e.preventDefault();\n addImages(imgs);\n }\n }}\n oninput={(e) => {\n saveDraft(e.currentTarget.value);\n setCmdIdx(0); // highlight first suggestion while popup is open\n autosizeComposer();\n }}\n onkeydown={(e) => {\n // unified suggestion navigation — the input keeps focus, the\n // highlighted row just moves (↑↓), Tab/Enter accepts\n const sugg = suggestions();\n if (sugg.length > 0 && e.key === \"ArrowDown\") {\n e.preventDefault();\n setCmdIdx((i) => Math.min(i + 1, sugg.length - 1));\n return;\n }\n if (sugg.length > 0 && e.key === \"ArrowUp\") {\n e.preventDefault();\n setCmdIdx((i) => Math.max(i - 1, 0));\n return;\n }\n if (sugg.length > 0 && (e.key === \"Tab\" || e.key === \"Enter\") && !e.shiftKey && cmdIdx() >= 0) {\n e.preventDefault();\n saveDraft(sugg[cmdIdx()]!.insert);\n setCmdIdx(-1);\n return;\n }\n if (e.key === \"Escape\" && sugg.length > 0) {\n setCmdIdx(-1); // close popup only\n return;\n }\n // IME composition: Enter confirms the conversion, never sends\n if (e.key === \"Enter\" && !e.shiftKey && !e.isComposing) {\n e.preventDefault();\n void send(e);\n }\n }}\n />\n <Show when={draft().startsWith(\"@\") && draft().includes(\" \")}>\n <label\n class=\"forkchip\"\n title=\"inherit the conversation prefix byte-exactly — the sub-agent's provider prefix cache starts warm\"\n >\n <input type=\"checkbox\" checked={mentionFork()} onchange={(e) => setMentionFork(e.currentTarget.checked)} />\n fork ctx\n </label>\n </Show>\n <button\n type=\"button\"\n class=\"iconbtn maxbtn\"\n title={composerMaximized() ? \"restore composer (hide timeline)\" : \"maximize composer — hide the timeline and fill the main column\"}\n onclick={() => {\n const next = !composerMaximized();\n setComposerMaximized(next);\n // re-run autosize under the new regime, then keep the feed\n // pinned / restored correctly across the relayout\n requestAnimationFrame(() => autosizeComposer());\n }}\n >{composerMaximized() ? \"⤡\" : \"⤢\"}</button>\n <IconBtn\n icon=\"📎\"\n title=\"attach images (or paste them straight into the box)\"\n onClick={() => document.getElementById(\"composer-file\")?.click()}\n />\n <Show when={pendingImages().length}>\n <span class=\"muted\" style=\"font-size:11.5px;white-space:nowrap\">🖼 {pendingImages().length}</span>\n </Show>\n <button type=\"submit\">send</button>\n {/* hidden input lives here so the 📎 button can trigger it */}\n <input\n id=\"composer-file\"\n type=\"file\"\n accept=\"image/*\"\n multiple\n style=\"display:none\"\n onchange={(e) => {\n if (e.currentTarget.files?.length) addImages(e.currentTarget.files);\n e.currentTarget.value = \"\"; // allow re-selecting the same file\n }}\n />\n </form>\n <div class=\"hint\">\n {flash() ||\n \"enter send · shift+enter newline · ↑↓ sessions · / commands & focus · t terminal · d panel · esc interrupt · messages sent while the agent works queue up and land at the next turn boundary\"}\n </div>\n </div>\n </Show>\n </section>\n\n {/* ---------- right bar ---------- */}\n <aside\n class={\"rightbar\" + (showRight() ? \" open\" : \"\")}\n ref={rightbarEl}\n onscroll={(e) => { rightbarTop = (e.currentTarget as HTMLDivElement).scrollTop; }}\n >\n <Show when={sel()}>\n <h3 title=\"identity + storage locations for this agent\">🎛 session</h3>\n <div class=\"card sesscard\">\n <div class=\"sessrow\"><span class=\"k\">agent</span><b>{sel()!.id}</b><span class={`badge ${sel()!.status}`}>{sel()!.status}</span></div>\n <div class=\"sessrow\"><span class=\"k\">workspace</span><span class=\"mono ellip\" title={sel()!.workspace}>{sel()!.workspace}</span></div>\n <div class=\"sessrow\"><span class=\"k\">session</span><span class=\"mono\">{sel()!.session}/{sel()!.branch}</span></div>\n </div>\n\n {/* keyed by agent id: Solid re-runs the JSX expression on every\n snapshot update, but <Show keyed> + primitive props keep the\n FilesPanel subtree from re-rendering unless the agent changes */}\n <Show when={sel()!.id} keyed fallback={null}>\n {(aid) => (\n <FilesPanel agentId={aid} workspace={sel()!.workspace} />\n )}\n </Show>\n\n <h3 title=\"switch provider/model live — applies from the agent's next turn; the list shows context window & pricing from the provider\">🧦 model</h3>\n <div class=\"modelbox\">\n <select\n value={modelProvider()}\n onchange={(e) => { setModelProvider(e.currentTarget.value); loadModels(e.currentTarget.value); }}\n title=\"provider (OpenAI-compatible endpoint)\"\n >\n <For each={providerList()}>{(p) => <option value={p}>{p}{p === cfg().defaultProvider ? \" ★\" : \"\"}</option>}</For>\n </select>\n <div style=\"display:flex;gap:4px\">\n <input\n type=\"text\"\n list=\"model-list\"\n placeholder={sel()!.model}\n value={modelDraft()}\n oninput={(e) => setModelDraft(e.currentTarget.value)}\n style=\"flex:1;min-width:0\"\n />\n <datalist id=\"model-list\">\n <For each={models()}>{(m) => <option value={m.id} />}</For>\n </datalist>\n <button\n title=\"apply to this session — takes effect from the agent's next turn\"\n onclick={async (e) => {\n if (!selected()) return;\n const btn = e.currentTarget as HTMLButtonElement;\n btn.disabled = true;\n try {\n await api(`/api/agents/${selected()}/model`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({\n provider: modelProvider(),\n model: modelDraft().trim() || undefined,\n // pass the provider-reported window so the runtime\n // gauge + derived compaction budget work immediately\n contextWindowTokens:\n models().find((m) => m.id === (modelDraft().trim() || undefined))?.contextLength,\n }),\n });\n btn.textContent = \"✓ applied\";\n refreshAgents();\n } catch (ex) {\n alert(`model switch failed: ${(ex as Error).message}`);\n } finally {\n setTimeout(() => { btn.textContent = \"apply\"; btn.disabled = false; }, 1200);\n }\n }}\n >apply</button>\n </div>\n <div class=\"meta\">\n current: {sel()!.model}<Show when={models().length}> · {models().length} models loaded</Show>\n </div>\n <Show when={modelSpec()}>\n <div class=\"meta\" style=\"color:var(--fg)\">{modelSpec()}</div>\n </Show>\n </div>\n\n <h3>⏯ controls</h3>\n <div class=\"btnrow\">\n {/* ONE persistent button: swapping ▶ start / ■ stop via <Show> destroyed\n and recreated the node on every idle→running transition, which\n visibly reflowed the panel (width jump + row wrap). Toggling\n class/text keeps the same element, so layout never moves. */}\n <button\n class={sel()!.status === \"running\" ? \"danger\" : \"runbtn\"}\n title={\n sel()!.status === \"running\"\n ? \"interrupt: aborts the current LLM call; the running tool finishes first\"\n : \"run toward the goal (starts the loop)\"\n }\n onclick={sel()!.status === \"running\" ? act(\"/stop\") : act(\"/start\")}\n >{sel()!.status === \"running\" ? \"■ stop\" : \"▶ start\"}</button>\n <button\n title=\"branch off the conversation here — try things without disturbing the main line\"\n onclick={() => api(`/api/agents/${sel()!.id}/fork`, { method: \"POST\", headers: { \"content-type\": \"application/json\" }, body: \"{}\" }).then(() => select(sel()!.id))}\n >⑂ fork</button>\n <button onclick={async () => {\n const id = selected();\n if (!id || !confirm(`remove agent ${id}? (log is kept)`)) return;\n await api(`/api/agents/${id}`, { method: \"DELETE\" }).catch(() => {});\n const rest = agents().filter((a) => a.id !== id);\n setAgents(rest);\n if (rest[0]) select(rest[0].id);\n else { setSelected(null); setEvents([]); }\n }} title=\"remove agent from teapot (session log stays on disk)\">🗑 remove</button>\n <Show when={agents().some((a) => a.parent === selected())}>\n <button\n onclick={async () => {\n if (!selected()) return;\n const r = await api(`/api/agents/${selected()}/stop-children`, { method: \"POST\" });\n flashHint(`stopped: ${((r as any).stopped ?? []).join(\", \") || \"(none)\"}`);\n refreshAgents();\n }}\n title=\"stop every sub-agent this agent spawned (descendants included)\"\n >⏹ subs</button>\n </Show>\n </div>\n <div class=\"ctrlrow\">\n <label\n title=\"auto-continue fires after a round ONLY when all hold: ① this toggle is on ② a goal is set and its status is 'active' ③ the round ended cleanly (no error / not stopped). It stops when the goal is marked done, or if you press ■ stop. Sending any prompt also starts an idle agent regardless.\"\n >\n <input\n type=\"checkbox\"\n checked={sel()!.autoContinue ?? true}\n onchange={(e) => {\n if (!selected()) return;\n api(`/api/agents/${selected()}/auto-continue`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ value: e.currentTarget.checked }),\n }).then(refreshAgents);\n }}\n />\n auto-continue\n </label>\n <span class=\"muted\">loops while goal is active · stops on done / stop</span>\n </div>\n\n <h3 title=\"what the agent is working toward — auto-continue keeps looping while the status is 'active'\">🎯 goal\n <Show\n when={!!sel()!.goal.text.trim()}\n fallback={<span class=\"badge\" title=\"no goal set yet\">no goal</span>}\n >\n <span class={`badge ${sel()!.goal.status === \"active\" ? \"running\" : sel()!.goal.status}`}>{sel()!.goal.status}</span>\n </Show>\n </h3>\n <div class=\"statrow\" style=\"margin-bottom:6px\">\n <span class=\"k\">status</span>\n <For each={[\"active\", \"done\", \"paused\"] as const}>\n {(s) => (\n <button\n // an EMPTY goal must not light up \"▶ working\": fresh\n // sessions store status:\"active\" by default, which made a\n // brand-new timeline look like the agent was already on it\n class={\"goalstate\" + (!!sel()!.goal.text.trim() && sel()!.goal.status === s ? ` on ${s}` : \"\")}\n disabled={!!sel()!.goal.text.trim() && sel()!.goal.status === s}\n title={\n s === \"active\"\n ? \"agent keeps working toward the goal (with auto-continue)\"\n : s === \"done\"\n ? \"mark achieved — auto-continue stops\"\n : \"parked on purpose — resume by setting active again\"\n }\n onclick={() => {\n if (!selected()) return;\n api(`/api/agents/${selected()}/goal`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ status: s }),\n }).then(refreshAgents);\n }}\n >{s === \"active\" ? \"▶ working\" : s === \"done\" ? \"✓ done\" : \"⏸ paused\"}</button>\n )}\n </For>\n </div>\n <Show\n when={sel()!.goal.text}\n fallback={<div class=\"card muted\">no goal yet — write one below and press ✓ save. Then ▶ start (or any message) sets it in motion.</div>}\n >\n <div class=\"card\">\n <div class=\"content\" innerHTML={renderMarkdown(String(sel()!.goal.text))} />\n </div>\n <Show when={sel()!.goal.verify}>\n <div class=\"card verifycard\" title=\"verification contract — finish(goalComplete=true) is audited against these requirements by an independent reviewer before the goal counts as done\">\n <div class=\"vtitle\">🔍 verification contract</div>\n <div class=\"content\" innerHTML={renderMarkdown(String(sel()!.goal.verify))} />\n </div>\n </Show>\n <Show when={sel()!.goal.audit}>\n {(a) => (\n <div class={\"card auditcard \" + (a().verdict === \"approved\" ? \"ok\" : \"warn\")}>\n <div class=\"vtitle\">\n {a().verdict === \"approved\" ? \"✅ audit: approved\" : \"⚠ audit: changes required\"}\n <span class=\"meta muted\" style=\"margin-left:auto\">{relTime(a().at)}</span>\n </div>\n <div class=\"content\" innerHTML={renderMarkdown(a().feedback)} />\n </div>\n )}\n </Show>\n </Show>\n <div class=\"muted\" style=\"font-size:11px;margin-top:4px\">\n stored with the session · the agent reads it via get_goal() · auto-continue loops while status is \"working\" and stops when marked done\n </div>\n <form onsubmit={setGoal} style=\"display:flex;flex-direction:column;gap:6px;margin-top:8px;margin-bottom:6px\">\n <textarea\n id=\"goal-input\"\n rows={3}\n placeholder=\"set new goal…\"\n value={goalDraft()}\n oninput={(e) => { setGoalDraft(e.currentTarget.value); setGoalDirty(true); }}\n style=\"background:var(--bg-darkest);border:none;border-radius:6px;padding:6px 8px;color:var(--fg);font:inherit;width:100%;resize:vertical\"\n />\n <textarea\n id=\"goal-verify-input\"\n rows={2}\n placeholder=\"verification contract (optional) — e.g. 'npm test passes; endpoint documented'. finish(goalComplete=true) is then audited against this.\"\n title=\"pi-goal-x-style verification contract — an independent reviewer checks the agent's finish against these requirements\"\n value={goalVerifyDraft()}\n oninput={(e) => { setGoalVerifyDraft(e.currentTarget.value); setGoalDirty(true); }}\n style=\"background:var(--bg-darkest);border:1px solid var(--bg-light);border-radius:6px;padding:6px 8px;color:var(--fg);font:inherit;font-size:12.5px;width:100%;resize:vertical\"\n />\n <div style=\"display:flex;justify-content:flex-end;align-items:center;gap:10px\">\n <label\n class=\"muted\"\n style=\"display:flex;align-items:center;gap:4px;font-size:11.5px;white-space:nowrap;cursor:pointer\"\n title=\"queue a harness prompt telling the agent about the new goal at its next turn boundary\"\n >\n <input id=\"goal-notify\" type=\"checkbox\" checked={goalNotify()} onchange={(e) => setGoalNotify(e.currentTarget.checked)} /> notify agent\n </label>\n <button type=\"submit\" style=\"background:var(--acc);border:none;border-radius:6px;color:#fff;padding:4px 12px;cursor:pointer\">✓ save goal</button>\n </div>\n </form>\n\n <h3 title=\"todo.md — a shared checklist in the session dir. Write tasks like '- [ ] fix login'; the agent ticks them off via set_todo, you edit here. With notify on, it's told at its next turn boundary.\">\n ✅ tasks\n <Show when={todoStats().total > 0}>\n <span class=\"badge\" style={todoStats().done === todoStats().total ? \"color:var(--ok)\" : \"color:var(--warn)\"}>\n {todoStats().done}/{todoStats().total} done\n </span>\n </Show>\n <span class=\"muted\" style=\"text-transform:none;letter-spacing:0\">· shared checklist (you + agent)</span>\n </h3>\n <Show when={todoStats().total > 0}>\n <div class=\"bartrack\" style=\"margin-bottom:6px\">\n <div\n class={\"barfill \" + (todoStats().done === todoStats().total ? \"\" : \"warn\")}\n style={{ width: `${Math.round((todoStats().done / todoStats().total) * 100)}%` }}\n />\n </div>\n </Show>\n <Show\n when={todoViewMode()}\n fallback={\n /* rendered checklist — the default view; markdown + real checkboxes */\n <div class=\"content mdpreview\" style=\"max-height:40vh;padding:8px 10px\" innerHTML={renderMarkdownCached(todoDraft())} />\n }\n >\n <textarea\n id=\"todo-input\"\n class=\"mono\"\n rows={5}\n placeholder={\"- task one\\n- task two\"}\n value={todoDraft()}\n oninput={(e) => {\n setTodoDraft(e.currentTarget.value);\n setTodoDirty(true);\n }}\n title=\"shared with the agent — it may check items off via set_todo; your unsaved edits win until you save\"\n style=\"width:100%;background:var(--bg-darkest);border:none;border-radius:6px;padding:6px 8px;color:var(--fg);font-family:ui-monospace,Menlo,monospace;font-size:12.5px;resize:vertical\"\n />\n </Show>\n <div style=\"display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:4px\">\n <IconBtn\n icon={todoViewMode() ? \"👁\" : \"✎\"}\n title={todoViewMode() ? \"rendered checklist\" : \"edit markdown\"}\n onClick={() => setTodoViewMode(!todoViewMode())}\n />\n <label\n class=\"muted\"\n style=\"display:flex;align-items:center;gap:4px;font-size:11.5px;white-space:nowrap;cursor:pointer\"\n title=\"queue a harness prompt telling the agent the task list changed\"\n >\n <input id=\"todo-notify\" type=\"checkbox\" checked /> notify agent\n </label>\n <button\n onclick={saveTodo}\n style=\"background:var(--ok);border:none;border-radius:6px;color:#fff;padding:4px 12px;cursor:pointer\"\n >✓ save tasks</button>\n </div>\n\n <h3 title=\"latest report_progress snapshot. The harness asks for one after real activity (time AND output gates); errors show under ⚠ problems\">📈 progress</h3>\n <Show\n when={sel()!.latestProgress}\n fallback={<div class=\"muted\">none yet — the harness asks for a report after real activity, and the agent can report_progress anytime</div>}\n >\n {(p) => (\n <div class=\"card prog\">\n <div class=\"progrow\"><b>doing</b><span class=\"content inline-md\" innerHTML={renderMarkdownCached(p().doing)} /></div>\n <Show when={p().recent}><div class=\"progrow\"><b>recent</b><span class=\"content inline-md\" innerHTML={renderMarkdownCached(p().recent)} /></div></Show>\n <Show when={p().problems}><div class=\"progrow warn\"><b>⚠ problems</b><span class=\"content inline-md\" innerHTML={renderMarkdownCached(p().problems)} /></div></Show>\n <Show when={p().next}><div class=\"progrow\"><b>next</b><span class=\"content inline-md\" innerHTML={renderMarkdownCached(p().next)} /></div></Show>\n <Show when={p().goalStatus}><div class=\"progrow\"><b>goal</b><span>{p().goalStatus}</span></div></Show>\n <div class=\"meta muted\">{relTime(p().ts)}</div>\n </div>\n )}\n </Show>\n\n <h3 title=\"cumulative billed totals · the cached pill counts tokens served from the provider's prompt cache (far cheaper) · context bar turns orange ≥70% and red ≥85% of the model window\">📊 runtime</h3>\n <div class=\"card runcard\">\n <div class=\"statgrid\">\n <div class=\"stat\" title=\"LLM turns taken this session\"><span>turns</span><b>{sel()!.stats.turns}</b></div>\n <div class=\"stat\" title=\"tool calls executed\"><span>tools</span><b>{sel()!.stats.toolCalls}</b></div>\n <div class=\"stat\" title=\"times old turns were summarized to free context\"><span>compacted</span><b>{sel()!.stats.compactions ?? 0}</b></div>\n </div>\n <div class=\"statrow\">\n <span class=\"k\">tokens</span>\n <b>{fmtK(sel()!.stats.inputTokens)} in / {fmtK(sel()!.stats.outputTokens)} out</b>\n <Show when={(sel()!.stats.cachedInputTokens ?? 0) > 0}>\n <span\n class=\"pill ok\"\n title={`${fmtK(sel()!.stats.cachedInputTokens)} tokens were served from the provider's prompt cache — billed far cheaper than fresh input`}\n >\n ⚡ {(Math.round((sel()!.stats.cachedInputTokens / Math.max(1, sel()!.stats.inputTokens)) * 1000) / 10)}% cached\n </span>\n </Show>\n </div>\n {/* session cost estimate — only when the provider publishes pricing\n (OpenRouter does; local endpoints usually don't) */}\n <Show when={(sel()!.stats.costUsd ?? 0) > 0}>\n <div\n class=\"statrow\"\n title={`≈ ${(sel()!.stats.costUsd ?? 0).toFixed(4)} this session, from the model's USD/token pricing and per-turn usage. Cached input is estimated at ~10% of the prompt rate; treat as an approximation, not an invoice.`}\n >\n <span class=\"k\">cost</span>\n <b>${costFmt(sel()!.stats.costUsd ?? 0)}</b>\n </div>\n </Show>\n <Show\n when={sel()!.ctx}\n keyed\n fallback={\n <div class=\"statrow\">\n <span class=\"k\">context</span>\n <span class=\"muted\">no window known for this model yet</span>\n </div>\n }\n >\n {(c) => {\n // ALL derived values are memos: this callback used to run ONCE\n // (unkeyed <Show> builds its children a single time), freezing\n // pct/bar/labels at the first snapshot — the gauge then showed\n // \"0% of 1m\" forever while the token count itself kept updating\n // (that count is a JSX expression, so it stayed reactive).\n const ctxVals = createMemo(() => {\n const cv = c;\n const modelMeta = models().find((m) => m.id === sel()!.model);\n const effectiveWindow = cv.window || modelMeta?.contextLength || 0;\n // one decimal place — 0.4% vs 0% matters on million-token windows\n const pct = effectiveWindow\n ? Math.min(999, (cv.usedTokens / effectiveWindow) * 100)\n : 0;\n return {\n usedTokens: cv.usedTokens,\n compactAt: cv.compactAt,\n compacting: cv.compacting,\n window: cv.window,\n effectiveWindow,\n pct,\n cls:\n !effectiveWindow ? \"\" : pct >= 85 ? \"crit\" : pct >= 70 ? \"warn\" : \"ok\",\n derivedBudget: effectiveWindow ? Math.round(effectiveWindow * 0.75) : 0,\n usingDerived: cv.compactAtIsManual !== true,\n };\n });\n const v = () => ctxVals();\n const fmtPct = (x: number) => {\n const r = Math.round(x * 10) / 10;\n return Number.isInteger(r) ? String(r) : r.toFixed(1);\n };\n return (\n <div\n class=\"ctxblock\"\n title=\"estimated live context vs the model's real window. Past the window, old turns are summarized into notes (compaction); the compact line below shows where that starts.\"\n >\n <div class=\"statrow\">\n <span class=\"k\">context</span>\n <b>~{fmtK(v().usedTokens)} tok</b>\n <Show when={v().effectiveWindow}>\n <span class={`pill ${v().cls}`}>\n {fmtPct(v().pct)}% of {fmtK(v().effectiveWindow)}\n </span>\n </Show>\n </div>\n <Show when={v().effectiveWindow}>\n <div class=\"bartrack\">\n <div class={`barfill ${v().cls}`} style={{ width: `${Math.min(100, v().pct)}%` }} />\n </div>\n </Show>\n <div class=\"statrow\" style=\"margin-top:4px\">\n <span class=\"k\">compact</span>\n <b>{fmtK(v().usingDerived ? v().derivedBudget : v().compactAt)} tok</b>\n <span class=\"muted\" style=\"font-size:11px;color:var(--dim)\">\n {v().usingDerived ? ` (75% of window)` : ` (manual override)`}\n </span>\n </div>\n <Show when={v().effectiveWindow}>\n <div class=\"bartrack\" style=\"margin-top:4px\">\n <div class={`barfill ${v().cls}`} style={{ width: `${Math.min(100, Math.round((v().usedTokens / v().derivedBudget) * 100))}%` }} />\n </div>\n </Show>\n <Show when={compacting() || v().compacting}>\n <div class=\"statrow\" title=\"a compaction pass is running right now — the summarizer's output streams in the timeline\">\n <span class=\"k\">🗜</span>\n <b>compacting…</b>\n <span class=\"muted\" style=\"font-size:11px;color:var(--acc)\">\n {compacting()?.phase ?? String(v().compacting)}\n </span>\n </div>\n </Show>\n <div class=\"ctrlrow\" style=\"margin-top:6px\">\n <label title=\"when on, older turns are automatically summarized when context exceeds the budget\">\n <input\n type=\"checkbox\"\n checked={sel()!.autoCompact !== false}\n onchange={(e) => {\n if (!selected()) return;\n api(`/api/agents/${selected()}/auto-compact`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ value: e.currentTarget.checked }),\n }).then(refreshAgents);\n }}\n />\n auto-compact\n </label>\n <span class=\"muted\" style=\"font-size:11.5px\">summarizes old turns when budget exceeded</span>\n </div>\n <div class=\"muted\" style=\"font-size:11px;margin-top:4px\">\n compaction starts around ~{fmtK(v().compactAt)} tok — older turns get summarized, recent ones stay intact\n </div>\n </div>\n );\n }}\n </Show>\n </div>\n\n <h3>🌿 branches <span class=\"muted\" style=\"text-transform:none;letter-spacing:0\">· click to filter the feed</span></h3>\n <For each={branches()}>\n {(b) => (\n <div\n class={\"branch-row\" + (b.branch === sel()!.branch || b.branch === branchFilter() ? \" cur\" : \"\")}\n title={b.branch === branchFilter() ? \"click to show all branches again\" : `show only ${b.branch}`}\n onclick={() => {\n const next = branchFilter() === b.branch ? null : b.branch;\n setBranchFilter(next);\n if (selected()) loadEvents(selected()!);\n }}\n >\n <span>{b.branch}{b.branch === sel()!.branch ? \" (current)\" : \"\"}</span>\n <span>{b.events} events</span>\n </div>\n )}\n </For>\n\n <h3>⏰ schedule <span class=\"muted\" style=\"text-transform:none;letter-spacing:0\">· cron tasks, all agents · edit in settings</span></h3>\n <Show\n when={tasks().length > 0}\n fallback={<div class=\"muted\">no scheduled tasks — add them in ⚙ settings (\"scheduled tasks\")</div>}\n >\n <For each={tasks()}>\n {(t) => (\n <div\n class={\"sched-row\" + (t.agent === selected() ? \" cur\" : \"\")}\n title={`${oneLine(t.prompt, 200)}\\nclick to open #${t.agent}`}\n onclick={() => select(t.agent)}\n >\n <div class=\"sched-top\">\n <b>{t.id}</b>\n <span class=\"muted\">@{t.agent}</span>\n <Show when={t.forked}><span title=\"runs on a forked branch so chatter stays off the main line\">⑂</span></Show>\n </div>\n <div class=\"sched-meta mono\">\n {t.schedule} → next {t.next ? relTime(t.next) : \"—\"}{t.last ? ` · last ${relTime(t.last)}` : \" · never ran\"}\n </div>\n <div class=\"sched-prompt muted\">{oneLine(t.prompt, 90)}</div>\n </div>\n )}\n </For>\n </Show>\n </Show>\n </aside>\n </div>\n </Show>\n <Show when={showNotifs()}>\n {/* notification center — pops from the sidebar footer, bottom-left */}\n {/* click-outside closer: an invisible full-screen layer under the panel */}\n <div class=\"notifbackdrop\" onclick={() => setShowNotifs(false)} />\n <div class=\"notifpanel\">\n <div class=\"notifhead\">\n notifications\n <span style=\"display:flex;gap:8px;align-items:center\">\n <Show when={notifs().length > 0}>\n <button class=\"editbtn\" onclick={() => setNotifs([])}>clear all</button>\n </Show>\n <button class=\"iconbtn\" title=\"close notifications\" onclick={() => setShowNotifs(false)}>✕</button>\n </span>\n </div>\n <Show\n when={notifs().length > 0}\n fallback={<div class=\"muted\" style=\"padding:10px\">nothing yet — progress, finishes, questions and errors will land here</div>}\n >\n <div class=\"notiflist\">\n <For each={notifs()}>\n {(n) => (\n <div\n class={\"notifitem \" + n.kind + (n.read ? \" read\" : \"\")}\n title={`from ${n.agentId}`}\n onclick={() => {\n // mark THIS one read, jump to its agent and scroll the\n // timeline to the exact message that raised it\n setNotifs((list) => list.map((x) => (x.id === n.id ? { ...x, read: true } : x)));\n if (selected() !== n.agentId && agents().some((a) => a.id === n.agentId)) select(n.agentId);\n setShowNotifs(false);\n if (n.eventId)\n // wait for the timeline swap before scrolling\n setTimeout(() => jumpToEvent(n.eventId!), selected() !== n.agentId ? 350 : 60);\n }}\n >\n <div class=\"nhead\">\n <span class=\"nicon\">{n.kind === \"finish\" ? \"✅\" : n.kind === \"question\" ? \"❓\" : n.kind === \"error\" ? \"⚠️\" : \"📈\"}</span>\n <span class=\"ntitle\">{n.title}</span>\n <span class=\"meta muted\">{relTime(new Date(n.at).toISOString())}</span>\n <button\n class=\"iconbtn nreadbtn\"\n title={n.read ? \"already read\" : \"mark as read\"}\n onclick={(e: MouseEvent) => {\n e.stopPropagation();\n setNotifs((list) => list.map((x) => (x.id === n.id ? { ...x, read: true } : x)));\n }}\n >{n.read ? \"✓\" : \"○\"}</button>\n </div>\n <Show when={n.body}>\n <div class=\"nbody\">{truncate(n.body, 160)}</div>\n </Show>\n </div>\n )}\n </For>\n </div>\n </Show>\n </div>\n </Show>\n <Show when={showNew()}>\n <NewAgentModal\n providers={Object.keys(cfg().providers ?? {})}\n onClose={() => setShowNew(false)}\n onCreated={(id) => { setShowNew(false); refreshAgents(); select(id); }}\n />\n </Show>\n <Show when={showCfg()}>\n <ConfigModal cfg={cfg()} onClose={() => setShowCfg(false)} onSaved={() => { loadCfg(); loadTasks(); }} />\n </Show>\n <Show when={editing()} fallback={null}>\n {(ed) => {\n const idx = () => events().findIndex((e) => e.id === ed().eventId);\n const afterCount = () => Math.max(0, events().length - idx() - 1);\n const [tail, setTail] = createSignal<\"summarize\" | \"discard\">(afterCount() > 0 ? \"summarize\" : \"discard\");\n return (\n <Modal title=\"edit prompt — forks the conversation\" onClose={() => setEditing(null)}>\n <form\n onsubmit={async (ev) => {\n ev.preventDefault();\n const ta = document.getElementById(\"edit-text\") as HTMLTextAreaElement;\n try {\n await api(`/api/agents/${selected()}/edit-prompt`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ eventId: ed().eventId, text: ta.value, tail: tail() }),\n });\n setEditing(null);\n refreshAgents();\n const id = selected();\n if (id) await select(id);\n } catch (ex) {\n alert(`edit failed: ${(ex as Error).message}`);\n }\n }}\n style=\"display:flex;flex-direction:column;gap:10px\"\n >\n <textarea id=\"edit-text\" class=\"mono w100\" rows={6} value={ed().text} />\n <Show when={afterCount() > 0}>\n <div>\n <div style=\"font-size:12.5px;margin-bottom:4px\">\n {afterCount()} event(s) came after this prompt — what should happen to them on the new branch?\n </div>\n <label style=\"display:flex;gap:6px;align-items:center;font-size:13px;color:var(--fg)\">\n <input type=\"radio\" name=\"tail\" checked={tail() === \"summarize\"} onchange={() => setTail(\"summarize\")} />\n summarize them into a note the agent can still read\n </label>\n <label style=\"display:flex;gap:6px;align-items:center;font-size:13px;color:var(--fg)\">\n <input type=\"radio\" name=\"tail\" checked={tail() === \"discard\"} onchange={() => setTail(\"discard\")} />\n discard them entirely (clean timeline)\n </label>\n </div>\n </Show>\n <div style=\"display:flex;justify-content:flex-end;gap:8px\">\n <button type=\"button\" onclick={() => setEditing(null)}>cancel</button>\n <button type=\"submit\" style=\"background:var(--acc);border:none;border-radius:6px;color:#fff;padding:6px 12px;cursor:pointer\">\n ⑂ fork & resend\n </button>\n </div>\n </form>\n </Modal>\n );\n }}\n </Show>\n\n </>\n );\n}\n\n/* ---------- one chat message row ---------- */\n/* ---------- live elapsed-time ticker for a still-running bash call ---------- */\nfunction BashElapsed(props: { startedAt: string; inline?: boolean; timeoutMs?: number }) {\n const start = new Date(props.startedAt).getTime();\n const [now, setNow] = createSignal(Date.now());\n onMount(() => {\n // 500ms tick is plenty for a seconds readout and stops with the row\n const t = setInterval(() => setNow(Date.now()), 500);\n onCleanup(() => clearInterval(t));\n });\n const s = () => Math.max(0, (now() - start) / 1000);\n const txt = () =>\n s() < 60 ? `${s().toFixed(1)}s` : `${Math.floor(s() / 60)}m ${Math.round(s() % 60)}s`;\n // inline: compact form for the folded summary (\"running… 1m 26s\")\n if (props.inline) {\n return (\n <span class=\"bashelapsed\">\n running… {txt()}\n {props.timeoutMs ? ` · timeout ${Math.round(props.timeoutMs / 1000)}s` : \"\"}\n </span>\n );\n } return <span class=\"bashelapsed\">{txt()} elapsed</span>;\n}\n\n/** Live elapsed-seconds readout for the current thinking stretch. */\nfunction ThinkingTimer(props: { startedAt: number }) {\n const [now, setNow] = createSignal(Date.now());\n onMount(() => {\n const t = setInterval(() => setNow(Date.now()), 500);\n onCleanup(() => clearInterval(t));\n });\n const s = () => Math.max(0, (now() - props.startedAt) / 1000);\n return (\n <span class=\"thinktimer\">\n {s() < 60 ? `${s().toFixed(0)}s` : `${Math.floor(s() / 60)}m ${Math.round(s() % 60)}s`}\n </span>\n );\n}\n\n/* ---------- per-tool timeline rendering ---------- */\n\nfunction ToolRow(props: { e: Ev; res?: Ev; agentActive?: boolean; onResize?: () => void }) {\n const e = props.e;\n const res = props.res;\n // STALE-RUN GUARD: if the agent is no longer running, an unpaired tool_call\n // cannot still be in flight (its result event was missed — e.g. logged while\n // the tab was hidden). Rendering it forever as \"running…\" was exactly that:\n // switching sessions and back \"fixed\" it because that reloaded the log.\n const staleDone = !props.agentActive && !res;\n const d = e.data ?? {};\n const name = String(d.name ?? \"tool\");\n const out = () => (res ? String(res.data?.result ?? \"\") : \"\");\n\n // per-tool summary line: [icon, label, hint]\n let icon = \"⚙\";\n let label = name;\n let hint: string | null = \"\";\n let body: any = <div class=\"mono\">{truncate(JSON.stringify(d.args ?? {}, null, 1), 2000)}</div>;\n\n const argStr = (k: string) => String(d.args?.[k] ?? \"\");\n // best-effort \"what was run\" text per tool: bash→the command, others→path/args\n const cmdText = () => {\n if (name === \"bash\") return argStr(\"command\");\n return argStr(\"path\") || JSON.stringify(d.args ?? {}, null, 1);\n };\n // effective timeout for live elapsed display — tools with defaults that the\n // model omitted (wait_children: 5 min) still show their real cap\n const effTimeout = () => {\n if (name === \"bash\") return Number(argStr(\"timeout_ms\")) || undefined;\n if (name === \"wait_children\") return Number(argStr(\"timeout_ms\")) || 300_000;\n return Number(argStr(\"timeout_ms\")) || undefined;\n };\n const codeBlock = (text: string, max = 1500) => (\n <pre class=\"mono toolbody\">{truncate(text, max)}</pre>\n );\n const resultBlock = (max = 4000) =>\n res ? (\n <>\n {codeBlock(out(), max)}\n <div class=\"meta\">\n {res.data?.durationMs}ms{res.data?.ok === false ? \" · FAILED\" : \"\"}\n <CopyBtn text={out()} />\n </div>\n </>\n ) : (\n <div class=\"meta\">waiting for output…</div>\n );\n\n try {\n switch (name) {\n case \"bash\": {\n const cmd = argStr(\"command\");\n const isBg = d.args?.background === true;\n // background jobs return INSTANTLY (the shell keeps running) — a plain\n // \"$ cmd · 12ms\" row read as \"finished immediately\" and the job was\n // forgotten. Give them their own identity + the job id for bash_output.\n const bgJob = isBg ? (String(out()).match(/job (bg\\d+)/)?.[1] ?? \"\") : \"\";\n label = (isBg ? \"⏳ \" : \"$ \") + oneLine(cmd, 96);\n const timeoutHint = argStr(\"timeout_ms\") ? ` · timeout ${Math.round(Number(argStr(\"timeout_ms\")) / 1000)}s` : \"\";\n hint = res\n ? isBg\n ? `background job${bgJob ? ` ${bgJob}` : \"\"}${timeoutHint}`\n : `${res.data?.durationMs ?? \"?\"}ms${timeoutHint}`\n : null; // live elapsed renders in the summary (below)\n body = (\n <>\n {isBg ? (\n <div class=\"meta bgjob-note\">\n runs in background — poll with <b>bash_output(job_id=&quot;{bgJob || \"?\"}&quot;)</b>\n {bgJob ? <> · kill with <b>action=\"kill\"</b></> : null}\n </div>\n ) : null}\n {cmd !== label.slice(isBg ? 2 : 2) ? codeBlock(cmd, 800) : null}\n {resultBlock(6000)}\n </>\n );\n break;\n }\n case \"read_file\": {\n label = argStr(\"path\") || \"(no path)\";\n const bits: string[] = [];\n if (argStr(\"pattern\")) bits.push(`grep /${oneLine(argStr(\"pattern\"), 40)}/`);\n if (Number(d.args?.offset) < 0) bits.push(`last ${-Number(d.args.offset)} lines`);\n else if (d.args?.offset) bits.push(`from L${d.args.offset}`);\n if (d.args?.limit) bits.push(`≤${d.args.limit} lines`);\n hint = bits.join(\" · \");\n body = resultBlock(6000);\n break;\n }\n case \"write_file\": {\n const content = String(d.args?.content ?? \"\");\n label = argStr(\"path\") || \"(no path)\";\n hint = `${fmtK(content.length)} bytes`;\n // content was rendered UNTRUNCATED — a few big write_file calls (the\n // 100KB+ ones real sessions accumulate) made those chats take seconds\n // to open and chew CPU on every prepend while scrolling back\n body = (\n <>\n {codeBlock(content, 1500)}\n {content.length > 1500 ? <div class=\"meta muted\">{fmtK(content.length)} bytes — open it from 🗂 files for the full view</div> : null}\n {res ? <div class=\"meta\">{oneLine(out(), 160)}</div> : <div class=\"meta\">writing…</div>}\n </>\n );\n break;\n }\n case \"edit_file\": {\n label = argStr(\"path\") || \"(no path)\";\n hint = d.args?.replace_all === true ? \"replace all\" : \"unique spot\";\n body = (\n <>\n <pre class=\"mono toolbody del\">{truncate(\"- \" + argStr(\"old_text\"), 900)}</pre>\n <pre class=\"mono toolbody add\">{\"+ \" + truncate(argStr(\"new_text\"), 900)}</pre>\n {res ? (\n <div class=\"meta\">\n {oneLine(out(), 120)} · {res.data?.durationMs}ms\n </div>\n ) : (\n <div class=\"meta\">applying…</div>\n )}\n </>\n );\n break;\n }\n case \"apply_patch\": {\n const patchLines = argStr(\"patch\").split(\"\\n\").filter((l) => l && !/^---$/.test(l.trim()));\n const files = patchLines\n .map((l) => l.match(/^\\*\\*\\* (?:Add|Update|Delete) File: (.+)$/)?.[1])\n .filter(Boolean) as string[];\n label = files.length ? `${files.length} file${files.length > 1 ? \"s\" : \"\"}: ${oneLine(files.join(\", \"), 80)}` : \"patch\";\n // huge patches rendered one <div> PER LINE with no cap — multi-thousand-\n // line patches froze the feed. Show the head; the rest is noise here.\n const MAX_PATCH_LINES = 60;\n const shown = patchLines.slice(0, MAX_PATCH_LINES);\n body = (\n <>\n <pre class=\"mono toolbody patch\">\n {shown.map((l) => {\n const cls = l.startsWith(\"+\") ? \" add\" : l.startsWith(\"-\") ? \" del\" : /^\\*\\*\\*|^@@/.test(l) ? \" meta\" : \"\";\n return <div class={\"pline\" + cls}>{l.length > 240 ? l.slice(0, 240) + \"…\" : l}</div>;\n })}\n {patchLines.length > MAX_PATCH_LINES ? <div class=\"pline meta\">… {patchLines.length - MAX_PATCH_LINES} more lines</div> : null}\n </pre>\n {res ? <div class=\"meta\">{oneLine(out().split(\"\\n\")[0] ?? \"\", 140)}{res.data?.ok === false ? \" · FAILED\" : \"\"}</div> : <div class=\"meta\">validating…</div>}\n </>\n );\n break;\n }\n case \"list_dir\": {\n label = argStr(\"path\") || \".\";\n body = resultBlock(4000);\n break;\n }\n case \"read_url\": {\n let host = argStr(\"url\");\n try { const u = new URL(host); host = u.host + u.pathname; } catch { /* keep raw */ }\n label = oneLine(host, 70);\n hint = \"web\";\n body = (\n <>\n <div class=\"meta\">\n <Show\n when={/^https?:/i.test(argStr(\"url\"))}\n fallback={<span class=\"muted\">{oneLine(argStr(\"url\"), 80)}</span>}\n >\n <a href={argStr(\"url\")} target=\"_blank\" rel=\"noopener noreferrer\" referrerPolicy=\"no-referrer\">open ↗</a>\n </Show>\n </div>\n {resultBlock(3000)}\n </>\n );\n break;\n }\n case \"bash_output\": {\n // reading vs killing reads differently at a glance\n const action = argStr(\"action\") || \"read\";\n const jobId = argStr(\"job_id\") || \"(?)\";\n label = `bash_output ${jobId}`;\n hint = action;\n body = resultBlock(4000);\n break;\n }\n case \"load_skill\": {\n label = `skill: ${argStr(\"name\")}`;\n const mdBody = out().replace(/^---\\r?\\n[\\s\\S]*?\\r?\\n---\\r?\\n?/, \"\"); // strip frontmatter\n body = res ? (\n <>\n <div class=\"content\" innerHTML={renderMarkdown(mdBody)} />\n <div class=\"meta\">{res.data?.durationMs}ms</div>\n </>\n ) : (\n <div class=\"meta\">loading…</div>\n );\n break;\n }\n case \"save_skill\": {\n label = `skill: ${argStr(\"name\")}`;\n hint = oneLine(argStr(\"description\"), 60);\n const files = Array.isArray(d.args?.files) ? d.args.files.map((f: any) => f?.name).filter(Boolean) : [];\n body = (\n <>\n {files.length ? <div class=\"meta\">bundled: {files.join(\", \")}</div> : null}\n {res ? <div class=\"meta\">{oneLine(out(), 160)} · {res.data?.durationMs}ms</div> : <div class=\"meta\">saving…</div>}\n </>\n );\n break;\n }\n }\n } catch {\n /* fall back to the generic view on anything unexpected */\n }\n\n return (\n <details\n class={\"embed\" + (res ? (res.data?.ok === false ? \" fail\" : \" done\") : staleDone ? \" done\" : \" running\")}\n title={`${name}${hint ? \" — \" + hint : \"\"}`}\n onToggle={(ev: ToggleEvent) => {\n // expanding/collapsing changes the feed height; while following, the\n // bottom line must stay pinned instead of drifting out of view\n if ((ev.target as HTMLDetailsElement).open) props.onResize?.();\n }}\n >\n <summary>\n <b>{icon} {label}</b>\n <Show when={e.data?.actor}>\n <span class=\"actor\">@{String(e.data.actor)}</span>\n </Show>\n <span class=\"meta\">\n {res\n ? hint || \"\"\n : staleDone\n ? \"(result missed)\"\n : name === \"bash\" || effTimeout()\n ? // any tool with a timeout shows live elapsed + its cap\n <BashElapsed startedAt={e.ts} inline timeoutMs={effTimeout()} /> // visible while folded\n : \"running…\"}\n </span>\n {/* dedicated copy buttons: the generic header \"copy\" copied \"\" on tool\n rows (rawOf only knows prompts/messages) — now the command that ran\n and its output each have their own button */}\n <span class=\"toolcopy\">\n <CopyBtn text={cmdText()} label=\"⧉ cmd\" title={`copy the ${name} arguments`} />\n <Show when={res}>\n <CopyBtn text={out()} label=\"⧉ out\" title=\"copy this tool's full output\" />\n </Show>\n </span>\n </summary>\n {body}\n </details>\n );\n}\n\n/** The un-rendered source text of a chat row — what \"copy raw\" should give. */\nfunction rawOf(e: Ev): string {\n const d = e.data ?? {};\n if (e.type === \"prompt\") return String(d.text ?? \"\");\n if (e.type === \"message\") {\n // include reasoning when present, separated, so nothing is lost\n const r = typeof d.reasoning === \"string\" && d.reasoning.trim()\n ? `<reasoning>\\n${d.reasoning}\\n</reasoning>\\n\\n`\n : \"\";\n return `${r}${String(d.content ?? \"\")}`;\n }\n if (e.type === \"tool_call\") {\n // the header copy button used to sit on tool rows too and copied \"\"\n // (rawOf only knew prompts/messages) — tool rows get dedicated\n // command/output buttons inside ToolRow instead, so nothing here\n return \"\";\n }\n return \"\";\n}\n\nfunction MessageRow(props: { e: Ev; prev?: Ev; res?: Ev; onEdit?: () => void; onCancel?: () => void; onOption?: (text: string) => void; answeredIds?: Set<string>; agentActive?: boolean; onResize?: () => void }) {\n const e = props.e;\n const a = authorOf(e);\n // Group consecutive rows from the same ACTOR. The actor for tool events is\n // THE AGENT (they are its actions) — keying by tool name broke grouping as\n // soon as two different tools ran back to back (bash→read_file→bash).\n const actorKey = (ev: Ev): string => {\n const d = ev.data ?? {};\n if (ev.data?.actor) return `sub:${String(ev.data.actor)}`;\n if (ev.type === \"tool_call\" || ev.type === \"tool_result\") return \"agent-tools\";\n if (ev.type === \"prompt\") return `src:${String(d.source ?? \"user\")}`;\n return `type:${ev.type}`;\n };\n const grouped =\n props.prev &&\n actorKey(props.prev) === actorKey(e) &&\n authorOf(props.prev).name === a.name &&\n e.session === props.prev.session &&\n e.branch === props.prev.branch;\n\n // non-chat-looking events become divider lines\n if (e.type === \"fork\") {\n const d = e.data ?? {};\n return (\n <div class=\"divider-msg\">\n ⑂ forked from {String(d.fromBranch ?? \"?\")} → {String(d.newBranch ?? e.branch)}\n </div>\n );\n }\n if (e.type === \"goal\") {\n const d = e.data ?? {};\n const what = d.event === \"status\" ? `marked ${String(d.status ?? \"\")}` : oneLine(String(d.text ?? \"\"), 80);\n return <div class=\"divider-msg\">🎯 goal {String(d.event ?? \"\")}: {what}</div>;\n }\n if (e.type === \"todo\") {\n return <div class=\"divider-msg\">✅ tasks updated ({String(e.data?.by ?? \"human\")})</div>;\n }\n if (e.type === \"state\") {\n if (e.data.from === e.data.to) return null;\n return (\n <div class={\"divider-msg\" + (e.data.to === \"error\" ? \" err\" : \"\")}>\n {e.data.from} → {e.data.to}{e.data.reason ? ` — ${e.data.reason}` : \"\"}\n </div>\n );\n }\n // system_note MUST resolve here (before the .msg wrapper): the wrapper\n // always renders an avatar + empty body, so notes handled only inside\n // SwitchContent appeared as mysterious EMPTY rows on the timeline.\n // Most notes are log-only; these few earn a visible divider/embed row.\n if (e.type === \"system_note\") {\n const ev = String(e.data?.event ?? \"\");\n if (ev === \"runaway-detected\") {\n return (\n <div class=\"embed fail\" title={`${e.data?.failures} consecutive tool failures hit the configured limit (${e.data?.limit})`}>\n <div class=\"mono\">🛑 runaway: {String(e.data?.failures)} tool failures in a row (limit {String(e.data?.limit)})</div>\n <div class=\"meta\">last: {String(e.data?.lastTool)} — {String(e.data?.lastError ?? \"\").slice(0, 200)}</div>\n </div>\n );\n }\n if (ev === \"error-retry\") {\n return (\n <div class=\"embed warn-embed\" title=\"a round-fatal API error occurred; auto-retry is waiting, then a fresh round starts (onError: retry)\">\n <div class=\"mono\">↻ API error — retrying (attempt {String(e.data?.attempt)}) in {Math.round(Number(e.data?.waitMs) / 1000)}s…</div>\n </div>\n );\n }\n if (ev === \"background-exit\") {\n const failed = e.data?.failed === true;\n const secs = Math.round(Number(e.data?.durationMs ?? 0) / 1000);\n return (\n <div class={\"divider-msg\" + (failed ? \" err\" : \"\")} title={String(e.data?.cmd ?? \"\")}>\n {(failed ? \"⚠ background job \" : \"✓ background job \") +\n String(e.data?.jobId ?? \"?\") + \" \" +\n (failed ? `FAILED (exit ${String(e.data?.code ?? \"?\")})` : `finished (${secs}s)`)}\n </div>\n );\n }\n if (ev === \"context-compacted\") {\n return (\n <div class=\"divider-msg\">\n 🗜 compacted: {String(e.data?.tokensBefore ?? \"?\")} → {String(e.data?.tokensAfter ?? \"?\")} tok ({String(e.data?.mode ?? \"\")})\n </div>\n );\n }\n return null; // log-only notes (prompt-delivered, llm-retry, …)\n }\n\n return (\n <div\n class={\"msg\" + (grouped ? \" grouped\" : \"\") + (e.data?.pending ? \" pending\" : \"\")}\n data-eid={e.id}\n >\n {/* grouped rows keep the same geometry as the row that started the\n run — same avatar slot, but EMPTY (no faded ghost icon): a column of\n faint 🧩s read as separate \"sub messages\" instead of continuation\n lines. Hover still shows time+branch via the title. */}\n <div\n class={\"avatar avghost\" + (grouped ? \" ghosted\" : \"\")}\n style={{ background: grouped ? \"transparent\" : a.color + \"33\", border: grouped ? \"1px solid transparent\" : `1px solid ${a.color}66` }}\n title={grouped ? `${fmtTs(e.ts)} · ${e.branch}` : undefined}\n >\n {grouped ? \"\" : a.icon}\n </div>\n <div class=\"msg-body\">\n {grouped && <span class=\"grouptime\" title={`${fmtTs(e.ts)} · ${e.branch}`} />}\n <Show when={!grouped}>\n <div class=\"msg-head\">\n <span class=\"author\" style={{ color: a.color }}>{a.name}</span>\n <Show when={e.data?.actor}>\n <span class=\"actor\">@{String(e.data.actor)}</span>\n </Show>\n <span class=\"ts\">{e.data?.pending ? \"queued…\" : fmtTs(e.ts)}</span>\n <span class=\"ts\">{e.branch}</span>\n <Show when={props.onCancel}>\n <button\n class=\"editbtn\"\n title=\"withdraw this message — it has not reached the model yet; the text goes back to the input box\"\n onclick={(ev: MouseEvent) => { ev.stopPropagation(); props.onCancel!(); }}\n >✕ cancel</button>\n </Show>\n {/* tool rows have no copyable message body — their command/output\n buttons live inside ToolRow; rendering the header button anyway\n produced a \"copy\" that silently copied the empty string */}\n <Show when={e.type !== \"tool_call\"}>\n <CopyBtn text={rawOf(e)} label=\"⧉ copy\" title=\"copy the RAW text of this message (no markdown rendering)\" />\n </Show>\n <Show when={props.onEdit}>\n <button\n class=\"editbtn\"\n title=\"edit this prompt — forks the conversation here (later events are dropped or summarized)\"\n onclick={(ev: MouseEvent) => { ev.stopPropagation(); props.onEdit!(); }}\n >✎ edit</button>\n </Show>\n </div>\n </Show>\n\n <SwitchContent e={e} res={props.res} onOption={props.onOption} answeredIds={props.answeredIds} agentActive={props.agentActive} onResize={props.onResize} />\n </div>\n </div>\n );\n}\n\n/**\n * Free-text answer row under an ask_user embed. The agent's reply arrives as\n * a regular user prompt, so this just routes through onOption — but it lets\n * the operator answer with something that wasn't among the offered options.\n */\nfunction FreeTextAnswer(props: { answered: boolean; onOption?: (t: string) => void }) {\n const [val, setVal] = createSignal(\"\");\n const submit = () => {\n const t = val().trim();\n if (!t || props.answered) return;\n setVal(\"\");\n props.onOption?.(t);\n };\n return (\n <div class=\"qfree\">\n <input\n type=\"text\"\n placeholder={props.answered ? \"answered\" : \"or type your own answer…\"}\n disabled={props.answered}\n value={val()}\n oninput={(e) => setVal(e.currentTarget.value)}\n onkeydown={(e: KeyboardEvent) => {\n if (e.key === \"Enter\") { e.preventDefault(); submit(); }\n }}\n />\n <button disabled={props.answered || !val().trim()} onclick={submit}>reply</button>\n </div>\n );\n}\n\nfunction SwitchContent(props: { e: Ev; res?: Ev; onOption?: (text: string) => void; answeredIds?: Set<string>; agentActive?: boolean; onResize?: () => void }) {\n const e = props.e;\n switch (e.type) {\n case \"prompt\": {\n // image attachments render as thumbnails under the text (logged events\n // carry data.images; optimistic echoes carry data.pending images array)\n const imgs: string[] = e.data?.images ?? [];\n return (\n <>\n <div class=\"content\" innerHTML={renderMarkdownCached(String(e.data.text ?? \"\"))} />\n <Show when={imgs.length}>\n <div class=\"promptimgs\">\n <For each={imgs}>{(src) => <img src={src} class=\"promptimg\" alt=\"attachment\" />}</For>\n </div>\n </Show>\n </>\n );\n }\n case \"message\":\n return (\n <>\n <Show when={typeof e.data.reasoning === \"string\" && e.data.reasoning.trim()}>\n <details class=\"reasoning\">\n <summary>💭 reasoning{String(e.data.reasoning).length > 4000 ? ` (${fmtK(String(e.data.reasoning).length)} — truncated)` : \"\"}</summary>\n <div class=\"mono\">{truncate(String(e.data.reasoning), 8000)}</div>\n </details>\n </Show>\n <div class=\"content\" innerHTML={renderMarkdownCached(String(e.data.content ?? \"\"))} />\n <Show when={e.data.interrupted}>\n <div class=\"interrupted\">⚠ interrupted — partial output kept</div>\n </Show>\n <Show when={e.data.final}>\n <div class=\"msgfoot\"><CopyBtn text={String(e.data.content ?? \"\")} /><span>copy summary</span></div>\n </Show>\n </>\n );\n case \"tool_call\":\n return <ToolRow e={e} res={props.res} agentActive={props.agentActive} onResize={props.onResize} />;\n case \"tool_result\": {\n // orphan result (its call scrolled past the 300-event window)\n const out = String(e.data.result);\n return (\n <details class={\"embed\" + (e.data.ok ? \"\" : \" fail\")}>\n <summary>\n <span class=\"meta\">{oneLine(out, 120)}</span>\n <CopyBtn text={out} />\n </summary>\n <div class=\"mono\">{truncate(out, 4000)}</div>\n <div class=\"meta\">{e.data.durationMs}ms{e.data.ok ? \"\" : \" · FAILED\"}</div>\n </details>\n );\n }\n case \"decision\": {\n const alts = Array.isArray(e.data?.alternatives) ? (e.data.alternatives as string[]) : [];\n return (\n <details class=\"embed decision\">\n <summary>\n <b>📌 <span class=\"content inline-md\" innerHTML={renderMarkdownCached(String(e.data?.decision ?? \"\"))} /></b>\n <span class=\"meta\">decision logged</span>\n </summary>\n {/* model-written markdown, same as progress bodies */}\n <div class=\"content\" innerHTML={renderMarkdownCached(String(e.data?.rationale ?? \"\"))} />\n <Show when={alts.length}>\n <div class=\"content muted\">Rejected: {alts.join(\" / \")}</div>\n </Show>\n </details>\n );\n }\n case \"question\": {\n const opts = Array.isArray(e.data?.options) ? (e.data.options as string[]) : [];\n // a question is ANSWERED once its tool_result exists in the log (ask_user\n // parks the loop; the reply lands as a user prompt and the tool_result\n // closes the call). Answered questions keep their options visible but\n // disabled — tapping them twice used to send duplicate prompts.\n const callId = e.data?.callId ? String(e.data.callId) : \"\";\n const answered = props.answeredIds?.has(callId) ?? false;\n return (\n <div class={\"embed question\" + (answered ? \" answered\" : \"\")}>\n {/* questions are model-written and often carry markdown (code refs,\n lists) — render them like progress embeds instead of dumping raw */}\n <div>❓ <div class=\"content inline-md\" innerHTML={renderMarkdownCached(String(e.data?.question ?? \"\"))} /></div>\n <Show when={answered}>\n <div class=\"meta\" style=\"color:var(--ok)\">✓ answered — continuing below</div>\n </Show>\n <Show when={opts.length > 0}>\n <div class=\"qopts\">\n <For each={opts}>\n {(o) => (\n <button\n class=\"qopt\"\n disabled={answered}\n onclick={() => {\n const actor = e.data?.actor;\n if (actor) {\n void api(`/api/agents/${encodeURIComponent(String(actor))}/prompt`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ text: o, start: true }),\n }).then(() => flashHint(`→ answered @${String(e.data.actor)}`)).catch(() => flashHint(\"answer failed\"));\n } else {\n props.onOption?.(o);\n }\n }}\n >{o}</button>\n )}\n </For>\n </div>\n </Show>\n <FreeTextAnswer answered={answered} onOption={props.onOption} />\n </div>\n );\n }\n case \"progress\":\n return (\n <div class=\"embed\" style=\"border-color: var(--ok)\">\n {/* progress bodies are model-written markdown — render them, don't\n dump raw text (structured fields keep their labels) */}\n <div>📈 <div class=\"content inline-md\" innerHTML={renderMarkdownCached(String(e.data.doing ?? \"\"))} /></div>\n <Show when={e.data.goalStatus}><div class=\"progrow\"><b>goal</b><span>{String(e.data.goalStatus)}</span></div></Show>\n <Show when={e.data.recent}><div class=\"progrow\"><b>recent</b><span class=\"content inline-md\" innerHTML={renderMarkdownCached(String(e.data.recent))} /></div></Show>\n <Show when={e.data.problems}><div class=\"progrow warn\"><b>⚠ problems</b><span class=\"content inline-md\" innerHTML={renderMarkdownCached(String(e.data.problems))} /></div></Show>\n <Show when={e.data.next}><div class=\"progrow\"><b>next</b><span class=\"content inline-md\" innerHTML={renderMarkdownCached(String(e.data.next))} /></div></Show>\n </div>\n );\n case \"error\":\n return <div class=\"embed fail\"><div class=\"mono\">⚠ {String(e.data.message ?? \"\")}</div></div>;\n case \"compaction\":\n return (\n <details class=\"embed compaction\">\n <summary>\n <b>🗜 context compacted</b>\n <span class=\"meta\">\n {String(e.data.mode ?? \"\")} · {fmtK(Number(e.data.tokensBefore ?? 0))} → {fmtK(Number(e.data.tokensAfter ?? 0))} tok\n {\" · \"}{e.data.summarized ? `${e.data.summarized} summarized` : `${e.data.dropped} dropped`}\n </span>\n </summary>\n <Show when={e.data.summary}>\n <div class=\"vtitle\" style=\"margin-top:6px\">what the agent kept</div>\n <div class=\"content\" innerHTML={renderMarkdownCached(String(e.data.summary))} />\n </Show>\n </details>\n );\n default:\n return <div class=\"content muted\">{truncate(JSON.stringify(e.data), 200)}</div>;\n }\n}\n\nfunction truncate(s: string, n: number): string {\n return s.length > n ? s.slice(0, n) + \" …\" : s;\n}\n\n/** \"in 5m\" / \"3m ago\" — for schedule next/last columns */\nfunction relTime(iso: string): string {\n const ms = new Date(iso).getTime() - Date.now();\n const abs = Math.abs(ms);\n const unit =\n abs < 90_000 ? `${Math.round(abs / 1000)}s`\n : abs < 5_400_000 ? `${Math.round(abs / 60_000)}m`\n : `${(abs / 3_600_000).toFixed(1)}h`;\n return ms >= 0 ? `in ${unit}` : `${unit} ago`;\n}\n\n/** compact token counts with k/m/b suffixes: 12345 → \"12k\", 2.2M → \"2.2m\" */\nfunction fmtK(n: number): string {\n if (n >= 1e9) return `${+(n / 1e9).toFixed(1)}b`;\n if (n >= 1e6) return `${+(n / 1e6).toFixed(1)}m`;\n if (n >= 10_000) return `${Math.round(n / 1000)}k`;\n if (n >= 1000) return `${(n / 1000).toFixed(1)}k`;\n return String(n);\n}\n\n/** session cost in USD: cents below $1, whole dollars above — no noise */\nfunction costFmt(usd: number): string {\n if (usd >= 100) return Math.round(usd).toLocaleString();\n if (usd >= 10) return usd.toFixed(1);\n if (usd >= 1) return usd.toFixed(2);\n if (usd >= 0.01) return usd.toFixed(3);\n return usd.toFixed(4);\n}\n\n/** single-line preview with collapsed whitespace */\nfunction oneLine(s: string, n: number): string {\n const line = s.replace(/\\s+/g, \" \").trim();\n return truncate(line, n);\n}\n\n/* ---------- copy-to-clipboard button ---------- */\n/** Centered icon button — the shared home for emoji-glyph buttons. Emoji\n * baselines sit off-center in plain text buttons, so every icon button\n * should render through this (inline-flex centers the glyph properly). */\nfunction IconBtn(props: {\n icon: string;\n title: string;\n onClick?: (e: MouseEvent) => void;\n active?: boolean;\n class?: string;\n style?: string;\n}) {\n return (\n <button\n type=\"button\"\n class={\"iconbtn\" + (props.active ? \" active\" : \"\") + (props.class ? \" \" + props.class : \"\")}\n title={props.title}\n onclick={props.onClick}\n style={props.style}\n >\n <span class=\"iconbtn-glyph\">{props.icon}</span>\n </button>\n );\n}\n\nfunction CopyBtn(props: { text: string; label?: string; title?: string }) {\n const [done, setDone] = createSignal(false);\n const [failed, setFailed] = createSignal(false);\n const copy = (e: MouseEvent) => {\n e.preventDefault(); // <summary> buttons must not toggle the details row\n e.stopPropagation();\n const text = props.text ?? \"\";\n if (!text) {\n setFailed(true); // nothing to copy — say so instead of a silent no-op\n setTimeout(() => setFailed(false), 1200);\n return;\n }\n // clipboard API needs focus + secure context; fall back to the ancient\n // execCommand path when it rejects (background tab, permission denial)\n navigator.clipboard\n .writeText(text)\n .then(() => {\n setDone(true);\n setTimeout(() => setDone(false), 900);\n })\n .catch(() => {\n try {\n const ta = document.createElement(\"textarea\");\n ta.value = text;\n ta.style.position = \"fixed\";\n ta.style.opacity = \"0\";\n document.body.appendChild(ta);\n ta.select();\n document.execCommand(\"copy\");\n ta.remove();\n setDone(true);\n setTimeout(() => setDone(false), 900);\n } catch {\n setFailed(true);\n setTimeout(() => setFailed(false), 1200);\n }\n });\n };\n return (\n <button\n class=\"copybtn\"\n title={props.title ?? \"copy to clipboard\"}\n onclick={copy}\n >{done() ? \"✓\" : failed() ? \"✗\" : props.label ?? \"⧉\"}</button>\n );\n}\n\n/* ---------- modal shell ---------- */\nfunction Modal(props: { title: string; onClose: () => void; children: any }) {\n return (\n <div class=\"overlay\" onclick={(e: Event) => e.target === e.currentTarget && props.onClose()}>\n <div class=\"modal\">\n <div class=\"modal-head\">\n <b>{props.title}</b>\n <button class=\"iconbtn\" onclick={props.onClose}>✕</button>\n </div>\n {props.children}\n </div>\n </div>\n );\n}\n\n/* ---------- new agent ---------- */\nfunction NewAgentModal(props: { providers: string[]; onClose: () => void; onCreated: (id: string) => void }) {\n const [dir, setDir] = createSignal(\"~\");\n const [entries, setEntries] = createSignal<string[]>([]);\n const [name, setName] = createSignal(\"\");\n const [provider, setProvider] = createSignal(props.providers[0] ?? \"\");\n const [model, setModel] = createSignal(\"\");\n const [err, setErr] = createSignal(\"\");\n\n // The server resolves each requested path (absolute + ~ expansion) and\n // returns the RESOLVED path as d.path plus its parent. Keep those in state:\n // the old ↑ button sent a bare \"..\", which the server resolved against ITS\n // cwd — so going up never worked from the picker.\n async function browse(p?: string) {\n const d = await api(`/api/fs?path=${encodeURIComponent(p ?? dir())}`);\n setDir(d.path);\n setParent(d.parent ?? \"\");\n setEntries(d.entries ?? []);\n }\n onMount(() => browse(dir()));\n const [parent, setParent] = createSignal(\"\");\n\n const create = async (e: Event) => {\n e.preventDefault(); setErr(\"\");\n try {\n const r = await api(\"/api/agents\", {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n // start: false → the agent stays lazy/stopped; the first prompt (or\n // ▶ start) kicks off the loop, so no API call fires on an empty agent\n body: JSON.stringify({ workspace: dir(), id: name(), provider: provider() || undefined, model: model() || undefined, start: false }),\n });\n props.onCreated(r.agent.id);\n } catch (ex) { setErr(String((ex as Error).message)); }\n };\n\n return (\n <Modal title=\"new agent\" onClose={props.onClose}>\n <form onsubmit={create} style=\"display:flex;flex-direction:column;gap:10px\">\n <label>workspace directory\n <div style=\"display:flex;gap:6px\">\n <input type=\"text\" class=\"w100 mono\" value={dir()} oninput={(e) => setDir(e.currentTarget.value)} />\n <button type=\"button\" onclick={() => browse(dir())}>go</button>\n <button type=\"button\" title=\"parent directory\" onclick={() => parent() ? browse(parent()) : browse(\"..\")}>↑</button>\n </div>\n </label>\n <div class=\"dirlist\">\n <For each={entries()}>{(n) =>\n <div class=\"direntry\" onclick={() => browse(`${dir()}/${n}`.replace(/\\/+/g, \"/\"))}>📁 {n}</div>\n }</For>\n </div>\n <div style=\"display:flex;gap:10px\">\n <label style=\"flex:1\">agent name <input type=\"text\" placeholder=\"(directory name)\" value={name()} oninput={(e) => setName(e.currentTarget.value)} /></label>\n <label>provider\n <select value={provider()} onchange={(e) => setProvider(e.currentTarget.value)}>\n <For each={props.providers}>{(p) => <option>{p}</option>}</For>\n </select>\n </label>\n <label style=\"flex:1\">model <input type=\"text\" placeholder=\"(provider default)\" value={model()} oninput={(e) => setModel(e.currentTarget.value)} /></label>\n </div>\n <Show when={err()}><span style=\"color:var(--err);font-size:13px\">{err()}</span></Show>\n <button type=\"submit\" style=\"align-self:flex-end\">create</button>\n </form>\n </Modal>\n );\n}\n\n/* ---------- workspace file tree ---------- */\n\ninterface TreeNode {\n name: string;\n path: string;\n dir: boolean;\n size?: number;\n ignored?: boolean;\n}\n\ntype MediaKind = \"image\" | \"video\" | \"audio\";\nconst IMAGE_EXT = new Set([\"png\", \"jpg\", \"jpeg\", \"gif\", \"webp\", \"svg\", \"bmp\", \"ico\", \"avif\"]);\nconst VIDEO_EXT = new Set([\"mp4\", \"webm\", \"mov\", \"mkv\", \"avi\", \"m4v\"]);\nconst AUDIO_EXT = new Set([\"mp3\", \"wav\", \"ogg\", \"m4a\", \"flac\", \"aac\", \"opus\"]);\nfunction ficon(name: string): string {\n const ext = name.split(\".\").pop()?.toLowerCase() ?? \"\";\n const mk = mediaKindOf(name);\n if (mk === \"image\") return \"🖼\";\n if (mk === \"video\") return \"🎬\";\n if (mk === \"audio\") return \"🎵\";\n if ([\"ts\", \"tsx\", \"mts\", \"cts\"].includes(ext)) return \"🟦\";\n if ([\"js\", \"mjs\", \"cjs\", \"jsx\"].includes(ext)) return \"🟨\";\n if (ext === \"json\" || ext === \"jsonc\") return \"🧾\";\n if (ext === \"md\" || ext === \"mdx\" || ext === \"markdown\") return \"📝\";\n if (ext === \"css\" || ext === \"scss\" || ext === \"less\") return \"🎨\";\n if (ext === \"html\" || ext === \"htm\" || ext === \"svg\") return \"🌐\";\n if ([\"py\", \"pyi\"].includes(ext)) return \"🐍\";\n if (ext === \"rs\") return \"🦀\";\n if (ext === \"go\") return \"🐹\";\n if (ext === \"java\" || ext === \"kt\" || ext === \"kts\") return \"☕\";\n if (ext === \"rb\") return \"💎\";\n if (ext === \"php\") return \"🐘\";\n if (ext === \"c\" || ext === \"h\" || ext === \"cpp\" || ext === \"hpp\" || ext === \"cc\") return \"🧩\";\n if (ext === \"sh\" || ext === \"bash\" || ext === \"zsh\" || ext === \"fish\") return \"🐚\";\n if (ext === \"sql\") return \"🗄\";\n if (ext === \"yml\" || ext === \"yaml\" || ext === \"toml\" || ext === \"ini\" || ext === \"conf\") return \"⚙\";\n if (ext === \"lock\") return \"🔒\";\n if (name === \"Dockerfile\" || ext === \"dockerfile\") return \"🐳\";\n if (ext === \"zip\" || ext === \"gz\" || ext === \"tar\" || ext === \"tgz\" || ext === \"bz2\") return \"📦\";\n if (ext === \"pdf\") return \"📕\";\n if (ext === \"txt\" || ext === \"log\") return \"📄\";\n return \"·\";\n}\n\nfunction mediaKindOf(path: string): MediaKind | null {\n const ext = path.split(\".\").pop()?.toLowerCase() ?? \"\";\n if (IMAGE_EXT.has(ext)) return \"image\";\n if (VIDEO_EXT.has(ext)) return \"video\";\n if (AUDIO_EXT.has(ext)) return \"audio\";\n return null;\n}\n\n/* ---------- per-agent file-panel UI state (remount-proof) ----------\n * Preview popups / expanded dirs used to live INSIDE FilesPanel. Any parent\n * re-render that remounted the panel (agent snapshot churn re-evaluating the\n * keyed <Show>) wiped them: an open file popup vanished mid-read and the\n * tree collapsed. Keeping the state in a module-level store keyed by agent\n * makes it survive remounts; only a REAL agent switch starts fresh. */\ntype FileUiState = {\n expanded: Set<string>;\n preview: { path: string; content: string; binary?: boolean; truncated?: boolean } | null;\n media: { path: string; kind: MediaKind } | null;\n viewMode: \"code\" | \"edit\" | \"md\" | \"media\";\n};\nconst fileUi = new Map<string, FileUiState>();\nconst fileUiFor = (agentId: string): FileUiState => {\n let s = fileUi.get(agentId);\n if (!s) {\n s = { expanded: new Set(), preview: null, media: null, viewMode: \"code\" };\n fileUi.set(agentId, s);\n }\n return s;\n};\n\nfunction FilesPanel(props: { agentId: string; workspace: string }) {\n const ui = fileUiFor(props.agentId);\n // path → lazily fetched child listing (\"\" = workspace root)\n const [kids, setKids] = createSignal<Map<string, TreeNode[]>>(new Map());\n const [expanded, setExpandedRaw] = createSignal<Set<string>>(ui.expanded);\n // every preview/media/mode write mirrors into `ui` so a remount of this\n // panel (parent re-render churn) restores the open popup instead of losing it\n const [preview, setPreviewRaw] = createSignal(ui.preview);\n const setPreview = (v: FileUiState[\"preview\"]) => { ui.preview = v; setPreviewRaw(v); };\n const setExpanded = (v: Set<string>) => { ui.expanded = v; setExpandedRaw(v); };\n const [media, setMediaRaw] = createSignal(ui.media);\n const setMedia = (v: FileUiState[\"media\"]) => { ui.media = v; setMediaRaw(v); };\n const [viewMode, setViewModeRaw] = createSignal(ui.viewMode);\n const setViewMode = (v: FileUiState[\"viewMode\"]) => { ui.viewMode = v; setViewModeRaw(v); };\n const [err, setErr] = createSignal(\"\");\n // gitignored files: \"dim\" (default) | \"hide\" | \"show\"\n const [ignoreMode, setIgnoreMode] = createSignal(\n localStorage.getItem(\"teapot.ignoreMode\") ?? \"dim\",\n );\n const cycleIgnoreMode = () => {\n const order = [\"dim\", \"hide\", \"show\"] as const;\n const next = order[(order.indexOf(ignoreMode() as any) + 1) % 3];\n setIgnoreMode(next);\n localStorage.setItem(\"teapot.ignoreMode\", next);\n };\n /** filter helper per current mode */\n // \"hide\" removes ignored entries entirely — INCLUDING ignored directories\n // (node_modules/, dist/…). The old `!n.dir` exception kept ignored dirs\n // visible, which read as the toggle being broken. Expanding a hidden dir is\n // still possible via 🙈→👁 if ever needed.\n const ignoreFilter = (n: TreeNode) => (ignoreMode() === \"hide\" ? !n.ignored : true);\n // show dotfiles — also persisted; toggling refetches the open dirs\n const [showHidden, setShowHidden] = createSignal(\n localStorage.getItem(\"teapot.showHidden\") === \"1\",\n );\n const toggleHidden = () => {\n const next = !showHidden();\n // Fetch FIRST with the new flag, then flip the signal and patch the map\n // in place — flipping before the fetch landed left the tree showing its\n // old rows under a new filter (or nothing at all while in flight), which\n // collapsed .filebox and visibly reflowed the whole right panel.\n const targets = [\"\", ...expanded()];\n void Promise.all(targets.map(async (p) => ({ p, rows: await fetchDirWith(p, next) })))\n .then((results) => {\n setShowHidden(next);\n localStorage.setItem(\"teapot.showHidden\", next ? \"1\" : \"0\");\n // merge (not replace): unchanged rows keep their object identity, so\n // the toggle no longer rebuilds every visible row\n for (const { p, rows } of results) if (rows) mergeKids(p, rows);\n });\n };\n\n const parseEntries = (parentPath: string, list: any[]): TreeNode[] =>\n list.map((e) => ({\n name: String(e.name),\n path: parentPath ? `${parentPath}/${e.name}` : String(e.name),\n dir: !!e.dir,\n ...(typeof e.size === \"number\" ? { size: e.size } : {}),\n ...(e.ignored ? { ignored: true } : {}),\n }));\n\n async function fetchDir(path: string): Promise<TreeNode[] | null> {\n return fetchDirWith(path, showHidden());\n }\n\n /** same, but with an explicit dotfiles flag (used by the toggle's pre-fetch) */\n async function fetchDirWith(path: string, hidden: boolean): Promise<TreeNode[] | null> {\n try {\n const qs = new URLSearchParams();\n if (path) qs.set(\"path\", path);\n if (hidden) qs.set(\"hidden\", \"1\");\n const r = await api(\n `/api/agents/${props.agentId}/tree?${qs.toString()}`,\n );\n return parseEntries(path, r.entries ?? []);\n } catch (ex) {\n setErr((ex as Error).message);\n return null;\n }\n }\n\n // reset & load the root whenever a DIFFERENT agent is selected. The guard\n // matters: agent snapshots update on every poll/event burst, and without it\n // each update cleared + re-fetched the whole tree (visible flicker and a\n // pointless /tree request per snapshot).\n // Merge fetched rows into the cache WITHOUT replacing row objects that are\n // unchanged (same path+dir+size). Solid's <For> diffs by reference: handing\n // it brand-new TreeNode objects on every refresh tore down and rebuilt the\n // whole visible list — the \"tree flickers on refresh\" bug.\n const mergeKids = (path: string, rows: TreeNode[]) =>\n setKids((prev) => {\n const old = prev.get(path);\n if (!old) return new Map(prev).set(path, rows);\n const merged = old.map((o) => {\n const fresh = rows.find((r) => r.path === o.path);\n // keep the previous object when nothing changed → no remount\n return fresh && fresh.dir === o.dir && fresh.size === o.size &&\n fresh.ignored === o.ignored && fresh.name === o.name\n ? o\n : (fresh ?? o);\n });\n // append genuinely new entries (created since the last fetch)\n for (const r of rows) if (!old.some((o) => o.path === r.path)) merged.push(r);\n // drop entries that vanished from disk — but never the one being previewed\n const kept = merged.filter((m) => rows.some((r) => r.path === m.path) || ui.preview?.path === m.path);\n const next = new Map(prev);\n next.set(path, kept);\n return next;\n });\n\n let kidsFor = \"\";\n createEffect(() => {\n const id = props.agentId;\n if (id === kidsFor) return; // same agent — keep the loaded tree as-is\n kidsFor = id;\n // a REAL agent switch starts a fresh view; a mere panel remount keeps\n // everything (state lives in `ui`, see fileUiFor above)\n setExpanded(new Set<string>());\n setPreview(null);\n setMedia(null);\n setKids(new Map());\n void fetchDir(\"\").then((rows) => {\n if (rows && kidsFor === id) setKids(new Map([[ \"\", rows ]]));\n });\n });\n\n const toggleDir = async (node: TreeNode) => {\n const next = new Set<string>(expanded());\n if (next.has(node.path)) {\n next.delete(node.path);\n setExpanded(next);\n return;\n }\n next.add(node.path);\n setExpanded(next);\n if (!kids().has(node.path)) {\n const rows = await fetchDir(node.path);\n if (rows) mergeKids(node.path, rows);\n }\n };\n\n const [hlHtml, setHlHtml] = createSignal(\"\");\n const [hlPending, setHlPending] = createSignal(false);\n // editBuf stays local — it is transient typing state tied to one popup\n const [editBuf, setEditBuf] = createSignal(\"\");\n const [saving, setSaving] = createSignal(false);\n const isMd = (path: string) => /\\.(md|markdown|mdx)$/i.test(path);\n let hlRun = 0;\n const startHighlighting = async (p: { path: string; content: string; truncated?: boolean }) => {\n const run = ++hlRun;\n setHlHtml(\"\");\n setHlPending(true);\n try {\n const { highlightChunks } = await import(\"./shiki\");\n for await (const chunk of highlightChunks(p.path, p.content)) {\n if (hlRun !== run) return;\n setHlHtml((prev) => prev + chunk);\n }\n } catch {\n if (hlRun === run) setHlHtml(\"\"); // give up → plain fallback\n } finally {\n if (hlRun === run) setHlPending(false);\n }\n };\n onCleanup(() => { hlRun++; });\n\n const openFileWith = async (\n node: TreeNode,\n mode: \"code\" | \"edit\" | \"md\",\n ) => {\n // media files stream from the raw endpoint instead of text preview\n const mk = mediaKindOf(node.path);\n if (mk) {\n setPreview({ path: node.path, content: \"\", binary: true });\n setMedia({ path: node.path, kind: mk });\n setViewMode(\"media\");\n return;\n }\n try {\n const r = await api(\n `/api/agents/${props.agentId}/file?path=${encodeURIComponent(node.path)}`,\n );\n setMedia(null);\n setPreview({ path: node.path, content: r.content ?? \"\", binary: r.binary, truncated: r.truncated });\n setEditBuf(r.content ?? \"\");\n setViewMode(r.binary ? \"code\" : mode);\n if (!r.binary && mode !== \"md\") {\n startHighlighting({ path: node.path, content: r.content ?? \"\", truncated: r.truncated });\n }\n } catch (ex) {\n flashHint(`open failed: ${(ex as Error).message}`);\n }\n };\n\n /** PUT the edited buffer back; on conflict offer to load the disk version */\n const saveFile = async () => {\n const pv = preview();\n if (!pv || saving()) return;\n setSaving(true);\n try {\n await api(`/api/agents/${props.agentId}/file?path=${encodeURIComponent(pv.path)}`, {\n method: \"PUT\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ content: editBuf(), baseContent: pv.content }),\n });\n setPreview({ ...pv, content: editBuf() }); // new baseline for future conflicts\n flashHint(`saved ${pv.path}`);\n } catch (ex) {\n const raw = (ex as { payload?: unknown }).payload;\n const conflict =\n raw && typeof raw === \"object\" && (raw as any).error === \"file changed on disk\"\n ? (raw as { current?: string })\n : null;\n if (conflict?.current !== undefined) {\n // offer the fresh disk content instead of throwing away the save\n const take = confirm(\n \"This file changed on disk since you opened it.\\n\" +\n \"OK = load the disk version into the editor (your edits are discarded)\\n\" +\n \"Cancel = keep editing your copy\",\n );\n if (take) {\n setEditBuf(conflict.current!);\n setPreview({ ...pv, content: conflict.current! });\n flashHint(\"loaded the current file from disk\");\n } else {\n flashHint(\"kept your edits — use Save As via bash to force-write\");\n }\n } else {\n flashHint(`save failed: ${(ex as Error).message}`);\n }\n } finally {\n setSaving(false);\n }\n };\n\n const isEditable = (pv: { binary?: boolean; truncated?: boolean }) =>\n !pv.binary && !pv.truncated;\n\n const row = (node: TreeNode, depth: number): any => (\n <>\n <div\n class={\n \"filerow\" + (node.dir ? \" isdir\" : \"\") +\n (node.ignored && ignoreMode() === \"dim\" ? \" gitignored\" : \"\")\n }\n style={`padding-left:${depth * 13 + 8}px`}\n onclick={() => (node.dir ? void toggleDir(node) : void openFileWith(node, \"code\"))}\n title={node.dir ? `browse ${node.path}` : `preview ${node.path}`}\n >\n <span class=\"ficon\">{node.dir ? (expanded().has(node.path) ? \"▾\" : \"▸\") : ficon(node.name)}</span>\n <span class=\"fname\">{node.name}</span>\n <Show when={!node.dir && node.size !== undefined}>\n <span class=\"fsize\">{fmtK(node.size!)}</span>\n </Show>\n </div>\n <Show when={node.dir && expanded().has(node.path)}>\n <For each={(kids().get(node.path) ?? []).filter(ignoreFilter)}>{(child) => row(child, depth + 1)}</For>\n </Show>\n </>\n );\n\n const wsName = () => props.workspace.split(\"/\").filter(Boolean).pop() ?? props.workspace;\n\n /** refresh root + every expanded dir IN PLACE — mergeKids keeps unchanged\n * row objects, so the tree updates without flicker and an open file popup\n * is never touched (its state lives outside the row list entirely). */\n const [refreshing, setRefreshing] = createSignal(false);\n const refreshTree = async () => {\n if (refreshing()) return;\n setRefreshing(true);\n try {\n const targets = [\"\", ...expanded()];\n const results = await Promise.all(\n targets.map(async (p) => ({ p, rows: await fetchDirWith(p, showHidden()) })),\n );\n for (const { p, rows } of results) if (rows) mergeKids(p, rows);\n } finally {\n setRefreshing(false);\n }\n };\n\n return (\n <>\n <h3 style=\"display:flex;align-items:center;gap:6px\" title=\"the agent's workspace — lazy-loaded, dotfiles hidden; click a folder to expand, a file to preview\">\n 🗂 files <span class=\"muted\" style=\"text-transform:none;letter-spacing:0\">· {wsName()}</span>\n <IconBtn\n class=\"filetoggle\"\n icon={refreshing() ? \"…\" : \"⟳\"}\n title=\"refresh the tree (root + expanded folders) — open popups are kept\"\n onClick={() => void refreshTree()}\n />\n <IconBtn\n class=\"filetoggle\"\n style=\"margin-left:auto\"\n icon={ignoreMode() === \"hide\" ? \"🙈\" : ignoreMode() === \"dim\" ? \"👁\" : \"✨\"}\n title={`gitignored files: ${ignoreMode()} — click to cycle (dim → hidden → shown)`}\n onClick={cycleIgnoreMode}\n />\n <IconBtn\n class=\"filetoggle\"\n icon={showHidden() ? \"◉.\" : \"○.\"}\n title={showHidden() ? \"dotfiles shown — click to hide\" : \"dotfiles hidden — click to show\"}\n onClick={toggleHidden}\n />\n </h3>\n <div class=\"filebox\">\n <Show\n when={(kids().get(\"\") ?? []).length > 0}\n fallback={<div class=\"muted\" style=\"padding:6px\">{err() || \"empty workspace\"}</div>}\n >\n <For each={(kids().get(\"\") ?? []).filter(ignoreFilter)}>\n {(node) => row(node, 0)}\n </For>\n </Show>\n </div>\n <Show when={preview()}>\n {(pv) => (\n <Modal title={`🗂 ${pv().path}`} onClose={() => { hlRun++; setPreview(null); setMedia(null); }}>\n <Show\n when={media()}\n fallback={\n <>\n <div class=\"filetoolbar\">\n <Show when={isMd(pv().path) && !pv().binary}>\n <button class={viewMode() === \"md\" ? \"on\" : \"\"} onclick={() => setViewMode(\"md\")} title=\"rendered markdown\">👁 preview</button>\n </Show>\n <button class={viewMode() === \"code\" ? \"on\" : \"\"} onclick={() => { setViewMode(\"code\"); if (!hlHtml()) startHighlighting({ path: pv().path, content: pv().content, truncated: pv().truncated }); }} title=\"syntax-highlighted source\">{\"</>\"} code</button>\n <Show when={isEditable(pv())}>\n <button class={viewMode() === \"edit\" ? \"on\" : \"\"} onclick={() => setViewMode(\"edit\")} title=\"edit and save back to the workspace\">✎ edit</button>\n </Show>\n </div>\n <Show\n when={!pv().binary}\n fallback={\n <div class=\"mono\" style=\"margin:0;color:var(--dim)\">\n (binary file — inspect it from the terminal)\n </div>\n }\n >\n <Show when={viewMode() === \"edit\"} fallback={\n <Show when={viewMode() === \"md\" && isMd(pv().path)} fallback={\n <CodePreview\n path={pv().path}\n content={pv().content}\n html={hlHtml()}\n pending={hlPending()}\n truncated={!!pv().truncated}\n />\n }>\n <div class=\"content mdpreview\" innerHTML={renderMarkdown(pv().content)} />\n </Show>\n }>\n <div class=\"fileeditor\">\n <textarea\n class=\"mono\"\n value={editBuf()}\n oninput={(e) => setEditBuf(e.currentTarget.value)}\n spellcheck={false}\n />\n <div class=\"filerow-actions\">\n <span class=\"muted\">{fmtK(editBuf().length)} bytes</span>\n <button class=\"savebtn\" disabled={saving() || editBuf() === pv().content} onclick={() => void saveFile()}>\n {saving() ? \"saving…\" : \"💾 save\"}\n </button>\n </div>\n </div>\n </Show>\n </Show>\n </>\n }\n >\n {/* media preview: stream raw bytes with native controls */}\n <div class=\"mediapreview\">\n <Show when={media()!.kind === \"image\"} fallback={\n <Show when={media()!.kind === \"video\"} fallback={\n <audio controls src={`/api/agents/${props.agentId}/raw?path=${encodeURIComponent(media()!.path)}`} />\n }>\n <video controls src={`/api/agents/${props.agentId}/raw?path=${encodeURIComponent(media()!.path)}`} />\n </Show>\n }>\n <img src={`/api/agents/${props.agentId}/raw?path=${encodeURIComponent(media()!.path)}`} alt={media()!.path.split(\"/\").pop()} />\n </Show>\n <div class=\"meta muted\">{media()!.kind} preview</div>\n </div>\n </Show>\n </Modal>\n )}\n </Show>\n </>\n );\n}\n\n/* ---------- highlighted file preview body ---------- */\n\n/**\n * Receives rendered shiki chunks as they stream in (`html` grows per chunk);\n * shows a lightweight loading hint until the first chunk lands.\n */\nfunction CodePreview(props: { path: string; content: string; html: string; pending: boolean; truncated: boolean }) {\n return (\n <>\n <Show\n when={props.html}\n fallback={\n props.pending ? (\n <div class=\"muted\" style=\"padding:8px;font-size:12px\">\n ✨ highlighting {props.path.split(\"/\").pop()}…\n </div>\n ) : (\n <pre class=\"mono\" style=\"max-height:62vh;overflow:auto;white-space:pre-wrap;margin:0\">\n {props.content}\n </pre>\n )\n }\n >\n {/* shiki emits its own <pre class=\"shiki\"><code>…</code></pre>; content is shiki-generated HTML */}\n <div class=\"filepreview\" innerHTML={props.html} />\n </Show>\n <Show when={props.truncated}>\n <div class=\"muted\" style=\"padding-top:6px;font-size:11.5px\">… truncated (first 100 KB)</div>\n </Show>\n </>\n );\n}\n\n/* ---------- settings / config editor ---------- */\n/* ---------- first-run setup wizard ---------- */\n\ntype ProviderPreset = {\n key: string;\n label: string;\n url: string;\n /** pre-filled model suggestion — empty means \"keep what's typed\" */\n model: string;\n hint?: string;\n};\n\n/**\n * Known OpenAI-compatible providers, shared by the setup wizard and the\n * settings modal's quick-add. \"custom\" is a wizard-only pseudo preset that\n * marks the manual path without touching any field.\n */\nconst PROVIDER_PRESETS: ProviderPreset[] = [\n {\n key: \"openrouter\",\n label: \"OpenRouter\",\n url: \"https://openrouter.ai/api/v1\",\n model: \"anthropic/claude-sonnet-4\",\n hint: \"400+ models behind one key — teapot sends app-attribution headers automatically\",\n },\n {\n key: \"orcarouter\",\n label: \"OrcaRouter\",\n url: \"https://api.orcarouter.ai/v1\",\n model: \"orcarouter/auto\",\n hint: \"zero-markup routing gateway — 'orcarouter/auto' grades each prompt and picks the model\",\n },\n { key: \"openai\", label: \"OpenAI\", url: \"https://api.openai.com/v1\", model: \"gpt-4o-mini\" },\n {\n key: \"llamacpp\",\n label: \"llama.cpp server\",\n url: \"http://localhost:8080/v1\",\n model: \"\",\n hint: \"free & local — start it with: llama-server -m ./model.gguf (any model name works)\",\n },\n];\n\n/** the wizard shows this extra option for arbitrary OpenAI-compatible endpoints */\nconst CUSTOM_PRESET: ProviderPreset = {\n key: \"custom\",\n label: \"Custom\",\n url: \"\",\n model: \"\",\n hint: \"any OpenAI-compatible /v1 endpoint — vLLM, LM Studio, llama.cpp, a company gateway… fill the fields below\",\n};\n\nfunction SetupWizard(props: { onDone: () => void }) {\n const [preset, setPreset] = createSignal<ProviderPreset>(PROVIDER_PRESETS[0]);\n const [baseUrl, setBaseUrl] = createSignal(PROVIDER_PRESETS[0].url);\n const [apiKey, setApiKey] = createSignal(\"\");\n const [model, setModel] = createSignal(PROVIDER_PRESETS[0].model);\n const [models, setModels] = createSignal<\n { id: string; contextLength?: number; pricing?: { prompt: number; completion: number }; modalities?: { input: string[]; output: string[] } }[]\n >([]);\n const [workspace, setWorkspace] = createSignal(\"~/teapot-workspace\");\n const [password, setPassword] = createSignal(\"\");\n const [busy, setBusy] = createSignal(false);\n const [err, setErr] = createSignal(\"\");\n\n const pick = (p: ProviderPreset) => {\n setPreset(p);\n // \"custom\" only marks the manual path — never clobbers typed values\n if (p.key === \"custom\") return;\n if (p.url) {\n setBaseUrl(p.url);\n if (p.model) setModel(p.model);\n }\n };\n\n /** live model discovery from whatever endpoint the operator is typing —\n * same data the main UI's model switcher shows, just pre-config */\n createEffect(() => {\n const url = baseUrl().trim();\n const key = apiKey();\n if (!/^https?:\\/\\//.test(url)) {\n setModels([]);\n return;\n }\n const t = setTimeout(async () => {\n try {\n const r = await api(\n `/api/setup/models?baseUrl=${encodeURIComponent(url)}${key ? `&apiKey=${encodeURIComponent(key)}` : \"\"}`,\n );\n setModels(r.models ?? []);\n } catch {\n setModels([]); // endpoint unreachable / no auth yet — keep typing\n }\n }, 600);\n onCleanup(() => clearTimeout(t));\n });\n\n /** \"ctx 1m · $3/M in · $15/M out\" for a model id from the fetched list */\n const specOf = (id: string) => {\n const m = models().find((x) => x.id === id.trim());\n if (!m) return \"\";\n const parts: string[] = [];\n if (m.contextLength) parts.push(`ctx ${fmtK(m.contextLength)} tok`);\n const price = (p?: number) =>\n p === undefined ? \"\" : `$${p * 1e6 >= 10 ? Math.round(p * 1e6) : +(p * 1e6).toFixed(1)}/M`;\n if (m.pricing) {\n const pin = price(m.pricing.prompt);\n const pout = price(m.pricing.completion);\n if (pin && pout) parts.push(`${pin} in · ${pout} out`);\n else if (pin || pout) parts.push(price(m.pricing.prompt ?? m.pricing.completion));\n }\n return parts.join(\" · \");\n };\n const modelSpec = () => specOf(model());\n\n const submit = async (e: Event) => {\n e.preventDefault(); setErr(\"\"); setBusy(true);\n try {\n await api(\"/api/setup\", {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({\n baseUrl: baseUrl(),\n apiKey: apiKey() || undefined,\n model: model(),\n workspace: workspace(),\n ...(password() ? { password: password() } : {}),\n }),\n });\n props.onDone();\n } catch (ex) {\n setErr((ex as Error).message); setBusy(false);\n }\n };\n\n return (\n <div class=\"overlay\" style={{ background: \"var(--bg-darkest)\" }}>\n <div class=\"modal\" style=\"max-width:560px\">\n <div class=\"modal-head\"><b>🫖 welcome to teapot</b></div>\n <p class=\"muted\" style=\"margin:0 0 10px;font-size:13px\">\n first run — pick an OpenAI-compatible provider and you're done.\n everything below can be changed later in ⚙ settings.\n </p>\n <form onsubmit={submit} style=\"display:flex;flex-direction:column;gap:12px\">\n <div style=\"display:flex;gap:6px;flex-wrap:wrap\">\n {[...PROVIDER_PRESETS, CUSTOM_PRESET].map((p) => (\n <button\n type=\"button\"\n class={\"presetbtn\" + (preset().key === p.key ? \" active\" : \"\")}\n title={p.hint || p.url}\n onclick={() => pick(p)}\n >{p.label}</button>\n ))}\n </div>\n <Show when={preset().hint}>\n <div class=\"muted\" style=\"font-size:11.5px;margin-top:-6px\">{preset().hint}</div>\n </Show>\n <label>base url\n <input\n type=\"text\"\n class=\"w100 mono\"\n list=\"wiz-preset-urls\"\n value={baseUrl()}\n oninput={(e) => setBaseUrl(e.currentTarget.value)}\n />\n <datalist id=\"wiz-preset-urls\">\n {PROVIDER_PRESETS.map((p) => <option value={p.url} />)}\n </datalist>\n </label>\n <label>api key <input type=\"password\" class=\"w100\" value={apiKey()} oninput={(e) => setApiKey(e.currentTarget.value)} placeholder=\"(local providers may not need one)\" /></label>\n <label>default model\n <input\n type=\"text\"\n class=\"w100 mono\"\n list=\"wiz-model-list\"\n value={model()}\n oninput={(e) => setModel(e.currentTarget.value)}\n placeholder={preset().key === \"llamacpp\" ? \"(any name — serves whichever gguf is loaded)\" : \"(type to filter models from the endpoint)\"}\n />\n <datalist id=\"wiz-model-list\">\n {models().map((m) => <option value={m.id} />)}\n </datalist>\n </label>\n <Show\n when={models().length > 0}\n fallback={\n <div class=\"muted\" style=\"font-size:11.5px;margin-top:-8px\">\n models appear here automatically once the endpoint answers GET /models\n </div>\n }\n >\n <div class=\"muted\" style=\"font-size:11.5px;margin-top:-8px\">\n {models().length} models found at this endpoint\n <Show when={modelSpec()}> · <span style=\"color:var(--fg)\">{modelSpec()}</span></Show>\n </div>\n </Show>\n <fieldset>\n <legend>first agent</legend>\n <label>workspace directory\n <input type=\"text\" class=\"w100 mono\" value={workspace()} oninput={(e) => setWorkspace(e.currentTarget.value)} />\n </label>\n <label style=\"margin-top:4px\" title=\"asks for this password when opening the UI or API from another machine — plain-HTTP LAN traffic is NOT encrypted\">protect the API with a password? <input type=\"password\" class=\"w100\" value={password()} oninput={(e) => setPassword(e.currentTarget.value)} placeholder=\"(optional — LAN traffic is still plain HTTP)\" /></label>\n </fieldset>\n <Show when={err()}><span style=\"color:var(--err);font-size:13px\">{err()}</span></Show>\n <button type=\"submit\" disabled={busy()} style=\"background:var(--acc);border:none;border-radius:8px;color:#fff;padding:9px 14px;font-weight:600;cursor:pointer\">\n {busy() ? \"saving…\" : \"finish setup\"}\n </button>\n </form>\n </div>\n </div>\n );\n}\n\nfunction ConfigModal(props: { cfg: any; onClose: () => void; onSaved: () => void }) {\n type PRow = { name: string; baseUrl: string; apiKey: string; model: string };\n const [providers, setProviders] = createSignal<PRow[]>(\n Object.entries(props.cfg.providers ?? {}).map(([name, v]: [string, any]) => ({\n name, baseUrl: v.baseUrl ?? \"\", apiKey: v.apiKey ?? \"\", model: v.model ?? \"\",\n })),\n );\n const [defaultProvider, setDefaultProvider] = createSignal(props.cfg.defaultProvider ?? \"\");\n const [intervalMin, setIntervalMin] = createSignal(Math.round((props.cfg.progressIntervalMs ?? 600000) / 60000));\n const [minChars, setMinChars] = createSignal(props.cfg.progressMinChars ?? 4000);\n // empty input = DERIVED budget (75% of each model's window) — the old UI\n // always showed 96 and saved it back on every settings save, silently\n // turning every agent into \"manual override\" at a fixed 96k that fit\n // neither 32k local models nor 1M-context ones. Null means \"not set\".\n const [ctxBudgetK, setCtxBudgetK] = createSignal<number | null>(\n props.cfg.contextTokenBudget != null ? Math.round(props.cfg.contextTokenBudget / 1000) : null,\n );\n const [ctxWinK, setCtxWinK] = createSignal(props.cfg.contextWindowTokens ? Math.round(props.cfg.contextWindowTokens / 1000) : 0);\n const [maxDepth, setMaxDepth] = createSignal(props.cfg.maxSpawnDepth ?? 3);\n const [tasks, setTasks] = createSignal<any[]>((props.cfg.tasks ?? []).map((t: any) => ({ ...t })));\n const [err, setErr] = createSignal(\"\");\n\n const agentIds = () => (props.cfg.agents ?? []).map((a: any) => a.id);\n\n const saveProviders = (): Record<string, any> | null => {\n const out: Record<string, any> = {};\n for (const p of providers()) {\n if (!p.name.trim()) { setErr(\"provider name is required\"); return null; }\n if (p.baseUrl && !/^https?:\\/\\//.test(p.baseUrl)) { setErr(`provider ${p.name}: baseUrl must start with http(s)://`); return null; }\n out[p.name.trim()] = { baseUrl: p.baseUrl, ...(p.apiKey ? { apiKey: p.apiKey } : {}), ...(p.model ? { model: p.model } : {}) };\n }\n return out;\n };\n\n const save = async (e: Event) => {\n e.preventDefault(); setErr(\"\");\n const providers = saveProviders();\n if (!providers) return;\n const cleanTasks = tasks()\n .filter((t) => t.id?.trim() || t.prompt?.trim())\n .map((t, i) => ({ id: t.id?.trim() || `task-${i + 1}`, agent: t.agent, schedule: t.schedule, prompt: t.prompt, ...(t.forked ? { forked: true } : {}) }));\n for (const t of cleanTasks) {\n if (!t.agent) { setErr(`task \"${t.id}\": agent is required`); return; }\n if (!t.schedule?.trim()) { setErr(`task \"${t.id}\": schedule is required`); return; }\n }\n try {\n await api(\"/api/config\", {\n method: \"PUT\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({\n providers,\n defaultProvider: defaultProvider() || undefined,\n progressIntervalMs: Math.max(1, intervalMin()) * 60000,\n progressMinChars: Math.max(100, minChars()),\n ...(ctxBudgetK() != null ? { contextTokenBudget: Math.max(1, ctxBudgetK()!) * 1000 } : {}),\n ...(ctxWinK() > 0 ? { contextWindowTokens: ctxWinK() * 1000 } : {}),\n maxSpawnDepth: Math.max(0, maxDepth()),\n tasks: cleanTasks,\n }),\n });\n props.onSaved(); props.onClose();\n } catch (ex) { setErr((ex as Error).message); }\n };\n\n const numInput = (label: string, value: number, oninput: (v: number) => void, hint?: string) => (\n <label title={hint}>{label}\n <input type=\"number\" min=\"0\" value={value} oninput={(e) => oninput(Number(e.currentTarget.value))} />\n </label>\n );\n\n return (\n <Modal title=\"settings\" onClose={props.onClose}>\n <form onsubmit={save} style=\"display:flex;flex-direction:column;gap:14px\">\n <fieldset>\n <legend>providers</legend>\n {/* Index keyed by position — editing a row must not recreate its\n input DOM and steal focus. For (keyed by identity) recreated\n the edited row on every keystroke (new object → new identity\n → unmount/remount → focus lost). Index keeps the same input\n element for the same index, preserving focus and cursor. */}\n <Index each={providers()}>\n {(p, i) => (\n <div class=\"cfgrow\">\n <input class=\"cfgname\" placeholder=\"name\" value={p().name} oninput={(e) => setProviders(providers().map((x, j) => (j === i ? { ...x, name: e.currentTarget.value } : x)))} />\n <input placeholder=\"https://…/v1\" value={p().baseUrl} oninput={(e) => setProviders(providers().map((x, j) => (j === i ? { ...x, baseUrl: e.currentTarget.value } : x)))} />\n <input placeholder=\"api key\" type=\"password\" value={p().apiKey} oninput={(e) => setProviders(providers().map((x, j) => (j === i ? { ...x, apiKey: e.currentTarget.value } : x)))} />\n <input placeholder=\"default model\" value={p().model} oninput={(e) => setProviders(providers().map((x, j) => (j === i ? { ...x, model: e.currentTarget.value } : x)))} />\n <button type=\"button\" class=\"danger\" title=\"remove provider\" onclick={() => setProviders(providers().filter((_, j) => j !== i))}>✕</button>\n </div>\n )}\n </Index>\n <button type=\"button\" onclick={() => setProviders([...providers(), { name: \"\", baseUrl: \"\", apiKey: \"\", model: \"\" }])}>+ add custom</button>\n <div style=\"display:flex;gap:6px;flex-wrap:wrap;margin-top:6px\">\n <span class=\"muted\" style=\"font-size:11.5px\">quick-add:</span>\n <For each={PROVIDER_PRESETS}>\n {(p) => (\n <button\n type=\"button\"\n title={`fill a ${p.label} row — ${p.url}${p.model ? ` (model: ${p.model})` : \"\"}`}\n onclick={() => {\n // re-click = update the existing entry instead of duplicating\n const rest = providers().filter((x) => x.name !== p.key);\n setProviders([...rest, { name: p.key, baseUrl: p.url, apiKey: \"\", model: p.model }]);\n if (!defaultProvider()) setDefaultProvider(p.key);\n }}\n >+ {p.label}</button>\n )}\n </For>\n </div>\n <div><label style=\"display:flex;align-items:center;gap:6px;margin-top:6px\" title=\"agents without an explicit provider use this one\">\n default provider\n <select\n value={defaultProvider()}\n onchange={(e) => setDefaultProvider(e.currentTarget.value)}\n >\n <option value=\"\">(none — first provider wins)</option>\n <For each={[...new Set(providers().map((p) => p.name.trim()).filter(Boolean))]}>\n {(n) => <option value={n}>{n}</option>}\n </For>\n </select>\n </label></div>\n </fieldset>\n\n <fieldset>\n <legend>agent runtime</legend>\n <div class=\"cfggrid\">\n {numInput(\"progress interval (min)\", intervalMin(), (v) => setIntervalMin(v), \"how often the harness asks for a progress report\")}\n {numInput(\"progress min chars\", minChars(), (v) => setMinChars(v), \"progress prompts wait for this much real output\")}\n <label title=\"auto-compact threshold in k tokens. Leave EMPTY to derive per model (75% of its context window) — recommended, since models differ wildly in window size. Set only to force an absolute cap across all models.\">\n compact budget (k tok)\n <input\n type=\"number\"\n min=\"0\"\n placeholder=\"(derive: 75% of window)\"\n value={ctxBudgetK() ?? \"\"}\n oninput={(e) => setCtxBudgetK(e.currentTarget.value === \"\" ? null : Number(e.currentTarget.value))}\n />\n </label>\n {numInput(\"context window (k tok)\", ctxWinK(), (v) => setCtxWinK(v), \"model's real window — 0/blank hides the % gauge\")}\n {numInput(\"max spawn depth\", maxDepth(), (v) => setMaxDepth(v), \"sub-agent nesting limit (0 = no spawning)\")}\n </div>\n </fieldset>\n\n <fieldset>\n <legend>scheduled tasks</legend>\n <Show when={tasks().length > 0}>\n <Index each={tasks()}>\n {(t, i) => (\n <div class=\"cfgcol\">\n <div class=\"cfgrow\">\n <input placeholder=\"id\" value={t().id} oninput={(e) => setTasks(tasks().map((x, j) => (j === i ? { ...x, id: e.currentTarget.value } : x)))} />\n <input placeholder=\"agent id\" value={t().agent} oninput={(e) => setTasks(tasks().map((x, j) => (j === i ? { ...x, agent: e.currentTarget.value } : x)))} />\n <input placeholder=\"every 30m / cron\" value={t().schedule} oninput={(e) => setTasks(tasks().map((x, j) => (j === i ? { ...x, schedule: e.currentTarget.value } : x)))} />\n <label style=\"display:flex;gap:3px;align-items:center;white-space:nowrap;color:var(--dim);font-size:11px\">\n <input type=\"checkbox\" checked={!!t().forked} onchange={(e) => setTasks(tasks().map((x, j) => (j === i ? { ...x, forked: e.currentTarget.checked } : x)))} />fork\n </label>\n <button type=\"button\" class=\"danger\" onclick={() => setTasks(tasks().filter((_, j) => j !== i))}>✕</button>\n </div>\n <textarea rows={2} placeholder=\"prompt to send\" value={t().prompt} oninput={(e) => setTasks(tasks().map((x, j) => (j === i ? { ...x, prompt: e.currentTarget.value } : x)))} />\n </div>\n )}\n </Index>\n </Show>\n <button type=\"button\" onclick={() => setTasks([...tasks(), { id: \"\", agent: agentIds()[0] ?? \"\", schedule: \"every 30m\", prompt: \"\" }])}>+ add task</button>\n </fieldset>\n\n <fieldset>\n <legend>agents (read-only — edit config file or use +)</legend>\n <For each={props.cfg.agents ?? []}>\n {(a: any) => (\n <div class=\"cfgrow\">\n <b>{a.id}</b><span class=\"muted\">{a.workspace}</span>\n <Show when={a.parent}><span class=\"muted\">🧩 sub of @{a.parent}</span></Show>\n </div>\n )}\n </For>\n </fieldset>\n\n <fieldset>\n <legend>live update</legend>\n <div class=\"cfgrow\">\n <span class=\"muted\">current version: {props.cfg.version ?? \"unknown\"}</span>\n <button\n type=\"button\"\n onclick={async (e) => {\n try {\n setErr(\"\");\n const btn = e.currentTarget as HTMLButtonElement;\n btn.disabled = true;\n btn.textContent = \"updating…\";\n const res = await api(\"/api/update/restart\", { method: \"POST\" });\n if (!res.ok) throw new Error((await res.json()).error ?? \"restart failed\");\n // Success — the server will restart. Wait for new version then reload.\n btn.textContent = \"restarting…\";\n // Poll for new version\n for (let i = 0; i < 60; i++) {\n await new Promise((r) => setTimeout(r, 1000));\n try {\n const v = await api(\"/api/version\");\n if (v.version && v.version !== __APP_VERSION__) {\n // New version is up — reload the page\n window.location.reload();\n return;\n }\n } catch {}\n }\n throw new Error(\"restart timeout — new server did not come up\");\n } catch (ex) {\n setErr((ex as Error).message);\n } finally {\n (e.currentTarget as HTMLButtonElement).disabled = false;\n (e.currentTarget as HTMLButtonElement).textContent = \"update & restart\";\n }\n }}\n style=\"background:var(--acc);border:none;border-radius:6px;color:#fff;padding:6px 14px;cursor:pointer\"\n >\n update & restart\n </button>\n <span class=\"muted\" style=\"margin-left:8px;font-size:12px\">gracefully stops all agents, spawns new process, then reloads this page</span>\n </div>\n </fieldset>\n\n <Show when={err()}><span style=\"color:var(--err);font-size:13px\">{err()}</span></Show>\n <button type=\"submit\" style=\"align-self:flex-end;background:var(--acc);border:none;border-radius:6px;color:#fff;padding:6px 14px;cursor:pointer\">save settings</button>\n </form>\n </Modal>\n );\n}\n","/* global styles */\nimport \"./app.css\";\nimport { render } from \"solid-js/web\";\nimport App from \"./App\";\n\nrender(() => <App />, document.getElementById(\"root\")!);\n"],"file":"index-Bg8Y4MGZ.js"}