glimmervoid 0.29.1 → 0.30.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.
- package/README.md +7 -9
- package/dist/bin/glimmervoid.js +28 -12
- package/dist/chunks/{adapters-DIavI9-i.js → adapters-Dho1VSY5.js} +1 -1
- package/dist/chunks/{adapters-Dlvu1FVB.js → adapters-zPDx1Xox.js} +23 -14
- package/dist/chunks/{agent-api-cli-ClOzm28U.js → agent-api-cli-D0MmtEdz.js} +2 -2
- package/dist/chunks/{agent-api-core-D6LHrpSL.js → agent-api-core-Dz0r21y9.js} +1 -1
- package/dist/chunks/{agent-setup-cli-C1CQ8Nkk.js → agent-setup-cli-B5Atxr3F.js} +5 -3
- package/dist/chunks/{child-process-safe-Cz22RwlG.js → child-process-safe-DRGsp0TE.js} +1 -1
- package/dist/chunks/child-process-safe-DvQjXsgz.js +2 -0
- package/dist/chunks/config-store-CC8T3okC.js +2 -0
- package/dist/chunks/{config-store-DtPUFVaO.js → config-store-mm7MgzoL.js} +13 -1
- package/dist/chunks/{contracts-JKChPhZ0.js → contracts-DGkKNh9W.js} +25 -3
- package/dist/chunks/{grok-COekzawt.js → grok-DuU8xVLZ.js} +54 -25
- package/dist/chunks/hook-command-core-DclEoE9e.js +14 -0
- package/dist/chunks/hook-tools-pSJia7ks.js +74 -0
- package/dist/chunks/{main-BVDjy7vH.js → main-CuIZQPhZ.js} +975 -156
- package/dist/chunks/{pair-cli-BQQnhkkc.js → pair-cli-w-gCAF-1.js} +2 -2
- package/dist/chunks/{remote-config-BHoDFCpo.js → remote-config-C2ytQwrs.js} +8 -4
- package/dist/chunks/rtk-hook-core-Bl6gYHPN.js +133 -0
- package/dist/chunks/rtk-resolver-CLo-gZzw.js +21 -0
- package/dist/chunks/rtk-resolver-CMQAidlI.js +2 -0
- package/dist/chunks/{runtime-paths-CVvq20A4.js → runtime-paths-Ci_ksSkj.js} +26 -2
- package/dist/chunks/runtime-paths-JLrZ3wyi.js +2 -0
- package/dist/chunks/{sandbox-deps-BwvbDBDl.js → sandbox-deps-Dd5-kZnf.js} +1 -1
- package/dist/chunks/{session-CJtOveHl.js → session-Cez8aIWg.js} +3 -1
- package/dist/chunks/{visions-cli-DUZnopGY.js → visions-cli-BXQFIBCX.js} +1 -1
- package/dist/chunks/{visions-setup-C_kJobsy.js → visions-setup-CvVnOe1r.js} +2 -2
- package/dist/client/assets/index-B1MFijjb.css +1 -0
- package/dist/client/assets/index-CU1iPPdn.js +249 -0
- package/dist/client/index.html +2 -2
- package/dist/scripts/postinstall-path-check.js +1 -1
- package/dist/server/index.js +2 -2
- package/dist/session/{rtk-relay.js → hook-tool-relay.js} +32 -15
- package/dist/session/statusline-relay.js +1 -1
- package/package.json +2 -1
- package/dist/chunks/config-store-DtUGwi4-.js +0 -2
- package/dist/chunks/rtk-hook-core-DRYrKwYP.js +0 -26
- package/dist/chunks/rtk-resolver-DDVVNRBT.js +0 -2
- package/dist/chunks/rtk-resolver-oGmO-ew7.js +0 -58
- package/dist/client/assets/index-BTwYgSAH.js +0 -248
- package/dist/client/assets/index-DgA708PE.css +0 -1
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=3e4;function t(t,n=Math.random){let r=Math.min(500*2**(typeof t==`number`&&Number.isFinite(t)&&t>0?Math.floor(t):0),e);return Math.round(r*(.5+.5*n()))}var n=0,r=1;function i({hasSocket:e,readyState:t,retryPending:i,connectingAgeMs:a=0}){return i?`retry-now`:e?t===n?a>1e4?`connect`:`wait`:t===r?`probe`:`connect`:`connect`}function a(e){return e===`https:`?`wss:`:`ws:`}function o(e,t){return`${a(e?.protocol)}//${e.host}${t}`}var s=``,c=null;function l(){return s}function u(){return s?Promise.resolve(s):c||(c=fetch(`/control-token`,{credentials:`same-origin`,cache:`no-store`}).then(e=>e.ok?e.json():null).then(e=>{let t=e?.token;return s=typeof t==`string`?t:``,s}).catch(()=>``).finally(()=>{c=null}),c)}function d(){s=``}function f(e){return s?`${e}${e.includes(`?`)?`&`:`?`}token=${encodeURIComponent(s)}`:e}function p(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function m(e,t=`|`){return e.map(e=>me(e)).join(t)}function h(e,t){return typeof t==`bigint`?t.toString():t}var g=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function _(e){return new g(e)}function v(e){return e==null}function y(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function b(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}function x(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function ee(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function te(e){return ee(e._zod.def)??e._zod.def.shape}function ne(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return x(this,t,e),e},enumerable:!0,configurable:!0})}function re(e,t,n){t in e?x(e,t,n):e[t]=n}function ie(e,t,n,r){let i=te(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?ne(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):re(e,a,r?r(n.value,a):n.value))}}function S(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?ne(e,n,()=>t[n]):re(e,n,r.value))}}function ae(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function oe(e){return JSON.stringify(e)}function se(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var ce=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function le(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var C=_(()=>{if(rt.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function w(e){if(le(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return le(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function T(e){return w(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var ue=new Set([`string`,`number`,`symbol`]),de=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function fe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function pe(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function E(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function me(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function he(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}var ge={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},_e={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function ve(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);let i={};return ie(i,e,ye(e,t)),pe(e,ae(n,{shape:i,checks:[]}))}function ye(e,t){let n=te(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function be(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(ye(e,t)),a={};return ie(a,e,Reflect.ownKeys(te(e)).filter(e=>!i.has(e))),pe(e,ae(n,{shape:a,checks:[]}))}function xe(e,t){if(!w(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=te(e);for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return pe(e,ae(e._zod.def,{shape:Se(e,t)}))}function Se(e,t){let n={};return ie(n,e,Reflect.ownKeys(te(e))),S(n,t),n}function Ce(e,t){if(!w(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return pe(e,ae(e._zod.def,{shape:Se(e,t)}))}function we(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);let n={};return ie(n,e,Reflect.ownKeys(te(e))),ie(n,t,Reflect.ownKeys(te(t))),pe(e,ae(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Te(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let a=n?new Set(ye(t,n)):void 0,o={};return ie(o,t,Reflect.ownKeys(te(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),pe(t,ae(t._zod.def,{shape:o,checks:[]}))}function Ee(e,t,n){let r=n?new Set(ye(t,n)):void 0,i={};return ie(i,t,Reflect.ownKeys(te(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),pe(t,ae(t._zod.def,{shape:i}))}function De(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Oe(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function ke(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Ae(e){return typeof e==`string`?e:e?.message}function je(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function Me(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:Ae(e.inst?._zod.def?.error?.(e))??Ae(a?.(e))??Ae(t?.error?.(e))??Ae(n.customError?.(e))??Ae(n.localeError?.(e))??`Invalid input`,s={};for(let t of Object.keys(e))t!==`inst`&&t!==`schema`&&t!==`continue`&&t!==`input`&&t!==`__proto__`&&(s[t]=e[t]);return s.path??=[],s.message=o,t?.reportInput&&(s.input=e.input),s}var Ne=/[\uD800-\uDBFF]/;function Pe(e){let t=e.length;if(!Ne.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function Fe(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Ie(e){let t=typeof e;switch(t){case`number`:return Number.isNaN(e)?`nan`:`number`;case`object`:{if(e===null)return`null`;if(Array.isArray(e))return`array`;let t=e;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&`constructor`in t&&t.constructor)return t.constructor.name}}return t}function Le(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function Re(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):He(e,n,r.value)}}function ze(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function Be(e,t,n){return ze(e,t,n,!1)}function Ve(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return ze(this,n,r(this))},set(e){ze(this,n,e)}})}return t}function He(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:ze(this,t,n.bind(this))},set(e){ze(this,t,e)}})}function Ue(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}var We,Ge=!1,Ke={configurable:!0,get(){Ge=!0}};function qe(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&We!==e._zod){We=void 0;return}We=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,Ke);let e=Ge;Ge=!1;try{let r=n(this);return Ge?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),Ge||=e,r}catch(n){throw delete this[t],Ge||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function Je(e,t,n,r){let i=Ue(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}var Ye=`~constantCatch`;function Xe(e){let t=()=>e;return t[Ye]=!0,t}var Ze,Qe={value:void 0,enumerable:!1},$e=`captureStackTrace`in Error?Error:null;function et(e){let t=$e;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return $e=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function D(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){Qe.value=new a(r);try{Object.defineProperty(n,"_zod",Qe)}finally{Qe.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),Re(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?et(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var tt=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},nt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Ze=globalThis).__zod_globalConfig??(Ze.__zod_globalConfig={});var rt=globalThis.__zod_globalConfig;function it(e){return e&&Object.assign(rt,e),rt}function at(){let e=this._zod;return e.message??=JSON.stringify(e.def,h,2),e.message}function ot(e){this._zod.message=e}var st={get:at,set:ot,enumerable:!0,configurable:!0},ct={value:void 0,enumerable:!1},lt=new WeakSet([Object.prototype,Error.prototype]),ut=(e,t)=>{e.name=`$ZodError`,ct.value=t,Object.defineProperty(e,"issues",ct),ct.value=void 0,Object.defineProperty(e,"message",st);let n=Object.getPrototypeOf(e);lt.has(n)||(lt.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))},dt=D(`$ZodError`,ut);D(`$ZodError`,ut,void 0,{Parent:Error});function ft(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function pt(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?ft(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function mt(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i],o=i===e.length-1;if(n===`_errors`){o&&r._errors.push(t(a)),i++;continue}Object.prototype.hasOwnProperty.call(r,n)||Object.defineProperty(r,n,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let s=r[n];o&&s._errors.push(t(a)),r=s,i++}}}};return r(e),n}function ht(e,t){return{callee:t?.callee??e,Err:t?.Err}}var gt=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new tt;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>Me(e,o,it())));throw ce(n,a?.callee??t),n}return s.value};return t},_t=e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>Me(e,o,it())));throw ce(n,a?.callee??t),n}return s.value};return t},vt=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new tt;return a.issues.length?yt(e,a.issues,i):{success:!0,data:a.value}};function yt(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>Me(e,n,it()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}var bt=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?yt(e,a.issues,i):{success:!0,data:a.value}},xt=Symbol.for(`zod.compile.invalid`),St=Symbol.for(`zod.compile.fallback`),Ct=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==xt)return!0;if(r.definite===!0&&n===void 0)return!1}return wt(e,t,n)});function wt(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[St]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new tt;return a.issues.length===0}var Tt=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},Et=e=>{let t=gt(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,ht(n,a))};return n},Dt=e=>{let t=gt(e),n=(e,r,i,a)=>t(e,r,i,ht(n,a));return n},Ot=e=>{let t=_t(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,ht(n,a))};return n},kt=e=>{let t=_t(e),n=async(e,r,i,a)=>await t(e,r,i,ht(n,a));return n},At=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return vt(e)(t,n,i)},jt=e=>(t,n,r)=>vt(e)(t,n,r),Mt=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return bt(e)(t,n,i)},Nt=e=>async(t,n,r)=>bt(e)(t,n,r),Pt=/^[cC][0-9a-z]{6,}$/,Ft=/^[0-9a-z]+$/,It=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Lt=/^[0-9a-vA-V]{20}$/,Rt=/^[A-Za-z0-9]{27}$/,zt=/^[a-zA-Z0-9_-]{21}$/;function Bt(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var Vt=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Ht=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ut=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Wt=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Gt=`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;function Kt(){return new RegExp(Gt,`u`)}var qt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Jt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Yt=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Xt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Zt=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Qt=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,eee=/^https?$/,tee=/^\+[1-9]\d{6,14}$/,$t=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;function nee(e){return RegExp(`^${e}$`)}var ree=nee($t);function en(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function tn(e){return RegExp(`^${en(e)}$`)}function nn(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${en({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${en({precision:e.precision})}`:n;return RegExp(`^${$t}T(?:${r})$`)}var rn=/^[\s\S]{0,}$/,an=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},on=/^-?\d+$/,sn=/^-?\d+(?:\.\d+)?$/,cn=/^(?:true|false)$/i,ln=/^[^A-Z]*$/,iee=/^[^a-z]*$/,un=D(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),dn=e=>{let t=e.value;return!v(t)&&t.length!==void 0},fn={number:`number`,bigint:`bigint`,object:`date`},pn=D(`$ZodCheckLessThan`,(e,t)=>{un.init(e,t);let n=fn[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:fn[typeof r.value]??n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),mn=D(`$ZodCheckGreaterThan`,(e,t)=>{un.init(e,t);let n=fn[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:fn[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),aee=D(`$ZodCheckMultipleOf`,(e,t)=>{un.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):b(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),hn=D(`$ZodCheckNumberFormat`,(e,t)=>{un.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=ge[t.format];e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),gn=D(`$ZodCheckMaxLength`,(e,t)=>{var n;un.init(e,t),(n=e._zod.def).when??(n.when=dn),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?Pe(r):i)<=t.maximum)return;let a=Fe(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),_n=D(`$ZodCheckMinLength`,(e,t)=>{var n;un.init(e,t),(n=e._zod.def).when??(n.when=dn),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?Pe(r):i)>=t.minimum)return;let a=Fe(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),vn=D(`$ZodCheckLengthEquals`,(e,t)=>{var n;un.init(e,t),(n=e._zod.def).when??(n.when=dn),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?Pe(r):i;if(a===t.length)return;let o=Fe(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),yn=D(`$ZodCheckStringFormat`,(e,t)=>{var n,r;un.init(e,t),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),bn=D(`$ZodCheckRegex`,(e,t)=>{yn.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),xn=D(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=ln,yn.init(e,t)}),Sn=D(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=iee,yn.init(e,t)}),Cn=D(`$ZodCheckIncludes`,(e,t)=>{un.init(e,t);let n=fe(t.includes);t.pattern=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),wn=D(`$ZodCheckStartsWith`,(e,t)=>{un.init(e,t);let n=RegExp(`^${fe(t.prefix)}.*`);t.pattern??=n,e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Tn=D(`$ZodCheckEndsWith`,(e,t)=>{un.init(e,t);let n=RegExp(`.*${fe(t.suffix)}$`);t.pattern??=n,e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),En=D(`$ZodCheckOverwrite`,(e,t)=>{un.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),Dn=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{--this.indent}}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
2
|
-
`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\n${t.join(`
|
|
3
|
-
`)}\n};`)(...Object.values(this.closed))}},On={major:4,minor:6,patch:5},kn=D(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=On;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=De(t),a;for(let o of n){if(o._zod.def.when){if(Oe(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new tt;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(je(t.issues,n,e),i||=De(t,n))});else{if(t.issues.length===n)continue;je(t.issues,n,e),i||=De(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(De(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new tt;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new tt;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return Be(this,`~standard`,Mn(this))},set"~standard"(e){ze(this,`~standard`,e)}}),An=(e,t)=>e.issues.length?{issues:e.issues.map(e=>Me(e,t,it()))}:{value:e.value};async function jn(e,t){let n={async:!0};return An(await e._zod.run({value:t,issues:[]},n),n)}function Mn(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return An(r,n)}catch{}return jn(e,t)},vendor:`zod`,version:1}}var Nn=D(`$ZodString`,(e,t)=>{kn.init(e,t),e._zod.pattern=t.pattern??rn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),Pn=D(`$ZodStringFormat`,(e,t)=>{yn.init(e,t),Nn.init(e,t)}),oee=D(`$ZodGUID`,(e,t)=>{t.pattern??=Ht,Pn.init(e,t)}),see=D(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=Ut(e)}else t.pattern??=Ut();Pn.init(e,t)}),cee=D(`$ZodEmail`,(e,t)=>{t.pattern??=Wt,Pn.init(e,t)});function Fn(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function lee(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?Fn(e)||2:uee(e,t)}function uee(e,t){if(!t.normalize&&t.protocol?.source===eee.source&&!/^https?:\/\//i.test(e))return 1;try{if(typeof URL<`u`){let t=URL;if(typeof t.parse==`function`)return t.parse(e)??2}return new URL(e)}catch{return 2}}var dee=/[\t\n\r]/g;function In(e){return e.replace(dee,``)}function fee(e,t){return t.lastIndex=0,t.test(e.hostname)}function pee(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}var Ln=D(`$ZodURL`,(e,t)=>{Pn.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=lee(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}if(i===!0){n.value=In(r);return}t.hostname&&!fee(i,t.hostname)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort}),t.protocol&&!pee(i,t.protocol)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?i.href:In(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),Rn=D(`$ZodEmoji`,(e,t)=>{t.pattern??=Kt(),Pn.init(e,t)}),zn=D(`$ZodNanoID`,(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??=t.length===void 0?zt:Bt(t.length),Pn.init(e,t)}),Bn=D(`$ZodCUID`,(e,t)=>{t.pattern??=Pt,Pn.init(e,t)}),Vn=D(`$ZodCUID2`,(e,t)=>{t.pattern??=Ft,Pn.init(e,t)}),Hn=D(`$ZodULID`,(e,t)=>{t.pattern??=It,Pn.init(e,t)}),Un=D(`$ZodXID`,(e,t)=>{t.pattern??=Lt,Pn.init(e,t)}),Wn=D(`$ZodKSUID`,(e,t)=>{t.pattern??=Rt,Pn.init(e,t)}),Gn=D(`$ZodISODateTime`,(e,t)=>{t.pattern??=nn(t),Pn.init(e,t)}),Kn=D(`$ZodISODate`,(e,t)=>{t.pattern??=ree,Pn.init(e,t)}),qn=D(`$ZodISOTime`,(e,t)=>{t.pattern??=tn(t),Pn.init(e,t)}),Jn=D(`$ZodISODuration`,(e,t)=>{t.pattern??=Vt,Pn.init(e,t)}),Yn=D(`$ZodIPv4`,(e,t)=>{t.pattern??=qt,Pn.init(e,t)}),Xn=/^[0-9a-fA-F:.]+$/;function Zn(e){return Xn.test(e)?Fn(`http://[${e}]`):!1}var Qn=D(`$ZodIPv6`,(e,t)=>{t.pattern??=Jt,Pn.init(e,t),e._zod.check=n=>{Zn(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),$n=D(`$ZodCIDRv4`,(e,t)=>{t.pattern??=Yt,Pn.init(e,t)});function er(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:Zn(n)}var tr=D(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Xt,Pn.init(e,t),e._zod.check=n=>{er(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function nr(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var rr=/^[0-9a-zA-Z+/]*={0,2}$/,ir=D(`$ZodBase64`,(e,t)=>{t.pattern??=rr,Pn.init(e,t),e._zod.check=n=>{nr(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),ar=/^[A-Za-z0-9_-]*$/;function or(e){if(!ar.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return nr(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var sr=D(`$ZodBase64URL`,(e,t)=>{t.pattern??=ar,Pn.init(e,t),e._zod.check=n=>{or(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),cr=D(`$ZodE164`,(e,t)=>{t.pattern??=tee,Pn.init(e,t)});function lr(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var ur=D(`$ZodJWT`,(e,t)=>{Pn.init(e,t),e._zod.check=n=>{lr(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),dr=D(`$ZodNumber`,(e,t)=>{kn.init(e,t),e._zod.pattern=sn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),fr=D(`$ZodNumberFormat`,(e,t)=>{hn.init(e,t),dr.init(e,t)}),pr=D(`$ZodBoolean`,(e,t)=>{kn.init(e,t),e._zod.pattern=cn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),mr=D(`$ZodUnknown`,(e,t)=>{kn.init(e,t),e._zod.parse=e=>e}),hr=D(`$ZodNever`,(e,t)=>{kn.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function gr(e,t,n){e.issues.length&&t.issues.push(...ke(n,e.issues)),t.value[n]=e.value}var _r=D(`$ZodArray`,(e,t)=>{kn.init(e,t);let n=rt.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[],s=i?.abortEarly;for(let e=0;e<a.length;e++){let n=a[e],c=t.element._zod.run({value:n,issues:[]},i);if(c instanceof Promise)o.push(c.then(t=>gr(t,r,e)));else if(gr(c,r,e),s&&c.issues.length!==0&&De(c))break}return o.length?Promise.all(o).then(()=>r):r}});function vr(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(o||!s||i!==`optional`){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...ke(n,e.issues))}if(!o&&i===void 0){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}var yr=[];function br(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:yr,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`);let a=he(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function xr(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(De(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>vr(e,n,i,t,d,f))):vr(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var Sr=D(`$ZodObject`,(e,t)=>{kn.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,"shape",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,"shape",{get:e})}let i=_(()=>br(t));qe(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||x(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let a=le,o=t.catchall,s,c=rt.memoizer;c?.attach(e),e._zod.parse=(t,n)=>{s??=i.value;let r=t.value;if(!a(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=c?c.alloc(e,t,{},n):{};let l=[],u=s.shape,d=n?.abortEarly,f=t.issues.length;for(let e of s.allKeys){if(d&&t.issues.length!==f){if(De(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let i=u[e],a=i._zod.optin,o=i._zod.optout,s=i._zod.run({value:r[e],issues:[]},n);s instanceof Promise?l.push(s.then(n=>vr(n,t,e,r,a,o))):vr(s,t,e,r,a,o)}return o?xr(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}}),Cr=D(`$ZodObjectJIT`,(e,t)=>{Sr.init(e,t);let n=e._zod.parse,r=_(()=>br(t)),i=rt.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new Dn([`payload`,`ctx`],{shape:t,inst:e,memo:i,syms:a}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,c=(e,t)=>`
|
|
4
|
-
let ${e}_ab = false;
|
|
5
|
-
for (let i = 0; i < ${e}.issues.length; i++) {
|
|
6
|
-
const iss = ${e}.issues[i];
|
|
7
|
-
iss.path = iss.path ? [${t}, ...iss.path] : [${t}];
|
|
8
|
-
payload.issues.push(iss);
|
|
9
|
-
if (iss.continue !== true) ${e}_ab = true;
|
|
10
|
-
}
|
|
11
|
-
if (${e}_ab && ctx && ctx.abortEarly) {
|
|
12
|
-
payload.value = newResult;
|
|
13
|
-
return payload;
|
|
14
|
-
}`;o.write(`const input = payload.value;`);let l=Object.create(null),u=0;for(let e of n.allKeys)l[e]=`key_${u++}`;o.write(i?`const newResult = memo.alloc(inst, payload, {}, ctx);`:`const newResult = {};`);for(let e of n.allKeys){if(e===`__proto__`)continue;let n=l[e],r=typeof e==`symbol`?`syms[${a.indexOf(e)}]`:oe(e),i=`${r} in input`,u=t[e],d=u?._zod?.optin,f=d!==void 0,p=u?._zod?.optout===`optional`;if(o.write(`const ${n} = ${s(r)};`),f&&p){let e=d===`optional`?`${n}_present`:`${n}.value !== undefined || ${n}_present`;o.write(`
|
|
15
|
-
const ${n}_present = ${i};
|
|
16
|
-
if (!${n}.issues.length || ${n}_present) {
|
|
17
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
if (${e}) {
|
|
21
|
-
newResult[${r}] = ${n}.value;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
`)}else f?(o.write(`
|
|
26
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
27
|
-
}
|
|
28
|
-
`),d===`defaulted`?o.write(`newResult[${r}] = ${n}.value;`):o.write(`
|
|
29
|
-
if (${n}.value !== undefined || ${i}) {
|
|
30
|
-
newResult[${r}] = ${n}.value;
|
|
31
|
-
}
|
|
32
|
-
`)):o.write(`
|
|
33
|
-
const ${n}_present = ${i};
|
|
34
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
35
|
-
}
|
|
36
|
-
if (!${n}_present && !${n}.issues.length) {
|
|
37
|
-
payload.issues.push({
|
|
38
|
-
code: "invalid_type",
|
|
39
|
-
expected: "nonoptional",
|
|
40
|
-
input: undefined,
|
|
41
|
-
path: [${r}]
|
|
42
|
-
});
|
|
43
|
-
if (ctx && ctx.abortEarly) {
|
|
44
|
-
payload.value = newResult;
|
|
45
|
-
return payload;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (${n}_present) {
|
|
50
|
-
newResult[${r}] = ${n}.value;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
`)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},o,s=le,c=!rt.jitless,l=c&&C.value,u=t.catchall,d;e._zod.parse=(i,f)=>{d??=r.value;let p=i.value;return s(p)?c&&l&&f?.async===!1&&f.jitless!==!0?(o||=a(t.shape),i=o(i,f),u?xr([],p,i,f,d,e,f?.abortEarly===!0):i):n(i,f):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function wr(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!De(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Me(e,r,it())))}),t)}var Tr=D(`$ZodUnion`,(e,t)=>{kn.init(e,t),qe(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),qe(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),qe(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),qe(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>y(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>wr(t,r,e,i)):wr(o,r,e,i)}});function Er(e){let t=new Map;for(let n of e.options){let r=n._zod.propValues?.[e.discriminator];if(!r||r.size===0)throw Error(`Invalid discriminated union option at index "${e.options.indexOf(n)}"`);for(let e of r)if(t.has(e)){if(e!==void 0)throw Error(`Duplicate discriminator value "${String(e)}"`);t.set(e,null)}else t.set(e,n)}return t}var Dr=D(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,Tr.init(e,t);let n=e._zod.parse;qe(e,`propValues`,e=>{let t={},n=0;for(let r of e.def.options){let i=r._zod.propValues;if(!i||Object.keys(i).length===0)throw Error(`Invalid discriminated union option at index "${e.def.options.indexOf(r)}"`);i[e.def.discriminator]?.has(void 0)&&n++;for(let[e,n]of Object.entries(i)){Object.prototype.hasOwnProperty.call(t,e)||x(t,e,new Set);for(let r of n)t[e].add(r)}}return!e.def.unionFallback&&n>1&&t[e.def.discriminator]?.delete(void 0),t}),t.options.forEach((e,n)=>{let r=ee(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=_(()=>Er(t));e._zod.parse=(i,a)=>{let o=i.value;if(!le(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=o?.[t.discriminator],c=r.value.get(s);return c&&(s!==void 0||a.direction!==`backward`)?c._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()).filter(e=>r.value.get(e)!==null),input:o,path:[t.discriminator],inst:e}),i)}}),Or=D(`$ZodIntersection`,(e,t)=>{kn.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Ar(e,t,n)):Ar(e,i,a)}});function kr(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(w(e)&&w(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=kr(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=kr(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Ar(e,t,n){let r=new Map,i,a=new Map,o=(e,t)=>{let n;if(e.code===`unrecognized_keys`&&!e.path?.length)i??=e,n=e.keys;else if(e.code===`invalid_key`&&e.origin===`record`&&e.path?.length===1){let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}else return!1;for(let e of n)r.has(e)||r.set(e,{}),r.get(e)[t]=!0;return!0};for(let n of t.issues)o(n,`l`)||e.issues.push(n);for(let t of n.issues)o(t,`r`)||e.issues.push(t);let s=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=i?s.filter(e=>i.keys.includes(e)):[];t.length&&e.issues.push({...i,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let c=kr(t.value,n.value);if(!c.valid){if(De(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var jr=D(`$ZodRecord`,(e,t)=>{kn.init(e,t);let n=rt.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!w(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>Me(e,i,it())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...ke(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...ke(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e)){if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e)}l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&sn.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>Me(e,i,it())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...ke(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...ke(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),Mr=D(`$ZodEnum`,(e,t)=>{kn.init(e,t);let n=p(t.entries),r=new Set(n);e._zod.values=r,qe(e,`pattern`,e=>{let t=p(e.def.entries).filter(e=>ue.has(typeof e));return RegExp(t.length?`^(${t.map(e=>fe(e.toString())).join(`|`)})$`:`^[^\\s\\S]$`)}),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),Nr=D(`$ZodLiteral`,(e,t)=>{kn.init(e,t);let n=new Set(t.values);e._zod.values=n,qe(e,`pattern`,e=>{let t=e.def.values;return RegExp(t.length?`^(${t.map(e=>typeof e==`string`?fe(e):e?fe(e.toString()):String(e)).join(`|`)})$`:`^[^\\s\\S]$`)}),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),Pr=D(`$ZodTransform`,(e,t)=>{kn.init(e,t),e._zod.optin=`optional`,rt.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new nt(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new tt;return n.value=i,n}});function Fr(e,t){return e.value=t.issues.length?void 0:t.value,e}var Ir=D(`$ZodOptional`,(e,t)=>{kn.init(e,t),qe(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,qe(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),qe(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${y(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>Fr(e,t)):Fr(e,r)}return t.innerType._zod.run(e,n)}}),Lr=D(`$ZodExactOptional`,(e,t)=>{Ir.init(e,t),qe(e,`values`,e=>e.def.innerType._zod.values),qe(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Rr=D(`$ZodNullable`,(e,t)=>{kn.init(e,t),qe(e,`optin`,e=>e.def.innerType._zod.optin),qe(e,`optout`,e=>e.def.innerType._zod.optout),qe(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${y(t.source)}|null)$`):void 0}),qe(e,`values`,e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),zr=D(`$ZodDefault`,(e,t)=>{kn.init(e,t),e._zod.optin=`defaulted`,qe(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>Br(e,t)):Br(r,t)}});function Br(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Vr=D(`$ZodPrefault`,(e,t)=>{kn.init(e,t),e._zod.optin=`defaulted`,qe(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),Hr=D(`$ZodNonOptional`,(e,t)=>{kn.init(e,t),qe(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>Ur(t,e)):Ur(i,e)}});function Ur(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function Wr(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>Me(e,r,it()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var Gr=D(`$ZodCatch`,(e,t)=>{kn.init(e,t),qe(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),qe(e,`optout`,e=>e.def.innerType._zod.optout),qe(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(r=>Wr(e,r,t,n)):Wr(e,r,t,n)}}),Kr=D(`$ZodPipe`,(e,t)=>{kn.init(e,t),qe(e,`values`,e=>e.def.in._zod.values),qe(e,`optin`,e=>e.def.in._zod.optin),qe(e,`optout`,e=>e.def.out._zod.optout),qe(e,`propValues`,e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>qr(e,t.in,n)):qr(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>qr(e,t.out,n)):qr(r,t.out,n)}});function qr(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var Jr=D(`$ZodPreprocess`,(e,t)=>{Kr.init(e,t)}),Yr=D(`$ZodReadonly`,(e,t)=>{kn.init(e,t),qe(e,`propValues`,e=>e.def.innerType._zod.propValues),qe(e,`values`,e=>e.def.innerType._zod.values),qe(e,`optin`,e=>e.def.innerType?._zod?.optin),qe(e,`optout`,e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Xr):Xr(r)}});function Xr(e){return e.memo||(e.value=Object.freeze(e.value)),e}function Zr(e){let t=e._zod.def,n=t.pattern,r=!!t.format?.includes(`int`),i,a;for(let e of t.checks??[]){let t=e._zod.def;t.pattern&&(n=t.pattern),r||=!!t.format?.includes(`int`);let o=t.minimum??t.length,s=t.maximum??t.length;o!==void 0&&(i===void 0||o>i)&&(i=o),s!==void 0&&(a===void 0||s<a)&&(a=s)}if(n)return n.source;if(i!==void 0&&a!==void 0&&i>a)return`(?!)`;if(i!==void 0||a!==void 0)return an({minimum:i,maximum:a}).source;let o=e._zod.pattern;return(r&&o===sn?on:o)?.source}function Qr(e){let t=e._zod.def,n=e._zod.pattern?.source,r=t.innerType??e._zod.innerType;if(r){let e=r._zod.pattern?.source,t=Qr(r);return n&&e&&t&&t!==e?n.replace(y(e),()=>y(t)):n}if(t.options){let e=t.options.map(Qr);if(e.every(Boolean))return`^(${e.map(e=>y(e)).join(`|`)})$`}return Zr(e)}var $r=D(`$ZodTemplateLiteral`,(e,t)=>{kn.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){let t=Qr(e);if(!t)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);n.push(y(t))}else if(e===null||de.has(typeof e))n.push(fe(`${e}`));else throw Error(`Invalid template literal part: ${e}`);e._zod.pattern=RegExp(`^${n.join(``)}$`),e._zod.parse=(n,r)=>typeof n.value==`string`?(e._zod.pattern.lastIndex=0,e._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:e,code:`invalid_format`,format:t.format??`template_literal`,pattern:e._zod.pattern.source}),n):(n.issues.push({input:n.value,inst:e,expected:`string`,code:`invalid_type`}),n)}),ei=D(`$ZodCustom`,(e,t)=>{un.init(e,t),kn.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>ti(t,n,r,e));ti(i,n,r,e)}});function ti(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(Le(e))}}var ni=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}},ri=`~memo`,ii=[];function ai(e){return typeof e==`object`&&!!e}function oi(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var si=new WeakMap,ci=0,li=1,ui=2;function di(e,t,n){let r=si.get(e);if(r!==void 0)return r?ui:ci;if(t.has(e))return ui;t.add(e);let i=ci,a=e=>{if(i!==ui&&e?._zod){let r=di(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=ci;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?li:o.value?._zod?di(o.value,t,n):ci;s>i&&(i=s)}return i},s=e=>{e>i&&(i=e)},c=e._zod.def;switch(c.type){case`object`:{let e=ee(c);s(e?o(e,!0):li),a(c.catchall);break}case`array`:a(c.element);break;case`tuple`:for(let e of c.items)a(e);a(c.rest);break;case`record`:case`map`:a(c.keyType),a(c.valueType);break;case`set`:a(c.valueType);break;case`union`:for(let e of c.options)a(e);break;case`intersection`:a(c.left),a(c.right);break;case`optional`:case`nullable`:case`default`:case`prefault`:case`catch`:case`readonly`:case`nonoptional`:case`promise`:case`success`:a(c.innerType);break;case`pipe`:a(c.in),a(c.out);break;case`function`:a(c.input),a(c.output);break;case`lazy`:{let r=c._cachedInner??(n?e._zod.innerType:void 0);s(r?di(r,t,!1):li);break}case`template_literal`:case`string`:case`number`:case`int`:case`boolean`:case`bigint`:case`symbol`:case`undefined`:case`null`:case`void`:case`never`:case`any`:case`unknown`:case`date`:case`nan`:case`enum`:case`literal`:case`file`:case`transform`:case`custom`:break;default:for(let e in c){let t=Object.getOwnPropertyDescriptor(c,e);if(!t||t.get)continue;let n=t.value;if(n&&typeof n==`object`){if(n._zod)a(n);else if(Array.isArray(n))for(let e of n)a(e)}}}return t.delete(e),fi(e,i)}function fi(e,t){return t!==li&&si.set(e,t===ui),t}function pi(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}var mi,hi=[],gi={alloc(e,t,n){let r=mi;if(!r)return n;mi=void 0;let i={value:n,issues:null};return r.set(t.value,i),hi.push(i),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,n=(e,n)=>{if(n.direction!==`backward`&&vi(n,e.value))throw new ni;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r=!1,i,a;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,o=(s,c)=>{if(n===void 0){let i=di(e,new Set,!1);if(i===ci)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===ui||r?n=!0:r=!0}let l=s.value;if(!ai(l))return t(s,c);let u=c[ri];u||(u={buckets:new WeakMap,backEdges:void 0},c[ri]=u);let d;i===c?d=a:(d=pi(u,e),i=c,a=d);let f=d.get(l);if(f)return s.value=f.value,f.issues?f.issues.length&&s.issues.push(...oi(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=new WeakSet),u.backEdges.add(f.value)),s;mi=d;let p=hi.length,m=t(s,c);mi=void 0;let h=hi.length>p?hi.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?oi(e.issues):ii),e)):(h&&(h.issues=m.issues.length?oi(m.issues):ii),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function _i(){return gi}function vi(e,t){let n=e[ri]?.backEdges;return n!==void 0&&ai(t)&&n.has(t)}var yi=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function t(t){return e[t]??null}let n={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,currency_code:`currency code`,credit_card:`credit card number`,iban:`IBAN`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`};function i(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):r[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${i(e.expected)}, received ${i(Ie(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${me(e.values[0])}`:`Invalid option: expected one of ${m(e.values,`|`)}`;case`too_big`:{let n=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${n}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Too small: expected ${e.origin} to have ${n}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${n[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${m(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function bi(){return{localeError:yi()}}var xi,Si=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Ci(){return new Si}(xi=globalThis).__zod_globalRegistry??(xi.__zod_globalRegistry=Ci());var wi=globalThis.__zod_globalRegistry;function Ti(e){return e.checks&&=[...e.checks],e}function Ei(e,t){return new e(Ti({type:`string`,...E(t)}))}function Di(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...E(t)})}function Oi(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...E(t)})}function ki(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...E(t)})}function Ai(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...E(t)})}function ji(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...E(t)})}function Mi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...E(t)})}function Ni(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...E(t)})}function Pi(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...E(t)})}function Fi(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...E(t)})}function Ii(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...E(t)})}function Li(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...E(t)})}function Ri(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...E(t)})}function zi(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...E(t)})}function Bi(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...E(t)})}function Vi(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...E(t)})}function Hi(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...E(t)})}function Ui(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...E(t)})}function Wi(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...E(t)})}function Gi(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...E(t)})}function Ki(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...E(t)})}function qi(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...E(t)})}function Ji(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...E(t)})}function Yi(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...E(t)})}function Xi(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...E(t)})}function Zi(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...E(t)})}function Qi(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...E(t)})}function $i(e,t){return new e(Ti({type:`number`,checks:[],...E(t)}))}function ea(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...E(t)})}function ta(e,t){return new e({type:`boolean`,...E(t)})}function na(e){return new e({type:`unknown`})}function ra(e,t){return new e({type:`never`,...E(t)})}function ia(e,t){return new pn({check:`less_than`,...E(t),value:e,inclusive:!1})}function aa(e,t){return new pn({check:`less_than`,...E(t),value:e,inclusive:!0})}function oa(e,t){return new mn({check:`greater_than`,...E(t),value:e,inclusive:!1})}function sa(e,t){return new mn({check:`greater_than`,...E(t),value:e,inclusive:!0})}function ca(e,t){return new aee({check:`multiple_of`,...E(t),value:e})}function la(e,t){return new gn({check:`max_length`,...E(t),maximum:e})}function ua(e,t){return new _n({check:`min_length`,...E(t),minimum:e})}function da(e,t){return new vn({check:`length_equals`,...E(t),length:e})}function fa(e,t){return new bn({check:`string_format`,format:`regex`,...E(t),pattern:e})}function pa(e){return new xn({check:`string_format`,format:`lowercase`,...E(e)})}function ma(e){return new Sn({check:`string_format`,format:`uppercase`,...E(e)})}function ha(e,t){return new Cn({check:`string_format`,format:`includes`,...E(t),includes:e})}function ga(e,t){return new wn({check:`string_format`,format:`starts_with`,...E(t),prefix:e})}function _a(e,t){return new Tn({check:`string_format`,format:`ends_with`,...E(t),suffix:e})}function va(e){return new En({check:`overwrite`,tx:e})}function ya(e){return va(t=>t.normalize(e))}function ba(){return va(e=>e.trim())}function xa(){return va(e=>e.toLowerCase())}function Sa(){return va(e=>e.toUpperCase())}function Ca(){return va(e=>se(e))}function wa(e,t,n){return new e({type:`array`,element:t,...E(n)})}function Ta(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...E(n)})}function Ea(e,t){let n=Da(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(Le(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,`input`in r||(r.input=t.value),r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(Le(r))}},e(t.value,t)),t);return n}function Da(e,t){let n=new un({check:`custom`,...E(t)});return n._zod.check=e,n}function Oa(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&x(e,t,n[t]);return e}function ka(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??wi,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,intersections:[],deferred:[],external:e?.external??void 0}}function Aa(e,t,n,r,i){let a=typeof t.unrepresentable==`function`?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(a===`any`)return!1;if(a===void 0||a===`throw`)throw Error(i);return Object.assign(n,a),!0}function ja(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,ja(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Oa(o.schema,c),t.io===`input`&&Va(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Ma(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Na(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);if(e.external&&e.sharedDefsExtractedFor===e.external)return;let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${Ma(a)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:`#`};let a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+Ma(a)}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
|
|
54
|
-
|
|
55
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}r.count>1&&e.reused===`ref`&&a(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Pa(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;Pa(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}var Fa=new Set([`type`,`properties`,`required`,`additionalProperties`]),Ia=[`oneOf`,`anyOf`];function La(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Ra(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Fa.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??La(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}x(n,r,e.length===1?e[0]:Ra(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=La(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function za(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Fa)if(t in e)return;let n=t.filter(e=>Ia.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Ra(t);else{let e=n[0],i=Ia.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>Ra([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,Oa(e,r))}function Ba(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Oa(i,s),Oa(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())Pa(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])za(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Oa(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,x(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:Ua(t,`input`,e.processors),output:Ua(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function Va(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return Va(r.element,n);if(r.type===`set`)return Va(r.valueType,n);if(r.type===`lazy`)return Va(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`||r.type===`catch`)return Va(r.innerType,n);if(r.type===`intersection`)return Va(r.left,n)||Va(r.right,n);if(r.type===`record`||r.type===`map`)return Va(r.keyType,n)||Va(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:Va(r.in,n)||Va(r.out,n);if(r.type===`object`){for(let e in r.shape)if(Va(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(Va(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(Va(e,n))return!0;return!!(r.rest&&Va(r.rest,n))}return!1}var Ha=(e,t={})=>n=>{let r=ka({...n,processors:t});return ja(e,r),Na(r,e),Ba(r,e)},Ua=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=ka({...i??{},target:a,io:t,processors:n});return ja(e,o),Na(o,e),Ba(o,e)},Wa=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},Ga=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},Ka=(e,t)=>{Wa(e,`minimum`,t),Ga(e,`maximum`,t)},qa=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},Ja=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},Ya=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Xa=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},Za=(e,t)=>Wa(e,`minimum`,t.minimum),Qa=(e,t)=>Ga(e,`maximum`,t.maximum),$a=e=>(t,n)=>{Xa(t,n.format);let[r,i]=e[n.format];Wa(t,`minimum`,r),Ga(t,`maximum`,i)},eo={greater_than:(e,t)=>Wa(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>Ga(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>qa(e,t.value),number_format:$a(ge),bigint_format:$a(_e),min_length:Za,max_length:Qa,length_equals:(e,t)=>Ka(e,t.length),min_size:Za,max_size:Qa,size_equals:(e,t)=>Ka(e,t.size),string_format:(e,t)=>{Xa(e,t.format),t.pattern&&Ja(e,t.pattern),(t.format===`base64`||t.format===`base64url`)&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>Ya(e,t.mime)};function to(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)eo[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&Wa(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&Wa(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&Ga(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&Ga(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&qa(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&Ya(t,i.mime);for(let e of i.patterns??[])Ja(t,e);return t}var no={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},ro=new Map([[rr,Zt],[ar,Qt]]),io=e=>ro.get(e)??e,mee=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=to(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=no[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c].map(io);e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},hee=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=to(e);i.type=u?`integer`:`number`;let d=typeof l==`number`&&l>=(a??-1/0),f=typeof c==`number`&&c<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;if(d?p?(i.minimum=l,i.exclusiveMinimum=!0):i.exclusiveMinimum=l:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=c,i.exclusiveMaximum=!0):i.exclusiveMaximum=c:typeof o==`number`&&(i.maximum=o),s){let n=new Set;for(let a of s)Number.isFinite(a)&&a!==0?n.add(Math.abs(a)):Aa(e,t,i,r,`A multipleOf divisor of ${a} cannot be represented in JSON Schema`);let[a,...o]=n;a!==void 0&&(i.multipleOf=a),o.length&&(i.allOf=[...i.allOf??[],...o.map(e=>({multipleOf:e}))])}},gee=(e,t,n,r)=>{n.type=`boolean`},_ee=(e,t,n,r)=>{n.not={}},vee=(e,t,n,r)=>{let i=e._zod.def,a=p(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},yee=(e,t,n,r)=>{let i=e._zod.def;if(i.values.length===0){n.not={};return}let a=[];for(let o of i.values)if(o===void 0){if(Aa(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(Aa(e,t,n,r,`BigInt literals cannot be represented in JSON Schema`))return;a.push(Number(o))}else a.push(o);if(a.length!==0){if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a}},bee=(e,t,n,r)=>{let i=n,a=e._zod.pattern;if(!a)throw Error(`Pattern not found in template literal`);i.type=`string`,i.pattern=a.source},xee=(e,t,n,r)=>{Aa(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},See=(e,t,n,r)=>{Aa(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},Cee=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=to(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=ja(a.element,t,{...r,path:[...r.path,`items`]})};function ao(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?ao(t.out):t.type===`catch`?ao(t.innerType):e._zod.optin}var wee=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&Aa(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)x(i.properties,e,ja(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];(t.io===`input`?ao(n)===void 0:n._zod.optout===void 0)&&s.push(e)}s.length>0&&(i.required=s),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=ja(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Tee=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>ja(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Eee=(e,t,n,r)=>{let i=e._zod.def,a=ja(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=ja(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)};function oo(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);let r=e.get(t)?.def;if(!r)return t;let i=oo(e,r,n);return i===r?t:i}for(let r of[`anyOf`,`oneOf`]){let i=t[r];if(!Array.isArray(i))continue;let a=i.map(t=>oo(e,t,n));a.some((e,t)=>e!==i[t])&&(t={...t,[r]:a})}let r=Array.isArray(t.type)?t.type:[t.type],i=!r.includes(`string`)&&r.some(e=>e===`number`||e===`integer`),a=t.enum??(t.const===void 0?void 0:[t.const]);if(!i&&!a?.some(e=>typeof e==`number`))return t;let{minimum:o,maximum:s,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:u,format:d,id:f,...p}=t;return p.enum?p.enum=p.enum.map(e=>typeof e==`number`?String(e):e):typeof p.const==`number`&&(p.const=String(p.const)),i?(p.type=`string`,a||(p.pattern=(r.includes(`number`)?sn:on).source),p):p}var so=new WeakMap;function Dee(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let n=new Map;for(let r of so.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=oo(t,a,new Set);o!==a&&n.set(a,o)}if(n.size)for(let t of e.seen.values())for(let e of[t.schema,t.def]){let t=e&&n.get(e.propertyNames);t&&(e.propertyNames=t)}}var Oee=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=to(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=ja(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)x(i.patternProperties,io(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=ja(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=so.get(t);n||(n=[],so.set(t,n),t.deferred.push(()=>Dee(t))),n.push(e)}i.additionalProperties=ja(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&ao(a.valueType)!==void 0;if(c&&!a.partial&&!l){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e.map(String))}},kee=(e,t,n,r)=>{let i=e._zod.def,a=ja(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Aee=(e,t,n,r)=>{let i=e._zod.def;ja(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},co=Symbol();function lo(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(Aa(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),co):JSON.parse(o)}var jee=(e,t,n,r)=>{let i=e._zod.def;ja(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=lo(i.defaultValue,e,t,n,r);o!==co&&(n.default=o)},Mee=(e,t,n,r)=>{let i=e._zod.def;ja(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=lo(i.defaultValue,e,t,n,r);o!==co&&(n._prefault=o)},Nee=(e,t,n,r)=>{let i=e._zod.def;ja(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{Aa(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Pee=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;ja(o,t,r);let s=t.seen.get(e);s.ref=o},Fee=(e,t,n,r)=>{let i=e._zod.def;ja(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},uo=(e,t,n,r)=>{let i=e._zod.def;ja(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},fo=new WeakSet([Object.prototype,Error.prototype]);function po(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}var mo=D(`ZodError`,(e,t)=>{dt.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);fo.has(n)||(fo.add(n),po(n,`format`,e=>t=>mt(e,t)),po(n,`flatten`,e=>t=>pt(e,t)),po(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,h,2)}),po(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,h,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),ho=gt(mo),go=_t(mo),_o=vt(mo),vo=bt(mo),Iee=Et(mo),yo=Dt(mo),bo=Ot(mo),xo=kt(mo),So=At(mo),Co=jt(mo),Lee=Mt(mo),wo=Nt(mo);function To(){rt.localeError||it(bi())}function Eo(){rt.memoizer||it({memoizer:_i()})}var Do=D(`ZodType`,(e,t)=>(To(),kn.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(ae(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return pe(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Hs(e,t))},superRefine(e,t){return this.check(Us(e,t))},overwrite(e){return this.check(va(e))},optional(){return xs(this)},exactOptional(){return Cs(this)},nullable(){return Ts(this)},nullish(){return xs(Ts(this))},nonoptional(e){return js(this,e)},array(){return j(this)},or(e){return ds([this,e])},and(e){return ps(this,e)},transform(e){return Fs(this,ys(e))},default(e){return Ds(this,e)},prefault(e){return ks(this,e)},catch(e){return Ns(this,e)},pipe(e){return Fs(this,e)},readonly(){return Rs(this)},describe(e){let t=this.clone();return wi.add(t,{description:e}),t},meta(...e){if(e.length===0)return wi.get(this);let t=this.clone();return wi.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return Be(this,`~standard`,{...Mn(this),jsonSchema:{input:Ua(this,`input`),output:Ua(this,`output`)}})},set"~standard"(e){ze(this,`~standard`,e)},parse:function e(t,n){return ho(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await go(this,t,n,{callee:e})},safeParse(e,t){return _o(this,e,t)},async safeParseAsync(e,t){return vo(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){ze(this,`spa`,e)},validate(e,t){return Ct(this,e,t)},validateAsync(e,t){return Tt(this,e,t)},encode:function e(t,n){return Iee(this,t,n,{callee:e})},decode:function e(t,n){return yo(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await bo(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await xo(this,t,n,{callee:e})},safeEncode(e,t){return So(this,e,t)},safeDecode(e,t){return Co(this,e,t)},async safeEncodeAsync(e,t){return Lee(this,e,t)},async safeDecodeAsync(e,t){return wo(this,e,t)},toJSONSchema(e){return Ha(this,{})(e)},get description(){return wi.get(this)?.description},get _def(){return this._zod.def}}),Oo=D(`_ZodString`,(e,t)=>{Nn.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>mee(e,t,n,r)},Ve({format:e=>to(e).format??null,minLength:e=>to(e).minimum??null,maxLength:e=>to(e).maximum??null},{regex(...e){return this.check(fa(...e))},includes(...e){return this.check(ha(...e))},startsWith(...e){return this.check(ga(...e))},endsWith(...e){return this.check(_a(...e))},min(...e){return this.check(ua(...e))},max(...e){return this.check(la(...e))},length(...e){return this.check(da(...e))},nonempty(...e){return this.check(ua(1,...e))},lowercase(e){return this.check(pa(e))},uppercase(e){return this.check(ma(e))},trim(){return this.check(ba())},normalize(...e){return this.check(ya(...e))},toLowerCase(){return this.check(xa())},toUpperCase(){return this.check(Sa())},slugify(){return this.check(Ca())}})),ko=D(`ZodString`,(e,t)=>{Nn.init(e,t),Oo.init(e,t)},{email(e){return this.check(Di(Fo,e))},url(e){return this.check(Ni(Ro,e))},jwt(e){return this.check(Ji(es,e))},emoji(e){return this.check(Pi(Bo,e))},guid(e){return this.check(Oi(Io,e))},uuid(e){return this.check(ki(Lo,e))},uuidv4(e){return this.check(Ai(Lo,e))},uuidv6(e){return this.check(ji(Lo,e))},uuidv7(e){return this.check(Mi(Lo,e))},nanoid(e){return this.check(Fi(Vo,e))},cuid(e){return this.check(Ii(Ho,e))},cuid2(e){return this.check(Li(Uo,e))},ulid(e){return this.check(Ri(Wo,e))},base64(e){return this.check(Gi(Zo,e))},base64url(e){return this.check(Ki(Qo,e))},xid(e){return this.check(zi(Go,e))},ksuid(e){return this.check(Bi(Ko,e))},ipv4(e){return this.check(Vi(qo,e))},ipv6(e){return this.check(Hi(Jo,e))},cidrv4(e){return this.check(Ui(Yo,e))},cidrv6(e){return this.check(Wi(Xo,e))},e164(e){return this.check(qi($o,e))},datetime(e){return this.check(Yi(jo,e))},date(e){return this.check(Xi(Mo,e))},time(e){return this.check(Zi(No,e))},duration(e){return this.check(Qi(Po,e))}});function O(e){return Ei(ko,e)}var Ao=D(`ZodStringFormat`,(e,t)=>{Pn.init(e,t),Oo.init(e,t)}),jo=D(`ZodISODateTime`,(e,t)=>{Gn.init(e,t),Ao.init(e,t)}),Mo=D(`ZodISODate`,(e,t)=>{Kn.init(e,t),Ao.init(e,t)}),No=D(`ZodISOTime`,(e,t)=>{qn.init(e,t),Ao.init(e,t)}),Po=D(`ZodISODuration`,(e,t)=>{Jn.init(e,t),Ao.init(e,t)}),Fo=D(`ZodEmail`,(e,t)=>{cee.init(e,t),Ao.init(e,t)}),Io=D(`ZodGUID`,(e,t)=>{oee.init(e,t),Ao.init(e,t)}),Lo=D(`ZodUUID`,(e,t)=>{see.init(e,t),Ao.init(e,t)}),Ro=D(`ZodURL`,(e,t)=>{Ln.init(e,t),Ao.init(e,t)});function zo(e){return Ni(Ro,e)}var Bo=D(`ZodEmoji`,(e,t)=>{Rn.init(e,t),Ao.init(e,t)}),Vo=D(`ZodNanoID`,(e,t)=>{zn.init(e,t),Ao.init(e,t)}),Ho=D(`ZodCUID`,(e,t)=>{Bn.init(e,t),Ao.init(e,t)}),Uo=D(`ZodCUID2`,(e,t)=>{Vn.init(e,t),Ao.init(e,t)}),Wo=D(`ZodULID`,(e,t)=>{Hn.init(e,t),Ao.init(e,t)}),Go=D(`ZodXID`,(e,t)=>{Un.init(e,t),Ao.init(e,t)}),Ko=D(`ZodKSUID`,(e,t)=>{Wn.init(e,t),Ao.init(e,t)}),qo=D(`ZodIPv4`,(e,t)=>{Yn.init(e,t),Ao.init(e,t)}),Jo=D(`ZodIPv6`,(e,t)=>{Qn.init(e,t),Ao.init(e,t)}),Yo=D(`ZodCIDRv4`,(e,t)=>{$n.init(e,t),Ao.init(e,t)}),Xo=D(`ZodCIDRv6`,(e,t)=>{tr.init(e,t),Ao.init(e,t)}),Zo=D(`ZodBase64`,(e,t)=>{ir.init(e,t),Ao.init(e,t)}),Qo=D(`ZodBase64URL`,(e,t)=>{sr.init(e,t),Ao.init(e,t)}),$o=D(`ZodE164`,(e,t)=>{cr.init(e,t),Ao.init(e,t)}),es=D(`ZodJWT`,(e,t)=>{ur.init(e,t),Ao.init(e,t)}),ts=D(`ZodNumber`,(e,t)=>{dr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>hee(e,t,n,r),e.isFinite=!0},Ve({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=to(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=to(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=to(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>to(e).format??null},{gt(e,t){return this.check(oa(e,t))},gte(e,t){return this.check(sa(e,t))},min(e,t){return this.check(sa(e,t))},lt(e,t){return this.check(ia(e,t))},lte(e,t){return this.check(aa(e,t))},max(e,t){return this.check(aa(e,t))},int(e){return this.check(rs(e))},safe(e){return this.check(rs(e))},positive(e){return this.check(oa(0,e))},nonnegative(e){return this.check(sa(0,e))},negative(e){return this.check(ia(0,e))},nonpositive(e){return this.check(aa(0,e))},multipleOf(e,t){return this.check(ca(e,t))},step(e,t){return this.check(ca(e,t))},finite(){return this}}));function k(e){return $i(ts,e)}var ns=D(`ZodNumberFormat`,(e,t)=>{fr.init(e,t),ts.init(e,t)});function rs(e){return ea(ns,e)}var is=D(`ZodBoolean`,(e,t)=>{pr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gee(e,t,n,r)});function A(e){return ta(is,e)}var as=D(`ZodUnknown`,(e,t)=>{mr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function os(){return na(as)}var Ree=D(`ZodNever`,(e,t)=>{hr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_ee(e,t,n,r)});function ss(e){return ra(Ree,e)}var zee=D(`ZodArray`,(e,t)=>{Eo(),_r.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cee(e,t,n,r),e.element=t.element},{min(e,t){return this.check(ua(e,t))},nonempty(e){return this.check(ua(1,e))},max(e,t){return this.check(la(e,t))},length(e,t){return this.check(da(e,t))},unwrap(){return this.element}});function j(e,t){return wa(zee,e,t)}var cs=D(`ZodObject`,(e,t)=>{Eo(),Cr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wee(e,t,n,r),Je(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return P(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(ae(this._zod.def,{catchall:e}))},passthrough(){return this.clone(ae(this._zod.def,{catchall:os()}))},loose(){return this.clone(ae(this._zod.def,{catchall:os()}))},strict(){return this.clone(ae(this._zod.def,{catchall:ss()}))},strip(){return this.clone(ae(this._zod.def,{catchall:void 0}))},extend(e){return xe(this,e)},safeExtend(e){return Ce(this,e)},merge(e){return we(this,e)},pick(e){return ve(this,e)},omit(e){return be(this,e)},partial(...e){return Te(bs,this,e[0])},exactPartial(...e){return Te(Ss,this,e[0],`exactPartial`)},required(...e){return Ee(As,this,e[0])}});function M(e,t){return new cs({type:`object`,shape:e??{},...E(t)})}function N(e,t){return new cs({type:`object`,shape:e,catchall:ss(),...E(t)})}function ls(e,t){return new cs({type:`object`,shape:e,catchall:os(),...E(t)})}var us=D(`ZodUnion`,(e,t)=>{Tr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Tee(e,t,n,r),e.options=t.options});function ds(e,t){return new us({type:`union`,options:e,...E(t)})}var Bee=D(`ZodDiscriminatedUnion`,(e,t)=>{us.init(e,t),Dr.init(e,t)});function fs(e,t,n){return new Bee({type:`union`,options:t,discriminator:e,...E(n)})}var Vee=D(`ZodIntersection`,(e,t)=>{Or.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Eee(e,t,n,r)});function ps(e,t){return new Vee({type:`intersection`,left:e,right:t})}var ms=D(`ZodRecord`,(e,t)=>{Eo(),jr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oee(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function hs(e,t,n){return!t||!t._zod?new ms({type:`record`,keyType:O(),valueType:e,...E(t)}):new ms({type:`record`,keyType:e,valueType:t,...E(n)})}var gs=D(`ZodEnum`,(e,t)=>{Mr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vee(e,t,n,r),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new gs({...t,checks:[],...E(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new gs({...t,checks:[],...E(r),entries:i})}});function P(e,t){return new gs({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...E(t)})}var _s=D(`ZodLiteral`,(e,t)=>{Nr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yee(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function F(e,t){return new _s({type:`literal`,values:Array.isArray(e)?e:[e],...E(t)})}var vs=D(`ZodTransform`,(e,t)=>{Eo(),Pr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>See(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new nt(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Le(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(Le(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function ys(e){return new vs({type:`transform`,transform:e})}var bs=D(`ZodOptional`,(e,t)=>{Ir.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function xs(e){return new bs({type:`optional`,innerType:e})}var Ss=D(`ZodExactOptional`,(e,t)=>{Lr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Cs(e){return new Ss({type:`optional`,innerType:e})}var ws=D(`ZodNullable`,(e,t)=>{Rr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kee(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ts(e){return new ws({type:`nullable`,innerType:e})}var Es=D(`ZodDefault`,(e,t)=>{zr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jee(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Ds(e,t){return new Es({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():T(t)}})}var Os=D(`ZodPrefault`,(e,t)=>{Vr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mee(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ks(e,t){return new Os({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():T(t)}})}var As=D(`ZodNonOptional`,(e,t)=>{Hr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Aee(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function js(e,t){return new As({type:`nonoptional`,innerType:e,...E(t)})}var Ms=D(`ZodCatch`,(e,t)=>{Gr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Nee(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ns(e,t){return new Ms({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:Xe(t)})}var Ps=D(`ZodPipe`,(e,t)=>{Kr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pee(e,t,n,r),e.in=t.in,e.out=t.out});function Fs(e,t){return new Ps({type:`pipe`,in:e,out:t})}var Is=D(`ZodPreprocess`,(e,t)=>{Ps.init(e,t),Jr.init(e,t)}),Ls=D(`ZodReadonly`,(e,t)=>{Yr.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fee(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Rs(e){return new Ls({type:`readonly`,innerType:e})}var zs=D(`ZodTemplateLiteral`,(e,t)=>{$r.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bee(e,t,n,r)});function Bs(e,t){return new zs({type:`template_literal`,parts:e,...E(t)})}var Vs=D(`ZodCustom`,(e,t)=>{ei.init(e,t),Do.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xee(e,t,n,r)});function Hs(e,t={}){return Ta(Vs,e,t)}function Us(e,t){return Ea(e,t)}function Ws(e,t){return new Is({type:`pipe`,in:ys(e),out:t})}var Gs=M({attempt:k().int().positive(),limit:k().int().positive()}).refine(e=>e.attempt<=e.limit),Ks={error:O().nullable().optional(),nextAttemptAt:k().finite().nonnegative().nullable().optional(),retry:Gs.nullable().optional(),isRefreshing:A().optional(),refreshNotice:O().nullable().optional()},qs=M({lane:P([`my-prs`,`team-review`])}),Js=M({ok:A(),error:O().optional()}),Ys=2e4,Xs=4e3,Zs=524288,Qs=1e4,$s=`ExitPlanMode`,ec=M({plan:O().min(1),planFilePath:O().min(1),agent_id:O().min(1).optional(),agent_type:O().min(1).optional()}).passthrough();M({tool_name:F($s),tool_input:ec,agent_id:O().min(1).optional(),agent_type:O().min(1).optional()}).passthrough(),M({plan:O(),planFilePath:O(),agentId:O().nullable(),agentType:O().nullable()}).extend({sessionId:O().min(1),revision:k().int().positive(),receivedAt:k().finite()});var tc=P(Object.freeze([`open`,`released`,`decided`,`closed`])),nc=P(Object.freeze([`approve`,`approve-accept-edits`,`revise`,`terminal`])),rc=M({heading:O().max(Xs).nullable(),comment:O().min(1).max(Xs)}),ic=M({id:O().min(1),agentId:O().nullable(),revision:k().int().positive(),decision:nc,feedback:O().max(Ys).optional(),comments:j(rc).max(40).optional(),plan:O().min(1).max(Zs).optional()}),ac=M({revision:k().int().positive(),receivedAt:k().finite(),chars:k().int().nonnegative(),title:O()}),oc=M({revision:k().int().positive(),since:k().finite()}),sc=M({agentId:O().nullable(),agentType:O().nullable(),revisions:j(ac),state:tc,openRevision:oc.nullable(),approvedRevision:k().int().positive().nullable(),lastDecision:nc.nullable()});M({reviews:j(sc)});var cc=M({agentId:O().nullable(),revision:k().int().nonnegative(),plan:O(),planFilePath:O(),receivedAt:k().finite()}),lc=M({id:O(),agentId:O().nullable(),agentType:O().nullable(),revision:k().int().positive(),receivedAt:k().finite(),state:tc,lastDecision:nc.nullable(),approvedRevision:k().int().positive().nullable(),chars:k().int().nonnegative(),title:O(),hasPlan:A()}),uc=M({id:O(),agentId:O().nullable(),planFilePath:O(),changedAt:k().finite()}),dc=M({id:O(),reviews:j(sc),body:cc.nullable()});Object.freeze([`file`,`subsystem`,`co-change`,`hotspot`,`blast`,`untested`,`collision`,`link`]);var fc=O().min(1),pc=O().min(1),mc=k().int().nonnegative(),hc=j(pc).max(20),gc=P([`added`,`modified`,`deleted`,`renamed`,`untracked`]),_c=N({factId:fc,path:pc,previousPath:pc.optional(),status:gc,isCommitted:A()}),vc=N({factId:fc,agentsPath:pc,title:O(),paths:j(pc).min(1)}),yc=N({factId:fc,path:pc,partner:pc,support:mc,confidence:k().min(0).max(1)}),bc=N({factId:fc,path:pc,commitCount:mc,fixCommitCount:mc}),xc=N({factId:fc,path:pc,directDependents:hc,directDependentCount:mc,transitiveDependentCount:mc,dependentTests:hc,dependentTestCount:mc}),Sc=N({factId:fc,path:pc}),Cc=N({factId:fc,path:pc,otherSessionId:O().min(1),otherSessionName:O()}),wc=N({factId:fc,providerRepo:O().min(1),packageName:O().min(1),packageDir:O(),consumerManifest:pc,versionSpec:O(),isLocalLink:A(),providerChangedPathCount:mc,importers:hc,importerCount:mc,changedImporterCount:mc}),Tc=N({name:O().min(1),root:O().min(1),sessionPathPrefix:O(),base:O().nullable(),files:j(_c),subsystems:j(vc),coChangeGaps:j(yc),hotspots:j(bc),blastRadius:j(xc),untestedFiles:j(Sc),collisions:j(Cc),links:j(wc),error:O().nullable()}),Ec=N({text:O().min(1).max(600),factIds:j(fc).min(1)}),Dc=N({factsHash:O().min(1),model:O().nullable(),claims:j(Ec).max(12)}),Oc=P([`disabled`,`pending`,`ready`,`failed`]),kc=N({sessionId:O().min(1),sig:O().nullable(),generatedAt:k().finite(),repos:j(Tc),narrative:Dc.nullable(),narratorState:Oc,error:O().min(1).optional()}),I=Object.freeze({DORMANT:`DORMANT`,INITIALIZING:`INITIALIZING`,STARTING:`STARTING`,RUNNING:`RUNNING`,WAITING:`WAITING`,IDLE:`IDLE`,COMPLETE:`COMPLETE`,DONE:`DONE`,FAILED:`FAILED`}),Ac=Object.freeze({[I.DORMANT]:`Dormant`,[I.INITIALIZING]:`Preparing`,[I.STARTING]:`Starting`,[I.RUNNING]:`Working`,[I.WAITING]:`Needs Input`,[I.IDLE]:`Idle`,[I.COMPLETE]:`Complete`,[I.DONE]:`Exited`,[I.FAILED]:`Failed`}),jc=Object.freeze({[I.DORMANT]:`○`,[I.INITIALIZING]:`◌`,[I.STARTING]:`◐`,[I.RUNNING]:`●`,[I.WAITING]:`◆`,[I.IDLE]:`◍`,[I.FAILED]:`▲`,[I.DONE]:`■`,[I.COMPLETE]:`◇`}),Mc=Object.freeze([I.INITIALIZING,I.STARTING,I.RUNNING,I.WAITING,I.IDLE,I.COMPLETE]),Nc=Object.freeze([I.DONE,I.FAILED]),Pc=Object.freeze([I.WAITING,I.IDLE,I.COMPLETE]),Fc=Object.freeze({Bash:`command`,Read:`file_path`,Edit:`file_path`,MultiEdit:`file_path`,Write:`file_path`,NotebookEdit:`notebook_path`,Grep:`pattern`,Glob:`pattern`,WebFetch:`url`,WebSearch:`query`,Task:`description`,Agent:`description`,Skill:`skill`});function Ic(e){let t=e.split(/\r?\n/,1)[0]?.trim()??``;return t.length<=160?t:`${t.slice(0,157)}...`}function Lc(e,t){let n=Fc[e];if(!n||!t||typeof t!=`object`||Array.isArray(t))return null;let r=t[n];return typeof r==`string`?r:null}function Rc(e,t){let n=Lc(e,t);return n===null?``:Ic(n)}var zc=/[\x00-\x1f\x7f-\x9f]/,Bc=RegExp(`${zc.source}|[\\p{Cf}\\u2028\\u2029]`,`u`),Vc=O().refine(e=>!zc.test(e)).trim().max(120),Hc=P(I),Uc=M({at:k().finite().nullable(),kind:O(),reason:O().nullable()}).passthrough(),Wc=e=>!Bc.test(e),Gc=M({text:O().min(1).max(300).refine(Wc),options:j(O().min(1).max(80).refine(Wc)).min(1).max(8),multiSelect:A()}),Kc=M({toolName:O().max(160),summary:O().max(160),isComplete:A(),question:Gc.nullable().optional()}),qc=M({id:O(),name:O(),taskTitle:Vc.nullable().default(null),taskTitleIsCustom:A().default(!1),path:O(),agent:O(),state:Hc,stateSince:k(),sleeping:A(),dangerouslySkipPermissions:A(),ephemeral:A(),isWorktree:A(),isWorkspace:A().default(!1),resumeSessionId:O().nullable(),activeAgents:k().int().nonnegative(),awaitingBackgroundTasks:A(),hasEndedTurn:A().default(!1),pendingWakeup:Uc.nullable(),pendingPromptKind:O().nullable(),pendingPromptDetail:Kc.nullable().default(null),hasPlan:A().default(!1),mergeStatus:O().nullable(),mergeReason:O().nullable(),worktreeNotice:O().nullable(),effectiveBase:O().nullable(),auditLog:j(os())}).passthrough();function Jc(e,t){return!e||!t?!e&&!t:e.text===t.text&&e.multiSelect===t.multiSelect&&e.options.length===t.options.length&&e.options.every((e,n)=>e===t.options[n])}M({prompt:O({error:`prompt must be a string`}).min(1,{error:`prompt must not be empty`}).max(2e4,{error:`prompt must be at most 20000 characters`}).refine(e=>!e.trimStart().startsWith(`-`),{message:`prompt must not start with a dash, which the agent CLI would read as an option`}),name:O({error:`name must be a string`}).min(1,{error:`name must not be empty`}).max(200,{error:`name must be at most 200 characters`}).optional(),agent:O({error:`agent must be a string`}).min(1,{error:`agent must not be empty`}).max(40,{error:`agent must be at most 40 characters`}).optional()}).strict(),M({note:O({error:`note must be a string`}).min(1,{error:`note must not be empty`}).max(500,{error:`note must be at most 500 characters`})}).strict(),ds([M({ok:F(!0),pending:A()}).strict(),M({ok:F(!1),error:O()}).strict()]),M({id:qc.shape.id,name:qc.shape.name,agent:qc.shape.agent,state:qc.shape.state,ephemeral:qc.shape.ephemeral}).strict();var Yc=4e3,Xc=M({ts:k().finite(),uuid:O().nullable(),parentUuid:O().nullable(),vendorSessionId:O().min(1),agentId:O().min(1).optional(),agentType:O().min(1).optional(),transcriptOffset:k().int().nonnegative().optional(),truncated:A().optional()}),Zc=fs(`kind`,[Xc.extend({kind:F(`prompt`),text:O()}),Xc.extend({kind:F(`expansion`),text:O(),toolUseId:O().min(1).optional()}),Xc.extend({kind:F(`thinking`),text:O()}),Xc.extend({kind:F(`assistant`),text:O()}),Xc.extend({kind:F(`tool_call`),toolUseId:O().min(1),name:O().min(1),input:os()}),Xc.extend({kind:F(`tool_result`),toolUseId:O().min(1),content:O(),isError:A(),truncated:A()}),Xc.extend({kind:F(`session`),vendor:O().min(1),transcriptPath:O().min(1),reason:O().min(1).optional()}),Xc.extend({kind:F(`notice`),text:O().max(Yc)}),Xc.extend({kind:F(`raw`),line:O().max(Yc)})]);M({transcriptPath:O().min(1),vendorSessionId:O().min(1),offset:k().int().nonnegative(),ingestedSubagentPaths:j(O().min(1)),offsetByTranscriptPath:hs(O().min(1),k().int().nonnegative()).default({}),subagentOffsetByPath:hs(O().min(1),k().int().nonnegative()).default({})});var Qc=P([`release`,`main`]),$c=P([`idle`,`running`,`staged`,`succeeded`,`failed`,`discarded`,`interrupted`]),el=P([`fetch`,`stage`,`install`,`link-deps`,`build`]),tl=M({id:el,status:P([`pending`,`running`,`succeeded`,`failed`]),startedAt:k().finite().nullable(),finishedAt:k().finite().nullable(),outputTail:j(O())}).strict(),nl=M({state:$c,fromSha:O().nullable(),toSha:O().nullable(),toVersion:O().nullable(),channel:Qc,steps:j(tl),activeStep:el.nullable(),reason:O().nullable(),startedAt:k().finite().nullable(),finishedAt:k().finite().nullable(),failedAtHandOff:A().optional()}).strict(),rl=nl.pick({state:!0,activeStep:!0,reason:!0,startedAt:!0,finishedAt:!0}),L=O().regex(/^[0-9a-f]{40}$/),il=O().regex(/^[^/]+\/[^/]+$/);M({number:k().int().positive(),title:O(),html_url:O(),draft:A().optional(),created_at:O().optional(),updated_at:O().optional(),repository_url:O(),user:M({login:O(),type:P([`User`,`Bot`])}).passthrough(),pull_request:M({}).passthrough()}).passthrough(),M({number:k().int().positive(),title:O(),body:O(),url:O(),author:M({login:O(),is_bot:A().optional()}).passthrough(),isDraft:A(),isCrossRepository:A(),baseRefName:O(),baseRefOid:L,headRefOid:L,additions:k().int().nonnegative(),deletions:k().int().nonnegative(),files:j(M({path:O(),additions:k().int().nonnegative(),deletions:k().int().nonnegative()}).passthrough())}).passthrough();var al=M({path:O(),line:k().int().positive(),side:P([`RIGHT`,`LEFT`]).default(`RIGHT`),body:O()}),ol=Object.freeze({STAMP:`APPROVE`,COMMENT:`APPROVE WITH NITS`,NEEDS_YOU:`REQUEST CHANGES`}),sl=P([`APPROVE`,`APPROVE WITH NITS`,`REQUEST CHANGES`,`BLOCKED`]),Hee=Ws(e=>typeof e==`string`&&Object.hasOwn(ol,e)?ol[e]:e,sl),cl=P([`CRITICAL`,`HIGH`,`MEDIUM`,`LOW`]),Uee=al.extend({severity:cl.optional()}),Wee=M({path:O().min(1),line:k().int().positive().nullable(),side:P([`RIGHT`,`LEFT`]),severity:cl,reviewer:O().min(1),disposition:P([`ACTIONABLE`,`NIT`,`AMBIGUOUS`]).nullable(),body:O().min(1)}),ll=M({goal:O().default(``),change:O(),checked:j(O()),gaps:j(O())});M({verdict:sl,head:L,summary:O(),assessment:ll.nullable(),findings:j(Wee)}),M({body:O(),commit_id:L,comments:j(M({path:O().min(1),line:k().int().positive(),side:P([`RIGHT`,`LEFT`]).default(`RIGHT`),body:O().min(1)}))});var Gee=P([`APPROVE`,`COMMENT`]),Kee=P([`APPROVED`,`CHANGES_REQUESTED`,`COMMENTED`]),ul=new Set([`APPROVED`,`CHANGES_REQUESTED`]),dl=P([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]),qee=P([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]),fl={requestSource:P([`direct`,`team`]).default(`team`),isDraft:A().optional(),checksState:qee.nullable().optional()},pl=M({login:O().min(1),state:Kee,commit:L.nullable(),isViewer:A(),submittedAt:O().nullable().optional()});function ml(e){return e.reviewDecision!==`APPROVED`||e.requeuedHead!==void 0&&e.requeuedHead===(e.liveHead??e.reviewedHead)?!1:(e.githubReviews??[]).some(e=>e.isViewer&&e.state===`APPROVED`)}M({head:L,reviews:j(pl)});var Jee=M({head:L,verdict:sl,summary:O(),body:O(),comments:j(al),wasPosted:A()}),hl=O().min(1).max(256).regex(/^[A-Za-z0-9_=-]+$/),Yee=M({addressed:A(),reason:O().trim().min(1).max(4e3)}).strict(),gl=M({id:hl,path:O(),line:k().int().positive().nullable(),isResolved:A(),viewerCanResolve:A(),comments:M({pageInfo:M({hasNextPage:A(),endCursor:O().nullable().optional()}),nodes:j(M({body:O(),author:M({login:O()}).nullable(),viewerDidAuthor:A(),createdAt:O().datetime(),url:O().url(),originalCommit:M({oid:L}).nullable()}))})});M({data:M({node:M({comments:gl.shape.comments}).nullable()}).nullable()}),M({pullRequest:M({reviewThreads:M({pageInfo:M({hasNextPage:A(),endCursor:O().nullable().optional()}),nodes:j(gl)})}).nullable()}),M({data:M({resolveReviewThread:M({thread:M({id:hl,isResolved:F(!0)})})}).nullable(),errors:j(os()).optional()});var _l=M({id:hl,path:O(),line:k().int().positive().nullable(),isResolved:A(),viewerCanResolve:A(),isNit:A(),url:O().url(),lastReplyAuthor:O(),lastReplyAt:O().datetime(),judgement:Yee.extend({head:L,judgedAt:k().finite(),lastReplyAt:O().datetime()}).optional(),resolveError:O().optional(),resolveAttemptReplyAt:O().optional(),judgeAttempt:M({head:L,lastReplyAt:O(),retryAt:k().finite()}).optional(),unjudgeable:M({head:L,lastReplyAt:O(),reason:O().min(1)}).optional()});M({merge_base_commit:M({sha:L}),files:j(M({filename:O(),previous_filename:O().optional(),patch:O().optional()})).max(300)});var vl=M({total:k().int().nonnegative(),resolved:k().int().nonnegative()}),yl=M({...fl,key:O(),repo:il,number:k().int().positive(),title:O(),url:O(),author:O(),tier:P([`stamp`,`full`]),reasons:j(O()),reviewedHead:L,verdict:Hee,summary:O(),assessment:ll.optional(),body:O(),comments:j(Uee),status:P([`ready`,`stale`,`posted`,`discarded`,`error`]),error:O().optional(),threads:j(_l).optional(),viewerThreads:vl.optional(),githubReviews:j(pl).optional(),reviewDecision:dl.nullable().optional(),liveHead:L.optional(),prCreatedAt:O().optional(),reviewedAt:k().finite().optional(),postedAt:k().finite().optional(),postedEvent:Gee.optional(),priorReviewedHead:L.optional(),requeuedHead:L.optional()});function Xee(e){return e.status===`posted`&&e.postedEvent===`COMMENT`}var Zee=P([`approve`,`approve-only`,`comment`,`discard`,`requeue`,`resolve-thread`]),Qee=M({key:O().min(1),head:L,action:Zee,threadId:hl.optional(),body:O(),comments:j(al)}).refine(e=>e.action!==`resolve-thread`||e.threadId!==void 0,{message:`resolve-thread requires threadId`,path:[`threadId`]}),$ee=M({key:O(),ok:A(),error:O().optional(),warning:O().optional()}),ete=M({sessionId:O().min(1),workDir:O().min(1),worktreePath:O().min(1),head:L,deadlineAt:k(),remainingAwakeMs:k().nonnegative().optional(),savedAt:k()}),bl=M({...fl,reviewDecision:dl.nullable().optional(),key:O(),repo:il,number:k().int().positive(),title:O(),url:O(),author:O(),prCreatedAt:O().optional()}),tte=M({draft:yl.nullable(),reviewedHead:L.nullable(),inFlight:A(),skipReason:O().nullable(),handReview:bl.optional(),reviewAttempts:k().int().nonnegative().default(0),resumable:ete.nullable().optional(),reviewedAt:k().optional(),threads:j(_l).optional(),viewerThreads:vl.optional(),autoResolvedThreadIds:j(hl).optional(),githubReviews:j(pl).optional(),reviewDecision:dl.nullable().optional(),liveHead:L.optional(),requeuedHead:L.optional(),priorReview:Jee.optional(),discardedReviewHead:L.optional(),updatedAt:k().finite()});hs(O(),tte);var nte=P([`preparing`,`checkout`,`reviewing`]),rte=M({at:k().finite(),tool:O(),detail:O()}),ite=M({...fl,reviewDecision:dl.nullable().optional(),key:O(),repo:il,number:k().int().positive(),title:O(),url:O(),author:O(),tier:P([`stamp`,`full`]),reasons:j(O()),head:L,phase:nte,startedAt:k().finite(),deadlineAt:k().finite().nullable(),toolCalls:k().int().nonnegative(),recentSteps:j(rte),prCreatedAt:O().optional(),priorReviewedHead:L.optional()}),xl=M({...Ks,type:F(`team-review-status`),ts:k().finite(),configured:A(),reason:O().nullable().optional(),drafts:j(yl),inFlight:j(ite),queued:j(bl).default([]),handReview:j(bl).default([]),team:M({org:O(),slug:O(),name:O(),avatarUrl:O()}).nullable().optional()}).passthrough(),ate=P([`merged`,`draft`,`conflicts`,`behind`,`checks-failing`,`changes-requested`,`unresolved-threads`,`checks-pending`,`needs-approval`,`ready`,`unknown`]),Sl=k().int().nonnegative(),Cl=O().regex(/^[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._-]*$/),wl=Bs([Cl,`#`,O().regex(/^[1-9][0-9]*$/)]),ote=Bs([wl,`@`,L]),Tl=O().refine(e=>wl.safeParse(e).success),El=O().refine(e=>ote.safeParse(e).success);fs(`outcome`,[N({outcome:F(`pushed`)}),N({outcome:P([`no-change`,`failed`,`stopped`,`timed-out`]),reason:O().min(1)})]);var Dl=N({outcome:P([`pushed`,`no-change`,`failed`,`stopped`,`timed-out`]),reason:O().min(1).optional(),at:k().finite()}),Ol=Dl.extend({key:Tl,headRefOid:L,baseRefOid:L});N({keepMergeableKeys:j(Tl),keepMergeableAttemptKeys:j(El),keepMergeableAttempts:j(Ol).default([]),mergeQueueKeys:j(Tl).default([]),keepMergeablePushedHeadKeys:j(El).default([])});var kl=M({repo:Cl,number:k().int().positive(),keepMergeable:A()}),Al=M({key:O(),ok:A(),error:O().optional()}),jl=Al,Ml=M({repo:Cl,number:k().int().positive(),mergeWhenReady:A()}),Nl=Al,Pl=P([`MERGE`,`SQUASH`,`REBASE`]),Fl=M({path:O(),line:k().int().positive().nullable(),isOutdated:A(),url:zo(),author:O().nullable(),excerpt:O(),commentCount:k().int().positive(),lastAuthor:O().nullable(),lastActivityAt:O()}),Il=M({reviewer:O().nullable(),state:O(),submittedAt:O().nullable()}),Ll=M({outcome:P([`rebased`,`failed`]),at:k().finite(),message:O()}),Rl=M({key:O(),repo:Cl,number:k().int().positive(),title:O(),url:zo(),isDraft:A(),state:P([`OPEN`,`MERGED`,`CLOSED`]),createdAt:O(),mergedAt:O().nullable(),updatedAt:O(),baseRefName:O(),baseRefOid:L,headRefName:O().min(1),isCrossRepository:A(),headRefOid:L,isInMergeQueue:A(),mergeMethod:Pl,mergeable:P([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]),mergeStateStatus:O(),reviewDecision:P([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable(),checks:M({state:P([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),failing:j(O()),pendingCount:Sl}),unresolvedThreads:Sl,threads:j(Fl),behindBy:Sl.nullable(),reviewRequests:j(M({name:O(),isTeam:A(),avatarUrl:O().nullable()})),approvals:Sl,reviews:j(Il),stage:ate,autoRebase:Ll.optional(),keepMergeable:A().optional(),keepMergeableAttempt:Dl.optional(),isKeepMergeableFixInFlight:A().optional(),mergeQueuePosition:k().int().positive().nullable().optional(),isMergeQueueHeldForRepairPush:A().optional()}).refine(e=>e.key===`${e.repo}#${e.number}`),zl=M({...Ks,type:F(`my-prs-status`),ts:k().finite(),configured:A(),reason:O().nullable().optional(),viewer:O().nullable(),prs:j(Rl),truncatedNote:O().nullable().optional(),isKeepMergeableEnabled:A().optional(),isMergeQueueEnabled:A().optional()}).passthrough(),Bl=M({repo:Cl,number:k().int().positive(),headRefOid:L}),Vl=P([`merged`,`queued`,`auto-merge`,`unconfirmed`]),Hl=M({key:O(),ok:A(),kind:Vl.optional(),error:O().optional()}),Ul=M({__typename:F(`CheckRun`),name:O(),conclusion:O().nullable(),status:O()}),Wl=M({__typename:F(`StatusContext`),context:O(),state:O()}),Gl=M({__typename:F(`PullRequest`),id:O().regex(/^[A-Za-z0-9_=-]+$/),number:k().int().positive(),title:O(),url:zo(),isDraft:A(),state:P([`OPEN`,`MERGED`,`CLOSED`]),createdAt:O(),mergedAt:O().nullable(),updatedAt:O(),baseRefName:O(),baseRefOid:L,headRefName:O().min(1),isCrossRepository:A(),headRefOid:L,isInMergeQueue:A(),mergeable:P([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]),mergeStateStatus:O(),reviewDecision:P([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable(),repository:M({nameWithOwner:Cl,viewerDefaultMergeMethod:Pl}),commits:M({nodes:j(M({commit:M({statusCheckRollup:M({state:P([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),contexts:M({nodes:j(ds([Ul,Wl]))})}).nullable()})}))}),reviewThreads:M({pageInfo:M({hasNextPage:A()}),nodes:j(M({isResolved:A()}))}),reviewRequests:M({nodes:j(M({requestedReviewer:fs(`__typename`,[M({__typename:F(`User`),login:O()}),M({__typename:F(`Team`),slug:O(),avatarUrl:O().nullable(),organization:M({login:O()})}),M({__typename:P([`Bot`,`Mannequin`])})]).nullable()}))}),latestOpinionatedReviews:M({nodes:j(M({state:O()}))}),latestReviews:M({nodes:j(M({state:O(),submittedAt:O().nullable(),author:M({login:O()}).nullable()}))})}),Kl=M({login:O()}).nullable();M({isResolved:A(),isOutdated:A(),path:O(),line:k().int().positive().nullable(),firstComment:M({totalCount:Sl,nodes:j(M({author:Kl,bodyText:O(),url:zo(),createdAt:O()}))}),lastComment:M({nodes:j(M({author:Kl,createdAt:O()}))})}),M({data:M({repository:M({pullRequest:M({reviewThreads:M({pageInfo:M({hasNextPage:A(),endCursor:O().nullable()}),nodes:j(os())})}).nullable()}).nullable()}),errors:j(os()).optional()}),M({data:M({repository:M({pullRequest:M({state:O(),isInMergeQueue:A(),autoMergeRequest:M({enabledAt:O().nullable()}).nullable()}).nullable()}).nullable()}),errors:j(os()).optional()}),M({data:M({open:M({issueCount:Sl,nodes:j(os())}),merged:M({issueCount:Sl,nodes:j(os())})}),errors:j(os()).optional()});var ql=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,Jl=/^[A-Za-z_][A-Za-z0-9_]*$/,Yl=O().regex(/^[^/\s]+\/[^/\s]+$/),Xl=k().finite(),Zl=O().min(1),Ql=Object.freeze([`CLAUDE_CODE_OAUTH_TOKEN`]);Object.freeze([`human`,`bot`]);var $l=O().regex(ql);function eu(e){return new Set(e.map(e=>e.id)).size===e.length}var tu=fs(`kind`,[N({kind:F(`manual`)}),N({kind:F(`github-merged-prs`),repo:Yl,minBodies:k().int().min(1),limit:k().int().min(1).max(500)})]),nu=fs(`kind`,[N({kind:F(`none`)}),N({kind:F(`pr-checkout`)})]),ru=N({promptTemplate:Zl,output:P([`review-findings`,`json`]),timeoutSeconds:k().int().min(30).max(14400)}),iu=N({id:$l,env:hs(O().regex(Jl),O()).refine(e=>Ql.every(t=>!Object.hasOwn(e,t)),{message:`arm env must not set ${Ql.join(`, `)}; Glimmervoid injects it per cell`}).optional(),extraArgs:j(O()).optional(),setup:N({command:j(Zl).min(1)}).optional()}),au=fs(`kind`,[N({kind:F(`llm-judge-match`),model:Zl})]);N({id:$l,title:Zl,caseSource:tu,workspace:nu,subject:ru,arms:j(iu).min(2).refine(eu,{message:`arm ids must be unique`}),baselineArm:$l,trials:k().int().min(1).max(20),scorer:au}).refine(e=>e.arms.some(t=>t.id===e.baselineArm),{message:`baselineArm must name one of the arms`,path:[`baselineArm`]});var ou=N({id:$l,text:Zl,tags:j($l),path:Zl.optional(),line:k().int().positive().optional()}),su=fs(`kind`,[N({kind:F(`manual`)}),N({kind:F(`github-pr`),repo:Yl,number:k().int().positive(),url:Zl,minedAt:Xl})]);N({id:$l,input:hs(O(),os()),references:j(ou).min(1).refine(eu,{message:`reference ids must be unique`}),source:su}),M({repo:Yl,number:k().int().positive(),reviewedSha:L,baseSha:L,changedFiles:j(Zl)});var cu=N({referenceId:$l,verdict:P([`found`,`partial`,`missed`]),findingIndexes:j(k().int().nonnegative())}),lu=P([`scored`,`invalid`,`error`]),uu=N({caseId:$l,armId:$l,trial:k().int().min(1),status:lu,startedAt:Xl,finishedAt:Xl,degradedReasons:j(Zl),findingCount:k().int().nonnegative(),judgements:j(cu),costUsd:k().finite().nonnegative().nullable(),error:Zl.nullable()}),du=P([`running`,`completed`,`interrupted`,`failed`]);N({id:$l,suiteId:$l,status:du,startedAt:Xl,finishedAt:Xl.nullable(),error:Zl.nullable(),cells:j(uu)});var fu=k().min(0).max(1).nullable(),pu=N({trials:k().int().nonnegative(),recall:fu,recallByTag:hs($l,fu),degraded:k().int().nonnegative(),invalid:k().int().nonnegative(),costUsd:k().finite().nonnegative().nullable()}),mu=N({caseId:$l,arms:hs($l,pu),deltaVsBaseline:hs($l,k().min(-1).max(1).nullable())}),hu=N({runId:$l,suiteId:$l,status:du,baselineArm:$l,armIds:j($l),rows:j(mu),totals:hs($l,pu)}),gu=P([`mine`,`run`,`cancel`]),_u=M({suiteId:$l,action:gu}),vu=M({suiteId:$l,action:gu,ok:A(),error:O().optional(),runId:$l.optional()}),yu=P([`setup`,`preflight`,`workspace`,`subject`,`judge`]),bu=M({suiteId:$l,runId:$l,caseId:$l.nullable(),armId:$l,trial:k().int().min(1),phase:yu,cellIndex:k().int().nonnegative(),cellCount:k().int().positive(),startedAt:Xl}),xu=M({id:$l,title:O(),error:O().nullable(),caseCount:k().int().nonnegative(),candidateCount:k().int().nonnegative(),armIds:j($l),baselineArm:$l.nullable(),latestReport:hu.nullable()}),Su=M({type:F(`benchmark-status`),ts:Xl,configured:A(),reason:O().nullable(),suites:j(xu),inFlight:bu.nullable()}).passthrough(),Cu=M({__typename:O(),login:O()}).nullable();M({number:k().int().positive(),title:O(),url:Zl,mergedAt:O().nullable(),reviewThreads:M({totalCount:k().int().nonnegative()}),reviews:M({totalCount:k().int().nonnegative()})});var wu=M({path:O(),line:k().int().positive().nullable(),originalLine:k().int().positive().nullable(),comments:M({nodes:j(M({databaseId:k().int().positive(),author:Cu,body:O(),createdAt:O(),originalCommit:M({oid:L}).nullable()}))})}),Tu=M({databaseId:k().int().positive(),author:Cu,body:O(),submittedAt:O().nullable(),commit:M({oid:L}).nullable()}),Eu=fs(`__typename`,[M({__typename:F(`BaseRefChangedEvent`),createdAt:O()}),M({__typename:F(`BaseRefForcePushedEvent`),createdAt:O(),beforeCommit:M({oid:L}).nullable()})]);M({author:Cu,baseRefOid:L,reviewThreads:M({pageInfo:M({hasNextPage:A()}),nodes:j(wu)}),reviews:M({pageInfo:M({hasNextPage:A()}),nodes:j(Tu)}),timelineItems:M({pageInfo:M({hasNextPage:A()}),nodes:j(Eu)})}),M({mergeBaseSha:L,changedFiles:j(Zl),isFileListComplete:A()});var R=O().nullable().optional(),Du=O();function z(e,t){return ls({type:F(e),...t})}function Ou(e={}){return ls(e)}var ku=O().nullable(),Au=k().finite(),ju=Au.optional(),Mu=ku.optional(),Nu=Ou(),Pu=j(os()),Fu=k().int().positive(),Iu=j(Ou({at:Au,tool:O(),detail:O()}));M({id:O(),label:O(),command:O(),args:j(O()),resolvable:A().nullable()}).strict();var Lu=M({id:Du,session:O(),taskTitle:Vc.nullable().optional(),taskTitleIsCustom:A().optional(),path:O(),agent:O(),state:Hc,stateSince:Au,skipPerms:A(),worktree:A(),workspace:A().optional(),resumeSessionId:ku,ephemeral:A().optional()}),Ru=M({number:k().int().positive(),title:O(),labels:j(M({name:O(),color:O()}).passthrough()),url:O(),updatedAt:O()}).passthrough(),zu=M({ts:Au,projectId:O(),issues:j(Ru),error:Mu}),Bu=1e3,Vu=RegExp(`^[^\0--]+$`),Hu=N({section:P([`committed`,`uncommitted`]),path:O().min(1).max(400).regex(Vu),line:k().int().positive(),side:P([`old`,`new`]),note:O().min(1).max(Bu)}),Uu=4096,Wu=Uu+2*(Zs+Ys+80*Xs),Gu=M({reason:O(),message:O()}),Ku=P([`npm-global`,`npx`,`clone`,`unknown`]),qu={updateAvailable:A(),current:ku,latest:ku,currentSha:ku,latestSha:ku,releaseUrl:ku,command:O(),flavor:Ku,platform:O(),installedBranch:ku,upstream:ku,isTreeClean:A().nullable(),lastCheckAt:Au,channel:Qc,behindCount:k().int().nonnegative().nullable(),reason:ku,journalSummary:rl.nullable(),applyRefusal:Gu.nullable()};M(qu),Object.freeze(`add-session.list-conversations.resume-conversation.remove-session.rename-session.set-session-title.reorder-sessions.ping.get-settings.update-settings.scan-repo-roots.list-agents.get-posthog-report.posthog-open-session.request-issues.open-issue-session.posthog-issue-action.team-review-action.benchmark-action.my-pr-merge.my-pr-keep-mergeable.my-pr-merge-when-ready.reviews-refresh.posthog-archive-investigation.request-usage-report.request-hooks-report.save-hook.delete-hook.kill.start-session.restart.force-restart.dismiss.sleep.wake.merge-session.finish-session.merge-continue-session.discard-session-worktree.resolve-session-merge.request-session-diff.request-change-map.send-diff-annotations.request-branch-sync.resync-branch.debug-state.session-trace.session-plan.plan-decision.shutdown.restart-server.focus-change.request-health-snapshot.update-check.update-apply.client-error`.split(`.`));var Ju=8192,Yu=M({name:O().max(128),stack:O().max(Ju)}).strict(),Xu=[`remove-session`,`kill`,`start-session`,`restart`,`force-restart`,`dismiss`,`sleep`,`wake`,`merge-session`,`finish-session`,`merge-continue-session`,`discard-session-worktree`,`resolve-session-merge`,`request-session-diff`,`request-change-map`,`request-branch-sync`,`resync-branch`,`debug-state`];function Zu(e){return z(e,{id:Du,force:os().optional()})}var Qu=Xu.map(Zu);fs(`type`,[z(`add-session`,{name:O(),path:O(),repos:j(O()).optional(),agent:O().optional(),dangerouslySkipPermissions:A().optional()}),z(`list-conversations`,{id:Du,requestId:R}),z(`resume-conversation`,{id:Du,conversationId:O()}),z(`rename-session`,{id:Du,newName:O()}),z(`set-session-title`,{id:Du,title:Vc}),z(`reorder-sessions`,{order:j(Du)}),z(`ping`,{requestId:R}),z(`get-settings`,{requestId:R}),z(`update-settings`,{settings:hs(O(),os()),requestId:R}),z(`scan-repo-roots`,{requestId:R}),z(`list-agents`,{requestId:R}),z(`get-posthog-report`,{issueId:ds([O(),k()]),requestId:R}),z(`posthog-open-session`,{projectId:ds([O(),k()]),issueId:ds([O(),k()]),requestId:R}),z(`request-issues`,{requestId:R,projectId:O()}),z(`open-issue-session`,{requestId:R,projectId:O(),issueNumber:k().int().positive()}),z(`posthog-issue-action`,{projectId:ds([O(),k()]),issueId:ds([O(),k()]),action:O(),requestId:R}),z(`team-review-action`,{...Qee.shape,requestId:R}),z(`benchmark-action`,{..._u.shape,requestId:R}),z(`my-pr-merge`,{...Bl.shape,requestId:R}),z(`my-pr-keep-mergeable`,{...kl.shape,requestId:R}),z(`my-pr-merge-when-ready`,{...Ml.shape,requestId:R}),z(`reviews-refresh`,{...qs.shape,requestId:R}),z(`posthog-archive-investigation`,{id:os().optional(),requestId:R}),z(`request-usage-report`,{requestId:R,days:os().optional(),force:os().optional()}),z(`request-hooks-report`,{requestId:R}),z(`send-diff-annotations`,{id:Du,annotations:j(Hu).min(1).max(50),requestId:R}),z(`save-hook`,{hook:hs(O(),os()),requestId:R}),z(`delete-hook`,{id:O(),requestId:R}),z(`shutdown`),z(`restart-server`),z(`focus-change`,{focused:A()}),z(`request-health-snapshot`),z(`update-check`),z(`update-apply`,{restartWhenStaged:A().optional(),confirmedSessionIds:j(O().min(1)).max(1e3).optional()}),z(`session-trace`,{id:Du,after:k().int().nonnegative().default(0),endingAt:ds([k().int().nonnegative(),F(`tail`)]).optional()}),z(`session-plan`,{id:Du,agentId:ku,revision:Fu.optional(),draft:A().optional()}),z(`plan-decision`,ic.shape),z(`client-error`,Yu.shape),...Qu]),Object.freeze(`snapshot.hooks-report.save-hook-result.delete-hook-result.hooks-updated.state-change.session-added.session-removed.session-renamed.session-title.session-modified.session-git.session-agents.session-wakeup.session-prompt.session-sleep.session-wake.session-merge-status.session-worktree-blocked.session-worktree-warning.session-worktree-ready.session-diff.change-map.send-diff-annotations-result.branch-sync-status.session-changed.post-turn-result.debug-state-response.session-trace-response.session-trace-changed.session-plan-changed.session-plan-draft.session-plan-response.notify.update-status.update-progress.error.session-error.settings.settings-error.settings-updated.pong.agents-listed.repo-roots-scanned.conversations.resume-conversation-ack.health-snapshot.posthog-status.posthog-investigation-activity.posthog-investigation-finished.posthog-report.posthog-open-session-result.issues-report.open-issue-session-result.posthog-issue-action-result.team-review-action-result.benchmark-action-result.my-pr-merge-result.my-pr-keep-mergeable-result.my-pr-merge-when-ready-result.reviews-refresh-result.posthog-archive-investigation-result.team-review-status.benchmark-status.my-prs-status.branch-gc-status.usage-sessions.usage-report.plan-limits.usage-budget-alert.visions-findings.visions-comments.visions-hand.visions-intent.visions-fix.visions-snapshot.ingest-activity.ingest-snapshot.client-trust.sessions-reordered.shutting-down.restarting`.split(`.`));var $u=fs(`type`,[z(`snapshot`,{sessions:j(qc),serverBuild:ku}),z(`hooks-report`,{requestId:R,ts:ju,hooks:j(Nu).optional(),builtin:j(Nu).optional(),events:j(Ou({name:O(),matcher:ku,description:O(),http:A().optional()})).optional(),projects:j(Ou({id:O(),name:O(),agent:O()})).optional(),limits:Ou({maxTimeoutSec:k().int().positive()}).optional(),error:Mu}),z(`save-hook-result`,{requestId:R,ok:A(),error:Mu,hook:Nu.optional()}),z(`delete-hook-result`,{requestId:R,ok:A(),error:Mu,id:O().optional()}),z(`hooks-updated`,{count:k().int().nonnegative()}),z(`state-change`,{id:Du,session:O(),from:Hc,to:Hc,event:O(),timestamp:Au,skipPerms:A().optional(),hasEndedTurn:A().optional()}),z(`session-added`,Lu.shape),z(`session-modified`,Lu.shape),z(`session-removed`,{id:Du,session:O()}),z(`session-renamed`,{id:Du,oldName:O(),newName:O()}),z(`session-title`,{id:Du,taskTitle:Vc.nullable(),isCustom:A()}),z(`session-git`,{id:Du,worktree:A()}),z(`session-agents`,{id:Du,activeAgents:k().int().nonnegative(),awaitingBackgroundTasks:A(),timestamp:Au}),z(`session-wakeup`,{id:Du,pendingWakeup:Uc.nullable(),timestamp:Au}),z(`session-prompt`,{id:Du,pendingPromptKind:ku,pendingPromptDetail:Kc.nullable().optional(),timestamp:Au}),z(`session-sleep`),z(`session-wake`),z(`session-merge-status`,{id:Du,mergeStatus:O(),reason:ku,parked:A(),timestamp:Au}),z(`session-worktree-blocked`,{id:Du,session:O(),branch:ku,notice:ku,timestamp:Au}),z(`session-worktree-warning`,{id:Du,session:O(),branch:ku,notice:ku,timestamp:Au}),z(`session-worktree-ready`,{id:Du,session:O(),branch:ku,base:ku,timestamp:Au}),z(`session-diff`,{id:Du,committed:Ou({stat:O(),diff:O()}),uncommitted:Ou({stat:O(),diff:O()}),hasCommits:A()}),z(`change-map`,{id:Du,map:kc}),z(`send-diff-annotations-result`,{requestId:R,ok:A(),error:Mu,pending:A().optional()}),z(`branch-sync-status`,{id:Du,branch:ku,upstream:ku,state:O(),ahead:k().int().nonnegative(),behind:k().int().nonnegative(),fetched:A().nullable(),action:O().optional(),error:Mu}),z(`session-changed`,{id:Du}),z(`post-turn-result`,{id:Du,mode:O(),skipped:ku,filesFixed:k().int().nonnegative(),findings:j(Ou({file:O(),rule:O(),count:k().int().nonnegative()})),timestamp:Au}),z(`debug-state-response`,{id:Du,payload:Nu}),z(`session-trace-response`,{id:Du,records:j(Zc),start:k().int().nonnegative(),next:k().int().nonnegative(),reset:A(),path:O()}),z(`session-trace-changed`,{id:Du}),z(`session-plan-changed`,lc.shape),z(`session-plan-draft`,uc.shape),z(`session-plan-response`,dc.shape),z(`notify`,{session:O(),category:O(),message:O(),escalationCount:k().int().nonnegative(),kind:F(`plan`).optional()}),z(`update-status`,qu),z(`update-progress`,{journal:nl}),z(`error`,{id:Du.optional(),message:O(),requestId:R,scope:O().optional()}),z(`session-error`,{id:Du.optional(),session:O(),message:O(),scope:O().optional()}),z(`settings`,{settings:Nu,requestId:R}),z(`settings-error`,{message:O(),requestId:R}),z(`settings-updated`,{settings:Nu,requestId:R}),z(`pong`,{requestId:R}),z(`agents-listed`,{requestId:R,agents:j(Ou({id:O(),label:O(),resolvable:A()}))}),z(`repo-roots-scanned`,{requestId:R,directories:j(Ou({root:O(),projects:j(Ou({name:O(),path:O()}))})),error:O().optional()}),z(`conversations`,{requestId:R,id:ku,current:ku.optional(),conversations:j(Ou({id:O(),title:O(),cwd:O(),worktreePath:O(),worktreeName:O(),gitBranch:ku,mtime:Au})),error:O().optional()}),z(`resume-conversation-ack`,{id:Du.optional(),resumeSessionId:ku.optional(),ok:A(),error:O().optional(),requestId:R}),z(`health-snapshot`,{stats:Nu}),z(`posthog-status`,{ts:Au,intervalMinutes:k(),projects:j(Nu),investigations:j(Nu)}),z(`posthog-investigation-activity`,{projectId:ds([O(),k()]),issueId:O(),inFlight:F(!0),startedAt:Au.nullable(),trail:Iu}),z(`posthog-investigation-finished`,{projectId:ds([O(),k()]),issueId:O(),verdict:O(),summaryLine:ku,startedAt:Au.nullable(),trail:Iu}),z(`posthog-report`,{requestId:R,ok:A(),found:A(),issueId:ku,format:O().optional(),content:O().optional(),message:O().optional(),error:O().optional()}),z(`posthog-open-session-result`,{requestId:R,ok:A(),error:Mu,sessionId:O().optional(),sessionName:O().optional(),pending:A().optional()}),z(`issues-report`,{requestId:R,...zu.shape}),z(`open-issue-session-result`,{requestId:R,ok:A(),error:Mu,sessionId:O().optional(),sessionName:O().optional(),pending:A().optional()}),z(`posthog-issue-action-result`,{requestId:R,ok:A(),error:Mu,status:ku.optional()}),z(`team-review-action-result`,{...$ee.shape,requestId:R}),z(`benchmark-action-result`,{...vu.shape,requestId:R}),z(`my-pr-merge-result`,{...Hl.shape,requestId:R}),z(`my-pr-keep-mergeable-result`,{...jl.shape,requestId:R}),z(`my-pr-merge-when-ready-result`,{...Nl.shape,requestId:R}),z(`reviews-refresh-result`,{...Js.shape,requestId:R}),z(`posthog-archive-investigation-result`,{requestId:R,ok:A(),error:Mu}),xl,Su,zl,z(`branch-gc-status`),z(`usage-sessions`,{ts:Au,pricingSource:ku,sessions:j(Ou({id:Du,tokens:k(),costUSD:k(),officialCostUSD:k().nullable().optional()}))}),z(`usage-report`,{requestId:R,ts:ju,tz:O().optional(),blockHours:k().optional(),totals:Nu.optional(),daily:Pu.optional(),models:Pu.optional(),sessions:Pu.optional(),blocks:Pu.optional(),activeBlock:os().nullable().optional(),anomaly:os().nullable().optional(),byLane:os().optional(),planWindowLanes:os().nullable().optional(),budget:os().optional(),savings:os().optional(),tokenLimit:os().nullable().optional(),pricing:Nu.optional(),scan:Nu.optional(),warning:Mu,error:Mu}),z(`plan-limits`,{ts:Au,fiveHour:os().nullable(),sevenDay:os().nullable(),source:O()}),z(`usage-budget-alert`,{scope:O(),periodKey:O(),threshold:k(),text:O(),ts:Au}),z(`visions-findings`,{uri:O(),diagnostics:Pu,ts:Au}),z(`visions-comments`,{uri:O(),comments:Pu,ts:Au}),z(`visions-hand`,{uri:O(),hand:ku,ts:Au}),z(`visions-intent`,{projectId:ku,intent:Nu,ts:Au}),z(`visions-fix`,{uri:O(),fix:Nu,ts:Au}),z(`visions-snapshot`,{documents:j(Nu),intent:Nu,fixes:j(Nu),ts:Au}),z(`ingest-activity`,{events:j(Nu),overflow:k().int().nonnegative(),ts:Au}),z(`ingest-snapshot`,{events:j(Nu),sources:os(),ts:Au}),z(`client-trust`,{trust:P([`local`,`remote`])}),z(`sessions-reordered`,{order:j(Du)}),z(`shutting-down`),z(`restarting`)]),ed=null,td=null,nd=0,rd=new Map,id=null,ad=0,od=!1,sd=0,cd=null,ld=null;function ud(e){ld=e}function dd(e){cd=e}function B(e){return ed?.readyState===WebSocket.OPEN&&(ed.send(JSON.stringify(e)),!0)}function fd(e,t){let n=`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return new Promise((r,i)=>{let a=setTimeout(()=>{rd.delete(n),i(Error(`Request timed out`))},5e3);if(rd.set(n,{resolve:r,reject:i,timer:a}),ed?.readyState!==WebSocket.OPEN){clearTimeout(a),rd.delete(n),i(Error(`Not connected`));return}ed.send(JSON.stringify({type:e,requestId:n,...t}))})}function pd(){if(td!==null&&(td!==null&&clearTimeout(td),td=null),!l()&&!od){od=!0,u().finally(()=>{od=!1,pd()});return}if(od)return;let e=sd>0?`?since=${sd}`:``,n=o(location,f(`/control${e}`)),r=new WebSocket(n);ed=r,ad=Date.now();let i=!1;r.addEventListener(`open`,()=>{i=!0,nd=0,ld&&ld(`connected`,`Connected`)}),r.addEventListener(`message`,e=>{let t;try{t=JSON.parse(e.data)}catch{console.warn(`[control] Dropped malformed server JSON message`);return}let n=$u.safeParse(t);if(!n.success){console.warn(`[control] Dropped invalid server message: ${n.error.issues[0]?.message||`invalid payload`}`);return}let r=n.data;if(r.type===`snapshot`&&typeof r.seq!=`number`&&(sd=0),typeof r.seq==`number`){if(r.seq<=sd)return;sd=r.seq}let i=typeof r.requestId==`string`?r.requestId:``,a=i?rd.get(i):void 0;if(a){clearTimeout(a.timer),rd.delete(i),a.resolve(r);return}cd&&cd(r)}),r.addEventListener(`close`,()=>{if(ed!==r)return;ed=null;for(let e of rd.values())clearTimeout(e.timer),e.reject(Error(`Connection closed`));rd.clear(),i||d(),ld&&ld(`disconnected`,`Reconnecting`);let e=t(nd);nd+=1,td=setTimeout(pd,e)})}async function md(){if(id)return id;let e=i({hasSocket:!!ed,readyState:ed?.readyState??null,retryPending:td!==null,connectingAgeMs:Date.now()-ad});if(e===`retry-now`)return td!==null&&clearTimeout(td),td=null,nd=0,pd(),`reconnecting`;if(e===`connect`)return ed?.close(),nd=0,pd(),`reconnecting`;if(e===`wait`)return`reconnecting`;let t=ed;return id=fd(`ping`,{}).then(()=>`ok`).catch(()=>(ed===t&&t&&t.close(),`dead`)).finally(()=>{id=null}),id}function hd(e,t){return!e||e.toLowerCase().endsWith(`[bot]`)?null:`https://avatars.githubusercontent.com/${encodeURIComponent(e)}?s=${t*2}`}function gd(e){return e.match(/[a-z0-9]/i)?.[0]?.toUpperCase()??`?`}function V(e,t,n){let r=document.createElement(e);return t&&(r.className=t),n!=null&&(r.textContent=n),r}function _d({login:e,url:t,cssPx:n}){let r=V(`span`,`avatar`);r.style.width=`${n}px`,r.style.height=`${n}px`;let i=()=>V(`span`,`avatar-monogram`,gd(e)),a=t===void 0?hd(e,n):t;if(!a)return r.append(i()),r;let o=V(`img`);return o.src=a,o.width=n,o.height=n,o.loading=`lazy`,o.decoding=`async`,o.referrerPolicy=`no-referrer`,o.alt=``,o.addEventListener(`error`,()=>o.replaceWith(i()),{once:!0}),r.append(o),r}function vd(e,t){let n=V(`span`,`avatar-stack`);for(let r of e){let e=_d({login:r.login,url:r.url,cssPx:t});e.title=r.title,e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,r.title);let i=V(`span`,`avatar-badge`);i.dataset.tone=r.tone,e.append(i),n.append(e)}return n}function H(e,t,n){let r=e.querySelector(t);if(!r||r.tagName.toLowerCase()!==n)throw Error(`${t} does not match a <${n}>`);return r}function yd(e,t){let n=e.querySelector(t);if(!(n instanceof HTMLElement))throw Error(`${t} matches no element`);return n}function bd(e,t,n,r=t){if(!n){let n=V(`span`,e,t);return n.title=r,n}let i=V(`a`,e,t);return i.title=r,i.href=n,i.target=`_blank`,i.rel=`noopener`,i}var xd={"pending-review":`REVIEW`,parked:`PARKED`,merging:`MERGING`};function Sd(e,t){return e===I.RUNNING&&t===!0}function Cd(e,t=!1){let n=e,r=Sd(e,t),i=r?`Monitoring`:Ac[n]||e;return{glyph:jc[n]||``,label:i.toUpperCase(),isMonitoring:r}}function wd(e){if(!e)return;let t=null,n=()=>{t=null;let n=e.offsetHeight;n>0&&document.documentElement.style.setProperty(`--header-h`,`${n}px`)};new ResizeObserver(()=>{t===null&&(t=requestAnimationFrame(n))}).observe(e)}function Td(e,t,n){let r=V(`section`,`${e}-section`),i=V(`div`,`${e}-section-head`);return i.append(V(`h2`,`${e}-section-title`,t)),n&&i.append(V(`span`,`${e}-section-hint`,n)),r.append(i),r}function Ed(e,t,n,r){let i=V(`span`,`${e}-stat`);return r&&(i.dataset.tone=r),i.append(V(`span`,`${e}-stat-value`,n),V(`span`,`${e}-stat-label`,t)),i}function Dd(e){return Array.isArray(e?.projects)?e.projects:[]}function Od(e){return!e||!!e.closest(`[hidden]`)}function kd(e){return navigator.clipboard?.writeText?navigator.clipboard.writeText(e):null}function Ad(e,t){e&&t&&e.parentElement!==t&&(e._adoptHome||={parent:e.parentElement,next:e.nextElementSibling},t.appendChild(e))}function jd(e,t=null){let n=e?._adoptHome;if(n){if(delete e._adoptHome,!n.parent?.isConnected){t&&t.appendChild(e);return}if(n.next&&n.next.parentElement===n.parent){n.parent.insertBefore(e,n.next);return}n.parent.appendChild(e)}}function Md(e){return String(e).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}var Nd=`(max-width: 768px)`,Pd=`(pointer: coarse)`;function Fd({coarse:e,narrowWidth:t}={}){return e===!0&&t===!0?`phone`:`desktop`}var Id=Object.freeze({layout:`desktop`,activeView:`focus`,phoneScreen:null,focusedSessionId:null,selectedSessionId:null,borrowedCardId:null}),Ld=e=>e||null,Rd=Object.freeze({setLayout:e=>({layout:e}),setActiveView:e=>({activeView:e}),setPhoneScreen:e=>({phoneScreen:Ld(e)}),focusSession:e=>({focusedSessionId:Ld(e)}),selectSession:e=>({selectedSessionId:Ld(e)}),borrowCard:e=>({borrowedCardId:Ld(e)})});function zd(e){let t=Object.freeze({...Id,...e}),n=new Set;function r(){return t}function i(e){return typeof e==`function`?(n.add(e),()=>n.delete(e)):()=>{}}function a(e){let n=[];for(let r of Object.keys(e)){if(!(r in Id))throw Error(`ui-state: unknown key "${r}"`);Object.is(t[r],e[r])||n.push(r)}return n}function o(e,r){let i=Rd[e];if(!i)throw Error(`ui-state: unknown action "${e}"`);let o=i(r),s=a(o);if(s.length===0)return t;let c=t;t=Object.freeze({...t,...o});for(let e of n)try{e(t,s,c)}catch{}return t}return{snapshot:r,subscribe:i,dispatch:o}}var Bd=zd(),Vd=()=>Bd.snapshot().activeView,Hd=window.matchMedia?.(Pd),Ud=window.matchMedia?.(Nd);function Wd(){return Fd({coarse:!!Hd?.matches,narrowWidth:!!Ud?.matches})}function Gd(e){document.documentElement.dataset.layout!==e&&(document.documentElement.dataset.layout=e)}function Kd(){Bd.subscribe((e,t)=>{t.includes(`layout`)&&Gd(e.layout)});let e=Wd();Gd(e),Bd.dispatch(`setLayout`,e);let t=()=>Bd.dispatch(`setLayout`,Wd());return Hd?.addEventListener?.(`change`,t),Ud?.addEventListener?.(`change`,t),e}function qd(){return Bd.snapshot().layout===`phone`}function Jd(e){return Bd.subscribe((t,n)=>{n.includes(`layout`)&&e(t.layout)})}var U=new Map;function Yd(e){return e.card?.dataset.session||e.nameEl?.textContent||``}function Xd(e){return typeof e==`string`?e:String(e)}function Zd(e){return typeof e==`string`?U.get(e):void 0}var Qd=document.getElementById(`sessions-container`),$d=document.getElementById(`aggregate-status`);function ef({dialogClass:e=`dialog`,closeOnBackdrop:t=!0}={}){let n=document.activeElement,r=document.createElement(`div`);r.className=`dialog-overlay`;let i=document.createElement(`div`);i.className=e,r.appendChild(i),document.body.appendChild(r);function a(e){e.key===`Escape`&&o()}document.addEventListener(`keydown`,a);function o(){r.remove(),document.removeEventListener(`keydown`,a),n instanceof HTMLElement&&n.focus()}return t&&r.addEventListener(`click`,e=>{e.target===r&&o()}),{overlay:r,dialog:i,close:o}}function tf(e,t){e.setAttribute(`role`,`dialog`),e.setAttribute(`aria-modal`,`true`),e.setAttribute(`aria-labelledby`,t),af(e)}function nf({title:e,dialogClass:t=`dialog`,cancelLabel:n=`Cancel`}){let{overlay:r,dialog:i,close:a}=ef({dialogClass:t}),o=`dialog-title-${Math.random().toString(36).slice(2)}`,s=V(`h3`,`dialog-title`,e);s.id=o;let c=V(`div`,`dialog-actions`),l=V(`button`,`btn-dialog btn-dialog-cancel`,n);return c.append(l),i.append(s),tf(i,o),{overlay:r,dialog:i,close:a,titleEl:s,actions:c,btnCancel:l}}function rf({title:e,message:t,confirmLabel:n=`Confirm`,danger:r=!1,onConfirm:i}){let{dialog:a,close:o,actions:s,btnCancel:c}=nf({title:e}),l=V(`p`,`dialog-message`,t),u=V(`button`,r?`btn-dialog btn-dialog-confirm btn-dialog-danger`:`btn-dialog btn-dialog-confirm`,n);s.append(u),a.append(l,s),c.addEventListener(`click`,o),u.addEventListener(`click`,()=>{o(),i?.()}),requestAnimationFrame(()=>c.focus())}function af(e){e.addEventListener(`keydown`,t=>{if(t.key!==`Tab`)return;let n=[...e.querySelectorAll(`button, input, select, textarea, [tabindex]:not([tabindex="-1"])`)];if(n.length===0)return;let r=n[0],i=n[n.length-1];if(t.shiftKey&&document.activeElement===r){t.preventDefault(),i.focus();return}!t.shiftKey&&document.activeElement===i&&(t.preventDefault(),r.focus())})}function of(e,t){return t===I.RUNNING?e===`restart-fresh`?{title:`Restart fresh`,message:`This agent is mid-turn. A fresh restart ends this conversation and starts a new one. Restart anyway?`,confirmLabel:`Restart fresh`,danger:!0}:{title:`Restart`,message:`This agent is mid-turn. Restarting interrupts the current turn and keeps this conversation. Restart anyway?`,confirmLabel:`Restart`,danger:!1}:null}function sf(e,t,n){let r=Mc.includes(t)?`force-restart`:`restart`;return e===`restart-fresh`?{type:r,id:n,fresh:!0}:{type:r,id:n}}function cf(e,t,n){let r=()=>n.send(sf(e,n.readState(),t)),i=of(e,n.readState());if(!i){r();return}n.confirm({...i,onConfirm:r})}var lf=320,uf=8e3,df=null;function ff(e){df=e}function pf(e){if(!e||e.currentState!==I.RUNNING)return;let t=performance.now();e._lastOutputAt=t,!(t-(e._activityGate||0)<lf)&&(e._activityGate=t,e._activity===`quiet`&&(e._activity=`active`,df?.(e,`flag`)),df?.(e,`beat`))}function mf(e){if(!e||e.currentState!==I.RUNNING)return;let t=performance.now()-(e._lastOutputAt||0)>=uf?`quiet`:`active`;e._activity!==t&&(e._activity=t,df?.(e,`flag`))}function hf(e,t){e&&(t&&(e._lastOutputAt=performance.now(),e._activityGate=0,e._activity=`active`),t||(e._activity=void 0),df?.(e,`flag`))}var gf=new Set([I.RUNNING,I.WAITING,I.STARTING,I.INITIALIZING]),_f=e=>gf.has(e);function vf(e){let t=Math.max(0,Math.floor(e/1e3)),n=t%60,r=Math.floor(t/60)%60,i=Math.floor(t/3600),a=e=>String(e).padStart(2,`0`);return i>0?`${i}:${a(r)}:${a(n)}`:`${r}:${a(n)}`}function yf(e){return _f(e.currentState)?vf(Date.now()-(e.stateSince||Date.now())):``}function bf(e){e.elapsedEl&&(e.elapsedEl.textContent=yf(e))}var xf=new Set;function Sf(e){return xf.add(e),()=>xf.delete(e)}function Cf(){for(let[,e]of U)bf(e),mf(e);for(let e of xf)try{e()}catch{}}setInterval(()=>{document.hidden||Cf()},1e3),document.addEventListener(`visibilitychange`,()=>{document.hidden||Cf()});var wf=2,Tf=1,Ef=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 e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(wf,Math.floor(u/e.css.cell.width)),rows:Math.max(Tf,Math.floor(l/e.css.cell.height))}}},Df=Object.defineProperty,Of=Object.getOwnPropertyDescriptor,kf=(e,t)=>{for(var n in t)Df(e,n,{get:t[n],enumerable:!0})},Af=(e,t,n,r)=>{for(var i=r>1?void 0:r?Of(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&Df(t,n,i),i},W=(e,t)=>(n,r)=>t(n,r,e),jf=`Terminal input`,Mf={get:()=>jf,set:e=>jf=e},Nf=`Too much output to announce, navigate to rows manually to read`,Pf={get:()=>Nf,set:e=>Nf=e};function Ff(e){return e.replace(/\r?\n/g,`\r`)}function If(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function Lf(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Rf(e,t,n,r){e.stopPropagation(),e.clipboardData&&zf(e.clipboardData.getData(`text/plain`),t,n,r)}function zf(e,t,n,r){e=Ff(e),e=If(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function Bf(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function Vf(e,t,n,r,i){Bf(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Hf(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Uf(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var Wf=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},Gf=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},Kf=``,qf=` `,Jf=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Yf}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;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)}isBgDefault(){return!(this.bg&50331648)}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):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Yf=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Xf=class e extends Jf{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Yf,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Hf(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 t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Zf=`di$target`,Qf=`di$dependencies`,$f=new Map;function ep(e){return e[Qf]||[]}function tp(e){if($f.has(e))return $f.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);np(t,e,r)};return t._id=e,$f.set(e,t),t}function np(e,t,n){t[Zf]===t?t[Qf].push({id:e,index:n}):(t[Qf]=[{id:e,index:n}],t[Zf]=t)}var rp=tp(`BufferService`),ip=tp(`CoreMouseService`),ap=tp(`CoreService`),op=tp(`CharsetService`),sp=tp(`InstantiationService`),cp=tp(`LogService`),lp=tp(`OptionsService`),up=tp(`OscLinkService`),dp=tp(`UnicodeService`),fp=tp(`DecorationService`),pp=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new Xf,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(c!==-1||n.hasContent(t)){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId){if(c===-1){c=t,s=a.extended.urlId;continue}l=a.extended.urlId!==s}else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):mp(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};pp=Af([W(0,rp),W(1,lp),W(2,up)],pp);function mp(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
56
|
-
|
|
57
|
-
WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}var hp=tp(`CharSizeService`),gp=tp(`CoreBrowserService`),_p=tp(`MouseService`),vp=tp(`RenderService`),yp=tp(`SelectionService`),bp=tp(`CharacterJoinerService`),xp=tp(`ThemeService`),Sp=tp(`LinkProviderService`),Cp=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?kp.isErrorNoTelemetry(e)?new kp(e.message+`
|
|
58
|
-
|
|
59
|
-
`+e.stack):Error(e.message+`
|
|
60
|
-
|
|
61
|
-
`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function wp(e){Ep(e)||Cp.onUnexpectedError(e)}var Tp=`Canceled`;function Ep(e){return e instanceof Dp||e instanceof Error&&e.name===Tp&&e.message===Tp}var Dp=class extends Error{constructor(){super(Tp),this.name=this.message}};function Op(e){return Error(e?`Illegal argument: ${e}`:`Illegal argument`)}var kp=class e extends Error{constructor(e){super(e),this.name=`CodeExpectedError`}static fromError(t){if(t instanceof e)return t;let n=new e;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(e){return e.name===`CodeExpectedError`}},Ap=class e extends Error{constructor(t){super(t||`An unexpected bug occurred.`),Object.setPrototypeOf(this,e.prototype)}};function jp(e,t=0){return e[e.length-(1+t)]}var Mp;(e=>{function t(e){return e<0}e.isLessThan=t;function n(e){return e<=0}e.isLessThanOrEqual=n;function r(e){return e>0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(Mp||={});var Np=class e{constructor(e){this.iterate=e}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>!t(n)||e(n)))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}some(e){let t=!1;return this.iterate(n=>(t=e(n),!t)),t}findFirst(e){let t;return this.iterate(n=>!e(n)||(t=n,!1)),t}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||Mp.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};Np.empty=new Np(e=>{});function Pp(e,t){let n=this,r=!1,i;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}var Fp;(e=>{function t(e){return e&&typeof e==`object`&&typeof e[Symbol.iterator]==`function`}e.is=t;let n=Object.freeze([]);function r(){return n}e.empty=r;function*i(e){yield e}e.single=i;function a(e){return t(e)?e:i(e)}e.wrap=a;function o(e){return e||n}e.from=o;function*s(e){for(let t=e.length-1;t>=0;t--)yield e[t]}e.reverse=s;function c(e){return!e||e[Symbol.iterator]().next().done===!0}e.isEmpty=c;function l(e){return e[Symbol.iterator]().next().value}e.first=l;function u(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}e.some=u;function d(e,t){for(let n of e)if(t(n))return n}e.find=d;function*f(e,t){for(let n of e)t(n)&&(yield n)}e.filter=f;function*p(e,t){let n=0;for(let r of e)yield t(r,n++)}e.map=p;function*m(e,t){let n=0;for(let r of e)yield*t(r,n++)}e.flatMap=m;function*h(...e){for(let t of e)yield*t}e.concat=h;function g(e,t,n){let r=n;for(let n of e)r=t(r,n);return r}e.reduce=g;function*_(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t<n;t++)yield e[t]}e.slice=_;function v(t,n=1/0){let r=[];if(n===0)return[r,t];let i=t[Symbol.iterator]();for(let t=0;t<n;t++){let t=i.next();if(t.done)return[r,e.empty()];r.push(t.value)}return[r,{[Symbol.iterator](){return i}}]}e.consume=v;async function y(e){let t=[];for await(let n of e)t.push(n);return Promise.resolve(t)}e.asyncToArray=y})(Fp||={});var Ip=null;function Lp(e){return Ip?.trackDisposable(e),e}function Rp(e){Ip?.markAsDisposed(e)}function zp(e,t){Ip?.setParent(e,t)}function Bp(e){return Ip?.markAsSingleton(e),e}function Vp(e){if(Fp.is(e)){let t=[];for(let n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Encountered errors while disposing of store`);return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function Hp(...e){return Up(()=>Vp(e))}function Up(e){let t=Lp({dispose:Pp(()=>{Rp(t),e()})});return t}var Wp=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,Lp(this)}dispose(){this._isDisposed||(Rp(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Vp(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return zp(t,this),this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(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(e){if(e){if(e===this)throw Error(`Cannot dispose a disposable on itself!`);this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),zp(e,null))}};Wp.DISABLE_DISPOSED_WARNING=!1;var Gp=Wp,G=class{constructor(){this._store=new Gp,Lp(this),zp(this._store,this)}dispose(){Rp(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};G.None=Object.freeze({dispose(){}});var Kp=class{constructor(){this._isDisposed=!1,Lp(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&zp(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,Rp(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&zp(e,null),e}},qp=typeof window==`object`?window:globalThis,Jp=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};Jp.Undefined=new Jp(void 0);var Yp=Jp,Xp=class{constructor(){this._first=Yp.Undefined,this._last=Yp.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Yp.Undefined}clear(){let e=this._first;for(;e!==Yp.Undefined;){let t=e.next;e.prev=Yp.Undefined,e.next=Yp.Undefined,e=t}this._first=Yp.Undefined,this._last=Yp.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let n=new Yp(e);if(this._first===Yp.Undefined)this._first=n,this._last=n;else if(t){let e=this._last;this._last=n,n.prev=e,e.next=n}else{let e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==Yp.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Yp.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Yp.Undefined&&e.next!==Yp.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Yp.Undefined&&e.next===Yp.Undefined?(this._first=Yp.Undefined,this._last=Yp.Undefined):e.next===Yp.Undefined?(this._last=this._last.prev,this._last.next=Yp.Undefined):e.prev===Yp.Undefined&&(this._first=this._first.next,this._first.prev=Yp.Undefined);--this._size}*[Symbol.iterator](){let e=this._first;for(;e!==Yp.Undefined;)yield e.element,e=e.next}},Zp=globalThis.performance&&typeof globalThis.performance.now==`function`,Qp=class e{static create(t){return new e(t)}constructor(e){this._now=Zp&&e===!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._now()-this._startTime:this._stopTime-this._startTime}},$p;(e=>{e.None=()=>G.None;function t(e,t){return d(e,()=>{},0,void 0,!0,void 0,t)}e.defer=t;function n(e){return(t,n=null,r)=>{let i=!1,a;return a=e(e=>{if(!i)return a?a.dispose():i=!0,t.call(n,e)},null,r),i&&a.dispose(),a}}e.once=n;function r(e,t,n){return l((n,r=null,i)=>e(e=>n.call(r,t(e)),null,i),n)}e.map=r;function i(e,t,n){return l((n,r=null,i)=>e(e=>{t(e),n.call(r,e)},null,i),n)}e.forEach=i;function a(e,t,n){return l((n,r=null,i)=>e(e=>t(e)&&n.call(r,e),null,i),n)}e.filter=a;function o(e){return e}e.signal=o;function s(...e){return(t,n=null,r)=>u(Hp(...e.map(e=>e(e=>t.call(n,e)))),r)}e.any=s;function c(e,t,n,i){let a=n;return r(e,e=>(a=t(a,e),a),i)}e.reduce=c;function l(e,t){let n,r=new K({onWillAddFirstListener(){n=e(r.fire,r)},onDidRemoveLastListener(){n?.dispose()}});return t?.add(r),r.event}function u(e,t){return t instanceof Array?t.push(e):t&&t.add(e),e}function d(e,t,n=100,r=!1,i=!1,a,o){let s,c,l,u=0,d,f=new K({leakWarningThreshold:a,onWillAddFirstListener(){s=e(e=>{u++,c=t(c,e),r&&!l&&(f.fire(c),c=void 0),d=()=>{let e=c;c=void 0,l=void 0,(!r||u>1)&&f.fire(e),u=0},typeof n==`number`?(clearTimeout(l),l=setTimeout(d,n)):l===void 0&&(l=0,queueMicrotask(d))})},onWillRemoveListener(){i&&u>0&&d?.()},onDidRemoveLastListener(){d=void 0,s.dispose()}});return o?.add(f),f.event}e.debounce=d;function f(t,n=0,r){return e.debounce(t,(e,t)=>e?(e.push(t),e):[t],n,void 0,!0,void 0,r)}e.accumulate=f;function p(e,t=(e,t)=>e===t,n){let r=!0,i;return a(e,e=>{let n=r||!t(e,i);return r=!1,i=e,n},n)}e.latch=p;function m(t,n,r){return[e.filter(t,n,r),e.filter(t,e=>!n(e),r)]}e.split=m;function h(e,t=!1,n=[],r){let i=n.slice(),a=e(e=>{i?i.push(e):s.fire(e)});r&&r.add(a);let o=()=>{i?.forEach(e=>s.fire(e)),i=null},s=new K({onWillAddFirstListener(){a||(a=e(e=>s.fire(e)),r&&r.add(a))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){a&&a.dispose(),a=null}});return r&&r.add(s),s.event}e.buffer=h;function g(e,t){return(n,r,i)=>{let a=t(new v);return e(function(e){let t=a.evaluate(e);t!==_&&n.call(r,t)},void 0,i)}}e.chain=g;let _=Symbol(`HaltChainable`);class v{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(t=>(e(t),t)),this}filter(e){return this.steps.push(t=>e(t)?t:_),this}reduce(e,t){let n=t;return this.steps.push(t=>(n=e(n,t),n)),this}latch(e=(e,t)=>e===t){let t=!0,n;return this.steps.push(r=>{let i=t||!e(r,n);return t=!1,n=r,i?r:_}),this}evaluate(e){for(let t of this.steps)if(e=t(e),e===_)break;return e}}function y(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new K({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event}e.fromNodeEventEmitter=y;function b(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new K({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=b;function x(e){return new Promise(t=>n(e)(t))}e.toPromise=x;function ee(e){let t=new K;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=ee;function te(e,t){return e(e=>t.fire(e))}e.forward=te;function ne(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=ne;class re{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;let n={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new K(n),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function ie(e,t){return new re(e,t).emitter.event}e.fromObservable=ie;function S(e){return(t,n,r)=>{let i=0,a=!1,o={beginUpdate(){i++},endUpdate(){i--,i===0&&(e.reportChanges(),a&&(a=!1,t.call(n)))},handlePossibleChange(){},handleChange(){a=!0}};e.addObserver(o),e.reportChanges();let s={dispose(){e.removeObserver(o)}};return r instanceof Gp?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=S})($p||={});var em=class e{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${e._idPool++}`,e.all.add(this)}start(e){this._stopWatch=new Qp,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};em.all=new Set,em._idPool=0;var tm=em,nm=-1,rm=class e{constructor(t,n,r=(e._idPool++).toString(16).padStart(3,`0`)){this._errorHandler=t,this.threshold=n,this.name=r,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){let n=this.threshold;if(n<=0||t<n)return;this._stacks||=new Map;let r=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,r+1),--this._warnCountdown,this._warnCountdown<=0){this._warnCountdown=n*.5;let[e,r]=this.getMostFrequentStack(),i=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${r}):`;console.warn(i),console.warn(e);let a=new om(i,e);this._errorHandler(a)}return()=>{let t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[n,r]of this._stacks)(!e||t<r)&&(e=[n,r],t=r);return e}};rm._idPool=1;var im=rm,am=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??``)}print(){console.warn(this.value.split(`
|
|
62
|
-
`).slice(2).join(`
|
|
63
|
-
`))}},om=class extends Error{constructor(e,t){super(e),this.name=`ListenerLeakError`,this.stack=t}},sm=class extends Error{constructor(e,t){super(e),this.name=`ListenerRefusalError`,this.stack=t}},cm=0,lm=class{constructor(e){this.value=e,this.id=cm++}},um=2,K=class{constructor(e){this._size=0,this._options=e,this._leakageMon=nm>0||this._options?.leakWarningThreshold?new im(e?.onListenerError??wp,this._options?.leakWarningThreshold??nm):void 0,this._perfMon=this._options?._profName?new tm(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let t=this._leakageMon.getMostFrequentStack()??[`UNKNOWN stack`,-1],n=new sm(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||wp)(n),G.None}if(this._disposed)return G.None;t&&(e=e.bind(t));let r=new lm(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=am.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof lm?(this._deliveryQueue??=new dm,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=Up(()=>{i?.(),this._removeListener(r)});return n instanceof Gp?n.add(a):Array.isArray(n)&&n.push(a),a},this._event}_removeListener(e){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 t=this._listeners,n=t.indexOf(e);if(n===-1)throw console.log(`disposed?`,this._disposed),console.log(`size?`,this._size),console.log(`arr?`,JSON.stringify(this._listeners)),Error(`Attempted to dispose unknown listener`);this._size--,t[n]=void 0;let r=this._deliveryQueue.current===this;if(this._size*um<=t.length){let e=0;for(let n=0;n<t.length;n++)t[n]?t[e++]=t[n]:r&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;let n=this._options?.onListenerError||wp;if(!n){e.value(t);return}try{e.value(t)}catch(e){n(e)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners){if(this._listeners instanceof lm)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}}this._perfMon?.stop()}hasListeners(){return this._size>0}},dm=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},fm=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new K,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new K,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,t){if(this.getZoomLevel(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToZoomLevel.set(n,e),this._onDidChangeZoomLevel.fire(n)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,t){this.mapWindowIdToZoomFactor.set(this.getWindowId(t),e)}setFullscreen(e,t){if(this.isFullscreen(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToFullScreen.set(n,e),this._onDidChangeFullscreen.fire(n)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};fm.INSTANCE=new fm;var pm=fm;function mm(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}pm.INSTANCE.onDidChangeZoomLevel;function hm(e){return pm.INSTANCE.getZoomFactor(e)}pm.INSTANCE.onDidChangeFullscreen;var gm=typeof navigator==`object`?navigator.userAgent:``,_m=gm.indexOf(`Firefox`)>=0,vm=gm.indexOf(`AppleWebKit`)>=0,ym=gm.indexOf(`Chrome`)>=0,bm=!ym&&gm.indexOf(`Safari`)>=0;gm.indexOf(`Electron/`),gm.indexOf(`Android`);var xm=!1;if(typeof qp.matchMedia==`function`){let e=qp.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=qp.matchMedia(`(display-mode: fullscreen)`);xm=e.matches,mm(qp,e,({matches:e})=>{xm&&t.matches||(xm=e)})}function Sm(){return xm}var Cm=`en`,wm=!1,Tm=!1,Em=!1,Dm=!1,Om=!1,km=Cm,Am,jm=globalThis,Mm;typeof jm.vscode<`u`&&typeof jm.vscode.process<`u`?Mm=jm.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&(Mm=process);var Nm=typeof Mm?.versions?.electron==`string`&&Mm?.type===`renderer`;if(typeof Mm==`object`){wm=Mm.platform===`win32`,Tm=Mm.platform===`darwin`,Em=Mm.platform===`linux`,Em&&Mm.env.SNAP&&Mm.env.SNAP_REVISION,Mm.env.CI||Mm.env.BUILD_ARTIFACTSTAGINGDIRECTORY,km=Cm;let e=Mm.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,km=t.resolvedLanguage||Cm,t.languagePack?.translationsConfigFile}catch{}Dm=!0}else typeof navigator==`object`&&!Nm?(Am=navigator.userAgent,wm=Am.indexOf(`Windows`)>=0,Tm=Am.indexOf(`Macintosh`)>=0,(Am.indexOf(`Macintosh`)>=0||Am.indexOf(`iPad`)>=0||Am.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,Em=Am.indexOf(`Linux`)>=0,Am?.indexOf(`Mobi`),Om=!0,km=globalThis._VSCODE_NLS_LANGUAGE||Cm,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var Pm=wm,Fm=Tm,Im=Em,Lm=Dm;Om&&typeof jm.importScripts==`function`&&jm.origin;var Rm=Am,zm=km,Bm;(e=>{function t(){return zm}e.value=t;function n(){return zm.length===2?zm===`en`:zm.length>=3&&zm[0]===`e`&&zm[1]===`n`&&zm[2]===`-`}e.isDefaultVariant=n;function r(){return zm===`en`}e.isDefault=r})(Bm||={});var Vm=typeof jm.postMessage==`function`&&!jm.importScripts;(()=>{if(Vm){let e=[];jm.addEventListener(`message`,t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n<r;n++){let r=e[n];if(r.id===t.data.vscodeScheduleAsyncWork){e.splice(n,1),r.callback();return}}});let t=0;return n=>{let r=++t;e.push({id:r,callback:n}),jm.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var Hm=!!(Rm&&Rm.indexOf(`Chrome`)>=0);Rm&&Rm.indexOf(`Firefox`),!Hm&&Rm&&Rm.indexOf(`Safari`),Rm&&Rm.indexOf(`Edg/`),Rm&&Rm.indexOf(`Android`);var Um=typeof navigator==`object`?navigator:{};Lm||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||Um&&Um.clipboard&&Um.clipboard.writeText,Lm||Um&&Um.clipboard&&Um.clipboard.readText,Lm||Sm()||Um.keyboard,`ontouchstart`in qp||Um.maxTouchPoints,qp.PointerEvent&&(`ontouchstart`in qp||navigator.maxTouchPoints);var Wm=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},Gm=new Wm,Km=new Wm,qm=new Wm,Jm=Array(230),Ym;(e=>{function t(e){return Gm.keyCodeToStr(e)}e.toString=t;function n(e){return Gm.strToKeyCode(e)}e.fromString=n;function r(e){return Km.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return qm.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return Km.strToKeyCode(e)||qm.strToKeyCode(e)}e.fromUserSettings=a;function o(e){if(e>=98&&e<=113)return null;switch(e){case 16:return`Up`;case 18:return`Down`;case 15:return`Left`;case 17:return`Right`}return Gm.keyCodeToStr(e)}e.toElectronAccelerator=o})(Ym||={});var Xm=class e{constructor(e,t,n,r,i){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyCode=i}equals(t){return t instanceof e&&this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}getHashCode(){return`K${this.ctrlKey?`1`:`0`}${this.shiftKey?`1`:`0`}${this.altKey?`1`:`0`}${this.metaKey?`1`:`0`}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new Zm([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},Zm=class{constructor(e){if(e.length===0)throw Op(`chords`);this.chords=e}getHashCode(){let e=``;for(let t=0,n=this.chords.length;t<n;t++)t!==0&&(e+=`;`),e+=this.chords[t].getHashCode();return e}equals(e){if(e===null||this.chords.length!==e.chords.length)return!1;for(let t=0;t<this.chords.length;t++)if(!this.chords[t].equals(e.chords[t]))return!1;return!0}};function Qm(e){if(e.charCode){let t=String.fromCharCode(e.charCode).toUpperCase();return Ym.fromString(t)}let t=e.keyCode;if(t===3)return 7;if(_m)switch(t){case 59:return 85;case 60:if(Im)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(Fm)return 57}else if(vm&&(Fm&&t===93||!Fm&&t===92))return 57;return Jm[t]||0}var $m=Fm?256:2048,eh=512,th=1024,nh=Fm?2048:256,rh=class{constructor(e){this._standardKeyboardEventBrand=!0;let t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.altGraphKey=t.getModifierState?.(`AltGraph`),this.keyCode=Qm(t),this.code=t.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(e){return this._asKeybinding===e}_computeKeybinding(){let e=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode);let t=0;return this.ctrlKey&&(t|=$m),this.altKey&&(t|=eh),this.shiftKey&&(t|=th),this.metaKey&&(t|=nh),t|=e,t}_computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode),new Xm(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}},ih=new WeakMap;function ah(e){if(!e.parent||e.parent===e)return null;try{let t=e.location,n=e.parent.location;if(t.origin!==`null`&&n.origin!==`null`&&t.origin!==n.origin)return null}catch{return null}return e.parent}var oh=class{static getSameOriginWindowChain(e){let t=ih.get(e);if(!t){t=[],ih.set(e,t);let n=e,r;do r=ah(n),r?t.push({window:new WeakRef(n),iframeElement:n.frameElement||null}):t.push({window:new WeakRef(n),iframeElement:null}),n=r;while(n)}return t.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(e,t){if(!t||e===t)return{top:0,left:0};let n=0,r=0,i=this.getSameOriginWindowChain(e);for(let e of i){let i=e.window.deref();if(n+=i?.scrollY??0,r+=i?.scrollX??0,i===t||!e.iframeElement)break;let a=e.iframeElement.getBoundingClientRect();n+=a.top,r+=a.left}return{top:n,left:r}}},sh=class{constructor(e,t){this.timestamp=Date.now(),this.browserEvent=t,this.leftButton=t.button===0,this.middleButton=t.button===1,this.rightButton=t.button===2,this.buttons=t.buttons,this.target=t.target,this.detail=t.detail||1,t.type===`dblclick`&&(this.detail=2),this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,typeof t.pageX==`number`?(this.posx=t.pageX,this.posy=t.pageY):(this.posx=t.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=t.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let n=oh.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=n.left,this.posy-=n.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},ch=class{constructor(e,t=0,n=0){this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=n,this.deltaX=t;let r=!1;if(ym){let e=navigator.userAgent.match(/Chrome\/(\d+)/);r=(e?parseInt(e[1]):123)<=122}if(e){let t=e,n=e,i=e.view?.devicePixelRatio||1;if(typeof t.wheelDeltaY<`u`)this.deltaY=r?t.wheelDeltaY/(120*i):t.wheelDeltaY/120;else if(typeof n.VERTICAL_AXIS<`u`&&n.axis===n.VERTICAL_AXIS)this.deltaY=-n.detail/3;else if(e.type===`wheel`){let t=e;this.deltaY=t.deltaMode===t.DOM_DELTA_LINE?_m&&!Fm?-e.deltaY/3:-e.deltaY:-e.deltaY/40}if(typeof t.wheelDeltaX<`u`)this.deltaX=bm&&Pm?-(t.wheelDeltaX/120):r?t.wheelDeltaX/(120*i):t.wheelDeltaX/120;else if(typeof n.HORIZONTAL_AXIS<`u`&&n.axis===n.HORIZONTAL_AXIS)this.deltaX=-e.detail/3;else if(e.type===`wheel`){let t=e;this.deltaX=t.deltaMode===t.DOM_DELTA_LINE?_m&&!Fm?-e.deltaX/3:-e.deltaX:-e.deltaX/40}this.deltaY===0&&this.deltaX===0&&e.wheelDelta&&(this.deltaY=r?e.wheelDelta/(120*i):e.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}},lh=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),uh;(e=>{function t(t){return t===e.None||t===e.Cancelled||t instanceof dh?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:$p.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:lh})})(uh||={});var dh=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?lh:(this._emitter||=new K,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}},fh=class{constructor(e,t){this._isDisposed=!1,this._token=-1,typeof e==`function`&&typeof t==`number`&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new Ap(`Calling 'cancelAndSet' on a disposed TimeoutTimer`);this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new Ap(`Calling 'setIfNotSet' on a disposed TimeoutTimer`);this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}},ph=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){if(this.isDisposed)throw new Ap(`Calling 'cancelAndSet' on a disposed IntervalTimer`);this.cancel();let r=n.setInterval(()=>{e()},t);this.disposable=Up(()=>{n.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var mh;(e=>{async function t(e){let t,n=await Promise.all(e.map(e=>e.then(e=>e,e=>{t||=e})));if(typeof t<`u`)throw t;return n}e.settled=t;function n(e){return new Promise(async(t,n)=>{try{await e(t,n)}catch(e){n(e)}})}e.withAsyncBody=n})(mh||={});var hh=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 t=>e.emitOne(await t)))})}static merge(t){return new e(async e=>{await Promise.all(t.map(async t=>{for await(let n of t)e.emitOne(n)}))})}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new K,queueMicrotask(async()=>{let t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(this._state===1)return{done:!0,value:void 0};await $p.toPromise(this._onStateChanged.event)}while(1)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,n){return new e(async e=>{for await(let r of t)e.emitOne(n(r))})}map(t){return e.map(this,t)}static filter(t,n){return new e(async e=>{for await(let r of t)n(r)&&e.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(e){let t=[];for await(let n of e)t.push(n);return t}toPromise(){return e.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};hh.EMPTY=hh.fromArray([]);function gh(e){return _h(e,0)}function _h(e,t){switch(typeof e){case`object`:return e===null?vh(349,t):Array.isArray(e)?xh(e,t):Sh(e,t);case`string`:return bh(e,t);case`boolean`:return yh(e,t);case`number`:return vh(e,t);case`undefined`:return vh(937,t);default:return vh(617,t)}}function vh(e,t){return(t<<5)-t+e|0}function yh(e,t){return vh(e?433:863,t)}function bh(e,t){t=vh(149417,t);for(let n=0,r=e.length;n<r;n++)t=vh(e.charCodeAt(n),t);return t}function xh(e,t){return t=vh(104579,t),e.reduce((e,t)=>_h(t,e),t)}function Sh(e,t){return t=vh(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=bh(n,t),_h(e[n],t)),t)}var{registerWindow:ste,getWindow:Ch,getDocument:cte,getWindows:lte,getWindowsCount:ute,getWindowId:wh,getWindowById:dte,hasWindow:fte,onDidRegisterWindow:Th,onWillUnregisterWindow:pte,onDidUnregisterWindow:mte}=function(){let e=new Map,t={window:qp,disposables:new Gp};e.set(qp.vscodeWindowId,t);let n=new K,r=new K,i=new K;function a(n,r){return(typeof n==`number`?e.get(n):void 0)??(r?t:void 0)}return{onDidRegisterWindow:n.event,onWillUnregisterWindow:i.event,onDidUnregisterWindow:r.event,registerWindow(t){if(e.has(t.vscodeWindowId))return G.None;let a=new Gp,o={window:t,disposables:a.add(new Gp)};return e.set(t.vscodeWindowId,o),a.add(Up(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(q(t,Fh.BEFORE_UNLOAD,()=>{i.fire(t)})),n.fire(o),a},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(e){return e.vscodeWindowId},hasWindow(t){return e.has(t)},getWindowById:a,getWindow(e){let t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;let n=e;return n?.view?n.view.window:qp},getDocument(e){return Ch(e).document}}}(),Eh=class{constructor(e,t,n,r){this._node=e,this._type=t,this._handler=n,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,null)}};function q(e,t,n,r){return new Eh(e,t,n,r)}function Dh(e,t){return function(n){return t(new sh(e,n))}}function Oh(e){return function(t){return e(new rh(t))}}var kh=function(e,t,n,r){let i=n;return t===`click`||t===`mousedown`||t===`contextmenu`?i=Dh(Ch(e),n):(t===`keydown`||t===`keypress`||t===`keyup`)&&(i=Oh(n)),q(e,t,i,r)},Ah,jh=class extends ph{constructor(e){super(),this.defaultTarget=e&&Ch(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,n??this.defaultTarget)}},Mh=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){wp(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,n=new Map,r=new Map,i=i=>{n.set(i,!1);let a=e.get(i)??[];for(t.set(i,a),e.set(i,[]),r.set(i,!0);a.length>0;)a.sort(Mh.sort),a.shift().execute();r.set(i,!1)};Ah=(t,r,a=0)=>{let o=wh(t),s=new Mh(r,a),c=e.get(o);return c||(c=[],e.set(o,c)),c.push(s),n.get(o)||(n.set(o,!0),t.requestAnimationFrame(()=>i(o))),s}})();var Nh=class e{constructor(e,t){this.width=e,this.height=t}with(t=this.width,n=this.height){return t!==this.width||n!==this.height?new e(t,n):this}static is(e){return typeof e==`object`&&typeof e.height==`number`&&typeof e.width==`number`}static lift(t){return t instanceof e?t:new e(t.width,t.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}};Nh.None=new Nh(0,0);function Ph(e){let t=e.getBoundingClientRect(),n=Ch(e);return{left:t.left+n.scrollX,top:t.top+n.scrollY,width:t.width,height:t.height}}new class{constructor(){this.mutationObservers=new Map}observe(e,t,n){let r=this.mutationObservers.get(e);r||(r=new Map,this.mutationObservers.set(e,r));let i=gh(n),a=r.get(i);if(a)a.users+=1;else{let o=new K,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(Up(()=>{--c.users,c.users===0&&(o.dispose(),s.disconnect(),r?.delete(i),r?.size===0&&this.mutationObservers.delete(e))})),r.set(i,a)}return a.onDidMutate}};var Fh={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:vm?`webkitAnimationStart`:`animationstart`,ANIMATION_END:vm?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:vm?`webkitAnimationIteration`:`animationiteration`},Ih=class{constructor(e){this.domNode=e,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(e){let t=Lh(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=Lh(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=Lh(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=Lh(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=Lh(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=Lh(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=Lh(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){let t=Lh(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let t=Lh(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let t=Lh(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let t=Lh(e);this._paddingRight!==t&&(this._paddingRight=t,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=Lh(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=Lh(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=Lh(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?`translate3d(0px, 0px, 0px)`:``)}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function Lh(e){return typeof e==`number`?`${e}px`:e}function Rh(e){return new Ih(e)}var zh=class{constructor(){this._hooks=new Gp,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let n=this._onStopCallback;this._onStopCallback=null,e&&n&&n(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,n,r,i){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=i;let a=e;try{e.setPointerCapture(t),this._hooks.add(Up(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{a=Ch(e)}this._hooks.add(q(a,Fh.POINTER_MOVE,e=>{if(e.buttons!==n){this.stopMonitoring(!0);return}e.preventDefault(),this._pointerMoveCallback(e)})),this._hooks.add(q(a,Fh.POINTER_UP,e=>this.stopMonitoring(!0)))}};function Bh(e,t,n){let r=null,i=null;if(typeof n.value==`function`?(r=`value`,i=n.value,i.length!==0&&console.warn(`Memoize should only be used in functions with zero parameters`)):typeof n.get==`function`&&(r=`get`,i=n.get),!i)throw Error(`not supported`);let a=`$memoize$${t}`;n[r]=function(...e){return this.hasOwnProperty(a)||Object.defineProperty(this,a,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,e)}),this[a]}}var Vh;(e=>(e.Tap=`-xterm-gesturetap`,e.Change=`-xterm-gesturechange`,e.Start=`-xterm-gesturestart`,e.End=`-xterm-gesturesend`,e.Contextmenu=`-xterm-gesturecontextmenu`))(Vh||={});var Hh=class e extends G{constructor(){super(),this.dispatched=!1,this.targets=new Xp,this.ignoreTargets=new Xp,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register($p.runAndSubscribe(Th,({window:e,disposables:t})=>{t.add(q(e.document,`touchstart`,e=>this.onTouchStart(e),{passive:!1})),t.add(q(e.document,`touchend`,t=>this.onTouchEnd(e,t))),t.add(q(e.document,`touchmove`,e=>this.onTouchMove(e),{passive:!1}))},{window:qp,disposables:this._store}))}static addTarget(t){return e.isTouchDevice()?(e.INSTANCE||=Bp(new e),Up(e.INSTANCE.targets.push(t))):G.None}static ignoreTarget(t){return e.isTouchDevice()?(e.INSTANCE||=Bp(new e),Up(e.INSTANCE.ignoreTargets.push(t))):G.None}static isTouchDevice(){return`ontouchstart`in qp||navigator.maxTouchPoints>0}dispose(){this.handle&&=(this.handle.dispose(),null),super.dispose()}onTouchStart(e){let t=Date.now();this.handle&&=(this.handle.dispose(),null);for(let n=0,r=e.targetTouches.length;n<r;n++){let r=e.targetTouches.item(n);this.activeTouches[r.identifier]={id:r.identifier,initialTarget:r.target,initialTimeStamp:t,initialPageX:r.pageX,initialPageY:r.pageY,rollingTimestamps:[t],rollingPageX:[r.pageX],rollingPageY:[r.pageY]};let i=this.newGestureEvent(Vh.Start,r.target);i.pageX=r.pageX,i.pageY=r.pageY,this.dispatchEvent(i)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}onTouchEnd(t,n){let r=Date.now(),i=Object.keys(this.activeTouches).length;for(let a=0,o=n.changedTouches.length;a<o;a++){let o=n.changedTouches.item(a);if(!this.activeTouches.hasOwnProperty(String(o.identifier))){console.warn(`move of an UNKNOWN touch`,o);continue}let s=this.activeTouches[o.identifier],c=Date.now()-s.initialTimeStamp;if(c<e.HOLD_DELAY&&Math.abs(s.initialPageX-jp(s.rollingPageX))<30&&Math.abs(s.initialPageY-jp(s.rollingPageY))<30){let e=this.newGestureEvent(Vh.Tap,s.initialTarget);e.pageX=jp(s.rollingPageX),e.pageY=jp(s.rollingPageY),this.dispatchEvent(e)}else if(c>=e.HOLD_DELAY&&Math.abs(s.initialPageX-jp(s.rollingPageX))<30&&Math.abs(s.initialPageY-jp(s.rollingPageY))<30){let e=this.newGestureEvent(Vh.Contextmenu,s.initialTarget);e.pageX=jp(s.rollingPageX),e.pageY=jp(s.rollingPageY),this.dispatchEvent(e)}else if(i===1){let e=jp(s.rollingPageX),n=jp(s.rollingPageY),i=jp(s.rollingTimestamps)-s.rollingTimestamps[0],a=e-s.rollingPageX[0],o=n-s.rollingPageY[0],c=[...this.targets].filter(e=>s.initialTarget instanceof Node&&e.contains(s.initialTarget));this.inertia(t,c,r,Math.abs(a)/i,a>0?1:-1,e,Math.abs(o)/i,o>0?1:-1,n)}this.dispatchEvent(this.newGestureEvent(Vh.End,s.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&=(n.preventDefault(),n.stopPropagation(),!1)}newGestureEvent(e,t){let n=document.createEvent(`CustomEvent`);return n.initEvent(e,!1,!0),n.initialTarget=t,n.tapCount=0,n}dispatchEvent(t){if(t.type===Vh.Tap){let n=new Date().getTime(),r=0;r=n-this._lastSetTapCountTime>e.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=n,t.tapCount=r}else(t.type===Vh.Change||t.type===Vh.Contextmenu)&&(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(let e of this.ignoreTargets)if(e.contains(t.initialTarget))return;let e=[];for(let n of this.targets)if(n.contains(t.initialTarget)){let r=0,i=t.initialTarget;for(;i&&i!==n;)r++,i=i.parentElement;e.push([r,n])}e.sort((e,t)=>e[0]-t[0]);for(let[n,r]of e)r.dispatchEvent(t),this.dispatched=!0}}inertia(t,n,r,i,a,o,s,c,l){this.handle=Ah(t,()=>{let u=Date.now(),d=u-r,f=0,p=0,m=!0;i+=e.SCROLL_FRICTION*d,s+=e.SCROLL_FRICTION*d,i>0&&(m=!1,f=a*i*d),s>0&&(m=!1,p=c*s*d);let h=this.newGestureEvent(Vh.Change);h.translationX=f,h.translationY=p,n.forEach(e=>e.dispatchEvent(h)),m||this.inertia(t,n,u,i,a,o+f,s,c,l+p)})}onTouchMove(e){let t=Date.now();for(let n=0,r=e.changedTouches.length;n<r;n++){let r=e.changedTouches.item(n);if(!this.activeTouches.hasOwnProperty(String(r.identifier))){console.warn(`end of an UNKNOWN touch`,r);continue}let i=this.activeTouches[r.identifier],a=this.newGestureEvent(Vh.Change,i.initialTarget);a.translationX=r.pageX-jp(i.rollingPageX),a.translationY=r.pageY-jp(i.rollingPageY),a.pageX=r.pageX,a.pageY=r.pageY,this.dispatchEvent(a),i.rollingPageX.length>3&&(i.rollingPageX.shift(),i.rollingPageY.shift(),i.rollingTimestamps.shift()),i.rollingPageX.push(r.pageX),i.rollingPageY.push(r.pageY),i.rollingTimestamps.push(t)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}};Hh.SCROLL_FRICTION=-.005,Hh.HOLD_DELAY=700,Hh.CLEAR_TAP_COUNT_TIME=400,Af([Bh],Hh,`isTouchDevice`,1);var Uh=Hh,Wh=class extends G{onclick(e,t){this._register(q(e,Fh.CLICK,n=>t(new sh(Ch(e),n))))}onmousedown(e,t){this._register(q(e,Fh.MOUSE_DOWN,n=>t(new sh(Ch(e),n))))}onmouseover(e,t){this._register(q(e,Fh.MOUSE_OVER,n=>t(new sh(Ch(e),n))))}onmouseleave(e,t){this._register(q(e,Fh.MOUSE_LEAVE,n=>t(new sh(Ch(e),n))))}onkeydown(e,t){this._register(q(e,Fh.KEY_DOWN,e=>t(new rh(e))))}onkeyup(e,t){this._register(q(e,Fh.KEY_UP,e=>t(new rh(e))))}oninput(e,t){this._register(q(e,Fh.INPUT,t))}onblur(e,t){this._register(q(e,Fh.BLUR,t))}onfocus(e,t){this._register(q(e,Fh.FOCUS,t))}onchange(e,t){this._register(q(e,Fh.CHANGE,t))}ignoreGesture(e){return Uh.ignoreTarget(e)}},Gh=11,Kh=class extends Wh{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement(`div`),this.bgDomNode.className=`arrow-background`,this.bgDomNode.style.position=`absolute`,this.bgDomNode.style.width=e.bgWidth+`px`,this.bgDomNode.style.height=e.bgHeight+`px`,typeof e.top<`u`&&(this.bgDomNode.style.top=`0px`),typeof e.left<`u`&&(this.bgDomNode.style.left=`0px`),typeof e.bottom<`u`&&(this.bgDomNode.style.bottom=`0px`),typeof e.right<`u`&&(this.bgDomNode.style.right=`0px`),this.domNode=document.createElement(`div`),this.domNode.className=e.className,this.domNode.style.position=`absolute`,this.domNode.style.width=Gh+`px`,this.domNode.style.height=Gh+`px`,typeof e.top<`u`&&(this.domNode.style.top=e.top+`px`),typeof e.left<`u`&&(this.domNode.style.left=e.left+`px`),typeof e.bottom<`u`&&(this.domNode.style.bottom=e.bottom+`px`),typeof e.right<`u`&&(this.domNode.style.right=e.right+`px`),this._pointerMoveMonitor=this._register(new zh),this._register(kh(this.bgDomNode,Fh.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(kh(this.domNode,Fh.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new jh),this._pointerdownScheduleRepeatTimer=this._register(new fh)}_arrowPointerDown(e){e.target&&e.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,Ch(e))},200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault())}},qh=class e{constructor(e,t,n,r,i,a,o){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,n|=0,r|=0,i|=0,a|=0,o|=0),this.rawScrollLeft=r,this.rawScrollTop=o,t<0&&(t=0),r+t>n&&(r=n-t),r<0&&(r=0),i<0&&(i=0),o+i>a&&(o=a-i),o<0&&(o=0),this.width=t,this.scrollWidth=n,this.scrollLeft=r,this.height=i,this.scrollHeight=a,this.scrollTop=o}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(t,n){return new e(this._forceIntegerValues,typeof t.width<`u`?t.width:this.width,typeof t.scrollWidth<`u`?t.scrollWidth:this.scrollWidth,n?this.rawScrollLeft:this.scrollLeft,typeof t.height<`u`?t.height:this.height,typeof t.scrollHeight<`u`?t.scrollHeight:this.scrollHeight,n?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new e(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(e,t){let n=this.width!==e.width,r=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,a=this.height!==e.height,o=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:n,scrollWidthChanged:r,scrollLeftChanged:i,heightChanged:a,scrollHeightChanged:o,scrollTopChanged:s}}},Jh=class extends G{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new K),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new qh(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){let n=this._state.withScrollDimensions(e,t);this._setState(n,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let t=this._state.withScrollPosition(e);this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),this._setState(t,!1)}setScrollPositionSmooth(e,t){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 n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;let r;r=t?new Qh(this._smoothScrolling.from,n,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{let t=this._state.withScrollPosition(e);this._smoothScrolling=Qh.start(this._state,t,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(),t=this._state.withScrollPosition(e);if(this._setState(t,!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,t){let n=this._state;n.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(n,t)))}},Yh=class{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}};function Xh(e,t){let n=t-e;return function(t){return e+n*eg(t)}}function Zh(e,t,n){return function(r){return r<n?e(r/n):t((r-n)/(1-n))}}var Qh=class e{constructor(e,t,n,r){this.from=e,this.to=t,this.duration=r,this.startTime=n,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(e,t,n){if(Math.abs(e-t)>2.5*n){let r,i;return e<t?(r=e+.75*n,i=t-.75*n):(r=e-.75*n,i=t+.75*n),Zh(Xh(e,r),Xh(i,t),.33)}return Xh(e,t)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(e){this.to=e.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(e){let t=(e-this.startTime)/this.duration;return t<1?new Yh(this.scrollLeft(t),this.scrollTop(t),!1):new Yh(this.to.scrollLeft,this.to.scrollTop,!0)}combine(t,n,r){return e.start(t,n,r)}static start(t,n,r){r+=10;let i=Date.now()-10;return new e(t,n,i,r)}};function $h(e){return e**3}function eg(e){return 1-$h(1-e)}var tg=class extends G{constructor(e,t,n){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=n,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new fh)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3||this._rawShouldBeVisible}_updateShouldBeVisible(){let e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,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(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?` fade`:``)))}},ng=140,rg=class extends Wh{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new tg(e.visibility,`visible scrollbar `+e.extraScrollbarClassName,`invisible scrollbar `+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new zh),this._shouldRender=!0,this.domNode=Rh(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(q(this.domNode.domNode,Fh.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){let t=this._register(new Kh(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,r){this.slider=Rh(document.createElement(`div`)),this.slider.setClassName(`slider`),this.slider.setPosition(`absolute`),this.slider.setTop(e),this.slider.setLeft(t),typeof n==`number`&&this.slider.setWidth(n),typeof r==`number`&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain(`strict`),this.domNode.domNode.appendChild(this.slider.domNode),this._register(q(this.slider.domNode,Fh.POINTER_DOWN,e=>{e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))})),this.onclick(this.slider.domNode,e=>{e.leftButton&&e.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(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(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){let t=this.domNode.domNode.getClientRects()[0].top,n=t+this._scrollbarState.getSliderPosition(),r=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),i=this._sliderPointerPosition(e);n<=i&&i<=r?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,n;if(e.target===this.domNode.domNode&&typeof e.offsetX==`number`&&typeof e.offsetY==`number`)t=e.offsetX,n=e.offsetY;else{let r=Ph(this.domNode.domNode);t=e.pageX-r.left,n=e.pageY-r.top}let r=this._pointerDownRelativePosition(t,n);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._sliderPointerPosition(e),n=this._sliderOrthogonalPointerPosition(e),r=this._scrollbarState.clone();this.slider.toggleClassName(`active`,!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{let i=this._sliderOrthogonalPointerPosition(e),a=Math.abs(i-n);if(Pm&&a>ng){this._setDesiredScrollPositionNow(r.getScrollPosition());return}let o=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(o))},()=>{this.slider.toggleClassName(`active`,!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},ig=class e{constructor(e,t,n,r,i,a){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),this._arrowSize=Math.round(e),this._visibleSize=r,this._scrollSize=i,this._scrollPosition=a,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new e(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){let t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){let t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){let t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,n,r,i){let a=Math.max(0,n-e),o=Math.max(0,a-2*t),s=r>0&&r>n;if(!s)return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(o),computedSliderRatio:0,computedSliderPosition:0};let c=Math.round(Math.max(20,Math.floor(n*o/r))),l=(o-c)/(r-n),u=i*l;return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(c),computedSliderRatio:l,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){let t=e._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(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize,n=this._scrollPosition;return t<this._computedSliderPosition?n-=this._visibleSize:n+=this._visibleSize,n}getDesiredScrollPositionFromDelta(e){if(!this._computedIsNeeded)return 0;let t=this._computedSliderPosition+e;return Math.round(t/this._computedSliderRatio)}},ag=class extends rg{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new ig(t.horizontalHasArrows?t.arrowSize:0,t.horizontal===2?0:t.horizontalScrollbarSize,t.vertical===2?0:t.verticalScrollbarSize,r.width,r.scrollWidth,i.scrollLeft),visibility:t.horizontal,extraScrollbarClassName:`horizontal`,scrollable:e,scrollByPage:t.scrollByPage}),t.horizontalHasArrows)throw Error(`horizontalHasArrows is not supported in xterm.js`);this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}},og=class extends rg{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new ig(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,r.height,r.scrollHeight,i.scrollTop),visibility:t.vertical,extraScrollbarClassName:`vertical`,scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows)throw Error(`horizontalHasArrows is not supported in xterm.js`);this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}},sg=500,cg=50,lg=!0,ug=class{constructor(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}},dg=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let e=1,t=0,n=1,r=this._rear;do{let i=r===this._front?e:2**-n;if(e-=i,t+=this._memory[r].score*i,r===this._front)break;r=(this._capacity+r-1)%this._capacity,n++}while(1);return t<=.5}acceptStandardWheelEvent(e){if(ym){let t=hm(Ch(e.browserEvent));this.accept(Date.now(),e.deltaX*t,e.deltaY*t)}else this.accept(Date.now(),e.deltaX,e.deltaY)}accept(e,t,n){let r=null,i=new ug(e,t,n);this._front===-1&&this._rear===-1?(this._memory[0]=i,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]=i),i.score=this._computeScore(i,r)}_computeScore(e,t){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;let n=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(n+=.25),t){let r=Math.abs(e.deltaX),i=Math.abs(e.deltaY),a=Math.abs(t.deltaX),o=Math.abs(t.deltaY),s=Math.max(Math.min(r,a),1),c=Math.max(Math.min(i,o),1),l=Math.max(r,a),u=Math.max(i,o);l%s===0&&u%c===0&&(n-=.5)}return Math.min(Math.max(n,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}};dg.INSTANCE=new dg;var fg=dg,pg=class extends Wh{constructor(e,t,n){super(),this._onScroll=this._register(new K),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new K),this.onWillScroll=this._onWillScroll.event,this._options=hg(t),this._scrollable=n,this._register(this._scrollable.onScroll(e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)}));let r={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new og(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new ag(this._scrollable,this._options,r)),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=Rh(document.createElement(`div`)),this._leftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=Rh(document.createElement(`div`)),this._topShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=Rh(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,e=>this._onMouseOver(e)),this.onmouseleave(this._listenOnDomNode,e=>this._onMouseLeave(e)),this._hideTimeout=this._register(new fh),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=Vp(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,Fm&&(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 ch(e))}_setListeningToMouseWheel(e){this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=Vp(this._mouseWheelToDispose),e)&&this._mouseWheelToDispose.push(q(this._listenOnDomNode,Fh.MOUSE_WHEEL,e=>{this._onMouseWheel(new ch(e))},{passive:!1}))}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let t=fg.INSTANCE;lg&&t.acceptStandardWheelEvent(e);let n=!1;if(e.deltaY||e.deltaX){let r=e.deltaY*this._options.mouseWheelScrollSensitivity,i=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&i+r===0?i=r=0:Math.abs(r)>=Math.abs(i)?i=0:r=0),this._options.flipAxes&&([r,i]=[i,r]);let a=!Fm&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||a)&&!i&&(i=r,r=0),e.browserEvent&&e.browserEvent.altKey&&(i*=this._options.fastScrollSensitivity,r*=this._options.fastScrollSensitivity);let o=this._scrollable.getFutureScrollPosition(),s={};if(r){let e=cg*r,t=o.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(s,t)}if(i){let e=cg*i,t=o.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(s,t)}s=this._scrollable.validateScrollPosition(s),(o.scrollLeft!==s.scrollLeft||o.scrollTop!==s.scrollTop)&&(lg&&this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(s):this._scrollable.setScrollPositionNow(s),n=!0)}let r=n;!r&&this._options.alwaysConsumeMouseWheel&&(r=!0),!r&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(r=!0),r&&(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 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(),t=e.scrollTop>0,n=e.scrollLeft>0,r=n?` left`:``,i=t?` top`:``,a=n||t?` top-left-corner`:``;this._leftShadowDomNode.setClassName(`shadow${r}`),this._topShadowDomNode.setClassName(`shadow${i}`),this._topLeftShadowDomNode.setClassName(`shadow${a}${i}${r}`)}}_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(),sg)}},mg=class extends pg{constructor(e,t,n){super(e,t,n)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function hg(e){let t={lazyRender:typeof e.lazyRender<`u`&&e.lazyRender,className:typeof e.className<`u`?e.className:``,useShadows:typeof e.useShadows<`u`?e.useShadows:!0,handleMouseWheel:typeof e.handleMouseWheel<`u`?e.handleMouseWheel:!0,flipAxes:typeof e.flipAxes<`u`&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:typeof e.consumeMouseWheelIfScrollbarIsNeeded<`u`&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:typeof e.alwaysConsumeMouseWheel<`u`&&e.alwaysConsumeMouseWheel,scrollYToX:typeof e.scrollYToX<`u`&&e.scrollYToX,mouseWheelScrollSensitivity:typeof e.mouseWheelScrollSensitivity<`u`?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof e.fastScrollSensitivity<`u`?e.fastScrollSensitivity:5,scrollPredominantAxis:typeof e.scrollPredominantAxis<`u`?e.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof e.mouseWheelSmoothScroll<`u`?e.mouseWheelSmoothScroll:!0,arrowSize:typeof e.arrowSize<`u`?e.arrowSize:11,listenOnDomNode:typeof e.listenOnDomNode<`u`?e.listenOnDomNode:null,horizontal:typeof e.horizontal<`u`?e.horizontal:1,horizontalScrollbarSize:typeof e.horizontalScrollbarSize<`u`?e.horizontalScrollbarSize:10,horizontalSliderSize:typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:0,horizontalHasArrows:typeof e.horizontalHasArrows<`u`&&e.horizontalHasArrows,vertical:typeof e.vertical<`u`?e.vertical:1,verticalScrollbarSize:typeof e.verticalScrollbarSize<`u`?e.verticalScrollbarSize:10,verticalHasArrows:typeof e.verticalHasArrows<`u`&&e.verticalHasArrows,verticalSliderSize:typeof e.verticalSliderSize<`u`?e.verticalSliderSize:0,scrollByPage:typeof e.scrollByPage<`u`&&e.scrollByPage};return t.horizontalSliderSize=typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=typeof e.verticalSliderSize<`u`?e.verticalSliderSize:t.verticalScrollbarSize,Fm&&(t.className+=` mac`),t}var gg=class extends G{constructor(e,t,n,r,i,a,o,s){super(),this._bufferService=n,this._optionsService=o,this._renderService=s,this._onRequestScrollLines=this._register(new K),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new Jh({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:e=>Ah(r.window,e)}));this._register(this._optionsService.onSpecificOptionChange(`smoothScrollDuration`,()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new mg(t,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},c)),this._register(this._optionsService.onMultipleOptionChange([`scrollSensitivity`,`fastScrollSensitivity`,`overviewRuler`],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(i.onProtocolChange(e=>{this._scrollableElement.updateOptions({handleMouseWheel:!(e&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register($p.runAndSubscribe(a.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=a.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(Up(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=r.mainDocument.createElement(`style`),t.appendChild(this._styleElement),this._register(Up(()=>this._styleElement.remove())),this._register($p.runAndSubscribe(a.onChangeColors,()=>{this._styleElement.textContent=[`.xterm .xterm-scrollable-element > .scrollbar > .slider {`,` background: ${a.colors.scrollbarSliderBackground.css};`,`}`,`.xterm .xterm-scrollable-element > .scrollbar > .slider:hover {`,` background: ${a.colors.scrollbarSliderHoverBackground.css};`,`}`,`.xterm .xterm-scrollable-element > .scrollbar > .slider.active {`,` background: ${a.colors.scrollbarSliderActiveBackground.css};`,`}`].join(`
|
|
64
|
-
`)})),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(e=>this._handleScroll(e)))}scrollLines(e){let t=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:t.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,t){t&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!t,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 t=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),n=t-this._bufferService.buffer.ydisp;n!==0&&(this._latestYDisp=t,this._onRequestScrollLines.fire(n)),this._isHandlingScroll=!1}};gg=Af([W(2,rp),W(3,gp),W(4,ip),W(5,xp),W(6,lp),W(7,vp)],gg);var _g=class extends G{constructor(e,t,n,r,i){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=n,this._decorationService=r,this._renderService=i,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(e=>this._removeDecoration(e))),this._register(Up(()=>{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 t=this._coreBrowserService.mainDocument.createElement(`div`);t.classList.add(`xterm-decoration`),t.classList.toggle(`xterm-decoration-top-layer`,e?.options?.layer===`top`),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,t.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let n=e.options.x??0;return n&&n>this._bufferService.cols&&(t.style.display=`none`),this._refreshXPosition(e,t),t}_refreshStyle(e){let t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display=`none`,e.onRenderEmitter.fire(e.element));else{let n=this._decorationElements.get(e);n||(n=this._createElement(e),e.element=n,this._decorationElements.set(e,n),this._container.appendChild(n),e.onDispose(()=>{this._decorationElements.delete(e),n.remove()})),n.style.display=this._altBufferIsActive?`none`:`block`,this._altBufferIsActive||(n.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,n.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,n.style.top=`${t*this._renderService.dimensions.css.cell.height}px`,n.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(n)}}_refreshXPosition(e,t=e.element){if(!t)return;let n=e.options.x??0;(e.options.anchor||`left`)===`right`?t.style.right=n?`${n*this._renderService.dimensions.css.cell.width}px`:``:t.style.left=n?`${n*this._renderService.dimensions.css.cell.width}px`:``}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};_g=Af([W(1,rp),W(2,gp),W(3,fp),W(4,vp)],_g);var vg=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(e){if(e.options.overviewRulerOptions){for(let t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position)){this._addLineToZone(t,e.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=e.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=e.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=e.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=e.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:e.options.overviewRulerOptions.color,position:e.options.overviewRulerOptions.position,startBufferLine:e.marker.line,endBufferLine:e.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(e){this._linePadding=e}_lineIntersectsZone(e,t){return t>=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,n){return t>=e.startBufferLine-this._linePadding[n||`full`]&&t<=e.endBufferLine+this._linePadding[n||`full`]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}},yg={full:0,left:0,center:0,right:0},bg={full:0,left:0,center:0,right:0},xg={full:0,left:0,center:0,right:0},Sg=class extends G{constructor(e,t,n,r,i,a,o,s){super(),this._viewportElement=e,this._screenElement=t,this._bufferService=n,this._decorationService=r,this._renderService=i,this._optionsService=a,this._themeService=o,this._coreBrowserService=s,this._colorZoneStore=new vg,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(Up(()=>this._canvas?.remove()));let c=this._canvas.getContext(`2d`);if(c)this._ctx=c;else throw 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),t=Math.ceil((this._canvas.width-1)/3);bg.full=this._canvas.width,bg.left=e,bg.center=t,bg.right=e,this._refreshDrawHeightConstants(),xg.full=1,xg.left=1,xg.center=1+bg.left,xg.right=1+bg.left+bg.center}_refreshDrawHeightConstants(){yg.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);yg.left=t,yg.center=t,yg.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*yg.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*yg.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*yg.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*yg.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 e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let t of e)t.position!==`full`&&this._renderColorZone(t);for(let t of e)t.position===`full`&&this._renderColorZone(t);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(xg[e.position||`full`],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-yg[e.position||`full`]/2),bg[e.position||`full`],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+yg[e.position||`full`]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};Sg=Af([W(2,rp),W(3,fp),W(4,vp),W(5,lp),W(6,xp),W(7,gp)],Sg);var J;(e=>(e.NUL=`\0`,e.SOH=``,e.STX=``,e.ETX=``,e.EOT=``,e.ENQ=``,e.ACK=``,e.BEL=`\x07`,e.BS=`\b`,e.HT=` `,e.LF=`
|
|
65
|
-
`,e.VT=`\v`,e.FF=`\f`,e.CR=`\r`,e.SO=``,e.SI=``,e.DLE=``,e.DC1=``,e.DC2=``,e.DC3=``,e.DC4=``,e.NAK=``,e.SYN=``,e.ETB=``,e.CAN=``,e.EM=``,e.SUB=``,e.ESC=`\x1B`,e.FS=``,e.GS=``,e.RS=``,e.US=``,e.SP=` `,e.DEL=``))(J||={});var Cg;(e=>(e.PAD=``,e.HOP=``,e.BPH=``,e.NBH=``,e.IND=``,e.NEL=`
`,e.SSA=``,e.ESA=``,e.HTS=``,e.HTJ=``,e.VTS=``,e.PLD=``,e.PLU=``,e.RI=``,e.SS2=``,e.SS3=``,e.DCS=``,e.PU1=``,e.PU2=``,e.STS=``,e.CCH=``,e.MW=``,e.SPA=``,e.EPA=``,e.SOS=``,e.SGCI=``,e.SCI=``,e.CSI=``,e.ST=``,e.OSC=``,e.PM=``,e.APC=``))(Cg||={});var wg;(e=>e.ST=`${J.ESC}\\`)(wg||={});var Tg=class{constructor(e,t,n,r,i,a){this._textarea=e,this._compositionView=t,this._bufferService=n,this._optionsService=r,this._coreService=i,this._renderService=a,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(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(e.keyCode===20||e.keyCode===229||e.keyCode===16||e.keyCode===17||e.keyCode===18)return!1;this._finalizeComposition(!1)}return e.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(e){if(this._compositionView.classList.remove(`active`),this._isComposing=!1,e){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let t;e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,this._compositionPosition.start):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!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 e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let t=this._textarea.value,n=t.replace(e,``);this._dataAlreadySent=n,t.length>e.length?this._coreService.triggerDataEvent(n,!0):t.length<e.length?this._coreService.triggerDataEvent(`${J.DEL}`,!0):t.length===e.length&&t!==e&&this._coreService.triggerDataEvent(t,!0)}},0)}updateCompositionElements(e){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),t=this._renderService.dimensions.css.cell.height,n=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,r=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=r+`px`,this._compositionView.style.top=n+`px`,this._compositionView.style.height=t+`px`,this._compositionView.style.lineHeight=t+`px`,this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+`px`;let i=this._compositionView.getBoundingClientRect();this._textarea.style.left=r+`px`,this._textarea.style.top=n+`px`,this._textarea.style.width=Math.max(i.width,1)+`px`,this._textarea.style.height=Math.max(i.height,1)+`px`,this._textarea.style.lineHeight=i.height+`px`}e||setTimeout(()=>this.updateCompositionElements(!0),0)}}};Tg=Af([W(2,rp),W(3,lp),W(4,ap),W(5,vp)],Tg);var Eg=0,Dg=0,Og=0,kg=0,Ag={css:`#00000000`,rgba:0},jg;(e=>{function t(e,t,n,r){return r===void 0?`#${Ig(e)}${Ig(t)}${Ig(n)}`:`#${Ig(e)}${Ig(t)}${Ig(n)}${Ig(r)}`}e.toCss=t;function n(e,t,n,r=255){return(e<<24|t<<16|n<<8|r)>>>0}e.toRgba=n;function r(t,n,r,i){return{css:e.toCss(t,n,r,i),rgba:e.toRgba(t,n,r,i)}}e.toColor=r})(jg||={});var Mg;(e=>{function t(e,t){if(kg=(t.rgba&255)/255,kg===1)return{css:t.css,rgba:t.rgba};let n=t.rgba>>24&255,r=t.rgba>>16&255,i=t.rgba>>8&255,a=e.rgba>>24&255,o=e.rgba>>16&255,s=e.rgba>>8&255;return Eg=a+Math.round((n-a)*kg),Dg=o+Math.round((r-o)*kg),Og=s+Math.round((i-s)*kg),{css:jg.toCss(Eg,Dg,Og),rgba:jg.toRgba(Eg,Dg,Og)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=Fg.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return jg.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[Eg,Dg,Og]=Fg.toChannels(t),{css:jg.toCss(Eg,Dg,Og),rgba:t}}e.opaque=i;function a(e,t){return kg=Math.round(t*255),[Eg,Dg,Og]=Fg.toChannels(e.rgba),{css:jg.toCss(Eg,Dg,Og,kg),rgba:jg.toRgba(Eg,Dg,Og,kg)}}e.opacity=a;function o(e,t){return kg=e.rgba&255,a(e,kg*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(Mg||={});var Ng;(e=>{let t,n;try{let e=document.createElement(`canvas`);e.width=1,e.height=1;let r=e.getContext(`2d`,{willReadFrequently:!0});r&&(t=r,t.globalCompositeOperation=`copy`,n=t.createLinearGradient(0,0,1,1))}catch{}function r(e){if(e.match(/#[\da-f]{3,8}/i))switch(e.length){case 4:return Eg=parseInt(e.slice(1,2).repeat(2),16),Dg=parseInt(e.slice(2,3).repeat(2),16),Og=parseInt(e.slice(3,4).repeat(2),16),jg.toColor(Eg,Dg,Og);case 5:return Eg=parseInt(e.slice(1,2).repeat(2),16),Dg=parseInt(e.slice(2,3).repeat(2),16),Og=parseInt(e.slice(3,4).repeat(2),16),kg=parseInt(e.slice(4,5).repeat(2),16),jg.toColor(Eg,Dg,Og,kg);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}let r=e.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(r)return Eg=parseInt(r[1]),Dg=parseInt(r[2]),Og=parseInt(r[3]),kg=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),jg.toColor(Eg,Dg,Og,kg);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[Eg,Dg,Og,kg]=t.getImageData(0,0,1,1).data,kg!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:jg.toRgba(Eg,Dg,Og,kg),css:e}}e.toColor=r})(Ng||={});var Pg;(e=>{function t(e){return n(e>>16&255,e>>8&255,e&255)}e.relativeLuminance=t;function n(e,t,n){let r=e/255,i=t/255,a=n/255,o=r<=.03928?r/12.92:((r+.055)/1.055)**2.4,s=i<=.03928?i/12.92:((i+.055)/1.055)**2.4,c=a<=.03928?a/12.92:((a+.055)/1.055)**2.4;return o*.2126+s*.7152+c*.0722}e.relativeLuminance2=n})(Pg||={});var Fg;(e=>{function t(e,t){if(kg=(t&255)/255,kg===1)return t;let n=t>>24&255,r=t>>16&255,i=t>>8&255,a=e>>24&255,o=e>>16&255,s=e>>8&255;return Eg=a+Math.round((n-a)*kg),Dg=o+Math.round((r-o)*kg),Og=s+Math.round((i-s)*kg),jg.toRgba(Eg,Dg,Og)}e.blend=t;function n(e,t,n){let a=Pg.relativeLuminance(e>>8),o=Pg.relativeLuminance(t>>8);if(Lg(a,o)<n){if(o<a){let o=r(e,t,n),s=Lg(a,Pg.relativeLuminance(o>>8));if(s<n){let r=i(e,t,n);return s>Lg(a,Pg.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=Lg(a,Pg.relativeLuminance(s>>8));if(c<n){let i=r(e,t,n);return c>Lg(a,Pg.relativeLuminance(i>>8))?s:i}return s}}e.ensureContrastRatio=n;function r(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=Lg(Pg.relativeLuminance2(o,s,c),Pg.relativeLuminance2(r,i,a));for(;l<n&&(o>0||s>0||c>0);)o-=Math.max(0,Math.ceil(o*.1)),s-=Math.max(0,Math.ceil(s*.1)),c-=Math.max(0,Math.ceil(c*.1)),l=Lg(Pg.relativeLuminance2(o,s,c),Pg.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.reduceLuminance=r;function i(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=Lg(Pg.relativeLuminance2(o,s,c),Pg.relativeLuminance2(r,i,a));for(;l<n&&(o<255||s<255||c<255);)o=Math.min(255,o+Math.ceil((255-o)*.1)),s=Math.min(255,s+Math.ceil((255-s)*.1)),c=Math.min(255,c+Math.ceil((255-c)*.1)),l=Lg(Pg.relativeLuminance2(o,s,c),Pg.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.increaseLuminance=i;function a(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}e.toChannels=a})(Fg||={});function Ig(e){let t=e.toString(16);return t.length<2?`0`+t:t}function Lg(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}var Rg=class extends Jf{constructor(e,t,n){super(),this.content=0,this.combinedData=``,this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=n}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw Error(`not implemented`)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},zg=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new Xf}register(e){let t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t<this._characterJoiners.length;t++)if(this._characterJoiners[t].id===e)return this._characterJoiners.splice(t,1),!0;return!1}getJoinedCharacters(e){if(this._characterJoiners.length===0)return[];let t=this._bufferService.buffer.lines.get(e);if(!t||t.length===0)return[];let n=[],r=t.translateToString(!0),i=0,a=0,o=0,s=t.getFg(0),c=t.getBg(0);for(let e=0;e<t.getTrimmedLength();e++)if(t.loadCell(e,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==s||this._workCell.bg!==c){if(e-i>1){let e=this._getJoinedRanges(r,o,a,t,i);for(let t=0;t<e.length;t++)n.push(e[t])}i=e,o=a,s=this._workCell.fg,c=this._workCell.bg}a+=this._workCell.getChars().length||qf.length}if(this._bufferService.cols-i>1){let e=this._getJoinedRanges(r,o,a,t,i);for(let t=0;t<e.length;t++)n.push(e[t])}return n}_getJoinedRanges(e,t,n,r,i){let a=e.substring(t,n),o=[];try{o=this._characterJoiners[0].handler(a)}catch(e){console.error(e)}for(let e=1;e<this._characterJoiners.length;e++)try{let t=this._characterJoiners[e].handler(a);for(let e=0;e<t.length;e++)zg._mergeRanges(o,t[e])}catch(e){console.error(e)}return this._stringRangesToCellRanges(o,r,i),o}_stringRangesToCellRanges(e,t,n){let r=0,i=!1,a=0,o=e[r];if(o){for(let s=n;s<this._bufferService.cols;s++){let n=t.getWidth(s),c=t.getString(s).length||qf.length;if(n!==0){if(!i&&o[0]<=a&&(o[0]=s,i=!0),o[1]<=a){if(o[1]=s,o=e[++r],!o)break;o[0]<=a?(o[0]=s,i=!0):i=!1}a+=c}}o&&(o[1]=this._bufferService.cols)}}static _mergeRanges(e,t){let n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(n){if(t[1]<=i[0])return e[r-1][1]=t[1],e;if(t[1]<=i[1])return e[r-1][1]=Math.max(t[1],i[1]),e.splice(r,1),e;e.splice(r,1),r--}else{if(t[1]<=i[0])return e.splice(r,0,t),e;if(t[1]<=i[1])return i[0]=Math.min(t[0],i[0]),e;t[0]<i[1]&&(i[0]=Math.min(t[0],i[0]),n=!0);continue}}return n?e[e.length-1][1]=t[1]:e.push(t),e}};zg=Af([W(0,rp)],zg);function Bg(e){return 57508<=e&&e<=57558}function Vg(e){return 9472<=e&&e<=9631}function Hg(e){return Bg(e)||Vg(e)}function Ug(){return{css:{canvas:Wg(),cell:Wg()},device:{canvas:Wg(),cell:Wg(),char:{width:0,height:0,left:0,top:0}}}}function Wg(){return{width:0,height:0}}var Gg=class{constructor(e,t,n,r,i,a,o){this._document=e,this._characterJoinerService=t,this._optionsService=n,this._coreBrowserService=r,this._coreService=i,this._decorationService=a,this._themeService=o,this._workCell=new Xf,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,t,n){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=n}createRow(e,t,n,r,i,a,o,s,c,l,u){let d=[],f=this._characterJoinerService.getJoinedCharacters(t),p=this._themeService.colors,m=e.getNoBgTrimmedLength();n&&m<a+1&&(m=a+1);let h,g=0,_=``,v=0,y=0,b=0,x=0,ee=!1,te=0,ne=!1,re=0,ie=0,S=[],ae=l!==-1&&u!==-1;for(let oe=0;oe<m;oe++){e.loadCell(oe,this._workCell);let m=this._workCell.getWidth();if(m===0)continue;let se=!1,ce=oe>=ie,le=oe,C=this._workCell;if(f.length>0&&oe===f[0][0]&&ce){let r=f.shift(),i=this._isCellInSelection(r[0],t);for(v=r[0]+1;v<r[1];v++)ce&&=i===this._isCellInSelection(v,t);ce&&=!n||a<r[0]||a>=r[1],ce?(se=!0,C=new Rg(this._workCell,e.translateToString(!0,r[0],r[1]),r[1]-r[0]),le=r[1]-1,m=C.getWidth()):ie=r[1]}let w=this._isCellInSelection(oe,t),T=n&&oe===a,ue=ae&&oe>=l&&oe<=u,de=!1;this._decorationService.forEachDecorationAtCell(oe,t,void 0,e=>{de=!0});let fe=C.getChars()||qf;if(fe===` `&&(C.isUnderline()||C.isOverline())&&(fe=`\xA0`),re=m*s-c.get(fe,C.isBold(),C.isItalic()),!h)h=this._document.createElement(`span`);else if(g&&(w&&ne||!w&&!ne&&C.bg===y)&&(w&&ne&&p.selectionForeground||C.fg===b)&&C.extended.ext===x&&ue===ee&&re===te&&!T&&!se&&!de&&ce){C.isInvisible()?_+=qf:_+=fe,g++;continue}else g&&(h.textContent=_),h=this._document.createElement(`span`),g=0,_=``;if(y=C.bg,b=C.fg,x=C.extended.ext,ee=ue,te=re,ne=w,se&&a>=oe&&a<=le&&(a=oe),!this._coreService.isCursorHidden&&T&&this._coreService.isCursorInitialized){if(S.push(`xterm-cursor`),this._coreBrowserService.isFocused)o&&S.push(`xterm-cursor-blink`),S.push(r===`bar`?`xterm-cursor-bar`:r===`underline`?`xterm-cursor-underline`:`xterm-cursor-block`);else if(i)switch(i){case`outline`:S.push(`xterm-cursor-outline`);break;case`block`:S.push(`xterm-cursor-block`);break;case`bar`:S.push(`xterm-cursor-bar`);break;case`underline`:S.push(`xterm-cursor-underline`)}}if(C.isBold()&&S.push(`xterm-bold`),C.isItalic()&&S.push(`xterm-italic`),C.isDim()&&S.push(`xterm-dim`),_=C.isInvisible()?qf:C.getChars()||qf,C.isUnderline()&&(S.push(`xterm-underline-${C.extended.underlineStyle}`),_===` `&&(_=`\xA0`),!C.isUnderlineColorDefault())){if(C.isUnderlineColorRGB())h.style.textDecorationColor=`rgb(${Jf.toColorRGB(C.getUnderlineColor()).join(`,`)})`;else{let e=C.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&C.isBold()&&e<8&&(e+=8),h.style.textDecorationColor=p.ansi[e].css}}C.isOverline()&&(S.push(`xterm-overline`),_===` `&&(_=`\xA0`)),C.isStrikethrough()&&S.push(`xterm-strikethrough`),ue&&(h.style.textDecoration=`underline`);let pe=C.getFgColor(),E=C.getFgColorMode(),me=C.getBgColor(),he=C.getBgColorMode(),ge=!!C.isInverse();if(ge){let e=pe;pe=me,me=e;let t=E;E=he,he=t}let _e,ve,ye=!1;this._decorationService.forEachDecorationAtCell(oe,t,void 0,e=>{e.options.layer!==`top`&&ye||(e.backgroundColorRGB&&(he=50331648,me=e.backgroundColorRGB.rgba>>8&16777215,_e=e.backgroundColorRGB),e.foregroundColorRGB&&(E=50331648,pe=e.foregroundColorRGB.rgba>>8&16777215,ve=e.foregroundColorRGB),ye=e.options.layer===`top`)}),!ye&&w&&(_e=this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque,me=_e.rgba>>8&16777215,he=50331648,ye=!0,p.selectionForeground&&(E=50331648,pe=p.selectionForeground.rgba>>8&16777215,ve=p.selectionForeground)),ye&&S.push(`xterm-decoration-top`);let be;switch(he){case 16777216:case 33554432:be=p.ansi[me],S.push(`xterm-bg-${me}`);break;case 50331648:be=jg.toColor(me>>16,me>>8&255,me&255),this._addStyle(h,`background-color:#${Kg((me>>>0).toString(16),`0`,6)}`);break;default:ge?(be=p.foreground,S.push(`xterm-bg-257`)):be=p.background}switch(_e||C.isDim()&&(_e=Mg.multiplyOpacity(be,.5)),E){case 16777216:case 33554432:C.isBold()&&pe<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(pe+=8),this._applyMinimumContrast(h,be,p.ansi[pe],C,_e,void 0)||S.push(`xterm-fg-${pe}`);break;case 50331648:let e=jg.toColor(pe>>16&255,pe>>8&255,pe&255);this._applyMinimumContrast(h,be,e,C,_e,ve)||this._addStyle(h,`color:#${Kg(pe.toString(16),`0`,6)}`);break;default:this._applyMinimumContrast(h,be,p.foreground,C,_e,ve)||ge&&S.push(`xterm-fg-257`)}S.length&&=(h.className=S.join(` `),0),!T&&!se&&!de&&ce?g++:h.textContent=_,re!==this.defaultSpacing&&(h.style.letterSpacing=`${re}px`),d.push(h),oe=le}return h&&g&&(h.textContent=_),d}_applyMinimumContrast(e,t,n,r,i,a){if(this._optionsService.rawOptions.minimumContrastRatio===1||Hg(r.getCode()))return!1;let o=this._getContrastCache(r),s;if(!i&&!a&&(s=o.getColor(t.rgba,n.rgba)),s===void 0){let e=this._optionsService.rawOptions.minimumContrastRatio/(r.isDim()?2:1);s=Mg.ensureContrastRatio(i||t,a||n,e),o.setColor((i||t).rgba,(a||n).rgba,s??null)}return s?(this._addStyle(e,`color:${s.css}`),!0):!1}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute(`style`,`${e.getAttribute(`style`)||``}${t};`)}_isCellInSelection(e,t){let n=this._selectionStart,r=this._selectionEnd;return!n||!r?!1:this._columnSelectMode?n[0]<=r[0]?e>=n[0]&&t>=n[1]&&e<r[0]&&t<=r[1]:e<n[0]&&t>=n[1]&&e>=r[0]&&t<=r[1]:t>n[1]&&t<r[1]||n[1]===r[1]&&t===n[1]&&e>=n[0]&&e<r[0]||n[1]<r[1]&&t===r[1]&&e<r[0]||n[1]<r[1]&&t===n[1]&&e>=n[0]}};Gg=Af([W(1,bp),W(2,lp),W(3,gp),W(4,ap),W(5,fp),W(6,xp)],Gg);function Kg(e,t,n){for(;e.length<n;)e=t+e;return e}var qg=class{constructor(e,t){this._flat=new Float32Array(256),this._font=``,this._fontSize=0,this._weight=`normal`,this._weightBold=`bold`,this._measureElements=[],this._container=e.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 n=e.createElement(`span`);n.classList.add(`xterm-char-measure-element`);let r=e.createElement(`span`);r.classList.add(`xterm-char-measure-element`),r.style.fontWeight=`bold`;let i=e.createElement(`span`);i.classList.add(`xterm-char-measure-element`),i.style.fontStyle=`italic`;let a=e.createElement(`span`);a.classList.add(`xterm-char-measure-element`),a.style.fontWeight=`bold`,a.style.fontStyle=`italic`,this._measureElements=[n,r,i,a],this._container.appendChild(n),this._container.appendChild(r),this._container.appendChild(i),this._container.appendChild(a),t.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(e,t,n,r){e===this._font&&t===this._fontSize&&n===this._weight&&r===this._weightBold||(this._font=e,this._fontSize=t,this._weight=n,this._weightBold=r,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${n}`,this._measureElements[1].style.fontWeight=`${r}`,this._measureElements[2].style.fontWeight=`${n}`,this._measureElements[3].style.fontWeight=`${r}`,this.clear())}get(e,t,n){let r=0;if(!t&&!n&&e.length===1&&(r=e.charCodeAt(0))<256){if(this._flat[r]!==-9999)return this._flat[r];let t=this._measure(e,0);return t>0&&(this._flat[r]=t),t}let i=e;t&&(i+=`B`),n&&(i+=`I`);let a=this._holey.get(i);if(a===void 0){let r=0;t&&(r|=1),n&&(r|=2),a=this._measure(e,r),a>0&&this._holey.set(i,a)}return a}_measure(e,t){let n=this._measureElements[t];return n.textContent=e.repeat(32),n.offsetWidth/32}},Jg=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(e,t,n,r=!1){if(this.selectionStart=t,this.selectionEnd=n,!t||!n||t[0]===n[0]&&t[1]===n[1]){this.clear();return}let i=e.buffers.active.ydisp,a=t[1]-i,o=n[1]-i,s=Math.max(a,0),c=Math.min(o,e.rows-1);if(s>=e.rows||c<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=a,this.viewportEndRow=o,this.viewportCappedStartRow=s,this.viewportCappedEndRow=c,this.startCol=t[0],this.endCol=n[0]}isCellSelected(e,t,n){return this.hasSelection?(n-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&n>=this.viewportCappedStartRow&&t<this.endCol&&n<=this.viewportCappedEndRow:t<this.startCol&&n>=this.viewportCappedStartRow&&t>=this.endCol&&n<=this.viewportCappedEndRow:n>this.viewportStartRow&&n<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol):!1}};function Yg(){return new Jg}var Xg=`xterm-dom-renderer-owner-`,Zg=`xterm-rows`,Qg=`xterm-fg-`,$g=`xterm-bg-`,e_=`xterm-focus`,t_=`xterm-selection`,n_=1,r_=class extends G{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p){super(),this._terminal=e,this._document=t,this._element=n,this._screenElement=r,this._viewportElement=i,this._helperContainer=a,this._linkifier2=o,this._charSizeService=c,this._optionsService=l,this._bufferService=u,this._coreService=d,this._coreBrowserService=f,this._themeService=p,this._terminalClass=n_++,this._rowElements=[],this._selectionRenderModel=Yg(),this.onRequestRedraw=this._register(new K).event,this._rowContainer=this._document.createElement(`div`),this._rowContainer.classList.add(Zg),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(t_),this._selectionContainer.setAttribute(`aria-hidden`,`true`),this.dimensions=Ug(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(e=>this._injectCss(e))),this._injectCss(this._themeService.colors),this._rowFactory=s.createInstance(Gg,document),this._element.classList.add(Xg+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(e=>this._handleLinkHover(e))),this._register(this._linkifier2.onHideLinkUnderline(e=>this._handleLinkLeave(e))),this._register(Up(()=>{this._element.classList.remove(Xg+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new qg(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 e of this._rowElements)e.style.width=`${this.dimensions.css.canvas.width}px`,e.style.height=`${this.dimensions.css.cell.height}px`,e.style.lineHeight=`${this.dimensions.css.cell.height}px`,e.style.overflow=`hidden`;this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._dimensionsStyleElement));let t=`${this._terminalSelector} .${Zg} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,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 t=`${this._terminalSelector} .${Zg} { 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}`;t+=`${this._terminalSelector} .${Zg} .xterm-dim { color: ${Mg.multiplyOpacity(e.foreground,.5).css};}`,t+=`${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 n=`blink_underline_${this._terminalClass}`,r=`blink_bar_${this._terminalClass}`,i=`blink_block_${this._terminalClass}`;t+=`@keyframes ${n} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${r} { 50% { box-shadow: none; }}`,t+=`@keyframes ${i} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${Zg}.${e_} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${Zg}.${e_} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${Zg}.${e_} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${Zg} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${Zg} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${Zg} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${Zg} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${Zg} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${t_} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${t_} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${t_} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[n,r]of e.ansi.entries())t+=`${this._terminalSelector} .${Qg}${n} { color: ${r.css}; }${this._terminalSelector} .${Qg}${n}.xterm-dim { color: ${Mg.multiplyOpacity(r,.5).css}; }${this._terminalSelector} .${$g}${n} { background-color: ${r.css}; }`;t+=`${this._terminalSelector} .${Qg}257 { color: ${Mg.opaque(e.background).css}; }${this._terminalSelector} .${Qg}257.xterm-dim { color: ${Mg.multiplyOpacity(Mg.opaque(e.background),.5).css}; }${this._terminalSelector} .${$g}257 { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_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,t){for(let e=this._rowElements.length;e<=t;e++){let e=this._document.createElement(`div`);this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),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(e_),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(e_),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,n){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,n),this.renderRows(0,this._bufferService.rows-1),!e||!t||(this._selectionRenderModel.update(this._terminal,e,t,n),!this._selectionRenderModel.hasSelection))return;let r=this._selectionRenderModel.viewportStartRow,i=this._selectionRenderModel.viewportEndRow,a=this._selectionRenderModel.viewportCappedStartRow,o=this._selectionRenderModel.viewportCappedEndRow,s=this._document.createDocumentFragment();if(n){let n=e[0]>t[0];s.appendChild(this._createSelectionElement(a,n?t[0]:e[0],n?e[0]:t[0],o-a+1))}else{let n=r===a?e[0]:0,c=a===i?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(a,n,c));let l=o-a-1;if(s.appendChild(this._createSelectionElement(a+1,0,this._bufferService.cols,l)),a!==o){let e=i===o?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(s)}_createSelectionElement(e,t,n,r=1){let i=this._document.createElement(`div`),a=t*this.dimensions.css.cell.width,o=this.dimensions.css.cell.width*(n-t);return a+o>this.dimensions.css.canvas.width&&(o=this.dimensions.css.canvas.width-a),i.style.height=`${r*this.dimensions.css.cell.height}px`,i.style.top=`${e*this.dimensions.css.cell.height}px`,i.style.left=`${a}px`,i.style.width=`${o}px`,i}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,t){let n=this._bufferService.buffer,r=n.ybase+n.y,i=Math.min(n.x,this._bufferService.cols-1),a=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,o=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,s=this._optionsService.rawOptions.cursorInactiveStyle;for(let c=e;c<=t;c++){let e=c+n.ydisp,t=this._rowElements[c],l=n.lines.get(e);if(!t||!l)break;t.replaceChildren(...this._rowFactory.createRow(l,e,e===r,o,s,i,a,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${Xg}${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,t,n,r,i,a){n<0&&(e=0),r<0&&(t=0);let o=this._bufferService.rows-1;n=Math.max(Math.min(n,o),0),r=Math.max(Math.min(r,o),0),i=Math.min(i,this._bufferService.cols);let s=this._bufferService.buffer,c=s.ybase+s.y,l=Math.min(s.x,i-1),u=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let o=n;o<=r;++o){let p=o+s.ydisp,m=this._rowElements[o],h=s.lines.get(p);if(!m||!h)break;m.replaceChildren(...this._rowFactory.createRow(h,p,p===c,d,f,l,u,this.dimensions.css.cell.width,this._widthCache,a?o===n?e:0:-1,a?(o===r?t:i)-1:-1))}}};r_=Af([W(7,sp),W(8,hp),W(9,lp),W(10,rp),W(11,ap),W(12,gp),W(13,xp)],r_);var i_=class extends G{constructor(e,t,n){super(),this._optionsService=n,this.width=0,this.height=0,this._onCharSizeChange=this._register(new K),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new s_(this._optionsService))}catch{this._measureStrategy=this._register(new o_(e,t,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())}};i_=Af([W(2,lp)],i_);var a_=class extends G{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){e!==void 0&&e>0&&t!==void 0&&t>0&&(this._result.width=e,this._result.height=t)}},o_=class extends a_{constructor(e,t,n){super(),this._document=e,this._parentElement=t,this._optionsService=n,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}},s_=class extends a_{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext(`2d`);let t=this._ctx.measureText(`W`);if(!(`width`in t&&`fontBoundingBoxAscent`in t&&`fontBoundingBoxDescent`in t))throw 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}},c_=class extends G{constructor(e,t,n){super(),this._textarea=e,this._window=t,this.mainDocument=n,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new l_(this._window)),this._onDprChange=this._register(new K),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new K),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(e=>this._screenDprMonitor.setWindow(e))),this._register($p.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(q(this._textarea,`focus`,()=>this._isFocused=!0)),this._register(q(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}},l_=class extends G{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new Kp),this._onDprChange=this._register(new K),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(Up(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=q(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)}},u_=class extends G{constructor(){super(),this.linkProviders=[],this._register(Up(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let t=this.linkProviders.indexOf(e);t!==-1&&this.linkProviders.splice(t,1)}}}};function d_(e,t,n){let r=n.getBoundingClientRect(),i=e.getComputedStyle(n),a=parseInt(i.getPropertyValue(`padding-left`)),o=parseInt(i.getPropertyValue(`padding-top`));return[t.clientX-r.left-a,t.clientY-r.top-o]}function f_(e,t,n,r,i,a,o,s,c){if(!a)return;let l=d_(e,t,n);if(l)return l[0]=Math.ceil((l[0]+(c?o/2:0))/o),l[1]=Math.ceil(l[1]/s),l[0]=Math.min(Math.max(l[0],1),r+ +!!c),l[1]=Math.min(Math.max(l[1],1),i),l}var p_=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,n,r,i){return f_(window,e,t,n,r,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,i)}getMouseReportCoords(e,t){let n=d_(window,e,t);if(this._charSizeService.hasValidSize)return n[0]=Math.min(Math.max(n[0],0),this._renderService.dimensions.css.canvas.width-1),n[1]=Math.min(Math.max(n[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(n[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(n[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(n[0]),y:Math.floor(n[1])}}};p_=Af([W(0,vp),W(1,hp)],p_);var m_=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&=(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()),this._animationFrame}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t),!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 e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}},h_={};kf(h_,{getSafariVersion:()=>S_,isChromeOS:()=>O_,isFirefox:()=>y_,isIpad:()=>w_,isIphone:()=>T_,isLegacyEdge:()=>b_,isLinux:()=>D_,isMac:()=>C_,isNode:()=>g_,isSafari:()=>x_,isWindows:()=>E_});var g_=typeof process<`u`&&`title`in process,__=g_?`node`:navigator.userAgent,v_=g_?`node`:navigator.platform,y_=__.includes(`Firefox`),b_=__.includes(`Edge`),x_=/^((?!chrome|android).)*safari/i.test(__);function S_(){if(!x_)return 0;let e=__.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var C_=[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(v_),w_=v_===`iPad`,T_=v_===`iPhone`,E_=[`Windows`,`Win16`,`Win32`,`WinCE`].includes(v_),D_=v_.indexOf(`Linux`)>=0,O_=/\bCrOS\b/.test(__),k_=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&=(this._cancelCallback(this._idleCallback),void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||=this._requestCallback(this._process.bind(this))}_process(e){this._idleCallback=void 0;let t=0,n=0,r=e.timeRemaining(),i=0;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),n=Math.max(t,n),i=e.timeRemaining(),n*1.5>i){r-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(r-t))}ms`),this._start();return}r=i}this.clear()}},A_=class extends k_{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},j_=class extends k_{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},M_=!g_&&`requestIdleCallback`in window?j_:A_,N_=class{constructor(){this._queue=new M_}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},P_=class extends G{constructor(e,t,n,r,i,a,o,s,c){super(),this._rowCount=e,this._optionsService=n,this._charSizeService=r,this._coreService=i,this._coreBrowserService=s,this._renderer=this._register(new Kp),this._pausedResizeTask=new N_,this._observerDisposable=this._register(new Kp),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 K),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new K),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new K),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new K),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new m_((e,t)=>this._renderRows(e,t),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new F_(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(Up(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(o.onResize(()=>this._fullRefresh())),this._register(o.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(a.onDecorationRegistered(()=>this._fullRefresh())),this._register(a.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange([`customGlyphs`,`drawBoldTextInBrightColors`,`letterSpacing`,`lineHeight`,`fontFamily`,`fontSize`,`fontWeight`,`fontWeightBold`,`minimumContrastRatio`,`rescaleOverlappingGlyphs`],()=>{this.clear(),this.handleResize(o.cols,o.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange([`cursorBlink`,`cursorStyle`],()=>this.refreshRows(o.buffer.y,o.buffer.y,!0))),this._register(c.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,t),this._register(this._coreBrowserService.onWindowChange(e=>this._registerIntersectionObserver(e,t)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,t){if(`IntersectionObserver`in e){let n=new e.IntersectionObserver(e=>this._handleIntersectionChange(e[e.length-1]),{threshold:0});n.observe(t),this._observerDisposable.value=Up(()=>n.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,t,n=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}let r=this._syncOutputHandler.flush();r&&(e=Math.min(e,r.start),t=Math.max(t,r.end)),n||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount)}_renderRows(e,t){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&=(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0}}resize(e,t){this._rowCount=t,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(e=>this.refreshRows(e.start,e.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,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(e,t)):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,t,n){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=n,this._renderer.value?.handleSelectionChanged(e,t,n)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};P_=Af([W(2,lp),W(3,hp),W(4,ap),W(5,fp),W(6,rp),W(7,gp),W(8,xp)],P_);var F_=class{constructor(e,t,n){this._coreBrowserService=e,this._coreService=t,this._onTimeout=n,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,t){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,t)):(this._start=e,this._end=t,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 e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function I_(e,t,n,r){let i=n.buffer.x,a=n.buffer.y;if(!n.buffer.hasScrollback)return z_(i,a,e,t,n,r)+B_(a,t,n,r)+V_(i,a,e,t,n,r);let o;if(a===t)return o=i>e?`D`:`C`,J_(Math.abs(i-e),q_(o,r));o=a>t?`D`:`C`;let s=Math.abs(a-t);return J_(R_(a>t?e:i,n)+(s-1)*n.cols+1+L_(a>t?i:e,n),q_(o,r))}function L_(e,t){return e-1}function R_(e,t){return t.cols-e}function z_(e,t,n,r,i,a){return B_(t,r,i,a).length===0?``:J_(K_(e,t,e,t-U_(t,i),!1,i).length,q_(`D`,a))}function B_(e,t,n,r){let i=e-U_(e,n),a=t-U_(t,n);return J_(Math.abs(i-a)-H_(e,t,n),q_(G_(e,t),r))}function V_(e,t,n,r,i,a){let o;o=B_(t,r,i,a).length>0?r-U_(r,i):t;let s=r,c=W_(e,t,n,r,i,a);return J_(K_(e,o,n,s,c===`C`,i).length,q_(c,a))}function H_(e,t,n){let r=0,i=e-U_(e,n),a=t-U_(t,n);for(let o=0;o<Math.abs(i-a);o++){let a=G_(e,t)===`A`?-1:1;n.buffer.lines.get(i+a*o)?.isWrapped&&r++}return r}function U_(e,t){let n=0,r=t.buffer.lines.get(e),i=r?.isWrapped;for(;i&&e>=0&&e<t.rows;)n++,r=t.buffer.lines.get(--e),i=r?.isWrapped;return n}function W_(e,t,n,r,i,a){let o;return o=B_(n,r,i,a).length>0?r-U_(r,i):t,e<n&&o<=r||e>=n&&o<r?`C`:`D`}function G_(e,t){return e>t?`A`:`B`}function K_(e,t,n,r,i,a){let o=e,s=t,c=``;for(;(o!==n||s!==r)&&s>=0&&s<a.buffer.lines.length;)o+=i?1:-1,i&&o>a.cols-1?(c+=a.buffer.translateBufferLineToString(s,!1,e,o),o=0,e=0,s++):!i&&o<0&&(c+=a.buffer.translateBufferLineToString(s,!1,0,e+1),o=a.cols-1,e=o,s--);return c+a.buffer.translateBufferLineToString(s,!1,e,o)}function q_(e,t){let n=t?`O`:`[`;return J.ESC+n+e}function J_(e,t){e=Math.floor(e);let n=``;for(let r=0;r<e;r++)n+=t;return n}var Y_=class{constructor(e){this._bufferService=e,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 e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let e=this.selectionStart,t=this.selectionEnd;return!e||!t?!1:e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function X_(e,t){if(e.start.y>e.end.y)throw Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}var Z_=50,hte=15,gte=50,_te=500,vte=RegExp(`\xA0`,`g`),Q_=class extends G{constructor(e,t,n,r,i,a,o,s,c){super(),this._element=e,this._screenElement=t,this._linkifier=n,this._bufferService=r,this._coreService=i,this._mouseService=a,this._optionsService=o,this._renderService=s,this._coreBrowserService=c,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new Xf,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new K),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new K),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new K),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new K),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=e=>this._handleMouseMove(e),this._mouseUpListener=e=>this._handleMouseUp(e),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(e=>this._handleTrim(e)),this._register(this._bufferService.buffers.onBufferActivate(e=>this._handleBufferActivate(e))),this.enable(),this._model=new Y_(this._bufferService),this._activeSelectionMode=0,this._register(Up(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(e=>{e.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,t=this._model.finalSelectionEnd;return!e||!t?!1:e[0]!==t[0]||e[1]!==t[1]}get selectionText(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return``;let n=this._bufferService.buffer,r=[];if(this._activeSelectionMode===3){if(e[0]===t[0])return``;let i=e[0]<t[0]?e[0]:t[0],a=e[0]<t[0]?t[0]:e[0];for(let o=e[1];o<=t[1];o++){let e=n.translateBufferLineToString(o,!0,i,a);r.push(e)}}else{let i=e[1]===t[1]?t[0]:void 0;r.push(n.translateBufferLineToString(e[1],!0,e[0],i));for(let i=e[1]+1;i<=t[1]-1;i++){let e=n.lines.get(i),t=n.translateBufferLineToString(i,!0);e?.isWrapped?r[r.length-1]+=t:r.push(t)}if(e[1]!==t[1]){let e=n.lines.get(t[1]),i=n.translateBufferLineToString(t[1],!0,0,t[0]);e&&e.isWrapped?r[r.length-1]+=i:r.push(i)}}return r.map(e=>e.replace(vte,` `)).join(E_?`\r
|
|
66
|
-
`:`
|
|
67
|
-
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh()),D_&&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 t=this._getMouseBufferCoords(e),n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r||!t?!1:this._areCoordsInSelection(t,n,r)}isCellInSelection(e,t){let n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r?!1:this._areCoordsInSelection([e,t],n,r)}_areCoordsInSelection(e,t,n){return e[1]>t[1]&&e[1]<n[1]||t[1]===n[1]&&e[1]===t[1]&&e[0]>=t[0]&&e[0]<n[0]||t[1]<n[1]&&e[1]===n[1]&&e[0]<n[0]||t[1]<n[1]&&e[1]===t[1]&&e[0]>=t[0]}_selectWordAtCursor(e,t){let n=this._linkifier.currentLink?.link?.range;if(n)return this._model.selectionStart=[n.start.x-1,n.start.y-1],this._model.selectionStartLength=X_(n,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let r=this._getMouseBufferCoords(e);return r?(this._selectWordAt(r,t),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=d_(this._coreBrowserService.window,e,this._screenElement)[1],n=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=n?0:(t>n&&(t-=n),t=Math.min(Math.max(t,-Z_),Z_),t/=Z_,t/Math.abs(t)+Math.round(t*(hte-1)))}shouldForceSelection(e){return C_?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(),gte)}_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 t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&t.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(C_&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let t=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 n=this._bufferService.buffer;if(this._model.selectionEnd[1]<n.lines.length){let e=n.lines.get(this._model.selectionEnd[1]);e&&e.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!t||t[0]!==this._model.selectionEnd[0]||t[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 t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<_te&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let t=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(t&&t[0]!==void 0&&t[1]!==void 0){let e=I_(t[0]-1,t[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(e,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,n=!!e&&!!t&&(e[0]!==t[0]||e[1]!==t[1]);if(!n){this._oldHasSelection&&this._fireOnSelectionChange(e,t,n);return}!e||!t||(!this._oldSelectionStart||!this._oldSelectionEnd||e[0]!==this._oldSelectionStart[0]||e[1]!==this._oldSelectionStart[1]||t[0]!==this._oldSelectionEnd[0]||t[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(e,t,n)}_fireOnSelectionChange(e,t,n){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=n,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim(e=>this._handleTrim(e))}_convertViewportColToCharacterIndex(e,t){let n=t;for(let r=0;t>=r;r++){let i=e.loadCell(r,this._workCell).getChars().length;this._workCell.getWidth()===0?n--:i>1&&t!==r&&(n+=i-1)}return n}setSelection(e,t,n){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=n,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,n=!0,r=!0){if(e[0]>=this._bufferService.cols)return;let i=this._bufferService.buffer,a=i.lines.get(e[1]);if(!a)return;let o=i.translateBufferLineToString(e[1],!1),s=this._convertViewportColToCharacterIndex(a,e[0]),c=s,l=e[0]-s,u=0,d=0,f=0,p=0;if(o.charAt(s)===` `){for(;s>0&&o.charAt(s-1)===` `;)s--;for(;c<o.length&&o.charAt(c+1)===` `;)c++}else{let t=e[0],n=e[0];a.getWidth(t)===0&&(u++,t--),a.getWidth(n)===2&&(d++,n++);let r=a.getString(n).length;for(r>1&&(p+=r-1,c+=r-1);t>0&&s>0&&!this._isCharWordSeparator(a.loadCell(t-1,this._workCell));){a.loadCell(t-1,this._workCell);let e=this._workCell.getChars().length;this._workCell.getWidth()===0?(u++,t--):e>1&&(f+=e-1,s-=e-1),s--,t--}for(;n<a.length&&c+1<o.length&&!this._isCharWordSeparator(a.loadCell(n+1,this._workCell));){a.loadCell(n+1,this._workCell);let e=this._workCell.getChars().length;this._workCell.getWidth()===2?(d++,n++):e>1&&(p+=e-1,c+=e-1),c++,n++}}c++;let m=s+l-u+f,h=Math.min(this._bufferService.cols,c-s+u+d-f-p);if(t||o.slice(s,c).trim()!==``){if(n&&m===0&&a.getCodePoint(0)!==32){let t=i.lines.get(e[1]-1);if(t&&a.isWrapped&&t.getCodePoint(this._bufferService.cols-1)!==32){let t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){let e=this._bufferService.cols-t.start;m-=e,h+=e}}}if(r&&m+h===this._bufferService.cols&&a.getCodePoint(this._bufferService.cols-1)!==32){let t=i.lines.get(e[1]+1);if(t?.isWrapped&&t.getCodePoint(0)!==32){let t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(h+=t.length)}}return{start:m,length:h}}}_selectWordAt(e,t){let n=this._getWordAt(e,t);if(n){for(;n.start<0;)n.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[n.start,e[1]],this._model.selectionStartLength=n.length}}_selectToWordAt(e){let t=this._getWordAt(e,!0);if(t){let n=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,n--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,n++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,n]}}_isCharWordSeparator(e){return e.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let t=this._bufferService.buffer.getWrappedRangeForLine(e),n={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=X_(n,this._bufferService.cols)}};Q_=Af([W(3,rp),W(4,ap),W(5,_p),W(6,lp),W(7,vp),W(8,gp)],Q_);var $_=class{constructor(){this._data={}}set(e,t,n){this._data[e]||(this._data[e]={}),this._data[e][t]=n}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},ev=class{constructor(){this._color=new $_,this._css=new $_}setCss(e,t,n){this._css.set(e,t,n)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,n){this._color.set(e,t,n)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}},tv=Object.freeze((()=>{let e=[Ng.toColor(`#2e3436`),Ng.toColor(`#cc0000`),Ng.toColor(`#4e9a06`),Ng.toColor(`#c4a000`),Ng.toColor(`#3465a4`),Ng.toColor(`#75507b`),Ng.toColor(`#06989a`),Ng.toColor(`#d3d7cf`),Ng.toColor(`#555753`),Ng.toColor(`#ef2929`),Ng.toColor(`#8ae234`),Ng.toColor(`#fce94f`),Ng.toColor(`#729fcf`),Ng.toColor(`#ad7fa8`),Ng.toColor(`#34e2e2`),Ng.toColor(`#eeeeec`)],t=[0,95,135,175,215,255];for(let n=0;n<216;n++){let r=t[n/36%6|0],i=t[n/6%6|0],a=t[n%6];e.push({css:jg.toCss(r,i,a),rgba:jg.toRgba(r,i,a)})}for(let t=0;t<24;t++){let n=8+t*10;e.push({css:jg.toCss(n,n,n),rgba:jg.toRgba(n,n,n)})}return e})()),nv=Ng.toColor(`#ffffff`),rv=Ng.toColor(`#000000`),iv=Ng.toColor(`#ffffff`),av=rv,ov={css:`rgba(255, 255, 255, 0.3)`,rgba:4294967117},yte=nv,sv=class extends G{constructor(e){super(),this._optionsService=e,this._contrastCache=new ev,this._halfContrastCache=new ev,this._onChangeColors=this._register(new K),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:nv,background:rv,cursor:iv,cursorAccent:av,selectionForeground:void 0,selectionBackgroundTransparent:ov,selectionBackgroundOpaque:Mg.blend(rv,ov),selectionInactiveBackgroundTransparent:ov,selectionInactiveBackgroundOpaque:Mg.blend(rv,ov),scrollbarSliderBackground:Mg.opacity(nv,.2),scrollbarSliderHoverBackground:Mg.opacity(nv,.4),scrollbarSliderActiveBackground:Mg.opacity(nv,.5),overviewRulerBorder:nv,ansi:tv.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 t=this._colors;if(t.foreground=cv(e.foreground,nv),t.background=cv(e.background,rv),t.cursor=Mg.blend(t.background,cv(e.cursor,iv)),t.cursorAccent=Mg.blend(t.background,cv(e.cursorAccent,av)),t.selectionBackgroundTransparent=cv(e.selectionBackground,ov),t.selectionBackgroundOpaque=Mg.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=cv(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=Mg.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?cv(e.selectionForeground,Ag):void 0,t.selectionForeground===Ag&&(t.selectionForeground=void 0),Mg.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=Mg.opacity(t.selectionBackgroundTransparent,.3)),Mg.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=Mg.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=cv(e.scrollbarSliderBackground,Mg.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=cv(e.scrollbarSliderHoverBackground,Mg.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=cv(e.scrollbarSliderActiveBackground,Mg.opacity(t.foreground,.5)),t.overviewRulerBorder=cv(e.overviewRulerBorder,yte),t.ansi=tv.slice(),t.ansi[0]=cv(e.black,tv[0]),t.ansi[1]=cv(e.red,tv[1]),t.ansi[2]=cv(e.green,tv[2]),t.ansi[3]=cv(e.yellow,tv[3]),t.ansi[4]=cv(e.blue,tv[4]),t.ansi[5]=cv(e.magenta,tv[5]),t.ansi[6]=cv(e.cyan,tv[6]),t.ansi[7]=cv(e.white,tv[7]),t.ansi[8]=cv(e.brightBlack,tv[8]),t.ansi[9]=cv(e.brightRed,tv[9]),t.ansi[10]=cv(e.brightGreen,tv[10]),t.ansi[11]=cv(e.brightYellow,tv[11]),t.ansi[12]=cv(e.brightBlue,tv[12]),t.ansi[13]=cv(e.brightMagenta,tv[13]),t.ansi[14]=cv(e.brightCyan,tv[14]),t.ansi[15]=cv(e.brightWhite,tv[15]),e.extendedAnsi){let n=Math.min(t.ansi.length-16,e.extendedAnsi.length);for(let r=0;r<n;r++)t.ansi[r+16]=cv(e.extendedAnsi[r],tv[r+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 e=0;e<this._restoreColors.ansi.length;++e)this._colors.ansi[e]=this._restoreColors.ansi[e];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()}}};sv=Af([W(0,lp)],sv);function cv(e,t){if(e!==void 0)try{return Ng.toColor(e)}catch{}return t}var bte=class{constructor(...e){this._entries=new Map;for(let[t,n]of e)this.set(t,n)}set(e,t){let n=this._entries.get(e);return this._entries.set(e,t),n}forEach(e){for(let[t,n]of this._entries.entries())e(t,n)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}},xte=class{constructor(){this._services=new bte,this._services.set(sp,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){let n=ep(e).sort((e,t)=>e.index-t.index),r=[];for(let t of n){let n=this._services.get(t.id);if(!n)throw Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id._id}.`);r.push(n)}let i=n.length>0?n[0].index:t.length;if(t.length!==i)throw Error(`[createInstance] First service dependency of ${e.name} at position ${i+1} conflicts with ${t.length} static arguments`);return new e(...t,...r)}},Ste={trace:0,debug:1,info:2,warn:3,error:4,off:5},Cte=`xterm.js: `,lv=class extends G{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),wte=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=Ste[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)typeof e[t]==`function`&&(e[t]=e[t]())}_log(e,t,n){this._evalLazyOptionalParams(n),e.call(console,(this._optionsService.options.logger?``:Cte)+t,...n)}trace(e,...t){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};lv=Af([W(0,lp)],lv);var wte,uv=class extends G{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new K),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new K),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new K),this.onTrim=this.onTrimEmitter.event,this._array=Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;let t=Array(e);for(let n=0;n<Math.min(e,this.length);n++)t[n]=this._array[this._getCyclicIndex(n)];this._array=t,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let t=this._length;t<e;t++)this._array[t]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,t){this._array[this._getCyclicIndex(e)]=t}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 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,t,...n){if(t){for(let n=e;n<this._length-t;n++)this._array[this._getCyclicIndex(n)]=this._array[this._getCyclicIndex(n+t)];this._length-=t,this.onDeleteEmitter.fire({index:e,amount:t})}for(let t=this._length-1;t>=e;t--)this._array[this._getCyclicIndex(t+n.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;t<n.length;t++)this._array[this._getCyclicIndex(e+t)]=n[t];if(n.length&&this.onInsertEmitter.fire({index:e,amount:n.length}),this._length+n.length>this._maxLength){let e=this._length+n.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=n.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,n){if(!(t<=0)){if(e<0||e>=this._length)throw Error(`start argument out of range`);if(e+n<0)throw Error(`Cannot shift elements in list beyond index 0`);if(n>0){for(let r=t-1;r>=0;r--)this.set(e+r+n,this.get(e+r));let r=e+t+n-this._length;if(r>0)for(this._length+=r;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let r=0;r<t;r++)this.set(e+r+n,this.get(e+r))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}},Y=3,dv=Object.freeze(new Jf),fv=0,pv=2,mv=class e{constructor(e,t,n=!1){this.isWrapped=n,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(e*Y);let r=t||Xf.fromCharData([0,Kf,1,0]);for(let t=0;t<e;++t)this.setCell(t,r);this.length=e}get(e){let t=this._data[e*Y+0],n=t&2097151;return[this._data[e*Y+1],t&2097152?this._combined[e]:n?Hf(n):``,t>>22,t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):n]}set(e,t){this._data[e*Y+1]=t[0],t[1].length>1?(this._combined[e]=t[1],this._data[e*Y+0]=e|2097152|t[2]<<22):this._data[e*Y+0]=t[1].charCodeAt(0)|t[2]<<22}getWidth(e){return this._data[e*Y+0]>>22}hasWidth(e){return this._data[e*Y+0]&12582912}getFg(e){return this._data[e*Y+1]}getBg(e){return this._data[e*Y+2]}hasContent(e){return this._data[e*Y+0]&4194303}getCodePoint(e){let t=this._data[e*Y+0];return t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):t&2097151}isCombined(e){return this._data[e*Y+0]&2097152}getString(e){let t=this._data[e*Y+0];return t&2097152?this._combined[e]:t&2097151?Hf(t&2097151):``}isProtected(e){return this._data[e*Y+2]&536870912}loadCell(e,t){return fv=e*Y,t.content=this._data[fv+0],t.fg=this._data[fv+1],t.bg=this._data[fv+2],t.content&2097152&&(t.combinedData=this._combined[e]),t.bg&268435456&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){t.content&2097152&&(this._combined[e]=t.combinedData),t.bg&268435456&&(this._extendedAttrs[e]=t.extended),this._data[e*Y+0]=t.content,this._data[e*Y+1]=t.fg,this._data[e*Y+2]=t.bg}setCellFromCodepoint(e,t,n,r){r.bg&268435456&&(this._extendedAttrs[e]=r.extended),this._data[e*Y+0]=t|n<<22,this._data[e*Y+1]=r.fg,this._data[e*Y+2]=r.bg}addCodepointToCell(e,t,n){let r=this._data[e*Y+0];r&2097152?this._combined[e]+=Hf(t):r&2097151?(this._combined[e]=Hf(r&2097151)+Hf(t),r&=-2097152,r|=2097152):r=t|1<<22,n&&(r&=-12582913,r|=n<<22),this._data[e*Y+0]=r}insertCells(e,t,n){if(e%=this.length,e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length-e){let r=new Xf;for(let n=this.length-e-t-1;n>=0;--n)this.setCell(e+t+n,this.loadCell(e+n,r));for(let r=0;r<t;++r)this.setCell(e+r,n)}else for(let t=e;t<this.length;++t)this.setCell(t,n);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,n)}deleteCells(e,t,n){if(e%=this.length,t<this.length-e){let r=new Xf;for(let n=0;n<this.length-e-t;++n)this.setCell(e+n,this.loadCell(e+t+n,r));for(let e=this.length-t;e<this.length;++e)this.setCell(e,n)}else for(let t=e;t<this.length;++t)this.setCell(t,n);e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),this.getWidth(e)===0&&!this.hasContent(e)&&this.setCellFromCodepoint(e,0,1,n)}replaceCells(e,t,n,r=!1){if(r){for(e&&this.getWidth(e-1)===2&&!this.isProtected(e-1)&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length&&this.getWidth(t-1)===2&&!this.isProtected(t)&&this.setCellFromCodepoint(t,0,1,n);e<t&&e<this.length;)this.isProtected(e)||this.setCell(e,n),e++;return}for(e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t,0,1,n);e<t&&e<this.length;)this.setCell(e++,n)}resize(e,t){if(e===this.length)return this._data.length*4*pv<this._data.buffer.byteLength;let n=e*Y;if(e>this.length){if(this._data.buffer.byteLength>=n*4)this._data=new Uint32Array(this._data.buffer,0,n);else{let e=new Uint32Array(n);e.set(this._data),this._data=e}for(let n=this.length;n<e;++n)this.setCell(n,t)}else{this._data=this._data.subarray(0,n);let t=Object.keys(this._combined);for(let n=0;n<t.length;n++){let r=parseInt(t[n],10);r>=e&&delete this._combined[r]}let r=Object.keys(this._extendedAttrs);for(let t=0;t<r.length;t++){let n=parseInt(r[t],10);n>=e&&delete this._extendedAttrs[n]}}return this.length=e,n*4*pv<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*pv<this._data.buffer.byteLength){let e=new Uint32Array(this._data.length);return e.set(this._data),this._data=e,1}return 0}fill(e,t=!1){if(t){for(let t=0;t<this.length;++t)this.isProtected(t)||this.setCell(t,e);return}this._combined={},this._extendedAttrs={};for(let t=0;t<this.length;++t)this.setCell(t,e)}copyFrom(e){this.length===e.length?this._data.set(e._data):this._data=new Uint32Array(e._data),this.length=e.length,this._combined={};for(let t in e._combined)this._combined[t]=e._combined[t];this._extendedAttrs={};for(let t in e._extendedAttrs)this._extendedAttrs[t]=e._extendedAttrs[t];this.isWrapped=e.isWrapped}clone(){let t=new e(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 e=this.length-1;e>=0;--e)if(this._data[e*Y+0]&4194303)return e+(this._data[e*Y+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*Y+0]&4194303||this._data[e*Y+2]&50331648)return e+(this._data[e*Y+0]>>22);return 0}copyCellsFrom(e,t,n,r,i){let a=e._data;if(i)for(let i=r-1;i>=0;i--){for(let e=0;e<Y;e++)this._data[(n+i)*Y+e]=a[(t+i)*Y+e];a[(t+i)*Y+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}else for(let i=0;i<r;i++){for(let e=0;e<Y;e++)this._data[(n+i)*Y+e]=a[(t+i)*Y+e];a[(t+i)*Y+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}let o=Object.keys(e._combined);for(let r=0;r<o.length;r++){let i=parseInt(o[r],10);i>=t&&(this._combined[i-t+n]=e._combined[i])}}translateToString(e,t,n,r){t??=0,n??=this.length,e&&(n=Math.min(n,this.getTrimmedLength())),r&&(r.length=0);let i=``;for(;t<n;){let e=this._data[t*Y+0],n=e&2097151,a=e&2097152?this._combined[t]:n?Hf(n):qf;if(i+=a,r)for(let e=0;e<a.length;++e)r.push(t);t+=e>>22||1}return r&&r.push(t),i}};function Tte(e,t,n,r,i,a){let o=[];for(let s=0;s<e.length-1;s++){let c=s,l=e.get(++c);if(!l.isWrapped)continue;let u=[e.get(s)];for(;c<e.length&&l.isWrapped;)u.push(l),l=e.get(++c);if(!a&&r>=s&&r<c){s+=u.length-1;continue}let d=0,f=hv(u,d,t),p=1,m=0;for(;p<u.length;){let e=hv(u,p,t),r=e-m,a=n-f,o=Math.min(r,a);u[d].copyCellsFrom(u[p],m,f,o,!1),f+=o,f===n&&(d++,f=0),m+=o,m===e&&(p++,m=0),f===0&&d!==0&&u[d-1].getWidth(n-1)===2&&(u[d].copyCellsFrom(u[d-1],n-1,f++,1,!1),u[d-1].setCell(n-1,i))}u[d].replaceCells(f,n,i);let h=0;for(let e=u.length-1;e>0&&(e>d||u[e].getTrimmedLength()===0);e--)h++;h>0&&(o.push(s+u.length-h),o.push(h)),s+=u.length-1}return o}function Ete(e,t){let n=[],r=0,i=t[r],a=0;for(let o=0;o<e.length;o++)if(i===o){let n=t[++r];e.onDeleteEmitter.fire({index:o-a,amount:n}),o+=n-1,a+=n,i=t[++r]}else n.push(o);return{layout:n,countRemoved:a}}function Dte(e,t){let n=[];for(let r=0;r<t.length;r++)n.push(e.get(t[r]));for(let t=0;t<n.length;t++)e.set(t,n[t]);e.length=t.length}function Ote(e,t,n){let r=[],i=e.map((n,r)=>hv(e,r,t)).reduce((e,t)=>e+t),a=0,o=0,s=0;for(;s<i;){if(i-s<n){r.push(i-s);break}a+=n;let c=hv(e,o,t);a>c&&(a-=c,o++);let l=e[o].getWidth(a-1)===2;l&&a--;let u=l?n-1:n;r.push(u),s+=u}return r}function hv(e,t,n){if(t===e.length-1)return e[t].getTrimmedLength();let r=!e[t].hasContent(n-1)&&e[t].getWidth(n-1)===1,i=e[t+1].getWidth(0)===2;return r&&i?n-1:n}var gv=class e{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=e._nextId++,this._onDispose=this.register(new K),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),Vp(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};gv._nextId=1;var kte=gv,_v={},vv=_v.B;_v[0]={"`":`◆`,a:`▒`,b:`␉`,c:`␌`,d:`␍`,e:`␊`,f:`°`,g:`±`,h:``,i:`␋`,j:`┘`,k:`┐`,l:`┌`,m:`└`,n:`┼`,o:`⎺`,p:`⎻`,q:`─`,r:`⎼`,s:`⎽`,t:`├`,u:`┤`,v:`┴`,w:`┬`,x:`│`,y:`≤`,z:`≥`,"{":`π`,"|":`≠`,"}":`£`,"~":`·`},_v.A={"#":`£`},_v.B=void 0,_v[4]={"#":`£`,"@":`¾`,"[":`ij`,"\\":`½`,"]":`|`,"{":`¨`,"|":`f`,"}":`¼`,"~":`´`},_v.C=_v[5]={"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},_v.R={"#":`£`,"@":`à`,"[":`°`,"\\":`ç`,"]":`§`,"{":`é`,"|":`ù`,"}":`è`,"~":`¨`},_v.Q={"@":`à`,"[":`â`,"\\":`ç`,"]":`ê`,"^":`î`,"`":`ô`,"{":`é`,"|":`ù`,"}":`è`,"~":`û`},_v.K={"@":`§`,"[":`Ä`,"\\":`Ö`,"]":`Ü`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`ß`},_v.Y={"#":`£`,"@":`§`,"[":`°`,"\\":`ç`,"]":`é`,"`":`ù`,"{":`à`,"|":`ò`,"}":`è`,"~":`ì`},_v.E=_v[6]={"@":`Ä`,"[":`Æ`,"\\":`Ø`,"]":`Å`,"^":`Ü`,"`":`ä`,"{":`æ`,"|":`ø`,"}":`å`,"~":`ü`},_v.Z={"#":`£`,"@":`§`,"[":`¡`,"\\":`Ñ`,"]":`¿`,"{":`°`,"|":`ñ`,"}":`ç`},_v.H=_v[7]={"@":`É`,"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},_v[`=`]={"#":`ù`,"@":`à`,"[":`é`,"\\":`ç`,"]":`ê`,"^":`î`,_:`è`,"`":`ô`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`û`};var yv=4294967295,bv=class{constructor(e,t,n){this._hasScrollback=e,this._optionsService=t,this._bufferService=n,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=dv.clone(),this.savedCharset=vv,this.markers=[],this._nullCell=Xf.fromCharData([0,Kf,1,0]),this._whitespaceCell=Xf.fromCharData([0,qf,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new M_,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new uv(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new Yf),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new Yf),this._whitespaceCell}getBlankLine(e,t){return new mv(this._bufferService.cols,this.getNullCell(e),t)}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(e){if(!this._hasScrollback)return e;let t=e+this._optionsService.rawOptions.scrollback;return t>yv?yv:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=dv);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new uv(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let n=this.getNullCell(dv),r=0,i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols<e)for(let t=0;t<this.lines.length;t++)r+=+this.lines.get(t).resize(e,n);let a=0;if(this._rows<t)for(let r=this._rows;r<t;r++)this.lines.length<t+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new mv(e,n)):this.ybase>0&&this.lines.length<=this.ybase+this.y+a+1?(this.ybase--,a++,this.ydisp>0&&this.ydisp--):this.lines.push(new mv(e,n)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i<this.lines.maxLength){let e=this.lines.length-i;e>0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),a&&(this.y+=a),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;t<this.lines.length;t++)r+=+this.lines.get(t).resize(e,n);this._cols=e,this._rows=t,this._memoryCleanupQueue.clear(),r>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition<this.lines.length;)if(t+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),t>100)return!0;return e}get _isReflowEnabled(){let e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend===`conpty`&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){let n=this._optionsService.rawOptions.reflowCursorLine,r=Tte(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(dv),n);if(r.length>0){let n=Ete(this.lines,r);Dte(this.lines,n.layout),this._reflowLargerAdjustViewport(e,t,n.countRemoved)}}_reflowLargerAdjustViewport(e,t,n){let r=this.getNullCell(dv),i=n;for(;i-->0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new mv(e,r))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-n,0)}_reflowSmaller(e,t){let n=this._optionsService.rawOptions.reflowCursorLine,r=this.getNullCell(dv),i=[],a=0;for(let o=this.lines.length-1;o>=0;o--){let s=this.lines.get(o);if(!s||!s.isWrapped&&s.getTrimmedLength()<=e)continue;let c=[s];for(;s.isWrapped&&o>0;)s=this.lines.get(--o),c.unshift(s);if(!n){let e=this.ybase+this.y;if(e>=o&&e<o+c.length)continue}let l=c[c.length-1].getTrimmedLength(),u=Ote(c,this._cols,e),d=u.length-c.length,f;f=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 e=0;e<d;e++){let e=this.getBlankLine(dv,!0);p.push(e)}p.length>0&&(i.push({start:o+c.length+a,newLines:p}),a+=p.length),c.push(...p);let m=u.length-1,h=u[m];h===0&&(m--,h=u[m]);let g=c.length-d-1,_=l;for(;g>=0;){let e=Math.min(_,h);if(c[m]===void 0)break;c[m].copyCellsFrom(c[g],_-e,h-e,e,!0),h-=e,h===0&&(m--,h=u[m]),_-=e,_===0&&(g--,_=hv(c,Math.max(g,0),this._cols))}for(let t=0;t<c.length;t++)u[t]<e&&c[t].setCell(u[t],r);let v=d-f;for(;v-->0;)this.ybase===0?this.y<t-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+a)-t&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+d,this.ybase+t-1)}if(i.length>0){let e=[],t=[];for(let e=0;e<this.lines.length;e++)t.push(this.lines.get(e));let n=this.lines.length,r=n-1,o=0,s=i[o];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+a);let c=0;for(let l=Math.min(this.lines.maxLength-1,n+a-1);l>=0;l--)if(s&&s.start>r+c){for(let e=s.newLines.length-1;e>=0;e--)this.lines.set(l--,s.newLines[e]);l++,e.push({index:r+1,amount:s.newLines.length}),c+=s.newLines.length,s=i[++o]}else this.lines.set(l,t[r--]);let l=0;for(let t=e.length-1;t>=0;t--)e[t].index+=l,this.lines.onInsertEmitter.fire(e[t]),l+=e[t].amount;let u=Math.max(0,n+a-this.lines.maxLength);u>0&&this.lines.onTrimEmitter.fire(u)}}translateBufferLineToString(e,t,n=0,r){let i=this.lines.get(e);return i?i.translateToString(t,n,r):``}getWrappedRangeForLine(e){let t=e,n=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;n+1<this.lines.length&&this.lines.get(n+1).isWrapped;)n++;return{first:t,last:n}}setupTabStops(e){for(e==null?(this.tabs={},e=0):this.tabs[e]||(e=this.prevStop(e));e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(e??=this.x;!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e??=this.x;!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].line===e&&(this.markers[t].dispose(),this.markers.splice(t--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose();this.markers.length=0,this._isClearing=!1}addMarker(e){let t=new kte(e);return this.markers.push(t),t.register(this.lines.onTrim(e=>{t.line-=e,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(e=>{t.line>=e.index&&(t.line+=e.amount)})),t.register(this.lines.onDelete(e=>{t.line>=e.index&&t.line<e.index+e.amount&&t.dispose(),t.line>e.index&&(t.line-=e.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}},Ate=class extends G{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new K),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 bv(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new bv(!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,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}},xv=2,Sv=1,Cv=class extends G{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new K),this.onResize=this._onResize.event,this._onScroll=this._register(new K),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,xv),this.rows=Math.max(e.rawOptions.rows||0,Sv),this.buffers=this._register(new Ate(e,this)),this._register(this.buffers.onBufferActivate(e=>{this._onScroll.fire(e.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,t){let n=this.cols!==e,r=this.rows!==t;this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t,colsChanged:n,rowsChanged:r})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){let n=this.buffer,r;r=this._cachedBlankLine,(!r||r.length!==this.cols||r.getFg(0)!==e.fg||r.getBg(0)!==e.bg)&&(r=n.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;let i=n.ybase+n.scrollTop,a=n.ybase+n.scrollBottom;if(n.scrollTop===0){let e=n.lines.isFull;a===n.lines.length-1?e?n.lines.recycle().copyFrom(r):n.lines.push(r.clone()):n.lines.splice(a+1,0,r.clone()),e?this.isUserScrolling&&(n.ydisp=Math.max(n.ydisp-1,0)):(n.ybase++,this.isUserScrolling||n.ydisp++)}else{let e=a-i+1;n.lines.shiftElements(i+1,e-1,-1),n.lines.set(a,r.clone())}this.isUserScrolling||(n.ydisp=n.ybase),this._onScroll.fire(n.ydisp)}scrollLines(e,t){let n=this.buffer;if(e<0){if(n.ydisp===0)return;this.isUserScrolling=!0}else e+n.ydisp>=n.ybase&&(this.isUserScrolling=!1);let r=n.ydisp;n.ydisp=Math.max(Math.min(n.ydisp+e,n.ybase),0),r!==n.ydisp&&(t||this._onScroll.fire(n.ydisp))}};Cv=Af([W(0,lp)],Cv);var wv={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:C_,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:` ()[]{}',"\``,altClickMovesCursor:!0,convertEol:!1,termName:`xterm`,cancelEvents:!1,overviewRuler:{}},jte=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],Mte=class extends G{constructor(e){super(),this._onOptionChange=this._register(new K),this.onOptionChange=this._onOptionChange.event;let t={...wv};for(let n in e)if(n in t)try{let r=e[n];t[n]=this._sanitizeAndValidateOption(n,r)}catch(e){console.error(e)}this.rawOptions=t,this.options={...t},this._setupOptions(),this._register(Up(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,t){return this.onOptionChange(n=>{n===e&&t(this.rawOptions[e])})}onMultipleOptionChange(e,t){return this.onOptionChange(n=>{e.indexOf(n)!==-1&&t()})}_setupOptions(){let e=e=>{if(!(e in wv))throw Error(`No option with key "${e}"`);return this.rawOptions[e]},t=(e,t)=>{if(!(e in wv))throw Error(`No option with key "${e}"`);t=this._sanitizeAndValidateOption(e,t),this.rawOptions[e]!==t&&(this.rawOptions[e]=t,this._onOptionChange.fire(e))};for(let n in this.rawOptions){let r={get:e.bind(this,n),set:t.bind(this,n)};Object.defineProperty(this.options,n,r)}}_sanitizeAndValidateOption(e,t){switch(e){case`cursorStyle`:if(t||=wv[e],!Nte(t))throw Error(`"${t}" is not a valid value for ${e}`);break;case`wordSeparator`:t||=wv[e];break;case`fontWeight`:case`fontWeightBold`:if(typeof t==`number`&&1<=t&&t<=1e3)break;t=jte.includes(t)?t:wv[e];break;case`cursorWidth`:t=Math.floor(t);case`lineHeight`:case`tabStopWidth`:if(t<1)throw Error(`${e} cannot be less than 1, value: ${t}`);break;case`minimumContrastRatio`:t=Math.max(1,Math.min(21,Math.round(t*10)/10));break;case`scrollback`:if(t=Math.min(t,4294967295),t<0)throw Error(`${e} cannot be less than 0, value: ${t}`);break;case`fastScrollSensitivity`:case`scrollSensitivity`:if(t<=0)throw Error(`${e} cannot be less than or equal to 0, value: ${t}`);break;case`rows`:case`cols`:if(!t&&t!==0)throw Error(`${e} must be numeric, value: ${t}`);break;case`windowsPty`:t??={}}return t}};function Nte(e){return e===`block`||e===`underline`||e===`bar`}function Tv(e,t=5){if(typeof e!=`object`)return e;let n=Array.isArray(e)?[]:{};for(let r in e)n[r]=t<=1?e[r]:e[r]&&Tv(e[r],t-1);return n}var Ev=Object.freeze({insertMode:!1}),Dv=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),Ov=class extends G{constructor(e,t,n){super(),this._bufferService=e,this._logService=t,this._optionsService=n,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new K),this.onData=this._onData.event,this._onUserInput=this._register(new K),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new K),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new K),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=Tv(Ev),this.decPrivateModes=Tv(Dv)}reset(){this.modes=Tv(Ev),this.decPrivateModes=Tv(Dv)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;let n=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&n.ybase!==n.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`),this._logService.trace(`sending data (codes)`,()=>e.split(``).map(e=>e.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(e=>e.charCodeAt(0))),this._onBinary.fire(e))}};Ov=Af([W(0,rp),W(1,cp),W(2,lp)],Ov);var kv={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>e.button===4||e.action!==1?!1:(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>e.action!==32},DRAG:{events:23,restrict:e=>e.action!==32||e.button!==3},ANY:{events:31,restrict:e=>!0}};function Av(e,t){let n=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return e.button===4?(n|=64,n|=e.action):(n|=e.button&3,e.button&4&&(n|=64),e.button&8&&(n|=128),e.action===32?n|=32:e.action===0&&!t&&(n|=3)),n}var jv=String.fromCharCode,Mv={DEFAULT:e=>{let t=[Av(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?``:`\x1B[M${jv(t[0])}${jv(t[1])}${jv(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${Av(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${Av(e,!0)};${e.x};${e.y}${t}`}},Nv=class extends G{constructor(e,t,n){super(),this._bufferService=e,this._coreService=t,this._optionsService=n,this._protocols={},this._encodings={},this._activeProtocol=``,this._activeEncoding=``,this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new K),this.onProtocolChange=this._onProtocolChange.event;for(let e of Object.keys(kv))this.addProtocol(e,kv[e]);for(let e of Object.keys(Mv))this.addEncoding(e,Mv[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw 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 Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol=`NONE`,this.activeEncoding=`DEFAULT`,this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,t,n){if(e.deltaY===0||e.shiftKey||t===void 0||n===void 0)return 0;let r=t/n,i=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(i/=r+0,Math.abs(e.deltaY)<50&&(i*=.3),this._wheelPartialScroll+=i,i=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(i*=this._bufferService.rows),i}_applyScrollModifier(e,t){return t.altKey||t.ctrlKey||t.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 t=this._encodings[this._activeEncoding](e);return t&&(this._activeEncoding===`DEFAULT`?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!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,t,n){if(n){if(e.x!==t.x||e.y!==t.y)return!1}else if(e.col!==t.col||e.row!==t.row)return!1;return e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift}};Nv=Af([W(0,rp),W(1,ap),W(2,lp)],Nv);var Pv=[[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]],Pte=[[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]],Fv;function Fte(e,t){let n=0,r=t.length-1,i;if(e<t[0][0]||e>t[r][1])return!1;for(;r>=n;)if(i=n+r>>1,e>t[i][1])n=i+1;else if(e<t[i][0])r=i-1;else return!0;return!1}var Ite=class{constructor(){if(this.version=`6`,!Fv){Fv=new Uint8Array(65536),Fv.fill(1),Fv[0]=0,Fv.fill(0,1,32),Fv.fill(0,127,160),Fv.fill(2,4352,4448),Fv[9001]=2,Fv[9002]=2,Fv.fill(2,11904,42192),Fv[12351]=1,Fv.fill(2,44032,55204),Fv.fill(2,63744,64256),Fv.fill(2,65040,65050),Fv.fill(2,65072,65136),Fv.fill(2,65280,65377),Fv.fill(2,65504,65511);for(let e=0;e<Pv.length;++e)Fv.fill(0,Pv[e][0],Pv[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?Fv[e]:Fte(e,Pte)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let n=this.wcwidth(e),r=n===0&&t!==0;if(r){let e=Iv.extractWidth(t);e===0?r=!1:e>n&&(n=e)}return Iv.createPropertyValue(0,n,r)}},Iv=class e{constructor(){this._providers=Object.create(null),this._active=``,this._onChange=new K,this.onChange=this._onChange.event;let e=new Ite;this.register(e),this._active=e.version,this._activeProvider=e}static extractShouldJoin(e){return!!(e&1)}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,t,n=!1){return(e&16777215)<<3|(t&3)<<1|!!n}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(t){let n=0,r=0,i=t.length;for(let a=0;a<i;++a){let o=t.charCodeAt(a);if(55296<=o&&o<=56319){if(++a>=i)return n+this.wcwidth(o);let e=t.charCodeAt(a);56320<=e&&e<=57343?o=(o-55296)*1024+e-56320+65536:n+=this.wcwidth(e)}let s=this.charProperties(o,r),c=e.extractWidth(s);e.extractShouldJoin(s)&&(c-=e.extractWidth(r)),n+=c,r=s}return n}charProperties(e,t){return this._activeProvider.charProperties(e,t)}},Lte=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}};function Lv(e){let t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1)?.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&t&&(n.isWrapped=t[3]!==0&&t[3]!==32)}var Rv=2147483647,Rte=256,zv=class e{constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>Rte)throw Error(`maxSubParamsLength must not be greater than 256`);this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(t){let n=new e;if(!t.length)return n;for(let e=+!!Array.isArray(t[0]);e<t.length;++e){let r=t[e];if(Array.isArray(r))for(let e=0;e<r.length;++e)n.addSubParam(r[e]);else n.addParam(r)}return n}clone(){let t=new e(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 e=[];for(let t=0;t<this.length;++t){e.push(this.params[t]);let n=this._subParamsIdx[t]>>8,r=this._subParamsIdx[t]&255;r-n>0&&e.push(Array.prototype.slice.call(this._subParams,n,r))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>Rv?Rv:e}addSubParam(e){if(this._digitIsSub=!0,this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParams[this._subParamsLength++]=e>Rv?Rv:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(this._subParamsIdx[e]&255)-(this._subParamsIdx[e]>>8)>0}getSubParams(e){let t=this._subParamsIdx[e]>>8,n=this._subParamsIdx[e]&255;return n-t>0?this._subParams.subarray(t,n):null}getSubParamsAll(){let e={};for(let t=0;t<this.length;++t){let n=this._subParamsIdx[t]>>8,r=this._subParamsIdx[t]&255;r-n>0&&(e[t]=this._subParams.slice(n,r))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let n=this._digitIsSub?this._subParams:this.params,r=n[t-1];n[t-1]=~r?Math.min(r*10+e,Rv):e}},Bv=[],zte=class{constructor(){this._state=0,this._active=Bv,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Bv}reset(){if(this._state===2)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=Bv,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||Bv,!this._active.length)this._handlerFb(this._id,`START`);else for(let e=this._active.length-1;e>=0;e--)this._active[e].start()}_put(e,t,n){if(!this._active.length)this._handlerFb(this._id,`PUT`,Uf(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}start(){this.reset(),this._state=1}put(e,t,n){if(this._state!==3){if(this._state===1)for(;t<n;){let n=e[t++];if(n===59){this._state=2,this._start();break}if(n<48||57<n){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+n-48}this._state===2&&n-t>0&&this._put(e,t,n)}}end(e,t=!0){if(this._state!==0){if(this._state!==3){if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,`END`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].end(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].end(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}}this._active=Bv,this._id=-1,this._state=0}}},Vv=class{constructor(e){this._handler=e,this._data=``,this._hitLimit=!1}start(){this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=Uf(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then(e=>(this._data=``,this._hitLimit=!1,e));return this._data=``,this._hitLimit=!1,t}},Hv=[],Bte=class{constructor(){this._handlers=Object.create(null),this._active=Hv,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Hv}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=Hv,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||Hv,!this._active.length)this._handlerFb(this._ident,`HOOK`,t);else for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t)}put(e,t,n){if(!this._active.length)this._handlerFb(this._ident,`PUT`,Uf(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}unhook(e,t=!0){if(!this._active.length)this._handlerFb(this._ident,`UNHOOK`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].unhook(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].unhook(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}this._active=Hv,this._ident=0}},Uv=new zv;Uv.addParam(0);var Wv=class{constructor(e){this._handler=e,this._data=``,this._params=Uv,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():Uv,this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=Uf(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then(e=>(this._params=Uv,this._data=``,this._hitLimit=!1,e));return this._params=Uv,this._data=``,this._hitLimit=!1,t}},Gv=class{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,n,r){this.table[t<<8|e]=n<<4|r}addMany(e,t,n,r){for(let i=0;i<e.length;i++)this.table[t<<8|e[i]]=n<<4|r}},Kv=160,qv=function(){let e=new Gv(4095),t=Array.apply(null,Array(256)).map((e,t)=>t),n=(e,n)=>t.slice(e,n),r=n(32,127),i=n(0,24);i.push(25),i.push.apply(i,n(28,32));let a=n(0,14),o;for(o in e.setDefault(1,0),e.addMany(r,0,2,0),a)e.addMany([24,26,153,154],o,3,0),e.addMany(n(128,144),o,3,0),e.addMany(n(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(i,0,3,0),e.addMany(i,1,3,1),e.add(127,1,0,1),e.addMany(i,8,0,8),e.addMany(i,3,3,3),e.add(127,3,0,3),e.addMany(i,4,3,4),e.add(127,4,0,4),e.addMany(i,6,3,6),e.addMany(i,5,3,5),e.add(127,5,0,5),e.addMany(i,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(r,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(n(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(r,7,0,7),e.addMany(i,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(n(64,127),3,7,0),e.addMany(n(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(n(48,60),4,8,4),e.addMany(n(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(n(32,64),6,0,6),e.add(127,6,0,6),e.addMany(n(64,127),6,0,0),e.addMany(n(32,48),3,9,5),e.addMany(n(32,48),5,9,5),e.addMany(n(48,64),5,0,6),e.addMany(n(64,127),5,7,0),e.addMany(n(32,48),4,9,5),e.addMany(n(32,48),1,9,2),e.addMany(n(32,48),2,9,2),e.addMany(n(48,127),2,10,0),e.addMany(n(48,80),1,10,0),e.addMany(n(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(n(96,127),1,10,0),e.add(80,1,11,9),e.addMany(i,9,0,9),e.add(127,9,0,9),e.addMany(n(28,32),9,0,9),e.addMany(n(32,48),9,9,12),e.addMany(n(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(i,11,0,11),e.addMany(n(32,128),11,0,11),e.addMany(n(28,32),11,0,11),e.addMany(i,10,0,10),e.add(127,10,0,10),e.addMany(n(28,32),10,0,10),e.addMany(n(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(n(32,48),10,9,12),e.addMany(i,12,0,12),e.add(127,12,0,12),e.addMany(n(28,32),12,0,12),e.addMany(n(32,48),12,9,12),e.addMany(n(48,64),12,0,11),e.addMany(n(64,127),12,12,13),e.addMany(n(64,127),10,12,13),e.addMany(n(64,127),9,12,13),e.addMany(i,13,13,13),e.addMany(r,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(Kv,0,2,0),e.add(Kv,8,5,8),e.add(Kv,6,0,6),e.add(Kv,11,0,11),e.add(Kv,13,13,13),e}(),Jv=class extends G{constructor(e=qv){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 zv,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,n)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(Up(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new zte),this._dcsParser=this._register(new Bte),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:`\\`},()=>!0)}_identifier(e,t=[64,126]){let n=0;if(e.prefix){if(e.prefix.length>1)throw Error(`only one byte as prefix supported`);if(n=e.prefix.charCodeAt(0),n&&60>n||n>63)throw Error(`prefix must be in range 0x3c .. 0x3f`)}if(e.intermediates){if(e.intermediates.length>2)throw Error(`only two bytes as intermediates are supported`);for(let t=0;t<e.intermediates.length;++t){let r=e.intermediates.charCodeAt(t);if(32>r||r>47)throw Error(`intermediate must be in range 0x20 .. 0x2f`);n<<=8,n|=r}}if(e.final.length!==1)throw Error(`final must be a single byte`);let r=e.final.charCodeAt(0);if(t[0]>r||r>t[1])throw Error(`final must be in range ${t[0]} .. ${t[1]}`);return n<<=8,n|=r,n}identToString(e){let t=[];for(;e;)t.push(String.fromCharCode(e&255)),e>>=8;return t.reverse().join(``)}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){let n=this._identifier(e,[48,126]);this._escHandlers[n]===void 0&&(this._escHandlers[n]=[]);let r=this._escHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,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,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){let n=this._identifier(e);this._csiHandlers[n]===void 0&&(this._csiHandlers[n]=[]);let r=this._csiHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}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,t,n,r,i){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=n,this._parseStack.transition=r,this._parseStack.chunkPos=i}parse(e,t,n){let r=0,i=0,a=0,o;if(this._parseStack.state){if(this._parseStack.state===2)this._parseStack.state=0,a=this._parseStack.chunkPos+1;else{if(n===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error(`improper continuation due to previous async handler, giving up parsing`);let t=this._parseStack.handlers,i=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](this._params),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 4:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],o=this._dcsParser.unhook(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],o=this._oscParser.end(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,a=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}}for(let n=a;n<t;++n){switch(r=e[n],i=this._transitions.table[this.currentState<<8|(r<160?r:Kv)],i>>4){case 2:for(let i=n+1;;++i){if(i>=t||(r=e[i])<32||r>126&&r<Kv){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<Kv){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<Kv){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<Kv){this._printHandler(e,n,i),n=i-1;break}}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:n,code:r,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let a=this._csiHandlers[this._collect<<8|r],s=a?a.length-1:-1;for(;s>=0&&(o=a[s](this._params),o!==!0);s--)if(o instanceof Promise)return this._preserveStack(3,a,s,i,n),o;s<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingJoinState=0;break;case 8:do switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}while(++n<t&&(r=e[n])>47&&r<60);n--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:let c=this._escHandlers[this._collect<<8|r],l=c?c.length-1:-1;for(;l>=0&&(o=c[l](),o!==!0);l--)if(o instanceof Promise)return this._preserveStack(4,c,l,i,n),o;l<0&&this._escHandlerFb(this._collect<<8|r),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|r,this._params);break;case 13:for(let i=n+1;;++i)if(i>=t||(r=e[i])===24||r===26||r===27||r>127&&r<Kv){this._dcsParser.put(e,n,i),n=i-1;break}break;case 14:if(o=this._dcsParser.unhook(r!==24&&r!==26),o)return this._preserveStack(6,[],0,i,n),o;r===27&&(i|=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 i=n+1;;i++)if(i>=t||(r=e[i])<32||r>127&&r<Kv){this._oscParser.put(e,n,i),n=i-1;break}break;case 6:if(o=this._oscParser.end(r!==24&&r!==26),o)return this._preserveStack(5,[],0,i,n),o;r===27&&(i|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=i&15}}},Yv=/^([\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})$/,Xv=/^[\da-f]+$/;function Zv(e){if(!e)return;let t=e.toLowerCase();if(t.indexOf(`rgb:`)===0){t=t.slice(4);let e=Yv.exec(t);if(e){let t=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/t*255)]}}else if(t.indexOf(`#`)===0&&(t=t.slice(1),Xv.exec(t)&&[3,6,9,12].includes(t.length))){let e=t.length/3,n=[0,0,0];for(let r=0;r<3;++r){let i=parseInt(t.slice(e*r,e*r+e),16);n[r]=e===1?i<<4:e===2?i:e===3?i>>4:i>>8}return n}}function Qv(e,t){let n=e.toString(16),r=n.length<2?`0`+n:n;switch(t){case 4:return n[0];case 8:return r;case 12:return(r+r).slice(0,3);default:return r+r}}function Vte(e,t=16){let[n,r,i]=e;return`rgb:${Qv(n,t)}/${Qv(r,t)}/${Qv(i,t)}`}var $v={"(":0,")":1,"*":2,"+":3,"-":1,".":2},ey=131072,ty=10;function ny(e,t){if(e>24)return t.setWinLines||!1;switch(e){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 ry=5e3,iy=0,ay=class extends G{constructor(e,t,n,r,i,a,o,s,c=new Jv){super(),this._bufferService=e,this._charsetService=t,this._coreService=n,this._logService=r,this._optionsService=i,this._oscLinkService=a,this._coreMouseService=o,this._unicodeService=s,this._parser=c,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new Wf,this._utf8Decoder=new Gf,this._windowTitle=``,this._iconName=``,this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=dv.clone(),this._eraseAttrDataInternal=dv.clone(),this._onRequestBell=this._register(new K),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new K),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new K),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new K),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new K),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new K),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new K),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new K),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new K),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new K),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new K),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new K),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new K),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 oy(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(e=>this._activeBuffer=e.activeBuffer)),this._parser.setCsiHandlerFallback((e,t)=>{this._logService.debug(`Unknown CSI code: `,{identifier:this._parser.identToString(e),params:t.toArray()})}),this._parser.setEscHandlerFallback(e=>{this._logService.debug(`Unknown ESC code: `,{identifier:this._parser.identToString(e)})}),this._parser.setExecuteHandlerFallback(e=>{this._logService.debug(`Unknown EXECUTE code: `,{code:e})}),this._parser.setOscHandlerFallback((e,t,n)=>{this._logService.debug(`Unknown OSC code: `,{identifier:e,action:t,data:n})}),this._parser.setDcsHandlerFallback((e,t,n)=>{t===`HOOK`&&(n=n.toArray()),this._logService.debug(`Unknown DCS code: `,{identifier:this._parser.identToString(e),action:t,payload:n})}),this._parser.setPrintHandler((e,t,n)=>this.print(e,t,n)),this._parser.registerCsiHandler({final:`@`},e=>this.insertChars(e)),this._parser.registerCsiHandler({intermediates:` `,final:`@`},e=>this.scrollLeft(e)),this._parser.registerCsiHandler({final:`A`},e=>this.cursorUp(e)),this._parser.registerCsiHandler({intermediates:` `,final:`A`},e=>this.scrollRight(e)),this._parser.registerCsiHandler({final:`B`},e=>this.cursorDown(e)),this._parser.registerCsiHandler({final:`C`},e=>this.cursorForward(e)),this._parser.registerCsiHandler({final:`D`},e=>this.cursorBackward(e)),this._parser.registerCsiHandler({final:`E`},e=>this.cursorNextLine(e)),this._parser.registerCsiHandler({final:`F`},e=>this.cursorPrecedingLine(e)),this._parser.registerCsiHandler({final:`G`},e=>this.cursorCharAbsolute(e)),this._parser.registerCsiHandler({final:`H`},e=>this.cursorPosition(e)),this._parser.registerCsiHandler({final:`I`},e=>this.cursorForwardTab(e)),this._parser.registerCsiHandler({final:`J`},e=>this.eraseInDisplay(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`J`},e=>this.eraseInDisplay(e,!0)),this._parser.registerCsiHandler({final:`K`},e=>this.eraseInLine(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`K`},e=>this.eraseInLine(e,!0)),this._parser.registerCsiHandler({final:`L`},e=>this.insertLines(e)),this._parser.registerCsiHandler({final:`M`},e=>this.deleteLines(e)),this._parser.registerCsiHandler({final:`P`},e=>this.deleteChars(e)),this._parser.registerCsiHandler({final:`S`},e=>this.scrollUp(e)),this._parser.registerCsiHandler({final:`T`},e=>this.scrollDown(e)),this._parser.registerCsiHandler({final:`X`},e=>this.eraseChars(e)),this._parser.registerCsiHandler({final:`Z`},e=>this.cursorBackwardTab(e)),this._parser.registerCsiHandler({final:"`"},e=>this.charPosAbsolute(e)),this._parser.registerCsiHandler({final:`a`},e=>this.hPositionRelative(e)),this._parser.registerCsiHandler({final:`b`},e=>this.repeatPrecedingCharacter(e)),this._parser.registerCsiHandler({final:`c`},e=>this.sendDeviceAttributesPrimary(e)),this._parser.registerCsiHandler({prefix:`>`,final:`c`},e=>this.sendDeviceAttributesSecondary(e)),this._parser.registerCsiHandler({final:`d`},e=>this.linePosAbsolute(e)),this._parser.registerCsiHandler({final:`e`},e=>this.vPositionRelative(e)),this._parser.registerCsiHandler({final:`f`},e=>this.hVPosition(e)),this._parser.registerCsiHandler({final:`g`},e=>this.tabClear(e)),this._parser.registerCsiHandler({final:`h`},e=>this.setMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`h`},e=>this.setModePrivate(e)),this._parser.registerCsiHandler({final:`l`},e=>this.resetMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`l`},e=>this.resetModePrivate(e)),this._parser.registerCsiHandler({final:`m`},e=>this.charAttributes(e)),this._parser.registerCsiHandler({final:`n`},e=>this.deviceStatus(e)),this._parser.registerCsiHandler({prefix:`?`,final:`n`},e=>this.deviceStatusPrivate(e)),this._parser.registerCsiHandler({intermediates:`!`,final:`p`},e=>this.softReset(e)),this._parser.registerCsiHandler({intermediates:` `,final:`q`},e=>this.setCursorStyle(e)),this._parser.registerCsiHandler({final:`r`},e=>this.setScrollRegion(e)),this._parser.registerCsiHandler({final:`s`},e=>this.saveCursor(e)),this._parser.registerCsiHandler({final:`t`},e=>this.windowOptions(e)),this._parser.registerCsiHandler({final:`u`},e=>this.restoreCursor(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`}`},e=>this.insertColumns(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`~`},e=>this.deleteColumns(e)),this._parser.registerCsiHandler({intermediates:`"`,final:`q`},e=>this.selectProtected(e)),this._parser.registerCsiHandler({intermediates:`$`,final:`p`},e=>this.requestMode(e,!0)),this._parser.registerCsiHandler({prefix:`?`,intermediates:`$`,final:`p`},e=>this.requestMode(e,!1)),this._parser.setExecuteHandler(J.BEL,()=>this.bell()),this._parser.setExecuteHandler(J.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(J.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(J.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(J.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(J.BS,()=>this.backspace()),this._parser.setExecuteHandler(J.HT,()=>this.tab()),this._parser.setExecuteHandler(J.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(J.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(Cg.IND,()=>this.index()),this._parser.setExecuteHandler(Cg.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(Cg.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new Vv(e=>(this.setTitle(e),this.setIconName(e),!0))),this._parser.registerOscHandler(1,new Vv(e=>this.setIconName(e))),this._parser.registerOscHandler(2,new Vv(e=>this.setTitle(e))),this._parser.registerOscHandler(4,new Vv(e=>this.setOrReportIndexedColor(e))),this._parser.registerOscHandler(8,new Vv(e=>this.setHyperlink(e))),this._parser.registerOscHandler(10,new Vv(e=>this.setOrReportFgColor(e))),this._parser.registerOscHandler(11,new Vv(e=>this.setOrReportBgColor(e))),this._parser.registerOscHandler(12,new Vv(e=>this.setOrReportCursorColor(e))),this._parser.registerOscHandler(104,new Vv(e=>this.restoreIndexedColor(e))),this._parser.registerOscHandler(110,new Vv(e=>this.restoreFgColor(e))),this._parser.registerOscHandler(111,new Vv(e=>this.restoreBgColor(e))),this._parser.registerOscHandler(112,new Vv(e=>this.restoreCursorColor(e))),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 e in _v)this._parser.registerEscHandler({intermediates:`(`,final:e},()=>this.selectCharset(`(`+e)),this._parser.registerEscHandler({intermediates:`)`,final:e},()=>this.selectCharset(`)`+e)),this._parser.registerEscHandler({intermediates:`*`,final:e},()=>this.selectCharset(`*`+e)),this._parser.registerEscHandler({intermediates:`+`,final:e},()=>this.selectCharset(`+`+e)),this._parser.registerEscHandler({intermediates:`-`,final:e},()=>this.selectCharset(`-`+e)),this._parser.registerEscHandler({intermediates:`.`,final:e},()=>this.selectCharset(`.`+e)),this._parser.registerEscHandler({intermediates:`/`,final:e},()=>this.selectCharset(`/`+e));this._parser.registerEscHandler({intermediates:`#`,final:`8`},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(e=>(this._logService.error(`Parsing error: `,e),e)),this._parser.registerDcsHandler({intermediates:`$`,final:`q`},new Wv((e,t)=>this.requestStatusString(e,t)))}getAttrData(){return this._curAttrData}_preserveStack(e,t,n,r){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=n,this._parseStack.position=r}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((e,t)=>setTimeout(()=>t(`#SLOW_TIMEOUT`),ry))]).catch(e=>{if(e!==`#SLOW_TIMEOUT`)throw e;console.warn(`async parser handler taking longer than ${ry} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let n,r=this._activeBuffer.x,i=this._activeBuffer.y,a=0,o=this._parseStack.paused;if(o){if(n=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(n),n;r=this._parseStack.cursorStartX,i=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>ey&&(a=this._parseStack.position+ey)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e==`string`?` "${e}"`:` "${Array.prototype.map.call(e,e=>String.fromCharCode(e)).join(``)}"`}`),this._logService.logLevel===0&&this._logService.trace(`parsing data (codes)`,typeof e==`string`?e.split(``).map(e=>e.charCodeAt(0)):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<ey&&(this._parseBuffer=new Uint32Array(Math.min(e.length,ey))),o||this._dirtyRowTracker.clearRange(),e.length>ey)for(let t=a;t<e.length;t+=ey){let a=t+ey<e.length?t+ey:e.length,o=typeof e==`string`?this._stringDecoder.decode(e.substring(t,a),this._parseBuffer):this._utf8Decoder.decode(e.subarray(t,a),this._parseBuffer);if(n=this._parser.parse(this._parseBuffer,o))return this._preserveStack(r,i,o,t),this._logSlowResolvingAsync(n),n}else if(!o){let t=typeof e==`string`?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(n=this._parser.parse(this._parseBuffer,t))return this._preserveStack(r,i,t,0),this._logSlowResolvingAsync(n),n}(this._activeBuffer.x!==r||this._activeBuffer.y!==i)&&this._onCursorMove.fire();let s=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),c=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);c<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(c,this._bufferService.rows-1),end:Math.min(s,this._bufferService.rows-1)})}print(e,t,n){let r,i,a=this._charsetService.charset,o=this._optionsService.rawOptions.screenReaderMode,s=this._bufferService.cols,c=this._coreService.decPrivateModes.wraparound,l=this._coreService.modes.insertMode,u=this._curAttrData,d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&n-t>0&&d.getWidth(this._activeBuffer.x-1)===2&&d.setCellFromCodepoint(this._activeBuffer.x-1,0,1,u);let f=this._parser.precedingJoinState;for(let p=t;p<n;++p){if(r=e[p],r<127&&a){let e=a[String.fromCharCode(r)];e&&(r=e.charCodeAt(0))}let t=this._unicodeService.charProperties(r,f);i=Iv.extractWidth(t);let n=Iv.extractShouldJoin(t),m=n?Iv.extractWidth(f):0;if(f=t,o&&this._onA11yChar.fire(Hf(r)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+i-m>s){if(c){let e=d,t=this._activeBuffer.x-m;for(this._activeBuffer.x=m,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),d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),m>0&&d instanceof mv&&d.copyCellsFrom(e,t,0,m,!1);t<s;)e.setCellFromCodepoint(t++,0,1,u)}else if(this._activeBuffer.x=s-1,i===2)continue}if(n&&this._activeBuffer.x){let e=d.getWidth(this._activeBuffer.x-1)?1:2;d.addCodepointToCell(this._activeBuffer.x-e,r,i);for(let e=i-m;--e>=0;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u);continue}if(l&&(d.insertCells(this._activeBuffer.x,i-m,this._activeBuffer.getNullCell(u)),d.getWidth(s-1)===2&&d.setCellFromCodepoint(s-1,0,1,u)),d.setCellFromCodepoint(this._activeBuffer.x++,r,i,u),i>0)for(;--i;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}this._parser.precedingJoinState=f,this._activeBuffer.x<s&&n-t>0&&d.getWidth(this._activeBuffer.x)===0&&!d.hasContent(this._activeBuffer.x)&&d.setCellFromCodepoint(this._activeBuffer.x,0,1,u),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return e.final===`t`&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,e=>!ny(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new Wv(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new Vv(t))}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,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){let t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,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 t=e.params[0];return t===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:t===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let t=e.params[0];return t===1&&(this._curAttrData.bg|=536870912),(t===2||t===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,n,r=!1,i=!1){let a=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);a.replaceCells(t,n,this._activeBuffer.getNullCell(this._eraseAttrData()),i),r&&(a.isWrapped=!1)}_resetBufferLine(e,t=!1){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n&&(n.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),n.isWrapped=!1)}eraseInDisplay(e,t=!1){this._restrictCursor(this._bufferService.cols);let n;switch(e.params[0]){case 0:for(n=this._activeBuffer.y,this._dirtyRowTracker.markDirty(n),this._eraseInBufferLine(n++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);n<this._bufferService.rows;n++)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(n);break;case 1:for(n=this._activeBuffer.y,this._dirtyRowTracker.markDirty(n),this._eraseInBufferLine(n,0,this._activeBuffer.x+1,!0,t),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(n+1).isWrapped=!1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(n=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,n-1);n--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+n)?.getTrimmedLength(););for(;n>=0;n--)this._bufferService.scroll(this._eraseAttrData())}else{for(n=this._bufferService.rows,this._dirtyRowTracker.markDirty(n-1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0)}break;case 3:let e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0))}return!0}eraseInLine(e,t=!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,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let n=this._activeBuffer.ybase+this._activeBuffer.y,r=this._bufferService.rows-1-this._activeBuffer.scrollBottom,i=this._bufferService.rows-1+this._activeBuffer.ybase-r+1;for(;t--;)this._activeBuffer.lines.splice(i-1,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}deleteLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let n=this._activeBuffer.ybase+this._activeBuffer.y,r;for(r=this._bufferService.rows-1-this._activeBuffer.scrollBottom,r=this._bufferService.rows-1+this._activeBuffer.ybase-r;t--;)this._activeBuffer.lines.splice(n,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}insertChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.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 t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let t=e.params[0]||1;for(;t--;)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 t=e.params[0]||1;for(;t--;)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(dv));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 t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.deleteCells(0,t,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 t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.insertCells(0,t,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 t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.insertCells(this._activeBuffer.x,t,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 t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.deleteCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.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 t=this._parser.precedingJoinState;if(!t)return!0;let n=e.params[0]||1,r=Iv.extractWidth(t),i=this._activeBuffer.x-r,a=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(i),o=new Uint32Array(a.length*n),s=0;for(let e=0;e<a.length;){let t=a.codePointAt(e)||0;o[s++]=t,e+=t>65535?2:1}let c=s;for(let e=1;e<n;++e)o.copyWithin(c,0,s),c+=s;return this.print(o,0,c),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is(`xterm`)||this._is(`rxvt-unicode`)||this._is(`screen`)?this._coreService.triggerDataEvent(J.ESC+`[?1;2c`):this._is(`linux`)&&this._coreService.triggerDataEvent(J.ESC+`[?6c`)),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(`xterm`)?this._coreService.triggerDataEvent(J.ESC+`[>0;276;0c`):this._is(`rxvt-unicode`)?this._coreService.triggerDataEvent(J.ESC+`[>85;95;0c`):this._is(`linux`)?this._coreService.triggerDataEvent(e.params[0]+`c`):this._is(`screen`)&&this._coreService.triggerDataEvent(J.ESC+`[>83;40003;0c`)),!0}_is(e){return(this._optionsService.rawOptions.termName+``).indexOf(e)===0}setMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,vv),this._charsetService.setgCharset(1,vv),this._charsetService.setgCharset(2,vv),this._charsetService.setgCharset(3,vv);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}return!0}resetMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){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[t]===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)}return!0}requestMode(e,t){let n;(e=>(e[e.NOT_RECOGNIZED=0]=`NOT_RECOGNIZED`,e[e.SET=1]=`SET`,e[e.RESET=2]=`RESET`,e[e.PERMANENTLY_SET=3]=`PERMANENTLY_SET`,e[e.PERMANENTLY_RESET=4]=`PERMANENTLY_RESET`))(n||={});let r=this._coreService.decPrivateModes,{activeProtocol:i,activeEncoding:a}=this._coreMouseService,o=this._coreService,{buffers:s,cols:c}=this._bufferService,{active:l,alt:u}=s,d=this._optionsService.rawOptions,f=(e,n)=>(o.triggerDataEvent(`${J.ESC}[${t?``:`?`}${e};${n}$y`),!0),p=e=>e?1:2,m=e.params[0];return t?m===2?f(m,4):m===4?f(m,p(o.modes.insertMode)):m===12?f(m,3):m===20?f(m,p(d.convertEol)):f(m,0):m===1?f(m,p(r.applicationCursorKeys)):m===3?f(m,d.windowOptions.setWinLines?c===80?2:+(c===132):0):m===6?f(m,p(r.origin)):m===7?f(m,p(r.wraparound)):m===8?f(m,3):m===9?f(m,p(i===`X10`)):m===12?f(m,p(d.cursorBlink)):m===25?f(m,p(!o.isCursorHidden)):m===45?f(m,p(r.reverseWraparound)):m===66?f(m,p(r.applicationKeypad)):m===67?f(m,4):m===1e3?f(m,p(i===`VT200`)):m===1002?f(m,p(i===`DRAG`)):m===1003?f(m,p(i===`ANY`)):m===1004?f(m,p(r.sendFocus)):m===1005?f(m,4):m===1006?f(m,p(a===`SGR`)):m===1015?f(m,4):m===1016?f(m,p(a===`SGR_PIXELS`)):m===1048?f(m,1):m===47||m===1047||m===1049?f(m,p(l===u)):m===2004?f(m,p(r.bracketedPasteMode)):m===2026?f(m,p(r.synchronizedOutput)):f(m,0)}_updateAttrColor(e,t,n,r,i){return t===2?(e|=50331648,e&=-16777216,e|=Jf.fromColorRGB([n,r,i])):t===5&&(e&=-50331904,e|=33554432|n&255),e}_extractColor(e,t,n){let r=[0,0,-1,0,0,0],i=0,a=0;do{if(r[a+i]=e.params[t+a],e.hasSubParams(t+a)){let n=e.getSubParams(t+a),o=0;do r[1]===5&&(i=1),r[a+o+1+i]=n[o];while(++o<n.length&&o+a+1+i<r.length);break}if(r[1]===5&&a+i>=2||r[1]===2&&a+i>=5)break;r[1]&&(i=1)}while(++a+t<e.length&&a+i<r.length);for(let e=2;e<r.length;++e)r[e]===-1&&(r[e]=0);switch(r[0]){case 38:n.fg=this._updateAttrColor(n.fg,r[1],r[3],r[4],r[5]);break;case 48:n.bg=this._updateAttrColor(n.bg,r[1],r[3],r[4],r[5]);break;case 58:n.extended=n.extended.clone(),n.extended.underlineColor=this._updateAttrColor(n.extended.underlineColor,r[1],r[3],r[4],r[5])}return a}_processUnderline(e,t){t.extended=t.extended.clone(),(!~e||e>5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,e===0&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=dv.fg,e.bg=dv.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 t=e.length,n,r=this._curAttrData;for(let i=0;i<t;i++)n=e.params[i],n>=30&&n<=37?(r.fg&=-50331904,r.fg|=16777216|n-30):n>=40&&n<=47?(r.bg&=-50331904,r.bg|=16777216|n-40):n>=90&&n<=97?(r.fg&=-50331904,r.fg|=n-90|16777224):n>=100&&n<=107?(r.bg&=-50331904,r.bg|=n-100|16777224):n===0?this._processSGR0(r):n===1?r.fg|=134217728:n===3?r.bg|=67108864:n===4?(r.fg|=268435456,this._processUnderline(e.hasSubParams(i)?e.getSubParams(i)[0]:1,r)):n===5?r.fg|=536870912:n===7?r.fg|=67108864:n===8?r.fg|=1073741824:n===9?r.fg|=2147483648:n===2?r.bg|=134217728:n===21?this._processUnderline(2,r):n===22?(r.fg&=-134217729,r.bg&=-134217729):n===23?r.bg&=-67108865:n===24?(r.fg&=-268435457,this._processUnderline(0,r)):n===25?r.fg&=-536870913:n===27?r.fg&=-67108865:n===28?r.fg&=-1073741825:n===29?r.fg&=2147483647:n===39?(r.fg&=-67108864,r.fg|=dv.fg&16777215):n===49?(r.bg&=-67108864,r.bg|=dv.bg&16777215):n===38||n===48||n===58?i+=this._extractColor(e,i,r):n===53?r.bg|=1073741824:n===55?r.bg&=-1073741825:n===59?(r.extended=r.extended.clone(),r.extended.underlineColor=-1,r.updateExtended()):n===100?(r.fg&=-67108864,r.fg|=dv.fg&16777215,r.bg&=-67108864,r.bg|=dv.bg&16777215):this._logService.debug(`Unknown SGR attribute: %d.`,n);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${J.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${J.ESC}[${e};${t}R`)}return!0}deviceStatusPrivate(e){if(e.params[0]===6){let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${J.ESC}[?${e};${t}R`)}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=dv.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 t=e.length===0?1:e.params[0];if(t===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(t){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`}let e=t%2==1;this._coreService.decPrivateModes.cursorBlink=e}return!0}setScrollRegion(e){let t=e.params[0]||1,n;return(e.length<2||(n=e.params[1])>this._bufferService.rows||n===0)&&(n=this._bufferService.rows),n>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=n-1,this._setCursor(0,0)),!0}windowOptions(e){if(!ny(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:t!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${J.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>ty&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>ty&&this._iconNameStack.shift());break;case 23:(t===0||t===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(t===0||t===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}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 t=[],n=e.split(`;`);for(;n.length>1;){let e=n.shift(),r=n.shift();if(/^\d+$/.exec(e)){let n=parseInt(e);if(sy(n)){if(r===`?`)t.push({type:0,index:n});else{let e=Zv(r);e&&t.push({type:1,index:n,color:e})}}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){let t=e.indexOf(`;`);if(t===-1)return!0;let n=e.slice(0,t).trim(),r=e.slice(t+1);return r?this._createHyperlink(n,r):!n.trim()&&this._finishHyperlink()}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();let n=e.split(`:`),r,i=n.findIndex(e=>e.startsWith(`id=`));return i!==-1&&(r=n[i].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:r,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){let n=e.split(`;`);for(let e=0;e<n.length&&!(t>=this._specialColors.length);++e,++t)if(n[e]===`?`)this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{let r=Zv(n[e]);r&&this._onColor.fire([{type:1,index:this._specialColors[t],color:r}])}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 t=[],n=e.split(`;`);for(let e=0;e<n.length;++e)if(/^\d+$/.exec(n[e])){let r=parseInt(n[e]);sy(r)&&t.push({type:2,index:r})}return t.length&&this._onColor.fire(t),!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,vv),!0}selectCharset(e){return e.length===2?(e[0]===`/`||this._charsetService.setgCharset($v[e[0]],_v[e[1]]||vv),!0):(this.selectDefaultCharset(),!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=dv.clone(),this._eraseAttrDataInternal=dv.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 Xf;e.content=4194373,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t<this._bufferService.rows;++t){let n=this._activeBuffer.ybase+this._activeBuffer.y+t,r=this._activeBuffer.lines.get(n);r&&(r.fill(e),r.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,t){let n=e=>(this._coreService.triggerDataEvent(`${J.ESC}${e}${J.ESC}\\`),!0),r=this._bufferService.buffer,i=this._optionsService.rawOptions;return n(e===`"q`?`P1$r${+!!this._curAttrData.isProtected()}"q`:e===`"p`?`P1$r61;1"p`:e===`r`?`P1$r${r.scrollTop+1};${r.scrollBottom+1}r`:e===`m`?`P1$r0m`:e===` q`?`P1$r${{block:2,underline:4,bar:6}[i.cursorStyle]-+!!i.cursorBlink} q`:`P0$r`)}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}},oy=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){e<this.start?this.start=e:e>this.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(iy=e,e=t,t=iy),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};oy=Af([W(0,rp)],oy);function sy(e){return 0<=e&&e<256}var Hte=5e7,cy=12,Ute=50,Wte=class extends G{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 K),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(t!==void 0&&this._syncCalls>t){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 n;for(;n=this._writeBuffer.shift();){this._action(n);let e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>Hte)throw 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(t),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){let n=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let e=this._writeBuffer[this._bufferOffset],r=this._action(e,t);if(r){r.catch(e=>(queueMicrotask(()=>{throw e}),Promise.resolve(!1))).then(e=>performance.now()-n>=cy?setTimeout(()=>this._innerWrite(0,e)):this._innerWrite(n,e));return}let i=this._callbacks[this._bufferOffset];if(i&&i(),this._bufferOffset++,this._pendingData-=e.length,performance.now()-n>=cy)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>Ute&&(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()}},ly=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){let t=this._bufferService.buffer;if(e.id===void 0){let n=t.addMarker(t.ybase+t.y),r={data:e,id:this._nextId++,lines:[n]};return n.onDispose(()=>this._removeMarkerFromLink(r,n)),this._dataByLinkId.set(r.id,r),r.id}let n=e,r=this._getEntryIdKey(n),i=this._entriesWithId.get(r);if(i)return this.addLineToLink(i.id,t.ybase+t.y),i.id;let a=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(n),data:n,lines:[a]};return a.onDispose(()=>this._removeMarkerFromLink(o,a)),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){let n=this._dataByLinkId.get(e);if(n&&n.lines.every(e=>e.line!==t)){let e=this._bufferService.buffer.addMarker(t);n.lines.push(e),e.onDispose(()=>this._removeMarkerFromLink(n,e))}}getLinkData(e){return this._dataByLinkId.get(e)?.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){let n=e.lines.indexOf(t);n!==-1&&(e.lines.splice(n,1),e.lines.length===0&&(e.data.id!==void 0&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};ly=Af([W(0,rp)],ly);var uy=!1,dy=class extends G{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new Kp),this._onBinary=this._register(new K),this.onBinary=this._onBinary.event,this._onData=this._register(new K),this.onData=this._onData.event,this._onLineFeed=this._register(new K),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new K),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new K),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new K),this._instantiationService=new xte,this.optionsService=this._register(new Mte(e)),this._instantiationService.setService(lp,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(Cv)),this._instantiationService.setService(rp,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(lv)),this._instantiationService.setService(cp,this._logService),this.coreService=this._register(this._instantiationService.createInstance(Ov)),this._instantiationService.setService(ap,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(Nv)),this._instantiationService.setService(ip,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(Iv)),this._instantiationService.setService(dp,this.unicodeService),this._charsetService=this._instantiationService.createInstance(Lte),this._instantiationService.setService(op,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(ly),this._instantiationService.setService(up,this._oscLinkService),this._inputHandler=this._register(new ay(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register($p.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register($p.forward(this._bufferService.onResize,this._onResize)),this._register($p.forward(this.coreService.onData,this._onData)),this._register($p.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 Wte((e,t)=>this._inputHandler.parse(e,t))),this._register($p.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new K),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 t in e)this.optionsService.options[t]=e[t]}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=3&&!uy&&(this._logService.warn(`writeSync is unreliable and will be removed soon.`),uy=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,xv),t=Math.max(t,Sv),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t){this._bufferService.scrollLines(e,t)}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 t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,t=this.optionsService.rawOptions.windowsPty;t&&t.buildNumber!==void 0&&t.buildNumber!==void 0?e=t.backend===`conpty`&&t.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(Lv.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:`H`},()=>(Lv(this._bufferService),!1))),this._windowsWrappingHeuristics.value=Up(()=>{for(let t of e)t.dispose()})}}},fy={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 py(e,t,n,r){let i={type:0,cancel:!1,key:void 0},a=+!!e.shiftKey|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:e.key===`UIKeyInputUpArrow`?i.key=t?J.ESC+`OA`:J.ESC+`[A`:e.key===`UIKeyInputLeftArrow`?i.key=t?J.ESC+`OD`:J.ESC+`[D`:e.key===`UIKeyInputRightArrow`?i.key=t?J.ESC+`OC`:J.ESC+`[C`:e.key===`UIKeyInputDownArrow`&&(i.key=t?J.ESC+`OB`:J.ESC+`[B`);break;case 8:i.key=e.ctrlKey?`\b`:J.DEL,e.altKey&&(i.key=J.ESC+i.key);break;case 9:if(e.shiftKey){i.key=J.ESC+`[Z`;break}i.key=J.HT,i.cancel=!0;break;case 13:i.key=e.altKey?J.ESC+J.CR:J.CR,i.cancel=!0;break;case 27:i.key=J.ESC,e.altKey&&(i.key=J.ESC+J.ESC),i.cancel=!0;break;case 37:if(e.metaKey)break;i.key=a?J.ESC+`[1;`+(a+1)+`D`:t?J.ESC+`OD`:J.ESC+`[D`;break;case 39:if(e.metaKey)break;i.key=a?J.ESC+`[1;`+(a+1)+`C`:t?J.ESC+`OC`:J.ESC+`[C`;break;case 38:if(e.metaKey)break;i.key=a?J.ESC+`[1;`+(a+1)+`A`:t?J.ESC+`OA`:J.ESC+`[A`;break;case 40:if(e.metaKey)break;i.key=a?J.ESC+`[1;`+(a+1)+`B`:t?J.ESC+`OB`:J.ESC+`[B`;break;case 45:!e.shiftKey&&!e.ctrlKey&&(i.key=J.ESC+`[2~`);break;case 46:i.key=a?J.ESC+`[3;`+(a+1)+`~`:J.ESC+`[3~`;break;case 36:i.key=a?J.ESC+`[1;`+(a+1)+`H`:t?J.ESC+`OH`:J.ESC+`[H`;break;case 35:i.key=a?J.ESC+`[1;`+(a+1)+`F`:t?J.ESC+`OF`:J.ESC+`[F`;break;case 33:e.shiftKey?i.type=2:i.key=e.ctrlKey?J.ESC+`[5;`+(a+1)+`~`:J.ESC+`[5~`;break;case 34:e.shiftKey?i.type=3:i.key=e.ctrlKey?J.ESC+`[6;`+(a+1)+`~`:J.ESC+`[6~`;break;case 112:i.key=a?J.ESC+`[1;`+(a+1)+`P`:J.ESC+`OP`;break;case 113:i.key=a?J.ESC+`[1;`+(a+1)+`Q`:J.ESC+`OQ`;break;case 114:i.key=a?J.ESC+`[1;`+(a+1)+`R`:J.ESC+`OR`;break;case 115:i.key=a?J.ESC+`[1;`+(a+1)+`S`:J.ESC+`OS`;break;case 116:i.key=a?J.ESC+`[15;`+(a+1)+`~`:J.ESC+`[15~`;break;case 117:i.key=a?J.ESC+`[17;`+(a+1)+`~`:J.ESC+`[17~`;break;case 118:i.key=a?J.ESC+`[18;`+(a+1)+`~`:J.ESC+`[18~`;break;case 119:i.key=a?J.ESC+`[19;`+(a+1)+`~`:J.ESC+`[19~`;break;case 120:i.key=a?J.ESC+`[20;`+(a+1)+`~`:J.ESC+`[20~`;break;case 121:i.key=a?J.ESC+`[21;`+(a+1)+`~`:J.ESC+`[21~`;break;case 122:i.key=a?J.ESC+`[23;`+(a+1)+`~`:J.ESC+`[23~`;break;case 123:i.key=a?J.ESC+`[24;`+(a+1)+`~`:J.ESC+`[24~`;break;default:if(e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)e.keyCode>=65&&e.keyCode<=90?i.key=String.fromCharCode(e.keyCode-64):e.keyCode===32?i.key=J.NUL:e.keyCode>=51&&e.keyCode<=55?i.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?i.key=J.DEL:e.keyCode===219?i.key=J.ESC:e.keyCode===220?i.key=J.FS:e.keyCode===221&&(i.key=J.GS);else if((!n||r)&&e.altKey&&!e.metaKey){let t=fy[e.keyCode]?.[+!!e.shiftKey];if(t)i.key=J.ESC+t;else if(e.keyCode>=65&&e.keyCode<=90){let t=e.ctrlKey?e.keyCode-64:e.keyCode+32,n=String.fromCharCode(t);e.shiftKey&&(n=n.toUpperCase()),i.key=J.ESC+n}else if(e.keyCode===32)i.key=J.ESC+(e.ctrlKey?J.NUL:` `);else if(e.key===`Dead`&&e.code.startsWith(`Key`)){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),i.key=J.ESC+t,i.cancel=!0}}else n&&!e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.metaKey?e.keyCode===65&&(i.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&e.key.length===1?i.key=e.key:e.key&&e.ctrlKey&&(e.key===`_`&&(i.key=J.US),e.key===`@`&&(i.key=J.NUL))}return i}var my=0,hy=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new M_,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new M_,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(e){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(e)}_flushInserted(){let e=this._insertedValues.sort((e,t)=>this._getKey(e)-this._getKey(t)),t=0,n=0,r=Array(this._array.length+this._insertedValues.length);for(let i=0;i<r.length;i++)n>=this._array.length||this._getKey(e[t])<=this._getKey(this._array[n])?(r[i]=e[t],t++):r[i]=this._array[n++];this._array=r,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),this._array.length===0)return!1;let t=this._getKey(e);if(t===void 0||(my=this._search(t),my===-1)||this._getKey(this._array[my])!==t)return!1;do if(this._array[my]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(my),!0;while(++my<this._array.length&&this._getKey(this._array[my])===t);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let e=this._deletedIndices.sort((e,t)=>e-t),t=0,n=Array(this._array.length-e.length),r=0;for(let i=0;i<this._array.length;i++)e[t]===i?t++:n[r++]=this._array[i];this._array=n,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(my=this._search(e),!(my<0||my>=this._array.length)&&this._getKey(this._array[my])===e))do yield this._array[my];while(++my<this._array.length&&this._getKey(this._array[my])===e)}forEachByKey(e,t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(my=this._search(e),!(my<0||my>=this._array.length)&&this._getKey(this._array[my])===e))do t(this._array[my]);while(++my<this._array.length&&this._getKey(this._array[my])===e)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(e){let t=0,n=this._array.length-1;for(;n>=t;){let r=t+n>>1,i=this._getKey(this._array[r]);if(i>e)n=r-1;else if(i<e)t=r+1;else{for(;r>0&&this._getKey(this._array[r-1])===e;)r--;return r}}return t}},gy=0,_y=0,vy=class extends G{constructor(){super(),this._decorations=new hy(e=>e?.marker.line),this._onDecorationRegistered=this._register(new K),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new K),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(Up(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new yy(e);if(t){let e=t.marker.onDispose(()=>t.dispose()),n=t.onDispose(()=>{n.dispose(),t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),e.dispose())});this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,n){let r=0,i=0;for(let a of this._decorations.getKeyIterator(t))r=a.options.x??0,i=r+(a.options.width??1),e>=r&&e<i&&(!n||(a.options.layer??`bottom`)===n)&&(yield a)}forEachDecorationAtCell(e,t,n,r){this._decorations.forEachByKey(t,t=>{gy=t.options.x??0,_y=gy+(t.options.width??1),e>=gy&&e<_y&&(!n||(t.options.layer??`bottom`)===n)&&r(t)})}},yy=class extends Gp{constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new K),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new K),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._cachedBg=this.options.backgroundColor?Ng.toColor(this.options.backgroundColor):void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this._cachedFg=this.options.foregroundColor?Ng.toColor(this.options.foregroundColor):void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},by=1e3,xy=class{constructor(e,t=by){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t);let r=performance.now();if(r-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){let e=r-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},t)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}},Sy=20,Cy=class extends G{constructor(e,t,n,r){super(),this._terminal=e,this._coreBrowserService=n,this._renderService=r,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce=``;let i=this._coreBrowserService.mainDocument;this._accessibilityContainer=i.createElement(`div`),this._accessibilityContainer.classList.add(`xterm-accessibility`),this._rowContainer=i.createElement(`div`),this._rowContainer.setAttribute(`role`,`list`),this._rowContainer.classList.add(`xterm-accessibility-tree`),this._rowElements=[];for(let e=0;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);if(this._topBoundaryFocusListener=e=>this._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,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=i.createElement(`div`),this._liveRegion.classList.add(`live-region`),this._liveRegion.setAttribute(`aria-live`,`assertive`),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new xy(this._renderRows.bind(this))),!this._terminal.element)throw Error(`Cannot enable accessibility before Terminal.open`);this._terminal.element.insertAdjacentElement(`afterbegin`,this._accessibilityContainer),this._register(this._terminal.onResize(e=>this._handleResize(e.rows))),this._register(this._terminal.onRender(e=>this._refreshRows(e.start,e.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(e=>this._handleChar(e))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
|
|
68
|
-
`))),this._register(this._terminal.onA11yTab(e=>this._handleTab(e))),this._register(this._terminal.onKey(e=>this._handleKey(e.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(q(i,`selectionchange`,()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(Up(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(` `)}_handleChar(e){this._liveRegionLineCount<Sy+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
|
|
69
|
-
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===Sy+1&&(this._liveRegion.textContent+=Pf.get())))}_clearLiveRegion(){this._liveRegion.textContent=``,this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let n=this._terminal.buffer,r=n.lines.length.toString();for(let i=e;i<=t;i++){let e=n.lines.get(n.ydisp+i),t=[],a=e?.translateToString(!0,void 0,void 0,t)||``,o=(n.ydisp+i+1).toString(),s=this._rowElements[i];s&&(a.length===0?(s.textContent=`\xA0`,this._rowColumns.set(s,[0,1])):(s.textContent=a,this._rowColumns.set(s,t)),s.setAttribute(`aria-posinset`,o),s.setAttribute(`aria-setsize`,r),this._alignRowWidth(s))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=``)}_handleBoundaryFocus(e,t){let n=e.target,r=this._rowElements[t===0?1:this._rowElements.length-2];if(n.getAttribute(`aria-posinset`)===(t===0?`1`:`${this._terminal.buffer.lines.length}`)||e.relatedTarget!==r)return;let i,a;if(t===0?(i=n,a=this._rowElements.pop(),this._rowContainer.removeChild(a)):(i=this._rowElements.shift(),a=n,this._rowContainer.removeChild(i)),i.removeEventListener(`focus`,this._topBoundaryFocusListener),a.removeEventListener(`focus`,this._bottomBoundaryFocusListener),t===0){let e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(`afterbegin`,e)}else{let e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===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 t={node:e.anchorNode,offset:e.anchorOffset},n={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(n.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===n.node&&t.offset>n.offset)&&([t,n]=[n,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let r=this._rowElements.slice(-1)[0];if(n.node.compareDocumentPosition(r)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(n={node:r,offset:r.textContent?.length??0}),!this._rowContainer.contains(n.node))return;let i=({node:e,offset:t})=>{let n=e instanceof Text?e.parentNode:e,r=parseInt(n?.getAttribute(`aria-posinset`),10)-1;if(isNaN(r))return console.warn(`row is invalid. Race condition?`),null;let i=this._rowColumns.get(n);if(!i)return console.warn(`columns is null. Race condition?`),null;let a=t<i.length?i[t]:i.slice(-1)[0]+1;return a>=this._terminal.cols&&(++r,a=0),{row:r,column:a}},a=i(t),o=i(n);if(a&&o){if(a.row>o.row||a.row===o.row&&a.column>=o.column)throw Error(`invalid range`);this._terminal.select(a.column,a.row,(o.row-a.row)*this._terminal.cols-a.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(`focus`,this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);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 t=e.getBoundingClientRect().width,n=this._rowColumns.get(e)?.slice(-1)?.[0];if(!n)return;let r=n*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${r/t})`}};Cy=Af([W(1,sp),W(2,gp),W(3,vp)],Cy);var wy=class extends G{constructor(e,t,n,r,i){super(),this._element=e,this._mouseService=t,this._renderService=n,this._bufferService=r,this._linkProviderService=i,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new K),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new K),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(Up(()=>{Vp(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(q(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(q(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(q(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(q(this._element,`mouseup`,this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let n=e.composedPath();for(let e=0;e<n.length;e++){let t=n[e];if(t.classList.contains(`xterm`))break;if(t.classList.contains(`xterm-hover`))return}(!this._lastBufferCell||t.x!==this._lastBufferCell.x||t.y!==this._lastBufferCell.y)&&(this._handleHover(t),this._lastBufferCell=t)}_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,t){(!this._activeProviderReplies||!t)&&(this._activeProviderReplies?.forEach(e=>{e?.forEach(e=>{e.link.dispose&&e.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let n=!1;for(let[r,i]of this._linkProviderService.linkProviders.entries())t?this._activeProviderReplies?.get(r)&&(n=this._checkLinkProviderResult(r,e,n)):i.provideLinks(e.y,t=>{if(this._isMouseOut)return;let i=t?.map(e=>({link:e}));this._activeProviderReplies?.set(r,i),n=this._checkLinkProviderResult(r,e,n),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){let n=new Set;for(let r=0;r<t.size;r++){let i=t.get(r);if(i)for(let t=0;t<i.length;t++){let r=i[t],a=r.link.range.start.y<e?0:r.link.range.start.x,o=r.link.range.end.y>e?this._bufferService.cols:r.link.range.end.x;for(let e=a;e<=o;e++){if(n.has(e)){i.splice(t--,1);break}n.add(e)}}}}_checkLinkProviderResult(e,t,n){if(!this._activeProviderReplies)return n;let r=this._activeProviderReplies.get(e),i=!1;for(let t=0;t<e;t++)(!this._activeProviderReplies.has(t)||this._activeProviderReplies.get(t))&&(i=!0);if(!i&&r){let e=r.find(e=>this._linkAtPosition(e.link,t));e&&(n=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!n)for(let e=0;e<this._activeProviderReplies.size;e++){let r=this._activeProviderReplies.get(e)?.find(e=>this._linkAtPosition(e.link,t));if(r){n=!0,this._handleNewLink(r);break}}return n}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink&&Ty(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){!this._currentLink||!this._lastMouseEvent||(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,Vp(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0||e.link.decorations.underline,pointerCursor:e.link.decorations===void 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:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle(`xterm-cursor-pointer`,e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(e=>{if(!this._currentLink)return;let t=e.start===0?0:e.start+1+this._bufferService.buffer.ydisp,n=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=n&&(this._clearCurrentLink(t,n),this._lastMouseEvent)){let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}})))}_linkHover(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(`xterm-cursor-pointer`)),t.hover&&t.hover(n,t.text)}_fireUnderlineEvent(e,t){let n=e.range,r=this._bufferService.buffer.ydisp,i=this._createLinkUnderlineEvent(n.start.x-1,n.start.y-r-1,n.end.x,n.end.y-r-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(i)}_linkLeave(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(`xterm-cursor-pointer`)),t.leave&&t.leave(n,t.text)}_linkAtPosition(e,t){let n=e.range.start.y*this._bufferService.cols+e.range.start.x,r=e.range.end.y*this._bufferService.cols+e.range.end.x,i=t.y*this._bufferService.cols+t.x;return n<=i&&i<=r}_positionFromMouseEvent(e,t,n){let r=n.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(r)return{x:r[0],y:r[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,n,r,i){return{x1:e,y1:t,x2:n,y2:r,cols:this._bufferService.cols,fg:i}}};wy=Af([W(1,_p),W(2,vp),W(3,rp),W(4,Sp)],wy);function Ty(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}var Ey=class extends dy{constructor(e={}){super(e),this._linkifier=this._register(new Kp),this.browser=h_,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new Kp),this._onCursorMove=this._register(new K),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new K),this.onKey=this._onKey.event,this._onRender=this._register(new K),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new K),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new K),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new K),this.onBell=this._onBell.event,this._onFocus=this._register(new K),this._onBlur=this._register(new K),this._onA11yCharEmitter=this._register(new K),this._onA11yTabEmitter=this._register(new K),this._onWillOpen=this._register(new K),this._setup(),this._decorationService=this._instantiationService.createInstance(vy),this._instantiationService.setService(fp,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(u_),this._instantiationService.setService(Sp,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(pp)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh(e?.start??0,e?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register($p.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register($p.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register($p.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register($p.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(Up(()=>{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 t of e){let e,n=``;switch(t.index){case 256:e=`foreground`,n=`10`;break;case 257:e=`background`,n=`11`;break;case 258:e=`cursor`,n=`12`;break;default:e=`ansi`,n=`4;`+t.index}switch(t.type){case 0:let r=Mg.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${J.ESC}]${n};${Vte(r)}${wg.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=jg.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=jg.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index)}}}_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(Cy,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(J.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(J.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,t=this.buffer.lines.get(e);if(!t)return;let n=Math.min(this.buffer.x,this.cols-1),r=this._renderService.dimensions.css.cell.height,i=t.getWidth(n),a=this._renderService.dimensions.css.cell.width*i,o=this.buffer.y*this._renderService.dimensions.css.cell.height,s=n*this._renderService.dimensions.css.cell.width;this.textarea.style.left=s+`px`,this.textarea.style.top=o+`px`,this.textarea.style.width=a+`px`,this.textarea.style.height=r+`px`,this.textarea.style.lineHeight=r+`px`,this.textarea.style.zIndex=`-5`}_initGlobal(){this._bindKeys(),this._register(q(this.element,`copy`,e=>{this.hasSelection()&&Lf(e,this._selectionService)}));let e=e=>Rf(e,this.textarea,this.coreService,this.optionsService);this._register(q(this.textarea,`paste`,e)),this._register(q(this.element,`paste`,e)),y_?this._register(q(this.element,`mousedown`,e=>{e.button===2&&Vf(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(q(this.element,`contextmenu`,e=>{Vf(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),D_&&this._register(q(this.element,`auxclick`,e=>{e.button===1&&Bf(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(q(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(q(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(q(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(q(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(q(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(q(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(q(this.textarea,`input`,e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw 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 t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(`div`),this._viewportElement.classList.add(`xterm-viewport`),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement(`div`),this.screenElement.classList.add(`xterm-screen`),this._register(q(this.screenElement,`mousemove`,e=>this.updateCursorStyle(e))),this._helperContainer=this._document.createElement(`div`),this._helperContainer.classList.add(`xterm-helpers`),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);let n=this.textarea=this._document.createElement(`textarea`);this.textarea.classList.add(`xterm-helper-textarea`),this.textarea.setAttribute(`aria-label`,Mf.get()),O_||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`,()=>n.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(c_,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(gp,this._coreBrowserService),this._register(q(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(q(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(i_,this._document,this._helperContainer),this._instantiationService.setService(hp,this._charSizeService),this._themeService=this._instantiationService.createInstance(sv),this._instantiationService.setService(xp,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(zg),this._instantiationService.setService(bp,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(P_,this.rows,this.screenElement)),this._instantiationService.setService(vp,this._renderService),this._register(this._renderService.onRenderedViewportChange(e=>this._onRender.fire(e))),this.onResize(e=>this._renderService.resize(e.cols,e.rows)),this._compositionView=this._document.createElement(`div`),this._compositionView.classList.add(`composition-view`),this._compositionHelper=this._instantiationService.createInstance(Tg,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(p_),this._instantiationService.setService(_p,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(wy,this.screenElement));this.element.appendChild(t);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(gg,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(e=>{super.scrollLines(e,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(Q_,this.element,this.screenElement,r)),this._instantiationService.setService(yp,this._selectionService),this._register(this._selectionService.onRequestScrollLines(e=>this.scrollLines(e.amount,e.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()})),this._register($p.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(_g,this.screenElement)),this._register(q(this.element,`mousedown`,e=>this._selectionService.handleMouseDown(e))),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(Cy,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Sg,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Sg,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(r_,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function n(t){let n=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!n)return!1;let r,i;switch(t.overrideType||t.type){case`mousemove`:i=32,t.buttons===void 0?(r=3,t.button!==void 0&&(r=t.button<3?t.button:3)):r=t.buttons&1?0:t.buttons&4?1:t.buttons&2?2:3;break;case`mouseup`:i=0,r=t.button<3?t.button:3;break;case`mousedown`:i=1,r=t.button<3?t.button:3;break;case`wheel`:if(e._customWheelEventHandler&&e._customWheelEventHandler(t)===!1)return!1;let n=t.deltaY;if(n===0||e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return!1;i=n<0?0:1,r=4;break;default:return!1}return i===void 0||r===void 0||r>4?!1:e.coreMouseService.triggerMouseEvent({col:n.col,row:n.row,x:n.x,y:n.y,button:r,action:i,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}let r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},i={mouseup:e=>(n(e),e.buttons||(this._document.removeEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.removeEventListener(`mousemove`,r.mousedrag)),this.cancel(e)),wheel:e=>(n(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&n(e)},mousemove:e=>{e.buttons||n(e)}};this._register(this.coreMouseService.onProtocolChange(e=>{e?(this.optionsService.rawOptions.logLevel===`debug`&&this._logService.debug(`Binding to mouse events:`,this.coreMouseService.explainEvents(e)),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()),e&8?r.mousemove||=(t.addEventListener(`mousemove`,i.mousemove),i.mousemove):(t.removeEventListener(`mousemove`,r.mousemove),r.mousemove=null),e&16?r.wheel||=(t.addEventListener(`wheel`,i.wheel,{passive:!1}),i.wheel):(t.removeEventListener(`wheel`,r.wheel),r.wheel=null),e&2?r.mouseup||=i.mouseup:(this._document.removeEventListener(`mouseup`,r.mouseup),r.mouseup=null),e&4?r.mousedrag||=i.mousedrag:(this._document.removeEventListener(`mousemove`,r.mousedrag),r.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(q(t,`mousedown`,e=>{if(e.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(e))return n(e),r.mouseup&&this._document.addEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.addEventListener(`mousemove`,r.mousedrag),this.cancel(e)})),this._register(q(t,`wheel`,t=>{if(!r.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(t)===!1)return!1;if(!this.buffer.hasScrollback){if(t.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return this.cancel(t,!0);let n=J.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?`O`:`[`)+(t.deltaY<0?`A`:`B`);return this.coreService.triggerDataEvent(n,!0),this.cancel(t,!0)}}},{passive:!1}))}refresh(e,t){this._renderService?.refreshRows(e,t)}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,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),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 t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}paste(e){zf(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 Error(`Terminal must be opened first`);let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw 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,t,n){this._selectionService.setSelection(e,t,n)}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,t){this._selectionService?.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!t&&(e.key===`Dead`||e.key===`AltGraph`)&&(this._unprocessedDeadKey=!0);let n=py(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),n.type===3||n.type===2){let t=this.rows-1;return this.scrollLines(n.type===2?-t:t),this.cancel(e,!0)}if(n.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(n.cancel&&this.cancel(e,!0),!n.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((n.key===J.ETX||n.key===J.CR)&&(this.textarea.value=``),this._onKey.fire({key:n.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(n.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,t){let n=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(`AltGraph`);return t.type===`keypress`?n:n&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(Dy(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else if(e.which!==0&&e.charCode!==0)t=e.which;else return!1;return!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!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 t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){if(e===this.cols&&t===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,t)}_afterResize(e,t){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(dv));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(J.ESC+`[I`):this.coreService.triggerDataEvent(J.ESC+`[O`)}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let e=this._renderService.dimensions.css.canvas.width.toFixed(0),t=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${J.ESC}[4;${t};${e}t`);break;case 1:let n=this._renderService.dimensions.css.cell.width.toFixed(0),r=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${J.ESC}[6;${r};${n}t`)}}cancel(e,t){if(this.options.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1}};function Dy(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var Oy=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){let n={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(n),t.dispose=()=>this._wrappedAddonDispose(n),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let n=0;n<this._addons.length;n++)if(this._addons[n]===e){t=n;break}if(t===-1)throw Error(`Could not dispose an addon that has not been loaded`);e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}},ky=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new Xf)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},Ay=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,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(e){let t=this._buffer.lines.get(e);if(t)return new ky(t)}getNullCell(){return new Xf}},jy=class extends G{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new K),this.onBufferChange=this._onBufferChange.event,this._normal=new Ay(this._core.buffers.normal,`normal`),this._alternate=new Ay(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 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)}},My=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,e=>t(e.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(e,n)=>t(e,n.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}},Ny=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},Py=[`cols`,`rows`],Fy=0,Iy=class extends G{constructor(e){super(),this._core=this._register(new Ey(e)),this._addonManager=this._register(new Oy),this._publicOptions={...this._core.options};let t=e=>this._core.options[e],n=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(let e in this._core.options){let r={get:t.bind(this,e),set:n.bind(this,e)};Object.defineProperty(this._publicOptions,e,r)}}_checkReadonlyOptions(e){if(Py.includes(e))throw Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw 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||=new My(this._core),this._parser}get unicode(){return this._checkProposedApi(),new Ny(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._register(new jy(this._core)),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,t=`none`;switch(this._core.coreMouseService.activeProtocol){case`X10`:t=`x10`;break;case`VT200`:t=`vt200`;break;case`DRAG`:t=`drag`;break;case`ANY`:t=`any`}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,n){this._verifyIntegers(e,t,n),this._core.select(e,t,n)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(`\r
|
|
70
|
-
`,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return Mf.get()},set promptLabel(e){Mf.set(e)},get tooMuchOutput(){return Pf.get()},set tooMuchOutput(e){Pf.set(e)}}}_verifyIntegers(...e){for(Fy of e)if(Fy===1/0||isNaN(Fy)||Fy%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(Fy of e)if(Fy&&(Fy===1/0||isNaN(Fy)||Fy%1!=0||Fy<0))throw Error(`This API only accepts positive integers`)}},Ly=`↑`,Ry=`↓`,zy=`←`,By=`→`,Vy=`⌘`,Hy={always:()=>!0,"calm-surface":e=>e.isCalmAvailable,"calm-view":e=>e.isCalmAvailable&&e.isCalmViewActive},Uy=Array.from({length:9},(e,t)=>[`Digit${t+1}`,t+1]),Wy=[{action:`next-attention`,keyCaptions:[`J`],label:`Jump to the next session needing you`,stepByCode:new Map([[`KeyJ`,0]]),availability:`always`},{action:`rail-step`,keyCaptions:[Ly,Ry],label:`Previous / next session in the rail`,stepByCode:new Map([[`ArrowUp`,-1],[`ArrowDown`,1]]),availability:`always`},{action:`session-nth`,keyCaptions:[`1..9`],label:`Jump to session 1 to 9`,stepByCode:new Map(Uy),availability:`always`},{action:`new-session`,keyCaptions:[`0`],label:`Add a session`,stepByCode:new Map([[`Digit0`,0]]),availability:`always`},{action:`merge`,keyCaptions:[`I`],label:`Merge the selected session`,stepByCode:new Map([[`KeyI`,0]]),availability:`always`},{action:`resolve-or-resync`,keyCaptions:[`U`],label:`Resolve a parked merge, or resync the base branch`,stepByCode:new Map([[`KeyU`,0]]),availability:`always`},{action:`calm-home`,keyCaptions:[`H`],label:`Go to the Calm view (Calm layout)`,stepByCode:new Map([[`KeyH`,0]]),availability:`calm-surface`,unavailablePlatform:`mac`},{action:`calm-terminal`,keyCaptions:[`T`],label:`Open the terminal of the open Calm panel (Calm layout)`,stepByCode:new Map([[`KeyT`,0]]),availability:`calm-view`,unavailablePlatform:`mac`}];function Gy(e){return Wy.filter(t=>t.unavailablePlatform!==e)}function Ky(e){return/Mac|iPhone|iPad/.test(e)?`mac`:`other`}function Gte(e,t){return e.ctrlKey||e.shiftKey?!1:t===`mac`?e.metaKey&&!e.altKey:e.altKey&&!e.metaKey}function qy(e,t,n){if(!Gte(e,t))return null;for(let r of Gy(t)){if(!Hy[r.availability](n))continue;let t=r.stepByCode.get(e.code);if(t!==void 0)return{action:r.action,step:t}}return null}function Jy(e){return e===`mac`?Vy:`Alt`}function Kte(e){let t=Wy.find(t=>t.action===e);if(!t)throw Error(`Unknown dashboard shortcut: ${e}`);return t}function Yy(e,t){return[Jy(t),Kte(e).keyCaptions.join(` `)]}function Xy(e,t){let[n,r]=Yy(e,t);return t===`mac`?`${n}${r}`:`${n}+${r}`}function qte(e){let t=e===`mac`?`Meta`:`Alt`;return`ArrowUp ArrowDown ${t}+ArrowUp ${t}+ArrowDown`}function Jte(e){let t=Jy(e),n=e===`mac`?Vy:`Ctrl`;return[{title:`Dashboard`,items:Gy(e).map(e=>({combos:e.keyCaptions.map(e=>[t,e]),label:e.label}))},{title:`Navigation`,items:[{combos:[[Ly],[Ry]],label:`Move rail highlight (rail focused)`},{combos:[[zy],[By]],label:`Switch view tab (tab focused)`}]},{title:`Terminal`,items:[{combos:[[n,`C`]],label:`Copy selection`},{combos:[[n,`V`]],label:`Paste`},{combos:[[n,`Backspace`]],label:`Delete previous word`}]},{title:`General`,items:[{combos:[[`Esc`]],label:`Close dialog / cancel rename`}]}]}var Zy=Ky(navigator.userAgent),Qy=()=>({isCalmAvailable:!1,isCalmViewActive:!1});function $y(e){Qy=e}function eb(){return Qy()}function tb(e,t){t.forEach((t,n)=>{n>0&&e.appendChild(V(`span`,`shortcut-sep`,`+`)),e.appendChild(V(`kbd`,`kbd`,t))})}function nb(e){let t=V(`span`,`shortcut-keys`);return tb(t,e),t}var rb=6,ib=262144,ab=16384,ob=()=>{};function sb(e,t){if(t.length<=ab){e.push(t);return}for(let n=0;n<t.length;n+=ab)e.push(t.slice(n,n+ab))}function cb({budget:e=rb,maxChunkBytes:t=ib,requestFrame:n,cancelFrame:r}={}){let i=n||(e=>requestAnimationFrame(e)),a=r||(e=>cancelAnimationFrame(e)),o=new Map,s=[],c=0,l=null;function u(){l===null&&(l=i(h))}function d(e){return e.readIdx<e.pending.length}function f(e){d(e)||(e.pending.length=0,e.readIdx=0,e.dirty=!1)}function p(e){return!!(e?.live&&e.dirty&&!e.inFlight&&d(e))}function m(){for(let e of o.values())if(p(e))return!0;return!1}function h(){l=null;let n=s.length,r=0;for(let i=0;i<n&&r<e;i++){let e=s[(c+i)%n],a=o.get(e);if(!p(a))continue;let l=[],m=0;for(;a.readIdx<a.pending.length;){let e=a.pending[a.readIdx];if(typeof e!=`string`){if(m>0)break;a.readIdx++,e.run();continue}let n=t-m;if(m+e.length<=t){sb(l,e),m+=e.length,a.readIdx++;continue}m===0&&(sb(l,e.slice(0,n)),m+=n,a.pending[a.readIdx]=e.slice(n));break}let h=l.pop();if(h===void 0){f(a),r++;continue}f(a),d(a)&&a.readIdx>=64&&(a.pending.splice(0,a.readIdx),a.readIdx=0),a.inFlight=!0;for(let e of l)a.write(e,ob);a.write(h,()=>{a.live&&(a.inFlight=!1,d(a)&&(a.dirty=!0,u()))}),r++}n>0&&(c=(c+1)%n),m()&&u()}return{register(e,t){let n=o.get(e);if(n){n.write=t,n.live=!0;return}o.set(e,{write:t,pending:[],readIdx:0,inFlight:!1,dirty:!1,live:!0}),s.push(e)},unregister(e){let t=o.get(e);if(!t)return;t.live=!1,o.delete(e);let n=s.indexOf(e);n!==-1&&s.splice(n,1),c>=s.length&&(c=0)},enqueue(e,t){let n=o.get(e);n&&t&&(n.pending.push(t),n.dirty=!0,u())},enqueueAction(e,t){let n=o.get(e);n&&(n.pending.push({run:t}),n.dirty=!0,u())},has(e){return o.has(e)},size(){return o.size},running(){return l!==null},stop(){l!==null&&(a(l),l=null)}}}var lb=cb(),ub=`chime`,db=`custom:`,fb=`/custom-sounds`,pb=Object.freeze({chime:{label:`Chime`,peakGain:.12,tones:[{frequency:659.25,startSeconds:0,durationSeconds:.35,waveform:`sine`},{frequency:987.77,startSeconds:.14,durationSeconds:.5,waveform:`sine`}]},ping:{label:`Soft ping`,peakGain:.08,tones:[{frequency:1046.5,startSeconds:0,durationSeconds:.12,waveform:`triangle`},{frequency:1046.5,startSeconds:.13,durationSeconds:.12,waveform:`triangle`},{frequency:1318.51,startSeconds:.26,durationSeconds:.2,waveform:`triangle`}]},beep:{label:`Beep`,peakGain:.15,tones:[{frequency:880,startSeconds:0,durationSeconds:.2,waveform:`sine`}]}}),mb=Object.freeze(Object.entries(pb).map(([e,t])=>({id:e,label:t.label})));function hb(e){return`${db}${e}`}function gb(e){return`${fb}/${encodeURIComponent(e)}`}function _b(e){return e.startsWith(db)&&e.slice(7)||null}function vb(e){let t=(e??[]).map(e=>({id:hb(e),label:e}));return[...mb,...t]}function yb(e,t){if(typeof e!=`string`)return ub;if(Object.hasOwn(pb,e))return e;let n=_b(e);return n&&(t===null||t.includes(n))?e:ub}function bb(e){return typeof e!=`object`||!e||!(`sounds`in e)||!Array.isArray(e.sounds)?[]:e.sounds.filter(e=>typeof e==`string`&&e!==``)}var xb=.3,Sb=null;function Cb(){return vb(Sb)}function wb(e){return yb(e,Sb)}async function Tb(){try{let e=await fetch(fb,{credentials:`same-origin`,cache:`no-store`});e.ok&&(Sb=bb(await e.json()))}catch{}}function Eb(){let e=new AudioContext;return e.state===`suspended`&&e.resume(),e}function Db(e,t){setTimeout(()=>e.close().catch(()=>{}),(t+.1)*1e3)}function Ob(e){let t=pb[e]??pb.chime,n=Eb(),r=n.createGain();r.gain.value=t.peakGain,r.connect(n.destination);let i=n.currentTime,a=0;for(let e of t.tones){let t=i+e.startSeconds,o=t+e.durationSeconds,s=n.createOscillator(),c=n.createGain();s.type=e.waveform,s.frequency.value=e.frequency,c.gain.setValueAtTime(.001,t),c.gain.exponentialRampToValueAtTime(1,t+.01),c.gain.exponentialRampToValueAtTime(.001,o),s.connect(c),c.connect(r),s.start(t),s.stop(o),a=Math.max(a,e.startSeconds+e.durationSeconds)}Db(n,a)}async function kb(e){try{let t=await fetch(gb(e),{credentials:`same-origin`});return t.ok?await t.arrayBuffer():null}catch{return null}}async function Ab(e){let t=await kb(e);if(!t)return!1;let n=Eb();try{let e=await n.decodeAudioData(t),r=n.createGain();r.gain.value=xb,r.connect(n.destination);let i=n.createBufferSource();return i.buffer=e,i.connect(r),i.start(),Db(n,e.duration),!0}catch{return n.close().catch(()=>{}),!1}}var jb=[659.25,830.61,987.77,1108.73,987.77,830.61,739.99,659.25,739.99,830.61,987.77,1108.73,987.77,830.61];function Mb(){try{let e=new AudioContext;if(e.state===`suspended`&&e.resume(),e.state===`suspended`)return;let t=e.createGain();t.gain.value=.05,t.connect(e.destination);let n=.125,r=e.currentTime;for(let i=0;i<jb.length;i++){let a=r+i*n,o=e.createOscillator(),s=e.createGain();o.type=`square`,o.frequency.value=jb[i],s.gain.setValueAtTime(.001,a),s.gain.exponentialRampToValueAtTime(1,a+.01),s.gain.exponentialRampToValueAtTime(.001,a+n*.9),o.connect(s),s.connect(t),o.start(a),o.stop(a+n)}let i=r+jb.length*n;t.gain.setValueAtTime(.05,i-.05),t.gain.exponentialRampToValueAtTime(.001,i),setTimeout(()=>e.close().catch(()=>{}),(i-r+.1)*1e3)}catch{}}function Nb(){try{Ob(ub)}catch{}}function Pb(e){try{let t=wb(e),n=_b(t);if(!n){Ob(t);return}Ab(n).then(e=>{e||Nb()})}catch{}}var Fb={"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.06)`,"--state-running":`#22c55e`,"--state-running-bg":`rgba(34, 197, 94, 0.06)`,"--state-waiting":`#f59e0b`,"--state-waiting-bg":`rgba(245, 158, 11, 0.08)`,"--state-failed":`#ef4444`,"--state-failed-bg":`rgba(239, 68, 68, 0.06)`,"--state-initializing":`#6b7280`,"--state-initializing-bg":`rgba(107, 114, 128, 0.06)`,"--state-idle":`#eab308`,"--state-idle-bg":`rgba(234, 179, 8, 0.06)`},Ib={background:`--bg-card`,cursor:`--accent`,cursorAccent:`--bg-card`,black:`--border`,brightBlack:`--text-muted`,red:`#ef4444`,brightRed:`#f87171`,green:`#22c55e`,brightGreen:`#4ade80`,yellow:`#eab308`,brightYellow:`#facc15`,cyan:`#06b6d4`,brightCyan:`#22d3ee`},Lb={golgari:{label:`Golgari (Green/Black)`,colors:{"--bg":`#060b08`,"--bg-card":`#0a120e`,"--bg-header":`#081009`,"--bg-surface":`#0e1a12`,"--border":`#1a2e1f`,"--border-dim":`#122016`,"--border-hover":`#2a4a32`,"--text":`#b8ccbe`,"--text-dim":`#6a9070`,"--text-head":`#dceede`,"--text-muted":`#7a9a80`,"--accent":`#2dd4a0`,"--accent-dim":`#1a9a6e`,...Fb,"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.08)`,"--state-done":`#2dd4a0`,"--state-done-bg":`rgba(45, 212, 160, 0.06)`,"--state-starting":`#a78bfa`,"--state-starting-bg":`rgba(167, 139, 250, 0.06)`,"--state-complete":`#34d399`,"--state-complete-bg":`rgba(52, 211, 153, 0.06)`},terminal:{...Ib,foreground:`#c8dece`,blue:`--accent`,brightBlue:`#5ee8bc`,magenta:`#a855f7`,brightMagenta:`#c084fc`,white:`#c8dece`,brightWhite:`#e8f5ea`}},midnight:{label:`Midnight (Blue/Purple)`,colors:{"--bg":`#080816`,"--bg-card":`#0e0e20`,"--bg-header":`#0b0b1a`,"--bg-surface":`#131328`,"--border":`#1c1c38`,"--border-dim":`#141430`,"--border-hover":`#2a2a50`,"--text":`#b8b8d4`,"--text-dim":`#8585b3`,"--text-head":`#dcdcf0`,"--text-muted":`#7c7ca9`,"--accent":`#4f6ef7`,"--accent-dim":`#3a54c0`,...Fb,"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.08)`,"--state-done":`#3b82f6`,"--state-done-bg":`rgba(59, 130, 246, 0.06)`,"--state-starting":`#a855f7`,"--state-starting-bg":`rgba(168, 85, 247, 0.06)`,"--state-complete":`#60a5fa`,"--state-complete-bg":`rgba(96, 165, 250, 0.06)`},terminal:{...Ib,foreground:`#c8c8e0`,blue:`--accent`,brightBlue:`#60a5fa`,magenta:`#a855f7`,brightMagenta:`#c084fc`,white:`#c8c8e0`,brightWhite:`#e8e8ff`}},phyrexian:{label:`Phyrexian (Iridescent)`,colors:{"--bg":`#0a0810`,"--bg-card":`#100e18`,"--bg-header":`#0c0a14`,"--bg-surface":`#16122a`,"--border":`#2a2440`,"--border-dim":`#1e1a32`,"--border-hover":`#3e3660`,"--text":`#c8c0e0`,"--text-dim":`#8d82b9`,"--text-head":`#e8e0ff`,"--text-muted":`#8579b1`,"--accent":`#c084fc`,"--accent-dim":`#9656d6`,...Fb,"--state-monitoring":`#60a5fa`,"--state-monitoring-bg":`rgba(96, 165, 250, 0.08)`,"--state-done":`#67e8f9`,"--state-done-bg":`rgba(103, 232, 249, 0.06)`,"--state-starting":`#f472b6`,"--state-starting-bg":`rgba(244, 114, 182, 0.06)`,"--state-complete":`#34d399`,"--state-complete-bg":`rgba(52, 211, 153, 0.06)`},terminal:{...Ib,foreground:`#c8c0e0`,blue:`#67e8f9`,brightBlue:`#a5f3fc`,magenta:`--accent`,brightMagenta:`#d8b4fe`,white:`#c8c0e0`,brightWhite:`#e8e0ff`}},compleated:{label:`Compleated (Light)`,colors:{"--bg":`#ece8e0`,"--bg-card":`#f7f4ee`,"--bg-header":`#f0ece4`,"--bg-surface":`#e4e0d6`,"--border":`#b8b0a0`,"--border-dim":`#ccc6b8`,"--border-hover":`#908878`,"--text":`#2a2622`,"--text-dim":`#5a5448`,"--text-head":`#0e0c0a`,"--text-muted":`#676157`,"--accent":`#0e0c0a`,"--accent-dim":`#2a2622`,"--state-running":`#16803c`,"--state-running-bg":`rgba(22, 128, 60, 0.08)`,"--state-waiting":`#b45309`,"--state-waiting-bg":`rgba(180, 83, 9, 0.08)`,"--state-failed":`#dc2626`,"--state-failed-bg":`rgba(220, 38, 38, 0.06)`,"--state-monitoring":`#0e7490`,"--state-monitoring-bg":`rgba(14, 116, 144, 0.08)`,"--state-done":`#1a1816`,"--state-done-bg":`rgba(26, 24, 22, 0.06)`,"--state-initializing":`#6b7280`,"--state-initializing-bg":`rgba(107, 114, 128, 0.06)`,"--state-idle":`#a16207`,"--state-idle-bg":`rgba(161, 98, 7, 0.06)`,"--state-starting":`#7c3aed`,"--state-starting-bg":`rgba(124, 58, 237, 0.06)`,"--state-complete":`#059669`,"--state-complete-bg":`rgba(5, 150, 105, 0.06)`},terminal:{background:`#faf8f4`,foreground:`#1a1816`,cursor:`#1a1816`,cursorAccent:`#faf8f4`,black:`#1a1816`,brightBlack:`#5a5448`,red:`#b91c1c`,brightRed:`#dc2626`,green:`#15803d`,brightGreen:`#16a34a`,yellow:`#92400e`,brightYellow:`#a16207`,blue:`#1d4ed8`,brightBlue:`#2563eb`,magenta:`#6d28d9`,brightMagenta:`#7c3aed`,cyan:`#0e7490`,brightCyan:`#0891b2`,white:`#5a5448`,brightWhite:`#3a3630`}},unicorn:{label:`Rainbow Unicorns (Dark)`,colors:{"--bg":`#191022`,"--bg-card":`#201730`,"--bg-header":`#1c1329`,"--bg-surface":`#281c3c`,"--border":`#3a2c52`,"--border-dim":`#2a2040`,"--border-hover":`#55407a`,"--text":`#d4c8e6`,"--text-dim":`#9a88b8`,"--text-head":`#ede4fa`,"--text-muted":`#a897c4`,"--accent":`#e8a3c4`,"--accent-dim":`#c4739e`,"--state-running":`#42d780`,"--state-running-bg":`rgba(66, 215, 128, 0.10)`,"--state-waiting":`#f79f3b`,"--state-waiting-bg":`rgba(247, 159, 59, 0.10)`,"--state-failed":`#f05442`,"--state-failed-bg":`rgba(240, 84, 66, 0.13)`,"--state-monitoring":`#2dd4bf`,"--state-monitoring-bg":`rgba(45, 212, 191, 0.08)`,"--state-done":`#f04ca4`,"--state-done-bg":`rgba(240, 76, 164, 0.13)`,"--state-initializing":`#8f87a6`,"--state-initializing-bg":`rgba(143, 135, 166, 0.08)`,"--state-idle":`#bcb02f`,"--state-idle-bg":`rgba(188, 176, 47, 0.08)`,"--state-starting":`#a17ef1`,"--state-starting-bg":`rgba(161, 126, 241, 0.08)`,"--state-complete":`#34baf4`,"--state-complete-bg":`rgba(52, 186, 244, 0.14)`},terminal:{background:`#201730`,foreground:`#d4c8e6`,cursor:`--accent`,cursorAccent:`#201730`,black:`#8c7dab`,brightBlack:`#9c8fb5`,red:`#e8887e`,brightRed:`#f4a89f`,green:`#86e0ab`,brightGreen:`#a3edc0`,yellow:`#f0c674`,brightYellow:`#f5d896`,blue:`#9cb3f0`,brightBlue:`#b5c8f5`,magenta:`#dd8ecf`,brightMagenta:`#e6a8dc`,cyan:`#7fd4d0`,brightCyan:`#a0e6e2`,white:`#d4c8e6`,brightWhite:`#f4ecfc`}},"posthog-light":{label:`PostHog (Light)`,colors:{"--bg":`#eeefe9`,"--bg-card":`#fdfdf8`,"--bg-header":`#eeefe9`,"--bg-surface":`#e5e7e0`,"--border":`#bfc1b7`,"--border-dim":`#d2d3cc`,"--border-hover":`#9ea096`,"--text":`#23251d`,"--text-dim":`#65675e`,"--text-head":`#111111`,"--text-muted":`#73756b`,"--accent":`#c03300`,"--accent-dim":`#8e2600`,"--state-running":`#4d7533`,"--state-running-bg":`rgba(77, 117, 51, 0.08)`,"--state-waiting":`#b17816`,"--state-waiting-bg":`rgba(177, 120, 22, 0.10)`,"--state-failed":`#8c0d3b`,"--state-failed-bg":`rgba(140, 13, 59, 0.07)`,"--state-monitoring":`#0e7490`,"--state-monitoring-bg":`rgba(14, 116, 144, 0.08)`,"--state-done":`#3e6b9e`,"--state-done-bg":`rgba(62, 107, 158, 0.08)`,"--state-initializing":`#73756b`,"--state-initializing-bg":`rgba(115, 117, 107, 0.07)`,"--state-idle":`#835c19`,"--state-idle-bg":`rgba(131, 92, 25, 0.07)`,"--state-starting":`#a621c8`,"--state-starting-bg":`rgba(166, 33, 200, 0.07)`,"--state-complete":`#34796f`,"--state-complete-bg":`rgba(52, 121, 111, 0.08)`},terminal:{background:`--bg-card`,foreground:`#23251d`,cursor:`--accent`,cursorAccent:`--bg-card`,black:`#23251d`,brightBlack:`#65675e`,red:`#c03300`,brightRed:`#df6133`,green:`#4d7533`,brightGreen:`#6aa84f`,yellow:`#835c19`,brightYellow:`#b17816`,blue:`#3e6b9e`,brightBlue:`#2f80fa`,magenta:`#74108d`,brightMagenta:`#a621c8`,cyan:`#34796f`,brightCyan:`#30abc6`,white:`#4d4f46`,brightWhite:`#23251d`}},"posthog-dark":{label:`PostHog (Dark)`,colors:{"--bg":`#1e1f23`,"--bg-card":`#25262b`,"--bg-header":`#232429`,"--bg-surface":`#2d2e37`,"--border":`#3e424f`,"--border-dim":`#32343f`,"--border-hover":`#626674`,"--text":`#edeef4`,"--text-dim":`#aeb3c2`,"--text-head":`#fafafa`,"--text-muted":`#9ea096`,"--accent":`#f87a4c`,"--accent-dim":`#f54e00`,"--state-running":`#36c46f`,"--state-running-bg":`rgba(54, 196, 111, 0.08)`,"--state-waiting":`#f7a501`,"--state-waiting-bg":`rgba(247, 165, 1, 0.09)`,"--state-failed":`#f35454`,"--state-failed-bg":`rgba(243, 84, 84, 0.09)`,"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.08)`,"--state-done":`#589df8`,"--state-done-bg":`rgba(88, 157, 248, 0.08)`,"--state-initializing":`#8f8f8c`,"--state-initializing-bg":`rgba(143, 143, 140, 0.07)`,"--state-idle":`#ffce5c`,"--state-idle-bg":`rgba(255, 206, 92, 0.07)`,"--state-starting":`#8567ff`,"--state-starting-bg":`rgba(133, 103, 255, 0.09)`,"--state-complete":`#29dbbb`,"--state-complete-bg":`rgba(41, 219, 187, 0.08)`},terminal:{background:`--bg-card`,foreground:`#edeef4`,cursor:`--accent`,cursorAccent:`--bg-card`,black:`--border`,brightBlack:`--text-muted`,red:`#f35454`,brightRed:`#f87a4c`,green:`#36c46f`,brightGreen:`#96e5b6`,yellow:`#f7a501`,brightYellow:`#ffce5c`,blue:`#2f80fa`,brightBlue:`#9fc4ff`,magenta:`#8567ff`,brightMagenta:`#e2d6ff`,cyan:`#30abc6`,brightCyan:`#29dbbb`,white:`#aeb3c2`,brightWhite:`#fafafa`}}},Rb=`phyrexian`,zb=null;function Bb(e){let t=Lb[e];if(!t)return;let n=zb;zb=e;let r=document.documentElement;r.dataset.theme=e;for(let[e,n]of Object.entries(t.colors))r.style.setProperty(e,n);e===`unicorn`&&n!==null&&n!==`unicorn`&&Mb()}function Vb(e){document.documentElement.toggleAttribute(`data-compact-status`,e)}function Hb(e){document.documentElement.toggleAttribute(`data-show-usage`,e)}function Ub(){let e=Lb[zb||Rb];if(!e)return{};let t=getComputedStyle(document.documentElement),n={};for(let[r,i]of Object.entries(e.terminal))n[r]=i.startsWith(`--`)?t.getPropertyValue(i).trim():i;return n}function Wb(){return Object.entries(Lb).map(([e,t])=>({id:e,label:t.label}))}var Gb=k().int().min(1).max(500),Kb=k().int().min(1).max(200);fs(`type`,[M({type:F(`input`),data:O()}),M({type:F(`claim`),cols:Gb,rows:Kb}),M({type:F(`unview`)})]);var qb=M({type:F(`pty-size`),cols:Gb,rows:Kb,seq:k().int().nonnegative()});function Jb(e){try{return JSON.parse(e)}catch{return null}}function Yb(e){let t=qb.safeParse(Jb(e));return t.success?t.data:null}function Xb(e,t){return!e||!t?!1:e.cols===t.cols&&e.rows===t.rows}function Zb(e){return!e||!Number.isInteger(e.cols)||!Number.isInteger(e.rows)?!1:e.cols>0&&e.rows>0}function Qb(e){return{cols:Math.min(Math.max(e.cols,1),500),rows:Math.min(Math.max(e.rows,1),200)}}function $b({authoritative:e,isActiveViewer:t,lastClaim:n}){return!(t&&Xb(e,n))}function ex({isDocumentVisible:e,isDocumentFocused:t,hasFocusInsideCard:n,hasWindowBlurredSinceFocus:r,isPhoneLayout:i}){return e?i||t?!0:n&&!r:!1}function tx({authoritative:e,isActiveViewer:t,isDocumentEngaged:n,isDataWsOpen:r,lastClaim:i}){return!t||!n||!r?`none`:$b({authoritative:e,isActiveViewer:t,lastClaim:i})?`rebid`:`resync`}function nx({authoritative:e,applied:t,proposal:n,isActiveViewer:r,isDataWsOpen:i,lastClaim:a}){let o=!!e&&!Xb(e,t),s=Zb(n)?Qb(n):null,c=r&&!!s&&!Xb(s,a);return{resizeTo:o?e:null,owedClaim:c?s:null,keepsPendingSettle:r&&!s,sendUnview:!r&&i&&!!a,isFollowing:$b({authoritative:e,isActiveViewer:r,lastClaim:a})}}function rx(e){return e instanceof ArrayBuffer||ArrayBuffer.isView(e)?new TextDecoder().decode(e):null}function ix(e){let t=rx(e);return t===null?null:Yb(t)}function ax(e,t){if(typeof e==`string`)return{kind:`bytes`,data:e};let n=ix(e);return n?t.hasSeenSize?n.seq<=t.lastSeq?{kind:`stale`}:{kind:`size`,cols:n.cols,rows:n.rows,seq:n.seq}:{kind:`attach-size`,cols:n.cols,rows:n.rows,seq:n.seq}:{kind:`ignored`}}var ox=new Map([[`deleteContentBackward`,``],[`deleteByComposition`,``],[`deleteCompositionText`,``],[`deleteWordBackward`,`\x1B`],[`deleteSoftLineBackward`,`\x1B`],[`deleteHardLineBackward`,`\x1B`]]);function sx(e){return ox.get(e)??``}var cx=new Set([`insertFromPaste`,`insertFromPasteAsQuotation`,`insertFromDrop`,`insertFromYank`,`historyUndo`,`historyRedo`]);function lx(e){return typeof e!=`string`||e===``||!cx.has(e)}function ux(e){return e?e.keyCode===229||e.key===`Process`:!1}function dx(e,t){let n=Array.from(e??``),r=Array.from(t??``),i=Math.min(n.length,r.length),a=0;for(;a<i&&n[a]===r[a];)a++;return``.repeat(n.length-a)+r.slice(a).join(``).replace(/\r\n|\n|\r/g,`\r`)}var fx=new Set([`http:`,`https:`]);function px(e){let t;try{t=new URL(e)}catch{return null}return fx.has(t.protocol)?t.href:null}var mx=/\bElectron\/\d/,hx=new Set([`localhost`,`127.0.0.1`]);function gx(e){return mx.test(e)}function _x({userAgent:e,pageHostname:t}){return gx(e)&&hx.has(t)}function vx(e){return px(e)!==null}var yx=new Set([0,1]);function bx({button:e,opensInNewTab:t}){return t&&yx.has(e)}function xx(){return _x({userAgent:navigator.userAgent,pageHostname:location.hostname})}function Sx(e){window.open(e,`_blank`,`noopener,noreferrer`)}async function Cx(e){try{let t=await u();return(await fetch(`/open-external`,{method:`POST`,credentials:`same-origin`,cache:`no-store`,headers:{"content-type":`application/json`,"x-glimmervoid-page-token":t},body:JSON.stringify({url:e})})).ok}catch{return!1}}function wx(e){if(!xx()||!vx(e)){Sx(e);return}Cx(e).then(t=>{t||Sx(e)})}function Tx(e){if(e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href]`):null;t instanceof HTMLAnchorElement&&bx({button:e.button,opensInNewTab:t.target===`_blank`})&&vx(t.href)&&(e.preventDefault(),wx(t.href))}function Ex(e){xx()&&(e.addEventListener(`click`,Tx,!0),e.addEventListener(`auxclick`,Tx,!0))}var Dx=/https?:\/\/[^\s<>"']+/g,Ox=new Set([`.`,`,`,`;`,`:`,`!`,`?`,`'`,`"`]),kx={")":`(`,"]":`[`,"}":`{`};function Ax(e,t){let n=0;for(let r of e)r===t&&n++;return n}function jx(e){for(;;){let t=e[e.length-1];if(t===void 0)return e;if(Ox.has(t)){e=e.slice(0,-1);continue}let n=kx[t];if(n&&Ax(e,n)<Ax(e,t)){e=e.slice(0,-1);continue}return e}}function Mx(e){let t=[];for(let n of e.matchAll(Dx)){let e=jx(n[0]);e.length<=8||t.push({start:n.index,end:n.index+e.length,url:e})}return t}var Nx=50;function Px(){return{activate(e,t){wx(t)},allowNonHttpProtocols:!1}}function Fx(e,t){let n=t-1;for(;n>0&&e.getLine(n)?.isWrapped&&t-1-n<Nx;)n--;let r=t-1;for(;e.getLine(r+1)?.isWrapped&&r-(t-1)<Nx;)r++;let i=``,a=[];for(let t=n;t<=r;t++){let n=e.getLine(t);if(!n)break;for(let e=0;e<n.length;e++){let r=n.getCell(e);if(!r)break;if(r.getWidth()===0)continue;let o=r.getChars()||` `;for(let n=0;n<o.length;n++)i+=o[n],a.push({x:e+1,y:t+1})}}return{text:i,cellAt:a}}function Ix(e){return e.registerLinkProvider({provideLinks(t,n){let r=e.buffer?.active;if(!r)return n(void 0);let{text:i,cellAt:a}=Fx(r,t),o=[];for(let{start:e,end:t,url:n}of Mx(i)){let r=a[e],i=a[t-1];r&&i&&o.push({range:{start:r,end:i},text:n,activate(e,t){wx(t)}})}n(o.length?o:void 0)}})}function Lx(e){return e===`\r`}var Rx=6e3,zx=400,Bx=`×`,Vx=new WeakMap;function Hx(){let e=document.getElementById(`notice-region`);return e||(e=V(`div`,`notice-region`),e.id=`notice-region`,e.setAttribute(`role`,`region`),e.setAttribute(`aria-label`,`Notifications`),document.body.appendChild(e)),e}function Ux(e){let t=Vx.get(e);t&&!t.dismissed&&(t.dismissed=!0,t.timer&&clearTimeout(t.timer),e.classList.add(`is-leaving`),e.addEventListener(`transitionend`,()=>e.remove(),{once:!0}),setTimeout(()=>e.remove(),zx))}function Wx(e,t={}){let n=typeof e==`string`?e:String(e),r=t.persist===!0,i=Hx(),a=i.firstElementChild,o=a?Vx.get(a):null;if(o&&o.message===n&&!o.dismissed){if(!a)throw Error(`Toast state exists without a notice element`);o.count++;let e=H(a,`.notice-count`,`span`);return e.textContent=`x${o.count}`,e.hidden=!1,!r&&o.timer&&(clearTimeout(o.timer),o.timer=setTimeout(()=>Ux(a),Rx)),a}let s=V(`div`,r?`notice is-persistent`:`notice`),c={message:n,count:1,timer:null,dismissed:!1};Vx.set(s,c),s.setAttribute(`role`,`alert`);let l=V(`span`,`notice-glyph`,`!`);l.setAttribute(`aria-hidden`,`true`);let u=V(`span`,`notice-msg`,n),d=V(`span`,`notice-count`);d.hidden=!0;let f=V(`button`,`notice-close`,Bx);return f.type=`button`,f.setAttribute(`aria-label`,`Dismiss notification`),f.addEventListener(`click`,()=>Ux(s)),s.append(l,u,d,f),i.prepend(s),requestAnimationFrame(()=>s.classList.add(`is-visible`)),r||(c.timer=setTimeout(()=>Ux(s),Rx)),s}var Gx=1.2,Kx=.005;function qx(e,t){let n=Math.abs(t);return n<10?!1:n>Math.abs(e)*Gx}function Jx(e,t,n=1/0){if(!(t>0))return{scrollLines:0,remainderPx:e};let r=Math.trunc(e/t),i=Math.max(-n,Math.min(n,r));return{scrollLines:i===0?0:-i,remainderPx:e-i*t}}function Yx(e,t,n){let r=e.length>=4?e.slice(1):e.slice();return r.push({positionPx:t,timestampMs:n}),r}function Xx(e){if(!e||e.length<2)return 0;let t=e[0],n=e[e.length-1],r=n.timestampMs-t.timestampMs;if(!(r>0))return 0;let i=(n.positionPx-t.positionPx)/r,a=Math.abs(i);if(!(a>=.08))return 0;let o=Math.min(a,5);return i<0?-o:o}function Zx({velocityPxPerMs:e,startedAtMs:t,cellHeightPx:n,pendingPx:r=0}){return!e||!(n>0)?null:{velocityPxPerMs:e,lastMs:t,cellHeightPx:n,pendingPx:r}}function Qx(e,t){if(!e)return{scrollLines:0,state:null};let n=t-e.lastMs;if(!(n>0))return{scrollLines:0,state:e};let r=Math.abs(e.velocityPxPerMs)-Kx*n;if(!(r>0))return{scrollLines:0,state:null};let i=e.velocityPxPerMs<0?-1:1,a=i*r*n,{scrollLines:o,remainderPx:s}=Jx(e.pendingPx+a,e.cellHeightPx);return{scrollLines:o,state:{velocityPxPerMs:i*r,lastMs:t,cellHeightPx:e.cellHeightPx,pendingPx:s}}}function $x(e,t){return e===`alternate`||!!t&&t!==`none`}function eS(e,t){return!(e>0)||!(t>0)?0:e/t}var tS=1;function nS(e){return typeof e._core?._viewport?.handleTouchScroll==`function`}function rS(e,t){for(let n of e)if(n.identifier===t)return n;return null}function iS(e,t){if(nS(t))return;let n=()=>document.documentElement.dataset.layout===`phone`,r=null,i=0,a=0,o=0,s=!1,c=0,l=[],u=null,d=null,f=()=>{d!==null&&cancelAnimationFrame(d),d=null,u=null},p=()=>$x(t.buffer?.active?.type,t.modes?.mouseTrackingMode),m=()=>{let e=t.element?.querySelector(`.xterm-screen`);return eS(e?.clientHeight||t.element?.clientHeight||0,t.rows)},h=()=>{r=null,s=!1,c=0,l=[]},g=(e,n,r)=>{let i=e<0?-1:1;for(let a=0;a<Math.abs(e);a++)t.element?.dispatchEvent(new WheelEvent(`wheel`,{deltaY:i,deltaMode:tS,clientX:n,clientY:r,bubbles:!0,cancelable:!0}))},_=()=>{if(d=null,!u)return;if(!e.isConnected||!n()||p()){f();return}let r=t.buffer?.active?.viewportY,{scrollLines:i,state:a}=Qx(u,performance.now());if(u=a,i!==0&&t.scrollLines(i),u){if(i!==0&&t.buffer?.active?.viewportY===r){f();return}d=requestAnimationFrame(_)}},v=(e,t,n)=>{u=Zx({velocityPxPerMs:e,startedAtMs:t,cellHeightPx:m(),pendingPx:n}),u&&(d=requestAnimationFrame(_))};e.addEventListener(`touchstart`,e=>{if(f(),!n()||e.touches.length!==1){h();return}let t=e.touches[0];r=t.identifier,i=t.clientX,a=t.clientY,o=t.clientY,s=!1,c=0,l=[]},{passive:!0}),e.addEventListener(`touchmove`,e=>{if(r===null||!n())return;let u=rS(e.touches,r);if(!u)return;if(!s){if(!qx(u.clientX-i,u.clientY-a))return;s=!0,o=u.clientY,c=0,l=Yx([],u.clientY,e.timeStamp)}e.cancelable&&e.preventDefault(),c+=u.clientY-o,o=u.clientY,l=Yx(l,u.clientY,e.timeStamp);let d=p(),{scrollLines:f,remainderPx:h}=Jx(c,m(),d?8:void 0);if(c=h,f!==0){if(d){g(f,u.clientX,u.clientY);return}t.scrollLines(f)}},{passive:!1}),e.addEventListener(`touchend`,e=>{if(!s||p()){h();return}l=Yx(l,o,e.timeStamp);let t=Xx(l),n=c;h(),t!==0&&v(t,performance.now(),n)},{passive:!0}),e.addEventListener(`touchcancel`,()=>{f(),h()},{passive:!0})}var aS=Object.defineProperty,oS=Object.getOwnPropertyDescriptor,sS=(e,t,n,r)=>{for(var i=r>1?void 0:r?oS(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&aS(t,n,i),i},cS=(e,t)=>(n,r)=>t(n,r,e),lS=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?mS.isErrorNoTelemetry(e)?new mS(e.message+`
|
|
71
|
-
|
|
72
|
-
`+e.stack):Error(e.message+`
|
|
73
|
-
|
|
74
|
-
`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function uS(e){fS(e)||lS.onUnexpectedError(e)}var dS=`Canceled`;function fS(e){return e instanceof pS||e instanceof Error&&e.name===dS&&e.message===dS}var pS=class extends Error{constructor(){super(dS),this.name=this.message}},mS=class e extends Error{constructor(e){super(e),this.name=`CodeExpectedError`}static fromError(t){if(t instanceof e)return t;let n=new e;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(e){return e.name===`CodeExpectedError`}},hS;(e=>{function t(e){return e<0}e.isLessThan=t;function n(e){return e<=0}e.isLessThanOrEqual=n;function r(e){return e>0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(hS||={});var gS=class e{constructor(e){this.iterate=e}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>!t(n)||e(n)))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}some(e){let t=!1;return this.iterate(n=>(t=e(n),!t)),t}findFirst(e){let t;return this.iterate(n=>!e(n)||(t=n,!1)),t}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||hS.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};gS.empty=new gS(e=>{});function _S(e,t){let n=this,r=!1,i;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}var vS;(e=>{function t(e){return e&&typeof e==`object`&&typeof e[Symbol.iterator]==`function`}e.is=t;let n=Object.freeze([]);function r(){return n}e.empty=r;function*i(e){yield e}e.single=i;function a(e){return t(e)?e:i(e)}e.wrap=a;function o(e){return e||n}e.from=o;function*s(e){for(let t=e.length-1;t>=0;t--)yield e[t]}e.reverse=s;function c(e){return!e||e[Symbol.iterator]().next().done===!0}e.isEmpty=c;function l(e){return e[Symbol.iterator]().next().value}e.first=l;function u(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}e.some=u;function d(e,t){for(let n of e)if(t(n))return n}e.find=d;function*f(e,t){for(let n of e)t(n)&&(yield n)}e.filter=f;function*p(e,t){let n=0;for(let r of e)yield t(r,n++)}e.map=p;function*m(e,t){let n=0;for(let r of e)yield*t(r,n++)}e.flatMap=m;function*h(...e){for(let t of e)yield*t}e.concat=h;function g(e,t,n){let r=n;for(let n of e)r=t(r,n);return r}e.reduce=g;function*_(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t<n;t++)yield e[t]}e.slice=_;function v(t,n=1/0){let r=[];if(n===0)return[r,t];let i=t[Symbol.iterator]();for(let t=0;t<n;t++){let t=i.next();if(t.done)return[r,e.empty()];r.push(t.value)}return[r,{[Symbol.iterator](){return i}}]}e.consume=v;async function y(e){let t=[];for await(let n of e)t.push(n);return Promise.resolve(t)}e.asyncToArray=y})(vS||={});var yS=null;function bS(e){return yS?.trackDisposable(e),e}function xS(e){yS?.markAsDisposed(e)}function SS(e,t){yS?.setParent(e,t)}function CS(e){if(vS.is(e)){let t=[];for(let n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Encountered errors while disposing of store`);return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function wS(...e){return TS(()=>CS(e))}function TS(e){let t=bS({dispose:_S(()=>{xS(t),e()})});return t}var ES=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,bS(this)}dispose(){this._isDisposed||(xS(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{CS(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return SS(t,this),this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(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(e){if(e){if(e===this)throw Error(`Cannot dispose a disposable on itself!`);this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),SS(e,null))}};ES.DISABLE_DISPOSED_WARNING=!1;var DS=ES,OS=class{constructor(){this._store=new DS,bS(this),SS(this._store,this)}dispose(){xS(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};OS.None=Object.freeze({dispose(){}});var kS=class{constructor(){this._isDisposed=!1,bS(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&SS(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,xS(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&SS(e,null),e}},AS=typeof process<`u`&&`title`in process,jS=AS?`node`:navigator.userAgent,MS=AS?`node`:navigator.platform,NS=jS.includes(`Firefox`),PS=jS.includes(`Edge`),FS=/^((?!chrome|android).)*safari/i.test(jS);function IS(){if(!FS)return 0;let e=jS.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(MS),[`Windows`,`Win16`,`Win32`,`WinCE`].includes(MS),MS.indexOf(`Linux`),/\bCrOS\b/.test(jS);var LS=``,RS=0,zS=0,BS=0,VS=0,HS={css:`#00000000`,rgba:0},US;(e=>{function t(e,t,n,r){return r===void 0?`#${JS(e)}${JS(t)}${JS(n)}`:`#${JS(e)}${JS(t)}${JS(n)}${JS(r)}`}e.toCss=t;function n(e,t,n,r=255){return(e<<24|t<<16|n<<8|r)>>>0}e.toRgba=n;function r(t,n,r,i){return{css:e.toCss(t,n,r,i),rgba:e.toRgba(t,n,r,i)}}e.toColor=r})(US||={});var WS;(e=>{function t(e,t){if(VS=(t.rgba&255)/255,VS===1)return{css:t.css,rgba:t.rgba};let n=t.rgba>>24&255,r=t.rgba>>16&255,i=t.rgba>>8&255,a=e.rgba>>24&255,o=e.rgba>>16&255,s=e.rgba>>8&255;return RS=a+Math.round((n-a)*VS),zS=o+Math.round((r-o)*VS),BS=s+Math.round((i-s)*VS),{css:US.toCss(RS,zS,BS),rgba:US.toRgba(RS,zS,BS)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=qS.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return US.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[RS,zS,BS]=qS.toChannels(t),{css:US.toCss(RS,zS,BS),rgba:t}}e.opaque=i;function a(e,t){return VS=Math.round(t*255),[RS,zS,BS]=qS.toChannels(e.rgba),{css:US.toCss(RS,zS,BS,VS),rgba:US.toRgba(RS,zS,BS,VS)}}e.opacity=a;function o(e,t){return VS=e.rgba&255,a(e,VS*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(WS||={});var GS;(e=>{let t,n;try{let e=document.createElement(`canvas`);e.width=1,e.height=1;let r=e.getContext(`2d`,{willReadFrequently:!0});r&&(t=r,t.globalCompositeOperation=`copy`,n=t.createLinearGradient(0,0,1,1))}catch{}function r(e){if(e.match(/#[\da-f]{3,8}/i))switch(e.length){case 4:return RS=parseInt(e.slice(1,2).repeat(2),16),zS=parseInt(e.slice(2,3).repeat(2),16),BS=parseInt(e.slice(3,4).repeat(2),16),US.toColor(RS,zS,BS);case 5:return RS=parseInt(e.slice(1,2).repeat(2),16),zS=parseInt(e.slice(2,3).repeat(2),16),BS=parseInt(e.slice(3,4).repeat(2),16),VS=parseInt(e.slice(4,5).repeat(2),16),US.toColor(RS,zS,BS,VS);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}let r=e.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(r)return RS=parseInt(r[1]),zS=parseInt(r[2]),BS=parseInt(r[3]),VS=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),US.toColor(RS,zS,BS,VS);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[RS,zS,BS,VS]=t.getImageData(0,0,1,1).data,VS!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:US.toRgba(RS,zS,BS,VS),css:e}}e.toColor=r})(GS||={});var KS;(e=>{function t(e){return n(e>>16&255,e>>8&255,e&255)}e.relativeLuminance=t;function n(e,t,n){let r=e/255,i=t/255,a=n/255,o=r<=.03928?r/12.92:((r+.055)/1.055)**2.4,s=i<=.03928?i/12.92:((i+.055)/1.055)**2.4,c=a<=.03928?a/12.92:((a+.055)/1.055)**2.4;return o*.2126+s*.7152+c*.0722}e.relativeLuminance2=n})(KS||={});var qS;(e=>{function t(e,t){if(VS=(t&255)/255,VS===1)return t;let n=t>>24&255,r=t>>16&255,i=t>>8&255,a=e>>24&255,o=e>>16&255,s=e>>8&255;return RS=a+Math.round((n-a)*VS),zS=o+Math.round((r-o)*VS),BS=s+Math.round((i-s)*VS),US.toRgba(RS,zS,BS)}e.blend=t;function n(e,t,n){let a=KS.relativeLuminance(e>>8),o=KS.relativeLuminance(t>>8);if(YS(a,o)<n){if(o<a){let o=r(e,t,n),s=YS(a,KS.relativeLuminance(o>>8));if(s<n){let r=i(e,t,n);return s>YS(a,KS.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=YS(a,KS.relativeLuminance(s>>8));if(c<n){let i=r(e,t,n);return c>YS(a,KS.relativeLuminance(i>>8))?s:i}return s}}e.ensureContrastRatio=n;function r(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=YS(KS.relativeLuminance2(o,s,c),KS.relativeLuminance2(r,i,a));for(;l<n&&(o>0||s>0||c>0);)o-=Math.max(0,Math.ceil(o*.1)),s-=Math.max(0,Math.ceil(s*.1)),c-=Math.max(0,Math.ceil(c*.1)),l=YS(KS.relativeLuminance2(o,s,c),KS.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.reduceLuminance=r;function i(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=YS(KS.relativeLuminance2(o,s,c),KS.relativeLuminance2(r,i,a));for(;l<n&&(o<255||s<255||c<255);)o=Math.min(255,o+Math.ceil((255-o)*.1)),s=Math.min(255,s+Math.ceil((255-s)*.1)),c=Math.min(255,c+Math.ceil((255-c)*.1)),l=YS(KS.relativeLuminance2(o,s,c),KS.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.increaseLuminance=i;function a(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}e.toChannels=a})(qS||={});function JS(e){let t=e.toString(16);return t.length<2?`0`+t:t}function YS(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}function XS(e){if(!e)throw Error(`value must not be falsy`);return e}function ZS(e){return 57508<=e&&e<=57558}function Yte(e){return 57520<=e&&e<=57527}function Xte(e){return 57344<=e&&e<=63743}function Zte(e){return 9472<=e&&e<=9631}function Qte(e){return e>=128512&&e<=128591||e>=127744&&e<=128511||e>=128640&&e<=128767||e>=9728&&e<=9983||e>=9984&&e<=10175||e>=65024&&e<=65039||e>=129280&&e<=129535||e>=127462&&e<=127487}function $te(e,t,n,r){return t===1&&n>Math.ceil(r*1.5)&&e!==void 0&&e>255&&!Qte(e)&&!ZS(e)&&!Xte(e)}function QS(e){return ZS(e)||Zte(e)}function ene(){return{css:{canvas:$S(),cell:$S()},device:{canvas:$S(),cell:$S(),char:{width:0,height:0,left:0,top:0}}}}function $S(){return{width:0,height:0}}function tne(e,t,n=0){return(e-(Math.round(t)*2-n))%(Math.round(t)*2)}var eC=0,tC=0,nC=!1,rC=!1,iC=!1,aC,oC=0,nne=class{constructor(e,t,n,r,i,a){this._terminal=e,this._optionService=t,this._selectionRenderModel=n,this._decorationService=r,this._coreBrowserService=i,this._themeService=a,this.result={fg:0,bg:0,ext:0}}resolve(e,t,n,r){if(this.result.bg=e.bg,this.result.fg=e.fg,this.result.ext=e.bg&268435456?e.extended.ext:0,tC=0,eC=0,rC=!1,nC=!1,iC=!1,aC=this._themeService.colors,oC=0,e.getCode()!==0&&e.extended.underlineStyle===4){let e=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));oC=t*r%(Math.round(e)*2)}if(this._decorationService.forEachDecorationAtCell(t,n,`bottom`,e=>{e.backgroundColorRGB&&(tC=e.backgroundColorRGB.rgba>>8&16777215,rC=!0),e.foregroundColorRGB&&(eC=e.foregroundColorRGB.rgba>>8&16777215,nC=!0)}),iC=this._selectionRenderModel.isCellSelected(this._terminal,t,n),iC){if(this.result.fg&67108864||this.result.bg&50331648){if(this.result.fg&67108864)switch(this.result.fg&50331648){case 16777216:case 33554432:tC=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:tC=(this.result.fg&16777215)<<8|255;break;default:tC=this._themeService.colors.foreground.rgba}else switch(this.result.bg&50331648){case 16777216:case 33554432:tC=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:tC=(this.result.bg&16777215)<<8|255}tC=qS.blend(tC,(this._coreBrowserService.isFocused?aC.selectionBackgroundOpaque:aC.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}else tC=(this._coreBrowserService.isFocused?aC.selectionBackgroundOpaque:aC.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(rC=!0,aC.selectionForeground&&(eC=aC.selectionForeground.rgba>>8&16777215,nC=!0),QS(e.getCode())){if(this.result.fg&67108864&&!(this.result.bg&50331648))eC=(this._coreBrowserService.isFocused?aC.selectionBackgroundOpaque:aC.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(this.result.fg&67108864)switch(this.result.bg&50331648){case 16777216:case 33554432:eC=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:eC=(this.result.bg&16777215)<<8|255}else switch(this.result.fg&50331648){case 16777216:case 33554432:eC=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:eC=(this.result.fg&16777215)<<8|255;break;default:eC=this._themeService.colors.foreground.rgba}eC=qS.blend(eC,(this._coreBrowserService.isFocused?aC.selectionBackgroundOpaque:aC.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}nC=!0}}this._decorationService.forEachDecorationAtCell(t,n,`top`,e=>{e.backgroundColorRGB&&(tC=e.backgroundColorRGB.rgba>>8&16777215,rC=!0),e.foregroundColorRGB&&(eC=e.foregroundColorRGB.rgba>>8&16777215,nC=!0)}),rC&&(tC=iC?e.bg&-150994944|tC|50331648:e.bg&-16777216|tC|50331648),nC&&(eC=e.fg&-83886080|eC|50331648),this.result.fg&67108864&&(rC&&!nC&&(eC=this.result.bg&50331648?this.result.fg&-134217728|this.result.bg&67108863:this.result.fg&-134217728|aC.background.rgba>>8&16777215|50331648,nC=!0),!rC&&nC&&(tC=this.result.fg&50331648?this.result.bg&-67108864|this.result.fg&67108863:this.result.bg&-67108864|aC.foreground.rgba>>8&16777215|50331648,rC=!0)),aC=void 0,this.result.bg=rC?tC:this.result.bg,this.result.fg=nC?eC:this.result.fg,this.result.ext&=536870911,this.result.ext|=oC<<29&3758096384}},rne=.5,sC=NS||PS?`bottom`:`ideographic`,ine={"▀":[{x:0,y:0,w:8,h:4}],"▁":[{x:0,y:7,w:8,h:1}],"▂":[{x:0,y:6,w:8,h:2}],"▃":[{x:0,y:5,w:8,h:3}],"▄":[{x:0,y:4,w:8,h:4}],"▅":[{x:0,y:3,w:8,h:5}],"▆":[{x:0,y:2,w:8,h:6}],"▇":[{x:0,y:1,w:8,h:7}],"█":[{x:0,y:0,w:8,h:8}],"▉":[{x:0,y:0,w:7,h:8}],"▊":[{x:0,y:0,w:6,h:8}],"▋":[{x:0,y:0,w:5,h:8}],"▌":[{x:0,y:0,w:4,h:8}],"▍":[{x:0,y:0,w:3,h:8}],"▎":[{x:0,y:0,w:2,h:8}],"▏":[{x:0,y:0,w:1,h:8}],"▐":[{x:4,y:0,w:4,h:8}],"▔":[{x:0,y:0,w:8,h:1}],"▕":[{x:7,y:0,w:1,h:8}],"▖":[{x:0,y:4,w:4,h:4}],"▗":[{x:4,y:4,w:4,h:4}],"▘":[{x:0,y:0,w:4,h:4}],"▙":[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"▚":[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}],"▛":[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}],"▜":[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}],"▝":[{x:4,y:0,w:4,h:4}],"▞":[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}],"▟":[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"🭰":[{x:1,y:0,w:1,h:8}],"🭱":[{x:2,y:0,w:1,h:8}],"🭲":[{x:3,y:0,w:1,h:8}],"🭳":[{x:4,y:0,w:1,h:8}],"🭴":[{x:5,y:0,w:1,h:8}],"🭵":[{x:6,y:0,w:1,h:8}],"🭶":[{x:0,y:1,w:8,h:1}],"🭷":[{x:0,y:2,w:8,h:1}],"🭸":[{x:0,y:3,w:8,h:1}],"🭹":[{x:0,y:4,w:8,h:1}],"🭺":[{x:0,y:5,w:8,h:1}],"🭻":[{x:0,y:6,w:8,h:1}],"🭼":[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🭽":[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭾":[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭿":[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🮀":[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮁":[{x:0,y:0,w:8,h:1},{x:0,y:2,w:8,h:1},{x:0,y:4,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮂":[{x:0,y:0,w:8,h:2}],"🮃":[{x:0,y:0,w:8,h:3}],"🮄":[{x:0,y:0,w:8,h:5}],"🮅":[{x:0,y:0,w:8,h:6}],"🮆":[{x:0,y:0,w:8,h:7}],"🮇":[{x:6,y:0,w:2,h:8}],"🮈":[{x:5,y:0,w:3,h:8}],"🮉":[{x:3,y:0,w:5,h:8}],"🮊":[{x:2,y:0,w:6,h:8}],"🮋":[{x:1,y:0,w:7,h:8}],"🮕":[{x:0,y:0,w:2,h:2},{x:4,y:0,w:2,h:2},{x:2,y:2,w:2,h:2},{x:6,y:2,w:2,h:2},{x:0,y:4,w:2,h:2},{x:4,y:4,w:2,h:2},{x:2,y:6,w:2,h:2},{x:6,y:6,w:2,h:2}],"🮖":[{x:2,y:0,w:2,h:2},{x:6,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:4,y:2,w:2,h:2},{x:2,y:4,w:2,h:2},{x:6,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:4,y:6,w:2,h:2}],"🮗":[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]},cC={"░":[[1,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],"▒":[[1,0],[0,0],[0,1],[0,0]],"▓":[[0,1],[1,1],[1,0],[1,1]]},lC={"─":{1:`M0,.5 L1,.5`},"━":{3:`M0,.5 L1,.5`},"│":{1:`M.5,0 L.5,1`},"┃":{3:`M.5,0 L.5,1`},"┌":{1:`M0.5,1 L.5,.5 L1,.5`},"┏":{3:`M0.5,1 L.5,.5 L1,.5`},"┐":{1:`M0,.5 L.5,.5 L.5,1`},"┓":{3:`M0,.5 L.5,.5 L.5,1`},"└":{1:`M.5,0 L.5,.5 L1,.5`},"┗":{3:`M.5,0 L.5,.5 L1,.5`},"┘":{1:`M.5,0 L.5,.5 L0,.5`},"┛":{3:`M.5,0 L.5,.5 L0,.5`},"├":{1:`M.5,0 L.5,1 M.5,.5 L1,.5`},"┣":{3:`M.5,0 L.5,1 M.5,.5 L1,.5`},"┤":{1:`M.5,0 L.5,1 M.5,.5 L0,.5`},"┫":{3:`M.5,0 L.5,1 M.5,.5 L0,.5`},"┬":{1:`M0,.5 L1,.5 M.5,.5 L.5,1`},"┳":{3:`M0,.5 L1,.5 M.5,.5 L.5,1`},"┴":{1:`M0,.5 L1,.5 M.5,.5 L.5,0`},"┻":{3:`M0,.5 L1,.5 M.5,.5 L.5,0`},"┼":{1:`M0,.5 L1,.5 M.5,0 L.5,1`},"╋":{3:`M0,.5 L1,.5 M.5,0 L.5,1`},"╴":{1:`M.5,.5 L0,.5`},"╸":{3:`M.5,.5 L0,.5`},"╵":{1:`M.5,.5 L.5,0`},"╹":{3:`M.5,.5 L.5,0`},"╶":{1:`M.5,.5 L1,.5`},"╺":{3:`M.5,.5 L1,.5`},"╷":{1:`M.5,.5 L.5,1`},"╻":{3:`M.5,.5 L.5,1`},"═":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"║":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"╒":{1:(e,t)=>`M.5,1 L.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},"╓":{1:(e,t)=>`M${.5-e},1 L${.5-e},.5 L1,.5 M${.5+e},.5 L${.5+e},1`},"╔":{1:(e,t)=>`M1,${.5-t} L${.5-e},${.5-t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`},"╕":{1:(e,t)=>`M0,${.5-t} L.5,${.5-t} L.5,1 M0,${.5+t} L.5,${.5+t}`},"╖":{1:(e,t)=>`M${.5+e},1 L${.5+e},.5 L0,.5 M${.5-e},.5 L${.5-e},1`},"╗":{1:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5+e},${.5-t} L${.5+e},1`},"╘":{1:(e,t)=>`M.5,0 L.5,${.5+t} L1,${.5+t} M.5,${.5-t} L1,${.5-t}`},"╙":{1:(e,t)=>`M1,.5 L${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`},"╚":{1:(e,t)=>`M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0 M1,${.5+t} L${.5-e},${.5+t} L${.5-e},0`},"╛":{1:(e,t)=>`M0,${.5+t} L.5,${.5+t} L.5,0 M0,${.5-t} L.5,${.5-t}`},"╜":{1:(e,t)=>`M0,.5 L${.5+e},.5 L${.5+e},0 M${.5-e},.5 L${.5-e},0`},"╝":{1:(e,t)=>`M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M0,${.5+t} L${.5+e},${.5+t} L${.5+e},0`},"╞":{1:(e,t)=>`M.5,0 L.5,1 M.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},"╟":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1 M${.5+e},.5 L1,.5`},"╠":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},"╡":{1:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L.5,${.5-t} M0,${.5+t} L.5,${.5+t}`},"╢":{1:(e,t)=>`M0,.5 L${.5-e},.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"╣":{1:(e,t)=>`M${.5+e},0 L${.5+e},1 M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0`},"╤":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t} M.5,${.5+t} L.5,1`},"╥":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},1 M${.5+e},.5 L${.5+e},1`},"╦":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`},"╧":{1:(e,t)=>`M.5,0 L.5,${.5-t} M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"╨":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`},"╩":{1:(e,t)=>`M0,${.5+t} L1,${.5+t} M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},"╪":{1:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"╫":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"╬":{1:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},"╱":{1:`M1,0 L0,1`},"╲":{1:`M0,0 L1,1`},"╳":{1:`M1,0 L0,1 M0,0 L1,1`},"╼":{1:`M.5,.5 L0,.5`,3:`M.5,.5 L1,.5`},"╽":{1:`M.5,.5 L.5,0`,3:`M.5,.5 L.5,1`},"╾":{1:`M.5,.5 L1,.5`,3:`M.5,.5 L0,.5`},"╿":{1:`M.5,.5 L.5,1`,3:`M.5,.5 L.5,0`},"┍":{1:`M.5,.5 L.5,1`,3:`M.5,.5 L1,.5`},"┎":{1:`M.5,.5 L1,.5`,3:`M.5,.5 L.5,1`},"┑":{1:`M.5,.5 L.5,1`,3:`M.5,.5 L0,.5`},"┒":{1:`M.5,.5 L0,.5`,3:`M.5,.5 L.5,1`},"┕":{1:`M.5,.5 L.5,0`,3:`M.5,.5 L1,.5`},"┖":{1:`M.5,.5 L1,.5`,3:`M.5,.5 L.5,0`},"┙":{1:`M.5,.5 L.5,0`,3:`M.5,.5 L0,.5`},"┚":{1:`M.5,.5 L0,.5`,3:`M.5,.5 L.5,0`},"┝":{1:`M.5,0 L.5,1`,3:`M.5,.5 L1,.5`},"┞":{1:`M0.5,1 L.5,.5 L1,.5`,3:`M.5,.5 L.5,0`},"┟":{1:`M.5,0 L.5,.5 L1,.5`,3:`M.5,.5 L.5,1`},"┠":{1:`M.5,.5 L1,.5`,3:`M.5,0 L.5,1`},"┡":{1:`M.5,.5 L.5,1`,3:`M.5,0 L.5,.5 L1,.5`},"┢":{1:`M.5,.5 L.5,0`,3:`M0.5,1 L.5,.5 L1,.5`},"┥":{1:`M.5,0 L.5,1`,3:`M.5,.5 L0,.5`},"┦":{1:`M0,.5 L.5,.5 L.5,1`,3:`M.5,.5 L.5,0`},"┧":{1:`M.5,0 L.5,.5 L0,.5`,3:`M.5,.5 L.5,1`},"┨":{1:`M.5,.5 L0,.5`,3:`M.5,0 L.5,1`},"┩":{1:`M.5,.5 L.5,1`,3:`M.5,0 L.5,.5 L0,.5`},"┪":{1:`M.5,.5 L.5,0`,3:`M0,.5 L.5,.5 L.5,1`},"┭":{1:`M0.5,1 L.5,.5 L1,.5`,3:`M.5,.5 L0,.5`},"┮":{1:`M0,.5 L.5,.5 L.5,1`,3:`M.5,.5 L1,.5`},"┯":{1:`M.5,.5 L.5,1`,3:`M0,.5 L1,.5`},"┰":{1:`M0,.5 L1,.5`,3:`M.5,.5 L.5,1`},"┱":{1:`M.5,.5 L1,.5`,3:`M0,.5 L.5,.5 L.5,1`},"┲":{1:`M.5,.5 L0,.5`,3:`M0.5,1 L.5,.5 L1,.5`},"┵":{1:`M.5,0 L.5,.5 L1,.5`,3:`M.5,.5 L0,.5`},"┶":{1:`M.5,0 L.5,.5 L0,.5`,3:`M.5,.5 L1,.5`},"┷":{1:`M.5,.5 L.5,0`,3:`M0,.5 L1,.5`},"┸":{1:`M0,.5 L1,.5`,3:`M.5,.5 L.5,0`},"┹":{1:`M.5,.5 L1,.5`,3:`M.5,0 L.5,.5 L0,.5`},"┺":{1:`M.5,.5 L0,.5`,3:`M.5,0 L.5,.5 L1,.5`},"┽":{1:`M.5,0 L.5,1 M.5,.5 L1,.5`,3:`M.5,.5 L0,.5`},"┾":{1:`M.5,0 L.5,1 M.5,.5 L0,.5`,3:`M.5,.5 L1,.5`},"┿":{1:`M.5,0 L.5,1`,3:`M0,.5 L1,.5`},"╀":{1:`M0,.5 L1,.5 M.5,.5 L.5,1`,3:`M.5,.5 L.5,0`},"╁":{1:`M.5,.5 L.5,0 M0,.5 L1,.5`,3:`M.5,.5 L.5,1`},"╂":{1:`M0,.5 L1,.5`,3:`M.5,0 L.5,1`},"╃":{1:`M0.5,1 L.5,.5 L1,.5`,3:`M.5,0 L.5,.5 L0,.5`},"╄":{1:`M0,.5 L.5,.5 L.5,1`,3:`M.5,0 L.5,.5 L1,.5`},"╅":{1:`M.5,0 L.5,.5 L1,.5`,3:`M0,.5 L.5,.5 L.5,1`},"╆":{1:`M.5,0 L.5,.5 L0,.5`,3:`M0.5,1 L.5,.5 L1,.5`},"╇":{1:`M.5,.5 L.5,1`,3:`M.5,.5 L.5,0 M0,.5 L1,.5`},"╈":{1:`M.5,.5 L.5,0`,3:`M0,.5 L1,.5 M.5,.5 L.5,1`},"╉":{1:`M.5,.5 L1,.5`,3:`M.5,0 L.5,1 M.5,.5 L0,.5`},"╊":{1:`M.5,.5 L0,.5`,3:`M.5,0 L.5,1 M.5,.5 L1,.5`},"╌":{1:`M.1,.5 L.4,.5 M.6,.5 L.9,.5`},"╍":{3:`M.1,.5 L.4,.5 M.6,.5 L.9,.5`},"┄":{1:`M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5`},"┅":{3:`M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5`},"┈":{1:`M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5`},"┉":{3:`M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5`},"╎":{1:`M.5,.1 L.5,.4 M.5,.6 L.5,.9`},"╏":{3:`M.5,.1 L.5,.4 M.5,.6 L.5,.9`},"┆":{1:`M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333`},"┇":{3:`M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333`},"┊":{1:`M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95`},"┋":{3:`M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95`},"╭":{1:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,1,.5`},"╮":{1:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,0,.5`},"╯":{1:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,0,.5`},"╰":{1:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,1,.5`}},uC={"":{d:`M.3,1 L.03,1 L.03,.88 C.03,.82,.06,.78,.11,.73 C.15,.7,.2,.68,.28,.65 L.43,.6 C.49,.58,.53,.56,.56,.53 C.59,.5,.6,.47,.6,.43 L.6,.27 L.4,.27 L.69,.1 L.98,.27 L.78,.27 L.78,.46 C.78,.52,.76,.56,.72,.61 C.68,.66,.63,.67,.56,.7 L.48,.72 C.42,.74,.38,.76,.35,.78 C.32,.8,.31,.84,.31,.88 L.31,1 M.3,.5 L.03,.59 L.03,.09 L.3,.09 L.3,.655`,type:0},"":{d:`M.7,.4 L.7,.47 L.2,.47 L.2,.03 L.355,.03 L.355,.4 L.705,.4 M.7,.5 L.86,.5 L.86,.95 L.69,.95 L.44,.66 L.46,.86 L.46,.95 L.3,.95 L.3,.49 L.46,.49 L.71,.78 L.69,.565 L.69,.5`,type:0},"":{d:`M.25,.94 C.16,.94,.11,.92,.11,.87 L.11,.53 C.11,.48,.15,.455,.23,.45 L.23,.3 C.23,.25,.26,.22,.31,.19 C.36,.16,.43,.15,.51,.15 C.59,.15,.66,.16,.71,.19 C.77,.22,.79,.26,.79,.3 L.79,.45 C.87,.45,.91,.48,.91,.53 L.91,.87 C.91,.92,.86,.94,.77,.94 L.24,.94 M.53,.2 C.49,.2,.45,.21,.42,.23 C.39,.25,.38,.27,.38,.3 L.38,.45 L.68,.45 L.68,.3 C.68,.27,.67,.25,.64,.23 C.61,.21,.58,.2,.53,.2 M.58,.82 L.58,.66 C.63,.65,.65,.63,.65,.6 C.65,.58,.64,.57,.61,.56 C.58,.55,.56,.54,.52,.54 C.48,.54,.46,.55,.43,.56 C.4,.57,.39,.59,.39,.6 C.39,.63,.41,.64,.46,.66 L.46,.82 L.57,.82`,type:0},"":{d:`M0,0 L1,.5 L0,1`,type:0,rightPadding:2},"":{d:`M-1,-.5 L1,.5 L-1,1.5`,type:1,leftPadding:1,rightPadding:1},"":{d:`M1,0 L0,.5 L1,1`,type:0,leftPadding:2},"":{d:`M2,-.5 L0,.5 L2,1.5`,type:1,leftPadding:1,rightPadding:1},"":{d:`M0,0 L0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0`,type:0,rightPadding:1},"":{d:`M.2,1 C.422,1,.8,.826,.78,.5 C.8,.174,0.422,0,.2,0`,type:1,rightPadding:1},"":{d:`M1,0 L1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0`,type:0,leftPadding:1},"":{d:`M.8,1 C0.578,1,0.2,.826,.22,.5 C0.2,0.174,0.578,0,0.8,0`,type:1,leftPadding:1},"":{d:`M-.5,-.5 L1.5,1.5 L-.5,1.5`,type:0},"":{d:`M-.5,-.5 L1.5,1.5`,type:1,leftPadding:1,rightPadding:1},"":{d:`M1.5,-.5 L-.5,1.5 L1.5,1.5`,type:0},"":{d:`M1.5,-.5 L-.5,1.5 L-.5,-.5`,type:0},"":{d:`M1.5,-.5 L-.5,1.5`,type:1,leftPadding:1,rightPadding:1},"":{d:`M-.5,-.5 L1.5,1.5 L1.5,-.5`,type:0}};uC[``]=uC[``],uC[``]=uC[``];function dC(e,t,n,r,i,a,o,s){let c=ine[t];if(c)return fC(e,c,n,r,i,a),!0;let l=cC[t];if(l)return mC(e,l,n,r,i,a),!0;let u=lC[t];if(u)return hC(e,u,n,r,i,a,s),!0;let d=uC[t];return d?(gC(e,d,n,r,i,a,o,s),!0):!1}function fC(e,t,n,r,i,a){for(let o=0;o<t.length;o++){let s=t[o],c=i/8,l=a/8;e.fillRect(n+s.x*c,r+s.y*l,s.w*c,s.h*l)}}var pC=new Map;function mC(e,t,n,r,i,a){let o=pC.get(t);o||(o=new Map,pC.set(t,o));let s=e.fillStyle;if(typeof s!=`string`)throw Error(`Unexpected fillStyle type "${s}"`);let c=o.get(s);if(!c){let n=t[0].length,r=t.length,i=e.canvas.ownerDocument.createElement(`canvas`);i.width=n,i.height=r;let a=XS(i.getContext(`2d`)),l=new ImageData(n,r),u,d,f,p;if(s.startsWith(`#`))u=parseInt(s.slice(1,3),16),d=parseInt(s.slice(3,5),16),f=parseInt(s.slice(5,7),16),p=s.length>7&&parseInt(s.slice(7,9),16)||1;else if(s.startsWith(`rgba`))[u,d,f,p]=s.substring(5,s.length-1).split(`,`).map(e=>parseFloat(e));else throw Error(`Unexpected fillStyle color format "${s}" when drawing pattern glyph`);for(let e=0;e<r;e++)for(let r=0;r<n;r++)l.data[(e*n+r)*4]=u,l.data[(e*n+r)*4+1]=d,l.data[(e*n+r)*4+2]=f,l.data[(e*n+r)*4+3]=t[e][r]*(p*255);a.putImageData(l,0,0),c=XS(e.createPattern(i,null)),o.set(s,c)}e.fillStyle=c,e.fillRect(n,r,i,a)}function hC(e,t,n,r,i,a,o){e.strokeStyle=e.fillStyle;for(let[s,c]of Object.entries(t)){e.beginPath(),e.lineWidth=o*Number.parseInt(s);let t;t=typeof c==`function`?c(.15,.15/a*i):c;for(let s of t.split(` `)){let t=s[0],c=vC[t];if(!c){console.error(`Could not find drawing instructions for "${t}"`);continue}let l=s.substring(1).split(`,`);!l[0]||!l[1]||c(e,yC(l,i,a,n,r,!0,o))}e.stroke(),e.closePath()}}function gC(e,t,n,r,i,a,o,s){let c=new Path2D;c.rect(n,r,i,a),e.clip(c),e.beginPath();let l=o/12;e.lineWidth=s*l;for(let o of t.d.split(` `)){let c=o[0],u=vC[c];if(!u){console.error(`Could not find drawing instructions for "${c}"`);continue}let d=o.substring(1).split(`,`);!d[0]||!d[1]||u(e,yC(d,i,a,n,r,!1,s,(t.leftPadding??0)*(l/2),(t.rightPadding??0)*(l/2)))}t.type===1?(e.strokeStyle=e.fillStyle,e.stroke()):e.fill(),e.closePath()}function _C(e,t,n=0){return Math.max(Math.min(e,t),n)}var vC={C:(e,t)=>e.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]),L:(e,t)=>e.lineTo(t[0],t[1]),M:(e,t)=>e.moveTo(t[0],t[1])};function yC(e,t,n,r,i,a,o,s=0,c=0){let l=e.map(e=>parseFloat(e)||parseInt(e));if(l.length<2)throw Error(`Too few arguments for instruction`);for(let e=0;e<l.length;e+=2)l[e]*=t-s*o-c*o,a&&l[e]!==0&&(l[e]=_C(Math.round(l[e]+.5)-.5,t,0)),l[e]+=r+s*o;for(let e=1;e<l.length;e+=2)l[e]*=n,a&&l[e]!==0&&(l[e]=_C(Math.round(l[e]+.5)-.5,n,0)),l[e]+=i;return l}var bC=class{constructor(){this._data={}}set(e,t,n){this._data[e]||(this._data[e]={}),this._data[e][t]=n}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},xC=class{constructor(){this._data=new bC}set(e,t,n,r,i){this._data.get(e,t)||this._data.set(e,t,new bC),this._data.get(e,t).set(n,r,i)}get(e,t,n,r){return this._data.get(e,t)?.get(n,r)}clear(){this._data.clear()}},SC=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&=(this._cancelCallback(this._idleCallback),void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||=this._requestCallback(this._process.bind(this))}_process(e){this._idleCallback=void 0;let t=0,n=0,r=e.timeRemaining(),i=0;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),n=Math.max(t,n),i=e.timeRemaining(),n*1.5>i){r-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(r-t))}ms`),this._start();return}r=i}this.clear()}},CC=class extends SC{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},wC=class extends SC{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},TC=!AS&&`requestIdleCallback`in window?wC:CC,EC=class e{constructor(){this.fg=0,this.bg=0,this.extended=new DC}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;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)}isBgDefault(){return!(this.bg&50331648)}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):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},DC=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},OC=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};OC.Undefined=new OC(void 0);var kC=globalThis.performance&&typeof globalThis.performance.now==`function`,AC=class e{static create(t){return new e(t)}constructor(e){this._now=kC&&e===!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._now()-this._startTime:this._stopTime-this._startTime}},jC;(e=>{e.None=()=>OS.None;function t(e,t){return d(e,()=>{},0,void 0,!0,void 0,t)}e.defer=t;function n(e){return(t,n=null,r)=>{let i=!1,a;return a=e(e=>{if(!i)return a?a.dispose():i=!0,t.call(n,e)},null,r),i&&a.dispose(),a}}e.once=n;function r(e,t,n){return l((n,r=null,i)=>e(e=>n.call(r,t(e)),null,i),n)}e.map=r;function i(e,t,n){return l((n,r=null,i)=>e(e=>{t(e),n.call(r,e)},null,i),n)}e.forEach=i;function a(e,t,n){return l((n,r=null,i)=>e(e=>t(e)&&n.call(r,e),null,i),n)}e.filter=a;function o(e){return e}e.signal=o;function s(...e){return(t,n=null,r)=>u(wS(...e.map(e=>e(e=>t.call(n,e)))),r)}e.any=s;function c(e,t,n,i){let a=n;return r(e,e=>(a=t(a,e),a),i)}e.reduce=c;function l(e,t){let n,r=new UC({onWillAddFirstListener(){n=e(r.fire,r)},onDidRemoveLastListener(){n?.dispose()}});return t?.add(r),r.event}function u(e,t){return t instanceof Array?t.push(e):t&&t.add(e),e}function d(e,t,n=100,r=!1,i=!1,a,o){let s,c,l,u=0,d,f=new UC({leakWarningThreshold:a,onWillAddFirstListener(){s=e(e=>{u++,c=t(c,e),r&&!l&&(f.fire(c),c=void 0),d=()=>{let e=c;c=void 0,l=void 0,(!r||u>1)&&f.fire(e),u=0},typeof n==`number`?(clearTimeout(l),l=setTimeout(d,n)):l===void 0&&(l=0,queueMicrotask(d))})},onWillRemoveListener(){i&&u>0&&d?.()},onDidRemoveLastListener(){d=void 0,s.dispose()}});return o?.add(f),f.event}e.debounce=d;function f(t,n=0,r){return e.debounce(t,(e,t)=>e?(e.push(t),e):[t],n,void 0,!0,void 0,r)}e.accumulate=f;function p(e,t=(e,t)=>e===t,n){let r=!0,i;return a(e,e=>{let n=r||!t(e,i);return r=!1,i=e,n},n)}e.latch=p;function m(t,n,r){return[e.filter(t,n,r),e.filter(t,e=>!n(e),r)]}e.split=m;function h(e,t=!1,n=[],r){let i=n.slice(),a=e(e=>{i?i.push(e):s.fire(e)});r&&r.add(a);let o=()=>{i?.forEach(e=>s.fire(e)),i=null},s=new UC({onWillAddFirstListener(){a||(a=e(e=>s.fire(e)),r&&r.add(a))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){a&&a.dispose(),a=null}});return r&&r.add(s),s.event}e.buffer=h;function g(e,t){return(n,r,i)=>{let a=t(new v);return e(function(e){let t=a.evaluate(e);t!==_&&n.call(r,t)},void 0,i)}}e.chain=g;let _=Symbol(`HaltChainable`);class v{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(t=>(e(t),t)),this}filter(e){return this.steps.push(t=>e(t)?t:_),this}reduce(e,t){let n=t;return this.steps.push(t=>(n=e(n,t),n)),this}latch(e=(e,t)=>e===t){let t=!0,n;return this.steps.push(r=>{let i=t||!e(r,n);return t=!1,n=r,i?r:_}),this}evaluate(e){for(let t of this.steps)if(e=t(e),e===_)break;return e}}function y(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new UC({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event}e.fromNodeEventEmitter=y;function b(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new UC({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=b;function x(e){return new Promise(t=>n(e)(t))}e.toPromise=x;function ee(e){let t=new UC;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=ee;function te(e,t){return e(e=>t.fire(e))}e.forward=te;function ne(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=ne;class re{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;let n={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new UC(n),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function ie(e,t){return new re(e,t).emitter.event}e.fromObservable=ie;function S(e){return(t,n,r)=>{let i=0,a=!1,o={beginUpdate(){i++},endUpdate(){i--,i===0&&(e.reportChanges(),a&&(a=!1,t.call(n)))},handlePossibleChange(){},handleChange(){a=!0}};e.addObserver(o),e.reportChanges();let s={dispose(){e.removeObserver(o)}};return r instanceof DS?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=S})(jC||={});var MC=class e{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${e._idPool++}`,e.all.add(this)}start(e){this._stopWatch=new AC,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};MC.all=new Set,MC._idPool=0;var NC=MC,PC=-1,FC=class e{constructor(t,n,r=(e._idPool++).toString(16).padStart(3,`0`)){this._errorHandler=t,this.threshold=n,this.name=r,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){let n=this.threshold;if(n<=0||t<n)return;this._stacks||=new Map;let r=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,r+1),--this._warnCountdown,this._warnCountdown<=0){this._warnCountdown=n*.5;let[e,r]=this.getMostFrequentStack(),i=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${r}):`;console.warn(i),console.warn(e);let a=new RC(i,e);this._errorHandler(a)}return()=>{let t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[n,r]of this._stacks)(!e||t<r)&&(e=[n,r],t=r);return e}};FC._idPool=1;var IC=FC,LC=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??``)}print(){console.warn(this.value.split(`
|
|
75
|
-
`).slice(2).join(`
|
|
76
|
-
`))}},RC=class extends Error{constructor(e,t){super(e),this.name=`ListenerLeakError`,this.stack=t}},zC=class extends Error{constructor(e,t){super(e),this.name=`ListenerRefusalError`,this.stack=t}},BC=0,VC=class{constructor(e){this.value=e,this.id=BC++}},HC=2,UC=class{constructor(e){this._size=0,this._options=e,this._leakageMon=PC>0||this._options?.leakWarningThreshold?new IC(e?.onListenerError??uS,this._options?.leakWarningThreshold??PC):void 0,this._perfMon=this._options?._profName?new NC(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let t=this._leakageMon.getMostFrequentStack()??[`UNKNOWN stack`,-1],n=new zC(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||uS)(n),OS.None}if(this._disposed)return OS.None;t&&(e=e.bind(t));let r=new VC(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=LC.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof VC?(this._deliveryQueue??=new WC,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=TS(()=>{i?.(),this._removeListener(r)});return n instanceof DS?n.add(a):Array.isArray(n)&&n.push(a),a},this._event}_removeListener(e){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 t=this._listeners,n=t.indexOf(e);if(n===-1)throw console.log(`disposed?`,this._disposed),console.log(`size?`,this._size),console.log(`arr?`,JSON.stringify(this._listeners)),Error(`Attempted to dispose unknown listener`);this._size--,t[n]=void 0;let r=this._deliveryQueue.current===this;if(this._size*HC<=t.length){let e=0;for(let n=0;n<t.length;n++)t[n]?t[e++]=t[n]:r&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;let n=this._options?.onListenerError||uS;if(!n){e.value(t);return}try{e.value(t)}catch(e){n(e)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners){if(this._listeners instanceof VC)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}}this._perfMon?.stop()}hasListeners(){return this._size>0}},WC=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},GC={texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},offset:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}},KC=2,qC,JC=class e{constructor(e,t,n){this._document=e,this._config=t,this._unicodeService=n,this._didWarmUp=!1,this._cacheMap=new xC,this._cacheMapCombined=new xC,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new EC,this._textureSize=512,this._onAddTextureAtlasCanvas=new UC,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new UC,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=QC(e,this._config.deviceCellWidth*4+KC*2,this._config.deviceCellHeight+KC*2),this._tmpCtx=XS(this._tmpCanvas.getContext(`2d`,{alpha:this._config.allowTransparency,willReadFrequently:!0}))}get pages(){return this._pages}dispose(){this._tmpCanvas.remove();for(let e of this.pages)e.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||=(this._doWarmUp(),!0)}_doWarmUp(){let e=new TC;for(let t=33;t<126;t++)e.enqueue(()=>{if(!this._cacheMap.get(t,0,0,0)){let e=this._drawToCache(t,0,0,0,!1,void 0);this._cacheMap.set(t,0,0,0,e)}})}beginFrame(){return this._requestClearModel}clearTexture(){if(this._pages[0].currentRow.x!==0||this._pages[0].currentRow.y!==0){for(let e of this._pages)e.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){if(e.maxAtlasPages&&this._pages.length>=Math.max(4,e.maxAtlasPages)){let t=this._pages.filter(t=>t.canvas.width*2<=(e.maxTextureSize||4096)).sort((e,t)=>t.canvas.width===e.canvas.width?t.percentageUsed-e.percentageUsed:t.canvas.width-e.canvas.width),n=-1,r=0;for(let e=0;e<t.length;e++)if(t[e].canvas.width!==r)n=e,r=t[e].canvas.width;else if(e-n===3)break;let i=t.slice(n,n+4),a=i.map(e=>e.glyphs[0].texturePage).sort((e,t)=>e>t?1:-1),o=this.pages.length-i.length,s=this._mergePages(i,o);s.version++;for(let e=a.length-1;e>=0;e--)this._deletePage(a[e]);this.pages.push(s),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(s.canvas)}let t=new YC(this._document,this._textureSize);return this._pages.push(t),this._activePages.push(t),this._onAddTextureAtlasCanvas.fire(t.canvas),t}_mergePages(e,t){let n=e[0].canvas.width*2,r=new YC(this._document,n,e);for(let[i,a]of e.entries()){let e=i*a.canvas.width%n,o=Math.floor(i/2)*a.canvas.height;r.ctx.drawImage(a.canvas,e,o);for(let r of a.glyphs)r.texturePage=t,r.sizeClipSpace.x=r.size.x/n,r.sizeClipSpace.y=r.size.y/n,r.texturePosition.x+=e,r.texturePosition.y+=o,r.texturePositionClipSpace.x=r.texturePosition.x/n,r.texturePositionClipSpace.y=r.texturePosition.y/n;this._onRemoveTextureAtlasCanvas.fire(a.canvas);let s=this._activePages.indexOf(a);s!==-1&&this._activePages.splice(s,1)}return r}_deletePage(e){this._pages.splice(e,1);for(let t=e;t<this._pages.length;t++){let e=this._pages[t];for(let t of e.glyphs)t.texturePage--;e.version++}}getRasterizedGlyphCombinedChar(e,t,n,r,i,a){return this._getFromCacheMap(this._cacheMapCombined,e,t,n,r,i,a)}getRasterizedGlyph(e,t,n,r,i,a){return this._getFromCacheMap(this._cacheMap,e,t,n,r,i,a)}_getFromCacheMap(e,t,n,r,i,a,o){return qC=e.get(t,n,r,i),qC||(qC=this._drawToCache(t,n,r,i,a,o),e.set(t,n,r,i,qC)),qC}_getColorFromAnsiIndex(e){if(e>=this._config.colors.ansi.length)throw Error(`No color found for idx `+e);return this._config.colors.ansi[e]}_getBackgroundColor(e,t,n,r){if(this._config.allowTransparency)return HS;let i;switch(e){case 16777216:case 33554432:i=this._getColorFromAnsiIndex(t);break;case 50331648:let e=EC.toColorRGB(t);i=US.toColor(e[0],e[1],e[2]);break;default:i=n?WS.opaque(this._config.colors.foreground):this._config.colors.background}return this._config.allowTransparency||(i=WS.opaque(i)),i}_getForegroundColor(e,t,n,r,i,a,o,s,c,l){let u=this._getMinimumContrastColor(e,t,n,r,i,a,o,c,s,l);if(u)return u;let d;switch(i){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&c&&a<8&&(a+=8),d=this._getColorFromAnsiIndex(a);break;case 50331648:let e=EC.toColorRGB(a);d=US.toColor(e[0],e[1],e[2]);break;default:d=o?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(d=WS.opaque(d)),s&&(d=WS.multiplyOpacity(d,rne)),d}_resolveBackgroundRgba(e,t,n){switch(e){case 16777216:case 33554432:return this._getColorFromAnsiIndex(t).rgba;case 50331648:return t<<8;default:return n?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(e,t,n,r){switch(e){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&r&&t<8&&(t+=8),this._getColorFromAnsiIndex(t).rgba;case 50331648:return t<<8;default:return n?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(e,t,n,r,i,a,o,s,c,l){if(this._config.minimumContrastRatio===1||l)return;let u=this._getContrastCache(c),d=u.getColor(e,r);if(d!==void 0)return d||void 0;let f=this._resolveBackgroundRgba(t,n,o),p=this._resolveForegroundRgba(i,a,o,s),m=qS.ensureContrastRatio(f,p,this._config.minimumContrastRatio/(c?2:1));if(!m){u.setColor(e,r,null);return}let h=US.toColor(m>>24&255,m>>16&255,m>>8&255);return u.setColor(e,r,h),h}_getContrastCache(e){return e?this._config.colors.halfContrastCache:this._config.colors.contrastCache}_drawToCache(t,n,r,i,a,o){let s=typeof t==`number`?String.fromCharCode(t):t;o&&this._tmpCanvas.parentElement!==o&&(this._tmpCanvas.style.display=`none`,o.append(this._tmpCanvas));let c=Math.min(this._config.deviceCellWidth*Math.max(s.length,2)+KC*2,this._config.deviceMaxTextureSize);this._tmpCanvas.width<c&&(this._tmpCanvas.width=c);let l=Math.min(this._config.deviceCellHeight+KC*4,this._textureSize);if(this._tmpCanvas.height<l&&(this._tmpCanvas.height=l),this._tmpCtx.save(),this._workAttributeData.fg=r,this._workAttributeData.bg=n,this._workAttributeData.extended.ext=i,this._workAttributeData.isInvisible())return GC;let u=!!this._workAttributeData.isBold(),d=!!this._workAttributeData.isInverse(),f=!!this._workAttributeData.isDim(),p=!!this._workAttributeData.isItalic(),m=!!this._workAttributeData.isUnderline(),h=!!this._workAttributeData.isStrikethrough(),g=!!this._workAttributeData.isOverline(),_=this._workAttributeData.getFgColor(),v=this._workAttributeData.getFgColorMode(),y=this._workAttributeData.getBgColor(),b=this._workAttributeData.getBgColorMode();if(d){let e=_;_=y,y=e;let t=v;v=b,b=t}let x=this._getBackgroundColor(b,y,d,f);this._tmpCtx.globalCompositeOperation=`copy`,this._tmpCtx.fillStyle=x.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation=`source-over`;let ee=u?this._config.fontWeightBold:this._config.fontWeight,te=p?`italic`:``;this._tmpCtx.font=`${te} ${ee} ${this._config.fontSize*this._config.devicePixelRatio}px ${this._config.fontFamily}`,this._tmpCtx.textBaseline=sC;let ne=s.length===1&&ZS(s.charCodeAt(0)),re=s.length===1&&Yte(s.charCodeAt(0)),ie=this._getForegroundColor(n,b,y,r,v,_,d,f,u,QS(s.charCodeAt(0)));this._tmpCtx.fillStyle=ie.css;let S=re?0:KC*2,ae=!1;this._config.customGlyphs!==!1&&(ae=dC(this._tmpCtx,s,S,S,this._config.deviceCellWidth,this._config.deviceCellHeight,this._config.fontSize,this._config.devicePixelRatio));let oe=!ne,se;if(se=typeof t==`number`?this._unicodeService.wcwidth(t):this._unicodeService.getStringCellWidth(t),m){this._tmpCtx.save();let e=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),t=e%2==1?.5:0;if(this._tmpCtx.lineWidth=e,this._workAttributeData.isUnderlineColorDefault())this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle;else if(this._workAttributeData.isUnderlineColorRGB())oe=!1,this._tmpCtx.strokeStyle=`rgb(${EC.toColorRGB(this._workAttributeData.getUnderlineColor()).join(`,`)})`;else{oe=!1;let e=this._workAttributeData.getUnderlineColor();this._config.drawBoldTextInBrightColors&&this._workAttributeData.isBold()&&e<8&&(e+=8),this._tmpCtx.strokeStyle=this._getColorFromAnsiIndex(e).css}this._tmpCtx.beginPath();let n=S,r=Math.ceil(S+this._config.deviceCharHeight)-t-(a?e*2:0),i=r+e,o=r+e*2,c=this._workAttributeData.getUnderlineVariantOffset();for(let a=0;a<se;a++){this._tmpCtx.save();let s=n+a*this._config.deviceCellWidth,l=n+(a+1)*this._config.deviceCellWidth,u=s+this._config.deviceCellWidth/2;switch(this._workAttributeData.extended.underlineStyle){case 2:this._tmpCtx.moveTo(s,r),this._tmpCtx.lineTo(l,r),this._tmpCtx.moveTo(s,o),this._tmpCtx.lineTo(l,o);break;case 3:let n=e<=1?o:Math.ceil(S+this._config.deviceCharHeight-e/2)-t,a=e<=1?r:Math.ceil(S+this._config.deviceCharHeight+e/2)-t,d=new Path2D;d.rect(s,r,this._config.deviceCellWidth,o-r),this._tmpCtx.clip(d),this._tmpCtx.moveTo(s-this._config.deviceCellWidth/2,i),this._tmpCtx.bezierCurveTo(s-this._config.deviceCellWidth/2,a,s,a,s,i),this._tmpCtx.bezierCurveTo(s,n,u,n,u,i),this._tmpCtx.bezierCurveTo(u,a,l,a,l,i),this._tmpCtx.bezierCurveTo(l,n,l+this._config.deviceCellWidth/2,n,l+this._config.deviceCellWidth/2,i);break;case 4:let f=c===0?0:c>=e?e*2-c:e-c;c>=e||f===0?(this._tmpCtx.setLineDash([Math.round(e),Math.round(e)]),this._tmpCtx.moveTo(s+f,r),this._tmpCtx.lineTo(l,r)):(this._tmpCtx.setLineDash([Math.round(e),Math.round(e)]),this._tmpCtx.moveTo(s,r),this._tmpCtx.lineTo(s+f,r),this._tmpCtx.moveTo(s+f+e,r),this._tmpCtx.lineTo(l,r)),c=tne(l-s,e,c);break;case 5:let p=l-s,m=Math.floor(.6*p),h=Math.floor(.3*p),g=p-m-h;this._tmpCtx.setLineDash([m,h,g]),this._tmpCtx.moveTo(s,r),this._tmpCtx.lineTo(l,r);break;default:this._tmpCtx.moveTo(s,r),this._tmpCtx.lineTo(l,r)}this._tmpCtx.stroke(),this._tmpCtx.restore()}if(this._tmpCtx.restore(),!ae&&this._config.fontSize>=12&&!this._config.allowTransparency&&s!==` `){this._tmpCtx.save(),this._tmpCtx.textBaseline=`alphabetic`;let t=this._tmpCtx.measureText(s);if(this._tmpCtx.restore(),`actualBoundingBoxDescent`in t&&t.actualBoundingBoxDescent>0){this._tmpCtx.save();let t=new Path2D;t.rect(n,r-Math.ceil(e/2),this._config.deviceCellWidth*se,o-r+Math.ceil(e/2)),this._tmpCtx.clip(t),this._tmpCtx.lineWidth=this._config.devicePixelRatio*3,this._tmpCtx.strokeStyle=x.css,this._tmpCtx.strokeText(s,S,S+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(g){let e=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),t=e%2==1?.5:0;this._tmpCtx.lineWidth=e,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(S,S+t),this._tmpCtx.lineTo(S+this._config.deviceCharWidth*se,S+t),this._tmpCtx.stroke()}if(ae||this._tmpCtx.fillText(s,S,S+this._config.deviceCharHeight),s===`_`&&!this._config.allowTransparency){let e=XC(this._tmpCtx.getImageData(S,S,this._config.deviceCellWidth,this._config.deviceCellHeight),x,ie,oe);if(e)for(let t=1;t<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=x.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(s,S,S+this._config.deviceCharHeight-t),e=XC(this._tmpCtx.getImageData(S,S,this._config.deviceCellWidth,this._config.deviceCellHeight),x,ie,oe),e);t++);}if(h){let e=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),t=this._tmpCtx.lineWidth%2==1?.5:0;this._tmpCtx.lineWidth=e,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(S,S+Math.floor(this._config.deviceCharHeight/2)-t),this._tmpCtx.lineTo(S+this._config.deviceCharWidth*se,S+Math.floor(this._config.deviceCharHeight/2)-t),this._tmpCtx.stroke()}this._tmpCtx.restore();let ce=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height),le;if(le=this._config.allowTransparency?ZC(ce):XC(ce,x,ie,oe),le)return GC;let C=this._findGlyphBoundingBox(ce,this._workBoundingBox,c,re,ae,S),w,T;for(;;){if(this._activePages.length===0){let e=this._createNewPage();w=e,T=e.currentRow,T.height=C.size.y;break}w=this._activePages[this._activePages.length-1],T=w.currentRow;for(let e of this._activePages)C.size.y<=e.currentRow.height&&(w=e,T=e.currentRow);for(let e=this._activePages.length-1;e>=0;e--)for(let t of this._activePages[e].fixedRows)t.height<=T.height&&C.size.y<=t.height&&(w=this._activePages[e],T=t);if(C.size.x>this._textureSize){this._overflowSizePage||(this._overflowSizePage=new YC(this._document,this._config.deviceMaxTextureSize),this.pages.push(this._overflowSizePage),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(this._overflowSizePage.canvas)),w=this._overflowSizePage,T=this._overflowSizePage.currentRow,T.x+C.size.x>=w.canvas.width&&(T.x=0,T.y+=T.height,T.height=0);break}if(T.y+C.size.y>=w.canvas.height||T.height>C.size.y+2){let t=!1;if(w.currentRow.y+w.currentRow.height+C.size.y>=w.canvas.height){let n;for(let e of this._activePages)if(e.currentRow.y+e.currentRow.height+C.size.y<e.canvas.height){n=e;break}if(n)w=n;else if(e.maxAtlasPages&&this._pages.length>=e.maxAtlasPages&&T.y+C.size.y<=w.canvas.height&&T.height>=C.size.y&&T.x+C.size.x<=w.canvas.width)t=!0;else{let e=this._createNewPage();w=e,T=e.currentRow,T.height=C.size.y,t=!0}}t||(w.currentRow.height>0&&w.fixedRows.push(w.currentRow),T={x:0,y:w.currentRow.y+w.currentRow.height,height:C.size.y},w.fixedRows.push(T),w.currentRow={x:0,y:T.y+T.height,height:0})}if(T.x+C.size.x<=w.canvas.width)break;T===w.currentRow?(T.x=0,T.y+=T.height,T.height=0):w.fixedRows.splice(w.fixedRows.indexOf(T),1)}return C.texturePage=this._pages.indexOf(w),C.texturePosition.x=T.x,C.texturePosition.y=T.y,C.texturePositionClipSpace.x=T.x/w.canvas.width,C.texturePositionClipSpace.y=T.y/w.canvas.height,C.sizeClipSpace.x/=w.canvas.width,C.sizeClipSpace.y/=w.canvas.height,T.height=Math.max(T.height,C.size.y),T.x+=C.size.x,w.ctx.putImageData(ce,C.texturePosition.x-this._workBoundingBox.left,C.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,C.size.x,C.size.y),w.addGlyph(C),w.version++,C}_findGlyphBoundingBox(e,t,n,r,i,a){t.top=0;let o=r?this._config.deviceCellHeight:this._tmpCanvas.height,s=r?this._config.deviceCellWidth:n,c=!1;for(let n=0;n<o;n++){for(let r=0;r<s;r++){let i=n*this._tmpCanvas.width*4+r*4+3;if(e.data[i]!==0){t.top=n,c=!0;break}}if(c)break}t.left=0,c=!1;for(let n=0;n<a+s;n++){for(let r=0;r<o;r++){let i=r*this._tmpCanvas.width*4+n*4+3;if(e.data[i]!==0){t.left=n,c=!0;break}}if(c)break}t.right=s,c=!1;for(let n=a+s-1;n>=a;n--){for(let r=0;r<o;r++){let i=r*this._tmpCanvas.width*4+n*4+3;if(e.data[i]!==0){t.right=n,c=!0;break}}if(c)break}t.bottom=o,c=!1;for(let n=o-1;n>=0;n--){for(let r=0;r<s;r++){let i=n*this._tmpCanvas.width*4+r*4+3;if(e.data[i]!==0){t.bottom=n,c=!0;break}}if(c)break}return{texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},size:{x:t.right-t.left+1,y:t.bottom-t.top+1},sizeClipSpace:{x:t.right-t.left+1,y:t.bottom-t.top+1},offset:{x:-t.left+a+(r||i?Math.floor((this._config.deviceCellWidth-this._config.deviceCharWidth)/2):0),y:-t.top+a+(r||i?this._config.lineHeight===1?0:Math.round((this._config.deviceCellHeight-this._config.deviceCharHeight)/2):0)}}}},YC=class{constructor(e,t,n){if(this._usedPixels=0,this._glyphs=[],this.version=0,this.currentRow={x:0,y:0,height:0},this.fixedRows=[],n)for(let e of n)this._glyphs.push(...e.glyphs),this._usedPixels+=e._usedPixels;this.canvas=QC(e,t,t),this.ctx=XS(this.canvas.getContext(`2d`,{alpha:!0}))}get percentageUsed(){return this._usedPixels/(this.canvas.width*this.canvas.height)}get glyphs(){return this._glyphs}addGlyph(e){this._glyphs.push(e),this._usedPixels+=e.size.x*e.size.y}clear(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height),this.currentRow.x=0,this.currentRow.y=0,this.currentRow.height=0,this.fixedRows.length=0,this.version++}};function XC(e,t,n,r){let i=t.rgba>>>24,a=t.rgba>>>16&255,o=t.rgba>>>8&255,s=n.rgba>>>24,c=n.rgba>>>16&255,l=n.rgba>>>8&255,u=Math.floor((Math.abs(i-s)+Math.abs(a-c)+Math.abs(o-l))/12),d=!0;for(let t=0;t<e.data.length;t+=4)e.data[t]===i&&e.data[t+1]===a&&e.data[t+2]===o||r&&Math.abs(e.data[t]-i)+Math.abs(e.data[t+1]-a)+Math.abs(e.data[t+2]-o)<u?e.data[t+3]=0:d=!1;return d}function ZC(e){for(let t=0;t<e.data.length;t+=4)if(e.data[t+3]>0)return!1;return!0}function QC(e,t,n){let r=e.createElement(`canvas`);return r.width=t,r.height=n,r}function $C(e,t,n,r,i,a,o,s){let c={foreground:a.foreground,background:a.background,cursor:HS,cursorAccent:HS,selectionForeground:HS,selectionBackgroundTransparent:HS,selectionBackgroundOpaque:HS,selectionInactiveBackgroundTransparent:HS,selectionInactiveBackgroundOpaque:HS,overviewRulerBorder:HS,scrollbarSliderBackground:HS,scrollbarSliderHoverBackground:HS,scrollbarSliderActiveBackground:HS,ansi:a.ansi.slice(),contrastCache:a.contrastCache,halfContrastCache:a.halfContrastCache};return{customGlyphs:i.customGlyphs,devicePixelRatio:o,deviceMaxTextureSize:s,letterSpacing:i.letterSpacing,lineHeight:i.lineHeight,deviceCellWidth:e,deviceCellHeight:t,deviceCharWidth:n,deviceCharHeight:r,fontFamily:i.fontFamily,fontSize:i.fontSize,fontWeight:i.fontWeight,fontWeightBold:i.fontWeightBold,allowTransparency:i.allowTransparency,drawBoldTextInBrightColors:i.drawBoldTextInBrightColors,minimumContrastRatio:i.minimumContrastRatio,colors:c}}function ew(e,t){for(let n=0;n<e.colors.ansi.length;n++)if(e.colors.ansi[n].rgba!==t.colors.ansi[n].rgba)return!1;return e.devicePixelRatio===t.devicePixelRatio&&e.customGlyphs===t.customGlyphs&&e.lineHeight===t.lineHeight&&e.letterSpacing===t.letterSpacing&&e.fontFamily===t.fontFamily&&e.fontSize===t.fontSize&&e.fontWeight===t.fontWeight&&e.fontWeightBold===t.fontWeightBold&&e.allowTransparency===t.allowTransparency&&e.deviceCharWidth===t.deviceCharWidth&&e.deviceCharHeight===t.deviceCharHeight&&e.drawBoldTextInBrightColors===t.drawBoldTextInBrightColors&&e.minimumContrastRatio===t.minimumContrastRatio&&e.colors.foreground.rgba===t.colors.foreground.rgba&&e.colors.background.rgba===t.colors.background.rgba}function tw(e){return(e&50331648)==16777216||(e&50331648)==33554432}var nw=[];function rw(e,t,n,r,i,a,o,s,c){let l=$C(r,i,a,o,t,n,s,c);for(let t=0;t<nw.length;t++){let n=nw[t],r=n.ownedBy.indexOf(e);if(r>=0){if(ew(n.config,l))return n.atlas;n.ownedBy.length===1?(n.atlas.dispose(),nw.splice(t,1)):n.ownedBy.splice(r,1);break}}for(let t=0;t<nw.length;t++){let n=nw[t];if(ew(n.config,l))return n.ownedBy.push(e),n.atlas}let u=e._core,d={atlas:new JC(document,l,u.unicodeService),config:l,ownedBy:[e]};return nw.push(d),d.atlas}function iw(e){for(let t=0;t<nw.length;t++){let n=nw[t].ownedBy.indexOf(e);if(n!==-1){nw[t].ownedBy.length===1?(nw[t].atlas.dispose(),nw.splice(t,1)):nw[t].ownedBy.splice(n,1);break}}}var aw=600,ow=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this.isCursorVisible=!0,this._coreBrowserService.isFocused&&this._restartInterval()}get isPaused(){return!(this._blinkStartTimeout||this._blinkInterval)}dispose(){this._blinkInterval&&=(this._coreBrowserService.window.clearInterval(this._blinkInterval),void 0),this._blinkStartTimeout&&=(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),void 0),this._animationFrame&&=(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),void 0)}restartBlinkAnimation(){this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0}))}_restartInterval(e=aw){this._blinkInterval&&=(this._coreBrowserService.window.clearInterval(this._blinkInterval),void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout(()=>{if(this._animationTimeRestarted){let e=aw-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,e>0){this._restartInterval(e);return}}this.isCursorVisible=!1,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0}),this._blinkInterval=this._coreBrowserService.window.setInterval(()=>{if(this._animationTimeRestarted){let e=aw-(Date.now()-this._animationTimeRestarted);this._animationTimeRestarted=void 0,this._restartInterval(e);return}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})},aw)},e)}pause(){this.isCursorVisible=!0,this._blinkInterval&&=(this._coreBrowserService.window.clearInterval(this._blinkInterval),void 0),this._blinkStartTimeout&&=(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),void 0),this._animationFrame&&=(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),void 0)}resume(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()}};function sw(e,t,n){let r=new t.ResizeObserver(t=>{let i=t.find(t=>t.target===e);if(!i)return;if(!(`devicePixelContentBoxSize`in i)){r?.disconnect(),r=void 0;return}let a=i.devicePixelContentBoxSize[0].inlineSize,o=i.devicePixelContentBoxSize[0].blockSize;a>0&&o>0&&n(a,o)});try{r.observe(e,{box:[`device-pixel-content-box`]})}catch{r.disconnect(),r=void 0}return TS(()=>r?.disconnect())}function cw(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}var lw=class e extends EC{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new DC,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?cw(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 t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},uw=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]);function dw(e,t,n){let r=XS(e.createProgram());if(e.attachShader(r,XS(fw(e,e.VERTEX_SHADER,t))),e.attachShader(r,XS(fw(e,e.FRAGMENT_SHADER,n))),e.linkProgram(r),e.getProgramParameter(r,e.LINK_STATUS))return r;console.error(e.getProgramInfoLog(r)),e.deleteProgram(r)}function fw(e,t,n){let r=XS(e.createShader(t));if(e.shaderSource(r,n),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS))return r;console.error(e.getShaderInfoLog(r)),e.deleteShader(r)}function pw(e,t){let n=Math.min(e.length*2,t),r=new Float32Array(n);for(let t=0;t<e.length;t++)r[t]=e[t];return r}var mw=class{constructor(e){this.texture=e,this.version=-1}},hw=`#version 300 es
|
|
77
|
-
layout (location = 0) in vec2 a_unitquad;
|
|
78
|
-
layout (location = 1) in vec2 a_cellpos;
|
|
79
|
-
layout (location = 2) in vec2 a_offset;
|
|
80
|
-
layout (location = 3) in vec2 a_size;
|
|
81
|
-
layout (location = 4) in float a_texpage;
|
|
82
|
-
layout (location = 5) in vec2 a_texcoord;
|
|
83
|
-
layout (location = 6) in vec2 a_texsize;
|
|
84
|
-
|
|
85
|
-
uniform mat4 u_projection;
|
|
86
|
-
uniform vec2 u_resolution;
|
|
87
|
-
|
|
88
|
-
out vec2 v_texcoord;
|
|
89
|
-
flat out int v_texpage;
|
|
90
|
-
|
|
91
|
-
void main() {
|
|
92
|
-
vec2 zeroToOne = (a_offset / u_resolution) + a_cellpos + (a_unitquad * a_size);
|
|
93
|
-
gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
|
|
94
|
-
v_texpage = int(a_texpage);
|
|
95
|
-
v_texcoord = a_texcoord + a_unitquad * a_texsize;
|
|
96
|
-
}`;function gw(e){let t=``;for(let n=1;n<e;n++)t+=` else if (v_texpage == ${n}) { outColor = texture(u_texture[${n}], v_texcoord); }`;return`#version 300 es
|
|
97
|
-
precision lowp float;
|
|
98
|
-
|
|
99
|
-
in vec2 v_texcoord;
|
|
100
|
-
flat in int v_texpage;
|
|
101
|
-
|
|
102
|
-
uniform sampler2D u_texture[${e}];
|
|
103
|
-
|
|
104
|
-
out vec4 outColor;
|
|
105
|
-
|
|
106
|
-
void main() {
|
|
107
|
-
if (v_texpage == 0) {
|
|
108
|
-
outColor = texture(u_texture[0], v_texcoord);
|
|
109
|
-
} ${t}
|
|
110
|
-
}`}var _w=11,vw=_w*Float32Array.BYTES_PER_ELEMENT,yw=2,bw=0,xw,Sw=0,Cw=0,ww=class extends OS{constructor(e,t,n,r){super(),this._terminal=e,this._gl=t,this._dimensions=n,this._optionsService=r,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array,attributesBuffers:[new Float32Array,new Float32Array]};let i=this._gl;JC.maxAtlasPages===void 0&&(JC.maxAtlasPages=Math.min(32,XS(i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS))),JC.maxTextureSize=XS(i.getParameter(i.MAX_TEXTURE_SIZE))),this._program=XS(dw(i,hw,gw(JC.maxAtlasPages))),this._register(TS(()=>i.deleteProgram(this._program))),this._projectionLocation=XS(i.getUniformLocation(this._program,`u_projection`)),this._resolutionLocation=XS(i.getUniformLocation(this._program,`u_resolution`)),this._textureLocation=XS(i.getUniformLocation(this._program,`u_texture`)),this._vertexArrayObject=i.createVertexArray(),i.bindVertexArray(this._vertexArrayObject);let a=new Float32Array([0,0,1,0,0,1,1,1]),o=i.createBuffer();this._register(TS(()=>i.deleteBuffer(o))),i.bindBuffer(i.ARRAY_BUFFER,o),i.bufferData(i.ARRAY_BUFFER,a,i.STATIC_DRAW),i.enableVertexAttribArray(0),i.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);let s=new Uint8Array([0,1,2,3]),c=i.createBuffer();this._register(TS(()=>i.deleteBuffer(c))),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,c),i.bufferData(i.ELEMENT_ARRAY_BUFFER,s,i.STATIC_DRAW),this._attributesBuffer=XS(i.createBuffer()),this._register(TS(()=>i.deleteBuffer(this._attributesBuffer))),i.bindBuffer(i.ARRAY_BUFFER,this._attributesBuffer),i.enableVertexAttribArray(2),i.vertexAttribPointer(2,2,i.FLOAT,!1,vw,0),i.vertexAttribDivisor(2,1),i.enableVertexAttribArray(3),i.vertexAttribPointer(3,2,i.FLOAT,!1,vw,2*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(3,1),i.enableVertexAttribArray(4),i.vertexAttribPointer(4,1,i.FLOAT,!1,vw,4*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(4,1),i.enableVertexAttribArray(5),i.vertexAttribPointer(5,2,i.FLOAT,!1,vw,5*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(5,1),i.enableVertexAttribArray(6),i.vertexAttribPointer(6,2,i.FLOAT,!1,vw,7*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(6,1),i.enableVertexAttribArray(1),i.vertexAttribPointer(1,2,i.FLOAT,!1,vw,9*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(1,1),i.useProgram(this._program);let l=new Int32Array(JC.maxAtlasPages);for(let e=0;e<JC.maxAtlasPages;e++)l[e]=e;i.uniform1iv(this._textureLocation,l),i.uniformMatrix4fv(this._projectionLocation,!1,uw),this._atlasTextures=[];for(let e=0;e<JC.maxAtlasPages;e++){let t=new mw(XS(i.createTexture()));this._register(TS(()=>i.deleteTexture(t.texture))),i.activeTexture(i.TEXTURE0+e),i.bindTexture(i.TEXTURE_2D,t.texture),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,1,1,0,i.RGBA,i.UNSIGNED_BYTE,new Uint8Array([255,0,0,255])),this._atlasTextures[e]=t}i.enable(i.BLEND),i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),this.handleResize()}beginFrame(){return!this._atlas||this._atlas.beginFrame()}updateCell(e,t,n,r,i,a,o,s,c){this._updateCell(this._vertices.attributes,e,t,n,r,i,a,o,s,c)}_updateCell(e,t,n,r,i,a,o,s,c,l){if(bw=(n*this._terminal.cols+t)*_w,r===0||r===void 0){e.fill(0,bw,bw+_w-1-yw);return}this._atlas&&(xw=s&&s.length>1?this._atlas.getRasterizedGlyphCombinedChar(s,i,a,o,!1,this._terminal.element):this._atlas.getRasterizedGlyph(r,i,a,o,!1,this._terminal.element),Sw=Math.floor((this._dimensions.device.cell.width-this._dimensions.device.char.width)/2),i!==l&&xw.offset.x>Sw?(Cw=xw.offset.x-Sw,e[bw]=-(xw.offset.x-Cw)+this._dimensions.device.char.left,e[bw+1]=-xw.offset.y+this._dimensions.device.char.top,e[bw+2]=(xw.size.x-Cw)/this._dimensions.device.canvas.width,e[bw+3]=xw.size.y/this._dimensions.device.canvas.height,e[bw+4]=xw.texturePage,e[bw+5]=xw.texturePositionClipSpace.x+Cw/this._atlas.pages[xw.texturePage].canvas.width,e[bw+6]=xw.texturePositionClipSpace.y,e[bw+7]=xw.sizeClipSpace.x-Cw/this._atlas.pages[xw.texturePage].canvas.width,e[bw+8]=xw.sizeClipSpace.y):(e[bw]=-xw.offset.x+this._dimensions.device.char.left,e[bw+1]=-xw.offset.y+this._dimensions.device.char.top,e[bw+2]=xw.size.x/this._dimensions.device.canvas.width,e[bw+3]=xw.size.y/this._dimensions.device.canvas.height,e[bw+4]=xw.texturePage,e[bw+5]=xw.texturePositionClipSpace.x,e[bw+6]=xw.texturePositionClipSpace.y,e[bw+7]=xw.sizeClipSpace.x,e[bw+8]=xw.sizeClipSpace.y),this._optionsService.rawOptions.rescaleOverlappingGlyphs&&$te(r,c,xw.size.x,this._dimensions.device.cell.width)&&(e[bw+2]=(this._dimensions.device.cell.width-1)/this._dimensions.device.canvas.width))}clear(){let e=this._terminal,t=e.cols*e.rows*_w;this._vertices.count===t?this._vertices.attributes.fill(0):this._vertices.attributes=new Float32Array(t);let n=0;for(;n<this._vertices.attributesBuffers.length;n++)this._vertices.count===t?this._vertices.attributesBuffers[n].fill(0):this._vertices.attributesBuffers[n]=new Float32Array(t);this._vertices.count=t,n=0;for(let t=0;t<e.rows;t++)for(let r=0;r<e.cols;r++)this._vertices.attributes[n+9]=r/e.cols,this._vertices.attributes[n+10]=t/e.rows,n+=_w}handleResize(){let e=this._gl;e.useProgram(this._program),e.viewport(0,0,e.canvas.width,e.canvas.height),e.uniform2f(this._resolutionLocation,e.canvas.width,e.canvas.height),this.clear()}render(e){if(!this._atlas)return;let t=this._gl;t.useProgram(this._program),t.bindVertexArray(this._vertexArrayObject),this._activeBuffer=(this._activeBuffer+1)%2;let n=this._vertices.attributesBuffers[this._activeBuffer],r=0;for(let t=0;t<e.lineLengths.length;t++){let i=t*this._terminal.cols*_w,a=this._vertices.attributes.subarray(i,i+e.lineLengths[t]*_w);n.set(a,r),r+=a.length}t.bindBuffer(t.ARRAY_BUFFER,this._attributesBuffer),t.bufferData(t.ARRAY_BUFFER,n.subarray(0,r),t.STREAM_DRAW);for(let e=0;e<this._atlas.pages.length;e++)this._atlas.pages[e].version!==this._atlasTextures[e].version&&this._bindAtlasPageTexture(t,this._atlas,e);t.drawElementsInstanced(t.TRIANGLE_STRIP,4,t.UNSIGNED_BYTE,0,r/_w)}setAtlas(e){this._atlas=e;for(let e of this._atlasTextures)e.version=-1}_bindAtlasPageTexture(e,t,n){e.activeTexture(e.TEXTURE0+n),e.bindTexture(e.TEXTURE_2D,this._atlasTextures[n].texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t.pages[n].canvas),e.generateMipmap(e.TEXTURE_2D),this._atlasTextures[n].version=t.pages[n].version}setDimensions(e){this._dimensions=e}},Tw=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(e,t,n,r=!1){if(this.selectionStart=t,this.selectionEnd=n,!t||!n||t[0]===n[0]&&t[1]===n[1]){this.clear();return}let i=e.buffers.active.ydisp,a=t[1]-i,o=n[1]-i,s=Math.max(a,0),c=Math.min(o,e.rows-1);if(s>=e.rows||c<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=a,this.viewportEndRow=o,this.viewportCappedStartRow=s,this.viewportCappedEndRow=c,this.startCol=t[0],this.endCol=n[0]}isCellSelected(e,t,n){return this.hasSelection?(n-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&n>=this.viewportCappedStartRow&&t<this.endCol&&n<=this.viewportCappedEndRow:t<this.startCol&&n>=this.viewportCappedStartRow&&t>=this.endCol&&n<=this.viewportCappedEndRow:n>this.viewportStartRow&&n<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol):!1}};function Ew(){return new Tw}var Dw=4,Ow=1,kw=2,Aw=3,jw=2147483648,Mw=class{constructor(){this.cells=new Uint32Array,this.lineLengths=new Uint32Array,this.selection=Ew()}resize(e,t){let n=e*t*Dw;n!==this.cells.length&&(this.cells=new Uint32Array(n),this.lineLengths=new Uint32Array(t))}clear(){this.cells.fill(0,0),this.lineLengths.fill(0,0)}},Nw=`#version 300 es
|
|
111
|
-
layout (location = 0) in vec2 a_position;
|
|
112
|
-
layout (location = 1) in vec2 a_size;
|
|
113
|
-
layout (location = 2) in vec4 a_color;
|
|
114
|
-
layout (location = 3) in vec2 a_unitquad;
|
|
115
|
-
|
|
116
|
-
uniform mat4 u_projection;
|
|
117
|
-
|
|
118
|
-
out vec4 v_color;
|
|
119
|
-
|
|
120
|
-
void main() {
|
|
121
|
-
vec2 zeroToOne = a_position + (a_unitquad * a_size);
|
|
122
|
-
gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
|
|
123
|
-
v_color = a_color;
|
|
124
|
-
}`,Pw=`#version 300 es
|
|
125
|
-
precision lowp float;
|
|
126
|
-
|
|
127
|
-
in vec4 v_color;
|
|
128
|
-
|
|
129
|
-
out vec4 outColor;
|
|
130
|
-
|
|
131
|
-
void main() {
|
|
132
|
-
outColor = v_color;
|
|
133
|
-
}`,Fw=8,Iw=Fw*Float32Array.BYTES_PER_ELEMENT,Lw=20*Fw,Rw=class{constructor(){this.attributes=new Float32Array(Lw),this.count=0}},zw=0,Bw=0,Vw=0,Hw=0,Uw=0,Ww=0,Gw=0,Kw=class extends OS{constructor(e,t,n,r){super(),this._terminal=e,this._gl=t,this._dimensions=n,this._themeService=r,this._vertices=new Rw,this._verticesCursor=new Rw;let i=this._gl;this._program=XS(dw(i,Nw,Pw)),this._register(TS(()=>i.deleteProgram(this._program))),this._projectionLocation=XS(i.getUniformLocation(this._program,`u_projection`)),this._vertexArrayObject=i.createVertexArray(),i.bindVertexArray(this._vertexArrayObject);let a=new Float32Array([0,0,1,0,0,1,1,1]),o=i.createBuffer();this._register(TS(()=>i.deleteBuffer(o))),i.bindBuffer(i.ARRAY_BUFFER,o),i.bufferData(i.ARRAY_BUFFER,a,i.STATIC_DRAW),i.enableVertexAttribArray(3),i.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);let s=new Uint8Array([0,1,2,3]),c=i.createBuffer();this._register(TS(()=>i.deleteBuffer(c))),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,c),i.bufferData(i.ELEMENT_ARRAY_BUFFER,s,i.STATIC_DRAW),this._attributesBuffer=XS(i.createBuffer()),this._register(TS(()=>i.deleteBuffer(this._attributesBuffer))),i.bindBuffer(i.ARRAY_BUFFER,this._attributesBuffer),i.enableVertexAttribArray(0),i.vertexAttribPointer(0,2,i.FLOAT,!1,Iw,0),i.vertexAttribDivisor(0,1),i.enableVertexAttribArray(1),i.vertexAttribPointer(1,2,i.FLOAT,!1,Iw,2*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(1,1),i.enableVertexAttribArray(2),i.vertexAttribPointer(2,4,i.FLOAT,!1,Iw,4*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(2,1),this._updateCachedColors(r.colors),this._register(this._themeService.onChangeColors(e=>{this._updateCachedColors(e),this._updateViewportRectangle()}))}renderBackgrounds(){this._renderVertices(this._vertices)}renderCursor(){this._renderVertices(this._verticesCursor)}_renderVertices(e){let t=this._gl;t.useProgram(this._program),t.bindVertexArray(this._vertexArrayObject),t.uniformMatrix4fv(this._projectionLocation,!1,uw),t.bindBuffer(t.ARRAY_BUFFER,this._attributesBuffer),t.bufferData(t.ARRAY_BUFFER,e.attributes,t.DYNAMIC_DRAW),t.drawElementsInstanced(this._gl.TRIANGLE_STRIP,4,t.UNSIGNED_BYTE,0,e.count)}handleResize(){this._updateViewportRectangle()}setDimensions(e){this._dimensions=e}_updateCachedColors(e){this._bgFloat=this._colorToFloat32Array(e.background),this._cursorFloat=this._colorToFloat32Array(e.cursor)}_updateViewportRectangle(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.device.cell.width,this._terminal.rows*this._dimensions.device.cell.height,this._bgFloat)}updateBackgrounds(e){let t=this._terminal,n=this._vertices,r=1,i,a,o,s,c,l,u,d,f,p,m;for(i=0;i<t.rows;i++){for(o=-1,s=0,c=0,l=!1,a=0;a<t.cols;a++)u=(i*t.cols+a)*Dw,d=e.cells[u+Ow],f=e.cells[u+kw],p=!!(f&67108864),(d!==s||f!==c&&(l||p))&&((s!==0||l&&c!==0)&&(m=r++*Fw,this._updateRectangle(n,m,c,s,o,a,i)),o=a,s=d,c=f,l=p);(s!==0||l&&c!==0)&&(m=r++*Fw,this._updateRectangle(n,m,c,s,o,t.cols,i))}n.count=r}updateCursor(e){let t=this._verticesCursor,n=e.cursor;if(!n||n.style===`block`){t.count=0;return}let r,i=0;(n.style===`bar`||n.style===`outline`)&&(r=i++*Fw,this._addRectangleFloat(t.attributes,r,n.x*this._dimensions.device.cell.width,n.y*this._dimensions.device.cell.height,n.style===`bar`?n.dpr*n.cursorWidth:n.dpr,this._dimensions.device.cell.height,this._cursorFloat)),(n.style===`underline`||n.style===`outline`)&&(r=i++*Fw,this._addRectangleFloat(t.attributes,r,n.x*this._dimensions.device.cell.width,(n.y+1)*this._dimensions.device.cell.height-n.dpr,n.width*this._dimensions.device.cell.width,n.dpr,this._cursorFloat)),n.style===`outline`&&(r=i++*Fw,this._addRectangleFloat(t.attributes,r,n.x*this._dimensions.device.cell.width,n.y*this._dimensions.device.cell.height,n.width*this._dimensions.device.cell.width,n.dpr,this._cursorFloat),r=i++*Fw,this._addRectangleFloat(t.attributes,r,(n.x+n.width)*this._dimensions.device.cell.width-n.dpr,n.y*this._dimensions.device.cell.height,n.dpr,this._dimensions.device.cell.height,this._cursorFloat)),t.count=i}_updateRectangle(e,t,n,r,i,a,o){if(n&67108864)switch(n&50331648){case 16777216:case 33554432:zw=this._themeService.colors.ansi[n&255].rgba;break;case 50331648:zw=(n&16777215)<<8;break;default:zw=this._themeService.colors.foreground.rgba}else switch(r&50331648){case 16777216:case 33554432:zw=this._themeService.colors.ansi[r&255].rgba;break;case 50331648:zw=(r&16777215)<<8;break;default:zw=this._themeService.colors.background.rgba}e.attributes.length<t+4&&(e.attributes=pw(e.attributes,this._terminal.rows*this._terminal.cols*Fw)),Bw=i*this._dimensions.device.cell.width,Vw=o*this._dimensions.device.cell.height,Hw=(zw>>24&255)/255,Uw=(zw>>16&255)/255,Ww=(zw>>8&255)/255,Gw=1,this._addRectangle(e.attributes,t,Bw,Vw,(a-i)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,Hw,Uw,Ww,Gw)}_addRectangle(e,t,n,r,i,a,o,s,c,l){e[t]=n/this._dimensions.device.canvas.width,e[t+1]=r/this._dimensions.device.canvas.height,e[t+2]=i/this._dimensions.device.canvas.width,e[t+3]=a/this._dimensions.device.canvas.height,e[t+4]=o,e[t+5]=s,e[t+6]=c,e[t+7]=l}_addRectangleFloat(e,t,n,r,i,a,o){e[t]=n/this._dimensions.device.canvas.width,e[t+1]=r/this._dimensions.device.canvas.height,e[t+2]=i/this._dimensions.device.canvas.width,e[t+3]=a/this._dimensions.device.canvas.height,e[t+4]=o[0],e[t+5]=o[1],e[t+6]=o[2],e[t+7]=o[3]}_colorToFloat32Array(e){return new Float32Array([(e.rgba>>24&255)/255,(e.rgba>>16&255)/255,(e.rgba>>8&255)/255,(e.rgba&255)/255])}},qw=class extends OS{constructor(e,t,n,r,i,a,o,s){super(),this._container=t,this._alpha=i,this._coreBrowserService=a,this._optionsService=o,this._themeService=s,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._canvas=this._coreBrowserService.mainDocument.createElement(`canvas`),this._canvas.classList.add(`xterm-${n}-layer`),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this._register(this._themeService.onChangeColors(t=>{this._refreshCharAtlas(e,t),this.reset(e)})),this._register(TS(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=XS(this._canvas.getContext(`2d`,{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(e){}handleFocus(e){}handleCursorMove(e){}handleGridChanged(e,t,n){}handleSelectionChanged(e,t,n,r=!1){}_setTransparency(e,t){if(t===this._alpha)return;let n=this._canvas;this._alpha=t,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,n),this._refreshCharAtlas(e,this._themeService.colors),this.handleGridChanged(e,0,e.rows-1)}_refreshCharAtlas(e,t){this._deviceCharWidth<=0&&this._deviceCharHeight<=0||(this._charAtlas=rw(e,this._optionsService.rawOptions,t,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr,2048),this._charAtlas.warmUp())}resize(e,t){this._deviceCellWidth=t.device.cell.width,this._deviceCellHeight=t.device.cell.height,this._deviceCharWidth=t.device.char.width,this._deviceCharHeight=t.device.char.height,this._deviceCharLeft=t.device.char.left,this._deviceCharTop=t.device.char.top,this._canvas.width=t.device.canvas.width,this._canvas.height=t.device.canvas.height,this._canvas.style.width=`${t.css.canvas.width}px`,this._canvas.style.height=`${t.css.canvas.height}px`,this._alpha||this._clearAll(),this._refreshCharAtlas(e,this._themeService.colors)}_fillBottomLineAtCells(e,t,n=1){this._ctx.fillRect(e*this._deviceCellWidth,(t+1)*this._deviceCellHeight-this._coreBrowserService.dpr-1,n*this._deviceCellWidth,this._coreBrowserService.dpr)}_clearAll(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))}_clearCells(e,t,n,r){this._alpha?this._ctx.clearRect(e*this._deviceCellWidth,t*this._deviceCellHeight,n*this._deviceCellWidth,r*this._deviceCellHeight):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(e*this._deviceCellWidth,t*this._deviceCellHeight,n*this._deviceCellWidth,r*this._deviceCellHeight))}_fillCharTrueColor(e,t,n,r){this._ctx.font=this._getFont(e,!1,!1),this._ctx.textBaseline=sC,this._clipCell(n,r,t.getWidth()),this._ctx.fillText(t.getChars(),n*this._deviceCellWidth+this._deviceCharLeft,r*this._deviceCellHeight+this._deviceCharTop+this._deviceCharHeight)}_clipCell(e,t,n){this._ctx.beginPath(),this._ctx.rect(e*this._deviceCellWidth,t*this._deviceCellHeight,n*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(e,t,n){let r=t?e.options.fontWeightBold:e.options.fontWeight;return`${n?`italic`:``} ${r} ${e.options.fontSize*this._coreBrowserService.dpr}px ${e.options.fontFamily}`}},Jw=class extends qw{constructor(e,t,n,r,i,a,o){super(n,e,`link`,t,!0,i,a,o),this._register(r.onShowLinkUnderline(e=>this._handleShowLinkUnderline(e))),this._register(r.onHideLinkUnderline(e=>this._handleHideLinkUnderline(e)))}resize(e,t){super.resize(e,t),this._state=void 0}reset(e){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);let e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(e){if(e.fg===257?this._ctx.fillStyle=this._themeService.colors.background.css:e.fg!==void 0&&tw(e.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[e.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,e.y1===e.y2)this._fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1);else{this._fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(let t=e.y1+1;t<e.y2;t++)this._fillBottomLineAtCells(0,t,e.cols);this._fillBottomLineAtCells(0,e.y2,e.x2)}this._state=e}_handleHideLinkUnderline(e){this._clearCurrentLink()}},Yw=typeof window==`object`?window:globalThis,Xw=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new UC,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new UC,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,t){if(this.getZoomLevel(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToZoomLevel.set(n,e),this._onDidChangeZoomLevel.fire(n)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,t){this.mapWindowIdToZoomFactor.set(this.getWindowId(t),e)}setFullscreen(e,t){if(this.isFullscreen(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToFullScreen.set(n,e),this._onDidChangeFullscreen.fire(n)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};Xw.INSTANCE=new Xw;var Zw=Xw;function Qw(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}Zw.INSTANCE.onDidChangeZoomLevel,Zw.INSTANCE.onDidChangeFullscreen;var $w=typeof navigator==`object`?navigator.userAgent:``;$w.indexOf(`Firefox`);var eT=$w.indexOf(`AppleWebKit`)>=0;!($w.indexOf(`Chrome`)>=0)&&$w.indexOf(`Safari`),$w.indexOf(`Electron/`),$w.indexOf(`Android`);var tT=!1;if(typeof Yw.matchMedia==`function`){let e=Yw.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=Yw.matchMedia(`(display-mode: fullscreen)`);tT=e.matches,Qw(Yw,e,({matches:e})=>{tT&&t.matches||(tT=e)})}function nT(){return tT}var rT=`en`,iT=!1,aT=!1,oT=!1,sT=rT,cT,lT=globalThis,uT;typeof lT.vscode<`u`&&typeof lT.vscode.process<`u`?uT=lT.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&(uT=process);var dT=typeof uT?.versions?.electron==`string`&&uT?.type===`renderer`;if(typeof uT==`object`){uT.platform,uT.platform,iT=uT.platform===`linux`,iT&&uT.env.SNAP&&uT.env.SNAP_REVISION,uT.env.CI||uT.env.BUILD_ARTIFACTSTAGINGDIRECTORY,sT=rT;let e=uT.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,sT=t.resolvedLanguage||rT,t.languagePack?.translationsConfigFile}catch{}aT=!0}else typeof navigator==`object`&&!dT?(cT=navigator.userAgent,cT.indexOf(`Windows`),cT.indexOf(`Macintosh`),(cT.indexOf(`Macintosh`)>=0||cT.indexOf(`iPad`)>=0||cT.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,iT=cT.indexOf(`Linux`)>=0,cT?.indexOf(`Mobi`),oT=!0,sT=globalThis._VSCODE_NLS_LANGUAGE||rT,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var fT=aT;oT&&typeof lT.importScripts==`function`&&lT.origin;var pT=cT,mT=sT,hT;(e=>{function t(){return mT}e.value=t;function n(){return mT.length===2?mT===`en`:mT.length>=3&&mT[0]===`e`&&mT[1]===`n`&&mT[2]===`-`}e.isDefaultVariant=n;function r(){return mT===`en`}e.isDefault=r})(hT||={});var gT=typeof lT.postMessage==`function`&&!lT.importScripts;(()=>{if(gT){let e=[];lT.addEventListener(`message`,t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n<r;n++){let r=e[n];if(r.id===t.data.vscodeScheduleAsyncWork){e.splice(n,1),r.callback();return}}});let t=0;return n=>{let r=++t;e.push({id:r,callback:n}),lT.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var _T=!!(pT&&pT.indexOf(`Chrome`)>=0);pT&&pT.indexOf(`Firefox`),!_T&&pT&&pT.indexOf(`Safari`),pT&&pT.indexOf(`Edg/`),pT&&pT.indexOf(`Android`);var vT=typeof navigator==`object`?navigator:{};fT||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||vT&&vT.clipboard&&vT.clipboard.writeText,fT||vT&&vT.clipboard&&vT.clipboard.readText,fT||nT()||vT.keyboard,`ontouchstart`in Yw||vT.maxTouchPoints,Yw.PointerEvent&&(`ontouchstart`in Yw||navigator.maxTouchPoints);var yT=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},bT=new yT,xT=new yT,ST=new yT;Array(230);var CT;(e=>{function t(e){return bT.keyCodeToStr(e)}e.toString=t;function n(e){return bT.strToKeyCode(e)}e.fromString=n;function r(e){return xT.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return ST.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return xT.strToKeyCode(e)||ST.strToKeyCode(e)}e.fromUserSettings=a;function o(e){if(e>=98&&e<=113)return null;switch(e){case 16:return`Up`;case 18:return`Down`;case 15:return`Left`;case 17:return`Right`}return bT.keyCodeToStr(e)}e.toElectronAccelerator=o})(CT||={});var wT=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),TT;(e=>{function t(t){return t===e.None||t===e.Cancelled||t instanceof ET?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:jC.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:wT})})(TT||={});var ET=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?wT:(this._emitter||=new UC,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var DT;(e=>{async function t(e){let t,n=await Promise.all(e.map(e=>e.then(e=>e,e=>{t||=e})));if(typeof t<`u`)throw t;return n}e.settled=t;function n(e){return new Promise(async(t,n)=>{try{await e(t,n)}catch(e){n(e)}})}e.withAsyncBody=n})(DT||={});var OT=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 t=>e.emitOne(await t)))})}static merge(t){return new e(async e=>{await Promise.all(t.map(async t=>{for await(let n of t)e.emitOne(n)}))})}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new UC,queueMicrotask(async()=>{let t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(this._state===1)return{done:!0,value:void 0};await jC.toPromise(this._onStateChanged.event)}while(1)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,n){return new e(async e=>{for await(let r of t)e.emitOne(n(r))})}map(t){return e.map(this,t)}static filter(t,n){return new e(async e=>{for await(let r of t)n(r)&&e.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(e){let t=[];for await(let n of e)t.push(n);return t}toPromise(){return e.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};OT.EMPTY=OT.fromArray([]);function kT(e){return AT(e,0)}function AT(e,t){switch(typeof e){case`object`:return e===null?jT(349,t):Array.isArray(e)?PT(e,t):FT(e,t);case`string`:return NT(e,t);case`boolean`:return MT(e,t);case`number`:return jT(e,t);case`undefined`:return jT(937,t);default:return jT(617,t)}}function jT(e,t){return(t<<5)-t+e|0}function MT(e,t){return jT(e?433:863,t)}function NT(e,t){t=jT(149417,t);for(let n=0,r=e.length;n<r;n++)t=jT(e.charCodeAt(n),t);return t}function PT(e,t){return t=jT(104579,t),e.reduce((e,t)=>AT(t,e),t)}function FT(e,t){return t=jT(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=NT(n,t),AT(e[n],t)),t)}var{registerWindow:ane,getWindow:IT,getDocument:one,getWindows:sne,getWindowsCount:cne,getWindowId:lne,getWindowById:une,hasWindow:dne,onDidRegisterWindow:fne,onWillUnregisterWindow:pne,onDidUnregisterWindow:mne}=function(){let e=new Map,t={window:Yw,disposables:new DS};e.set(Yw.vscodeWindowId,t);let n=new UC,r=new UC,i=new UC;function a(n,r){return(typeof n==`number`?e.get(n):void 0)??(r?t:void 0)}return{onDidRegisterWindow:n.event,onWillUnregisterWindow:i.event,onDidUnregisterWindow:r.event,registerWindow(t){if(e.has(t.vscodeWindowId))return OS.None;let a=new DS,o={window:t,disposables:a.add(new DS)};return e.set(t.vscodeWindowId,o),a.add(TS(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(RT(t,BT.BEFORE_UNLOAD,()=>{i.fire(t)})),n.fire(o),a},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(e){return e.vscodeWindowId},hasWindow(t){return e.has(t)},getWindowById:a,getWindow(e){let t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;let n=e;return n?.view?n.view.window:Yw},getDocument(e){return IT(e).document}}}(),LT=class{constructor(e,t,n,r){this._node=e,this._type=t,this._handler=n,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,null)}};function RT(e,t,n,r){return new LT(e,t,n,r)}var zT=class e{constructor(e,t){this.width=e,this.height=t}with(t=this.width,n=this.height){return t!==this.width||n!==this.height?new e(t,n):this}static is(e){return typeof e==`object`&&typeof e.height==`number`&&typeof e.width==`number`}static lift(t){return t instanceof e?t:new e(t.width,t.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}};zT.None=new zT(0,0),new class{constructor(){this.mutationObservers=new Map}observe(e,t,n){let r=this.mutationObservers.get(e);r||(r=new Map,this.mutationObservers.set(e,r));let i=kT(n),a=r.get(i);if(a)a.users+=1;else{let o=new UC,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(TS(()=>{--c.users,c.users===0&&(o.dispose(),s.disconnect(),r?.delete(i),r?.size===0&&this.mutationObservers.delete(e))})),r.set(i,a)}return a.onDidMutate}};var BT={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:eT?`webkitAnimationStart`:`animationstart`,ANIMATION_END:eT?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:eT?`webkitAnimationIteration`:`animationiteration`},VT=class extends OS{constructor(e,t,n,r,i,a,o,s,c){super(),this._terminal=e,this._characterJoinerService=t,this._charSizeService=n,this._coreBrowserService=r,this._coreService=i,this._decorationService=a,this._optionsService=o,this._themeService=s,this._cursorBlinkStateManager=new kS,this._charAtlasDisposable=this._register(new kS),this._observerDisposable=this._register(new kS),this._model=new Mw,this._workCell=new lw,this._workCell2=new lw,this._rectangleRenderer=this._register(new kS),this._glyphRenderer=this._register(new kS),this._onChangeTextureAtlas=this._register(new UC),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new UC),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new UC),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this._register(new UC),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this._register(new UC),this.onContextLoss=this._onContextLoss.event,this._canvas=this._coreBrowserService.mainDocument.createElement(`canvas`);let l={antialias:!1,depth:!1,preserveDrawingBuffer:c};if(this._gl=this._canvas.getContext(`webgl2`,l),!this._gl)throw Error(`WebGL2 not supported `+this._gl);this._register(this._themeService.onChangeColors(()=>this._handleColorChange())),this._cellColorResolver=new nne(this._terminal,this._optionsService,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new Jw(this._core.screenElement,2,this._terminal,this._core.linkifier,this._coreBrowserService,o,this._themeService)],this.dimensions=ene(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._updateCursorBlink(),this._register(o.onOptionChange(()=>this._handleOptionsChanged())),this._deviceMaxTextureSize=this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE),this._register(RT(this._canvas,`webglcontextlost`,e=>{console.log(`webglcontextlost event received`),e.preventDefault(),this._contextRestorationTimeout=setTimeout(()=>{this._contextRestorationTimeout=void 0,console.warn(`webgl context not restored; firing onContextLoss`),this._onContextLoss.fire(e)},3e3)})),this._register(RT(this._canvas,`webglcontextrestored`,e=>{console.warn(`webglcontextrestored event received`),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,iw(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()})),this._observerDisposable.value=sw(this._canvas,this._coreBrowserService.window,(e,t)=>this._setCanvasDevicePixelDimensions(e,t)),this._register(this._coreBrowserService.onWindowChange(e=>{this._observerDisposable.value=sw(this._canvas,e,(e,t)=>this._setCanvasDevicePixelDimensions(e,t))})),this._core.screenElement.appendChild(this._canvas),[this._rectangleRenderer.value,this._glyphRenderer.value]=this._initializeWebGLState(),this._isAttached=this._core.screenElement.isConnected,this._register(TS(()=>{for(let e of this._renderLayers)e.dispose();this._canvas.parentElement?.removeChild(this._canvas),iw(this._terminal)}))}get textureAtlas(){return this._charAtlas?.pages[0].canvas}_handleColorChange(){this._refreshCharAtlas(),this._clearModel(!0)}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._terminal.cols,this._terminal.rows))}handleResize(e,t){this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows);for(let e of this._renderLayers)e.resize(this._terminal,this.dimensions);this._canvas.width=this.dimensions.device.canvas.width,this._canvas.height=this.dimensions.device.canvas.height,this._canvas.style.width=`${this.dimensions.css.canvas.width}px`,this._canvas.style.height=`${this.dimensions.css.canvas.height}px`,this._core.screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._core.screenElement.style.height=`${this.dimensions.css.canvas.height}px`,this._rectangleRenderer.value?.setDimensions(this.dimensions),this._rectangleRenderer.value?.handleResize(),this._glyphRenderer.value?.setDimensions(this.dimensions),this._glyphRenderer.value?.handleResize(),this._refreshCharAtlas(),this._clearModel(!1)}handleCharSizeChanged(){this.handleResize(this._terminal.cols,this._terminal.rows)}handleBlur(){for(let e of this._renderLayers)e.handleBlur(this._terminal);this._cursorBlinkStateManager.value?.pause(),this._requestRedrawViewport()}handleFocus(){for(let e of this._renderLayers)e.handleFocus(this._terminal);this._cursorBlinkStateManager.value?.resume(),this._requestRedrawViewport()}handleSelectionChanged(e,t,n){for(let r of this._renderLayers)r.handleSelectionChanged(this._terminal,e,t,n);this._model.selection.update(this._core,e,t,n),this._requestRedrawViewport()}handleCursorMove(){for(let e of this._renderLayers)e.handleCursorMove(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation()}_handleOptionsChanged(){this._updateDimensions(),this._refreshCharAtlas(),this._updateCursorBlink()}_initializeWebGLState(){return this._rectangleRenderer.value=new Kw(this._terminal,this._gl,this.dimensions,this._themeService),this._glyphRenderer.value=new ww(this._terminal,this._gl,this.dimensions,this._optionsService),this.handleCharSizeChanged(),[this._rectangleRenderer.value,this._glyphRenderer.value]}_refreshCharAtlas(){if(this.dimensions.device.char.width<=0&&this.dimensions.device.char.height<=0){this._isAttached=!1;return}let e=rw(this._terminal,this._optionsService.rawOptions,this._themeService.colors,this.dimensions.device.cell.width,this.dimensions.device.cell.height,this.dimensions.device.char.width,this.dimensions.device.char.height,this._coreBrowserService.dpr,this._deviceMaxTextureSize);this._charAtlas!==e&&(this._onChangeTextureAtlas.fire(e.pages[0].canvas),this._charAtlasDisposable.value=wS(jC.forward(e.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),jC.forward(e.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas))),this._charAtlas=e,this._charAtlas.warmUp(),this._glyphRenderer.value?.setAtlas(this._charAtlas)}_clearModel(e){this._model.clear(),e&&this._glyphRenderer.value?.clear()}clearTextureAtlas(){this._charAtlas?.clearTexture(),this._clearModel(!0),this._requestRedrawViewport()}clear(){this._clearModel(!0);for(let e of this._renderLayers)e.reset(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation(),this._updateCursorBlink()}renderRows(e,t){if(!this._isAttached){if(this._core.screenElement?.isConnected&&this._charSizeService.width&&this._charSizeService.height)this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0;else return}for(let n of this._renderLayers)n.handleGridChanged(this._terminal,e,t);!this._glyphRenderer.value||!this._rectangleRenderer.value||(this._glyphRenderer.value.beginFrame()?(this._clearModel(!0),this._updateModel(0,this._terminal.rows-1)):this._updateModel(e,t),this._rectangleRenderer.value.renderBackgrounds(),this._glyphRenderer.value.render(this._model),(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible)&&this._rectangleRenderer.value.renderCursor())}_updateCursorBlink(){this._coreService.decPrivateModes.cursorBlink??this._terminal.options.cursorBlink?this._cursorBlinkStateManager.value=new ow(()=>{this._requestRedrawCursor()},this._coreBrowserService):this._cursorBlinkStateManager.clear(),this._requestRedrawCursor()}_updateModel(e,t){let n=this._core,r=this._workCell,i,a,o,s,c,l,u=0,d=!0,f,p,m,h,g,_,v,y,b;e=UT(e,n.rows-1,0),t=UT(t,n.rows-1,0);let x=this._coreService.decPrivateModes.cursorStyle??n.options.cursorStyle??`block`,ee=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,te=ee-n.buffer.ydisp,ne=Math.min(this._terminal.buffer.active.cursorX,n.cols-1),re=-1,ie=this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden&&(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible);this._model.cursor=void 0;let S=!1;for(a=e;a<=t;a++)for(o=a+n.buffer.ydisp,s=n.buffer.lines.get(o),this._model.lineLengths[a]=0,m=ee===o,u=0,c=this._characterJoinerService.getJoinedCharacters(o),y=0;y<n.cols;y++){if(i=this._cellColorResolver.result.bg,s.loadCell(y,r),y===0&&(i=this._cellColorResolver.result.bg),l=!1,d=y>=u,f=y,c.length>0&&y===c[0][0]&&d){p=c.shift();let e=this._model.selection.isCellSelected(this._terminal,p[0],o);for(v=p[0]+1;v<p[1];v++)d&&=e===this._model.selection.isCellSelected(this._terminal,v,o);d&&=!m||ne<p[0]||ne>=p[1],d?(l=!0,r=new HT(r,s.translateToString(!0,p[0],p[1]),p[1]-p[0]),f=p[1]-1):u=p[1]}if(h=r.getChars(),g=r.getCode(),v=(a*n.cols+y)*Dw,this._cellColorResolver.resolve(r,y,o,this.dimensions.device.cell.width),ie&&o===ee&&(y===ne&&(this._model.cursor={x:ne,y:te,width:r.getWidth(),style:this._coreBrowserService.isFocused?x:n.options.cursorInactiveStyle,cursorWidth:n.options.cursorWidth,dpr:this._devicePixelRatio},re=ne+r.getWidth()-1),y>=ne&&y<=re&&(this._coreBrowserService.isFocused&&x===`block`||this._coreBrowserService.isFocused===!1&&n.options.cursorInactiveStyle===`block`)&&(this._cellColorResolver.result.fg=50331648|this._themeService.colors.cursorAccent.rgba>>8&16777215,this._cellColorResolver.result.bg=50331648|this._themeService.colors.cursor.rgba>>8&16777215)),g!==0&&(this._model.lineLengths[a]=y+1),(this._model.cells[v]!==g||this._model.cells[v+Ow]!==this._cellColorResolver.result.bg||this._model.cells[v+kw]!==this._cellColorResolver.result.fg||this._model.cells[v+Aw]!==this._cellColorResolver.result.ext)&&(S=!0,h.length>1&&(g|=jw),this._model.cells[v]=g,this._model.cells[v+Ow]=this._cellColorResolver.result.bg,this._model.cells[v+kw]=this._cellColorResolver.result.fg,this._model.cells[v+Aw]=this._cellColorResolver.result.ext,_=r.getWidth(),this._glyphRenderer.value.updateCell(y,a,g,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,h,_,i),l)){for(r=this._workCell,y++;y<=f;y++)b=(a*n.cols+y)*Dw,this._glyphRenderer.value.updateCell(y,a,0,0,0,0,LS,0,0),this._model.cells[b]=0,this._model.cells[b+Ow]=this._cellColorResolver.result.bg,this._model.cells[b+kw]=this._cellColorResolver.result.fg,this._model.cells[b+Aw]=this._cellColorResolver.result.ext;y--}}S&&this._rectangleRenderer.value.updateBackgrounds(this._model),this._rectangleRenderer.value.updateCursor(this._model)}_updateDimensions(){!this._charSizeService.width||!this._charSizeService.height||(this.dimensions.device.char.width=Math.floor(this._charSizeService.width*this._devicePixelRatio),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*this._devicePixelRatio),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.top=this._optionsService.rawOptions.lineHeight===1?0:Math.round((this.dimensions.device.cell.height-this.dimensions.device.char.height)/2),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.char.left=Math.floor(this._optionsService.rawOptions.letterSpacing/2),this.dimensions.device.canvas.height=this._terminal.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._terminal.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/this._devicePixelRatio),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/this._devicePixelRatio),this.dimensions.css.cell.height=this.dimensions.device.cell.height/this._devicePixelRatio,this.dimensions.css.cell.width=this.dimensions.device.cell.width/this._devicePixelRatio)}_setCanvasDevicePixelDimensions(e,t){this._canvas.width===e&&this._canvas.height===t||(this._canvas.width=e,this._canvas.height=t,this._requestRedrawViewport())}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})}_requestRedrawCursor(){let e=this._terminal.buffer.active.cursorY;this._onRequestRedraw.fire({start:e,end:e})}},HT=class extends EC{constructor(e,t,n){super(),this.content=0,this.combinedData=``,this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=n}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw Error(`not implemented`)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}};function UT(e,t,n=0){return Math.max(Math.min(e,t),n)}var WT=`di$target`,GT=`di$dependencies`,KT=new Map;function qT(e){if(KT.has(e))return KT.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);JT(t,e,r)};return t._id=e,KT.set(e,t),t}function JT(e,t,n){t[WT]===t?t[GT].push({id:e,index:n}):(t[GT]=[{id:e,index:n}],t[WT]=t)}qT(`BufferService`),qT(`CoreMouseService`),qT(`CoreService`),qT(`CharsetService`),qT(`InstantiationService`),qT(`LogService`);var YT=qT(`OptionsService`);qT(`OscLinkService`),qT(`UnicodeService`),qT(`DecorationService`);var XT={trace:0,debug:1,info:2,warn:3,error:4,off:5},ZT=`xterm.js: `,QT=class extends OS{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),$T=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=XT[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)typeof e[t]==`function`&&(e[t]=e[t]())}_log(e,t,n){this._evalLazyOptionalParams(n),e.call(console,(this._optionsService.options.logger?``:ZT)+t,...n)}trace(e,...t){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};QT=sS([cS(0,YT)],QT);var $T,eE=class extends OS{constructor(e){if(FS&&IS()<16&&!document.createElement(`canvas`).getContext(`webgl2`,{antialias:!1,depth:!1,preserveDrawingBuffer:!0}))throw Error(`Webgl2 is only supported on Safari 16 and above`);super(),this._preserveDrawingBuffer=e,this._onChangeTextureAtlas=this._register(new UC),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new UC),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new UC),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this._register(new UC),this.onContextLoss=this._onContextLoss.event}activate(e){let t=e._core;if(!e.element){this._register(t.onWillOpen(()=>this.activate(e)));return}this._terminal=e;let n=t.coreService,r=t.optionsService,i=t,a=i._renderService,o=i._characterJoinerService,s=i._charSizeService,c=i._coreBrowserService,l=i._decorationService;i._logService;let u=i._themeService;this._renderer=this._register(new VT(e,o,s,c,n,l,r,u,this._preserveDrawingBuffer)),this._register(jC.forward(this._renderer.onContextLoss,this._onContextLoss)),this._register(jC.forward(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this._register(jC.forward(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this._register(jC.forward(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),a.setRenderer(this._renderer),this._register(TS(()=>{if(this._terminal._core._store._isDisposed)return;let t=this._terminal._core._renderService;t.setRenderer(this._terminal._core._createRenderer()),t.handleResize(e.cols,e.rows)}))}get textureAtlas(){return this._renderer?.textureAtlas}clearTextureAtlas(){this._renderer?.clearTextureAtlas()}};function tE(e){return e.needsReload?!0:e.wasAttachedWithoutLayout&&e.hasLayoutNow}function nE(e,t,n=[]){let r=new Set(Array.isArray(n)?n:[n]),i=[];for(let n of e)e.length-i.length>=t&&!r.has(n)&&i.push(n);return i}var rE=window.matchMedia?.(`(pointer: coarse)`).matches?4:12,iE=new Map;function aE(e){return e.clientWidth>0&&e.clientHeight>0}function oE(e){if(iE.delete(e),e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!1,e.webglAddon){try{e.webglAddon.dispose()}catch{}e.webglAddon=null}}function sE(e){let t=[e],n=Bd.snapshot().borrowedCardId,r=n?U.get(n):void 0;r&&t.push(r);for(let e of nE([...iE.keys()],rE,t))oE(e),e.needsWebGLReload=!0}function cE(e){e?.term&&tE({needsReload:e.needsWebGLReload,wasAttachedWithoutLayout:e.webglAttachedWithoutLayout,hasLayoutNow:aE(e.termWrap)})&&uE(e,{isForced:!0})}function lE(){for(let e of iE.keys()){let t=e.term;if(e.webglAddon&&t)try{t.clearTextureAtlas(),t.refresh(0,t.rows-1)}catch{oE(e),e.needsWebGLReload=!0}}}function uE(e,t={}){try{if(e.webglAddon&&!e.needsWebGLReload&&!t.isForced){iE.delete(e),iE.set(e,!0);return}e.webglAddon&&(e.webglAddon.dispose(),e.webglAddon=null,iE.delete(e)),sE(e);let n=new eE;n.onContextLoss(()=>{n.dispose(),e.webglAddon=null,iE.delete(e),e.needsWebGLReload=!0});let r=e.term;if(!r)throw Error(`webgl: the terminal was disposed before the addon loaded`);r.loadAddon(n),e.webglAddon=n,e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!aE(e.termWrap),iE.set(e,!0),requestAnimationFrame(()=>{e.webglAddon===n&&e.term&&e.term.refresh(0,e.term.rows-1)})}catch{e.webglAddon=null,e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!1,iE.delete(e)}}var dE=1024,fE=250,pE=`(max-width: 768px)`,mE=12,hE=14,gE=5e4,_E=!1;function vE(e){_E=e}var yE=!1;window.addEventListener(`blur`,()=>{yE=!0}),window.addEventListener(`focus`,()=>{yE=!1});function bE(e){let t=document.activeElement;return ex({isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),hasFocusInsideCard:t instanceof Node&&e.contains(t),hasWindowBlurredSinceFocus:yE,isPhoneLayout:qd()})}function xE(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return new TextDecoder().decode(n)}function SE(e,t){let n=(t instanceof Error?t.message:``)||String(t);console.error(`[clipboard:${e}]`,t),Wx(`Clipboard ${e} failed: ${n}`)}function CE(e,n,r){let i=o(location,f(`/terminals/${encodeURIComponent(e)}`)),a=new WebSocket(i);a.binaryType=`arraybuffer`,n.dataWs=a;let s=!1,c={hasSeenSize:!1,lastSeq:0};lb.register(e,(e,t)=>r.write(e,t)),a.addEventListener(`message`,t=>{let i=ax(t.data,c);if(i.kind===`bytes`){pf(n),lb.enqueue(e,i.data);return}if(i.kind===`attach-size`){c.hasSeenSize=!0,c.lastSeq=i.seq,r.reset(),n.ptySize={cols:i.cols,rows:i.rows},n._syncGrid?.();return}if(i.kind!==`size`)return;c.lastSeq=i.seq;let a={cols:i.cols,rows:i.rows};lb.enqueueAction(e,()=>{n.ptySize=a,n._syncGrid?.()})}),a.addEventListener(`close`,()=>{if(n.dataWs!==a)return;lb.unregister(e),n.dataWs=null,n._resetGridClaim?.(),s||d();let i=t(n._dataWsRetryAttempt||0);n._dataWsRetryAttempt=(n._dataWsRetryAttempt||0)+1,setTimeout(()=>{U.get(e)===n&&u().catch(()=>{}).then(()=>{U.get(e)===n&&CE(e,n,r)})},i)}),a.addEventListener(`open`,()=>{s=!0,n._dataWsRetryAttempt=0,n._retryOwedGridClaim?.();let e=n._inputQueue;e&&e.length>0&&setTimeout(()=>{if(a.readyState===WebSocket.OPEN){for(let t of e)a.send(JSON.stringify({type:`input`,data:t}));e.length=0}},50)})}function wE(e){let t=Zd(e);t?.dataWs&&t.dataWs.close()}function TE(e,t,n){return!e||t==null||t===``?!1:(n?.fromSoftKeyboard||e._resetSoftKeyboardBuffer?.(),e.dataWs?.readyState===WebSocket.OPEN?(e.dataWs.send(JSON.stringify({type:`input`,data:t})),!0):e._inputQueue&&e._inputQueue.length<dE?(e._inputQueue.push(t),!0):!1)}function EE(e,t){let n=window.matchMedia?.(pE).matches?mE:hE,r=new Iy({cursorBlink:_E,fontSize:n,fontFamily:`'Cascadia Code', 'Fira Code', 'Consolas', 'Menlo', monospace`,theme:Ub(),scrollback:gE,allowProposedApi:!0,linkHandler:Px()}),i=new Ef;r.loadAddon(i),r.open(e),Ix(r),t.term=r,t.fitAddon=i,oE(t);let a=null,o=null,s=!1,c=null,l=null;function u(){o!==null&&(clearTimeout(o),o=null)}function d(){if(!s)return null;let e=t.fitAddon;if(!e)return null;let n=e.proposeDimensions();return n?{cols:n.cols,rows:n.rows}:null}function f(e){if(!bE(t.card)||t.dataWs?.readyState!==WebSocket.OPEN)return!1;t.dataWs.send(JSON.stringify({type:`claim`,cols:e.cols,rows:e.rows})),c=e,l=null;let n=$b({authoritative:t.ptySize??null,isActiveViewer:s,lastClaim:c});return t.card.dataset.grid=n?`following`:`exact`,!0}function p(e){u(),l=e,o=setTimeout(()=>{o=null,f(e)},fE)}function m(){l&&o===null&&f(l)}function h({isActivationEdge:e=!1}={}){let n=t.term;if(!n)return;let r=nx({authoritative:t.ptySize??null,applied:{cols:n.cols,rows:n.rows},proposal:d(),isActiveViewer:s,isDataWsOpen:t.dataWs?.readyState===WebSocket.OPEN,lastClaim:c});if(r.resizeTo&&n.resize(r.resizeTo.cols,r.resizeTo.rows),t.card.dataset.grid=r.isFollowing?`following`:`exact`,r.keepsPendingSettle||(u(),l=null),r.sendUnview){c=null,t.dataWs?.send(JSON.stringify({type:`unview`}));return}r.owedClaim&&(e&&f(r.owedClaim)||p(r.owedClaim))}function g(){let e=tx({authoritative:t.ptySize??null,isActiveViewer:s,isDocumentEngaged:bE(t.card),isDataWsOpen:t.dataWs?.readyState===WebSocket.OPEN,lastClaim:c});e!==`none`&&(u(),e===`rebid`&&(c=null),h({isActivationEdge:!0}))}let _=new ResizeObserver(()=>{a===null&&(a=requestAnimationFrame(()=>{a=null,h()}))});_.observe(e),t.resizeObserver=_,t._syncGrid=h,t._resetGridClaim=()=>{u(),c=null},t._retryOwedGridClaim=m,t._syncGridOnEngagementEdge=g,t._setActiveViewer=e=>{s!==e&&(s=e,u(),l=null,e&&cE(t),h({isActivationEdge:!0}))},t.card.addEventListener(`focusin`,()=>{yE=!1,g()},{signal:t.abortController.signal}),uE(t);let v=null;r.onScroll(()=>{v===null&&(v=requestAnimationFrame(()=>{v=null,t.term&&t.term.refresh(0,t.term.rows-1)}))}),r.parser.registerOscHandler(52,e=>{let t=e.indexOf(`;`);if(t<0)return!0;let n=e.slice(t+1);if(n===``||n===`?`)return!0;let r;try{r=xE(n)}catch(e){return SE(`osc52 decode`,e),!0}if(!(document.hasFocus()&&navigator.userActivation?.isActive!==!1))return!0;let i=kd(r);return i&&i.catch(e=>{SE(`osc52 write`,e)}),!0}),r.attachCustomKeyEventHandler(e=>{if(e.type!==`keydown`)return!0;if(document.body.dataset.activeView===`focus`&&qy(e,Zy,eb()))return!1;let n=e.ctrlKey||e.metaKey;if(n&&e.key===`c`&&r.hasSelection()){let e=r.getSelection();r.clearSelection();let t=kd(e);return t&&t.catch(e=>{SE(`copy`,e)}),!1}return n&&e.key===`v`?!1:n&&e.key===`Backspace`?(TE(t,`\x1B`),!1):!0}),DE(e,r,t),iS(e,r)}function DE(e,t,n){let r=t.textarea;if(!r)return;let i=``,a=()=>{i=r.value},o=()=>{i=``,qd()&&r.value!==``&&(r.value=``)};n._resetSoftKeyboardBuffer=o;let s=()=>{let e=dx(i,r.value);return i=r.value,e!==``&&(TE(n,e,{fromSoftKeyboard:!0}),t.scrollToBottom(),!0)},c=(t,n)=>{e.addEventListener(t,e=>{if(!qd()){a();return}n(e)},!0)};c(`keydown`,e=>{if(ux(e)){e.stopPropagation();return}s(),queueMicrotask(o)}),c(`compositionstart`,e=>{e.stopPropagation()}),c(`compositionupdate`,e=>{e.stopPropagation()}),c(`compositionend`,e=>{e.stopPropagation(),setTimeout(s,0)}),c(`input`,e=>{if(!lx(e.inputType)){queueMicrotask(o);return}if(e.stopPropagation(),s())return;let r=sx(e.inputType);r!==``&&(TE(n,r,{fromSoftKeyboard:!0}),t.scrollToBottom())})}var OE=new Set;function kE(e){return OE.add(e),()=>OE.delete(e)}function AE(e,t){e._inputQueue=[];let n=e.term;n&&(n.onData(n=>{if(!TE(e,n))return;let r=Lx(n);for(let e of OE)e(t,r)}),CE(t,e,n))}function jE(e,t){e.term||(EE(e.termWrap,e),AE(e,t))}function ME(e){e?._syncGridOnEngagementEdge?.()}function NE(e,t){if(!e)return;jE(e,t),cE(e);let n=e.term;n&&(n.refresh(0,n.rows-1),ME(e))}function PE(e,t,n){e&&(n&&jE(e,t),e._setActiveViewer?.(n))}function FE(e){let t=/^@@+ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]);return!Number.isFinite(n)||!Number.isFinite(r)?null:{oldStart:n,newStart:r}}function IE(e){let t=[];if(!e)return t;let n=String(e).split(/\r?\n/),r=null,i=null,a=null,o=null,s=()=>{if(a===null)return null;let e=a;return a=e+1,e},c=()=>{if(o===null)return null;let e=o;return o=e+1,e},l=e=>{let n={path:``,oldPath:null,status:`modified`,added:0,removed:0,binary:!1,hunks:[]};t.push(n),i=null;let r=/^diff --git a\/(.+?) b\/(.+)$/.exec(e);return r&&(n.oldPath=r[1]??null,n.path=r[2]??``),n};for(let e of n){if(e.startsWith(`diff --git `)){r=l(e);continue}if(!r){if(!e.startsWith(`--- `)&&!e.startsWith(`@@`))continue;r=l(`diff --git a/ b/`)}if(r){if(e.startsWith(`new file mode`)){r.status=`added`;continue}if(e.startsWith(`deleted file mode`)){r.status=`deleted`;continue}if(e.startsWith(`rename from `)){r.oldPath=e.slice(12),r.status=`renamed`;continue}if(e.startsWith(`rename to `)){r.path=e.slice(10),r.status=`renamed`;continue}if(e.startsWith(`Binary files`)){r.binary=!0;continue}if(!(e.startsWith(`index `)||e.startsWith(`similarity index`)||e.startsWith(`dissimilarity index`)||e.startsWith(`old mode`)||e.startsWith(`new mode`))){if(e.startsWith(`--- `)){if(e===`--- /dev/null`){r.status=`added`;continue}if(!r.path){let t=e.slice(4).replace(/^a\//,``);t&&t!==`/dev/null`&&(r.oldPath=r.oldPath||t)}continue}if(e.startsWith(`+++ `)){if(e===`+++ /dev/null`){r.status=`deleted`;continue}if(!r.path){let t=e.slice(4).replace(/^b\//,``);t&&t!==`/dev/null`&&(r.path=t)}continue}if(e.startsWith(`@@`)){i={header:e,lines:[]},r.hunks.push(i);let t=FE(e);a=t?t.oldStart:null,o=t?t.newStart:null;continue}if(i){if(e===``)continue;let t=e[0];if(t===`+`){i.lines.push({type:`add`,text:e.slice(1),oldLineNumber:null,newLineNumber:c()}),r.added++;continue}if(t===`-`){i.lines.push({type:`del`,text:e.slice(1),oldLineNumber:s(),newLineNumber:null}),r.removed++;continue}if(t===`\\`){i.lines.push({type:`meta`,text:e.slice(1).trim(),oldLineNumber:null,newLineNumber:null});continue}i.lines.push({type:`context`,text:t===` `?e.slice(1):e,oldLineNumber:s(),newLineNumber:c()})}}}}for(let e of t)e.path||=e.oldPath||`(unknown)`;return t}function LE(e,t,n,r){return`${e}:${r}:${n}:${t}`}function RE(e,t,n){if(!e)return[];let r=new Set;if(e.committed!==t.committed&&r.add(`committed`),e.uncommitted!==t.uncommitted&&r.add(`uncommitted`),r.size===0)return[];let i=[];for(let e of n)r.has(e.slice(0,e.indexOf(`:`)))&&i.push(e);return i}function zE(e,t){return t.type===`del`?t.oldLineNumber===null?null:{path:e.path,line:t.oldLineNumber,side:`old`}:t.newLineNumber===null?null:{path:e.path,line:t.newLineNumber,side:`new`}}function BE(e,t){return t===`merged`||t===`none`||e===`parked`&&t===`pending-review`}function VE(e){let t=0,n=0;for(let r of e||[])t+=r.added||0,n+=r.removed||0;return{files:(e||[]).length,added:t,removed:n}}function HE(e){let t=(Array.isArray(e)?e:[]).filter(e=>typeof e==`string`&&e!==``);return[...new Set(t)].sort().join(`|`)}function UE(e,t){let n=typeof e==`string`?e:``,r=typeof t==`string`?t:``;return n===``?{shown:!1,acknowledged:``}:{shown:n!==r,acknowledged:r}}function WE({getAck:e,setAck:t,signature:n,isLooking:r}){let i=e(),a=e=>{e!==i&&(i=e,t(e))};return{refresh(){let e=n(),t=UE(e,r()?e:i);return a(t.acknowledged),t.shown},acknowledge(){a(n())}}}function GE(e,t){return typeof e==`string`&&e.trim()?e.trim():t}function KE(e,t){return typeof e==`number`&&Number.isFinite(e)?e:t}function qE(e,{label:t,tab:n}){if(!e)return`Waiting for ${t} status from the server.`;let r=typeof e.reason==`string`?e.reason.trim():``;return e.configured===!1&&r?`${t} is misconfigured: ${r}. Open Settings and its ${n} tab.`:e.configured===!1?`${t} is off. Open Settings and its ${n} tab to switch it on.`:`${t} is on. Waiting for the first poll.`}var JE=`machine-updates`,YE=`update-actions`,XE={spiking:0,regressed:1,worsened:2,new:3,quiet:4},ZE={spiking:`crit`,regressed:`crit`,worsened:`warn`,new:`warn`,quiet:`dim`},QE=99,$E={ROOT_CAUSE:`root cause`,NEEDS_HUMAN:`needs you`,TRANSIENT:`transient`,FIXED:`fixed`,ERROR:`error`};function eD(e){return Array.isArray(e)?e.flatMap(e=>{let t=e,n=GE(t?.tool,``);return n?[{at:KE(t?.at,0),tool:n,detail:GE(t?.detail,``)}]:[]}):[]}function tD(e){return e.detail?`${e.tool} ${e.detail}`:e.tool}function nD(e){let t=eD(e?.trail).at(-1);return t?tD(t):``}function rD(e){let t=GE(e?.summaryLine,``);return e?.inFlight===!0&&nD(e)||t}function iD(e){return{inFlight:e?.inFlight===!0,startedAt:KE(e?.startedAt,null),steps:eD(e?.trail),verdict:GE(e?.verdict,``),summaryLine:GE(e?.summaryLine,``)}}function aD(e,t,n){let r=String(t??``),i=String(n??``);if(!r||!i)return null;for(let t of Array.isArray(e?.projects)?e.projects:[])if(String(t?.projectId??``)===r){for(let e of Array.isArray(t.issues)?t.issues:[])if(String(e?.issueId??``)===i)return e}return null}function oD(e,t){let n=aD(e,t?.projectId,t?.issueId);return n?(n.inFlight=!0,n.startedAt=KE(t?.startedAt,null),n.trail=eD(t?.trail),!0):!1}function sD(e){return{inFlight:!1,startedAt:KE(e?.startedAt,null),steps:eD(e?.trail),verdict:GE(e?.verdict,``),summaryLine:GE(e?.summaryLine,``)}}function cD(e,t){return!e||!t?!1:String(t.projectId??``)===e.projectId&&String(t.issueId??``)===e.issueId}function lD(e,t){let n=aD(e,t?.projectId,t?.issueId);if(!n)return!1;let r=sD(t);return n.inFlight=!1,n.startedAt=r.startedAt,n.trail=r.steps,n.verdict=r.verdict,n.summaryLine=r.summaryLine,!0}function uD(e){return $E[typeof e==`string`?e.toUpperCase():``]||String(e??``).toLowerCase()}function dD(e){let t=Math.max(0,Math.round(e/1e3));return`${Math.floor(t/60)}:${String(t%60).padStart(2,`0`)}`}function fD(e,t){return e==null?``:`+${dD(t-e)}`}function pD(e){let t=e.steps.at(-1);return[e.steps.length,t?.at??0,t?.tool??``].join(`::`)}function mD(e,t){if(e.inFlight){let n=`${e.steps.length} ${e.steps.length===1?`step`:`steps`}`;return`investigating, ${e.startedAt?`started ${t}`:`starting`}, ${n}`}return e.verdict?`finished: ${uD(e.verdict)}`:`finished`}function hD(e){return qE(e,{label:`PostHog monitoring`,tab:`PostHog`})}function gD(e){return KE(e.intervalMinutes,null)!==null}function _D(e,t){return e==null||e.configured===!1?`placeholder`:t>0?`ready`:gD(e)?`placeholder`:`pending`}function vD(e){return ZE[e??``]||`dim`}function yD(e){if(typeof e?.lastSeen!=`string`)return null;let t=Date.parse(e.lastSeen);return!Number.isFinite(t)||t<=0?null:t}function bD(e){let t=GE(e?.status,``).trim().toLowerCase();return!t||t===`active`?``:t}function xD(e){return Array.isArray(e)?e.map(e=>Number(e)).filter(e=>Number.isFinite(e)):[]}function SD(e){return Array.isArray(e)?e.map(e=>typeof e==`number`?e:Number(e?.occurrences)).filter(e=>Number.isFinite(e)):[]}function CD(e,t=64,n=16){let r=xD(e);if(r.length<2)return``;let i=Math.max(...r),a=Math.min(...r),o=t/(r.length-1),s=n/2,c=i-a;return r.map((e,t)=>{let r=t*o,i=c===0?s:n-(e-a)/c*n;return`${Number(r.toFixed(2))},${Number(i.toFixed(2))}`}).join(` `)}function wD(e){if(e.length<4)return null;let t=Math.floor(e.length/2),n=e.slice(0,t).reduce((e,t)=>e+t,0);if(n===0)return null;let r=e.slice(-t).reduce((e,t)=>e+t,0),i=Math.round(Math.abs(r-n)/Math.abs(n)*100);return r>n?{direction:`up`,percent:i}:r<n?{direction:`down`,percent:i}:{direction:`flat`,percent:i}}function TD(e){return e.length===0?`0 polls, 0 to 0 occurrences`:`${e.length} polls, ${Math.min(...e)} to ${Math.max(...e)} occurrences`}function ED(e){let t=Array.isArray(e)?e:[],n=0,r=0;for(let e of t)e?.change===`spiking`&&(n+=1),e?.verdict===`NEEDS_HUMAN`&&(r+=1);return{active:t.length,spiking:n,needsHuman:r}}var DD=3e5;function OD(e){let t=Number(e);return!Number.isFinite(t)||t<=0?DD:t*2}function kD(e){let t=e.split(/[\\/]+/).filter(Boolean);return t.length===0?``:t[t.length-1]}function AD(e){let t=kD(GE(e?.name,``));if(t)return t;let n=e?.projectId;return n==null||n===``?`project`:String(n)}function jD(e){let t=GE(e,``);return t?(t.replace(/^[a-z][a-z0-9+.-]*:\/\//i,``).split(`/`)[0].split(`@`).pop()??``).replace(/:\d+$/,``):``}function MD(e){let t=new Set,n=Array.isArray(e)?e:[];for(let e of n){let n=jD(e?.host);n&&t.add(n)}return t.size>1}function ND(e,t,n={}){let r=ED(e?.issues),i=GE(e?.error,``).slice(0,200),a=Number(t),o=Number(e?.lastTickAt),s=Number.isFinite(a)&&Number.isFinite(o)&&o>0?a-o:0,c=s>OD(n.intervalMs)?s:0;return{loud:r.active>0||r.spiking>0||!!i||c>0,counts:r,error:i,staleMs:c}}function PD(e,t,n={}){let r=[],i=[],a=Array.isArray(e)?e:[];for(let e of a){let a=ND(e,t,n),o={project:e,...a};if(a.loud){r.push(o);continue}i.push(o)}return{loud:r,quiet:i}}function FD(e,t=null){return(Array.isArray(e?.investigations)?e.investigations:[]).filter(e=>typeof e==`object`&&!!e).filter(e=>typeof e.id==`string`&&e.id!==``).filter(e=>e.archived!==!0).filter(e=>!t?.has(e.id)).map(e=>({id:e.id,issueId:GE(e.issueId,``),projectId:e.projectId??null,projectLabel:GE(e.projectName,``),title:GE(e.title,`Untitled issue`),summaryLine:GE(e.summaryLine,``),url:GE(e.url,``),verdict:GE(e.verdict,`ERROR`).toUpperCase(),mode:GE(e.mode,`investigate`),prUrl:/^https:\/\/[^\s"'<>]{1,300}$/.test(GE(e.prUrl,``))?GE(e.prUrl,``):``,at:Number.isFinite(Number(e.at))?Number(e.at):0})).sort((e,t)=>t.at-e.at)}function ID(e,t){if(!t||t.size===0)return t;let n=Array.isArray(e?.investigations)?e.investigations:[],r=new Set;for(let e of n){if(typeof e!=`object`||!e)continue;let{id:t}=e;typeof t==`string`&&r.add(t)}for(let e of[...t])r.has(e)||t.delete(e);return t}function LD(e){let t=GE(e,``);return/^[0-9a-f]{7,40}$/i.test(t)?t.slice(0,7).toLowerCase():``}function RD(e,t){let n=GE(e,``);if(n)return/^\d/.test(n)?`v${n}`:n;let r=LD(t);return r?`commit ${r}`:``}function zD(e){return`Update available: ${RD(e?.current,e?.currentSha)} to ${RD(e?.latest,e?.latestSha)}`}function BD({posthog:e}={}){let t=[],n=Array.isArray(e?.projects)?e.projects:[];for(let e of n){let n=GE(e?.projectId,GE(e?.name,`project`)),r=Array.isArray(e?.issues)?e.issues:[];for(let e=0;e<r.length;e++){let i=r[e],a=GE(i?.issueId,GE(i?.title,`#${e}`));i?.change===`spiking`&&t.push(`issue:${n}/${a}:spiking`),i?.verdict===`NEEDS_HUMAN`&&t.push(`issue:${n}/${a}:needs-human`)}}return t}function VD(e={}){return HE(BD(e))}function HD(e){return XE[e??``]??QE}function UD(e){return Array.isArray(e)?e.map((e,t)=>({issue:e,index:t})).sort((e,t)=>{let n=HD(e.issue?.change)-HD(t.issue?.change);if(n!==0)return n;let r=KE(t.issue?.users,0)-KE(e.issue?.users,0);if(r!==0)return r;let i=KE(t.issue?.occurrences,0)-KE(e.issue?.occurrences,0);return i===0?e.index-t.index:i}).map(e=>e.issue):[]}var WD=5e3;function GD(e){let t=e.match(/<command-name>([^<]*)<\/command-name>/)?.[1];return t===void 0||/[\r\n]/.test(t)?null:t.trim()||null}function KD(e,t){if(!e.toolUseId)return GD(e.text)??`context`;let n=t.get(e.toolUseId);return n?Rc(n.name,n.input)||n.name:`expansion`}function qD(e){return e.kind!==`expansion`||e.toolUseId?!1:GD(e.text)!==null}function JD(e){return e.kind===`prompt`||e.kind===`session`||qD(e)}function YD(e){return new TextEncoder().encode(e).byteLength}function XD(e){return e.kind===`prompt`||e.kind===`expansion`||e.kind===`thinking`||e.kind===`assistant`||e.kind===`notice`?e.text:e.kind===`tool_result`?e.content:e.kind===`raw`?e.line:e.kind===`tool_call`?JSON.stringify(e.input,null,2)??String(e.input??``):[`${e.vendor} ${e.vendorSessionId}`,e.transcriptPath,e.reason??``].filter(Boolean).join(`
|
|
134
|
-
`)}var ZD={prompt:`PROMPT`,expansion:`EXPANSION`,thinking:`THINKING`,assistant:`ASSISTANT`,tool_call:`TOOL`,tool_result:`RESULT`,session:`SESSION`,notice:`NOTICE`,raw:`RAW`},QD=[{kind:`thinking`,label:`Thinking`},{kind:`tool_result`,label:`Tool result`},{kind:`raw`,label:`Raw`}];function $D(e,t){if(e.kind===`prompt`)return{prefix:`Prompt: `,text:Ic(e.text)};if(e.kind===`thinking`)return{prefix:`Thinking: `,text:Ic(e.text)};if(e.kind===`assistant`)return{prefix:`Assistant: `,text:Ic(e.text)};if(e.kind===`notice`)return{prefix:`Notice: `,text:Ic(e.text)};if(e.kind===`raw`)return{prefix:`Raw: `,text:Ic(e.line)};if(e.kind===`session`)return{prefix:`Session: `,text:`${e.vendor} ${e.vendorSessionId}`};if(e.kind===`expansion`)return{prefix:`Expansion: `,text:KD(e,t)};if(e.kind===`tool_call`){let t=Rc(e.name,e.input);return t?{prefix:`${e.name}: `,text:t}:{prefix:``,text:e.name}}return{prefix:`${t.get(e.toolUseId)?.name??`Tool`} result: `,text:`${YD(e.content)} bytes`}}function eO(e){if(!e.agentType)return``;let t=e.agentId?` ${e.agentId.slice(-6)}`:``;return`[${e.agentType}${t}] `}function tO(e,t){let n=$D(e,t),r=eO(e),i=e.kind===`tool_call`||e.kind===`tool_result`?`${n.prefix}${n.text}`:n.text,a=[],o=e.kind===`notice`?`muted`:`default`;if(e.kind===`tool_result`&&e.isError&&(o=`error`,a.push(`error`)),e.truncated===!0&&(o!==`error`&&(o=`muted`),a.push(`truncated`)),e.kind===`tool_result`){let n=t.get(e.toolUseId),r=n?e.ts-n.ts:NaN;Number.isFinite(r)&&r>=0&&a.push(r>1e3?`${(r/1e3).toFixed(1)}s`:`${Math.round(r)}ms`)}return{kind:e.kind,tag:ZD[e.kind],text:`${r}${i}`,tone:o,badges:a}}function nO(e,t){return{record:e,...tO(e,t)}}function rO(e){return e.kind!==`tool_result`&&e.kind!==`expansion`?null:e.toolUseId||null}function iO(e,t){let n=rO(e);return!n||t.has(n)?null:n}function aO(e,t,n=1){e.set(t,(e.get(t)??0)+n)}function oO(e,t){let n=(e.get(t)??0)-1;if(n>0){e.set(t,n);return}e.delete(t)}function sO(e,t){if(t.size!==0)for(let n of e.turns)for(let r=0;r<n.rows.length;r+=1){let i=n.rows[r],a=rO(i.record);a&&t.has(a)&&(n.rows[r]=nO(i.record,e.toolCallByUseId))}}function cO(){return{turns:[],toolCallByUseId:new Map,unresolvedToolUseCounts:new Map}}function lO(e){if(e.startedAt===null)return 0;let t=e.head?.record.ts??e.startedAt;for(let n of e.rows)t=Math.max(t,n.record.ts);return Math.max(0,t-e.startedAt)}function uO(e){let{rowCount:t,toolCallCount:n,errorCount:r,resultBytes:i}=e.metrics;return`${`${t} ${t===1?`row`:`rows`}`}, ${`${n} ${n===1?`tool`:`tools`}`}, ${`${r} ${r===1?`error`:`errors`}`}, ${i<1024?`${i} B`:`${(i/1024).toFixed(1)} KB`}, ${dD(lO(e))}`}function dO(){return{rowCount:0,toolCallCount:0,errorCount:0,resultBytes:0}}function fO(e,t,n){e.metrics.rowCount+=n,t.record.kind===`tool_call`&&(e.metrics.toolCallCount+=n),t.record.kind===`tool_result`&&(e.metrics.resultBytes+=YD(t.record.content)*n,t.record.isError&&(e.metrics.errorCount+=n))}function pO(e,t){for(let n of t)n.kind===`tool_call`&&e.toolCallByUseId.set(n.toolUseId,n);let n=[],r=e.turns[e.turns.length-1]??null;for(let i of t){let t=iO(i,e.toolCallByUseId);t&&aO(e.unresolvedToolUseCounts,t);let a=nO(i,e.toolCallByUseId);if(JD(i)){r={head:a,rows:[],hasTrimmedRows:!1,startedAt:i.ts,metrics:dO()},fO(r,a,1),e.turns.push(r),n.push({turnIndex:e.turns.length-1,isNewTurn:!0,head:a,rows:[]});continue}r||(r={head:null,rows:[],hasTrimmedRows:!1,startedAt:i.ts,metrics:dO()},e.turns.push(r),n.push({turnIndex:e.turns.length-1,isNewTurn:!0,head:null,rows:[]})),r.rows.push(a),fO(r,a,1);let o=e.turns.length-1,s=n[n.length-1];if(s&&s.turnIndex===o){s.rows.push(a);continue}n.push({turnIndex:o,isNewTurn:!1,head:null,rows:[a]})}return n}function mO(e,t){let n=cO();pO(n,t);let r=new Set;for(let[t,i]of n.toolCallByUseId)e.toolCallByUseId.has(t)||(e.toolCallByUseId.set(t,i),r.add(t));let i=new Set;for(let t of r)e.unresolvedToolUseCounts.delete(t)&&i.add(t);for(let[t,r]of n.unresolvedToolUseCounts)e.toolCallByUseId.has(t)||aO(e.unresolvedToolUseCounts,t,r);let a=n.turns[n.turns.length-1],o=e.turns[0],s=!!a&&!!o&&!o.head,c=s?a.head:null,l=s?a.rows:[];if(s){n.turns.pop();let e=a.startedAt,t=o.startedAt;e!==null&&(t===null||e<t)&&(o.startedAt=a.startedAt),o.head=c,o.rows=[...l,...o.rows],o.metrics={rowCount:a.metrics.rowCount+o.metrics.rowCount,toolCallCount:a.metrics.toolCallCount+o.metrics.toolCallCount,errorCount:a.metrics.errorCount+o.metrics.errorCount,resultBytes:a.metrics.resultBytes+o.metrics.resultBytes}}return e.turns=[...n.turns,...e.turns],sO(e,i),{newTurns:n.turns,mergedHead:c,mergedRows:l,needsRerender:i.size>0}}function hO(e){return e.rows.length+ +!!e.head}function gO(e){let t=0;for(let n of e.turns)t+=hO(n);return t}function _O(e,t){for(let n of t){if(n.record.kind===`tool_call`){e.toolCallByUseId.delete(n.record.toolUseId);continue}let t=rO(n.record);t&&oO(e.unresolvedToolUseCounts,t)}}function vO(e,t){_O(e,t.head?[t.head,...t.rows]:t.rows)}function yO(e,t){let n=e.turns[0];if(!n)return 0;let r=Math.min(t,n.rows.length);if(r<=0)return 0;let i=n.rows.slice(0,r);_O(e,i);for(let e of i)fO(n,e,-1);return n.rows=n.rows.slice(r),n.hasTrimmedRows=!0,r}function bO(e,t=WD){let n=gO(e),r=0;for(;n>t&&r<e.turns.length-1;){let t=e.turns[r];if(!t)break;n-=hO(t),vO(e,t),r+=1}return r>0&&(e.turns=e.turns.slice(r)),n<=t?{droppedTurnCount:r,droppedRowCount:0}:{droppedTurnCount:r,droppedRowCount:yO(e,n-t)}}function xO(e){let t=[],n=new Set;for(let r of e)r.id&&r.name&&!n.has(r.id)&&(n.add(r.id),t.push({id:r.id,label:r.name}));return t}function SO(e,t,n,r=!0){return t&&e.some(e=>e.id===t)?t:n&&e.some(e=>e.id===n)?n:r?e[0]?.id??null:null}function CO(e){return!e.selectedSessionId||!e.isPanelVisible||e.hasPendingRequest?null:e.hasLoadedOnce?{id:e.selectedSessionId,direction:`forward`,after:e.nextOffset}:{id:e.selectedSessionId,direction:`tail`,after:0,endingAt:`tail`}}function wO(e,t=WD){return!e.selectedSessionId||!e.hasLoadedOnce||e.hasDroppedEarliestRows||e.residentRowCount>=t?!1:e.firstOffset>0}function TO(e,t=WD){return!wO(e,t)||e.hasPendingRequest||!e.selectedSessionId?null:{id:e.selectedSessionId,direction:`earlier`,after:0,endingAt:e.firstOffset}}function EO(e){let{pendingRequest:t,resident:n,reply:r}=e;return!t||t.id!==r.id?`ignore`:!n||n.sessionId!==r.id?`stale`:r.reset||r.next<r.start?`reset`:t.direction===`tail`?n.hasLoadedOnce?`stale`:`seed`:t.direction===`earlier`?n.firstOffset===t.endingAt?r.next===t.endingAt?`prepend`:`reset`:`stale`:n.nextOffset===t.after?r.start===t.after?`append`:`reset`:`stale`}function DO(e){return e.hasSelectionChanged||e.isRenderedTraceStale||!e.hasRenderedOnce}function OO(e,t,n){return e!==0||t?null:n?.startedAt??null}function kO(e,t){return AO(e,t)?e.filter(e=>e!==t):[...e,t]}function AO(e,t){return e.includes(t)}function jO(e){return e?`No trace has been recorded for ${e.label}.`:`No sessions are available.`}var MO=.32,NO=.6,PO=.88,FO=.98,IO=1.12,LO=2*Math.PI,RO={now:MO,next:NO,later:PO};function zO(e,t=0){let n=2166136261^t;for(let t=0;t<e.length;t+=1)n=Math.imul(n^e.charCodeAt(t),16777619);return(n>>>0)/4294967296}function BO(e,t){return t===`working`||t===`ready`?FO+zO(e,1)*.14000000000000012:RO[t]}function VO(e){let t=[];for(let{id:n,tier:r}of e)r!==`resting`&&t.push({id:n,tier:r,angle:zO(n)*LO,radius:BO(n,r)});if(t.length<2)return t;let n=[...t].sort((e,t)=>e.angle-t.angle),r=LO/n.length,i=n.reduce((e,t,i)=>Math.max(e,t.angle-LO+(n.length-i)*r),n[0].angle);return n.forEach((e,t)=>{e.angle=(i+t*r)%LO}),t}function HO(e){return e>640}function UO(e){return e.reviews.filter(e=>e.state===`open`&&e.openRevision!==null).sort((e,t)=>(t.openRevision?.since??0)-(e.openRevision?.since??0))[0]??null}function WO(e){return[...e].sort((e,t)=>(e.isDormant===t.isDormant?0:e.isDormant?1:-1)||String(e.name).localeCompare(String(t.name),void 0,{numeric:!0,sensitivity:`base`}))}function GO(e,t){return e.length?e[((t==null?-1:e.indexOf(t))+1)%e.length]:null}function KO(e,t,n){if(!e.length)return null;let r=n<0?-1:1,i=t==null?-1:e.indexOf(t);return e[((i===-1?r===1?-1:0:i)+r+e.length)%e.length]}function qO({state:e,unseen:t}={}){return e===`WAITING`||e===`COMPLETE`&&t===!0}function JO(e){let t=0;for(let n of e||[])qO(n||{})&&t++;return t}function YO(e){return e<=0?`ALL CLEAR`:e===1?`1 NEEDS YOU`:`${e} NEED YOU`}var XO=new Map([[`hand`,2]]),ZO=1;function QO(e){return e?typeof e==`string`&&XO.get(e)||ZO:0}function $O(e){let t=!1,n=0;for(let r of e||[]){let e=QO(r);e<=n||(t=typeof r!=`string`||r,n=e)}return t}var ek=`Estimated list prices, not a bill.`,tk=`Enable in Settings.`,nk=Object.freeze([{value:`7`,label:`Last 7 days`,days:7},{value:`30`,label:`Last 30 days`,days:30},{value:`90`,label:`Last 90 days`,days:90},{value:`all`,label:`All retained`,days:null}]),rk=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],ik=/^(\d{4})-(\d{2})-(\d{2})$/,ak=new Set([`day`,`model`,`label`]),ok=new Set([`model`,`label`]);function sk(e){return e.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)}function ck(e){return e.includes(`.`)?e.replace(/0+$/,``).replace(/\.$/,``):e}function lk(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=Math.round(e);return`${t<0?`-`:``}${sk(String(Math.abs(t)))}`}function uk(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=Math.abs(e);if(t===0)return`$0.00`;let n=e<0?`-`:``;if(t<1e-4)return e<0?`above -$0.0001`:`<$0.0001`;if(t<.01)return`${n}$${t.toFixed(4)}`;let[r,i]=t.toFixed(2).split(`.`);return`${n}$${sk(r)}.${i}`}function dk(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=e<0?`-`:``,n=Math.abs(e);if(n<1e3){let e=Math.round(n);return`${e===0?``:t}${e}`}return n<999950?`${t}${ck((n/1e3).toFixed(1))}k`:n<999995e3?`${t}${ck((n/1e6).toFixed(2))}M`:`${t}${ck((n/1e9).toFixed(2))}B`}function fk(e){return typeof e!=`number`||!Number.isFinite(e)?`-`:e>0&&e<.1?`<0.1%`:`${ck(e.toFixed(1))}%`}function pk(e){let t=Number(e?.costUSD);return Number.isFinite(t)&&t>0?`costUSD`:`tokens`}function mk(e){return e===`costUSD`?`share of cost`:`share of tokens`}function hk(e,t){let n=Number(e),r=Number(t);return!Number.isFinite(n)||!Number.isFinite(r)||r<=0?null:n/r*100}function gk(e){let t=ik.exec(String(e??``));if(!t)return String(e??``)||`-`;let n=rk[Number(t[2])-1];return n?`${n} ${Number(t[3])}`:String(e)}function _k(e){let t=vk(e);return t.length===0?``:t.length===1?gk(t[0]):`${gk(t[0])} to ${gk(t[t.length-1])}`}function vk(e){return(Array.isArray(e)?e:[]).map(e=>typeof e==`string`?e:e?.day).map(e=>String(e??``)).filter(e=>ik.test(e)).sort()}function yk(e){let t=Number(e?.ts);return!Number.isFinite(t)||t<=0?``:bk(t,typeof e?.tz==`string`&&e.tz?e.tz:null)}function bk(e,t){let n={year:`numeric`,month:`2-digit`,day:`2-digit`};t&&(n.timeZone=t);let r=xk(e,n);return ik.test(r)?r:xk(e,{year:`numeric`,month:`2-digit`,day:`2-digit`})}function xk(e,t){try{return new Intl.DateTimeFormat(`en-CA`,t).format(new Date(e))}catch{return``}}function Sk(e){if(typeof e!=`number`||!Number.isFinite(e)||e<0)return`-`;let t=Math.round(e);if(t<60)return`${t}m`;let n=Math.floor(t/60),r=t%60;return r===0?`${n}h`:`${n}h ${r}m`}function Ck(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return`-`;let n=new Date(t),r=rk[n.getMonth()];if(!r)return`-`;let i=String(n.getHours()).padStart(2,`0`),a=String(n.getMinutes()).padStart(2,`0`);return`${r} ${n.getDate()} ${i}:${a}`}function wk(e){if(!e||typeof e!=`object`)return[];let t=[];if(Number.isFinite(e.tokensPerMinute)){let n=Number.isFinite(e.tokensPerMinuteExCache)?`${dk(e.tokensPerMinuteExCache)} excluding cache`:``;t.push({label:`tokens per min`,value:dk(e.tokensPerMinute),sub:n})}return Number.isFinite(e.costPerHour)&&t.push({label:`cost per hour`,value:uk(e.costPerHour),sub:``}),t}function Tk(e){if(!e||typeof e!=`object`)return``;let t=[];Number.isFinite(e.projectedTokens)&&t.push(`${dk(e.projectedTokens)} tokens`),Number.isFinite(e.projectedCostUSD)&&t.push(uk(e.projectedCostUSD));let n=Number.isFinite(e.remainingMinutes)?`${Sk(e.remainingMinutes)} left in this block`:``;if(t.length===0)return n;let r=`-> ${t.join(`, `)} by block end`;return n?`${r}, ${n}`:r}function Ek(e,t=Date.now()){let n=Number(e?.startTs),r=Number(e?.endTs);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=n)return null;let i=(r-n)/6e4,a=Math.min(Math.max((t-n)/6e4,0),i);return{totalMinutes:i,elapsedMinutes:a,remainingMinutes:Math.max(i-a,0),pct:Math.round(a/i*100)}}function Dk(e){return typeof e!=`number`||!Number.isFinite(e)?`ok`:e>=100?`crit`:e>=80?`warn`:`ok`}function X(e){return typeof e!=`number`||!Number.isFinite(e)?null:e}function Ok(e){let t=X(e?.max);return t===null||t<=0?null:t}function kk(e){let t=Ok(e),n=X(e?.pct);return t===null||n===null?null:n*100}function Ak(e,t){let n=Ok(t),r=X(e?.projectedTokens);return n===null||r===null?null:r/n*100}function jk(e){let t=kk(e);return t===null?``:`${Math.round(t)}% of ${dk(e?.max)} tokens, the largest completed block seen`}function Mk(e,t){let n=Ak(e,t);return n===null?``:n>=100?`On this burn rate the block ends past that reference, at ${Math.round(n)}% of it.`:`On this burn rate the block ends at ${Math.round(n)}% of that reference.`}var Nk=Object.freeze([{key:`input`,label:`input`},{key:`output`,label:`output`},{key:`cacheCreate`,label:`cache write`},{key:`cacheRead`,label:`cache read`}]);function Pk(e){let t=Nk.map(t=>{let n=Number(e?.[t.key]);return{spec:t,tokens:Number.isFinite(n)&&n>0?n:0}}),n=t.reduce((e,t)=>e+t.tokens,0);return n<=0?[]:t.map(e=>{let t=hk(e.tokens,n)??0,r=dk(e.tokens);return{key:e.spec.key,label:e.spec.label,value:r,pct:t,title:`${e.spec.label} ${r}, ${fk(t)}`}})}var Fk=Object.freeze({interactive:`Interactive`,"pr-review":`PR review`,"team-review":`PR reviews`,posthog:`PostHog`,"my-prs":`Keep mergeable`,workflows:`Workflows`,"change-map":`Change map`,visions:`Visions`,benchmark:`Benchmarks`,"agent-spawn":`Agent API`,other:`Other`}),Ik=`Sessions spawned by Glimmervoid; terminal sessions count as other`,Lk=`Claude sessions Glimmervoid spawned for its own work; plan share is estimated pro rata by cost`;function Rk(e){let t=typeof e==`string`?e.trim():``;return t?Fk[t]||t:Fk.other}function zk(e){let t=e?.byLane;return Array.isArray(t)?t.filter(e=>e&&typeof e.lane==`string`):[]}function Bk(e){if(typeof e!=`string`)return!1;let t=e.trim();return t!==``&&t!==`interactive`&&t!==`other`}function Vk(e){return zk(e).some(e=>Bk(e.lane))}var Hk=Object.freeze({fiveHour:`This 5 hour block`,sevenDay:`Last 7 days`});function Uk(e,t,n){let r=UA(e,t);return!r||r.resetsAtMs!==null&&r.resetsAtMs<=n?null:r.pct}function Wk(e,t,n,r){if(!Array.isArray(t))return null;let i=t.filter(e=>e&&typeof e.lane==`string`),a=i.reduce((e,t)=>e+(X(t.costUSD)??0),0),o=i.reduce((e,t)=>e+(X(t.tokens)??0),0),s=i.filter(e=>Bk(e.lane)).map(e=>({lane:String(e.lane),label:Rk(e.lane),tokens:X(e.tokens)??0,costUSD:X(e.costUSD)??0})),c=s.reduce((e,t)=>e+t.costUSD,0),l=s.reduce((e,t)=>e+t.tokens,0),u=a>0?hk(c,a):hk(l,o),d=Uk(n,e,r),f=u===null||d===null?null:u/100*d;return{key:e,label:Hk[e],tokens:l,costUSD:c,sharePct:u,planPct:f,lanes:s}}function Gk(e,t,n=Date.now()){let r=e?.planWindowLanes;return!r||typeof r!=`object`?[]:HA.map(e=>Wk(e.key,r[e.key],t,n)).filter(e=>e!==null)}function Kk(e){return e.planPct===null?``:`about ${fk(e.planPct)} of plan`}function qk(e){return e.lanes.filter(e=>e.costUSD>0||e.tokens>0).map(e=>`${e.label} ${e.costUSD>0?uk(e.costUSD):dk(e.tokens)}`).join(`, `)}var Jk=`team-review`;function Yk(e){if(!Array.isArray(e?.byLane))return null;let t=zk(e).find(e=>e.lane===Jk),n=X(t?.costUSD)??0,r=X(t?.tokens)??0,i=pk(e?.totals),a=hk(i===`costUSD`?n:r,e?.totals?.[i]),o=a===null?``:`${fk(a)} of range ${i===`costUSD`?`cost`:`tokens`}`,s=[uk(n),o,Xk(t?.sessions)].filter(Boolean).join(`, `);return{label:Rk(Jk),value:dk(r),sub:s}}function Xk(e){let t=X(e);return t===null||t<=0?``:`${lk(t)} ${t===1?`session`:`sessions`}`}function Zk(e){let t=e?.rtk;return!t||typeof t!=`object`||t.available!==!0?null:t}function Qk(e){let t=e?.cache;return!t||typeof t!=`object`?null:t}function $k(e){return Zk(e)!==null||Qk(e)!==null}function eA(e){let t=Zk(e);if(!t)return null;let n=X(t.commands)??0,r=n===1?`command`:`commands`;return{value:`${dk(X(t.savedTokens)??0)} tokens`,sub:`${fk(X(t.savingsPct)??0)} avg across ${lk(n)} ${r}`}}function tA(e){let t=Qk(e);if(!t)return null;let n=dk(X(t.cacheReadTokens)??0),r=(Array.isArray(t.unpricedModels)?t.unpricedModels:[]).filter(e=>e),i=`${n} cache read tokens`;if(r.length===0)return{value:uk(X(t.savedUSD)??0),sub:i};let a=r.length===1?`model`:`models`;return{value:uk(X(t.savedUSD)??0),sub:`${i}, a floor (${r.length} unpriced ${a})`}}function nA(e){let t=e?.budget?.rows;return Array.isArray(t)?t.filter(e=>e&&X(e.budgetUsd)!==null):[]}function rA(e){return e===`monthly`?`this month`:`today`}function iA(e){return`${uk(X(e?.spentUsd)??0)} of ${uk(X(e?.budgetUsd)??0)}`}function aA(e){let t=X(e?.pct);return t===null?0:t}function oA(e){return`${rA(e?.scope)} spend against budget`}var sA=Object.freeze([{value:`day`,label:`Day`},{value:`week`,label:`Week`},{value:`month`,label:`Month`}]);function cA(e){let t=ik.exec(String(e??``));return t?new Date(Number(t[1]),Number(t[2])-1,Number(t[3]),12):null}function lA(e){return String(e).padStart(2,`0`)}function uA(e){return`${e.getFullYear()}-${lA(e.getMonth()+1)}-${lA(e.getDate())}`}function dA(e){let t=cA(e);if(!t)return``;let n=(t.getDay()+6)%7;return t.setDate(t.getDate()-n),uA(t)}function fA(e){let t=ik.exec(String(e??``));return t?`${t[1]}-${t[2]}`:``}function pA(e){return{key:e,tokens:0,costUSD:0,input:0,output:0,cacheCreate:0,cacheRead:0,days:0,sources:new Set,vendorSet:new Set,modelByName:new Map}}function mA(e,t){e.tokens+=X(t?.tokens)??0,e.costUSD+=X(t?.costUSD)??0,e.input+=X(t?.input)??0,e.output+=X(t?.output)??0,e.cacheCreate+=X(t?.cacheCreate)??0,e.cacheRead+=X(t?.cacheRead)??0,e.days+=1,e.sources.add(t?.source===`history`?`history`:`live`);let n=Array.isArray(t?.vendors)?t.vendors:[];for(let t of n)e.vendorSet.add(t);let r=t?.models||[];for(let t of r){t?.vendor&&e.vendorSet.add(t.vendor);let n=fj(t),r=e.modelByName.get(n)||{key:n,model:t?.model??n,vendor:t?.vendor,tokens:0,costUSD:0,input:0,output:0,cacheCreate:0,cacheRead:0};r.tokens+=X(t?.tokens)??0,r.costUSD+=X(t?.costUSD)??0,r.input+=X(t?.input)??0,r.output+=X(t?.output)??0,r.cacheCreate+=X(t?.cacheCreate)??0,r.cacheRead+=X(t?.cacheRead)??0,e.modelByName.set(n,r)}}function hA(e){let{modelByName:t,sources:n,vendorSet:r,...i}=e,a={...i};return a.day=e.key,a.models=Array.from(t.values()).sort((e,t)=>t.tokens-e.tokens),a.source=n.has(`live`)?`live`:`history`,a.vendors=Array.from(r).sort(),a}function gA(e,t){let n=new Map,r=Array.isArray(e)?e:[];for(let e of r){let r=t(e?.day);if(!r)continue;let i=n.get(r)||pA(r);mA(i,e),n.set(r,i)}return Array.from(n.values()).map(hA)}function _A(e){return gA(e,dA)}function vA(e){return gA(e,fA)}function yA(e,t){return t===`week`?_A(e):t===`month`?vA(e):Array.isArray(e)?[...e]:[]}var bA=/^(\d{4})-(\d{2})$/;function xA(e,t){if(t===`month`){let t=bA.exec(String(e??``));if(!t)return String(e??``)||`-`;let n=rk[Number(t[2])-1];return n?`${n} ${t[1]}`:String(e)}if(t===`week`){let t=gk(e);return t===`-`?t:`week of ${t}`}return gk(e)}function SA(e){return(Array.isArray(e)?e:[]).some(e=>e?.source===`history`)?`older days from local history`:``}var CA=Object.freeze([.05,.25,.5,.75]),wA=Object.freeze([`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`]);function TA(e,t){let n=X(e)??0,r=X(t)??0;if(n<=0||r<=0)return 0;let i=n/r,a=1;for(let e=0;e<CA.length;e+=1)i>=CA[e]&&(a=e+1);return a}function EA(e,{weeks:t=16,today:n=new Date}={}){let r=(Array.isArray(e)?e:[]).filter(e=>ik.test(String(e?.day??``))),i=new Map(r.map(e=>[String(e.day),e])),a=n instanceof Date?n:new Date(n),o=Number.isFinite(a.getTime())?a:new Date,s=typeof n==`string`&&ik.test(n)?n:uA(o),c=cA(dA(s));if(!c)return{cells:[],max:0,weeks:0};let l=new Date(c.getFullYear(),c.getMonth(),c.getDate()-(t-1)*7,12),u=uA(l),d=[],f=0,p=null;for(let e of r){let t=String(e.day);(p===null||t<p)&&(p=t),!(t<u||t>s)&&(f=Math.max(f,X(e.tokens)??0))}for(let e=0;e<t;e+=1)for(let t=0;t<7;t+=1){let n=uA(new Date(l.getFullYear(),l.getMonth(),l.getDate()+e*7+t,12)),r=i.get(n)||null,a=n>s,o=p!==null&&n<p;d.push({day:n,week:e,weekday:t,tokens:X(r?.tokens)??0,costUSD:X(r?.costUSD)??0,source:r?.source===`history`?`history`:r?`live`:null,noData:a||o||!r&&p===null,tone:TA(r?.tokens,f)})}return{cells:d,max:f,weeks:t}}function DA(e){let t=gk(e?.day);if(e?.noData)return`${t}: no data`;let n=X(e?.tokens)??0;return n<=0?`${t}: no usage`:`${t}: ${dk(n)} tokens, ${uk(X(e?.costUSD)??0)}`}function OA(e){if(!e)return``;let t=X(e.baselineDays),n=t===null?`recent`:`${Math.round(t)} day`;return`Today is ${NA(e.ratio)} the ${n} average: ${uk(e.todayUsd)} against ${uk(e.baselineUsd)}.`}function kA(e){return e?`This block is burning ${NA(e.ratio)} the usual rate: ${dk(e.current)} tokens per minute against ${dk(e.baseline)}.`:``}function AA(e){return[OA(e?.daily),kA(e?.burn)].filter(Boolean).join(` `)}function jA(e){return e?.daily||e?.burn?`warn`:`ok`}function MA(e){return!!(e?.daily||e?.burn)}function NA(e){let t=X(e);return t===null?`-`:`${ck(t.toFixed(1))}x`}var PA=Object.freeze({claude:`Claude`,codex:`Codex`,grok:`Grok`});function FA(e){let t=typeof e==`string`?e.trim():``;return t?PA[t]||t:PA.claude}function IA(e,t){return RA(t)?FA(e?.vendor):``}function LA(e){let t=e?.byVendor;return!t||typeof t!=`object`?[]:Object.keys(t).filter(e=>t[e]&&typeof t[e]==`object`).sort((e,n)=>(X(t[n]?.tokens)??0)-(X(t[e]?.tokens)??0)).map(e=>({vendor:e,label:FA(e),tokens:X(t[e]?.tokens)??0,costUSD:X(t[e]?.costUSD)??0}))}function RA(e){let t=e?.byVendor;if(!t||typeof t!=`object`)return!1;let n=Object.keys(t).filter(e=>t[e]&&typeof t[e]==`object`);return n.length>1||n.length===1&&n[0]!==`claude`}var zA=`Claude only`;function BA(e){return RA(e)?zA:``}var VA=36e5,HA=Object.freeze([{key:`fiveHour`,label:`5 hour`},{key:`sevenDay`,label:`7 day`}]);function UA(e,t){let n=e?.[t];if(!n||typeof n!=`object`)return null;let r=X(n.pct),i=X(n.resetsAtMs);return r===null&&i===null?null:{pct:r,resetsAtMs:i}}function WA(e){return HA.some(t=>UA(e,t.key)!==null)}function GA(e){return UA(e,`fiveHour`)?.pct??null}function KA(e){return e===`official`?`official, from Claude Code`:e===`estimated`?`estimated from the largest completed block`:``}function qA(e,t=null){let n=GA(t);if(n!==null)return Dk(n);let r=Dk(kk(e?.tokenLimit));return r===`ok`?Dk(Ak(e?.activeBlock?.projection,e?.tokenLimit)):r}function JA(e,t=null){let n=[],r=qA(e,t);r!==`ok`&&n.push(`block:${r}`),e?.anomaly?.daily&&n.push(`anomaly:daily`),e?.anomaly?.burn&&n.push(`anomaly:burn`);for(let t of nA(e)){let e=aA(t);if(e<90)continue;let r=typeof t?.scope==`string`&&t.scope?t.scope:`budget`;n.push(`budget:${r}:${e>=100?`over`:`near`}`)}return HE(n)}function YA(e){let t=X(e?.pct);return t===null?`-`:`${fk(t)} used`}function XA(e,t=Date.now()){let n=X(e);if(n===null||n<=0)return``;let r=(n-t)/6e4;return r<=0?`resetting now`:`resets in ${Sk(r)}`}function ZA(e,t=Date.now()){let n=X(e);return n===null||n<=0?``:`${Math.max(0,Math.round((t-n)/6e4))}m old`}function QA(e,t=Date.now()){let n=X(e);return n===null||n<=0||t-n>VA}function $A(e,t=Date.now()){if(!QA(e,t))return``;let n=ZA(e,t);return n?`showing last-known usage (${n})`:`showing last-known usage`}function ej(e,t=``){let n=e?.source;if(n===`fetched`){let e=typeof t==`string`?t.trim():``;return e?`Prices fetched from the public model price table, ${e}.`:`Prices fetched from the public model price table.`}if(n===`cache`){let e=typeof t==`string`?t.trim():``;return e?`Prices from the cached public model price table, ${e}.`:`Prices from the cached public model price table.`}return n===`snapshot`?`Prices from the price table bundled with this Glimmervoid build.`:n===`unavailable`?`Model prices could not be loaded, so every cost below counts as zero.`:`Pricing source not reported yet.`}function tj(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e!=`string`)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function nj(e){let t=(Array.isArray(e)?e:[]).map(e=>String(e)).filter(e=>e);if(t.length===0)return``;let n=t.length===1?`model`:`models`;return`No price for ${t.length} ${n}: ${t.join(`, `)}. Their cost counts as zero here.`}function rj(e){if(Array.isArray(e))return e.length;let t=Number(e);return Number.isFinite(t)?t:null}function ij(e){if(!e||typeof e!=`object`)return``;let t=[],n=rj(e.dirs);if(n!==null&&t.push(`${lk(n)} transcript ${n===1?`directory`:`directories`}`),Number.isFinite(e.files)&&t.push(`${lk(e.files)} files`),Number.isFinite(e.entries)&&t.push(`${lk(e.entries)} entries`),Number.isFinite(e.lastScanMs)&&t.push(`last pass ${lk(e.lastScanMs)}ms`),t.length===0)return``;let r=`Scanned ${t.join(`, `)}.`;return e.partial===!0?`${r} Some files were skipped this pass and will be re-read on the next one.`:r}function aj(e){return typeof e?.error==`string`?e.error.trim():``}function oj(e){let t=typeof e?.warning==`string`?e.warning.trim():``;return t?`Glimmervoid could not read every transcript location: ${t}`:``}function sj(e){return aj(e)!==``}function cj(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return n==null||n===t}function lj(e){let t=String(e??``).trim();if(!t)return``;let n=t.split(/[\\/]+/).filter(e=>e);return n.length===0?t:n[n.length-1]}function uj(e){return typeof e?.id==`string`&&e.id!==``}function dj(e){let t=typeof e?.label==`string`?e.label.trim():``;return uj(e)&&t?t:lj(e?.project)||t||`unknown project`}function fj(e){let t=typeof e==`string`?e:e?.model;return(typeof t==`string`?t.trim():``)||`unknown model`}function pj(e){return String(e?.day??``)}function mj(e,t,n){if(!ak.has(t)){let n=Number(e?.[t]);return Number.isFinite(n)?n:0}return t===`day`?pj(e):n(e)}function hj(e,t,n,r=dj){let i=Array.isArray(e)?[...e]:[],a=n===`asc`?1:-1;return i.sort((e,n)=>{let i=mj(e,t,r),o=mj(n,t,r);if(typeof i==`string`||typeof o==`string`)return a*String(i).localeCompare(String(o));if(i!==o)return a*(i-o);let s=Number(e?.tokens),c=Number(n?.tokens),l=Number.isFinite(s)?s:0,u=Number.isFinite(c)?c:0;return l===u?r(e).localeCompare(r(n)):u-l})}function gj(e){return ok.has(e)?`asc`:`desc`}function _j(e,t){return e?.key===t?{key:t,dir:e.dir===`asc`?`desc`:`asc`}:{key:t,dir:gj(t)}}function vj(e,t){return e?.key===t?e.dir===`asc`?`ascending`:`descending`:`none`}var yj=Object.freeze({key:`lastTs`,dir:`desc`}),bj=Object.freeze({key:`tokens`,dir:`desc`}),xj=Object.freeze({key:`day`,dir:`desc`});function Sj(e,t=yj){return hj(e,t.key,t.dir,dj)}function Cj(e,t,n=10){if(!Array.isArray(e))return{rows:[],hiddenCount:0};let r=Number.isFinite(n)?Math.max(0,Math.floor(n)):10;return t||e.length<=r?{rows:e,hiddenCount:0}:{rows:e.slice(0,r),hiddenCount:e.length-r}}function wj(e){let t=Number(e);return!Number.isFinite(t)||t<=0?``:`${lk(t)} hidden`}function Tj(e,t=bj){return hj(e,t.key,t.dir,fj)}function Ej(e,t=xj){return hj(e,t.key,t.dir,pj)}function Dj(e,t){return(Array.isArray(e)?e:[]).find(e=>String(e?.day??``)===String(t??``))||null}function Oj(e,t=8){return(Array.isArray(e)?e:[]).filter(e=>e&&e.isGap!==!0).sort((e,t)=>(Number(t?.startTs)||0)-(Number(e?.startTs)||0)).slice(0,Math.max(0,t)).map(e=>({startTs:Number(e.startTs),tokens:typeof e.tokens==`number`&&Number.isFinite(e.tokens)?e.tokens:0,costUSD:typeof e.costUSD==`number`&&Number.isFinite(e.costUSD)?e.costUSD:0,isActive:e.isActive===!0}))}function kj(e){let t=X(e?.officialCostUSD);if(t!==null&&t>0)return{costUSD:t,source:`official`};let n=X(e?.costUSD);return n!==null&&n>0?{costUSD:n,source:`estimated`}:{costUSD:null,source:null}}function Aj(e){let t=Number(e?.tokens);if(!Number.isFinite(t)||t<=0)return``;let{costUSD:n}=kj(e);return n===null?dk(t):`${dk(t)} ${uk(n)}`}function jj(e){let{source:t}=kj(e);return t===`official`?`Tokens counted from the transcript; cost reported by Claude Code for this conversation`:`Tokens and estimated API list-price cost for this conversation`}var Mj=Object.freeze({"claude-code":{approve:[{data:`\r`}],dismissPrompt:[{data:`\x1B`}],instruct:e=>[{data:e,delayBeforeMs:0},{data:`\r`,delayBeforeMs:800}],answerWithOption:e=>[{data:String(e+1)}],answerWithText:(e,t)=>[{data:String(e+1),delayBeforeMs:0},{data:t,delayBeforeMs:800},{data:`\r`,delayBeforeMs:800}],reply:e=>[{data:e,delayBeforeMs:0},{data:`\r`,delayBeforeMs:300}]}});function Nj(e){return typeof e!=`string`||!Object.hasOwn(Mj,e)?null:Mj[e]}function Pj(e){return Nj(e)!==null}function Fj(e){return Nj(e)?.approve??null}function Ij(e,t){let n=Nj(e);return n?{dismissPrompt:n.dismissPrompt,instruct:n.instruct(t)}:null}function Lj(e){return Number.isInteger(e)&&e>=1&&e<=8}function Rj(e,t,n,r){let i=Nj(e);return!i||r||!Lj(n)||!Number.isInteger(t)||t<0||t>=n?null:i.answerWithOption(t)}function zj(e,t,n,r){let i=Nj(e);return!i||r||!Lj(t)||!n.trim()?null:i.answerWithText(t,n)}function hne(e,t){let n=Nj(e);return!n||!t.trim()?null:n.reply(t)}function Bj(e,t){return e===I.WAITING&&typeof t==`string`&&t!==``}function gne({currentState:e,pendingPromptKind:t,elapsedMs:n}){return Bj(e,t)?n>=1e4?`give-up`:`wait`:`send`}function _ne(e){return e.state===I.COMPLETE||e.state===I.IDLE&&e.hasEndedTurn===!0}function Vj(e){if(e.state===I.WAITING)return`now`;if(e.state===I.FAILED)return`next`;if(_ne(e))return`later`;switch(e.state){case I.IDLE:return`ready`;case I.RUNNING:case I.STARTING:case I.INITIALIZING:return`working`;default:return`resting`}}var Hj={now:0,next:1,later:2,ready:3,working:4,resting:5};function Uj(e){return e.map((e,t)=>({row:e,index:t,rank:Hj[Vj(e)]})).filter(e=>e.rank<Hj.ready).sort((e,t)=>e.rank-t.rank||(e.row.stateSince??1/0)-(t.row.stateSince??1/0)||e.index-t.index).map(e=>e.row)}function Wj(e,t){return Uj(e).find(e=>Vj(e)===`now`&&e.id!==t)??null}function vne(e,t){return GO(Uj(e).map(e=>e.id),t)??null}function yne(e,t,n){return!t||e!==t?null:Wj(n,e)?.id??null}function bne(e,t,n,r){if(!t||r||n-e.armedAtMs>=15e3)return`cancel`;let i=t.pendingPromptSummary!==void 0&&t.pendingPromptSummary!==e.armedPromptSummary;return t.state===I.WAITING&&i?`cancel`:t.stateSince===e.armedStateSince?`keep`:t.state===I.RUNNING?`fire`:`cancel`}var xne=6e4;function Gj(e){let t=Math.floor(Math.max(0,e)/xne);return t<1?`<1m`:Sk(t)}function Sne(e){let t={now:0,next:0,later:0,ready:0,working:0};for(let n of e){let e=Vj(n);e!==`resting`&&(t[e]+=1)}return t}function Cne(e){return e?.question?.multiSelect===!1}function wne(e){return e.pendingPromptKind===`plan`?{component:`plan`,canApprove:!1}:e.pendingPromptKind!==`permission`||!Pj(e.agent)?{component:`terminal`,canApprove:!1}:Cne(e.pendingPromptDetail)?{component:`question`,canApprove:!1}:e.pendingPromptDetail?.toolName===`AskUserQuestion`?{component:`terminal`,canApprove:!1}:{component:`permission`,canApprove:e.pendingPromptDetail?.isComplete===!0}}function Kj(e){switch(Vj(e)){case`now`:return wne(e);case`next`:return{component:`failure`,canApprove:!1};case`later`:return{component:`review`,canApprove:!1};default:return{component:`terminal`,canApprove:!1}}}var Tne={permission:`wants to run`,question:`asks`,plan:`has a plan ready`,failure:`failed`,review:`waits for you`},Ene=new Map([[I.RUNNING,`is working`],[I.STARTING,`is working`],[I.INITIALIZING,`is working`],[I.IDLE,`has no task`],[I.DONE,`has exited`],[I.DORMANT,`is asleep`]]);function qj(e,t){return t===`terminal`?Ene.get(e.state)??(Vj(e)===`now`?`needs you`:`is quiet`):Tne[t]}function Jj(e,t,n,r){return e!==I.WAITING||t!==`permission`||!n||!r?!1:n.toolName===r.toolName&&n.summary===r.summary&&n.isComplete===r.isComplete&&Jc(n.question,r.question)}function Dne(e,t){return(e===I.COMPLETE||e===I.IDLE)&&t==null}function Yj(e){return Pj(e.agent)}function One(e){return Vj(e)===`ready`&&Yj(e)}function Xj(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.kind!==`assistant`||n.agentId||n.agentType)continue;let r=n.text.trim();if(r)return r}return null}var Zj={now:`▲`,next:`■`,later:`✓`,ready:`○`,working:`·`,resting:`·`},Qj=null,$j=()=>{},eM=null,tM=null,nM=null,rM=null,iM=!1,aM=null,oM=null,sM=``,cM=null,lM=null,uM=null,dM=null,fM=null,pM=null,mM=null,hM=null,gM=[],_M=new Map,kne=15e3,vM=`The prompt is still open. Open Terminal to continue.`,yM=`Unable to send. Open Terminal to continue.`,bM=`The question changed. Open Terminal to continue.`,xM=`The session is busy. Open Terminal to continue.`,Ane=50,jne=46/IO,Mne={desktop:`Click a light for its action. Lights on the rings are waiting for you; hollow outer lights are free for a new task; faint ones are working.`,phone:`Tap a light or a row for its action. Lights on the rings are waiting for you; hollow outer lights are free for a new task; faint ones are working.`};function SM(){return eM!==null&&eM===Qj&&!qd()}function CM(){return[...U].map(([e,t])=>({id:e,name:Yd(t),state:t.currentState,stateSince:t.stateSince,agent:t.agent,pendingPromptKind:t.pendingPromptKind,pendingPromptDetail:t.pendingPromptDetail,hasEndedTurn:t.hasEndedTurn}))}function wM(e){return tM?[...tM.querySelectorAll(`.calm-light`)].find(t=>t.dataset.sessionId===e)??null:null}function TM(){if(nM?.parentElement?.classList.remove(`calm-has-panel`),nM?.remove(),rM?.remove(),rM=null,nM=null,aM=null,oM=null,sM=``,cM=null,gM=[],tM&&(tM.inert=!1),hM?.isConnected){hM.focus();return}wM(hM?.dataset.sessionId)?.focus()}function EM(){let e=nM!==null&&eM?.kind===`phone`;e!==iM&&(iM=e,eM?.navigation.onSheetOpenChange?.(e))}function DM(){TM(),EM()}function OM(){aM&&_M.delete(aM),DM()}function kM(e,t,n){if(_M.set(e,{text:t,recordedAtMs:Date.now(),promptSummary:n}),!nM||aM!==e)return;let r=nM.querySelector(`.calm-status`);r&&(r.textContent=t)}function AM(e){return e?.question?.text??e?.summary}function Nne(e,t){let n=_M.get(e);if(!n)return``;let r=Date.now()-n.recordedAtMs>=kne,i=t!==void 0&&t!==n.promptSummary;return!r&&!i?n.text:(_M.delete(e),``)}function Pne(){for(let e of _M.keys())U.has(e)||_M.delete(e)}function jM(e,t,n){let r=V(`button`,t,e);return r.type=`button`,r.addEventListener(`click`,n),r}var Fne={trace:`.calm-trace`,diff:`.calm-diff`,plan:`.calm-status`};function MM(e,t){let n=gM.findIndex(n=>n.id===e&&t.includes(n.kind));return n<0?null:gM.splice(n,1)[0].kind}function NM(e,t){if(t.classList.add(`calm-trace`),t.textContent=`Loading trace...`,!B({type:`session-trace`,id:e,endingAt:`tail`})){t.textContent=`Trace unavailable. Open Terminal to continue.`;return}gM.push({id:e,kind:`trace`})}function Ine(e){if(!MM(e.id,[`trace`])||!eM||aM!==e.id||!nM)return;let t=nM.querySelector(`.calm-trace`);if(!t)return;if(oM===`review`){t.textContent=Xj(e.records)??`No message has been recorded.`;return}let n=e.records.filter(e=>e.kind===`tool_call`),r=new Map(n.map(e=>[e.toolUseId,e])),i=nM.dataset.tier===`ready`?Xj(e.records):null;if(i){t.replaceChildren(V(`div`,`calm-agent-message`,i));return}let a=oM===`failure`?n:e.records;t.replaceChildren(...a.slice(-3).map(e=>V(`div`,`calm-trace-row`,tO(e,r).text))),a.length||(t.textContent=`No trace has been recorded.`)}function Lne(e){let t=e.scope===`plan-decision`,n=MM(e.id,t?[`plan`]:[`trace`,`diff`]);if(!n||!eM||aM!==e.id||!nM)return;let r=nM.querySelector(Fne[n]);r&&(r.textContent=e.message)}var Rne={sentStatus:`Instruction sent.`,failedStatus:`Unable to send instruction.`,blockedStatusBefore:e=>Bj(e.currentState,e.pendingPromptKind)?vM:null};function PM(e,t,n,r,i,a=0){let o=n[a];if(!o){i(r.sentStatus);return}setTimeout(()=>{if(U.get(e)!==t){i(r.failedStatus);return}let s=r.blockedStatusBefore(t,a);if(s){i(s);return}if(!TE(t,o.data)){i(r.failedStatus);return}PM(e,t,n,r,i,a+1)},o.delayBeforeMs)}function FM(e,t,n,r,i){if(U.get(e)!==t){i(`Unable to send instruction.`);return}let a=gne({currentState:t.currentState,pendingPromptKind:t.pendingPromptKind,elapsedMs:Date.now()-r});if(a===`give-up`){i(vM);return}if(a===`send`){PM(e,t,n,Rne,i);return}setTimeout(()=>FM(e,t,n,r,i),200)}function IM(e,t,n){let r=V(`input`,`calm-input`);return r.type=`text`,r.placeholder=e,r.setAttribute(`aria-label`,t),r.addEventListener(`keydown`,e=>{e.key===`Enter`&&!e.isComposing&&r.value.trim()&&(e.preventDefault(),n(r))}),r}function zne(e,t,n,r){let i=e.pendingPromptDetail?.question;if(!i)return;let a=t=>kM(e.id,t,AM(e.pendingPromptDetail)),o=()=>Jj(t.currentState,t.pendingPromptKind,t.pendingPromptDetail,e.pendingPromptDetail),s=[],c=()=>{for(let e of s)e.disabled=!0},l=V(`div`,`calm-options`);i.options.forEach((n,r)=>{let u=jM(n,`calm-option`,()=>{if(u.disabled)return;let n=Rj(e.agent,r,i.options.length,i.multiSelect);if(!n){a(yM);return}if(!o()){a(bM);return}if(NE(t,e.id),!n.every(e=>TE(t,e.data))){a(yM);return}c(),a(`Answer sent.`)});s.push(u),l.append(u)});let u=IM(`or type your own answer`,`Or type your own answer`,n=>{let r=zj(e.agent,i.options.length,n.value,i.multiSelect);if(!r){a(yM);return}if(!o()){a(bM);return}NE(t,e.id),c(),a(`Sending answer...`),PM(e.id,t,r,{sentStatus:`Answer sent.`,failedStatus:yM,blockedStatusBefore:(e,t)=>t===0&&!o()?bM:null},a)});s.push(u),n.append(V(`h2`,`calm-question`,i.text),l),r.append(u)}function LM(e,t,n){let r=t=>kM(e.id,t,AM(e.pendingPromptDetail)),i=e=>Dne(e.currentState,e.pendingPromptKind),a=IM(`next instruction`,`Next instruction`,n=>{let a=hne(e.agent,n.value);if(!a){r(yM);return}if(!i(t)){r(xM);return}NE(t,e.id),n.disabled=!0,PM(e.id,t,a,{sentStatus:`Instruction sent.`,failedStatus:yM,blockedStatusBefore:(e,t)=>t===0&&!i(e)?xM:null},r),r(`Sending instruction...`)});n.append(a)}function RM(e){let t=U.get(e.id),n=eM;if(!n||!t)return;let{root:r,navigation:i}=n;TM(),hM=document.activeElement instanceof HTMLElement?document.activeElement:null,aM=e.id;let a=Kj(e);oM=a.component,sM=JSON.stringify([e,t.planReviewState]),nM=V(`article`,`calm-panel`),nM.dataset.tier=Vj(e),nM.setAttribute(`role`,`dialog`),nM.setAttribute(`aria-modal`,`true`),nM.setAttribute(`aria-label`,`${e.name}, ${a.component}`),af(nM);let o=V(`header`,`calm-panel-header`),s=V(`span`,`calm-panel-title`,`${Zj[Vj(e)]} ${e.name} ${qj(e,a.component)}`);s.tabIndex=-1,o.append(s,jM(`Terminal`,`calm-link`,()=>YM(e.id))),o.append(jM(`Close`,`calm-link`,OM));let c=V(`div`,`calm-panel-body`),l=V(`div`,`calm-actions`),u=V(`span`,`calm-status`,Nne(e.id,AM(e.pendingPromptDetail)));u.setAttribute(`role`,`status`);let d=(e,t)=>{let n=jM(e,`calm-primary`,()=>{if(!n.disabled){if(t()===!1){u.textContent=yM;return}n.disabled=!0,u.textContent=`Action sent.`}});cM=n,l.append(n)};if(a.component===`permission`){c.append(V(`div`,`calm-tool-name`,e.pendingPromptDetail?.toolName??``),V(`pre`,`calm-summary`,e.pendingPromptDetail?.summary??``)),a.canApprove||c.append(V(`p`,`calm-caption`,`Review the full request in the terminal.`));let n=()=>Jj(t.currentState,t.pendingPromptKind,t.pendingPromptDetail,e.pendingPromptDetail),r=Fj(e.agent),i=t=>kM(e.id,t,AM(e.pendingPromptDetail));if(a.canApprove&&r){d(`Approve`,()=>n()?(NE(t,e.id),r.every(e=>TE(t,e.data))):!1);let a=IM(`or tell it what to do instead`,`Or tell it what to do instead`,r=>{let a=Ij(e.agent,r.value);if(!a){i(yM);return}if(!n()){i(`The prompt changed. Open Terminal to continue.`);return}if(NE(t,e.id),!a.dismissPrompt.every(e=>TE(t,e.data))){i(yM);return}r.disabled=!0,cM&&(cM.disabled=!0),i(`Sending instruction...`),FM(e.id,t,a.instruct,Date.now(),i)});l.append(a)}}if(a.component===`question`&&zne(e,t,c,l),a.component===`plan`){let n=UO(t.planReviewState),r=n?.openRevision?.revision,a=n?.revisions.find(e=>e.revision===r)?.title;c.append(V(`p`,`calm-summary`,a||`Plan ready for review`)),n&&r&&d(`Approve plan`,()=>{let n=UO(t.planReviewState);return n?.openRevision?B({type:`plan-decision`,id:e.id,agentId:n.agentId,revision:n.openRevision.revision,decision:`approve`})?(gM.push({id:e.id,kind:`plan`}),!0):!1:(i.openPlan(e.id),!0)}),(!n||!r)&&d(`Open plan`,()=>(i.openPlan(e.id),!0)),l.append(jM(`Open plan`,`calm-link`,()=>i.openPlan(e.id)))}if(a.component===`failure`){c.append(V(`p`,`calm-summary`,`Exited with a failure`));let n=V(`div`,`calm-trace`);c.append(n),NM(e.id,n),d(`Resume`,()=>B(sf(`restart`,t.currentState,e.id)))}if(a.component===`terminal`&&NM(e.id,c),One(e)&&LM(e,t,l),a.component===`review`){let n=V(`div`,`calm-agent-message`),r=V(`div`,`calm-diff`,`Loading files...`);c.append(n,r),NM(e.id,n);let a=B({type:`request-session-diff`,id:e.id});a&&gM.push({id:e.id,kind:`diff`}),a||(r.textContent=`Diff unavailable. Open review to continue.`),d(`Open review`,()=>(i.openTerminal(e.id),!0)),Yj(e)&&LM(e,t,l)}l.append(u),nM.append(o,c,l),r.classList.add(`calm-has-panel`),r.append(BM()),r.append(nM),tM&&(tM.inert=!0),s.focus(),EM()}function zM(e){if(!MM(e.id,[`diff`])||!eM||oM!==`review`||aM!==e.id||!nM)return;let t=nM.querySelector(`.calm-diff`);if(!t)return;let n=IE(`${e.committed.diff}\n${e.uncommitted.diff}`),r=VE(n);if(!n.length){t.replaceChildren();return}t.replaceChildren(V(`p`,`calm-summary`,`${r.files} files / +${r.added} -${r.removed}`),...n.map(e=>V(`div`,`calm-file`,`${e.path} +${e.added} -${e.removed}`)))}function BM(){return rM=V(`div`,`calm-sheet-scrim`),rM.setAttribute(`aria-hidden`,`true`),rM.addEventListener(`click`,OM),rM}function VM(e){let t=Sne(e),n=V(`header`,`calm-header`);for(let e of[`now`,`next`,`later`,`ready`,`working`]){let r=V(`span`,`calm-count`,`${Zj[e]} ${t[e]} ${e}`);r.dataset.tier=e,n.append(r)}return n}function HM(e){return e.kind===`phone`?Ane:jne}function UM(e,t){let n=HM(t),r=V(`div`,`calm-rings`),i=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);i.setAttribute(`viewBox`,`0 0 100 100`),i.setAttribute(`aria-hidden`,`true`);for(let[e,t]of[[`now`,MO],[`next`,NO],[`later`,PO]]){let a=document.createElementNS(i.namespaceURI,`circle`);for(let[r,i]of Object.entries({cx:`50`,cy:`50`,r:String(t*n),"data-tier":e}))a.setAttribute(r,i);i.append(a);let o=V(`span`,`calm-ring-label`,e.toUpperCase());o.style.top=`${50-t*n+2}%`,r.append(o)}r.prepend(i);let a=new Map(e.map(e=>[e.id,e])),o=t.kind===`desktop`&&HO(t.root.clientWidth);for(let t of VO(e.map(e=>({id:e.id,tier:Vj(e)})))){let e=a.get(t.id);if(!e)continue;let i=jM(``,`calm-light`,()=>RM(e));if(i.dataset.tier=t.tier,i.dataset.sessionId=e.id,i.setAttribute(`aria-label`,`${e.name}, ${t.tier}`),i.title=e.name,i.style.left=`${50+Math.cos(t.angle)*t.radius*n}%`,i.dataset.labelSide=Math.cos(t.angle)<0?`left`:`right`,i.style.top=`${50+Math.sin(t.angle)*t.radius*n}%`,i.append(V(`span`,`calm-light-dot`)),o){let t=V(`span`,`calm-light-label`,e.name);t.append(V(`span`,`calm-light-context`,qj(e,Kj(e).component))),i.append(t)}r.append(i)}return r}function WM(e){let t=V(`div`,`calm-now-list`);t.setAttribute(`aria-label`,`NOW sessions`);for(let n of Uj(e).filter(e=>Vj(e)===`now`))t.append(jM(`${Zj.now} ${n.name}`,`calm-now-row`,()=>RM(n)));return t}function GM(e){return Gj(Date.now()-e)}function KM(e){let t=V(`div`,`calm-now-list`);t.setAttribute(`aria-label`,`NOW sessions`);for(let n of Uj(e).filter(e=>Vj(e)===`now`)){let e=qj(n,Kj(n).component),r=jM(``,`calm-now-row`,()=>RM(n));r.setAttribute(`aria-label`,`${n.name}, ${e}`);let i=V(`span`,`calm-now-glyph`,Zj.now);i.setAttribute(`aria-hidden`,`true`);let a=V(`span`,`calm-now-details`);a.append(V(`span`,`calm-now-name`,n.name),V(`span`,`calm-now-context`,e));let o=V(`span`,`calm-now-wait`);o.setAttribute(`aria-hidden`,`true`),typeof n.stateSince==`number`&&(o.dataset.stateSince=String(n.stateSince),o.textContent=GM(n.stateSince)),r.append(i,a,o),t.append(r)}return t}function qM(){if(tM&&eM?.kind===`phone`)for(let e of tM.querySelectorAll(`.calm-now-wait[data-state-since]`))e.textContent=GM(Number(e.dataset.stateSince))}function JM(){if(tN())return;let e=CM();Pne();let t=eM;if(!t||t.kind===`desktop`&&qd())return;let n=V(`div`,`calm-home`);n.append(UM(e,t)),n.append(t.kind===`phone`?KM(e):WM(e));let r=V(`footer`,`calm-footer`,Mne[t.kind]),i=V(`div`,`calm-field`);i.append(VM(e),n,r);let a=document.activeElement instanceof HTMLElement?document.activeElement.dataset.sessionId:null;if(tM?.remove(),tM=i,tM.inert=nM!==null,t.root.prepend(tM),a&&!nM&&wM(a)?.focus(),!aM)return;let o=e.find(e=>e.id===aM);if(!o){DM();return}let s=U.get(aM);JSON.stringify([o,s?.planReviewState])!==sM&&RM(o)}function YM(e){let t=eM;t&&(t.navigation.openTerminal(e),t.kind===`desktop`&&Bd.snapshot().focusedSessionId===e&&(lM=e))}function XM(e){RM(e),hM=wM(e.id)}function ZM(e){if($j(),!SM())return!1;let t=CM().find(t=>t.id===e);return t?(XM(t),!0):!1}function QM(){return!SM()||!nM||!aM?!1:(YM(aM),!0)}function $M(){if(!SM())return!1;let e=CM(),t=vne(e,aM??dM),n=e.find(e=>e.id===t);return n?(dM=n.id,XM(n),!0):!1}function eN(e){let t=yne(e,lM,CM());return t?(lM=null,ZM(t),!0):!1}function tN(){if(!uM)return!1;let e=U.get(uM.sessionId),t=e?{state:e.currentState,stateSince:e.stateSince,pendingPromptSummary:e.pendingPromptDetail?.summary}:null,n=bne(uM,t,Date.now(),uM.hasOtherInputArrived);if(n===`keep`)return!1;let r=uM.sessionId;return uM=null,n===`cancel`||qd()?!1:eN(r)}function nN(e){let t=U.get(e);t&&!qd()&&e===lM&&(uM={sessionId:e,armedAtMs:Date.now(),armedStateSince:t.stateSince,armedPromptSummary:t.pendingPromptDetail?.summary,hasOtherInputArrived:!1})}function rN(e,t){if(t){nN(e);return}uM?.sessionId===e&&(uM.hasOtherInputArrived=!0,tN())}function iN(){lM=null,uM=null}function aN(){fM&&!fM.card.hidden&&(fM.wait.textContent=mM===null?``:`waiting ${Gj(Date.now()-mM)}`)}function oN(e){let t=V(`div`,`focus-now-peek`);t.hidden=!0;let n=V(`span`,`focus-now-peek-details`);n.id=`focus-now-peek-details`;let r=V(`span`,`focus-now-peek-glyph`,Zj.now);r.setAttribute(`aria-hidden`,`true`);let i=V(`span`,`focus-now-peek-name`),a=V(`span`,`focus-now-peek-context`),o=V(`span`,`focus-now-peek-wait`);n.append(r,i,a,o);let s=jM(`Open in Calm`,`focus-now-peek-open`,()=>{pM&&ZM(pM)});s.setAttribute(`aria-describedby`,n.id),t.append(n,s),e.append(t),fM={card:t,name:i,context:a,wait:o},Sf(aN)}function sN(e,t){if(!fM)return;let n=e?Wj(CM(),t):null;fM.card.hidden=!n,pM=n?.id??null,mM=n?.stateSince??null,n&&(fM.name.textContent=n.name,fM.context.textContent=qj(n,Kj(n).component),aN())}function cN(){return[...document.querySelectorAll(`[role="dialog"], .dialog-overlay`)].some(e=>e!==nM&&e.getClientRects().length>0)}function lN(e,{openCalm:t,...n}){Qj={kind:`desktop`,root:e,navigation:n},$j=t,new ResizeObserver(()=>JM()).observe(e),kE(rN),Sf(qM),Bd.subscribe((e,t)=>{let n=t.includes(`activeView`)&&e.activeView!==`focus`,r=t.includes(`focusedSessionId`)&&e.focusedSessionId!==uM?.sessionId;(n||r)&&(uM=null),t.includes(`focusedSessionId`)&&e.focusedSessionId!==lM&&(lM=null)}),document.addEventListener(`keydown`,e=>{SM()&&nM&&!e.isComposing&&e.key===`Escape`&&(e.target===document.body||e.target instanceof Node&&nM.contains(e.target))&&!cN()&&(e.preventDefault(),OM())})}function uN(){Qj&&eM?.kind!==`phone`&&(eM=Qj,JM())}function dN(){eM?.kind===`desktop`&&(DM(),eM=null)}function fN(e,t){(eM?.kind!==`phone`||eM.root!==e)&&(DM(),eM={kind:`phone`,root:e,navigation:t}),JM()}function pN(){eM?.kind===`phone`&&nM&&OM()}function mN(){eM?.kind===`phone`&&(DM(),eM=null)}function hN(e){return e===`remote`?`remote`:`local`}function gN(e,t){return hN(t)===`local`||e!==`shutdown`}function _N(){return Bd.snapshot().borrowedCardId}function vN(e,t,n,{className:r}={}){if(!e?.card||!n)return;let i=_N();i&&i!==t&&yN();let a=e.card;a._cardHostClass&&a._cardHostClass!==r&&a.classList.remove(a._cardHostClass),a._cardHostClass=r||``,r&&a.classList.add(r),Ad(a,n),Bd.dispatch(`borrowCard`,t),e._ensureTerminalReady?.(),e._setBorrowed?.(!0),e._showPreferredFace?.()}function yN(){let e=_N();if(Bd.dispatch(`borrowCard`,null),!e)return null;let t=U.get(e);t?._showTerminalFace?.(),t?._setBorrowed?.(!1),t?._setActiveViewer?.(!1);let n=t?.card;return n?(n._cardHostClass&&n.classList.remove(n._cardHostClass),delete n._cardHostClass,jd(n,Qd),e):e}var bN=/^\s*at .+:\d+:\d+\)?$|^[^@\s]*@.+:\d+:\d+$/;function xN(e){let t=e.stack??``,n=String(e);return(t.startsWith(n)?t.slice(n.length):t).split(`
|
|
135
|
-
`).filter(e=>bN.test(e)).join(`
|
|
136
|
-
`)}function SN(e){return e==null?null:e instanceof Error?{name:(e.name||`Error`).slice(0,128),stack:xN(e).slice(0,Ju)}:{name:`NonError`,stack:``}}function CN(e){let t=new Set;return n=>{let r=SN(n);if(!r)return;let i=`${r.name}\n${r.stack}`;t.has(i)||t.size>=32||e({type:`client-error`,...r})&&t.add(i)}}var wN=`<h2 class="dialog-title" id="add-session-title">Add Session</h2>
|
|
137
|
-
<fieldset class="dialog-mode-controls" aria-label="Session kind">
|
|
138
|
-
<button type="button" class="dialog-mode-button" id="add-session-single-mode" aria-pressed="true">Single repo</button>
|
|
139
|
-
<button type="button" class="dialog-mode-button" id="add-session-workspace-mode" aria-pressed="false">Workspace</button>
|
|
140
|
-
</fieldset>
|
|
141
|
-
<label class="dialog-label" id="add-session-picker-label">
|
|
142
|
-
Pick a project:
|
|
143
|
-
<select class="dialog-input project-picker" id="add-session-picker">
|
|
144
|
-
<option value="" disabled selected>Scanning...</option>
|
|
145
|
-
</select>
|
|
146
|
-
</label>
|
|
147
|
-
<fieldset class="dialog-workspace-list" id="add-session-workspace-list" aria-label="Workspace repositories" hidden></fieldset>
|
|
148
|
-
<label class="dialog-label" id="add-session-agent-label" hidden>
|
|
149
|
-
Agent
|
|
150
|
-
<select class="dialog-input" id="add-session-agent"></select>
|
|
151
|
-
</label>
|
|
152
|
-
<button type="button" class="dialog-advanced-toggle" id="add-session-advanced-toggle">Advanced options</button>
|
|
153
|
-
<div class="dialog-advanced-panel" id="add-session-advanced" hidden>
|
|
154
|
-
<label class="dialog-label">
|
|
155
|
-
Name
|
|
156
|
-
<input type="text" class="dialog-input" id="add-session-name" placeholder="my-project" autocomplete="off" spellcheck="false">
|
|
157
|
-
</label>
|
|
158
|
-
<label class="dialog-label" id="add-session-path-label">
|
|
159
|
-
Path
|
|
160
|
-
<input type="text" class="dialog-input" id="add-session-path" placeholder="C:\\Users\\...\\my-project" autocomplete="off" spellcheck="false">
|
|
161
|
-
</label>
|
|
162
|
-
</div>
|
|
163
|
-
<label class="dialog-label dialog-checkbox-label" id="add-session-skip-perms-label">
|
|
164
|
-
<input type="checkbox" class="dialog-checkbox" id="add-session-skip-perms">
|
|
165
|
-
<span>Skip permission prompts</span>
|
|
166
|
-
<span class="dialog-hint">The agent edits files and runs shell commands without asking first, so a bad instruction or a hostile file in the repo can act on this machine unchecked. Leave this off unless you trust the repo and the task.</span>
|
|
167
|
-
</label>
|
|
168
|
-
<div class="dialog-error" id="add-session-error"></div>
|
|
169
|
-
<div class="dialog-actions">
|
|
170
|
-
<button type="button" class="btn-dialog btn-dialog-cancel" id="add-session-cancel">Cancel</button>
|
|
171
|
-
<button type="button" class="btn-dialog btn-dialog-confirm" id="add-session-confirm">Add</button>
|
|
172
|
-
</div>
|
|
173
|
-
`,TN=`claude-code`,EN={codex:`Codex`,grok:`Grok`};function DN(e){if(typeof e!=`string`)return``;let t=e.trim();return!t||t===`claude-code`?``:EN[t]||t}function ON(e,{defaultId:t=TN}={}){let n=(Array.isArray(e)?e:[]).filter(e=>e?.resolvable&&typeof e.id==`string`&&e.id).map(e=>{let t=String(e.id);return{id:t,label:typeof e.label==`string`&&e.label?e.label:t}}),r=n.some(e=>e.id===t)?t:n.length>0?n[0].id:t;return{show:n.length>1,options:n,selectedId:r}}var kN=`No supported agent CLI was found on the PATH Glimmervoid runs with. Install Claude Code (or another supported agent), make sure its command is on that PATH, then run glimmervoid doctor to confirm.`;function AN(e){let t=typeof e==`object`&&e?e:null;return t===null||!Array.isArray(t.agents)||t.error||ON(t.agents).options.length>0?{canSpawn:!0,guidance:``}:{canSpawn:!1,guidance:kN}}function jN(e,t){if(e===t)return!0;let n=`${t} (`;if(!e.startsWith(n)||!e.endsWith(`)`))return!1;let r=e.slice(n.length,-1);return/^\d+$/.test(r)}function MN(e,t){let n=0;for(let r of t)jN(r,e)&&n++;return n}function NN(e,t){let n=new Set(t);if(!n.has(e))return e;for(let t=2;t<1e3;t++){let r=`${e} (${t})`;if(!n.has(r))return r}return`${e} (${Date.now()})`}function PN(){let e=[];for(let[,t]of U)e.push(t.card.dataset.session??``);return e}function FN(e){return MN(e,PN())}function IN(e){return NN(e??``,PN())}function LN(e){let t=Math.max(0,Math.round((Number(e)||0)/1e3));return t<60?`${t}s`:t<3600?`${Math.floor(t/60)}m`:t<86400?`${Math.floor(t/3600)}h`:`${Math.floor(t/86400)}d`}function RN(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?`never`:`${LN(Date.now()-e)} ago`}var zN=e=>`polled ${RN(e)}`;function BN(e){let t=[],n=[],r=null,i=e=>{let t=e.format(e.ts);e.el.textContent!==t&&(e.el.textContent=t)},a=()=>{let r=e();if(r&&!r.closest(`[hidden]`)){for(let e of t)i(e);for(let e of n)e()}};return{track(e,n,r=zN){let a={el:e,ts:n,format:r};i(a),t.push(a)},onTick(e){n.push(e)},reset(){t=[],n=[]},ensure(){r||=Sf(a)}}}function VN(e,{value:t,disabled:n=!1,selected:r=!1}={}){let i=V(`option`,null,e);return t!=null&&(i.value=t),n&&(i.disabled=!0),r&&(i.selected=!0),i}function HN(e){return typeof e!=`object`||!e?!1:`skipPermissionsByDefault`in e&&e.skipPermissionsByDefault===!0}function UN(){let{dialog:e,close:t}=ef();e.innerHTML=wN,tf(e,`add-session-title`);let n=H(e,`#add-session-picker`,`select`),r=yd(e,`#add-session-picker-label`),i=yd(e,`#add-session-workspace-list`),a=H(e,`#add-session-single-mode`,`button`),o=H(e,`#add-session-workspace-mode`,`button`),s=yd(e,`#add-session-agent-label`),c=H(e,`#add-session-agent`,`select`),l=H(e,`#add-session-advanced-toggle`,`button`),u=yd(e,`#add-session-advanced`),d=H(e,`#add-session-name`,`input`),f=H(e,`#add-session-path`,`input`),p=yd(e,`#add-session-path-label`),m=H(e,`#add-session-skip-perms`,`input`),h=yd(e,`#add-session-error`),g=H(e,`#add-session-cancel`,`button`),_=H(e,`#add-session-confirm`,`button`),v=!1;function y(e){v=e,a.setAttribute(`aria-pressed`,String(!e)),o.setAttribute(`aria-pressed`,String(e)),r.hidden=e,i.hidden=!e,l.hidden=e,l.setAttribute(`aria-expanded`,String(e)),u.hidden=!e,p.hidden=e,e&&requestAnimationFrame(()=>d.focus())}a.addEventListener(`click`,()=>y(!1)),o.addEventListener(`click`,()=>y(!0)),l.setAttribute(`aria-expanded`,`false`),l.addEventListener(`click`,()=>{let e=u.hidden;u.hidden=!e,l.setAttribute(`aria-expanded`,String(e)),e&&requestAnimationFrame(()=>d.focus())}),fd(`scan-repo-roots`,{}).then(e=>{n.textContent=``,n.appendChild(VN(`-- Select a project --`,{value:``,disabled:!0,selected:!0}));let t=!1,r=e.type===`repo-roots-scanned`?e.directories:[];for(let e of r){if(e.projects.length===0)continue;let r=V(`optgroup`);r.label=e.root;for(let n of e.projects){let e=FN(n.name),a=e>0?`${n.name} (${e} open)`:n.name;r.appendChild(VN(a,{value:JSON.stringify({name:n.name,path:n.path})}));let o=V(`label`,`dialog-checkbox-label`),s=V(`input`);s.type=`checkbox`,s.className=`dialog-checkbox`,s.value=n.path,o.append(s,V(`span`,null,n.name)),i.appendChild(o),t=!0}n.appendChild(r)}t||(n.textContent=``,n.appendChild(VN(`No projects found (configure repo roots in Settings)`,{disabled:!0,selected:!0})),i.textContent=`No projects found (configure repo roots in Settings).`)}).catch(()=>{n.textContent=``,n.appendChild(VN(`Scan failed`,{disabled:!0,selected:!0})),i.textContent=`Repository scan failed.`}),n.addEventListener(`change`,()=>{try{let e=JSON.parse(n.value);d.value=IN(e.name),f.value=e.path}catch{}});let b=TN,x=!1;function ee(e){x=!0,_.disabled=!0;let t=V(`p`,`dialog-hint dialog-hint-warning`,e);t.id=`add-session-agent-guidance`,t.setAttribute(`role`,`status`),h.before(t)}fd(`list-agents`,{}).then(e=>{let t=AN(e);t.canSpawn||ee(t.guidance);let n=ON(e.type===`agents-listed`?e.agents:[]);if(b=n.selectedId,n.show){c.textContent=``;for(let e of n.options)c.appendChild(VN(e.label,{value:e.id,selected:e.id===n.selectedId}));s.hidden=!1}}).catch(()=>{}),c.addEventListener(`change`,()=>{b=c.value});let te=!1;m.addEventListener(`change`,()=>{te=!0}),fd(`get-settings`,{}).then(e=>{te||(m.checked=HN(e.settings))}).catch(()=>{}),d.addEventListener(`input`,()=>{n.selectedIndex=0}),f.addEventListener(`input`,()=>{n.selectedIndex=0});function ne(){if(x)return;let e=d.value.trim(),n=f.value.trim();if(v){let n=[...i.querySelectorAll(`input:checked`)].map(e=>e.value);if(!e||n.length<2){h.textContent=`Enter a name and select at least two repositories.`;return}let r={type:`add-session`,name:IN(e),path:n[0],repos:n,dangerouslySkipPermissions:m.checked};b&&b!==`claude-code`&&(r.agent=b),B(r),t();return}if(!e||!n){h.textContent=`Both fields are required. Select a project or use Advanced options.`;return}let r={type:`add-session`,name:IN(e),path:n,dangerouslySkipPermissions:m.checked};b&&b!==`claude-code`&&(r.agent=b),B(r),t()}g.addEventListener(`click`,t),_.addEventListener(`click`,ne),d.addEventListener(`keydown`,e=>{e.key===`Enter`&&(v&&ne(),v||f.focus())}),f.addEventListener(`keydown`,e=>{e.key===`Enter`&&ne()}),requestAnimationFrame(()=>n.focus())}function WN({issueId:e,issueTitle:t,format:n,content:r,message:i,error:a}){let{dialog:o,close:s,actions:c,btnCancel:l}=nf({title:`Investigation report`,dialogClass:`dialog dialog-report`,cancelLabel:`Close`}),u=V(`div`,`dialog-report-meta`,t||e||``),d=null;if(n===`html`&&!a&&!i){let e=V(`iframe`,`dialog-report-frame`);e.setAttribute(`sandbox`,``),e.srcdoc=r||``,d=e}d||=V(`pre`,a?`dialog-report-body dialog-report-error`:`dialog-report-body`,a||i||r||``),o.append(u,d,c),l.addEventListener(`click`,s),requestAnimationFrame(()=>l.focus())}function GN({issueTitle:e,projectLabel:t,onOpenReport:n}){let{dialog:r,close:i,actions:a,btnCancel:o}=nf({title:`Investigation`,dialogClass:`dialog dialog-report`,cancelLabel:`Close`}),s=V(`div`,`dialog-report-meta`,t?`${t}: ${e}`:e),c=V(`p`,`dialog-trail-status`),l=V(`p`,`dialog-trail-summary`),u=V(`ol`,`dialog-trail-steps`),d=V(`p`,`dialog-trail-empty`,`No tool calls yet; the session is reading the issue.`),f=V(`button`,`btn-dialog btn-dialog-cancel`,`Open report`);f.type=`button`,f.hidden=!0,f.addEventListener(`click`,()=>{i(),n()}),a.prepend(f),r.append(s,c,l,u,d,a),o.addEventListener(`click`,i),requestAnimationFrame(()=>o.focus());let p=null,m=``;function h(e){let t=u.scrollHeight-u.scrollTop-u.clientHeight<24,n=pD(e);if(m!==n){u.textContent=``;for(let t of e.steps){let n=V(`li`,`dialog-trail-step`);n.append(V(`span`,`dialog-trail-at`,fD(e.startedAt,t.at)),V(`span`,`dialog-trail-tool`,t.tool),V(`span`,`dialog-trail-detail`,t.detail)),u.append(n)}m=n}d.hidden=e.steps.length>0||!e.inFlight,u.hidden=e.steps.length===0,t&&(u.scrollTop=u.scrollHeight)}function g(e){c.textContent=mD(e,RN(e.startedAt))}function _(){p&&(g(p),c.dataset.tone=p.inFlight?`live`:`done`,l.textContent=p.summaryLine,l.hidden=!p.summaryLine,f.hidden=p.inFlight||!p.verdict,h(p))}let v=Sf(()=>{if(!r.isConnected){v();return}p?.inFlight&&g(p)});return{update(e){p=e,_()},isOpen:()=>r.isConnected,close:()=>{v(),i()}}}function KN(e){return{prs:e?.teamReview?.enabled===!0,radar:e?.posthog?.enabled===!0,visions:e?.visions?.enabled===!0,usage:e?.usage?.enabled!==!1,benchmarks:e?.benchmarks?.enabled===!0,calm:e?.calmLayout===!0}}var qN=Object.freeze({idle:`#c084fc`,complete:`#4ade80`,waiting:`#fbbf24`});function JN(e){let t=Array.isArray(e)?e:[];for(let e of t)if(qO({state:e?.state}))return`waiting`;for(let e of t)if(e?.state===`COMPLETE`)return`complete`;return`idle`}function YN(e){return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><rect width="32" height="32" rx="6" fill="#0a0810"/><rect x="1" y="1" width="30" height="30" rx="5" fill="none" stroke="#2a2440" stroke-width="1"/><path d="M10 8 L22 16 L10 24Z" fill="${qN[e]||qN.idle}"/>${e===`complete`?`<circle cx="25" cy="7" r="3" fill="#4ade80"/>`:``}</svg>`}function XN(){let e=document.querySelector(`link[rel="icon"]`);if(e instanceof HTMLLinkElement)return e;let t=document.createElement(`link`);return t.rel=`icon`,t.type=`image/svg+xml`,document.head.append(t),t}var ZN=XN(),QN=`idle`;function $N(e){let t=JN([...e.values()].map(({currentState:e})=>({state:e})));t!==QN&&(QN=t,ZN.href=`data:image/svg+xml,${encodeURIComponent(YN(t))}`)}function eP(e,t){return Number.isFinite(e)?Math.round(Math.min(t.maxPx,Math.max(t.minPx,e))):null}function tP(e,t){return e===`ArrowRight`?t:e===`ArrowLeft`?-t:null}function nP({resizer:e,column:t,widthHost:n,widthProperty:r,bounds:i,keyStepPx:a,getStoredWidth:o,setStoredWidth:s}){e.setAttribute(`aria-valuemin`,String(i.minPx)),e.setAttribute(`aria-valuemax`,String(i.maxPx));let c=t=>{let a=eP(t,i);return a===null?null:(n.style.setProperty(r,`${a}px`),e.setAttribute(`aria-valuenow`,String(a)),a)},l=o();l!==null&&c(l);let u=0,d=0;e.addEventListener(`pointerdown`,n=>{n.button===0&&(u=n.clientX,d=t.getBoundingClientRect().width,e.setPointerCapture(n.pointerId),e.dataset.dragging=`true`,n.preventDefault())}),e.addEventListener(`pointermove`,t=>{e.hasPointerCapture(t.pointerId)&&c(d+(t.clientX-u))});let f=t=>{e.releasePointerCapture(t.pointerId),delete e.dataset.dragging};e.addEventListener(`pointerup`,t=>{e.hasPointerCapture(t.pointerId)&&(f(t),s(c(d+(t.clientX-u))))}),e.addEventListener(`pointercancel`,t=>{e.hasPointerCapture(t.pointerId)&&(f(t),c(d))}),e.addEventListener(`dblclick`,()=>{n.style.removeProperty(r),e.setAttribute(`aria-valuenow`,String(Math.round(t.getBoundingClientRect().width))),s(null)}),e.addEventListener(`keydown`,e=>{let n=tP(e.key,a);if(n===null)return;e.preventDefault();let r=c(t.getBoundingClientRect().width+n);r!==null&&s(r)})}var rP=Object.freeze({min:0,exclusiveMin:!0,label:`a positive number`}),iP=Object.freeze({min:0,label:`zero or more`}),aP=Object.freeze({min:0,max:300}),oP=Object.freeze({min:1,max:60}),sP=Object.freeze({min:.5,max:2}),cP=Object.freeze({min:64,max:16384}),lP=rP,uP=rP,dP=rP,fP=iP,pP=rP,mP=rP,hP=rP,gP=rP,_P=rP,vP=rP,yP=rP,bP=Object.freeze({min:60,max:21600,label:`between 60 and 21600`}),xP=Object.freeze({min:1,label:`at least 1`}),SP=Object.freeze({min:1,label:`at least 1`}),CP=iP,wP=Object.freeze({min:1,max:30,label:`between 1 and 30`}),TP=Object.freeze({min:1,max:1440}),EP=Object.freeze({min:1,max:3650}),DP=Object.freeze({min:30,max:3650}),OP=Object.freeze({min:1,max:24}),kP=rP;Object.freeze({scanIntervalMinutes:TP,retainDays:EP,warehouseRetainDays:DP,sessionBlockHours:OP});var AP=Object.freeze({min:15,max:600}),jP=Object.freeze({min:5,max:120}),MP=Object.freeze({min:1,max:5}),NP=Object.freeze({min:1,max:50}),PP=Object.freeze({FLYING_ANIMALS_GAP_RANGE:aP,FLYING_ANIMALS_DURATION_RANGE:oP,FLYING_ANIMALS_SCALE_RANGE:sP,CHANGE_MAP_NARRATOR_TIMEOUT_RANGE:AP,KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE:jP,POSTHOG_ESCALATION_RANGE:yP,POSTHOG_FIX_TIMEOUT_RANGE:bP,POSTHOG_INTERVAL_RANGE:hP,POSTHOG_INVESTIGATION_TIMEOUT_RANGE:_P,POSTHOG_MAX_CONCURRENT_RANGE:gP,POSTHOG_MIN_USERS_RANGE:vP,POSTHOG_TRAFFIC_BASELINE_RANGE:wP,POSTHOG_TRAFFIC_COOLDOWN_RANGE:CP,POSTHOG_TRAFFIC_MIN_USERS_RANGE:SP,POSTHOG_TRAFFIC_MULTIPLIER_RANGE:xP,REPLAY_BUFFER_KB_RANGE:cP,USAGE_BUDGET_RANGE:kP,USAGE_RETAIN_DAYS_RANGE:EP,USAGE_SCAN_INTERVAL_RANGE:TP,VISIONS_ACTIVITY_MAX_PER_HOUR_RANGE:fP,VISIONS_COOLDOWN_MS_RANGE:uP,VISIONS_DISPATCH_TIMEOUT_RANGE:pP,VISIONS_INTENT_THREAD_TTL_MS_RANGE:mP,VISIONS_MAX_PER_HOUR_RANGE:dP,VISIONS_QUIET_MS_RANGE:lP,WORKFLOWS_MAX_ACTIONS_PER_POLL_RANGE:NP,WORKFLOWS_MAX_CONCURRENT_SESSIONS_RANGE:MP}),FP=[{name:`Nyan cat`,sprite:`is-cat`,trail:`is-rainbow`},{name:`Unicorn`,sprite:`is-unicorn`,trail:`is-sparkles`},{name:`Dragon`,sprite:`is-dragon`,trail:`is-embers`},{name:`Pig`,sprite:`is-pig`,trail:`is-hearts`},{name:`Whale`,sprite:`is-whale`,trail:`is-bubbles`},{name:`Fox`,sprite:`is-fox`,trail:`is-paws`},{name:`Frog`,sprite:`is-frog`,trail:`is-dust`},{name:`Penguin`,sprite:`is-penguin`,trail:`is-snow`},{name:`Bee`,sprite:`is-bee`,trail:`is-honey`},{name:`Owl`,sprite:`is-owl`,trail:`is-stars`},{name:`Cow`,sprite:`is-cow`,trail:`is-daisies`},{name:`Panda`,sprite:`is-panda`,trail:`is-bamboo`},{name:`Red panda`,sprite:`is-red-panda`,trail:`is-leaves`},{name:`Deer`,sprite:`is-deer`,trail:`is-acorns`},{name:`Horse`,sprite:`is-horse`,trail:`is-clover`},{name:`Sheep`,sprite:`is-sheep`,trail:`is-clouds`},{name:`Hamster`,sprite:`is-hamster`,trail:`is-seeds`},{name:`Giraffe`,sprite:`is-giraffe`,trail:`is-acacia`},{name:`Hedgehog`,sprite:`is-hedgehog`,trail:`is-logomarks`}],IP=Object.freeze({flyingAnimalsMinGapSeconds:20,flyingAnimalsMaxGapSeconds:40,flyingAnimalsMinDurationSeconds:6.9,flyingAnimalsMaxDurationSeconds:11.5,flyingAnimalsScale:1,flyingAnimalsOnPhone:!0});function LP(e,t,n){return typeof e!=`number`||!Number.isFinite(e)?t:Math.min(n.max,Math.max(n.min,e))}function RP(e){if(!Array.isArray(e))return[];let t=new Set(FP.map(e=>e.sprite));return[...new Set(e.filter(e=>typeof e==`string`&&t.has(e)))]}function zP(e={}){let t=IP,n=aP,r=oP,i=LP(e.flyingAnimalsMinGapSeconds,t.flyingAnimalsMinGapSeconds,n),a=LP(e.flyingAnimalsMaxGapSeconds,t.flyingAnimalsMaxGapSeconds,n),o=LP(e.flyingAnimalsMinDurationSeconds,t.flyingAnimalsMinDurationSeconds,r),s=LP(e.flyingAnimalsMaxDurationSeconds,t.flyingAnimalsMaxDurationSeconds,r);return{flyingAnimalsMinGapSeconds:Math.min(i,a),flyingAnimalsMaxGapSeconds:Math.max(i,a),flyingAnimalsMinDurationSeconds:Math.min(o,s),flyingAnimalsMaxDurationSeconds:Math.max(o,s),flyingAnimalsScale:LP(e.flyingAnimalsScale,t.flyingAnimalsScale,sP),flyingAnimalsOnPhone:typeof e.flyingAnimalsOnPhone==`boolean`?e.flyingAnimalsOnPhone:t.flyingAnimalsOnPhone,flyingAnimalsExcludedSprites:RP(e.flyingAnimalsExcludedSprites)}}function BP(e){return FP.some(t=>!e.includes(t.sprite))}function VP(e,t=-1,n=Math.random){let r=FP.flatMap((t,n)=>e.includes(t.sprite)?[]:[n]);if(r.length===0)return null;let i=r.length>1?r.filter(e=>e!==t):r,a=Math.min(1,Math.max(0,n()));return i[Math.min(i.length-1,Math.floor(a*i.length))]}function HP(e,t,n=Math.random,r){let i=r===void 0?VP(e.flyingAnimalsExcludedSprites,t,n):FP.findIndex(e=>e.sprite===r);if(i===null||i<0)return null;let a=e.flyingAnimalsMinDurationSeconds+n()*(e.flyingAnimalsMaxDurationSeconds-e.flyingAnimalsMinDurationSeconds);return{animalIndex:i,durationSeconds:a,gapMs:1e3*(e.flyingAnimalsMinGapSeconds+n()*(e.flyingAnimalsMaxGapSeconds-e.flyingAnimalsMinGapSeconds)),firstDelaySeconds:n()*a,verticalProgress:n()}}function UP({isEnabled:e,hasReducedMotion:t,isPhone:n,options:r}){return t?`Flights are disabled because reduced motion is enabled.`:e?n&&!r.flyingAnimalsOnPhone?`Turn on Show on phone layout to use Fly now here.`:null:`Turn on flying animals to use Fly now.`}function WP(e,t){try{let n=localStorage.getItem(e);return n===null?t:JSON.parse(n)}catch{return t}}function GP(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var KP=`glimmervoid-ui-prefs`,qP=`glimmervoid:sidebar-width`,JP=e=>t=>typeof t==`boolean`?t:e,YP=e=>t=>typeof t==`string`?t:e,XP=e=>typeof e==`string`&&e?e:null,ZP=e=>typeof e==`number`&&Number.isFinite(e)?e:null,QP=e=>t=>ZP(t)??e,$P=e=>Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e!==``))]:[],eF={soundEnabled:JP(!0),soundId:YP(ub),themeId:YP(`phyrexian`),flyingAnimalsEnabled:JP(!1),flyingAnimalsMinGapSeconds:QP(IP.flyingAnimalsMinGapSeconds),flyingAnimalsMaxGapSeconds:QP(IP.flyingAnimalsMaxGapSeconds),flyingAnimalsMinDurationSeconds:QP(IP.flyingAnimalsMinDurationSeconds),flyingAnimalsMaxDurationSeconds:QP(IP.flyingAnimalsMaxDurationSeconds),flyingAnimalsScale:QP(IP.flyingAnimalsScale),flyingAnimalsOnPhone:JP(IP.flyingAnimalsOnPhone),flyingAnimalsExcludedSprites:RP,notificationsEnabled:JP(!0),compactStatusLabels:JP(!1),sessionUsageChips:JP(!1),activeView:YP(`focus`),lastFocusedSessionId:XP,railWidth:ZP,reviewSidebarExpanded:JP(!1),reviewSidebarView:e=>e===`map`||e===`notes`?e:`diff`,prsQueueWidth:ZP,prsQueueCollapsed:JP(!1),prsMode:e=>e===`mine`?`mine`:`team`,keptProjects:$P,traceHiddenKinds:$P,dismissedUpdate:XP,telemetryNoticeDismissed:JP(!1),radarAttentionAck:YP(``),prsAttentionAck:YP(``),usageAttentionAck:YP(``),visionsAttentionAck:YP(``)};function tF(e,t,n){e[t]=eF[t](n)}function nF(){let e=WP(KP,{}),t={};for(let n of Object.keys(eF))tF(t,n,e?.[n]);return t}function rF(e){return nF()[e]}function iF(e,t){let n=nF();tF(n,e,t),GP(KP,n)}var aF=()=>rF(`soundEnabled`),oF=e=>iF(`soundEnabled`,e),sF=()=>rF(`soundId`),cF=e=>iF(`soundId`,e),lF=()=>rF(`notificationsEnabled`),uF=e=>iF(`notificationsEnabled`,e),dF=()=>rF(`compactStatusLabels`),fF=e=>iF(`compactStatusLabels`,e),pF=()=>rF(`sessionUsageChips`),mF=e=>iF(`sessionUsageChips`,e),hF=()=>rF(`themeId`),gF=e=>iF(`themeId`,e),_F=()=>rF(`flyingAnimalsEnabled`),vF=e=>iF(`flyingAnimalsEnabled`,e),yF=()=>rF(`activeView`),bF=e=>iF(`activeView`,e),xF=()=>rF(`railWidth`),SF=e=>iF(`railWidth`,e),CF=()=>rF(`reviewSidebarExpanded`),wF=e=>iF(`reviewSidebarExpanded`,e),TF=()=>rF(`reviewSidebarView`),EF=e=>iF(`reviewSidebarView`,e),DF=()=>rF(`prsQueueWidth`),OF=e=>iF(`prsQueueWidth`,e),kF=()=>rF(`prsQueueCollapsed`),AF=e=>iF(`prsQueueCollapsed`,e),jF=()=>rF(`prsMode`),MF=e=>iF(`prsMode`,e),NF=()=>rF(`keptProjects`),PF=e=>iF(`keptProjects`,e),FF=()=>rF(`traceHiddenKinds`),IF=e=>iF(`traceHiddenKinds`,e),LF=()=>rF(`dismissedUpdate`),RF=e=>iF(`dismissedUpdate`,e),zF=()=>rF(`telemetryNoticeDismissed`),BF=e=>iF(`telemetryNoticeDismissed`,e),VF=()=>rF(`radarAttentionAck`),HF=e=>iF(`radarAttentionAck`,e),UF=()=>rF(`prsAttentionAck`),WF=e=>iF(`prsAttentionAck`,e),GF=()=>rF(`usageAttentionAck`),KF=e=>iF(`usageAttentionAck`,e),qF=()=>rF(`visionsAttentionAck`),JF=e=>iF(`visionsAttentionAck`,e),YF=()=>rF(`lastFocusedSessionId`),XF=e=>iF(`lastFocusedSessionId`,e),ZF=()=>ZP(WP(qP,null)),QF=e=>GP(qP,ZP(e)),$F=e=>iF(`flyingAnimalsMinGapSeconds`,e),eI=e=>iF(`flyingAnimalsMaxGapSeconds`,e),tI=e=>iF(`flyingAnimalsMinDurationSeconds`,e),nI=e=>iF(`flyingAnimalsMaxDurationSeconds`,e),rI=e=>iF(`flyingAnimalsScale`,e),iI=e=>iF(`flyingAnimalsOnPhone`,e),aI=e=>iF(`flyingAnimalsExcludedSprites`,e),oI=()=>zP(nF()),sI=()=>{let e=nF();return Object.fromEntries(Object.keys(IP).map(t=>[t,e[t]]))},cI=()=>GP(KP,{...nF(),...IP}),lI=new Set(NF());function uI(){PF([...lI])}function dI(e){if(!e)return;let t=String(e);lI.has(t)||(lI.add(t),uI())}function fI(e,t){let n=new Set;for(let r of e||[]){let e=t(r);if(!e)continue;let i=String(e);n.add(i),dI(i)}return[...lI].filter(e=>!n.has(e))}function pI(e){return!e||!lI.delete(String(e))?!1:(uI(),!0)}function mI(e,t){e&&B({type:`add-session`,name:IN(t),path:e})}function hI(e,t){let n=U.get(e);if(!n)return;let r=t||n.card?.dataset.merge||`none`;if(r!==`pending-review`&&r!==`parked`){B({type:`remove-session`,id:e});return}rf({title:`Remove Session`,message:`"${Yd(n)}" has unmerged worktree changes that will be permanently discarded if you remove it. Merge or review them first to keep them. Remove anyway?`,confirmLabel:`Discard & Remove`,onConfirm:()=>B({type:`remove-session`,id:e})})}function gI(e){if(!e)return 0;let t=0;return e.listenerMismatch&&t++,e.orphanPty&&t++,e.destroyedReachable&&t++,t}function _I(e,t){return e||gI(t)>0}var vI={DORMANT:`DOR`,INITIALIZING:`INI`,STARTING:`STA`,RUNNING:`RUN`,WAITING:`WAI`,IDLE:`IDL`,COMPLETE:`CMP`,DONE:`DON`,FAILED:`FAI`},yI=null,bI=!1,xI=!1,SI=null,CI=null,wI=null,TI=`—`;function EI(e){return e==null?TI:e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:e<1073741824?`${(e/1048576).toFixed(1)} MB`:`${(e/1073741824).toFixed(2)} GB`}function DI(e){return e==null?TI:e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m ${e%60}s`:`${Math.floor(e/3600)}h ${Math.floor(e%3600/60)}m`}function OI(){let e=V(`div`,`health-footer`);e.dataset.expanded=`false`,e.hidden=!0;let t=V(`button`,`health-summary`);t.type=`button`,t.setAttribute(`aria-expanded`,`false`),t.setAttribute(`aria-controls`,`health-detail`);let n=V(`div`,`health-detail`);return n.id=`health-detail`,n.hidden=!0,t.addEventListener(`click`,()=>{xI=!xI,e.dataset.expanded=String(xI),t.setAttribute(`aria-expanded`,String(xI)),n.hidden=!xI,xI&&(B({type:`request-health-snapshot`}),AI())}),e.append(t,n),SI=e,CI=t,wI=n,e}function kI(){if(!CI||!yI)return;let e=yI,t=gI(e.anomalies);CI.innerHTML=`
|
|
174
|
-
<span class="health-chev" aria-hidden="true">${xI?`▼`:`▲`}</span>
|
|
175
|
-
<span class="health-stat" title="V8 heap used"><span class="health-stat-label">Heap</span> ${EI(e.process.heapUsed)}</span>
|
|
176
|
-
<span class="health-stat" title="Resident set size (process memory)"><span class="health-stat-label">RSS</span> ${EI(e.process.rss)}</span>
|
|
177
|
-
<span class="health-stat" title="External buffers (PTY data lives here)"><span class="health-stat-label">Ext</span> ${EI(e.process.external)}</span>
|
|
178
|
-
<span class="health-stat" title="Active resources (handles + requests)"><span class="health-stat-label">Hdl</span> ${e.process.activeResources}</span>
|
|
179
|
-
<span class="health-stat" title="Sessions: alivePty / sleeping / total"><span class="health-stat-label">Sess</span> ${e.sessions.alivePty}/${e.sessions.sleeping}/${e.sessions.total}</span>
|
|
180
|
-
<span class="health-stat" title="WebSockets: control + data"><span class="health-stat-label">WS</span> ${e.websockets.control}+${e.websockets.data}</span>
|
|
181
|
-
<span class="health-stat" title="Server uptime"><span class="health-stat-label">Up</span> ${DI(e.uptimeSeconds)}</span>
|
|
182
|
-
${t>0?`<span class="health-anomaly" title="${t} anomaly type(s), expand for details">⚠ ${t}</span>`:``}
|
|
183
|
-
`}function AI(){if(!wI||!yI)return;let e=yI,t=e.process,n=e.websockets,r=e.sessions,i=e.anomalies,a=``;if(gI(i)>0){let e=[];i.listenerMismatch&&e.push(`Listener count mismatch: data WS listener leaked or missing`),i.orphanPty&&e.push(`Orphan PTY: session has live PTY but state is DONE/FAILED/DORMANT`),i.destroyedReachable&&e.push(`Destroyed session still reachable in sessions map`),a=`
|
|
184
|
-
<div class="health-section health-section-warn">
|
|
185
|
-
<div class="health-section-title">⚠ Anomalies</div>
|
|
186
|
-
${e.map(e=>`<div class="health-row">${e}</div>`).join(``)}
|
|
187
|
-
</div>
|
|
188
|
-
`}let o=r.list.map(e=>{let t=[];e.sleeping&&t.push(`sleeping`),e.autoKilled&&t.push(`autoKilled`),e.destroyed&&t.push(`destroyed`),e.pendingRestart&&t.push(`pendingRestart`);let n=Object.entries(e.timers).filter(([,e])=>e).map(([e])=>e).join(`,`)||`none`;return`
|
|
189
|
-
<tr>
|
|
190
|
-
<td>${Md(e.name)}</td>
|
|
191
|
-
<td class="health-mono">${vI[e.state]||e.state}</td>
|
|
192
|
-
<td class="health-mono">${e.hasPty?e.ptyPid:TI}</td>
|
|
193
|
-
<td class="health-mono">${EI(e.outputBufferBytes)}</td>
|
|
194
|
-
<td class="health-mono">${e.outputBufferEntries}</td>
|
|
195
|
-
<td class="health-mono">${e.dataListenerCount}</td>
|
|
196
|
-
<td class="health-mono health-dim">${n}</td>
|
|
197
|
-
<td class="health-mono health-dim">${t.join(` `)||``}</td>
|
|
198
|
-
</tr>
|
|
199
|
-
`}).join(``);wI.innerHTML=`
|
|
200
|
-
${a}
|
|
201
|
-
<div class="health-section">
|
|
202
|
-
<div class="health-section-title">Process</div>
|
|
203
|
-
<div class="health-grid">
|
|
204
|
-
<div class="health-row"><span class="health-label">Heap used</span><span class="health-mono">${EI(t.heapUsed)}</span></div>
|
|
205
|
-
<div class="health-row"><span class="health-label">Heap total</span><span class="health-mono">${EI(t.heapTotal)}</span></div>
|
|
206
|
-
<div class="health-row"><span class="health-label">RSS</span><span class="health-mono">${EI(t.rss)}</span></div>
|
|
207
|
-
<div class="health-row"><span class="health-label">External</span><span class="health-mono">${EI(t.external)}</span></div>
|
|
208
|
-
<div class="health-row"><span class="health-label">Array buffers</span><span class="health-mono">${EI(t.arrayBuffers)}</span></div>
|
|
209
|
-
<div class="health-row"><span class="health-label">Active resources</span><span class="health-mono">${t.activeResources}</span></div>
|
|
210
|
-
<div class="health-row"><span class="health-label">Uptime</span><span class="health-mono">${DI(e.uptimeSeconds)}</span></div>
|
|
211
|
-
</div>
|
|
212
|
-
</div>
|
|
213
|
-
|
|
214
|
-
<div class="health-section">
|
|
215
|
-
<div class="health-section-title">WebSockets</div>
|
|
216
|
-
<div class="health-grid">
|
|
217
|
-
<div class="health-row"><span class="health-label">Control clients</span><span class="health-mono">${n.control}</span></div>
|
|
218
|
-
<div class="health-row"><span class="health-label">Data clients</span><span class="health-mono">${n.data}</span></div>
|
|
219
|
-
<div class="health-row"><span class="health-label">Tracked per session</span><span class="health-mono">${n.dataPerSessionTotal}</span></div>
|
|
220
|
-
</div>
|
|
221
|
-
</div>
|
|
222
|
-
|
|
223
|
-
<div class="health-section">
|
|
224
|
-
<div class="health-section-title">Sessions (${r.total} total · ${r.alivePty} alive PTY · ${r.sleeping} sleeping)</div>
|
|
225
|
-
<div class="health-row health-dim">Listeners ${r.totalDataListeners} · Output buffer ${EI(r.totalOutputBufferBytes)}</div>
|
|
226
|
-
<table class="health-table">
|
|
227
|
-
<thead>
|
|
228
|
-
<tr>
|
|
229
|
-
<th>Name</th><th>State</th><th>PID</th><th>Buffer</th><th>Entries</th><th>Listeners</th><th>Timers</th><th>Flags</th>
|
|
230
|
-
</tr>
|
|
231
|
-
</thead>
|
|
232
|
-
<tbody>${o||`<tr><td colspan="8" class="health-dim">No sessions</td></tr>`}</tbody>
|
|
233
|
-
</table>
|
|
234
|
-
</div>
|
|
235
|
-
`}function jI(){if(!SI)return;let e=_I(bI,yI?.anomalies),t=SI.hidden;SI.hidden=!e,e&&t&&yI&&(kI(),xI&&AI())}function MI(e){bI=e,jI()}function NI(e){if(SI)return SI;let t=OI();return e.appendChild(t),jI(),t}function PI(e){yI=e,jI(),SI&&!SI.hidden&&(kI(),xI&&AI())}function FI(e){return e.replace(/\r\n?/g,`
|
|
236
|
-
`).split(`
|
|
237
|
-
`)}function II(e){return{kind:`unchanged`,text:e}}function LI(e){return{kind:`skipped`,text:`${e} unchanged lines`}}function RI(e,t){return e.length<=7?e.map(t):[...e.slice(0,3).map(t),LI(e.length-6),...e.slice(e.length-3).map(t)]}function zI(e){return e}function BI(e){let t=[],n=0;for(;n<e.length;){if(e[n].kind!==`unchanged`){t.push(e[n]),n++;continue}let r=n;for(;r<e.length&&e[r].kind===`unchanged`;)r++;t.push(...RI(e.slice(n,r),zI)),n=r}return t}function VI(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&e[r]===t[r];)r++;return r}function HI(e,t,n){let r=Math.min(e.length,t.length)-n,i=0;for(;i<r&&e[e.length-1-i]===t[t.length-1-i];)i++;return i}function UI(e,t){let n=e.length,r=t.length;if(n===0)return t.map(e=>({kind:`added`,text:e}));if(r===0)return e.map(e=>({kind:`removed`,text:e}));let i=r+1,a=new Int32Array((n+1)*i);for(let o=n-1;o>=0;o--)for(let n=r-1;n>=0;n--){let r=o*i+n;if(e[o]===t[n]){a[r]=a[r+i+1]+1;continue}a[r]=Math.max(a[r+i],a[r+1])}let o=[],s=0,c=0;for(;s<n&&c<r;){if(e[s]===t[c]){o.push(II(e[s])),s++,c++;continue}if(a[(s+1)*i+c]>=a[s*i+c+1]){o.push({kind:`removed`,text:e[s]}),s++;continue}o.push({kind:`added`,text:t[c]}),c++}for(;s<n;)o.push({kind:`removed`,text:e[s]}),s++;for(;c<r;)o.push({kind:`added`,text:t[c]}),c++;return o}function WI(e,t){let n=FI(e),r=FI(t),i=VI(n,r),a=HI(n,r,i),o=n.slice(i,n.length-a),s=r.slice(i,r.length-a);return o.length+s.length>2e3?{lines:[],isTooLarge:!0}:{lines:BI([...RI(n.slice(0,i),II),...UI(o,s),...RI(n.slice(n.length-a),II)]),isTooLarge:!1}}var GI=2,KI=8,qI=4096,JI=/^ {0,3}(#{1,6})[ \t]+(.*)$/,YI=/^ {0,3}(`{3,}|~{3,})([^`]*)$/,XI=/^(\s*)(?:([-+*])|(\d+)[.)])\s+(.+)$/,ZI=/^ {0,3}(?:(?:\*\s*){3,}|(?:-\s*){3,}|(?:_\s*){3,})$/,QI=/^:?-{3,}:?$/,$I=/^[A-Za-z0-9_+#.-]{1,32}$/;function eL(e){let t=e.trimEnd(),n=t.length;for(;n>0&&t[n-1]===`#`;)n--;if(n===t.length||n===0)return t;let r=t[n-1];return r!==` `&&r!==` `?t:t.slice(0,n).trimEnd()}function tL(e){if(e.length>qI)return null;let t=JI.exec(e);return t?{level:t[1].length,text:eL(t[2])}:null}function nL(e){let t=e.trim().split(/\s+/)[0]??``;return $I.test(t)?t:``}function rL(e,t){if(!t)return;let n=e.at(-1);if(n?.type===`text`){n.text+=t;return}e.push({type:`text`,text:t})}function iL(e,t){return e.startsWith(`**`,t)?`**`:e.startsWith(`__`,t)?`__`:null}function aL(e,t){return e.startsWith(`*`,t)?`*`:e.startsWith(`_`,t)?`_`:null}function oL(e,t,n){let r=e.indexOf(t,n);return r>n?r:-1}function sL(e,t){let n=e.indexOf(t);return function(r){return n===-1?-1:(n>=r||(n=e.indexOf(t,r)),n)}}function cL(e,t){let n=1;for(let r=t;r<e.length;r++){let t=e[r];if(t===`(`&&n++,t===`)`&&n--,n===0)return r;if(n>GI)return-1}return-1}function lL(e,t,n){if(e[t]!==`[`)return null;let r=n(t+1);if(r<=t+1||e[r+1]!==`(`)return null;let i=cL(e,r+2);return i===-1?null:{label:e.slice(t+1,r),target:e.slice(r+2,i),end:i+1}}function uL(e){let t=[],n=sL(e,`]`),r=0;for(;r<e.length;){let i=lL(e,r,n);if(i){let e=px(i.target.trim());e&&t.push({type:`link`,href:e,children:uL(i.label)}),e||rL(t,i.label),r=i.end;continue}if(e.startsWith("`",r)){let n=oL(e,"`",r+1);if(n!==-1){t.push({type:`code`,text:e.slice(r+1,n)}),r=n+1;continue}}let a=iL(e,r);if(a){let n=oL(e,a,r+a.length);if(n!==-1){t.push({type:`strong`,children:uL(e.slice(r+a.length,n))}),r=n+a.length;continue}}let o=aL(e,r);if(o){let n=oL(e,o,r+1);if(n!==-1){t.push({type:`emphasis`,children:uL(e.slice(r+1,n))}),r=n+1;continue}}rL(t,e[r]),r++}return t}function dL(e){return e.map(e=>e.type===`text`||e.type===`code`?e.text:dL(e.children)).join(``)}var fL=`plan-h-`;function pL(e,t){let n=e.toLowerCase().normalize(`NFKD`).replace(/[\u0300-\u036f]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`section`,r=(t.slugCounts.get(n)??0)+1;return t.slugCounts.set(n,r),`${fL}${r===1?n:`${n}-${r}`}`}function mL(e){if(typeof e!=`string`||!e.includes(`|`))return!1;let t=hL(e);return t.length<2?!1:t.every(e=>QI.test(e))}function hL(e){let t=e.trim();return t.startsWith(`|`)&&(t=t.slice(1)),t.endsWith(`|`)&&(t=t.slice(0,-1)),t.split(`|`).map(e=>e.trim())}function gL(e){let t=XI.exec(e);return t?{indent:t[1].replace(/\t/g,` `).length,ordered:!!t[3],content:t[4]}:null}function _L(e,t,n,r){let i=gL(e[t]);if(!i)return null;let a=[],o=i.ordered,s=i.indent,c=t;for(;c<e.length;){let t=gL(e[c]);if(!t||t.indent<s)break;if(t.indent>s){if(r>=KI)break;let t=_L(e,c,n,r+1);if(!t||a.length===0)break;a.at(-1)?.children.push(t.block),c=t.next;continue}if(t.ordered!==o)break;a.push({children:[{type:`paragraph`,children:uL(t.content)}]}),c++}return{block:{type:`list`,ordered:o,items:a},next:c}}function vL(e,t){let n=e[t]??``;return n.trim()===``||tL(n)||YI.test(n)||ZI.test(n)||gL(n)||/^ {0,3}>/.test(n)?!0:t+1<e.length&&n.includes(`|`)&&mL(e[t+1])}function yL(e,t,n){let r=[],i=0;for(;i<e.length;){let a=e[i];if(a.trim()===``){i++;continue}let o=YI.exec(a);if(o){let t=[],n=o[1][0],a=o[1].length;for(i++;i<e.length;){let r=/^ {0,3}(`{3,}|~{3,})\s*$/.exec(e[i]);if(r&&r[1][0]===n&&r[1].length>=a)break;t.push(e[i]),i++}i<e.length&&i++,r.push({type:`code`,language:nL(o[2]),text:t.join(`
|
|
238
|
-
`)});continue}let s=tL(a);if(s){let e=uL(s.text);r.push({type:`heading`,level:s.level,id:pL(dL(e),t),children:e}),i++;continue}if(ZI.test(a)){r.push({type:`rule`}),i++;continue}if(i+1<e.length&&a.includes(`|`)&&mL(e[i+1])){let t=hL(a).map(uL),n=[];for(i+=2;i<e.length&&e[i].includes(`|`)&&e[i].trim()!==``;)n.push(hL(e[i]).map(uL)),i++;r.push({type:`table`,header:t,rows:n});continue}let c=_L(e,i,t,n);if(c){r.push(c.block),i=c.next;continue}if(n<KI&&/^ {0,3}>/.test(a)){let a=[];for(;i<e.length&&/^ {0,3}>/.test(e[i]);)a.push(e[i].replace(/^ {0,3}> ?/,``)),i++;r.push({type:`blockquote`,blocks:yL(a,t,n+1)});continue}let l=[a.trim()];for(i++;i<e.length&&!vL(e,i);)l.push(e[i].trim()),i++;r.push({type:`paragraph`,children:uL(l.join(` `))})}return r}function bL(e){return yL(e.replace(/\r\n?/g,`
|
|
239
|
-
`).split(`
|
|
240
|
-
`),{slugCounts:new Map},0)}function xL(e){let t=[],n={heading:null,id:null,level:0,blocks:[]},r=()=>{(n.heading!==null||n.blocks.length!==0)&&t.push(n)};for(let t of e){if(t.type!==`heading`){n.blocks.push(t);continue}r(),n={heading:dL(t.children),id:t.id,level:t.level,blocks:[t]}}return r(),t}function SL(e,t){for(let n of t){if(n.type===`text`){e.append(document.createTextNode(n.text));continue}if(n.type===`code`){e.append(V(`code`,`plan-inline-code`,n.text));continue}if(n.type===`emphasis`){let t=V(`em`);SL(t,n.children),e.append(t);continue}if(n.type===`strong`){let t=V(`strong`);SL(t,n.children),e.append(t);continue}let t=V(`a`,`plan-link`);t.href=n.href,t.target=`_blank`,t.rel=`noopener noreferrer`,SL(t,n.children),e.append(t)}}function CL(e){let t=V(`li`);return wL(t,e.children),t}function wL(e,t){for(let n of t){if(n.type===`heading`){let t=V(`h${n.level}`,`plan-heading`);t.id=n.id,SL(t,n.children),e.append(t);continue}if(n.type===`paragraph`){let t=V(`p`,`plan-paragraph`);SL(t,n.children),e.append(t);continue}if(n.type===`list`){let t=n.ordered?V(`ol`,`plan-list`):V(`ul`,`plan-list`);t.append(...n.items.map(CL)),e.append(t);continue}if(n.type===`code`){let t=V(`pre`,`plan-code`),r=V(`code`,n.language?`language-${n.language}`:null,n.text);t.append(r),e.append(t);continue}if(n.type===`table`){let t=V(`div`,`plan-table-wrap`),r=V(`table`,`plan-table`),i=V(`thead`),a=V(`tr`);for(let e of n.header){let t=V(`th`);SL(t,e),a.append(t)}i.append(a);let o=V(`tbody`);for(let e of n.rows){let t=V(`tr`);for(let n of e){let e=V(`td`);SL(e,n),t.append(e)}o.append(t)}r.append(i,o),t.append(r),e.append(t);continue}if(n.type===`blockquote`){let t=V(`blockquote`,`plan-blockquote`);wL(t,n.blocks),e.append(t);continue}e.append(V(`hr`,`plan-rule`))}}function TL(e){let t=V(`div`,`plan-document`);return wL(t,e),t}function EL(e,{hasComment:t,isComposing:n,onComment:r,attachmentFor:i}){let a=V(`div`,`plan-document`),o=[];for(let s of e){let e=V(`section`,`plan-section`);e.dataset.selected=`false`,e.addEventListener(`click`,()=>{for(let t of o)t.dataset.selected=String(t===e)}),o.push(e);let c=V(`div`,`plan-section-head`),l=s.blocks[0],u=l?.type===`heading`;if(u&&wL(c,[l]),u||(e.id=`plan-introduction`),!t(s)&&!n(s)){let e=V(`button`,`plan-section-comment`,`Comment`);e.type=`button`,e.setAttribute(`aria-label`,`Comment on ${s.heading??`Introduction`}`),e.addEventListener(`click`,()=>r(s)),c.append(e)}let d=V(`div`,`plan-section-body`);wL(d,u?s.blocks.slice(1):s.blocks),e.append(c,d);let f=i(s);f&&e.append(f),a.append(e)}return a}var DL={added:`+`,removed:`-`,unchanged:` `,skipped:` `};function OL(e){let t=V(`div`,`plan-diff`);for(let n of e.lines){let e=V(`div`,`plan-diff-line plan-diff-${n.kind}`),r=V(`span`,`plan-diff-gutter`,DL[n.kind]);r.setAttribute(`aria-hidden`,`true`),e.append(r,V(`span`,`plan-diff-text`,n.text)),t.append(e)}return t}var kL=Object.freeze([{kind:`approve`,label:`Approve`},{kind:`revise`,label:`Send feedback`},{kind:`terminal`,label:`Answer in terminal`}]);function AL(e){return e===`approve`||e===`approve-accept-edits`}function jL(e){return(e.state===`decided`||e.state===`closed`)&&AL(e.lastDecision)}function ML(e,t){let n=e.reviews.find(e=>e.agentId===t);return n!==void 0&&jL(n)}function NL(e,t){return e.reviews.find(e=>e.agentId===t)??e.reviews[0]??null}function PL(e){let t=NL(e.state,e.selectedAgentId);return t?e.selectedRevision&&t.revisions.some(t=>t.revision===e.selectedRevision)?e.selectedRevision:t.revisions.at(-1)?.revision??null:null}function FL(e,t){return NL(e,t)?.openRevision?.revision??null}function IL(e,t,n){if(n===null)return null;let r=NL(e,t)?.revisions??[],i=r.findIndex(e=>e.revision===n);return i<=0?null:r[i-1].revision}function LL(e,t){let n=Math.max(0,t-e);if(!Number.isFinite(n)||n<6e4)return`just now`;let r=Math.floor(n/6e4);if(r<60)return`${r} min ago`;let i=Math.floor(r/60);if(i<24)return`${i} hr ago`;let a=Math.floor(i/24);return`${a} ${a===1?`day`:`days`} ago`}function RL(e,t,n){return t!==null&&t.state===`open`&&t.openRevision!==null&&t.openRevision.revision===n&&e.body!==null&&e.isConnected&&e.isDraft!==!0&&!e.isDecisionInFlight}function zL(e,t,n){let r=RL(e,t,n),i=(e.pendingCommentCount??0)>0,a=e.hasUnsavedComment!==!0;return kL.map(({kind:e,label:t})=>({kind:e,label:t,enabled:r&&(e===`terminal`||a&&(e===`revise`?i:!i))}))}function BL(e,t){return e.openRevision===null?t!==null&&e.approvedRevision===t?`Approved`:e.state===`released`?`Answer in the terminal`:e.state===`decided`?e.lastDecision===`revise`?`Feedback sent, waiting for the next revision`:`Approved`:`Closed`:e.openRevision.revision===t?``:`Rev ${e.openRevision.revision} is the one open`}function VL(e){let t=0;for(let n of e.comments??[])t+=n.comment.trim().length+(n.heading?.length??0);return t}function HL(e){return new TextEncoder().encode(JSON.stringify(e)).byteLength+Uu}function UL(e){let t=e.plan;if(t!==void 0&&t.length===0)return`the edited plan is empty, so nothing was sent`;if(t!==void 0&&new TextEncoder().encode(t).byteLength>524288)return`the edited plan is over the plan size cap, so nothing was sent`;let n=e.comments??[];return n.length>40?`more than 40 section comments are pending, so nothing was sent`:n.find(e=>e.comment.length>4e3||(e.heading?.length??0)>4e3)?`a section comment is over ${Xs} characters, so nothing was sent`:VL(e)>1e4?`the feedback composes more than the ${Qs} characters the hook reply carries, so nothing was sent`:HL(e)>Wu?`the decision is larger than one control frame carries, so nothing was sent`:null}function WL(e){return e?`, ${e}`:``}function GL(e,t,n){if(!e.isConnected)return`Disconnected`;if(!t||n===null)return`No plan revision selected`;if(e.isDecisionInFlight)return`Sending your decision`;if(e.body===null)return`Loading`;if(e.isDraft===!0)return`Draft`;let r=BL(t,n);if(r)return r;if(e.hasUnsavedComment===!0)return`Save or cancel the open comment first.`;let i=e.pendingCommentCount??0;return i<=0?``:i===1?`1 comment to send. Remove it to approve.`:`${i} comments to send. Remove them to approve.`}function KL(e,t,n){let r=GL(e,t,n);return r?`${r}${WL(e.problem)}`:e.problem??``}function qL(e){let t=NL(e.state,e.selectedAgentId),n=PL(e);return{tabs:e.state.reviews.map(e=>({agentId:e.agentId,label:e.agentId===null?`Main`:e.agentType||`Agent`,selected:e===t})),revisions:(t?.revisions??[]).map(e=>({revision:e.revision,label:`Rev ${e.revision}`,isOpen:e.revision===t?.openRevision?.revision,receivedAt:e.receivedAt,selected:e.revision===n})),selectedAgentId:t?.agentId??null,selectedRevision:n,previousRevision:IL(e.state,t?.agentId??null,n),status:KL(e,t,n),actions:zL(e,t,n),modes:[{kind:`read`,label:`Read`,enabled:!0},{kind:`changes`,label:`Changes`,enabled:IL(e.state,t?.agentId??null,n)!==null&&e.isDraft!==!0},{kind:`edit`,label:`Edit`,enabled:RL(e,t,n)}]}}function JL(e,t){let n=e.reviews.findIndex(e=>e.agentId===t.agentId),r=[...(n===-1?null:e.reviews[n])?.revisions??[]],i=r.findIndex(e=>e.revision===t.revision),a={revision:t.revision,receivedAt:t.receivedAt,chars:t.chars,title:t.title};r[i===-1?r.length:i]=a,r.sort((e,t)=>e.revision-t.revision);let o={agentId:t.agentId,agentType:t.agentType,revisions:r,state:t.state,openRevision:t.state===`open`?{revision:t.revision,since:t.receivedAt}:null,approvedRevision:t.approvedRevision,lastDecision:t.lastDecision},s=[...e.reviews];return s[n===-1?s.length:n]=o,{reviews:s}}function YL({headingOffsets:e,scrollTop:t,isScrolledToEnd:n,readingLineOffset:r}){if(e.length===0)return null;if(n)return e.length-1;let i=t+r,a=0;for(let t=0;t<e.length&&!(e[t]>i);t++)a=t;return a}var XL=12,ZL=8,QL=``,$L=48,eR=new Map;function tR(e,t){return JSON.stringify([e,t])}function nR(e){return e.id??QL}function rR(e,t){let n=eR.get(e);n||(n=new Map,eR.set(e,n));let r=tR(t.agentId,t.revision);for(n.delete(r),n.set(r,t.plan);n.size>XL;){let e=n.keys().next().value;if(typeof e!=`string`)break;n.delete(e)}}function iR(e){eR.delete(e)}function aR(e,t,n){return!e||n===null?null:eR.get(e)?.get(tR(t,n))??null}function oR(e){let t=V(`section`,`plan-face`);t.hidden=!0;let n=V(`header`,`plan-head`),r=V(`select`,`plan-heading-picker`);r.setAttribute(`aria-label`,`Plan section`);let i=V(`div`,`plan-view-panel`),a=V(`div`,`plan-sheet-head`),o=V(`button`,`plan-control plan-sheet-close`,`×`);o.type=`button`,o.setAttribute(`aria-label`,`Close`),a.append(V(`span`,null,`View`),o);let s=V(`div`,`plan-view-group plan-author-group`),c=V(`div`,`plan-tabs`);c.setAttribute(`role`,`tablist`),c.setAttribute(`aria-label`,`Plan author`),s.append(V(`span`,`plan-sheet-label`,`Author`),c);let l=V(`div`,`plan-view-group plan-revision-group`),u=V(`div`,`plan-revision-stepper`),d=V(`button`,`plan-control plan-revision-previous`,`‹`);d.type=`button`,d.setAttribute(`aria-label`,`Previous revision`);let f=V(`button`,`plan-control plan-revision-next`,`›`);f.type=`button`,f.setAttribute(`aria-label`,`Next revision`);let p=V(`span`,`plan-revision-label`),m=V(`span`,`plan-revision-age`);u.append(d,p,f,m);let h=V(`div`,`plan-revision-list`);h.setAttribute(`role`,`radiogroup`),h.setAttribute(`aria-label`,`Revision`),l.append(V(`span`,`plan-sheet-label`,`Revision`),u,h);let g=V(`div`,`plan-view-group plan-mode-group`),_=V(`div`,`plan-modes`);_.setAttribute(`role`,`radiogroup`),_.setAttribute(`aria-label`,`Show`),g.append(V(`span`,`plan-sheet-label`,`Show`),_);let v=V(`div`,`plan-head-spacer`),y=V(`div`,`plan-draft-notice`),b=V(`span`,`plan-draft-dot`);b.setAttribute(`aria-hidden`,`true`);let x=V(`button`,`plan-control plan-draft-chip`,`Peek draft`);x.type=`button`,y.append(b,x),i.append(a,s,l,g,v,y);let ee=V(`button`,`plan-control plan-view-button`,`View`);ee.type=`button`,ee.setAttribute(`aria-haspopup`,`dialog`),ee.setAttribute(`aria-expanded`,`false`);let te=V(`button`,`plan-control plan-minimize-button`,`Minimize`);te.type=`button`,te.addEventListener(`click`,e.showTerminal),n.append(r,i,ee,te);let ne=V(`div`,`plan-sheet-backdrop`),re=V(`div`,`plan-body-layout`),ie=V(`nav`,`plan-heading-rail`);ie.setAttribute(`aria-label`,`Plan sections`);let S=V(`article`,`plan-reading-column`);re.append(ie,S);let ae=V(`textarea`,`plan-editor`);ae.setAttribute(`aria-label`,`Plan markdown`),ae.spellcheck=!1;let oe=V(`footer`,`plan-action-bar`),se=V(`span`,`plan-status`);se.setAttribute(`role`,`status`);let ce=V(`div`,`plan-decision-slot`),le=V(`label`,`plan-accept-edits`),C=V(`input`,`plan-accept-edits-checkbox`);C.type=`checkbox`,le.append(C,V(`span`,null,`Accept edits`)),ce.append(le,se),oe.append(ce);let w=new Map;for(let[e,t]of[[`terminal`,`Answer in terminal`],[`revise`,`Send feedback`],[`approve`,`Approve`]]){let n=V(`button`,`plan-action`,t);n.type=`button`,n.dataset.decision=e,n.addEventListener(`click`,()=>{n.disabled||rt(e)}),w.set(e,n),oe.append(n)}t.append(n,re,oe,ne);let T=null,ue={reviews:[]},de=null,fe=null,pe=!0,E=``,me=``,he=``,ge=``,_e=!1,ve=null,ye=!1,be=null,xe=!1,Se=!1,Ce=null,we=[],Te=null,Ee=null,De=new Map,Oe=new Map,ke=new Map,Ae=[],je=!1,Me=null,Ne=!1;function Pe(e,t=!0){Ne=e,i.replaceChildren(...e?[a,g,l,s,y,v]:[a,s,l,g,v,y]),c.setAttribute(`role`,e?`radiogroup`:`tablist`);for(let t of c.querySelectorAll(`button`)){let n=t.getAttribute(`aria-selected`)===`true`||t.getAttribute(`aria-checked`)===`true`;t.setAttribute(`role`,e?`radio`:`tab`),t.removeAttribute(e?`aria-selected`:`aria-checked`),t.setAttribute(e?`aria-checked`:`aria-selected`,String(n))}if(i.dataset.open=String(e),ne.dataset.open=String(e),ee.setAttribute(`aria-expanded`,String(e)),re.inert=e,oe.inert=e,r.inert=e,ee.inert=e,te.inert=e,e){i.setAttribute(`role`,`dialog`),i.setAttribute(`aria-label`,`Plan view`),i.setAttribute(`aria-modal`,`true`),o.focus();return}i.removeAttribute(`role`),i.removeAttribute(`aria-modal`),t&&ee.focus()}function Fe(e){e.addEventListener(`keydown`,t=>{let n={ArrowLeft:-1,ArrowUp:-1,ArrowRight:1,ArrowDown:1}[t.key];if(n===void 0&&t.key!==`Home`&&t.key!==`End`)return;let r=[...e.querySelectorAll(`button:not(:disabled)`)];if(r.length===0)return;t.preventDefault();let i=(r.indexOf(document.activeElement)+(n??0)+r.length)%r.length;t.key===`Home`&&(i=0),t.key===`End`&&(i=r.length-1);let a=Ne;r[i].click(),!(a&&e!==_)&&(e===_||!Ne)&&e.querySelector(`[aria-checked="true"], [aria-selected="true"]`)?.focus()})}let Ie=Bd.subscribe((e,t)=>{t.includes(`layout`)&&Ne&&Pe(!1,!1)});e.signal?.addEventListener(`abort`,Ie,{once:!0}),Fe(_),Fe(c),Fe(h),ee.addEventListener(`click`,()=>Pe(!Ne)),o.addEventListener(`click`,()=>Pe(!1)),ne.addEventListener(`click`,()=>Pe(!1)),i.addEventListener(`keydown`,e=>{if(!Ne)return;if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),Pe(!1);return}if(e.key!==`Tab`)return;let t=[...i.querySelectorAll(`button:not(:disabled)`)].filter(e=>e.getClientRects().length>0&&e.tabIndex>=0),n=t[0],r=t.at(-1);if(e.shiftKey&&document.activeElement===n){e.preventDefault(),r?.focus();return}!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n?.focus())});function Le(e){S.querySelector(`#${CSS.escape(e)}`)?.scrollIntoView({behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`,block:`start`})}r.addEventListener(`change`,()=>Le(r.value));function Re(){je=!1;let e=Ae.map(e=>S.querySelector(`#${CSS.escape(e.dataset.headingId??``)}`)).filter(e=>e!==null),t=S.getBoundingClientRect().top-S.scrollTop,n=YL({headingOffsets:e.map(e=>e.getBoundingClientRect().top-t),scrollTop:S.scrollTop,isScrolledToEnd:S.scrollTop>0&&S.scrollTop+S.clientHeight>=S.scrollHeight-2,readingLineOffset:$L}),i=n===null?null:e[n]?.id??null;for(let e of Ae){if(e.dataset.headingId===i){e.setAttribute(`aria-current`,`location`);continue}e.removeAttribute(`aria-current`)}i!==null&&(r.value=i)}function ze(){je||t.hidden||Ae.length===0||(je=!0,requestAnimationFrame(Re))}S.addEventListener(`scroll`,ze,{passive:!0});function Be(){Me=null,ye=!1,xe=!1,Se=!1,Ce=null}function Ve(t){Te=t,e.reportProblem(t),Ot()}function He(e){fe=e,Te=null,Be(),Pe(!1,Ne),Ot()}function Ue(e){let t=ue.reviews.find(e=>e.agentId===de)?.revisions??[],n=t[t.findIndex(e=>e.revision===fe)+e];n&&He(n.revision)}d.addEventListener(`click`,()=>Ue(-1)),f.addEventListener(`click`,()=>Ue(1));function We(e,t){return`${T??``}:${e??`main`}:${t??`latest`}`}function Ge(){return We(de,fe)}function Ke(e,t,n){return`${e??``}:${tR(t,n??0)}`}function qe(){return Ke(T,de,fe)}function Je(){return Oe.get(qe())??null}function Ye(){return Je()?.size??0}function Xe(){if(Me===null)return!1;let e=Oe.get(Me.target.bucketKey)?.get(Me.target.sectionSlot)??``;return Me.field.value.trim()!==e}function Ze(e){let t=Oe.get(e);if(!t)return[];let n=[];for(let e of we){let r=t.get(nR(e));r&&n.push({heading:e.heading,comment:r})}return n}function Qe(e,t){let n=t.trim(),r=Oe.get(e.bucketKey)??new Map;Oe.set(e.bucketKey,r),n.length===0&&r.delete(e.sectionSlot),n.length>0&&r.set(e.sectionSlot,n),r.size===0&&Oe.delete(e.bucketKey),Ot()}function $e(e){if(Se||_e)return;let t={bucketKey:qe(),sectionSlot:nR(e)},n=V(`div`,`plan-comment-composer`),r=V(`label`,`plan-comment-label`,`Comment on ${e.heading??`Introduction`}`),i=V(`textarea`,`plan-comment-input`);i.maxLength=Xs,i.value=Oe.get(t.bucketKey)?.get(t.sectionSlot)??``,r.append(i);let a=V(`div`,`plan-comment-actions`),o=V(`button`,`plan-control plan-comment-cancel`,`Cancel`);o.type=`button`;let s=V(`button`,`plan-control plan-comment-save`,`Save comment`);s.type=`button`,a.append(o,s),n.append(r,a);let c={target:t,element:n,field:i};Me=c,i.addEventListener(`input`,Dt),o.addEventListener(`click`,()=>{Me===c&&(Me=null,Ot())}),s.addEventListener(`click`,()=>{Me===c&&(Me=null),Qe(t,i.value)}),Ot(),i.focus()}function et(e){let t={bucketKey:qe(),sectionSlot:nR(e)};if(Me?.target.bucketKey===t.bucketKey&&Me.target.sectionSlot===t.sectionSlot)return Me.element;let n=Je()?.get(t.sectionSlot);if(!n)return null;let r=V(`div`,`plan-comment-card`),i=V(`div`,`plan-comment-head`),a=V(`button`,`plan-control plan-comment-edit`,`Edit`);a.type=`button`,a.addEventListener(`click`,()=>$e(e));let o=V(`button`,`plan-control plan-comment-remove`,`Remove`);return o.type=`button`,o.disabled=_e,a.disabled=_e,o.addEventListener(`click`,()=>Qe(t,``)),i.append(V(`span`,`plan-comment-label`,`Your comment`),a,o),r.append(i,V(`p`,`plan-comment-text`,n)),r}function D(t,n,r={}){if(!T||n.revision===null||_e)return!1;let i=UL(r);if(i!==null)return Ve(i),!1;let a={agentId:n.agentId,revision:n.revision,decision:t,...r};return e.sendDecision(T,a)?(Te=null,_e=!0,ve=AL(t)?n:null,Ot(),!0):!1}function tt(e){if(!ye)return{};let t=ae.value;return t===aR(T,e.agentId,e.revision)?{}:{plan:t}}function nt(e){let t=Ke(T,e.agentId,e.revision),n=Ze(t);n.length!==0&&D(`revise`,e,{comments:n})&&e.revision!==null&&(Ee={bucketKey:t,agentId:e.agentId,revision:e.revision},Ot())}function rt(e){let t={agentId:de,revision:fe};if(e===`revise`){nt(t);return}D(e===`approve`&&!le.hidden&&C.checked?`approve-accept-edits`:e,t,tt(t))}function it(e){Me=null,ye=e===`edit`,xe=e===`changes`,ye&&be!==qe()&&(ae.value=aR(T,de,fe)??``,be=qe()),Te=null,Ot()}function at(e){return`${e.kind}:${We(e.agentId,e.revision)}`}function ot(e){for(ke.set(at(e),e);ke.size>ZL;){let e=ke.keys().next().value;if(typeof e!=`string`)break;ke.delete(e)}}function st(e,t){return e.agentId===t.agentId?e.kind===`draft`?t.revision===0:t.revision===0?!1:e.revision===null||e.revision===t.revision:!1}function ct(e){for(let[t,n]of ke)if(st(n,e))return ke.delete(t),n;return null}function lt(){for(let[e,t]of ke)if(t.kind===`draft`)return ke.delete(e),t;return null}function ut(){if(ke.size!==1)return null;let e=ke.entries().next().value;return e?(ke.delete(e[0]),e[1]):null}function dt(){if(!T)return;let t=Ge();E!==t&&e.requestPlan(T,de,fe??void 0)&&(E=t,ot({kind:`selection`,agentId:de,revision:fe}))}function ft(){t.hidden||dt()}function pt(){return IL(ue,de,fe)}function mt(t){if(!T)return;let n=We(de,t);he!==n&&e.requestPlan(T,de,t)&&(he=n,ot({kind:`diff-base`,agentId:de,revision:t}))}function ht(){if(!T)return;let t=`${T}:${de??`main`}`;ge!==t&&e.requestDraft(T,de)&&(ge=t,ot({kind:`draft`,agentId:de,revision:null}))}function gt(e,t){return`${e??``}:${t??``}`}function _t(){return ue.reviews.find(e=>e.agentId===de)?.revisions.find(e=>e.revision===fe)?.receivedAt??0}function vt(){let e=De.get(gt(T,de));return e!==void 0&&e>_t()}function yt(){if(Se){Be(),Ot();return}Me=null,ye=!1,xe=!1,ht(),Ot()}x.addEventListener(`click`,yt);function bt(e){ie.replaceChildren(),r.replaceChildren(),Ae=[];for(let t of e){let e=t.id??`plan-introduction`,n=t.heading??`Introduction`,i=V(`button`,`plan-heading-link`,n);i.type=`button`,i.dataset.level=String(t.level),i.dataset.headingId=e,i.title=n,i.dataset.commented=String(Je()?.has(nR(t))===!0),Ae.push(i),i.addEventListener(`click`,()=>Le(e)),ie.append(i);let a=V(`option`,null,n);a.value=e,r.append(a)}}function xt(e){let t=pt();if(t===null){S.append(V(`p`,`plan-loading`,`This is the first revision, so there is nothing to diff`));return}let n=aR(T,de,t);if(n===null){S.append(V(`p`,`plan-loading`,`Loading the previous revision`)),mt(t);return}let r=WI(n,e);if(r.isTooLarge){S.append(V(`p`,`plan-loading`,`This diff is too large to show, so the newer revision stands alone`)),S.append(TL(bL(e)));return}S.append(OL(r))}function St(e){if(S.replaceChildren(),ye){bt(we),S.append(ae);return}if(e===null){if(we=[],bt(we),me===Ge()){S.append(V(`p`,`plan-loading`,`This plan revision could not be loaded`));return}S.append(V(`p`,`plan-loading`,`Loading plan`)),dt();return}let t=bL(e);if(we=xL(t),bt(we),xe){xt(e);return}if(Se){S.append(TL(t));return}let n=Je();S.append(EL(we,{hasComment:e=>n?.has(nR(e))===!0,isComposing:e=>Me?.target.bucketKey===qe()&&Me.target.sectionSlot===nR(e),onComment:$e,attachmentFor:et}))}function Ct(e){s.hidden=e.tabs.length<2,c.replaceChildren();for(let t of e.tabs){let e=V(`button`,`plan-tab`,t.label);e.type=`button`,e.setAttribute(`role`,Ne?`radio`:`tab`),e.setAttribute(Ne?`aria-checked`:`aria-selected`,String(t.selected)),e.tabIndex=t.selected?0:-1,e.addEventListener(`click`,()=>{de=t.agentId,fe=null,Te=null,E=``,me=``,he=``,ge=``,Be(),Pe(!1,Ne),Ot()}),c.append(e)}}function wt(){return Se?Ce:aR(T,de,fe)}function Tt(e){return qL({state:ue,selectedAgentId:de,selectedRevision:fe,body:e,isConnected:pe,isDecisionInFlight:_e,isDraft:Se,pendingCommentCount:Ye(),hasUnsavedComment:Xe(),problem:Te})}function Et(e){se.textContent=e.status,se.hidden=e.status.length===0;let t=e.actions.some(e=>e.kind===`approve`&&e.enabled);le.hidden=!t,C.disabled=!t;for(let t of e.actions){let e=w.get(t.kind);e&&(e.disabled=!t.enabled)}}function Dt(){Et(Tt(wt()))}function Ot(){let e=Ne&&i.contains(document.activeElement),t=qL({state:ue,selectedAgentId:de,selectedRevision:fe,body:null,isConnected:pe});(de!==t.selectedAgentId||fe!==t.selectedRevision)&&Be(),de=t.selectedAgentId,fe=t.selectedRevision,be!==qe()&&(be=null);let n=wt(),a=Tt(n);Ct(a);let s=a.revisions.findIndex(e=>e.selected),c=a.revisions[s],l=Date.now();u.hidden=a.revisions.length<2,p.textContent=`Rev ${s+1} of ${a.revisions.length}`,m.textContent=c?LL(c.receivedAt,l):``,d.disabled=s<=0,f.disabled=s<0||s>=a.revisions.length-1,h.replaceChildren();for(let e of[...a.revisions].reverse()){let t=V(`button`,`plan-revision-option`);t.type=`button`,t.dataset.revision=String(e.revision),t.setAttribute(`role`,`radio`),t.setAttribute(`aria-checked`,String(e.selected)),t.tabIndex=e.selected?0:-1,t.append(V(`span`,`plan-revision-name`,e.label),V(`span`,`plan-revision-age`,LL(e.receivedAt,l))),e.isOpen&&t.append(V(`span`,`plan-revision-open`,`OPEN`)),t.addEventListener(`click`,()=>He(e.revision)),h.append(t)}_.replaceChildren();let g=ye?`edit`:xe?`changes`:`read`,v=a.modes.find(e=>e.kind===g&&e.enabled)??a.modes[0];for(let e of a.modes){let t=V(`button`,`plan-control plan-mode`,e.label);t.type=`button`,t.dataset.mode=e.kind,t.disabled=!e.enabled,t.setAttribute(`role`,`radio`),t.setAttribute(`aria-checked`,String(e.kind===g)),t.tabIndex=e.kind===v.kind?0:-1,t.addEventListener(`click`,()=>{t.disabled||(it(e.kind),_.querySelector(`[aria-checked="true"]`)?.focus())}),_.append(t)}y.hidden=!vt()&&!Se,x.hidden=y.hidden,x.setAttribute(`aria-pressed`,String(Se)),Et(a),St(n),r.disabled=Ae.length===0,ze(),e&&!i.contains(document.activeElement)&&o.focus()}function kt(t){ve!==null&&ML(t,ve.agentId)&&(ve=null,be=null,e.showTerminal())}function At(e){Me=null,e!==T&&(ve=null,_e=!1,Te=null,ke.clear()),Pe(!1,!1),T=e,t.hidden=!1,E=``,me=``,Ot(),ft()}function jt(){Me=null,Pe(!1,!1),t.hidden=!0}function Mt(e,t){return t.kind!==`selection`||e.agentId!==de?!1:t.revision===null?fe===null||fe===e.revision:t.revision===fe}function Nt(e){if(e.kind===`draft`){ge=``,Ve(`the draft could not be read, so nothing was shown`);return}if(e.kind===`diff-base`){he=``;return}me=We(e.agentId,e.revision)}function Pt(e){Ee!==null&&FL(e,Ee.agentId)!==Ee.revision&&(Oe.delete(Ee.bucketKey),Ee=null)}function Ft(e){_e=!1,It({reviews:e.reviews});let t=e.body;if(!t){let e=ut()??lt();e!==null&&Nt(e);return}let n=ct(t);if(t.revision===0){if(ge=``,n===null||t.agentId!==de)return;Ce=t.plan,Se=!0;return}rR(e.id,t),n!==null&&Mt(t,n)&&(de=t.agentId,fe=t.revision,E=``,me=``)}function It(e){let t=FL(e,de);t!==null&&t!==FL(ue,de)&&(fe=t,Be()),Pt(e),ue=e,_e=!1,kt(e)}function Lt(e){let n=!1;e.state&&It(e.state),e.draft&&De.set(gt(e.draft.id,e.draft.agentId),e.draft.changedAt),e.decisionRefused&&(ve=null,_e=!1,Ee=null),typeof e.isConnected==`boolean`&&(n=e.isConnected&&!pe,pe=e.isConnected,n&&(E=``,me=``,he=``,ge=``,_e=!1)),e.requestFailed&&(me=E),e.response&&Ft(e.response),t.hidden||Ot(),(n||e.decisionRefused)&&ft()}return{el:t,show:At,hide:jt,update:Lt}}var sR=`#plan/`;function cR(e){return`${sR}${encodeURIComponent(e)}`}function lR(e){if(!e.startsWith(sR))return null;let t=e.slice(6);if(!t||t.includes(`/`))return null;try{return decodeURIComponent(t)||null}catch{return null}}var uR=`http://www.w3.org/2000/svg`;function dR(e,t){let n=document.createElementNS(uR,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function fR(e,t){let n=document.createElementNS(uR,`svg`);return n.setAttribute(`width`,String(e)),n.setAttribute(`height`,String(t)),n.setAttribute(`viewBox`,`0 0 ${e} ${t}`),n.setAttribute(`aria-hidden`,`true`),n}function pR(e){let t=fR(12,12);return t.classList.add(`state-glyph`),t.dataset.tone=e,e===`danger`&&t.append(dR(`path`,{d:`M2.5 2.5L9.5 9.5M9.5 2.5L2.5 9.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`})),e===`warn`&&t.append(dR(`path`,{d:`M6 1L11 6L6 11L1 6Z`,fill:`currentColor`})),e===`wait`&&t.append(dR(`circle`,{cx:`6`,cy:`6`,r:`4`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`})),e===`ok`&&t.append(dR(`path`,{d:`M2 6L4.5 8.5L10 3`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),e===`muted`&&t.append(dR(`path`,{d:`M3 6H9`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`})),t}function mR(e){let t=new Map;for(let n of e.files){let e=n.path.split(`/`);for(let r=0;r<e.length;r++){let i=e.slice(0,r).join(`/`),a=t.get(i);a!==void 0&&a.localeCompare(n.path)<=0||t.set(i,n.path)}}return t}function hR(e,t){let n=[],r=new Set(e.files.map(e=>e.path));for(let i of e.links){let a=t.get(i.providerRepo),o=a?.firstChangedPathByDirectory.get(i.packageDir),s=o??i.importers.find(e=>r.has(e))??i.importers[0]??i.consumerManifest,c=o&&a?a.repo:e,l=i.importerCount===1?`file`:`files`,u=i.providerChangedPathCount===1?`file`:`files`,d=i.changedImporterCount===1?`file`:`files`,f=i.isLocalLink?`Linked locally (${i.versionSpec}), so ${i.providerRepo} changes reach it now.`:`Uses ${i.versionSpec} from the registry, so ${i.providerRepo} changes reach it only after a publish.`;i.providerChangedPathCount>0&&(f+=` ${i.providerRepo} changed ${i.providerChangedPathCount} ${u} in ${i.packageDir||`the repository root`}.`),i.changedImporterCount>0&&(f+=` ${i.changedImporterCount} importing ${d} changed here.`),n.push({factId:i.factId,kind:`link`,severity:6,path:s,openPath:`${c.sessionPathPrefix}${s}`,headline:`${e.name} imports ${i.packageName} from ${i.providerRepo} in ${i.importerCount} ${l}`,detail:f})}for(let t of e.collisions)n.push({factId:t.factId,kind:`collision`,severity:5,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`${t.path} is also changed in "${t.otherSessionName}"`,detail:`Another live session is changing this file.`});for(let t of e.coChangeGaps){let r=t.confidence>0?Math.round(t.support/t.confidence):0;n.push({factId:t.factId,kind:`co-change`,severity:4,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`Usually changes with ${t.partner} (${t.support} of ${r} commits)`,detail:`${t.partner} is absent from these changes.`})}for(let t of e.untestedFiles)n.push({factId:t.factId,kind:`untested`,severity:3,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`No test reaches ${t.path}`,detail:`No dependent test was found in the import graph.`});for(let t of e.hotspots)n.push({factId:t.factId,kind:`hotspot`,severity:2,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`${t.path} is a hotspot`,detail:`${t.fixCommitCount} of its last ${t.commitCount} commits were fixes.`});for(let t of e.blastRadius)t.transitiveDependentCount<10||n.push({factId:t.factId,kind:`blast`,severity:1,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`Wide blast radius: ${t.transitiveDependentCount} files depend on ${t.path}`,detail:`${t.directDependentCount} direct dependents; ${t.dependentTestCount} dependent tests.`});return n.sort((e,t)=>t.severity-e.severity||e.path.localeCompare(t.path)||e.factId.localeCompare(t.factId))}function gR(e,t){let n=new Map(e.blastRadius.map(e=>[e.path,e])),r=e.files.filter(e=>e.isCommitted).length;return{header:{name:e.name,fileCount:e.files.length,committedCount:r,uncommittedCount:e.files.length-r,base:e.base},subsystems:e.subsystems.map(e=>({title:e.title,fileCount:e.paths.length})),warnings:hR(e,t),files:e.files.map(t=>({path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,status:t.status,isCommitted:t.isCommitted,dependentCount:n.get(t.path)?.transitiveDependentCount??0,testCount:n.get(t.path)?.dependentTestCount??0})),error:e.error}}function _R(e){let t=new Set(e.repos.flatMap(e=>e.links.map(e=>e.providerRepo))),n=new Map;for(let r of e.repos)t.has(r.name)&&!n.has(r.name)&&n.set(r.name,{repo:r,firstChangedPathByDirectory:mR(r)});let r=e.repos.map(e=>gR(e,n));return{repos:r,narrative:{state:e.narratorState,claims:e.narratorState===`ready`?e.narrative?.claims.map(e=>({text:e.text,factIds:e.factIds}))??[]:[],status:{disabled:null,pending:`Narrative is being prepared.`,ready:null,failed:`Narrative could not be prepared.`}[e.narratorState]},emptyState:!e.error&&r.every(e=>e.header.fileCount===0&&e.warnings.length===0)&&r.every(e=>!e.error)?`No changed files in this session.`:null,error:e.error??null}}function vR(e,t,n,r){let i=V(`button`,n);return i.type=`button`,i.title=`Open ${e} in the diff`,i.addEventListener(`click`,()=>r(t)),i}function yR(e,t){let n=V(`section`,`review-map-repo`),r=V(`div`,`review-map-repo-head`);r.append(V(`strong`,`review-map-repo-name`,e.header.name)),r.append(V(`span`,`review-map-count`,e.header.fileCount===1?`1 file`:`${e.header.fileCount} files`)),n.append(r);let i=V(`div`,`review-map-summary`);if(i.append(V(`span`,``,`${e.header.committedCount} committed`)),i.append(V(`span`,``,`${e.header.uncommittedCount} uncommitted`)),i.append(V(`span`,``,`Base: ${e.header.base?e.header.base.slice(0,8):`unknown`}`)),n.append(i),e.error&&n.append(V(`p`,`review-map-error`,e.error)),e.subsystems.length>0){let t=V(`div`,`review-map-subsystems`);for(let n of e.subsystems)t.append(V(`span`,`review-map-chip`,`${n.title} (${n.fileCount})`));n.append(t)}if(e.warnings.length>0){n.append(V(`h3`,`review-map-label`,`Signals`));let r=V(`div`,`review-map-warnings`);for(let n of e.warnings){let e=vR(n.path,n.openPath,`review-map-warning`,t);e.dataset.severity=String(n.severity),e.dataset.kind=n.kind,e.append(V(`span`,`review-map-warning-headline`,n.headline)),e.append(V(`span`,`review-map-detail`,n.detail)),r.append(e)}n.append(r)}if(e.files.length>0){n.append(V(`h3`,`review-map-label`,`Files`));let r=V(`div`,`review-map-files`);for(let n of e.files){let e=vR(n.path,n.openPath,`review-map-file`,t);e.dataset.status=n.status,e.append(V(`span`,`review-map-file-path`,n.path)),e.append(V(`span`,`review-map-file-meta`,`${n.status} · ${n.isCommitted?`committed`:`uncommitted`} · ${n.dependentCount} dependents · ${n.testCount} tests`)),r.append(e)}n.append(r)}return n}function bR(e,t){let n=V(`div`,`review-map`);if(e.error&&n.append(V(`p`,`review-map-error`,e.error)),e.emptyState&&n.append(V(`div`,`review-nochanges`,e.emptyState)),e.narrative.status&&n.append(V(`p`,`review-map-narrative-status`,e.narrative.status)),e.narrative.claims.length>0){let t=V(`section`,`review-map-narrative`);t.append(V(`h3`,`review-map-label`,`Narrative`));for(let n of e.narrative.claims){let e=V(`p`,`review-map-claim`,n.text);e.dataset.factIds=n.factIds.join(` `),t.append(e)}n.append(t)}for(let r of e.repos)n.append(yR(r,t));return n}function xR({status:e,mergeReason:t,fetched:n,hasChanges:r,hasCommits:i,canMerge:a,isWorkspace:o,live:s,effectiveBase:c}){return e===`parked`&&t===`base-diverged`?{text:`Parked: base branch diverged`}:e===`parked`?{text:`Parked: merge conflict`}:e===`merging`?{text:`Merging`}:e===`merged`?{text:`Merged`}:n?r?o?{text:`Changes in this worktree`}:a?{text:`Ready to merge into ${CR(c)}`}:s?i?{text:`Not ready to merge`}:{text:`Uncommitted changes`}:{text:`Session ended`}:{text:`No changes yet`}:{text:`Checking for changes`}}function SR({status:e,mergeReason:t,live:n,isMergeRendered:r,hasChanges:i}){return e===`parked`&&n&&t!==`base-diverged`?`resolve`:!i&&e!==`parked`&&e!==`merging`?`none`:r?`merge`:`none`}function CR(e){return e||`base`}function wR(e,t){return`Merge into ${CR(e)}, push it, and rebase this worktree, then keep working (${t})`}function TR(e){return`merges into ${CR(e)}`}function ER(e){return e===`base-diverged`?`Resync the base branch by hand, then Merge again.`:`Needs manual merge`}function DR(e,t,n){let r=e!==`parked`||e===`parked`&&t===`base-diverged`;return{isRendered:r,isEnabled:r&&e!==`merging`&&n}}function OR({status:e,mergeReason:t,fetched:n,hasCommits:r,live:i,state:a}){return e===`merging`?null:n?r?i?e===`parked`&&t===`base-diverged`?`Resync the base branch by hand before merging.`:e===`parked`?`Resolve the conflict, then merge.`:a===`INITIALIZING`||a===`STARTING`?`Starting up. Mergeable once the session is live.`:null:`Session ended.`:null:`Checking for changes...`}function kR({fetched:e,changedFileCount:t,hasCommits:n}){return!e||t>0||n}function AR(e){return e||`its upstream`}function jR(e){if(!e)return null;let t=e.branch||`Base branch`,{state:n,ahead:r,behind:i}=e,a=AR(e.upstream);return n===`no-upstream`?`${t}: no upstream`:n===`unknown`?`${t}: sync state unknown vs ${a}`:n===`in-sync`?`${t}: in sync with ${a}`:n===`ahead`?`${t}: ${r} ahead of ${a}`:n===`behind`?`${t}: ${i} behind ${a}`:n===`diverged`?`${t}: ${r} ahead, ${i} behind ${a}`:null}function MR(e){return!e||e.fetched===!1?`recheck`:e.state===`ahead`||e.state===`behind`?`resync`:`recheck`}function NR(e,t,n){let r=n?` (${t})`:``;if(!e||MR(e)===`recheck`)return`Click to fetch and check again${r}`;let i=e.branch||`Base branch`,a=AR(e.upstream);return e.state===`behind`?`Click to fast-forward ${i} to ${a}${r}`:`Click to push ${i} to ${a}${r}`}function PR(e){return e?.state!==`in-sync`||e.fetched===!1}function FR({fetched:e,hasChanges:t,view:n,committedFiles:r,uncommittedFiles:i}){return e&&!t?!1:n!==`diff`||Number(r>0)+Number(i>0)!==1}function IR(e){if(e.error)return`Resync failed: ${e.error}`;let t=e.branch||`The base branch`,n=AR(e.upstream);return e.action===`fast-forwarded`?`Fast-forwarded ${t} to ${n}.`:e.action===`pushed`?`Pushed ${t} to ${n}.`:e.state===`diverged`?`${t} has diverged from ${n}. Resolve manually.`:e.state===`in-sync`?null:e.state===`no-upstream`?`${t} has no upstream to resync against.`:`Could not determine sync status.`}function LR(){return Bd.snapshot().selectedSessionId}function RR(e){Bd.dispatch(`selectSession`,e)}function zR(e){return Bd.subscribe((t,n)=>{n.includes(`selectedSessionId`)&&e(t.selectedSessionId)})}var BR=new Set([`pending-review`,`parked`]),VR=600,HR=Xy(`merge`,Zy),UR=Xy(`resolve-or-resync`,Zy),WR=260,GR=700,KR=new Map,qR=new Map,JR=new Map,YR=new Map,XR=new Map,ZR=new Set,QR=new Set,$R=new Set,ez=TF(),tz=null,nz=null,rz=null,iz=null,az=new Map,oz=null,sz=null,cz=null,lz=null,uz=null,dz=!1,fz=!1,pz=null,mz=null,hz=null,gz=null,_z=new Map,vz=null,yz=null,bz=null,xz=null,Sz=null,Cz=new Map,wz=null,Tz=!1,Ez=null;function Dz(e,t){let n=V(`button`,`review-icon-button`);n.type=`button`,n.title=e,n.setAttribute(`aria-label`,e);let r=fR(16,16);return r.append(dR(`path`,{d:t,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),n.append(r),n}function Oz(){dz=!1,rz?.querySelector(`.review-more-menu`)?.remove(),rz?.querySelector(`.review-more-button`)?.setAttribute(`aria-expanded`,`false`)}function kz({panel:e}){if(nz=e,!nz)return;let t=nz,n=V(`div`,`review-sidebar-head`),r=V(`span`,`review-sidebar-title`,`Review`),i=e=>{t.toggleAttribute(`data-collapsed`,e),wF(!e)},a=V(`div`,`review-header-tabs`);a.setAttribute(`role`,`group`),a.setAttribute(`aria-label`,`Review view`);for(let[e,t]of[[`map`,`Map`],[`diff`,`Diff`],[`notes`,`Notes`]]){let n=V(`button`,`review-header-tab`,t);n.type=`button`,n.addEventListener(`click`,()=>DB(e)),az.set(e,n),a.append(n)}oz=V(`span`,`review-notes-count`),a.append(oz);let o=Dz(`Close review`,`M6 3L11 8L6 13`);o.classList.add(`review-sidebar-close`),o.addEventListener(`click`,()=>i(!0)),n.append(r,a,o);let s=V(`div`,`review-sidebar-rail`),c=Dz(`Open review`,`M10 3L5 8L10 13`);c.classList.add(`review-sidebar-open`),c.addEventListener(`click`,()=>i(!1)),cz=V(`div`,`review-rail-status`),lz=V(`span`,`review-rail-added`),uz=V(`span`,`review-rail-removed`),cz.append(lz,uz),sz=V(`span`,`review-rail-label`,`Review`),s.append(c,sz,cz),rz=V(`div`,`review-controls`),iz=V(`div`,`review-sidebar-body`),vz=V(`div`,`review-notes-footer`),yz=V(`button`,`review-btn review-btn-primary`,`Send notes`),yz.type=`button`,yz.title=`Paste the drafted review notes into this session as one message`,yz.addEventListener(`click`,pB),bz=V(`div`,`review-notes-status`),vz.append(bz,yz),Sz=V(`div`,`review-notes-list`),xz=V(`div`,`review-notes-outcome`),xz.setAttribute(`role`,`status`);let l=V(`div`,`review-resize-handle`);l.setAttribute(`aria-hidden`,`true`),t.append(s,n,rz,iz,xz,vz,l),t.toggleAttribute(`data-collapsed`,!CF()),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&dz&&(e.preventDefault(),Oz(),rz?.querySelector(`.review-more-button`)?.focus())}),document.addEventListener(`pointerdown`,e=>{dz&&e.target instanceof Element&&(rz?.contains(e.target)&&e.target.closest(`.review-more-button, .review-more-menu`)||Oz())});let u=0,d=0,f=e=>{let n=Math.max(WR,Math.min(GR,e));return Number.isFinite(n)?(t.style.setProperty(`--sidebar-width`,`${n}px`),n):null},p=e=>{l.hasPointerCapture(e.pointerId)&&f(d+(u-e.clientX))},m=!1,h=e=>{if(!m)return;m=!1,l.hasPointerCapture(e.pointerId)&&l.releasePointerCapture(e.pointerId),document.documentElement.style.cursor=``,document.documentElement.style.userSelect=``;let n=t.style.getPropertyValue(`--sidebar-width`);n&&QF(parseInt(n,10))};l.addEventListener(`pointerdown`,e=>{e.button===0&&(e.preventDefault(),u=e.clientX,d=t.getBoundingClientRect().width,l.setPointerCapture(e.pointerId),m=!0,document.documentElement.style.cursor=`col-resize`,document.documentElement.style.userSelect=`none`)}),l.addEventListener(`pointermove`,p),l.addEventListener(`pointerup`,h),l.addEventListener(`pointercancel`,h),l.addEventListener(`lostpointercapture`,h);let g=ZF();g!==null&&f(g),zR(e=>{dz=!1,QR.clear(),$R.clear(),tz=null,oB(),e&&Xz(e),e&&!Qz(e)&&$z(e),jB()}),jB()}function Az(e){if(nz){if(e){Ad(nz,e);return}jd(nz)}}function jz(e,t){let n=KR.get(e);KR.set(e,t),BE(n,t)&&(JR.delete(e),YR.delete(e),e===LR()&&Zz(e)),e===LR()&&jB()}function Mz(e,t,n=null){let r=KR.get(e)||`none`,i=t||`none`;if(qR.set(e,n),jz(e,i),BR.has(i)&&!BR.has(r)){let t=LR(),n=t?BR.has(KR.get(t)||`none`):!1;(!t||!U.has(t)||!n)&&RR(e)}}function Nz(e,t,n=null){qR.set(e,n),jz(e,t||`none`)}function Pz(e,t){let n=JR.get(e)??null;JR.set(e,t),e===LR()&&(Lz(n,t),tz&&OB(tz,t),jB(),kB())}function Fz(e,t){let n=Xd(e);if(!n)return;let r=kc.safeParse(t);r.success&&r.data.sessionId===n&&(YR.set(n,r.data),n===LR()&&jB())}function Iz(e){return{committed:e?.committed?.diff||``,uncommitted:e?.uncommitted?.diff||``}}function Lz(e,t){if(Cz.size===0||!e)return;let n=RE(Iz(e),Iz(t),Cz.keys());if(n.length!==0){for(let e of n)Cz.delete(e);wz!==null&&n.includes(wz)&&(wz=null),Ez=`${n.length} note${n.length===1?``:`s`} dropped because the diff changed.`}}function Rz(e,t){let n=Xd(e),r=t;XR.set(n,r),r&&r.action!==void 0&&zz(n,r),n===LR()&&jB()}function zz(e,t){ZR.delete(e),clearTimeout(gz??void 0),gz=null;let n=IR(t);hz=n?{forId:e,text:n,isError:!!t.error}:null,hz&&!hz.isError&&(gz=setTimeout(()=>{hz&&hz.forId===e&&(hz=null),jB()},5e3))}function Bz(e){let t=Xd(e);t&&t===LR()&&Xz(t)}function Vz(e){let t=Xd(e);t===LR()&&(JR.has(t)||Xz(t),YR.has(t)||Zz(t),jB())}function Hz(e){let t=Xd(e);if(KR.delete(t),qR.delete(t),JR.delete(t),YR.delete(t),XR.delete(t),ZR.delete(t),hz&&hz.forId===t&&(clearTimeout(gz??void 0),hz=null),t===LR()){RR(null);return}jB()}function Uz(){let e=LR();if(!e||Qz(e))return!1;let t=U.get(e);if(!t)return!1;let n=KR.get(e)||`none`,r=!!JR.get(e)?.hasCommits,i=DR(n,qR.get(e)||null,qz(t.currentState,r));return SR({status:n,mergeReason:qR.get(e)||null,live:Yz(t.currentState),isMergeRendered:i.isRendered,hasChanges:Kz(e)})!==`merge`||!i.isEnabled?!1:(Jz(e,t.currentState),!0)}function Wz(){let e=LR();if(!e||Qz(e))return!1;let t=U.get(e);if(!t)return!1;let n=KR.get(e)||`none`,r=qR.get(e)||null;return SR({status:n,mergeReason:r,live:Yz(t.currentState),isMergeRendered:DR(n,r,!1).isRendered,hasChanges:Kz(e)})===`resolve`&&(B({type:`resolve-session-merge`,id:e}),!0)}function Gz(){let e=LR();return!e||!U.has(e)||Qz(e)||tB(e)?!1:(nB(e),!0)}function Kz(e){let t=JR.get(e)??null,n=[...IE(t?.committed?.diff||``),...IE(t?.uncommitted?.diff||``)];return kR({fetched:JR.has(e),changedFileCount:VE(n).files,hasCommits:!!t?.hasCommits})}function qz(e,t){return(Pc.includes(e)||e===I.RUNNING)&&t}function Jz(e,t){if(t!==I.RUNNING){B({type:`merge-continue-session`,id:e});return}rf({title:`Merge while working`,message:`This session still looks like it is working. Merging rebases its worktree under it. Merge anyway?`,confirmLabel:`Merge anyway`,onConfirm:()=>B({type:`merge-continue-session`,id:e,force:!0})})}function Yz(e){return e!==I.DORMANT&&e!==I.DONE&&e!==I.FAILED}function Xz(e){B({type:`request-session-diff`,id:e}),Zz(e)}function Zz(e){YR.has(e)||YR.set(e,null),B({type:`request-change-map`,id:e})}function Qz(e){return U.get(e)?.card.dataset.workspace!==void 0}function $z(e){XR.set(e,null),B({type:`request-branch-sync`,id:e}),e===LR()&&jB()}function eB(e){ZR.add(e),clearTimeout(gz??void 0),hz&&hz.forId===e&&(hz=null),B({type:`resync-branch`,id:e}),e===LR()&&jB()}function tB(e){return ZR.has(e)||XR.get(e)===null}function nB(e){if(!tB(e)){if(MR(XR.get(e))===`resync`){eB(e);return}$z(e)}}function rB(e,t){return t||!e?null:e.state===`no-upstream`?`No upstream configured.`:e.state===`unknown`?`Could not determine sync status.`:null}function iB(e,t,n){if(n)return{text:`Resyncing...`,loading:!0,error:!1};if(hz&&hz.forId===e)return{text:hz.text,loading:!1,error:hz.isError};let r=rB(t,!1);return r?{text:r,loading:!1,error:!1}:null}function aB(e,t){return e?.card?.dataset.session||t}function oB(){Cz.clear(),wz=null,Ez=null,Tz=!1}function sB(e){return Cz.get(e)??null}function cB(){return`${Cz.size} note${Cz.size===1?``:`s`} drafted`}function lB(e,t){let n=V(`div`,`review-notes-entry`),r=t.side===`old`?` (removed line)`:``;n.append(V(`span`,`review-notes-entry-where`,`${t.section} ${t.path}:${t.line}${r}`)),n.append(V(`span`,`review-notes-entry-note`,t.note));let i=V(`button`,`review-note-remove`,`Remove`);return i.type=`button`,i.title=`Drop this note`,i.addEventListener(`click`,()=>EB(e)),n.append(i),n}function uB(){if(Sz){Sz.replaceChildren(),Sz.hidden=Cz.size===0;for(let[e,t]of Cz)Sz.append(lB(e,t))}}function dB(){if(!vz||!yz||!bz)return;let e=LR(),t=!!e&&U.has(e);vz.hidden=!t||ez===`map`||Cz.size===0,yz.disabled=Tz||Cz.size===0,bz.textContent=cB(),oz&&(oz.hidden=Cz.size===0,oz.textContent=String(Cz.size),oz.setAttribute(`aria-label`,cB())),xz&&(xz.textContent=Tz?`Sending notes...`:Ez,xz.hidden=!t||ez===`map`||!xz.textContent),uB(),ez===`notes`&&t&&fB()}function fB(){if(iz&&Sz){if(iz.replaceChildren(),Cz.size===0){MB(`No notes yet`,`Open the Diff tab and press note on a line to draft one.`);return}iz.append(Sz)}}function pB(){let e=LR();e&&!Tz&&Cz.size!==0&&(Tz=!0,Ez=null,dB(),fd(`send-diff-annotations`,{id:e,annotations:[...Cz.values()]}).then(gB,mB))}function mB(e){Tz=!1;let t=e instanceof Error?e.message:``;Ez=t?`Could not send the notes: ${t}.`:`Could not send the notes.`,dB()}function hB(e){return e.type===`send-diff-annotations-result`&&typeof e.error==`string`&&e.error?e.error:e.type===`error`&&typeof e.message==`string`&&e.message?e.message:`Could not send the notes.`}function gB(e){if(Tz=!1,e.type!==`send-diff-annotations-result`||e.ok!==!0){Ez=hB(e),dB();return}if(e.pending===!0){Ez=`Notes queued until the session wakes. They stay drafted here, and pressing Send notes again re-sends them.`,dB();return}Ez=`Notes sent.`,Cz.clear(),wz=null,jB()}function _B(e,t){let n=V(`div`,`review-note`);n.dataset.noteFor=e,n.append(V(`span`,`review-note-text`,t));let r=V(`button`,`review-note-remove`,`Remove`);return r.type=`button`,r.title=`Drop this note`,r.addEventListener(`click`,()=>EB(e)),n.append(r),n}function vB(e,t){let n=V(`div`,`review-note-editor`);n.dataset.editorFor=e;let r=V(`input`,`review-note-input`);r.type=`text`,r.value=t,r.maxLength=Bu,r.placeholder=`Note for this line`,r.addEventListener(`keydown`,t=>{if(t.key===`Enter`){t.preventDefault(),TB(e,r.value);return}t.key===`Escape`&&(t.preventDefault(),wB())});let i=V(`button`,`review-note-save`,`Save`);i.type=`button`,i.addEventListener(`click`,()=>TB(e,r.value));let a=V(`button`,`review-note-cancel`,`Cancel`);return a.type=`button`,a.addEventListener(`click`,wB),n.append(r,i,a),n}function yB(e){let t=[],n=sB(e);return wz===e&&t.push(vB(e,n?n.note:``)),n&&t.push(_B(e,n.note)),t}function bB(e,t){let n=yB(t);return e.after(...n),n}function xB(e){let t=e.nextElementSibling;for(;t instanceof HTMLElement&&(t.dataset.noteFor!==void 0||t.dataset.editorFor!==void 0);){let e=t.nextElementSibling;t.remove(),t=e}}function SB(e){let t=_z.get(e);if(!t)return;let n=null;for(let r of t.rows){xB(r);let t=bB(r,e);for(let e of t){let t=e.querySelector(`input`);!n&&t instanceof HTMLInputElement&&(n=t)}}n&&(n.focus(),n.select())}function CB(e){let t=wz;wz=e,t&&t!==e&&SB(t),SB(e)}function wB(){let e=wz;e&&(wz=null,SB(e))}function TB(e,t){let n=_z.get(e);if(!n)return;let r=t.trim();if(r){if(Cz.size>=50&&!Cz.has(e)){Ez=`Only 50 notes can be sent at once.`,dB();return}Cz.set(e,{...n.target,section:n.section,note:r}),Ez=null,wz=null,SB(e),dB()}}function EB(e){Cz.delete(e),Ez=null,SB(e),dB()}function DB(e){ez=e,e!==`diff`&&(tz=null),EF(e),jB()}function OB(e,t){if(!t)return;let n=IE(t.committed?.diff),r=IE(t.uncommitted?.diff);for(let t of n)(t.path===e||t.oldPath===e)&&QR.add(`committed:${t.path}`);for(let t of r)(t.path===e||t.oldPath===e)&&QR.add(`uncommitted:${t.path}`)}function kB(){if(!iz||!tz)return;let e=iz.querySelectorAll(`.review-file`);for(let t of e)if(t.dataset.path===tz||t.dataset.oldPath===tz){t.scrollIntoView({block:`nearest`}),tz=null;return}}function AB(e){tz=e,OB(e,JR.get(LR()??``)),DB(`diff`),kB()}function jB(){if(!rz||!iz)return;rz.replaceChildren(),iz.replaceChildren();for(let[e,t]of az)t.setAttribute(`aria-pressed`,String(ez===e));_z.clear(),dB(),sz&&(sz.hidden=!0),cz&&(cz.hidden=!0);let e=LR(),t=e?U.get(e):null;if(!e||!t){MB(`No session selected`,`Click a session name to review its changes here.`);return}let n=Qz(e),r=KR.get(e)||`none`,i=qR.get(e)||null,a=t.currentState,o=BR.has(r),s=JR.has(e),c=s?JR.get(e):null,l=c?IE(c.committed?.diff||``):[],u=c?IE(c.uncommitted?.diff||``):[],d=!!c?.hasCommits,f=Yz(a),p=DR(r,i,qz(a,d)),m=XR.get(e),h=ZR.has(e),g=CR(t.effectiveBase),_=VE([...l,...u]),v=kR({fetched:s,changedFileCount:_.files,hasCommits:d}),y=SR({status:r,mergeReason:i,live:f,hasChanges:v,isMergeRendered:p.isRendered}),b=xR({status:r,mergeReason:i,fetched:s,hasChanges:_.files>0||d,hasCommits:d,canMerge:!n&&p.isEnabled,isWorkspace:n,live:f,effectiveBase:g}),x=V(`div`,`review-status-headline`);if(x.append(V(`span`,`review-status-text`,b.text)),!n&&!PR(m)){let t=jR(m);if(t){x.title=t;let n=Dz(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);n.classList.add(`review-branch-sync-refresh`),n.title=NR(m,UR,y!==`resolve`),n.disabled=tB(e),n.setAttribute(`aria-description`,t),n.addEventListener(`click`,()=>nB(e)),x.append(V(`span`,`sr-only`,t),n)}}rz.append(x);let ee=V(`div`,`review-status-meta`);if(FR({fetched:s,hasChanges:v,view:ez,committedFiles:l.length,uncommittedFiles:u.length})&&ee.append(V(`span`,`review-status-files`,`${_.files} file${_.files===1?``:`s`}`),V(`span`,`review-status-added`,`+${_.added}`),V(`span`,`review-status-removed`,`-${_.removed}`),V(`span`,`review-status-spacer`)),!n&&PR(m)){let t=NB(e,y!==`resolve`);t&&ee.append(t)}ee.childElementCount>0&&rz.append(ee),r===`parked`&&rz.append(V(`div`,`review-status-explanation`,ER(i))),sz&&(sz.hidden=!1),cz&&(cz.hidden=!1,cz.setAttribute(`aria-label`,`${b.text}, +${_.added}, -${_.removed}`),cz.title=b.text),lz&&(lz.textContent=`+${_.added}`),uz&&(uz.textContent=`-${_.removed}`);let te=n?null:LB(e,{status:r,reviewable:o,mergeAction:p,live:f,state:a,effectiveBase:g,primaryAction:y});te&&rz.append(te);let ne=n?null:iB(e,m,h),re=!n&&y===`merge`&&!p.isEnabled?OR({status:r,mergeReason:i,fetched:s,hasCommits:d,live:f,state:a}):null,ie=!!re;if(re){let e=V(`div`,s?`review-control-reason`:`review-control-reason review-loading`,re);e.id=`review-merge-reason`,rz.append(e),rz.querySelector(`#review-merge-btn`)?.setAttribute(`aria-describedby`,e.id)}if(ne?.text){let e=V(`div`,ne.loading?`review-control-reason review-loading`:`review-control-reason`,ne.text);e.id=`review-resync-reason`,ne.error&&e.classList.add(`review-control-reason-error`),e.setAttribute(`role`,`status`),ee.append(e),ee.isConnected||rz.insertBefore(ee,x.nextSibling),rz.querySelector(`.review-branch-sync-text, .review-branch-sync-refresh`)?.setAttribute(`aria-describedby`,e.id)}if(fz&&pz===e&&rz.append(V(`div`,`review-resolve-sent`,`Resolve prompt sent`)),ez!==`notes`){if(ez===`map`){let t=YR.get(e);t&&iz.append(bR(_R(t),AB)),t||iz.append(V(`div`,`review-nochanges review-loading`,`Loading map...`));return}if(l.length>0&&iz.append(PB(`committed`,`Committed`,TR(g),l)),l.length===0&&u.length===0&&!ie){let e=!s&&o?V(`div`,`review-nochanges review-loading`,`Loading diff...`):V(`div`,`review-nochanges`,`No changes in this worktree.`);iz.append(e)}u.length>0&&iz.append(PB(`uncommitted`,`Uncommitted`,``,u))}}function MB(e,t){if(!iz)return;let n=V(`div`,`review-empty`);n.append(V(`div`,`review-empty-title`,e),V(`div`,`review-empty-desc`,t)),iz.append(n)}function NB(e,t){let n=XR.get(e);if(n===void 0)return null;if(n===null)return V(`span`,`review-branch-sync-text review-loading`,`Checking branch sync...`);let r=jR(n)||`Base branch: sync state unknown`,i=Dz(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);return i.className=`review-branch-sync-text`,i.removeAttribute(`aria-label`),i.append(V(`span`,`review-branch-sync-label`,r)),i.disabled=ZR.has(e),n.state&&(i.dataset.syncState=n.state),n.fetched===!1&&(i.dataset.stale=`true`),i.title=NR(n,UR,t),i.addEventListener(`click`,()=>nB(e)),i}function PB(e,t,n,r){let i=V(`div`,`review-section`);i.dataset.kind=e;let a=VE(r),o=V(`div`,`review-section-head`),s=V(`div`,`review-section-id`);s.append(V(`span`,`review-section-label`,t)),n&&s.append(V(`span`,`review-section-meaning`,n)),o.append(s);let c=V(`div`,`review-section-stat`);c.append(V(`span`,`review-stat-files`,`${a.files} file${a.files===1?``:`s`}`)),c.append(V(`span`,`review-add`,`+${a.added}`),V(`span`,`review-del`,`-${a.removed}`)),o.append(c),i.append(o);let l=V(`div`,`review-diff`);for(let t of r)l.append(FB(t,e));return i.append(l),i}function FB(e,t){let n=`${t}:${e.path}`,r=QR.has(n),i=V(`div`,`review-file`);i.dataset.path=e.path,e.oldPath&&(i.dataset.oldPath=e.oldPath),i.dataset.status=e.status,i.dataset.open=r?`true`:`false`;let a=V(`button`,`review-file-head`);a.type=`button`,a.setAttribute(`aria-expanded`,r?`true`:`false`);let o=V(`span`,`review-file-twisty`,r?`▾`:`▸`);o.setAttribute(`aria-hidden`,`true`),a.append(o,V(`span`,`review-file-path`,e.path));let s=V(`span`,`review-file-counts`);if(e.binary&&s.append(V(`span`,`review-bin`,`bin`)),e.binary||s.append(V(`span`,`review-add`,`+${e.added}`),V(`span`,`review-del`,`-${e.removed}`)),a.append(s),a.addEventListener(`click`,()=>{let e=QR.has(n);e&&QR.delete(n),e||QR.add(n),jB()}),i.append(a),!r)return i;let c=V(`div`,`review-file-body`);if(e.binary)return c.append(V(`div`,`review-file-binary`,`Binary file not shown`)),i.append(c),i;let l=0,u=!1;for(let r of e.hunks){if(l>=VR&&!$R.has(n)){u=!0;break}c.append(V(`div`,`review-hunk-head`,r.header));for(let i of r.lines){if(l>=VR&&!$R.has(n)){u=!0;break}let r=V(`div`,`review-line review-line-${i.type}`),a=i.type===`add`?`+`:i.type===`del`?`-`:i.type===`meta`?`\\`:` `;r.append(V(`span`,`review-line-gutter`,a)),r.append(V(`span`,`review-line-text`,i.text));let o=zE(e,i);if(c.append(r),l++,!o)continue;let s=LE(t,o.path,o.line,o.side),d=_z.get(s)??{target:o,section:t,rows:[]};d.rows.push(r),_z.set(s,d),r.dataset.noteKey=s;let f=V(`button`,`review-annotate`,`note`);f.type=`button`,f.title=`Note on ${o.path}:${o.line}`,f.addEventListener(`click`,()=>CB(s)),r.append(f),bB(r,s)}if(u)break}if(u){let e=V(`button`,`review-expand`,`Show the rest of this file`);e.type=`button`,e.addEventListener(`click`,()=>{$R.add(n),jB()}),c.append(e)}return i.append(c),i}function IB({id:e,label:t,shortcut:n,title:r,disabled:i=!1,danger:a=!1,onClick:o}){let s=V(`button`,a?`review-btn review-btn-danger`:`review-btn review-btn-primary`);return s.type=`button`,e&&(s.id=e),r&&(s.title=r),s.disabled=i,s.innerHTML=n?`${t} <kbd class="review-shortcut" aria-hidden="true">${n}</kbd>`:t,s.addEventListener(`click`,o),s}function LB(e,{status:t,reviewable:n,mergeAction:r,live:i,state:a,effectiveBase:o,primaryAction:s}){let c=V(`div`,`review-actions`),l=s===`resolve`;s===`merge`&&c.append(IB({id:`review-merge-btn`,label:`Merge`,shortcut:HR,title:wR(o,HR),disabled:!r.isEnabled,onClick:()=>Jz(e,a)})),l&&c.append(IB({label:`Resolve`,shortcut:UR,title:`Paste a resolve prompt into this session so the agent can finish the merge (${UR})`,onClick:()=>{B({type:`resolve-session-merge`,id:e}),fz=!0,pz=e,clearTimeout(mz??void 0),mz=setTimeout(()=>{fz=!1,pz=null,jB()},3e3),jB()}}));let u=V(`div`,`review-action-controls`);if(u.append(c),!n||i)return c.childElementCount>0?u:null;let d=Dz(`More review actions`,`M3 8h0.01M8 8h0.01M13 8h0.01`);if(d.classList.add(`review-more-button`),d.setAttribute(`aria-haspopup`,`menu`),d.setAttribute(`aria-expanded`,String(dz)),d.setAttribute(`aria-controls`,`review-more-menu`),d.addEventListener(`click`,()=>{dz=!dz,jB(),(rz?.querySelector(dz?`.review-more-menu button:not(:disabled)`:`.review-more-button`)??rz?.querySelector(`.review-more-button`))?.focus()}),c.append(d),!dz)return u;let f=V(`div`,`review-more-menu`);if(f.id=`review-more-menu`,f.setAttribute(`role`,`menu`),f.setAttribute(`aria-label`,`More review actions`),n&&!i){let n=IB({label:`Discard worktree`,danger:!0,disabled:t===`merging`,onClick:()=>{dz=!1,jB(),rf({title:`Discard worktree`,message:`Throw away the worktree changes for "${aB(U.get(e),e)}"? This cannot be undone.`,confirmLabel:`Discard`,onConfirm:()=>B({type:`discard-session-worktree`,id:e})})}});n.setAttribute(`role`,`menuitem`),f.append(n)}return u.append(f),u}var RB=1e4,zB=null,BB=null,VB=null,HB=null,UB=[],WB=!1,GB=FF(),KB=null,qB=null,JB=[],YB=null,XB=null,Z=null,ZB=null,QB=!1;function $B(){return!!zB&&!Od(zB)}function eV(){return JB.find(e=>e.id===YB)??null}function tV(){ZB&&=(clearTimeout(ZB.timeoutHandle),null)}function nV(){ZB=null,EV()}function rV(e){tV(),QB=!1,YB=e,Z=e?{sessionId:e,grouping:cO(),firstOffset:0,nextOffset:0,hasDroppedEarliestRows:!1,filePath:``,hasLoadedOnce:!1}:null,WB=!0}function iV(e){let t=SO(JB,XB,YB,e);return XB&&t===XB&&(XB=null),t!==YB&&(rV(t),!0)}function aV(e){if(!KB)return;let t=e.endingAt===void 0?{type:`session-trace`,id:e.id,after:e.after}:{type:`session-trace`,id:e.id,endingAt:e.endingAt};KB(t)&&(ZB={request:e,timeoutHandle:setTimeout(nV,RB)})}function oV(e=!1){if(!KB)return;let t=CO({selectedSessionId:YB,isPanelVisible:e||$B(),hasPendingRequest:!!ZB,hasLoadedOnce:Z?.hasLoadedOnce??!1,nextOffset:Z?.nextOffset??0});t&&aV(t)}function sV(){return{selectedSessionId:YB,hasPendingRequest:!!ZB,hasLoadedOnce:Z?.hasLoadedOnce??!1,hasDroppedEarliestRows:Z?.hasDroppedEarliestRows??!1,firstOffset:Z?.firstOffset??0,residentRowCount:Z?gO(Z.grouping):0}}function cV(){if(!KB)return;let e=TO(sV());e&&aV(e)}function lV(e){JB.some(t=>t.id===e)&&e!==YB&&(XB=null,rV(e),oV(),EV())}function uV(){let e=V(`label`,`trace-session-field`),t=V(`span`,`trace-session-label`,`Session`),n=V(`select`,`trace-session-select`);n.disabled=JB.length===0;for(let e of JB){let t=V(`option`,null,e.label);t.value=e.id,t.selected=e.id===YB,n.append(t)}return n.addEventListener(`change`,()=>lV(n.value)),e.append(t,n),e}function dV(e){e.toggleAttribute(`data-hidden`,AO(GB,e.dataset.kind??``))}function fV(){if(VB)for(let e of VB.querySelectorAll(`.trace-row`))dV(e)}function pV(e){if(VB)for(let t of VB.querySelectorAll(`details`))t.open=e}function mV(){let e=V(`div`,`trace-filters`);for(let t of QD){let n=V(`button`,`trace-filter`,t.label);n.type=`button`;let r=()=>{n.setAttribute(`aria-pressed`,String(!AO(GB,t.kind)))};r(),n.addEventListener(`click`,()=>{GB=kO(GB,t.kind),IF(GB),r(),fV()}),e.append(n)}for(let[t,n]of[[`Expand all`,!0],[`Collapse all`,!1]]){let r=V(`button`,`trace-expand-control`,t);r.type=`button`,r.addEventListener(`click`,()=>{pV(n)}),e.append(r)}return e}function hV(){let e=Td(`trace`,`Session trace`,`Bodies load from the local trace file only when requested.`),t=V(`div`,`trace-controls`);t.append(uV());let n=Z?.filePath??``,r=V(`code`,`trace-path`,n);r.title=n,t.append(r);let i=Z?OO(Z.firstOffset,Z.hasDroppedEarliestRows,Z.grouping.turns[0]):null;return i!==null&&t.append(V(`span`,`trace-session-start`,`Started ${new Date(i).toLocaleString()}`)),e.append(t,mV()),e}function gV(e){let t=V(`div`,`trace-copy-wrap`),n=V(`button`,`trace-copy`,`Copy`);n.type=`button`;let r=V(`span`,`trace-copy-status`);return r.setAttribute(`role`,`status`),n.addEventListener(`click`,()=>{let t=kd(e);if(!t){r.textContent=`Copy failed`;return}t.then(()=>{r.textContent=`Copied`}).catch(()=>{r.textContent=`Copy failed`}),setTimeout(()=>{r.textContent=``},1600)}),t.append(n,r),t}function _V(){let e=V(`div`,`trace-earlier-wrap`),t=V(`button`,`trace-load-earlier`,`Load earlier`);return t.type=`button`,t.addEventListener(`click`,()=>{cV()}),e.append(t),e}function vV(e,t,n=``){let r=V(`details`,`trace-row${n?` ${n}`:``}`);r.dataset.kind=e.kind,r.dataset.tone=e.tone,dV(r);let i=V(`summary`,`trace-row-summary`);i.append(V(`span`,`trace-offset`,fD(t,e.record.ts)),V(`span`,`trace-kind`,e.tag),V(`span`,`trace-row-label`,e.text));for(let t of e.badges){let e=V(`span`,`trace-badge`,t);e.dataset.badge=t,i.append(e)}let a=V(`div`,`trace-row-body`);r.append(i,a);let o=!1;return r.addEventListener(`toggle`,()=>{if(!r.open||o)return;o=!0;let t=XD(e.record);a.append(gV(t),V(`pre`,`trace-row-pre`,t))}),r}function yV(e){return V(`span`,`trace-turn-metrics`,uO(e))}function bV(e,t){e&&t&&(t.textContent=uO(e))}function xV(e,t){let n=e.children,r=Math.min(t.rows.length,n.length);for(let e=0;e<r;e+=1){let r=n[e]?.querySelector(`.trace-offset`);r&&(r.textContent=fD(t.startedAt,t.rows[e].record.ts))}}function SV(e,t,n){let r=vV(t,e.startedAt,`trace-turn-head`);return yd(r,`.trace-row-summary`).append(n),r}function CV(e){let t=V(`section`,`trace-turn`),n=yV(e);if(e.head&&t.append(SV(e,e.head,n)),!e.head){let e=V(`h2`,`trace-leading-title`);e.append(V(`span`,`trace-leading-label`,`Before first prompt`),n),t.append(e)}let r=V(`div`,`trace-rows`);for(let t of e.rows)r.append(vV(t,e.startedAt));return e.hasTrimmedRows&&t.append(V(`p`,`trace-trimmed`,`Earlier rows trimmed`)),t.append(r),{section:t,rowsElement:r,metricsElement:n}}function wV(e){return e?ZB?.request.id===e.id&&!Z?.hasLoadedOnce?`Loading trace.`:jO(e):jO(null)}function TV(){if(!zB)return;let e=V(`div`,`trace-content`);BB=hV(),e.append(BB),VB=null,HB=null,UB=[];let t=eV(),n=Z?.grouping.turns??[];if(!t||n.length===0){e.append(V(`p`,`trace-empty`,wV(t))),zB.replaceChildren(e),WB=!1;return}wO(sV())&&(HB=_V(),e.append(HB));let r=V(`div`,`trace-turns`);for(let e of n){let t=CV(e);UB.push(t),r.append(t.section)}VB=r,fV(),e.append(r),zB.replaceChildren(e),WB=!1}function EV(){if(zB){if(!$B()){WB=!0;return}TV()}}function DV(){if(!BB||!$B())return;let e=hV();BB.replaceWith(e),BB=e}function OV(e){if(!VB)return;let t=Z?.grouping.turns[e.turnIndex];if(!t)return;if(e.isNewTurn){let e=CV(t);UB.push(e),VB.append(e.section);return}let n=UB[e.turnIndex];if(n){for(let r of e.rows)n.rowsElement.append(vV(r,t.startedAt));bV(t,n.metricsElement)}}function kV(e){let t=e.parentElement;t&&!t.querySelector(`.trace-trimmed`)&&t.insertBefore(V(`p`,`trace-trimmed`,`Earlier rows trimmed`),e)}function AV(){if(!wO(sV())){HB?.remove(),HB=null;return}!HB&&VB?.parentElement&&(HB=_V(),VB.parentElement.insertBefore(HB,VB))}function jV(){if(!Z)return;let e=bO(Z.grouping);if(!(e.droppedTurnCount>0||e.droppedRowCount>0)){AV();return}let t=!Z.hasDroppedEarliestRows;if(Z.hasDroppedEarliestRows=!0,UB=UB.slice(e.droppedTurnCount),VB)for(let t=0;t<e.droppedTurnCount;t+=1)VB.firstElementChild?.remove();let n=UB[0];if(n&&e.droppedRowCount>0){for(let t=0;t<e.droppedRowCount;t+=1)n.rowsElement.firstElementChild?.remove();kV(n.rowsElement),bV(Z.grouping.turns[0],n.metricsElement)}t&&DV(),AV()}function MV(e){if(!Z)return;let t=pO(Z.grouping,e);if($B()&&!WB&&VB){for(let e of t)OV(e);jV();return}if(VB=null,jV(),!$B()){WB=!0;return}TV()}function NV(e){if(!e||typeof e!=`object`)return null;let t=e;return typeof t.id!=`string`||!Array.isArray(t.records)||typeof t.next!=`number`||typeof t.start!=`number`?null:{id:t.id,records:t.records,start:t.start,next:t.next,reset:t.reset===!0,path:typeof t.path==`string`?t.path:``}}function PV(){QB&&!ZB&&(QB=!1,oV())}function FV(e){if(!VB)return;let t=UB[0]??null,n=t?.rowsElement.parentElement??null,r=Z?.grouping.turns[e.newTurns.length]??null;if((e.mergedHead||e.mergedRows.length>0)&&t&&n&&r){let i=t.rowsElement;if(e.mergedHead){n.querySelector(`.trace-leading-title`)?.remove();let a=yV(r),o=SV(r,e.mergedHead,a);n.insertBefore(o,i),t.metricsElement=a}e.mergedHead||bV(r,t.metricsElement);let a=document.createDocumentFragment();for(let t of e.mergedRows)a.append(vV(t,r.startedAt));i.prepend(a),xV(i,r)}let i=document.createDocumentFragment(),a=[];for(let t of e.newTurns){let e=CV(t);a.push(e),i.append(e.section)}VB.prepend(i),UB.unshift(...a)}function IV(e){if(!Z)return;let t=mO(Z.grouping,e),n=$B()&&!WB&&!!VB&&!t.needsRerender,r=zB?.parentElement??null,i=r?.scrollHeight??0,a=r?.scrollTop??0;n&&FV(t),jV(),n||EV(),n&&DV(),r&&(r.scrollTop=a+r.scrollHeight-i)}function LV(e){zB||(zB=V(`div`,`trace-panel`),e.append(zB),TV())}function RV(e){KB=e}function zV(e){qB=e}function BV(e){XB=e,qB?.()}function VV(e){JB=xO(e);let t=iV($B());t&&oV(),(t||!BB)&&EV(),!t&&BB&&DV()}function HV(){if(!zB)return;let e=iV(!0);oV(!0),DO({hasSelectionChanged:e,isRenderedTraceStale:WB,hasRenderedOnce:!!BB})&&TV()}function UV(e){let t=NV(e);if(!t)return;let n=EO({pendingRequest:ZB?.request??null,resident:Z?{sessionId:Z.sessionId,firstOffset:Z.firstOffset,nextOffset:Z.nextOffset,hasLoadedOnce:Z.hasLoadedOnce}:null,reply:{id:t.id,start:t.start,next:t.next,reset:t.reset}});if(n===`ignore`){PV();return}if(tV(),n===`stale`){PV();return}if(n===`reset`){rV(t.id),Z&&(Z.filePath=t.path),oV(),EV(),PV();return}if(Z){if(Z.filePath=t.path,n===`prepend`){Z.firstOffset=t.start,IV(t.records),PV();return}n===`seed`&&(Z.hasLoadedOnce=!0,Z.firstOffset=t.start),Z.nextOffset=t.next,MV(t.records),PV()}}function WV(e){let t=e?.id;if(typeof t==`string`&&t===YB&&$B()){if(ZB){QB=!0;return}oV()}}function GV(e){let t=e?.id;typeof t==`string`&&ZB?.request.id===t&&(tV(),QB=!1,EV())}function KV(e){if(tV(),QB=!1,!e){EV();return}oV()}function qV(e){let{waiting:t,failed:n,done:r,complete:i,dormant:a,total:o}=e,s=e=>e>1?`s`:``,c=r+i,l=t+n;return t>0?{text:`${t} session${s(t)} need input`,severity:`warning`,alertCount:l}:n>0?{text:`${n} session${s(n)} failed`,severity:`critical`,alertCount:l}:o>0&&c===o?{text:`All sessions exited`,severity:`done`,alertCount:l}:o>0&&a===o?{text:`${a} session${s(a)} dormant`,severity:``,alertCount:l}:{text:``,severity:``,alertCount:l}}var JV=!1,YV=new Set;function XV(e){JV=!!e,_H();for(let e of YV)e(JV)}function ZV(e){return YV.add(e),()=>YV.delete(e)}function QV(){return JV}var $V=[{cls:`agent-badge`,title:`Agent CLI this session supervises`},{cls:`worktree-badge`,text:`worktree`,title:`Running in a linked git worktree`,ariaLabel:`Linked git worktree`},{cls:`post-turn-badge`,ariaHidden:!0},{cls:`usage-badge`,title:`Tokens and estimated API list-price cost for this conversation`},{cls:`wakeup-badge`},{cls:`prompt-badge`,title:`Waiting on a permission or input prompt`}];function eH({cls:e,text:t=``,title:n,ariaLabel:r,ariaHidden:i}){let a=V(`span`,e,t);return n&&(a.title=n),r&&a.setAttribute(`aria-label`,r),i&&a.setAttribute(`aria-hidden`,`true`),a}function tH(e,t,n,r={}){let i=n||I.INITIALIZING,a=V(`div`,`session-card`);a.dataset.id=e,a.dataset.session=t,a.dataset.state=i,r.skipPerms&&(a.dataset.skipPerms=``),r.worktree&&(a.dataset.worktree=``),r.workspace&&(a.dataset.workspace=``),r.path&&(a.dataset.path=String(r.path));let o=V(`div`,`session-card-header`),s=V(`span`,`session-name`,t);s.title=`Double-click or press F2 to rename`,s.tabIndex=0;let c=r.skipPerms?V(`span`,`perms-badge`,`YOLO`):null;c&&(c.title=`Running with --dangerously-skip-permissions`);let l=V(`span`,`session-task-title`);iH(l,r.taskTitle);let u=V(`span`,`card-elapsed`);u.setAttribute(`aria-hidden`,`true`);let d=V(`div`,`session-actions`),f=V(`div`,`session-overflow`),p=V(`button`,`btn-action btn-restart-menu visible`,`↻`);p.type=`button`,p.title=`Restart`,p.setAttribute(`aria-label`,`Restart`),p.setAttribute(`aria-haspopup`,`menu`),p.setAttribute(`aria-expanded`,`false`);let m=V(`div`,`session-overflow-menu`);m.id=`restart-menu-${e}`,m.setAttribute(`role`,`menu`),p.setAttribute(`aria-controls`,m.id);let h=nH(`Restart`,`Keeps this conversation`,`overflow-restart`),g=nH(`Restart fresh`,`Ends this conversation and starts a new one`,`overflow-restart-fresh`),_=nH(`Resume conversation...`,`Pick an earlier conversation`,`overflow-resume`);m.append(h,g,_),f.append(p,m);let v=V(`button`,`btn-action btn-debug`,`⚙`);v.title=`Debug state`,v.setAttribute(`aria-label`,`Debug session state`);let y=V(`button`,`btn-action btn-trace`,`≡`);y.type=`button`,y.title=`Trace`,y.setAttribute(`aria-label`,`Trace`);let b=V(`button`,`btn-action btn-remove visible`,`×`);b.type=`button`,b.title=`Remove session`,b.setAttribute(`aria-label`,`Remove session`);let x=V(`button`,`btn-action btn-face-plan`,`Plan`);x.type=`button`,x.title=`Show plan`,d.append(x,v,y,f,b);let ee=V(`div`,`session-card-tags`),te=$V.map(e=>eH(e));c&&te.push(c),ee.append(...te),o.append(s,u,l,ee,d);let ne=V(`div`,`terminal-wrap`);return a.append(o,ne),{card:a,header:o,nameEl:s,elapsedEl:u,taskTitleEl:l,btnRestart:h,btnRestartFresh:g,btnRestartMenu:p,btnResume:_,btnTrace:y,btnRemove:b,btnPlan:x,btnDebug:v,restartMenu:m,termWrap:ne}}function nH(e,t,n){let r=V(`button`,`overflow-item ${n}`);return r.type=`button`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-label`,e),r.append(V(`span`,`restart-menu-label`,e),V(`span`,`restart-menu-hint`,t)),r}function rH(e,t){e.tabIndex=0,e.setAttribute(`role`,`button`),e.addEventListener(`click`,t),e.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())})}function iH(e,t){e.title=t??``,t&&e.removeAttribute(`aria-label`),t||e.setAttribute(`aria-label`,`Describe the task`),!e.querySelector(`input`)&&(e.textContent=t??``)}function aH(e,t){let n=e.titleTargetEl?.isConnected?e.titleTargetEl:e.taskTitleEl;if(n.querySelector(`input`))return;let r=document.createElement(`input`);r.type=`text`,r.className=`session-title-input`,r.setAttribute(`aria-label`,`Task`),r.value=e.taskTitleIsCustom?e.taskTitle??``:``,r.placeholder=e.taskTitle??`What is this session working on?`,r.maxLength=120;let i=n.getAttribute(`role`),a=n.getAttribute(`tabindex`);n.removeAttribute(`role`),n.removeAttribute(`tabindex`),n.replaceChildren(r),r.focus(),r.select();function o(o){r.removeEventListener(`blur`,s),r.removeEventListener(`keydown`,c),o&&B({type:`set-session-title`,id:t,title:r.value.trim()}),n.replaceChildren(),i!==null&&n.setAttribute(`role`,i),a!==null&&n.setAttribute(`tabindex`,a),iH(n,e.taskTitle)}function s(){o(!0)}function c(e){e.stopPropagation(),e.key===`Enter`&&(e.preventDefault(),o(!0)),e.key===`Escape`&&(e.preventDefault(),o(!1))}r.addEventListener(`blur`,s),r.addEventListener(`keydown`,c)}var oH=`session-rename-input`;function sH(e){return!!e?.querySelector(`.${oH}`)}function cH(e,t){let n=e.renameTargetEl?.isConnected?e.renameTargetEl:e.nameEl;if(!n||sH(n))return;let r=e.card?.dataset.session??n.textContent??``;function i(){let t=e.card?.dataset.session??r;n.textContent=t,e.nameEl&&e.nameEl!==n&&(e.nameEl.textContent=t)}let a=document.createElement(`input`);a.type=`text`,a.className=oH,a.value=r,a.maxLength=64,n.textContent=``,n.appendChild(a),a.focus(),a.select();function o(){let n=a.value.trim();if(c(),!n||n===r){i();return}for(let[,t]of U)if(t!==e&&t.card.dataset.session===n){i(),Wx(`Session "${n}" already exists.`);return}B({type:`rename-session`,id:t,newName:n}),i()}function s(){c(),i()}function c(){a.removeEventListener(`blur`,o),a.removeEventListener(`keydown`,l)}function l(e){e.key===`Enter`&&(e.preventDefault(),o()),e.key===`Escape`&&(e.preventDefault(),s()),e.stopPropagation()}a.addEventListener(`blur`,o),a.addEventListener(`keydown`,l)}var lH=`<button type="button" class="debug-close" aria-label="Close debug overlay" title="Close">×</button>`;function uH(e){return e?new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}):`-`}function dH(e){return`${(Number(e||0)/1e3).toFixed(1)}s`}function fH(e){return e.decision===`gated`?`(${Number(e.active)||0} bg)`:e.decision===`wait`||e.decision===`release`?`(quiet ${dH(e.quietMs)})`:``}function pH(e){let t=`<span class="debug-dim">${uH(e.ts)}</span>`;if(e.kind===`signal`){let n=Md([e.signal,e.source].filter(Boolean).join(`/`));return e.action===`transition`?`${t} ${n} → <span class="debug-label">${Md(e.event||``)}</span>`:e.action===`gate-held`?`${t} ${n} → held <span class="debug-dim">(${Number(e.active)||0} bg)</span>`:`${t} ${n} → <span class="debug-dim">no-op</span>`}if(e.kind===`gate`){let n=(e.repeats??0)>1?` <span class="debug-dim">x${Number(e.repeats)}</span>`:``,r=fH(e),i=r?` <span class="debug-dim">${r}</span>`:``;return`${t} gate <span class="debug-label">${Md(e.decision||`?`)}</span>${i}${n}`}if(e.kind===`notify`){let n=Md(e.category||e.to||`?`);return e.category?`${t} notify <span class="debug-label">${n}</span>: fired`:`${t} notify ${n}: <span class="debug-dim">silent (${Md(e.reason||``)})</span>`}return e.kind===`notify-state`?`${t} notify ${Md(e.category||`?`)}: <span class="debug-dim">${Md(e.from||`?`)} → ${Md(e.to||`?`)}</span>`:`${t} <span class="debug-dim">${Md(e.kind||`decision`)}</span>`}function mH(e,t){if(!e.debugOverlay)return;let n=t,r=lH;if(r+=`<div class="debug-section"><div class="debug-section-title">State</div>`,r+=`<div class="debug-field"><span class="debug-label">Current:</span> <span class="debug-value">${Md(n.state)}</span></div>`,r+=`</div>`,r+=`<div class="debug-section"><div class="debug-section-title">Transitions (last ${n.transitions.length})</div>`,n.transitions.length===0&&(r+=`<div class="debug-field debug-dim">No transitions recorded</div>`),n.transitions.length>0)for(let e of n.transitions){let t=e.detail&&typeof e.detail==`object`?e.detail:null,n=t?[t.signal,t.source,t.deferred?`deferred`:null].filter(Boolean):[],i=n.length>0?` <span class="debug-dim">${Md(n.join(`/`))}</span>`:``;r+=`<div class="debug-field"><span class="debug-dim">${uH(e.timestamp)}</span> ${Md(e.from)} → ${Md(e.to)} <span class="debug-label">${Md(e.event)}</span>${i}</div>`}r+=`</div>`;let i=n.detection||{},a=i.lastSignal,o=i.titleState||{};r+=`<div class="debug-section"><div class="debug-section-title">Detection</div>`,r+=`<div class="debug-field"><span class="debug-label">Last signal:</span> <span class="debug-value">${a?`${Md(a.signal)} (${Md(a.source||`?`)}${a.confidence?`/${Md(a.confidence)}`:``})`:`none`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Hooks injected:</span> <span class="debug-value">${i.hooksInjected?`yes`:`no`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Hook seen:</span> <span class="debug-value">${i.hookSeen?`yes`:`no (degraded → title)`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Title state:</span> <span class="debug-value">${Md(o.lastKind||`none`)}${o.hasSeenSpinner?` · spun`:``}</span></div>`,r+=`</div>`;let s=i.agents||{},c=i.gate;r+=`<div class="debug-section"><div class="debug-section-title">Agents</div>`,r+=`<div class="debug-field"><span class="debug-label">Active:</span> <span class="debug-value">${Number(s.active)||0} (counted ${Number(s.counted)||0}, declared ${Number(s.declared)||0})</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Idle:</span> <span class="debug-value">${Number(s.idleNames)||0} names, ${Number(s.idleTasks)||0} tasks</span></div>`;let l=c?`held ${dH(c.heldForMs)} (seq ${Number(c.seq)||0}, lastActivity ${Number(c.lastActivitySeq)||0})`:`none`;r+=`<div class="debug-field"><span class="debug-label">Gate:</span> <span class="debug-value">${Md(l)}</span></div>`,r+=`</div>`;let u=Array.isArray(n.decisions)?n.decisions:[];r+=`<div class="debug-section"><div class="debug-section-title">Decisions (last ${u.length})</div>`,u.length===0&&(r+=`<div class="debug-field debug-dim">No decisions recorded</div>`);for(let e of u)r+=`<div class="debug-field">${pH(e)}</div>`;r+=`</div>`,e.debugOverlay.innerHTML=r}function hH(e,t){if(e.debugOpen){gH(e);return}let n=document.createElement(`div`);n.className=`debug-overlay`,n.innerHTML=`${lH}<div class="debug-field debug-dim">Loading...</div>`,e.card.appendChild(n),e.debugOverlay=n,e.debugOpen=!0,n.addEventListener(`click`,t=>{t.stopPropagation(),t.target instanceof Element&&t.target.closest(`.debug-close`)&&gH(e)}),B({type:`debug-state`,id:t})}function gH(e){e.debugOverlay&&=(e.debugOverlay.remove(),null),e.debugOpen=!1}function _H(){for(let[,e]of U)e.btnDebug.classList.toggle(`visible`,JV),e.btnTrace.classList.toggle(`visible`,JV),!JV&&e.debugOpen&&gH(e)}function vH(e){let t=typeof e.id==`string`?U.get(e.id):void 0;t?.debugOpen&&mH(t,e.payload)}function yH(e){Zd(e)?.debugOpen&&B({type:`debug-state`,id:e})}function bH({hasPlan:e,pendingPromptKind:t,hasOpenReview:n,hasApprovedReview:r=!1}){return e&&(n||t===`plan`&&!r)?`plan`:`terminal`}function xH({hasPlan:e,isBorrowed:t,face:n}){return!e||n===`plan`?`hidden`:t?`face`:`navigate`}var SH=`DORMANT`;function CH(e){if(!e)return``;let t=Math.max(0,Math.round((Date.now()-e)/1e3));if(t<60)return`just now`;let n=Math.floor(t/60);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function wH(e,t,n){let r=V(`button`,`resume-item`);r.type=`button`,r.setAttribute(`role`,`option`),e.id===t&&r.classList.add(`resume-item-current`);let i=[e.worktreeName,e.gitBranch?e.gitBranch.replace(/^refs\/heads\//,``):null,CH(e.mtime)].filter(Boolean).join(` · `);return r.innerHTML=`<span class="resume-item-title">${Md(e.title||e.id)}</span><span class="resume-item-meta">${Md(i)}${e.id===t?` · current`:``}</span>`,r.addEventListener(`click`,()=>n(e.id)),r}function TH(e,t={}){let n=(t.currentState||``)===SH,{overlay:r,dialog:i,close:a,actions:o,btnCancel:s}=nf({title:`Resume a conversation`,dialogClass:`dialog resume-dialog`}),c=V(`p`,`dialog-message`,`Pick a Claude conversation from this repo (any worktree) to continue in this card.`),l=V(`div`,`resume-list`);l.setAttribute(`role`,`listbox`),l.setAttribute(`aria-label`,`Resumable conversations`),l.append(V(`div`,`resume-empty`,`Loading conversations...`));let u=V(`button`,`btn-dialog btn-dialog-cancel`,`Start fresh`);u.title=`Clear any resume binding so this card starts a new conversation`,o.prepend(u),i.append(c,l,o);function d(t){if(B({type:`resume-conversation`,id:e,conversationId:t||``}),a(),t){if(!n){Wx(`Conversation will resume on this session's next restart.`);return}B({type:`start-session`,id:e})}}s.addEventListener(`click`,a),u.addEventListener(`click`,()=>d(null)),requestAnimationFrame(()=>s.focus()),fd(`list-conversations`,{id:e}).then(e=>{if(!r.isConnected)return;let t=e.type===`conversations`?e.conversations:[];if(l.innerHTML=``,e.error){l.append(V(`div`,`resume-empty`,`Could not list conversations: ${e.error}`));return}if(t.length===0){l.append(V(`div`,`resume-empty`,`No prior conversations found for this repo.`));return}let n=e.type===`conversations`?e.current??null:null;for(let e of t)l.append(wH(e,n,d))}).catch(e=>{if(!r.isConnected)return;l.innerHTML=``;let t=e instanceof Error?e.message:String(e);l.append(V(`div`,`resume-empty`,`Could not list conversations: ${t}`))})}var EH={critical:`✕`,warning:`▲`,done:`✓`,"":`▸`},DH=null,OH=null,kH=e=>e==null?``:String(e),AH=e=>Mc.includes(e),jH=e=>Nc.includes(e);function MH(e){let t=e.currentState,n=AH(t)||jH(t);e.btnRestart.classList.toggle(`visible`,n),e.btnRestartFresh.classList.toggle(`visible`,n),e.btnResume.classList.add(`visible`),e.btnTrace.classList.toggle(`visible`,QV()),e.btnPlan.classList.toggle(`visible`,xH(e)!==`hidden`),e.btnRemove.classList.add(`visible`)}function NH(e){e.restartMenu.classList.remove(`open`),e.btnRestartMenu.setAttribute(`aria-expanded`,`false`)}function PH(e,t){rH(e.taskTitleEl,()=>aH(e,t)),e.nameEl.addEventListener(`dblclick`,n=>{n.preventDefault(),cH(e,t)}),e.nameEl.addEventListener(`click`,()=>{sH(e.nameEl)||RR(t)}),e.nameEl.addEventListener(`keydown`,n=>{n.target===e.nameEl&&(n.key===`F2`||n.key===`Enter`)&&(n.preventDefault(),cH(e,t))});function n(n){NH(e),e.btnRestartMenu.focus(),cf(n,t,{readState:()=>e.currentState,send:B,confirm:rf})}e.btnRestart.addEventListener(`click`,()=>n(`restart`)),e.btnRestartFresh.addEventListener(`click`,()=>n(`restart-fresh`)),e.btnResume.addEventListener(`click`,()=>{NH(e),TH(t,{currentState:e.currentState})}),e.btnTrace.addEventListener(`click`,()=>{NH(e),BV(t)}),e.btnPlan.addEventListener(`click`,()=>{let n=xH(e);if(n!==`hidden`){if(n===`face`){WH(t);return}location.hash=cR(t)}}),e.btnRemove.addEventListener(`click`,()=>{NH(e);let n=e.card.dataset.session,r=e.card.dataset.merge,i=r===`pending-review`||r===`parked`;rf({title:`Remove Session`,message:i?`"${n}" has unmerged worktree changes that will be permanently discarded if you remove it. Merge or review them first to keep them. Remove anyway?`:`Remove session "${n}"?`,confirmLabel:i?`Discard & Remove`:`Remove`,onConfirm:()=>B({type:`remove-session`,id:t})})}),e.btnRestartMenu.addEventListener(`click`,t=>{t.stopPropagation();for(let[,t]of U)t!==e&&NH(t);let n=e.restartMenu.classList.toggle(`open`);e.btnRestartMenu.setAttribute(`aria-expanded`,String(n))});let r=[e.btnRestart,e.btnRestartFresh,e.btnResume];function i(t){if(t.key!==`ArrowDown`&&t.key!==`ArrowUp`)return;t.preventDefault(),t.stopPropagation();for(let[,t]of U)t!==e&&NH(t);e.restartMenu.classList.add(`open`),e.btnRestartMenu.setAttribute(`aria-expanded`,`true`);let n=r.filter(e=>e.classList.contains(`visible`)),i=document.activeElement,a=i instanceof HTMLButtonElement?n.indexOf(i):-1;n[((t.key===`ArrowDown`?a+1:a<0?n.length-1:a-1)+n.length)%n.length]?.focus()}e.btnRestartMenu.addEventListener(`keydown`,i),e.restartMenu.addEventListener(`keydown`,i),document.addEventListener(`keydown`,t=>{t.key===`Escape`&&e.restartMenu.classList.contains(`open`)&&(t.preventDefault(),NH(e),e.btnRestartMenu.focus())},{signal:e.abortController.signal}),document.addEventListener(`click`,t=>{let n=t.target instanceof Node?t.target:null;!e.restartMenu.contains(n)&&n!==e.btnRestartMenu&&NH(e)},{signal:e.abortController.signal}),e.termWrap.addEventListener(`mousedown`,()=>{(e.currentState===I.WAITING||e.currentState===I.COMPLETE)&&B({type:`dismiss`,id:t})}),e.btnDebug.addEventListener(`click`,n=>{n.stopPropagation(),hH(e,t)}),document.addEventListener(`click`,t=>{let n=t.target instanceof Node?t.target:null;e.debugOpen&&!e.card.contains(n)&&gH(e)},{signal:e.abortController.signal})}function FH(e,t,n){let r=Zd(e);if(r){r.taskTitle=typeof t==`string`?t:null,r.taskTitleIsCustom=n===!0;for(let e of[r.taskTitleEl,r.titleTargetEl])e&&iH(e,r.taskTitle)}}function IH(e){return typeof e==`string`&&U.has(e)}function LH(){return U.size}function RH(){return[...U.keys()]}function zH(e){let t=e||{};t.cursorBlink!=null&&vE(t.cursorBlink),t.debugMode!=null&&(XV(t.debugMode),MI(t.debugMode));for(let[,e]of U)e.term&&t.cursorBlink!=null&&(e.term.options.cursorBlink=t.cursorBlink)}function BH(){if(!$d)return;let e=0,t=0,n=0,r=0,i=0,a=0;for(let[,o]of U){a++;let s=o.currentState;if(s===I.WAITING){e++;continue}if(s===I.FAILED){t++;continue}if(s===I.DONE){n++;continue}if(s===I.COMPLETE){r++;continue}s===I.DORMANT&&i++}let{text:o,severity:s,alertCount:c}=qV({waiting:e,failed:t,done:n,complete:r,dormant:i,total:a});if((o!==DH||s!==OH)&&(DH=o,OH=s,$d.dataset.severity=s,$d.textContent=``,o)){let e=V(`span`,`aggregate-glyph`,EH[s]??EH[``]);e.setAttribute(`aria-hidden`,`true`),$d.append(e,document.createTextNode(o))}document.title=c>0?`(${c}) Glimmervoid`:`Glimmervoid`}function VH(e,t,n,r={}){if(!Qd)return;let i=Xd(e),a=kH(n)||I.DORMANT,o=tH(i,kH(t),a,r),s=a===I.DORMANT;Qd.appendChild(o.card);let c;function l(){c.face=`terminal`,c.card.dataset.face=`terminal`,c.termWrap.hidden=!1,c.planFace.hide(),MH(c),NE(c,i)}let u=new AbortController,d=oR({signal:u.signal,requestPlan:(e,t,n)=>B({type:`session-plan`,id:e,agentId:t,revision:n}),requestDraft:(e,t)=>B({type:`session-plan`,id:e,agentId:t,draft:!0}),showTerminal:l,sendDecision:(e,t)=>B({type:`plan-decision`,id:e,...t}),reportProblem:e=>Wx(`${o.nameEl.textContent||i}: ${e}`)});return c={term:null,fitAddon:null,webglAddon:null,needsWebGLReload:!1,webglAttachedWithoutLayout:!1,dataWs:null,card:o.card,nameEl:o.nameEl,taskTitleEl:o.taskTitleEl,taskTitle:r.taskTitle??null,taskTitleIsCustom:r.taskTitleIsCustom??!1,hasEndedTurn:!1,elapsedEl:o.elapsedEl,path:kH(r.path),stateSince:typeof r.stateSince==`number`&&Number.isFinite(r.stateSince)?r.stateSince:Date.now(),restartMenu:o.restartMenu,termWrap:o.termWrap,btnDebug:o.btnDebug,btnRestart:o.btnRestart,btnRestartFresh:o.btnRestartFresh,btnRestartMenu:o.btnRestartMenu,btnResume:o.btnResume,btnTrace:o.btnTrace,btnPlan:o.btnPlan,btnRemove:o.btnRemove,debugOverlay:null,debugOpen:!1,abortController:u,currentState:a,face:`terminal`,isBorrowed:!1,hasPlan:!1,pendingPromptKind:null,pendingPromptDetail:null,planReviewState:{reviews:[]},planFace:d},c._ensureTerminalReady=()=>NE(c,i),c._showTerminalFace=l,c._showPreferredFace=()=>{if(HH(c)===`plan`){WH(i);return}l()},c._setBorrowed=e=>{c.isBorrowed=e,MH(c)},o.card.append(d.el),U.set(i,c),PH(c,i),MH(c),a===I.RUNNING&&hf(c,!0),s||(EE(o.termWrap,c),AE(c,i)),BH(),c}function HH(e){let t=e.planReviewState.reviews.some(e=>e.state===`open`),n=e.planReviewState.reviews.some(jL);return bH({hasPlan:e.hasPlan,pendingPromptKind:e.pendingPromptKind,hasOpenReview:t,hasApprovedReview:n})}function UH(e){let t=Zd(e);return!t?.isBorrowed||HH(t)!==`plan`?!1:WH(e)}function WH(e){let t=Zd(e);return!t?.isBorrowed||!t.hasPlan?!1:(t.face=`plan`,t.card.dataset.face=`plan`,t.termWrap.hidden=!0,t.planFace.show(Xd(e)),MH(t),!0)}function GH(e,t){let n=Zd(e);n&&(n.hasPlan=t===!0,MH(n),UH(e))}function KH(e){let t=Zd(e.id);t&&(t.planReviewState=JL(t.planReviewState,e),t.hasPlan=e.hasPlan,t.planFace.update({state:t.planReviewState}),MH(t),UH(e.id))}function qH(e){let t=Zd(e.id);t&&t.planFace.update({draft:e})}function JH(e){let t=Zd(e.id);t&&(t.planReviewState={reviews:e.reviews},t.hasPlan=!0,t.planFace.update({response:e}),MH(t))}function YH(e){if(e.type!==`error`&&e.type!==`session-error`||e.scope!==`plan`&&e.scope!==`plan-decision`)return;let t=Zd(e.id);if(t){if(e.scope===`plan`){t.planFace.update({requestFailed:!0});return}t.planFace.update({decisionRefused:!0})}}function XH(e){for(let[,t]of U)t.planFace.update({isConnected:e})}function ZH(e,t){let n=Zd(e);n&&(n.effectiveBase=typeof t==`string`?t:void 0)}function QH(e,t){let n=Zd(e);if(!n)return;n.agent=typeof t==`string`?t:null;let r=DN(t);eU(n,`.agent-badge`,`agent`,{on:r!==``,value:r,text:r})}function $H(e,t){let n=Zd(e);if(n){if(t){n.card.dataset.worktree=``;return}delete n.card.dataset.worktree}}function eU(e,t,n,r){let{on:i,value:a=``,text:o,title:s}=r,c=e.card.querySelector(t);if(!i){if(delete e.card.dataset[n],!c)return;o!==void 0&&(c.textContent=``),s!==void 0&&c.removeAttribute(`title`);return}e.card.dataset[n]=a,c&&(o!==void 0&&(c.textContent=o),s!==void 0&&(c.title=s))}function tU(e,t){let n=Zd(e);n&&(n.hasEndedTurn=t)}function nU(e,t,n=!1){let r=Zd(e);r&&(r.activeAgents=Math.max(0,Number(t)||0),r.awaitingBackgroundTasks=Sd(r.currentState,n===!0),r.card.toggleAttribute(`data-monitoring`,r.awaitingBackgroundTasks))}function rU(e,t){let n=Zd(e);if(!n)return;let r=Aj(t);eU(n,`.usage-badge`,`usage`,{on:!!r,text:r||``,title:r?jj(t):void 0})}function iU(e,t,n=null){let r=Zd(e);r&&(r.pendingPromptKind=typeof t==`string`?t:null,r.pendingPromptDetail=n,eU(r,`.prompt-badge`,`prompt`,{on:!!t,value:kH(t),text:t===`plan`?`Plan ready`:t===`permission`?`permission`:`input`}),UH(e))}function aU(e){if(!e)return`scheduled`;let t=new Date(e);return`sleeping until ~${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}function oU(e,t){let n=Zd(e);n&&eU(n,`.wakeup-badge`,`wakeup`,{on:!!t,value:t?.kind||`wakeup`,text:aU(t?.at),title:t?.reason?`Scheduled revival: ${t.reason}`:`Scheduled revival pending`})}function sU(e,t){let n=Zd(e);if(!n)return;let r=Array.isArray(t.findings)?t.findings:[],i=t.filesFixed||0,a=null,o=0;!t.skipped&&t.mode===`fix`&&i>0&&(a=`fixed`,o=i),!t.skipped&&t.mode===`report`&&r.length>0&&(a=`flagged`,o=new Set(r.map(e=>e.file)).size);let s={};for(let e of r)s[e.rule]=(s[e.rule]||0)+(e.count||0);let c=Object.keys(s).map(e=>`${e}: ${s[e]}`).join(`, `),l=a===`fixed`?`auto-fixed`:`flagged`;eU(n,`.post-turn-badge`,`pt`,{on:!!a,value:a||void 0,text:`${a===`fixed`?`✓`:`⚠`} ${o}`,title:`Post-turn ${l} ${o} file(s)${c?` (${c})`:``}`})}function cU(e,t){if(t===`pending-review`||t===`parked`||t===`merging`){e.dataset.merge=t;return}delete e.dataset.merge}function lU(e,t,n=null){let r=Zd(e),i=kH(t)||`none`;r&&cU(r.card,i),Mz(Xd(e),i,kH(n)||null)}function uU(e,t,n=null){let r=Zd(e),i=kH(t)||`none`;r&&cU(r.card,i),Nz(Xd(e),i,kH(n)||null)}function dU(e,t){Pz(Xd(e),t)}function fU(e,t){let n=Zd(e);if(!n)return;let r=kH(t);n.card.dataset.session=r,n.nameEl.textContent=r}function pU(e){let t=Zd(e);t&&(gH(t),U.delete(Xd(e)),iR(Xd(e)),t.resizeObserver&&t.resizeObserver.disconnect(),t.abortController&&t.abortController.abort(),t.dataWs&&t.dataWs.readyState<=WebSocket.OPEN&&t.dataWs.close(),oE(t),t.term&&t.term.dispose(),t.term=null,t.fitAddon=null,t.card&&t.card.remove(),BH())}function mU(e,t,n){if(!t||!e.term)return;e.term.clear(),e.term.reset();let r=n===I.DONE?`Session complete`:`Session failed`,i=n===I.DONE?`\x1B[34m`:`\x1B[31m`;e.term.write(`\r\n\x1b[2m${i} ${r}\x1b[0m\r\n\r\n\x1b[2m Press Restart to start a new session.\x1b[0m\r\n`)}function hU(e,t){e.term&&(t===I.DONE||t===I.FAILED)&&(e.term.clear(),e.term.reset())}function gU(e,t,n){let r=Zd(e);if(!r)return;let i=kH(t),a=r.currentState;r.currentState=i,i!==I.RUNNING&&(r.awaitingBackgroundTasks=!1),i!==a&&(r.stateSince=typeof n==`number`&&Number.isFinite(n)?n:Date.now(),hf(r,i===I.RUNNING)),a===I.DORMANT&&i!==I.DORMANT&&jE(r,Xd(e)),r.card.dataset.state=i,r.card.toggleAttribute(`data-monitoring`,Sd(i,r.awaitingBackgroundTasks)),MH(r),(i===I.WAITING&&a!==I.WAITING||i===I.COMPLETE&&a!==I.COMPLETE)&&aF()&&Pb(sF());let o=i===I.DONE||i===I.FAILED,s=a!==I.DONE&&a!==I.FAILED&&a!==I.INITIALIZING;o&&s&&(r.card.classList.remove(`completion-flash`),requestAnimationFrame(()=>{requestAnimationFrame(()=>{r.card.classList.add(`completion-flash`),r.card.addEventListener(`animationend`,()=>r.card.classList.remove(`completion-flash`),{once:!0})})}),aF()&&Pb(sF())),(i===I.DONE||i===I.FAILED)&&mU(r,s,i),i===I.INITIALIZING&&hU(r,a),BH(),bf(r)}var _U=`(no path)`;function vU(e){if(!e)return _U;let t=String(e).replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return(n===-1?t:t.slice(n+1))||`(no path)`}function yU(e,t,n){let r=Array.isArray(e)?e:[],i=new Map;for(let e of r){let n=t(e),r=n?String(n):_U,a=i.get(r);a||(a={key:r,label:r===`(no path)`?_U:vU(r),title:r,rows:[]},i.set(r,a)),a.rows.push(e)}if(n)for(let e of n){if(!e)continue;let t=String(e);t===`(no path)`||i.has(t)||i.set(t,{key:t,label:vU(t),title:t,rows:[]})}let a=[...i.values()];return a.sort((e,t)=>e.label.localeCompare(t.label,void 0,{numeric:!0,sensitivity:`base`})||e.key.localeCompare(t.key)),{flat:i.size<=1,order:a.map(e=>e.key),groups:a}}function bU(e,t){if(!e||!Array.isArray(e.groups))return[];let n=t||new Set,r=[];if(e.flat){for(let t of e.groups)for(let e of t.rows)r.push(e.id);return r}let i=new Map(e.groups.map(e=>[e.key,e]));for(let t of e.order){if(n.has(t))continue;let e=i.get(t);if(e)for(let t of e.rows)r.push(t.id)}return r}function xU(e,t){let n=V(e,t);return n.innerHTML=`<span class="focus-pill-name"></span><span class="focus-pill-badge"><span class="focus-pill-glyph"></span><span class="focus-pill-label"></span></span><span class="focus-pill-merge"></span>`,{pill:n,refs:{glyph:yd(n,`.focus-pill-glyph`),label:yd(n,`.focus-pill-label`),name:yd(n,`.focus-pill-name`),merge:yd(n,`.focus-pill-merge`)}}}function SU(e,t,n,r=!1){e.dataset.state=n;let{glyph:i,label:a,isMonitoring:o}=Cd(n,r);return e.toggleAttribute(`data-monitoring`,o),t.glyph.textContent=i,t.label.textContent=a,a}var CU=window.matchMedia?.(`(prefers-reduced-motion: reduce)`),wU=window.matchMedia?.(`(hover: none) and (min-width: 769px)`),TU=null,EU=null,DU=null,OU=null,kU=null,AU=null,jU=null,MU=null,NU=!1,PU=null,FU=new Map,IU=new Map,LU=new Map,RU=new Map,zU=null,BU=new Set;function VU(){return bU(UU(),BU)}function HU(e){let t=zU;if(zU=e||null,t&&t!==zU){let e=IU.get(t);e&&(e.tabIndex=-1,e.setAttribute(`aria-selected`,`false`))}if(zU){let e=IU.get(zU);e&&(e.tabIndex=0,e.setAttribute(`aria-selected`,`true`))}}function UU(){let e=$U();return yU(e,e=>e.ui.path,fI(e,e=>e.ui.path))}function WU(e){let t=RU.get(e.key),n=LU.get(e.key);if(!t||!n){let r=Object.assign(V(`div`,`focus-rail-group`),{_addBtn:V(`button`,`focus-rail-group-add`,`+`),_forgetBtn:V(`button`,`focus-rail-group-remove`,`×`)});r.dataset.key=e.key,r.innerHTML=`<span class="focus-rail-group-label"></span><span class="focus-rail-group-rule" aria-hidden="true"></span>`;let i=r._addBtn;i.type=`button`,i.addEventListener(`click`,()=>mI(r.dataset.path,r.dataset.label));let a=r._forgetBtn;a.type=`button`,a.addEventListener(`click`,()=>{pI(r.dataset.path),oW()}),r.appendChild(a),r.appendChild(i),t=r,n=V(`div`,`focus-rail-list`),n.setAttribute(`role`,`listbox`),RU.set(e.key,t),LU.set(e.key,n)}yd(t,`.focus-rail-group-label`).textContent=e.label,t.title=e.title,t.dataset.path=e.key,t.dataset.label=e.label;let r=e.key===_U,i=e.rows.length===0;return t._addBtn.hidden=r,r||(t._addBtn.title=`Add a session to ${e.label}`,t._addBtn.setAttribute(`aria-label`,`Add a session to ${e.label}`)),t._forgetBtn.hidden=r||!i,!r&&i&&(t._forgetBtn.title=`Remove ${e.label} from the rail`,t._forgetBtn.setAttribute(`aria-label`,`Remove ${e.label} from the rail`)),t.toggleAttribute(`data-empty`,i),n.setAttribute(`aria-label`,`${e.label} sessions`),{header:t,list:n}}function GU(){return NU}function KU(){return kU}function qU(){return Bd.snapshot().focusedSessionId}function JU({rail:e,center:t,resizer:n}){if(TU=e,DU=t,!TU||!DU)return;let r=TU,i=DU;ZU(n),r.removeAttribute(`role`),r.removeAttribute(`aria-label`),r.setAttribute(`aria-keyshortcuts`,qte(Zy)),EU=V(`button`,`focus-rail-head`),EU.type=`button`,EU.append(V(`span`,`focus-rail-head-count`),nb(Yy(`next-attention`,Zy))),EU.addEventListener(`click`,dW),uW(!1,YO(0)),r.append(EU),AU=V(`div`,`focus-empty`),AU.innerHTML=`<p class="focus-empty-title"></p><p class="focus-empty-desc"></p>`,jU=AU.querySelector(`.focus-empty-title`),MU=AU.querySelector(`.focus-empty-desc`),OU=V(`div`,`focus-card-slot`),kU=V(`div`,`focus-header-accessory-slot`),i.append(kU,AU,OU),r.addEventListener(`keydown`,QU)}var YU={minPx:180,maxPx:480},XU=16;function ZU(e){e&&TU&&nP({resizer:e,column:TU,widthHost:TU,widthProperty:`--rail-width`,bounds:YU,keyStepPx:XU,getStoredWidth:xF,setStoredWidth:SF})}function QU(e){if(e.key===`Delete`||e.key===`Backspace`){let t=e.target instanceof HTMLElement?e.target:null,n=t?.dataset.id;if(!n||IU.get(n)!==t)return;e.preventDefault(),hI(n,FU.get(n));return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`||e.altKey||e.metaKey||e.ctrlKey||e.shiftKey)return;let t=KO(VU(),zU,e.key===`ArrowDown`?1:-1);t!=null&&(e.preventDefault(),HU(t),IU.get(t)?.focus())}function $U(){return WO([...U.entries()].map(([e,t])=>({id:e,ui:t,name:eW(t),isDormant:(t.currentState||I.DORMANT)===I.DORMANT})))}function eW(e){return e.nameEl?e.nameEl.textContent:e.card&&(e.card.dataset.session||e.card.dataset.id)||``}function tW(e){let{pill:t,refs:n}=xU(`button`,`focus-pill`);t.type=`button`,t.dataset.id=e,t.setAttribute(`role`,`option`);let r=Object.assign(t,{_refs:n,_row:null});r.addEventListener(`click`,()=>nW(e));let i=V(`div`,`focus-pill-row`);i.setAttribute(`role`,`presentation`);let a=V(`button`,`focus-pill-remove`,`×`);return a.type=`button`,a.tabIndex=-1,wU?.matches||a.setAttribute(`aria-hidden`,`true`),a.title=`Remove session`,a.addEventListener(`click`,t=>{t.stopPropagation(),hI(e,FU.get(e))}),i.append(r,a),r._row=i,r}function nW(e){let t=U.get(e);t&&(t.currentState===I.DORMANT&&B({type:`start-session`,id:e}),rW(e),gW(e))}function rW(e){U.get(e)?.currentState===I.COMPLETE&&B({type:`dismiss`,id:e})}function iW(e,t,n){let r=n.currentState||I.DORMANT,i=e.dataset.state;r!==I.COMPLETE&&e.removeAttribute(`data-unseen`),r===I.COMPLETE&&i&&i!==I.COMPLETE&&(e.dataset.unseen=``);let a=SU(e,e._refs,r,n.awaitingBackgroundTasks),o=[eW(n),n.taskTitle,a].filter(Boolean).join(`, `);e.setAttribute(`aria-label`,o),e.title=o,e._refs.name.textContent=eW(n);let s=FU.get(t)||`none`;e.dataset.merge=s===`none`?``:s,e._refs.merge.textContent=xd[s]||``,e.dataset.activity=n._activity||``,e.classList.toggle(`focused`,t===qU());let c=t===zU;e.setAttribute(`aria-selected`,String(c)),e.tabIndex=c?0:-1}function aW(e,t){if(!NU)return;let n=e?.card?.dataset.id,r=n?IU.get(n):null;if(!r)return;if(t===`flag`){r.dataset.activity=e._activity||``;return}if(CU?.matches||document.hidden)return;let i=r._refs?.glyph;i?.animate&&i.animate([{transform:`scale(1)`,opacity:.65},{transform:`scale(1.35)`,opacity:1,offset:.3},{transform:`scale(1)`,opacity:.9}],{duration:300,easing:`cubic-bezier(0.22, 1, 0.36, 1)`})}ff(aW);function oW(){if(!NU)return;let e=TU;if(!e)return;let t=$U(),n=yU(t,e=>e.ui.path,fI(t,e=>e.ui.path)),r=new Set,i=(e,t)=>{let n=e.map(e=>e.id).join(`,`),i=t._lastOrderKey===n&&t.childElementCount===e.length;for(let{id:n,ui:a}of e){r.add(n);let e=IU.get(n);e||(e=tW(n),IU.set(n,e)),iW(e,n,a),!i&&e._row&&t.appendChild(e._row)}t._lastOrderKey=n},a=new Set(n.order);for(let t of n.groups){let{header:n,list:r}=WU(t);e.appendChild(n),e.appendChild(r),i(t.rows,r)}for(let[e,t]of[...RU])a.has(e)||(t.remove(),LU.get(e)?.remove(),RU.delete(e),LU.delete(e));for(let[e,t]of IU)r.has(e)||((t._row||t).remove(),IU.delete(e),e===zU&&(zU=null));for(let e of[...FU.keys()])U.has(e)||FU.delete(e);let o=qU();if(o&&!U.has(o)){Bd.dispatch(`focusSession`,null),zU=null;let e=t.find(e=>U.has(e.id));if(e){gW(e.id);return}}_W();let s=qU();if(s){let e=U.get(s);e&&e.card.parentElement!==OU&&mW(e,s)}lW()}function sW(){return $U().map(({id:e,ui:t})=>({id:e,state:t.currentState||I.DORMANT,unseen:!!IU.get(e)?.hasAttribute(`data-unseen`)}))}function cW(){return sW().filter(qO).map(({id:e})=>e)}function lW(){let e=JO(sW());uW(e>0,YO(e))}function uW(e,t){if(EU){if(yd(EU,`.focus-rail-head-count`).textContent=t,EU.disabled=!e,e){EU.removeAttribute(`data-empty`),EU.removeAttribute(`aria-hidden`);return}EU.dataset.empty=``,EU.setAttribute(`aria-hidden`,`true`)}}function dW(){if(!NU)return;let e=cW();if(!e.length)return;let t=GO(e,PU);if(!t)return;PU=t;let n=U.get(t),r=t===qU();rW(t),gW(t),IU.get(t)?.scrollIntoView({block:`nearest`}),r&&pW(t),fW(n,t)}function fW(e,t){e&&requestAnimationFrame(()=>requestAnimationFrame(()=>{NU&&qU()===t&&e.term?.focus()}))}function pW(e){if(CU?.matches||document.hidden)return;let t=IU.get(e);t?.animate&&t.animate([{transform:`scale(1)`},{transform:`scale(1.045)`,offset:.3},{transform:`scale(1)`}],{duration:360,easing:`cubic-bezier(0.22, 1, 0.36, 1)`});let n=U.get(e)?.card;n?.animate&&n.animate([{opacity:.8},{opacity:1}],{duration:240,easing:`ease-out`})}function mW(e,t){OU&&(vN(e,t,OU,{className:`focus-centered`}),PE(e,t,!0))}function hW(){let e=qU();e&&(_N()===e&&yN(),Bd.dispatch(`focusSession`,null))}function gW(e){NU&&U.has(e)&&e!==qU()&&(hW(),Bd.dispatch(`focusSession`,e),zU=e,XF(e),IU.get(e)?.removeAttribute(`data-unseen`),RR(e),oW())}function _W(){if(!AU||!jU||!MU)return;let e=qU(),t=!!(e&&U.has(e));if(AU.hidden=t,t)return;let n=U.size>0;jU.textContent=n?`No session selected`:`Nothing to focus`,MU.textContent=n?yW():`Spawn a session to start watching.`}function vW(){return TU?.closest(`.focus-view`)?.dataset.rail===`off`}function yW(){return vW()?`Pick a session in Calm to focus it here.`:`Select a session from the rail on the left to focus it here.`}function bW(e){let t=TU?.closest(`.focus-view`);t&&(e&&t.removeAttribute(`data-rail`),e||(t.dataset.rail=`off`),_W())}function xW(e,t){FU.set(Xd(e),typeof t==`string`&&t?t:`none`),NU&&oW()}function SW(e){NU&&U.has(e)&&gW(e)}function CW(e){return!NU||!U.has(e)?!1:(gW(e),WH(e))}function wW(e){if(!NU)return;let t=VU()[e-1];t&&nW(t)}function TW(e){if(!NU)return;let t=KO(VU(),zU,e);t!=null&&(nW(t),IU.get(t)?.scrollIntoView({block:`nearest`}),fW(U.get(t),t))}function EW(){TU&&(NU=!0,hW(),zU=null,oW(),DW())}function DW(){if(!NU||qU())return;let e=YF();if(!e)return;let t=U.get(e);t&&(t.currentState||I.DORMANT)!==I.DORMANT&&gW(e)}function OW(){NU&&=(hW(),zU=null,!1)}function kW(e,t,n){let r=V(`a`,`settings-link`,n);return r.href=`#settings/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,r}var AW=`t-[0-9a-f]{8}`,jW=`No findings. Open a markdown file in a connected editor.`,MW=`No intent yet. The visions proposes one after its first pass.`,NW=`Unowned`,PW=RegExp(`^${AW}$`);function FW(){return{byProject:{},unowned:[]}}function IW(e){if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.text==`string`?t.text:``;if(!n)return null;let r=Number(t.ts),i=Number(t.hits);return{id:typeof t.id==`string`&&PW.test(t.id)?t.id:null,text:n,uris:Array.isArray(t.uris)?t.uris.filter(e=>typeof e==`string`&&e!==``):[],ts:Number.isFinite(r)&&r>0?r:0,hits:Number.isInteger(i)&&i>0?i:1}}function LW(e){if(Array.isArray(e))return e.map(IW).filter(e=>e!==null);let t=IW(e);return t?[t]:[]}function RW(e){let t=e?.intent;if(!t||typeof t!=`object`)return FW();let n=t;if(!(Object.hasOwn(n,`byProject`)||Object.hasOwn(n,`unowned`)||Object.hasOwn(n,`global`)))return{byProject:{},unowned:LW(n)};let r=n.byProject&&typeof n.byProject==`object`?n.byProject:{},i=[];for(let[e,t]of Object.entries(r)){let n=LW(t);n.length!==0&&e&&i.push([e,n])}return{byProject:Object.fromEntries(i),unowned:LW(Object.hasOwn(n,`unowned`)?n.unowned:n.global)}}function zW(e,t){let n=typeof t?.id==`string`?t.id:null;if(!n)return e;let r=e.findIndex(e=>e.id===n);return r<=0?e:[e[r],...e.slice(0,r),...e.slice(r+1)]}function BW(e,t){let n=e||FW(),r=t?.intent;if(!r||typeof r!=`object`)return n;let i=r,a=zW(Array.isArray(i.threads)?LW(i.threads):LW(i),i.active),o=typeof t?.projectId==`string`&&t.projectId?t.projectId:null;if(!o)return{byProject:{...n.byProject},unowned:a};let s={...n.byProject};return a.length===0&&delete s[o],a.length>0&&(s[o]=a),{byProject:s,unowned:n.unowned}}function VW(e,t=null){let n=t&&typeof t.get==`function`?t.get(e):null;return typeof n==`string`&&n?n:e}function HW(e,{key:t,label:n,now:r}){return e.map((e,i)=>({key:`${t}:${e.id||i}`,label:n,text:e.text,hasText:!0,active:i===0,meta:KW(e,r)}))}function UW(e,t=null,n=Date.now()){let r=e||FW(),i=Object.entries(r.byProject||{}).filter(([e,t])=>e&&Array.isArray(t)&&t.length>0).map(([e,n])=>({projectId:e,label:VW(e,t),threads:n})).sort((e,t)=>e.label.localeCompare(t.label)).flatMap(({projectId:e,label:t,threads:r})=>HW(r,{key:e,label:t,now:n})),a=HW(Array.isArray(r.unowned)?r.unowned:[],{key:`unowned`,label:NW,now:n});return i.length+a.length>0?[...a,...i]:[{key:`unowned`,label:NW,text:MW,hasText:!1,active:!1,meta:``}]}function WW(e){return e?.text?`proposed by visions`:``}function GW(e,t=Date.now()){let n=Number(e);if(!Number.isFinite(n)||n<=0)return``;let r=Math.floor(Math.max(0,Number(t)-n)/6e4);if(r<1)return`just now`;if(r===1)return`1 minute ago`;if(r<60)return`${r} minutes ago`;let i=Math.floor(r/60);if(i===1)return`1 hour ago`;if(i<24)return`${i} hours ago`;let a=Math.floor(i/24);return a===1?`1 day ago`:`${a} days ago`}function KW(e,t=Date.now()){let n=WW(e);if(!n)return``;let r=typeof e?.id==`string`&&e.id?`thread ${e.id}, `:``,i=GW(e?.ts,t);return i?`${r}${n}, ${i}`:`${r}${n}`}function qW(e){let t=Number(e?.range?.start?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function JW(e){let t=Number(e?.range?.start?.character);return Number.isFinite(t)?t:0}function YW(e){let t=Number(e?.range?.start?.line);return Number.isFinite(t)?t:0}function XW(e){let t=typeof e==`string`?e:``;if(!t)return``;let n=t.lastIndexOf(`/`),r=n===-1?t:t.slice(n+1);if(!r)return t;try{return decodeURIComponent(r)}catch{return r}}function ZW(e){return typeof e==`number`&&Number.isFinite(e)?Math.max(Math.floor(e),0):0}function QW(e){let t=ZW(e);return t===1?`1 finding`:`${t} findings`}function $W(e){let t=ZW(e);return t===1?`1 comment`:`${t} comments`}function eG(e){let t=ZW(e?.findings?.length),n=ZW(e?.comments?.length),r=typeof e?.hand==`string`&&e.hand?1:0,i=[];return r>0&&i.push(`raised hand`),t>0&&i.push(QW(t)),n>0&&i.push($W(n)),i.length>0?i.join(`, `):QW(0)}function tG(e){let t=typeof e==`string`?e.trim():``;return t?`Raised hand: ${t}`:``}function nG(e){return(typeof e?.hand==`string`?e.hand.trim():``)||null}function rG(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=nG(t);return i?(n.set(r,i),n):(n.delete(r),n)}function iG(e){let t=new Map,n=Array.isArray(e?.documents)?e.documents:[];for(let e of n){let n=typeof e?.uri==`string`?e.uri:``,r=typeof e?.hand==`string`?e.hand.trim():``;n&&r&&t.set(n,r)}return t}var aG=`hand`,oG=`unseen`,sG=`
|
|
241
|
-
`;function cG(e){let t=2166136261,n=3266489909;for(let r=0;r<e.length;r+=1){let i=e.charCodeAt(r);t=Math.imul(t^i,16777619)>>>0,n=Math.imul(n^i,2246822507)>>>0}return`${t.toString(36).padStart(7,`0`)}${n.toString(36).padStart(7,`0`)}`}function lG(e,t){return cG(JSON.stringify([e,...t]))}function uG(e,t){return lG(`finding`,[e,qW(t),String(t.code??``),String(t.message??``)])}function dG(e,t){return lG(`comment`,[e,gG(t),String(t.message??``)])}function fG(e){return lG(`fix`,[e.uri,DG(e),e.code,e.message,OG(e)])}function pG(e){return lG(`intent`,[e.key,e.text,e.active])}function mG(e,t,n,r=[],i=null){let a=[...n].map(([e,t])=>lG(`hand`,[e,t])).sort(),o=new Set;for(let r of[...e.keys(),...t.keys(),...n.keys()])o.add(lG(`document`,[r]));for(let[t,n]of e)for(let e of n)o.add(uG(t,e));for(let[e,n]of t)for(let t of n)o.add(dG(e,t));for(let e of r)o.add(fG(e));for(let e of UW(i,null,0))e.hasText&&o.add(pG(e));let s=[...o].sort();return{signature:[...a,...s].join(sG),handEntries:a,contentEntries:s}}function hG(e,t){let n=new Set(t.split(sG));return e.handEntries.some(e=>!n.has(e))?aG:e.contentEntries.some(e=>!n.has(e))?oG:null}function gG(e){let t=Number(e?.line);return!Number.isFinite(t)||t<1?`L?`:`L${Math.floor(t)}`}function _G(e){return Array.isArray(e?.diagnostics)?e.diagnostics:[]}function vG(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=_G(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function yG(e){return Array.isArray(e?.comments)?e.comments:[]}function bG(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=yG(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function xG(e){let t=new Map,n=Array.isArray(e?.documents)?e.documents:[];for(let e of n){let n=typeof e?.uri==`string`?e.uri:``,r=Array.isArray(e?.diagnostics)?e.diagnostics:[];n&&r.length!==0&&t.set(n,r)}return t}function SG(e){let t=new Map,n=Array.isArray(e?.documents)?e.documents:[];for(let e of n){let n=typeof e?.uri==`string`?e.uri:``,r=Array.isArray(e?.comments)?e.comments:[];n&&r.length!==0&&t.set(n,r)}return t}function CG(e,t=new Map,n=new Map){let r=[],i=new Set([...e.keys(),...t.keys(),...n.keys()]);for(let a of i){let i=e.get(a),o=t.get(a),s=n.get(a)||null,c=Array.isArray(i)?i:[],l=Array.isArray(o)?o:[];(c.length!==0||l.length!==0||s)&&r.push({uri:a,name:XW(a)||a,hand:s,findings:[...c].sort((e,t)=>YW(e)-YW(t)||JW(e)-JW(t)),comments:[...l].sort((e,t)=>(Number(e?.line)||0)-(Number(t?.line)||0))})}return r.sort((e,t)=>wG(e.name,t.name)||wG(e.uri,t.uri)),r}function wG(e,t){return e<t?-1:+(e>t)}var TG=`No fixes yet. Silent fixes appear here once the lane applies or is refused one.`;function EG(e){let t=ZW(e);return t===1?`1 fix`:`${t} fixes`}function DG(e){let t=Number(e?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function OG(e){return e?.applied===!0?`applied`:`refused`}function kG(e,{uri:t=``,ts:n=0}={}){if(!e||typeof e!=`object`)return null;let r=e,i=typeof r.message==`string`?r.message.trim():``;if(!i)return null;let a=Number(r.line),o=Number(r.ts??n);return{uri:typeof r.uri==`string`&&r.uri?r.uri:t,code:typeof r.code==`string`?r.code:``,line:Number.isFinite(a)&&a>0?Math.floor(a):0,message:i,applied:r.applied===!0,ts:Number.isFinite(o)&&o>0?o:0}}function AG(e){let t=typeof e?.uri==`string`?e.uri:``,n=Number(e?.ts);return kG(e?.fix,{uri:t,ts:Number.isFinite(n)?n:0})}function jG(e,t,{max:n=20}={}){let r=AG(t);return r?[r,...e].slice(0,Math.max(0,Math.floor(n))):[...e]}function MG(e,{max:t=20}={}){let n=Array.isArray(e?.fixes)?e.fixes:[],r=[];for(let e of n){let t=kG(e);t&&r.push(t)}return r.slice(0,Math.max(0,Math.floor(t)))}var NG=`No activity yet. The ingest lane reports what your sessions and tools are doing.`,PG={terminal:`terminal`,agentLogs:`agent`,git:`git`,fs:`files`,shellHistory:`shell`,editor:`editor`};function FG(e){let t=typeof e==`string`?e:``;return PG[t]||t||`source`}function IG(e,t=Date.now()){let n=Number(e);if(!Number.isFinite(n)||n<=0)return``;let r=Math.max(0,Math.floor((Number(t)-n)/1e3));if(r<60)return`${r}s ago`;let i=Math.floor(r/60);if(i<60)return`${i}m ago`;let a=Math.floor(i/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}function LG(e){if(!e||typeof e!=`object`)return null;let t=e,n=Number(t.seq);if(!Number.isFinite(n))return null;let r=typeof t.summary==`string`?t.summary.trim():``;if(!r)return null;let i=Number(t.ts),a=t.scope&&typeof t.scope==`object`?t.scope:{};return{seq:Math.floor(n),source:typeof t.source==`string`?t.source:``,kind:typeof t.kind==`string`?t.kind:``,ts:Number.isFinite(i)&&i>0?i:0,summary:r,root:typeof a.root==`string`&&a.root?a.root:null,sessionId:typeof a.sessionId==`string`&&a.sessionId?a.sessionId:null}}function RG(e){let t=Array.isArray(e?.events)?e.events:[],n=[];for(let e of t){let t=LG(e);t&&n.push(t)}return n}function zG(e){let t=Number(e?.overflow);return!Number.isFinite(t)||t<=0?0:Math.floor(t)}function BG(e){let t=ZW(e);return t<=0?``:t===1?`1 more event not shown`:`${t} more events not shown`}function VG(e,t){return[...e].sort((e,t)=>t.seq-e.seq).slice(0,Math.max(0,Math.floor(t)))}function HG(e,t,{max:n=100}={}){let r=RG(t);if(r.length===0)return VG(e,n);let i=new Map;for(let t of e)i.set(t.seq,t);for(let e of r)i.set(e.seq,e);return VG([...i.values()],n)}function UG(e,{max:t=100}={}){return VG(RG(e),t)}function WG(e){let t=ZW(e);return t===1?`1 event`:`${t} events`}function GG(e){if(!e?.root)return`machine`;let t=e.root.replace(/[\\/]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n===-1?t:t.slice(n+1)}var KG=new Map,qG=new Map,JG=new Map,YG=FW(),XG=new Map,ZG=null,QG=null,$G=null,eK=null,tK=null,nK=[],rK=0,iK=null,aK=[],oK=null,sK=mG(KG,qG,JG,aK,YG),cK=qF(),lK=WE({getAck:()=>cK,setAck:e=>{cK=e,JF(e)},signature:()=>sK.signature,isLooking:()=>!Od(ZG)});function uK(){let e=V(`section`,`visions-intent`);e.append(V(`h2`,`visions-intent-title`,`Intent`));let t=V(`div`,`visions-intent-list`);return e.append(t),$G={list:t},e}function dK(e){let t=V(`div`,`visions-intent-item`),n=V(`div`,`visions-intent-head`);n.append(V(`span`,`visions-intent-scope`,e.label),V(`span`,`visions-intent-meta`,e.meta));let r=V(`p`,`visions-intent-text`,e.text);return r.classList.toggle(`visions-intent-none`,!e.hasText),t.classList.toggle(`visions-intent-active`,e.active===!0),t.append(n,r),t}function fK(){$G&&$G.list.replaceChildren(...UW(YG,XG).map(dK))}function pK(e){XG=e instanceof Map?e:new Map,fK()}function mK(e){let t=V(`section`,`visions-doc`),n=V(`div`,`visions-doc-head`),r=V(`h2`,`visions-doc-name`);if(r.textContent=e.name,r.title=e.uri,n.append(r,V(`span`,`visions-doc-count`,eG(e))),t.append(n),e.hand&&t.append(hK(e.hand)),e.findings.length>0){let n=V(`div`,`visions-findings`);for(let t of e.findings)n.append(_K(t));t.append(n)}if(e.comments.length>0){let n=V(`div`,`visions-comments`);for(let t of e.comments)n.append(gK(t));t.append(n)}return t}function hK(e){let t=V(`div`,`visions-hand`);return t.textContent=tG(e),t}function gK(e){let t=V(`div`,`visions-comment`),n=V(`div`,`visions-comment-head`);n.append(V(`span`,`visions-comment-chip`,`visions`)),n.append(V(`span`,`visions-comment-line`,gG(e))),t.append(n);let r=V(`p`,`visions-comment-message`);return r.textContent=e?.message==null?``:String(e.message),t.append(r),t}function _K(e){let t=V(`div`,`visions-finding`);t.append(V(`span`,`visions-finding-line`,qW(e)));let n=e?.code==null?``:String(e.code);n&&t.append(V(`span`,`visions-finding-code`,n));let r=V(`span`,`visions-finding-message`);return r.textContent=e?.message==null?``:String(e.message),t.append(r),t}function vK({force:e=!1}={}){if(!QG||!e&&Od(ZG))return;QG.textContent=``;let t=CG(KG,qG,JG);if(t.length===0){let e=V(`p`,`visions-empty`,jW);if(tK===!1){let t=kW(`lanes-visions`,`visions-enabled`,`Enable Visions`);e.append(document.createTextNode(` `),t)}QG.append(e);return}for(let e of t)QG.append(mK(e))}function yK(e){tK=e?.visions?.enabled===!0,vK()}function bK(){let e=V(`section`,`visions-activity`),t=V(`div`,`visions-activity-head`);t.append(V(`h2`,`visions-activity-title`,`Activity`));let n=V(`span`,`visions-activity-count`);t.append(n),e.append(t);let r=V(`div`,`visions-activity-list`);e.append(r);let i=V(`p`,`visions-activity-overflow`);return e.append(i),iK={count:n,list:r,overflow:i},e}function xK(e,t){let n=V(`div`,`visions-activity-row`);n.append(V(`span`,`visions-activity-source`,FG(e.source))),n.append(V(`span`,`visions-activity-age`,IG(e.ts,t))),n.append(V(`span`,`visions-activity-scope`,GG(e)));let r=V(`span`,`visions-activity-summary`);return r.textContent=e.summary,n.append(r),n}function SK({force:e=!1}={}){if(!iK||!e&&Od(ZG))return;let{count:t,list:n,overflow:r}=iK;if(t.textContent=WG(nK.length),n.textContent=``,nK.length===0){n.append(V(`p`,`visions-empty`,NG)),r.textContent=``;return}let i=Date.now();for(let e of nK)n.append(xK(e,i));r.textContent=BG(rK)}function CK(){let e=V(`section`,`visions-fixes`),t=V(`div`,`visions-fixes-head`);t.append(V(`h2`,`visions-fixes-title`,`Fixes`));let n=V(`span`,`visions-fixes-count`);t.append(n),e.append(t);let r=V(`div`,`visions-fixes-list`);return e.append(r),oK={count:n,list:r},e}function wK(e){let t=V(`div`,`visions-fix-row`);t.dataset.applied=e.applied?`yes`:`no`;let n=V(`span`,`visions-fix-file`);n.textContent=XW(e.uri)||e.uri,n.title=e.uri,t.append(n),t.append(V(`span`,`visions-fix-line`,DG(e))),t.append(V(`span`,`visions-fix-outcome`,OG(e))),t.append(V(`span`,`visions-fix-code`,e.code||``));let r=V(`span`,`visions-fix-message`);return r.textContent=e.message,t.append(r),t}function TK({force:e=!1}={}){if(!oK||!e&&Od(ZG))return;let{count:t,list:n}=oK;if(t.textContent=EG(aK.length),n.textContent=``,aK.length===0){n.append(V(`p`,`visions-empty`,TG));return}for(let e of aK)n.append(wK(e))}function EK(){sK=mG(KG,qG,JG,aK,YG),sK.signature!==``&&lK.refresh(),eK&&eK(hG(sK,cK))}function DK(e){eK=e,EK()}function OK(e){if(ZG)return ZG;let t=V(`div`,`visions-content`);t.append(uK());let n=V(`div`,`visions-feed`);return t.append(n),t.append(CK()),t.append(bK()),e.appendChild(t),ZG=t,QG=n,fK(),vK({force:!0}),TK({force:!0}),SK({force:!0}),t}function kK(){fK(),vK({force:!0}),TK({force:!0}),SK({force:!0})}function AK(){sK.signature!==``&&lK.acknowledge(),EK()}function jK(e){aK=jG(aK,e),TK(),EK()}function MK(e){KG=vG(KG,e),vK(),EK()}function NK(e){qG=bG(qG,e),vK(),EK()}function PK(e){JG=rG(JG,e),vK(),EK()}function FK(e){YG=BW(YG,e),fK(),EK()}function IK(e){nK=HG(nK,e),rK=zG(e),SK(),EK()}function LK(e){nK=UG(e),rK=0,SK(),EK()}function RK(e){KG=xG(e),qG=SG(e),JG=iG(e),YG=RW(e),aK=MG(e),fK(),vK(),TK(),EK()}var zK=`Claude Code hooks injected into every session Glimmervoid spawns.`,BK=`Loading hooks`,VK=`No hooks yet. A hook runs a command, or calls a URL, when a Claude Code event fires in a Glimmervoid session. Start from one of these, or add your own.`,HK=`Start from`,UK=`Filter by name, event or command`,WK=`Nothing matches that filter.`,GK=`Preview`,KK=`The entry this becomes in the per-session settings file.`,qK=`Duplicate`,JK=`Discard changes`,YK=`Close the editor and lose the unsaved changes?`,XK=`Esc cancels. Ctrl+Enter saves.`,ZK=`A change reaches a session at its next start or restart. Claude Code sessions only; Codex and Grok sessions do not read this file.`,QK=`Glimmervoid's own hooks`,$K=`Always present, read-only. Status detection depends on them.`,eq=`Your hooks`,tq=`New hook`,nq=`Edit hook`,rq=`Saved to config.json.`,iq=`All projects`,aq=`This event takes no matcher.`,oq=`Blank uses Claude Code's default for the event.`,sq=Object.freeze([{value:`command`,label:`Command`,hint:`Run a shell command. It receives the event JSON on stdin.`},{value:`http`,label:`HTTP`,hint:`POST the event JSON to a URL.`}]),cq=Object.freeze([{id:`lint`,label:`Lint after edits`,summary:`PostToolUse on Edit|Write`,draft:{name:`Lint after edits`,event:`PostToolUse`,matcher:`Edit|Write`,type:`command`,command:`npx biome check --write "$(jq -r .tool_input.file_path)"`}},{id:`notify`,label:`Notify on Stop`,summary:`Stop, command`,draft:{name:`Notify on Stop`,event:`Stop`,matcher:``,type:`command`,command:`command -v notify-send >/dev/null 2>&1 && notify-send "Claude finished a turn" || { command -v osascript >/dev/null 2>&1 && osascript -e 'display notification "Claude finished a turn" with title "Claude Code"'; }`}},{id:`guard`,label:`Guard destructive Bash`,summary:`PreToolUse on Bash, exit 2 blocks`,draft:{name:`Guard destructive Bash`,event:`PreToolUse`,matcher:`Bash`,type:`command`,command:`jq -r .tool_input.command | grep -Eq "rm -rf|git push --force" && exit 2 || exit 0`}},{id:`log`,label:`Log every prompt`,summary:`UserPromptSubmit, appends JSON`,draft:{name:`Log every prompt`,event:`UserPromptSubmit`,matcher:``,type:`command`,command:`cat >> ~/.claude/prompts.jsonl`}}]),lq=Object.freeze({hooks:[],builtin:[],events:[]});function uq(e){return!e||typeof e.error==`string`}function dq(e){return!e||typeof e.error!=`string`?``:e.error}function fq(e,t){let n=e?.[t];return Array.isArray(n)?n:lq[t]}var pq=e=>fq(e,`hooks`),mq=e=>fq(e,`builtin`),hq=e=>fq(e,`events`);function gq(e){let t=e?.limits?.maxTimeoutSec;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:600}function _q(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return typeof n!=`string`||!t||n===t}function vq(e){let t=pq(e),n=t.filter(e=>e.enabled!==!1).length;return[{label:`yours`,value:String(t.length),tone:null},{label:`enabled`,value:String(n),tone:t.length>0&&n===0?`warn`:null},{label:`built in`,value:String(mq(e).length),tone:null}]}function yq(e,t){let n=new Map(t.map((e,t)=>[e.name,t])),r=e=>n.get(e.event)??t.length;return[...e].sort((e,t)=>{let n=r(e)-r(t);return n===0?String(e.name).localeCompare(String(t.name)):n})}function bq(e,t){let n=String(t||``).trim().toLowerCase();return n?e.filter(e=>[e.name,e.event,e.matcher,e.command,e.url].some(e=>typeof e==`string`&&e.toLowerCase().includes(n))):e}function xq(e){return e.length>=4}function Sq(e){let t=[];for(let n of e){let e=t[t.length-1];if(e&&e.event===n.event){e.hooks.push(n);continue}t.push({event:n.event,hooks:[n]})}return t}function Cq(e){let t=e.type===`http`?{type:`http`,url:e.url||``}:{type:`command`,command:e.command||``};Number.isInteger(e.timeout)&&Number(e.timeout)>0&&(t.timeout=e.timeout);let n=e.matcher?{matcher:e.matcher,hooks:[t]}:{hooks:[t]};return JSON.stringify({hooks:{[e.event]:[n]}},null,2)}function wq(e){return`${e} copy`}function Tq(e,t){return e.find(e=>e.name===t)||null}function Eq(e,t){let n=Tq(e,t);return n?n.matcher?`Matches ${n.matcher}. Blank matches every ${n.name}.`:aq:``}function Dq(e){return e.type===`http`?e.url||``:e.command||``}function Oq(e){let t=sq.find(t=>t.value===e);return t?t.label:String(e||``)}function kq(e){return!Number.isInteger(e.timeout)||Number(e.timeout)<=0?``:`${e.timeout}s timeout`}function Aq(e,t){let n=Array.isArray(e.projects)?e.projects:[];return n.length===0?iq:n.map(e=>{let n=t.find(t=>t.id===e);return n?n.name:e}).join(`, `)}function jq(e){return e.matcher?`${e.event} / ${e.matcher}`:e.event}function Mq(e){return e.matcher?`${e.event} / ${e.matcher}`:e.event}function Nq(e,t){let n=Array.isArray(e.projects)?e.projects:[],r=new Set(t.map(e=>e.id));return n.filter(e=>!r.has(e))}function Pq(e){let t=e[0];return{id:null,name:``,event:t?t.name:``,matcher:``,type:`command`,command:``,url:``,timeout:``,enabled:!0,projects:[]}}function Fq(e){return{id:e.id??null,name:e.name||``,event:e.event||``,matcher:e.matcher||``,type:e.type===`http`?`http`:`command`,command:e.command||``,url:e.url||``,timeout:Number.isInteger(e.timeout)?String(e.timeout):``,enabled:e.enabled!==!1,projects:Array.isArray(e.projects)?[...e.projects]:[]}}function Iq(e,t,n=600){if(!e.name.trim())return`Give the hook a name.`;let r=Tq(t,e.event);if(!r)return`Pick an event.`;if(e.matcher.trim()&&!r.matcher)return`${r.name} takes no matcher.`;if(e.type===`http`&&r.http===!1)return`${r.name} does not support HTTP hooks.`;if(e.type===`command`&&!e.command.trim())return`Enter the command to run.`;if(e.type===`http`&&!/^https?:\/\/\S+$/i.test(e.url.trim()))return`Enter a URL starting with http:// or https://.`;if(e.timeout.trim()!==``){let t=Number(e.timeout);if(!Number.isInteger(t)||t<1||t>n)return`Timeout must be a whole number of seconds from 1 to ${n}.`}return null}function Lq(e){let t={name:e.name.trim(),event:e.event,type:e.type,enabled:e.enabled!==!1};return e.id&&(t.id=e.id),e.matcher.trim()&&(t.matcher=e.matcher.trim()),e.type===`command`&&(t.command=e.command.trim()),e.type===`http`&&(t.url=e.url.trim()),e.timeout.trim()!==``&&(t.timeout=Number(e.timeout)),e.projects.length>0&&(t.projects=[...e.projects]),t}function Rq(e,t){let n={...Pq(t),...e.draft};return Tq(t,n.event)||(n.event=Pq(t).event),n}function zq(e,t){return JSON.stringify(Lq(e))!==JSON.stringify(t)}function Bq(e){return{...e,enabled:e.enabled===!1}}function Vq(e){return`Delete the hook "${e.name}"? Sessions already running keep it until they restart.`}var Hq=null,Uq=null,Wq=null,Gq=0,Kq=null,qq=null,Jq=null,Yq=null,Xq=null,Zq=!1,Qq=null,$q=``,eJ=new Set,tJ=new Set,nJ=!1,rJ=(e,t)=>Td(`hooks`,e,t);function iJ(e,t,n){let r=V(`p`,e,t);return n&&(r.dataset.tone=n),r}function aJ(e,t,n,r){let i=V(`button`,e,t);return i.type=`button`,r&&i.setAttribute(`aria-label`,r),i.addEventListener(`click`,n),i}function oJ(e){if(!Wq)return null;Gq+=1;let t=`hooks-${Gq}`;return Wq({requestId:t,...e}),t}function sJ(e,t,n){let r=V(`label`,`hooks-field`);return r.append(V(`span`,`hooks-field-label`,e),t),n&&r.append(V(`span`,`hooks-field-hint`,n)),r}function cJ(e,t,n){let r=V(`input`,`settings-view-input`);return r.type=`text`,r.value=e,r.autocomplete=`off`,r.spellcheck=!1,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value)),r}function lJ(e,t){let n=V(`textarea`,`settings-view-input hooks-command`);return n.rows=3,n.value=e,n.spellcheck=!1,n.addEventListener(`input`,()=>t(n.value)),n}function uJ(e,t,n){let r=V(`select`,`settings-view-input hooks-select`);for(let n of t){let t=V(`option`,null,n.name);t.value=n.name,t.title=n.description,n.name===e.event&&(t.selected=!0),r.append(t)}return r.addEventListener(`change`,()=>n(r.value)),r}function dJ(e,t){let n=V(`div`,`hooks-type-row`);n.setAttribute(`role`,`radiogroup`);for(let r of sq){let i=V(`label`,`settings-view-toggle hooks-choice`),a=V(`input`,`settings-view-checkbox`);a.type=`radio`,a.name=`hooks-type`,a.value=r.value,a.checked=e.type===r.value,a.title=r.hint,a.addEventListener(`change`,()=>{a.checked&&t(r.value)}),i.append(a,V(`span`,null,r.label)),n.append(i)}return n}function fJ(e,t){let n=V(`div`,`hooks-projects`);if(t.length===0)return n.append(V(`span`,`hooks-field-hint`,iq)),n;let r=V(`label`,`settings-view-project-choice hooks-choice`),i=V(`input`,`settings-view-checkbox`);i.type=`checkbox`,i.checked=e.projects.length===0,r.append(i,V(`span`,null,iq)),n.append(r);let a=[];for(let r of t){let t=V(`label`,`settings-view-project-choice hooks-choice`),o=V(`input`,`settings-view-checkbox`);o.type=`checkbox`,o.value=r.id,o.checked=e.projects.includes(r.id),o.addEventListener(`change`,()=>{e.projects=a.filter(e=>e.checked).map(e=>e.value),i.checked=e.projects.length===0}),a.push(o),t.append(o,V(`span`,null,r.name)),r.agent!==`claude-code`&&(t.append(V(`span`,`hooks-choice-note`,r.agent)),t.title=`Not a Claude Code project: this hook will not reach its sessions.`),n.append(t)}return i.addEventListener(`change`,()=>{if(!i.checked){i.checked=e.projects.length===0;return}for(let e of a)e.checked=!1;e.projects=[]}),n}function pJ(e){let t=V(`div`,`hooks-templates`);t.append(V(`span`,`hooks-templates-label`,HK));for(let n of cq){let r=aJ(`hooks-chip`,n.label,()=>gJ(null,Rq(n,e)));r.title=n.summary,t.append(r)}return t}function mJ(e){Xq&&(Xq.textContent=e||``,Xq.hidden=!e)}function hJ(e){let t=hq(Hq),n=Dd(Hq),r=rJ(e.id?nq:tq,rq);r.classList.add(`hooks-editor`);let i=V(`form`,`hooks-form`);i.addEventListener(`submit`,e=>{e.preventDefault(),yJ()}),i.addEventListener(`keydown`,e=>{if(e.key===`Escape`){e.preventDefault(),vJ();return}e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),yJ())}),e.id||i.append(pJ(t));let a=V(`span`,`hooks-field-hint`,Eq(t,e.event)),o=cJ(e.matcher,``,t=>{e.matcher=t}),s=sJ(`Command`,lJ(e.command,t=>{e.command=t}),`Runs through the shell with the event JSON on stdin. Exit 2 blocks the action where the event allows it.`),c=sJ(`URL`,cJ(e.url,`http://127.0.0.1:8080/hook`,t=>{e.url=t}),`Claude Code POSTs the event JSON to it.`),l=()=>{s.hidden=e.type!==`command`,c.hidden=e.type!==`http`};l();let u=sJ(`Matcher`,o,null);u.append(a);let d=()=>{let n=t.find(t=>t.name===e.event);a.textContent=Eq(t,e.event),o.disabled=!!n&&!n.matcher,o.disabled&&(o.value=``,e.matcher=``)};d();let f=V(`input`,`settings-view-input hooks-timeout`);f.type=`number`,f.inputMode=`numeric`,f.min=`1`,f.max=String(gq(Hq)),f.value=e.timeout,f.addEventListener(`input`,()=>{e.timeout=f.value});let p=V(`label`,`settings-view-toggle hooks-choice`),m=V(`input`,`settings-view-checkbox`);m.type=`checkbox`,m.checked=e.enabled,m.addEventListener(`change`,()=>{e.enabled=m.checked}),p.append(m,V(`span`,null,`Enabled`)),i.append(sJ(`Name`,cJ(e.name,`Lint after edits`,t=>{e.name=t}),null),sJ(`Event`,uJ(e,t,t=>{e.event=t,d()}),null),u,sJ(`Type`,dJ(e,t=>{e.type=t,l()}),null),s,c,sJ(`Timeout (seconds)`,f,oq),sJ(`Projects`,fJ(e,n),null),sJ(``,p,null)),Xq=V(`p`,`hooks-editor-error`),Xq.setAttribute(`role`,`alert`),Xq.hidden=!0;let h=V(`div`,`hooks-editor-footer`),g=V(`span`,`hooks-editor-shortcut`,XK),_=aJ(`btn-dialog btn-dialog-cancel`,`Cancel`,vJ),v=V(`button`,`btn-dialog btn-dialog-confirm`,e.id?`Save changes`:`Add hook`);return v.type=`submit`,h.append(Xq,g,_,v),i.append(h),r.append(i),r}function gJ(e,t=null){qq=t||(e?Fq(e):Pq(hq(Hq))),Jq=Lq(e?Fq(e):Pq(hq(Hq))),Yq=hJ(qq),AJ({force:!0}),Yq.scrollIntoView({block:`nearest`});let n=Yq.querySelector(`input[type=text]`);n instanceof HTMLInputElement&&n.focus()}function _J(){qq=null,Jq=null,Yq=null,Xq=null,Zq=!1,Qq=null,nJ=!0,AJ({force:!0})}function vJ(){if(!qq||!Jq||!zq(qq,Jq)){_J();return}rf({title:JK,message:YK,confirmLabel:`Discard`,danger:!0,onConfirm:_J})}function yJ(){if(!qq||Zq)return;let e=Iq(qq,hq(Hq),gq(Hq));if(e){mJ(e);return}Zq=!0,mJ(``),Qq=oJ({type:`save-hook`,hook:Lq(qq)}),Qq||(Zq=!1)}function bJ(e){let t=V(`details`,`hooks-preview`);t.open=eJ.has(e.id),t.addEventListener(`toggle`,()=>{if(t.open){eJ.add(e.id);return}eJ.delete(e.id)});let n=V(`summary`,`hooks-preview-summary`,GK);n.title=KK;let r=V(`pre`,`hooks-preview-code`,Cq(e));return t.append(n,r),t}function xJ(e,{grouped:t=!1}={}){let n=Dd(Hq),r=V(`article`,`hooks-row`);r.setAttribute(`aria-label`,e.name),e.enabled===!1&&(r.dataset.state=`off`);let i=V(`div`,`hooks-row-main`),a=V(`div`,`hooks-row-head`);a.append(V(`span`,`hooks-row-name`,e.name));let o=t?e.matcher||``:jq(e);o&&a.append(V(`span`,`hooks-row-event`,o));let s=V(`code`,`hooks-row-target`,Dq(e));s.title=Dq(e);let c=V(`p`,`hooks-row-meta`,[Oq(e.type),kq(e),Aq(e,n)].filter(Boolean).join(` / `));i.append(a,s,c);let l=Nq(e,n);l.length>0&&i.append(iJ(`hooks-row-meta`,`Scoped to a project no longer in config: ${l.join(`, `)}`,`warn`)),i.append(bJ(e));let u=V(`div`,`hooks-row-actions`),d=V(`label`,`settings-view-toggle hooks-choice`),f=V(`input`,`settings-view-checkbox`);f.type=`checkbox`,f.checked=e.enabled!==!1,f.disabled=tJ.has(e.id),f.setAttribute(`aria-label`,`${e.name} enabled`),f.addEventListener(`change`,()=>{tJ.add(e.id),f.disabled=!0,oJ({type:`save-hook`,hook:Bq(e)})}),d.append(f,V(`span`,null,`On`));let p=aJ(`hooks-btn`,`Edit`,()=>gJ(e),`Edit ${e.name}`),m=aJ(`hooks-btn`,qK,()=>{let t=Fq({...e,name:wq(e.name)});t.id=null,gJ(null,t)},`Duplicate ${e.name}`),h=aJ(`hooks-btn hooks-btn-danger`,`Delete`,()=>{rf({title:`Delete hook`,message:Vq(e),confirmLabel:`Delete`,danger:!0,onConfirm:()=>{tJ.add(e.id),oJ({type:`delete-hook`,id:e.id}),AJ({force:!0})}})},`Delete ${e.name}`);return h.disabled=tJ.has(e.id),u.append(d,p,m,h),r.append(i,u),r}function SJ(e){let t=V(`article`,`hooks-row hooks-row-builtin`),n=V(`div`,`hooks-row-main`);return n.append(V(`span`,`hooks-row-event`,Mq(e)),V(`p`,`hooks-row-meta`,e.purpose)),t.append(n),t}function CJ(){let e=rJ(`Hooks`,zK),t=V(`div`,`hooks-stats`);for(let e of vq(Hq))t.append(Ed(`hooks`,e.label,e.value,e.tone));return e.append(t,iJ(`hooks-meta`,ZK)),e}function wJ(){let e=V(`input`,`settings-view-input hooks-filter`);return e.type=`search`,e.value=$q,e.placeholder=UK,e.setAttribute(`aria-label`,UK),e.addEventListener(`input`,()=>{$q=e.value;let t=Uq?.querySelector(`.hooks-list-yours`);t&&t.replaceWith(EJ())}),e}function TJ(){let e=V(`div`,`hooks-empty-state`);return e.append(iJ(`hooks-empty`,VK),pJ(hq(Hq))),e}function EJ(){let e=V(`div`,`hooks-list-yours`),t=pq(Hq);if(t.length===0)return e.append(TJ()),e;let n=bq(yq(t,hq(Hq)),$q);if(n.length===0)return e.append(iJ(`hooks-empty`,WK)),e;for(let t of Sq(n)){let n=V(`div`,`hooks-group`);n.append(V(`h3`,`hooks-group-title`,t.event));let r=V(`div`,`hooks-list`);for(let e of t.hooks)r.append(xJ(e,{grouped:!0}));n.append(r),e.append(n)}return e}function DJ(){let e=rJ(eq,null),t=aJ(`hooks-btn hooks-btn-add`,`+ New hook`,()=>gJ(null));t.disabled=!!qq;let n=e.querySelector(`.hooks-section-head`);return n&&n.append(t),xq(pq(Hq))&&e.append(wJ()),e.append(EJ()),e}function OJ(){let e=V(`details`,`hooks-builtin`),t=V(`summary`,`hooks-builtin-summary`);t.append(V(`span`,`hooks-section-title`,`${QK} (${mq(Hq).length})`),V(`span`,`hooks-section-hint`,$K));let n=V(`div`,`hooks-list`);for(let e of mq(Hq))n.append(SJ(e));return e.append(t,n),e}function kJ(){let e=V(`div`,`hooks-content`);return Hq?uq(Hq)?(e.append(iJ(`hooks-warning`,dq(Hq))),e):(e.append(CJ()),Yq&&e.append(Yq),e.append(DJ(),OJ()),e):(e.append(iJ(`hooks-empty`,BK)),e)}function AJ({force:e=!1}={}){if(!Uq||!e&&Od(Uq)||(Uq.replaceChildren(kJ()),!nJ))return;nJ=!1;let t=Uq.querySelector(`.hooks-btn-add`);t instanceof HTMLButtonElement&&t.focus()}function jJ(e){Wq=e}function MJ(){Wq&&(Gq+=1,Kq=`hooks-report-${Gq}`,Wq({type:`request-hooks-report`,requestId:Kq}))}function NJ(e){Uq||(Uq=V(`div`,`hooks-panel`),e.append(Uq),AJ({force:!0}))}function PJ(){AJ({force:!0})}function FJ(e){_q(e,Kq)&&(Hq=e,tJ.clear(),Zq=!1,AJ())}function IJ(e){let t=Qq!==null&&e.requestId===Qq;if(t&&(Qq=null,Zq=!1),e.ok){t&&_J(),MJ();return}let n=typeof e.error==`string`&&e.error?e.error:`Could not save the hook`;if(t){mJ(n);return}Wx(n,{persist:!0}),MJ()}function LJ(e){e.ok||Wx(typeof e.error==`string`&&e.error?e.error:`Could not delete the hook`,{persist:!0}),MJ()}function RJ(e,t,n){return{body:String(n||`Session needs attention`),tag:`glimmervoid-${e||``}-${t||``}`,renotify:!0,silent:!0}}var zJ=4e3;function BJ(e,t){return`glimmervoid-notify-claim-${e||``}-${t||``}`}function VJ(e,t,n,r=zJ){try{let i=e.getItem(t);if(i){let e=Number(i);if(Number.isFinite(e)&&n-e<r)return!1}return e.setItem(t,String(n)),!0}catch{return!0}}function HJ(){return typeof Notification>`u`?null:Notification}function UJ(){return HJ()!==null}function WJ(){let e=HJ();return e?e.permission:`unavailable`}async function GJ(){let e=HJ();if(!e)return`denied`;if(e.permission!=="default")return e.permission;try{return await e.requestPermission()}catch{return e.permission}}function KJ(){let e=HJ();e&&lF()&&e.permission==="default"&&GJ()}function qJ({session:e,category:t,message:n,kind:r,ignoreFocus:i=!1}={}){let a=HJ();if(a&&lF()&&a.permission===`granted`&&(i||typeof document>`u`||typeof document.hasFocus!=`function`||!document.hasFocus())&&VJ(window.localStorage,BJ(e,t),Date.now()))try{let i=new a(`Glimmervoid`,RJ(e,t,n));i.onclick=()=>{window.focus(),r===`plan`&&typeof e==`string`&&(window.location.hash=cR(e)),i.close()}}catch{}}var JJ=[{name:`glimmervoid`,state:I.RUNNING,awaitingBackgroundTasks:!1},{name:`glimmervoid (2)`,state:I.RUNNING,awaitingBackgroundTasks:!0},{name:`api`,state:I.WAITING,awaitingBackgroundTasks:!1},{name:`docs-site`,state:I.IDLE,awaitingBackgroundTasks:!1}];function YJ(){let e=V(`div`,`compact-status-preview`);e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,`Example sidebar sessions showing how status appears with this setting`);for(let t of JJ){let{pill:n,refs:r}=xU(`div`,`focus-pill compact-status-preview-pill`);r.name.textContent=t.name,SU(n,r,t.state,t.awaitingBackgroundTasks),e.append(n)}return e}var XJ=61.2,ZJ=37.8,QJ=768,$J=.68,eY=64,tY=5;function nY(e,t,n){return Math.min(Math.max(e,t),n)}function rY({viewportWidthPx:e,viewportHeightPx:t,verticalProgress:n}){let r=nY(e/QJ,$J,1),i=(tY+70*n*n)*t/100;return{scale:r,spriteWidthPx:XJ,spriteHeightPx:ZJ,topPx:Math.max(i,eY),startXpx:-.45*e,endXpx:1.45*e}}function iY(e,t){return[[`--nyan-top`,`${e.topPx}px`],[`--nyan-scale`,String(e.scale*t)],[`--nyan-width`,`${e.spriteWidthPx}px`],[`--nyan-height`,`${e.spriteHeightPx}px`],[`--nyan-start-x`,`${e.startXpx}px`],[`--nyan-end-x`,`${e.endXpx}px`]]}var aY=null,oY=null,sY=null,cY=null,lY=-1,uY=null,dY=1;function fY(){if(!aY||uY===null)return;let e=rY({viewportWidthPx:document.documentElement.clientWidth,viewportHeightPx:document.documentElement.clientHeight,verticalProgress:uY});for(let[t,n]of iY(e,dY))aY.style.setProperty(t,n)}function pY(){cY!==null&&(clearTimeout(cY),cY=null)}function mY(e=_F()){return UP({isEnabled:e,hasReducedMotion:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,isPhone:qd(),options:oI()})}function hY(e,t){if(!aY||!oY||!sY||mY())return;let n=oI();pY();let r=HP(n,lY,Math.random,t);if(aY.onanimationend=null,aY.style.animation=`none`,!r){cY=setTimeout(()=>hY(!1),1e3);return}uY=r.verticalProgress,dY=n.flyingAnimalsScale,fY();let i=FP[r.animalIndex];oY.className=`nyan-sprite ${i.sprite}`,sY.className=`nyan-trail ${i.trail}`,lY=r.animalIndex,aY.offsetWidth,aY.style.animation=`nyan-fly ${r.durationSeconds}s linear`,e&&(aY.style.animationDelay=`-${r.firstDelaySeconds}s`),aY.onanimationend=e=>{aY&&e.target===aY&&(aY.onanimationend=null,aY.style.animation=`none`,cY=setTimeout(()=>hY(!1),r.gapMs))}}function gY(){aY||mY()||(aY=document.createElement(`div`),aY.className=`nyan-flight`,aY.setAttribute(`aria-hidden`,`true`),sY=document.createElement(`div`),oY=document.createElement(`div`),aY.append(sY,oY),document.body.appendChild(aY),window.addEventListener(`resize`,fY),window.addEventListener(`orientationchange`,fY),hY(!0))}function _Y(e){gY(),hY(!1,e)}function vY(){pY(),window.removeEventListener(`resize`,fY),window.removeEventListener(`orientationchange`,fY),aY?.remove(),aY=null,oY=null,sY=null,lY=-1,uY=null}var yY=!1;function bY(e){let t=document.documentElement;if(yY||(yY=!0,Jd(()=>bY(_F())),window.matchMedia(`(prefers-reduced-motion: reduce)`).addEventListener(`change`,()=>bY(_F()))),e){if(t.dataset.flyingAnimals=`true`,mY(e)){vY();return}gY();return}delete t.dataset.flyingAnimals,vY()}function xY(){let e=V(`div`),t=V(`p`,`flying-animals-status`);t.id=`flying-animals-gallery-status`,t.setAttribute(`role`,`status`);let n=V(`div`,`flying-animals-gallery`);n.setAttribute(`aria-label`,`Animal gallery`);let r=[],i=()=>{let e=mY(),n=BP(oI().flyingAnimalsExcludedSprites);t.textContent=[e,n?``:`No animals are included, so automatic flights are paused.`].filter(Boolean).join(` `);for(let t of r)t.disabled=e!==null},a=oI(),o=rY({viewportWidthPx:1440,viewportHeightPx:900,verticalProgress:0});for(let e of FP){let s=V(`article`,`flying-animal-tile`),c=V(`div`,`flying-animal-preview`);c.setAttribute(`aria-hidden`,`true`),c.style.setProperty(`--nyan-width`,`${o.spriteWidthPx}px`),c.style.setProperty(`--nyan-height`,`${o.spriteHeightPx}px`);let l=V(`div`,`flying-animal-preview-stage`);l.append(V(`div`,`nyan-trail ${e.trail}`),V(`div`,`nyan-sprite ${e.sprite}`)),c.append(l);let u=V(`label`,`flying-animal-include`),d=V(`input`,`settings-view-checkbox`);d.type=`checkbox`,d.checked=!a.flyingAnimalsExcludedSprites.includes(e.sprite),d.setAttribute(`aria-label`,`Include ${e.name}`),d.addEventListener(`change`,()=>{let t=new Set(oI().flyingAnimalsExcludedSprites);d.checked&&t.delete(e.sprite),d.checked||t.add(e.sprite),aI([...t]),bY(_F()),i()}),u.append(d,document.createTextNode(`Include`));let f=V(`button`,`btn-dialog btn-dialog-cancel`,`Fly now`);f.type=`button`,f.setAttribute(`aria-describedby`,t.id),f.addEventListener(`click`,()=>_Y(e.sprite)),r.push(f),s.append(c,V(`h2`,`flying-animal-name`,e.name),u,f),n.append(s)}return i(),e.append(t,n),e}var SY=`johncwaters/glimmervoid`,CY=Object.freeze([`opened`,`checks-failed`,`review-requested`,`approved`,`commented`,`merged`]),wY=Object.freeze([`notify`,`spawn`,`label`,`comment`]),TY=2e4,EY=65536,DY=/^[a-z0-9][a-z0-9-]{0,63}$/,OY=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,kY=/[\x00-\x1f\x7f,]|^-/,AY=(e,t)=>{let n=`${e} must be an integer between ${t.min} and ${t.max}`;return k({error:n}).int({error:n}).min(t.min,{error:n}).max(t.max,{error:n})},jY=A({error:`workflows.enabled must be a boolean`}),MY=AY(`workflows.maxConcurrentSessions`,MP),NY=AY(`workflows.maxActionsPerPoll`,NP),PY=(e,t)=>j(t,{error:`${e} must be an array`}).min(1,{error:`${e} must list at least one entry when present`}),FY=O({error:`a workflow label name must be a string`}).trim().min(1,{error:`a workflow label name must not be empty`}).max(50,{error:`a workflow label name must be at most 50 characters`}).refine(e=>!kY.test(e),{error:`a workflow label name must not start with a dash or hold a comma or control character`}),IY=O({error:`a workflow comment body must be a string`}).min(1,{error:`a workflow comment body must not be empty`}).max(EY,{error:`a workflow comment body must be at most ${EY} characters`}).refine(e=>e.trim().length>0,{error:`a workflow comment body must not be blank`}),LY=P(CY,{error:`workflows.rules[].trigger must be one of ${CY.join(`, `)}`}),RY=fs(`type`,[N({type:F(`notify`)}),N({type:F(`spawn`),promptTemplate:O({error:`a spawn action needs a promptTemplate string`}).min(1,{error:`a spawn action promptTemplate must not be empty`}).max(TY,{error:`a spawn action promptTemplate must be at most ${TY} characters`}).refine(e=>e.trim().length>0,{error:`a spawn action promptTemplate must not be blank`})}),N({type:F(`label`),name:FY}),N({type:F(`comment`),body:IY})],{error:`workflows.rules[].actions[].type must be one of ${wY.join(`, `)}`}),zY=N({mine:A({error:`workflows.rules[].filters.mine must be a boolean`}).optional(),teamReviewRequested:A({error:`workflows.rules[].filters.teamReviewRequested must be a boolean`}).optional(),authors:PY(`workflows.rules[].filters.authors`,O({error:`workflows.rules[].filters.authors must hold GitHub logins`}).regex(OY,{error:`workflows.rules[].filters.authors must hold GitHub logins`})).optional(),labels:PY(`workflows.rules[].filters.labels`,FY).optional(),baseBranches:PY(`workflows.rules[].filters.baseBranches`,O({error:`workflows.rules[].filters.baseBranches must hold branch names`}).min(1,{error:`workflows.rules[].filters.baseBranches must hold branch names`})).optional()},{error:`workflows.rules[].filters must be an object`}),BY=O({error:`workflows.rules[].id must be a string`}).regex(DY,{error:`workflows.rules[].id must be 1 to 64 lowercase letters, digits and dashes, starting with a letter or digit`}),VY=A({error:`workflows.rules[].enabled must be a boolean`}),HY=N({id:BY,name:O({error:`workflows.rules[].name must be a string`}).trim().min(1,{error:`workflows.rules[].name must not be empty`}).max(80,{error:`workflows.rules[].name must be at most 80 characters`}),enabled:VY.default(!1),repos:PY(`workflows.rules[].repos`,Cl),filters:zY.default({}),trigger:LY,actions:PY(`workflows.rules[].actions`,RY)},{error:`workflows.rules[] must be an object`}),UY=N({enabled:jY.default(!0),maxConcurrentSessions:MY.default(2),maxActionsPerPoll:NY.default(20),rules:j(HY,{error:`workflows.rules must be an array`}).default([])},{error:`workflows must be an object`}).superRefine((e,t)=>{let n=new Set;for(let[r,i]of e.rules.entries()){if(!n.has(i.id)){n.add(i.id);continue}t.addIssue({code:`custom`,path:[`rules`,r,`id`],message:`workflows.rules[${r}].id "${i.id}" is declared more than once`})}}),WY=N({id:BY,enabled:VY},{error:`a dashboard update of workflows.rules[] carries only id and enabled`});N({enabled:jY.optional(),maxConcurrentSessions:MY.optional(),maxActionsPerPoll:NY.optional(),rules:j(WY,{error:`workflows.rules must be an array`}).optional()},{error:`a dashboard update of workflows carries only enabled, maxConcurrentSessions, maxActionsPerPoll and rule toggles`});var GY=k().int().nonnegative(),KY=P([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable();Gl.extend({author:M({login:O()}).nullable(),labels:M({nodes:j(M({name:O()}))}),comments:M({totalCount:GY})});var qY=N({polledAtMs:GY,prs:j(N({repo:Cl,number:k().int().positive(),title:O(),url:zo(),author:O().nullable(),state:P([`OPEN`,`MERGED`,`CLOSED`]),createdAt:O(),mergedAt:O().nullable(),isDraft:A(),isCrossRepository:A(),baseRefName:O(),headRefName:O().min(1),headRefOid:L,labels:j(O()),commentCount:GY,reviewRequests:j(O()),checksState:KY,reviewDecision:P([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable()}))});N({repos:hs(O().regex(/^[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/),qY)});var JY=Object.freeze({general:`machine-general`,updates:`machine-updates`,terminal:`machine-terminal`,repos:`machine-repositories`,repositories:`machine-repositories`,advanced:`machine-detection-sessions`,detection:`machine-detection-sessions`,telegram:`machine-telegram`,notifications:`machine-telegram`,"change-map":`lanes-change-map`,visions:`lanes-visions`,ingest:`lanes-ingest`,posthog:`lanes-posthog`,"team-review":`lanes-team-review`,reviews:`lanes-team-review`,benchmarks:`lanes-benchmarks`,workflows:`lanes-workflows`,usage:`machine-usage`,privacy:`machine-privacy`,telemetry:`machine-privacy`,shortcuts:`browser-shortcuts`,animals:`browser-flying-animals`,"flying-animals":`browser-flying-animals`,unattended:`lanes-unattended`}),YY=Object.freeze({"browser-appearance":Object.freeze({"flying-animals":`browser-flying-animals`})}),XY=Object.freeze([{id:`browser-appearance`,level:`browser`,title:`Appearance and alerts`,description:`Preferences stored only in this browser.`,settings:[{id:`theme`,path:`pref:themeId`,title:`Theme`,description:`Color scheme for the dashboard.`,control:`select`,optionsFrom:`themes`,keywords:[`color`,`palette`],defaultValue:`phyrexian`},{id:`compact-status`,path:`pref:compactStatusLabels`,title:`Hide status words in sidebar`,description:`Show only the colored status dot in the sidebar. Phone status labels stay visible.`,control:`toggle`,keywords:[`sidebar`,`status`,`compact`],defaultValue:!1},{id:`session-usage-chips`,path:`pref:sessionUsageChips`,title:`Show usage on session cards`,description:`Shows each card's token count and estimated API list-price cost.`,control:`toggle`,keywords:[`usage`,`cost`,`tokens`,`card`,`price`],defaultValue:!1},{id:`alert-sound`,path:`pref:soundId`,title:`Alert sound`,description:`Sound played when a session needs attention. Your own .ogg, .mp3, .wav, .m4a or .webm files dropped into the sounds folder of the Glimmervoid home (~/.glimmervoid/sounds/, or $GLIMMERVOID_HOME/sounds/) are listed after the built-in sounds. Glimmervoid never creates that folder, so make it yourself; new files show up the next time Settings opens.`,control:`select`,optionsFrom:`sounds`,keywords:[`audio`,`notification`,`custom`],defaultValue:`chime`},{id:`desktop-notifications`,path:`pref:notificationsEnabled`,title:`Desktop notifications`,description:`Raise a browser notification when a session needs attention while this dashboard is in the background.`,control:`toggle`,keywords:[`browser`,`attention`],defaultValue:!0}]},{id:`browser-flying-animals`,level:`browser`,title:`Flying animals`,description:`Choose your flying animals. Changes apply immediately in this browser.`,settings:[{id:`flying-animals`,path:`pref:flyingAnimalsEnabled`,title:`Flying animals`,description:`Show animated animals flying across the dashboard.`,control:`toggle`,keywords:[`animation`,`motion`],defaultValue:!1},{id:`animals-min-gap`,path:`pref:flyingAnimalsMinGapSeconds`,title:`Time between flights: minimum (seconds)`,description:`Shortest pause between flights.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_GAP_RANGE`,maximumSettingId:`animals-max-gap`,keywords:[`animals`,`frequency`],defaultValue:IP.flyingAnimalsMinGapSeconds},{id:`animals-max-gap`,path:`pref:flyingAnimalsMaxGapSeconds`,title:`Time between flights: maximum (seconds)`,description:`Longest pause between flights.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_GAP_RANGE`,keywords:[`animals`,`frequency`],defaultValue:IP.flyingAnimalsMaxGapSeconds},{id:`animals-min-duration`,path:`pref:flyingAnimalsMinDurationSeconds`,title:`Flight duration: minimum (seconds)`,description:`Shortest flight, for faster animals.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_DURATION_RANGE`,maximumSettingId:`animals-max-duration`,keywords:[`animals`,`speed`],defaultValue:IP.flyingAnimalsMinDurationSeconds},{id:`animals-max-duration`,path:`pref:flyingAnimalsMaxDurationSeconds`,title:`Flight duration: maximum (seconds)`,description:`Longest flight, for slower animals.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_DURATION_RANGE`,keywords:[`animals`,`speed`],defaultValue:IP.flyingAnimalsMaxDurationSeconds},{id:`animals-scale`,path:`pref:flyingAnimalsScale`,title:`Size multiplier`,description:`Scale applied on top of the viewport size.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_SCALE_RANGE`,keywords:[`animals`,`size`],defaultValue:IP.flyingAnimalsScale},{id:`animals-on-phone`,path:`pref:flyingAnimalsOnPhone`,title:`Show on phone layout`,description:`Allow flights on the phone layout.`,control:`toggle`,advanced:!0,keywords:[`animals`,`mobile`],defaultValue:IP.flyingAnimalsOnPhone}]},{id:`browser-shortcuts`,level:`browser`,title:`Shortcuts and about`,description:`Keyboard reference and build information.`,settings:[]},{id:`machine-general`,level:`machine`,title:`General`,description:`Machine-wide session startup and diagnostics.`,settings:[{id:`auto-resume`,path:`autoResume`,title:`Auto-resume sessions on startup`,description:`Resume conversations that were live when Glimmervoid last shut down or crashed.`,control:`toggle`,keywords:[`startup`,`conversation`],defaultValue:!0},{id:`debug-mode`,path:`debugMode`,title:`Debug mode`,description:`Show session-card diagnostics for state, transitions and detection signals.`,control:`toggle`,keywords:[`diagnostics`,`state`],defaultValue:!1},{id:`calm-layout`,path:`calmLayout`,title:`Calm layout (experimental)`,description:`Replace the Focus rail with a priority view that surfaces only sessions needing you. Applies to every browser on this machine.`,control:`toggle`,keywords:[`experimental`,`attention`,`priority`],defaultValue:!1}],unattendedLinks:[{settingId:`skip-permissions-by-default`,title:`Skip permission prompts by default`},{settingId:`rtk-compression`,title:`rtk output compression`}]},{id:`machine-updates`,level:`machine`,title:`Updates`,description:`See which Glimmervoid version is running, which one is newest, and update in one step.`,settings:[{id:`update-summary`,path:`checkForUpdates`,title:`Status`,description:`Whether this install is up to date, and what an update would move it to.`,control:`readonly`,keywords:[`version`,`available`,`current`],status:`update-summary`},{id:`update-actions`,path:`checkForUpdates`,title:`Actions`,description:`Update and restart stages the newest build, then restarts to run it. Update without restart stages it for a later restart.`,control:`readonly`,keywords:[`check`,`restart`],status:`update-actions`},{id:`update-installed`,path:`checkForUpdates`,title:`Running version`,description:`The version, commit, branch and checkout state running now.`,control:`readonly`,keywords:[`version`,`commit`,`installed`],status:`update-installed`},{id:`update-latest`,path:`updateChannel`,title:`Latest version`,description:`The newest target found on the selected update channel.`,control:`readonly`,keywords:[`release`,`commit`],status:`update-latest`},{id:`update-last-checked`,path:`checkForUpdates`,title:`Last checked`,description:`The most recent update check, or why automatic checks are off.`,control:`readonly`,keywords:[`time`,`failure`],status:`update-last-checked`},{id:`update-channel`,path:`updateChannel`,title:`Channel`,description:`Track tagged releases or the upstream of the checked-out branch.`,control:`select`,options:[{value:`release`,label:`Release`},{value:`main`,label:`Main`}],keywords:[`release`,`branch`],defaultValue:`release`},{id:`check-updates`,path:`checkForUpdates`,title:`Check for updates automatically`,description:`Check for a newer Glimmervoid at launch, while a dashboard is connected, and when this page opens.`,control:`toggle`,keywords:[`release`,`github`],defaultValue:!0}]},{id:`machine-terminal`,level:`machine`,title:`Terminal`,description:`Terminal behavior shared by dashboard clients.`,settings:[{id:`replay-buffer`,path:`replayBufferKB`,title:`Replay buffer (KB)`,description:`PTY output retained for clients that reconnect or join late.`,control:`number`,range:`REPLAY_BUFFER_KB_RANGE`,keywords:[`history`,`backfill`],defaultValue:512},{id:`cursor-blink`,path:`cursorBlink`,title:`Cursor blink`,description:`Blink the cursor in every terminal.`,control:`toggle`,keywords:[`caret`,`terminal`],defaultValue:!1}]},{id:`machine-detection-sessions`,level:`machine`,title:`Detection and sessions`,description:`Config-file-only detection, timing, worktree and process settings.`,settings:[{id:`file-detect-background-agents`,path:`detectBackgroundAgents`,title:`Detect background agents`,description:`Hold completion while tracked background work is active.`,control:`readonly`,keywords:[`subagents`,`completion`],fileOnly:!0},{id:`file-record-signals`,path:`recordSignals`,title:`Record structural signals`,description:`Keep forensic status and hook recordings.`,control:`readonly`,keywords:[`recordings`,`diagnostics`],fileOnly:!0},{id:`file-trace-enabled`,path:`trace.enabled`,title:`Capture session traces`,description:`Keep normalized Claude transcript traces for session debugging.`,control:`readonly`,keywords:[`transcripts`,`diagnostics`],fileOnly:!0},{id:`file-anti-slop-prompt`,path:`antiSlopPrompt`,title:`Anti-slop prompt`,description:`Append the configured quality prompt to session instructions.`,control:`readonly`,keywords:[`quality`,`instructions`],fileOnly:!0},{id:`file-detect-scheduled-wakeups`,path:`detectScheduledWakeups`,title:`Detect scheduled wakeups`,description:`Surface advisory wakeup timing for scheduled sessions.`,control:`readonly`,keywords:[`schedule`,`sleep`],fileOnly:!0},{id:`file-worktree-auto-rebase`,path:`worktreeAutoRebase`,title:`Worktree auto-rebase`,description:`Rebase eligible session worktrees when the integration branch moves.`,control:`readonly`,keywords:[`git`,`branch`],fileOnly:!0},{id:`file-worktree-rerere`,path:`worktreeRerere`,title:`Worktree rerere`,description:`Reuse recorded Git conflict resolutions.`,control:`readonly`,keywords:[`git`,`conflicts`],fileOnly:!0},{id:`file-integration-branch`,path:`integrationBranch`,title:`Integration branch`,description:`Base branch for session worktrees. Empty = each repo's default branch.`,control:`readonly`,keywords:[`git`,`merge`],fileOnly:!0},{id:`file-worktree-root`,path:`worktreeRoot`,title:`Worktree root`,description:`Directory that contains session worktrees.`,control:`readonly`,keywords:[`git`,`directory`],fileOnly:!0},{id:`file-worktree-share`,path:`worktreeShare`,title:`Shared worktree paths`,description:`Local paths copied or linked into worktrees.`,control:`readonly`,keywords:[`files`,`context`],fileOnly:!0},{id:`file-port`,path:`port`,title:`Local port`,description:`Port used by the local dashboard listener.`,control:`readonly`,keywords:[`server`,`listener`],fileOnly:!0},{id:`file-auto-recover-seconds`,path:`autoRecoverSeconds`,title:`Auto-recovery delay`,description:`Delay before an interrupted state can recover.`,control:`readonly`,keywords:[`timer`,`recovery`],fileOnly:!0},{id:`file-input-grace-seconds`,path:`inputGraceSeconds`,title:`Input grace period`,description:`Grace window around operator input.`,control:`readonly`,keywords:[`timer`,`prompt`],fileOnly:!0},{id:`file-prompt-detection-ms`,path:`promptDetectionMs`,title:`Prompt detection delay`,description:`Timing threshold used by prompt detection.`,control:`readonly`,keywords:[`timer`,`detection`],fileOnly:!0},{id:`file-notify-debounce-ms`,path:`notifyDebounceMs`,title:`Notification debounce`,description:`Delay used to coalesce notification state changes.`,control:`readonly`,keywords:[`timer`,`alerts`],fileOnly:!0},{id:`file-phone-escalation-ms`,path:`phoneEscalationMs`,title:`Phone escalation delay`,description:`Delay before off-dashboard escalation.`,control:`readonly`,keywords:[`timer`,`telegram`],fileOnly:!0},{id:`file-post-turn-checks`,path:`postTurnChecks`,title:`Post-turn checks`,description:`Deterministic checks run after eligible turns. They only report findings unless mode is fix.`,control:`readonly`,keywords:[`quality`,`fixes`],fileOnly:!0},{id:`file-branch-gc-enabled`,path:`branchGc.enabled`,title:`Branch cleanup`,description:`Enable cleanup of eligible session branches.`,control:`readonly`,keywords:[`git`,`cleanup`],fileOnly:!0},{id:`file-branch-gc-worktrees`,path:`branchGc.worktrees`,title:`Local worktree cleanup`,description:`Enable cleanup of eligible local worktrees.`,control:`readonly`,keywords:[`git`,`worktree`,`cleanup`],fileOnly:!0},{id:`file-branch-gc-prefixes`,path:`branchGc.prefixes`,title:`Branch cleanup prefixes`,description:`Remote branch prefixes eligible for cleanup.`,control:`readonly`,keywords:[`git`,`branch`],fileOnly:!0},{id:`file-branch-gc-dry-run`,path:`branchGc.dryRun`,title:`Branch cleanup dry run`,description:`Report planned cleanup without deleting remote branches.`,control:`readonly`,keywords:[`git`,`safety`],fileOnly:!0},{id:`file-branch-gc-stale-days`,path:`branchGc.staleDays`,title:`Branch stale days`,description:`Age threshold for orphan branch cleanup when unmerged deletion is on.`,control:`readonly`,keywords:[`git`,`retention`],fileOnly:!0},{id:`file-branch-gc-interval-ms`,path:`branchGc.intervalMs`,title:`Branch cleanup interval`,description:`Delay between branch cleanup passes.`,control:`readonly`,keywords:[`git`,`schedule`],fileOnly:!0},{id:`file-custom-agents`,path:`customAgents`,title:`Custom agents`,description:`Extra agent CLIs a session can be spawned with.`,control:`readonly`,keywords:[`adapters`,`cli`],fileOnly:!0,status:`custom-agents`}]},{id:`machine-repositories`,level:`machine`,title:`Repositories`,description:`Project discovery roots for new sessions.`,settings:[{id:`repository-roots`,path:`repoRoots`,title:`Repository roots`,description:`Directories scanned for projects when adding sessions.`,control:`list`,keywords:[`folders`,`project discovery`],defaultValue:[]}]},{id:`machine-telegram`,level:`machine`,title:`Telegram`,description:`One bot shared by session, PR review and PostHog notifications.`,settings:[{id:`telegram-bot-token`,path:`telegram.botToken`,title:`Bot token`,description:`Credential used by the shared Telegram bot.`,control:`password`,keywords:[`credential`,`api`],defaultValue:``},{id:`telegram-chat-id`,path:`telegram.chatId`,title:`Chat id`,description:`Destination chat for enabled Telegram lanes.`,control:`text`,keywords:[`destination`,`channel`],defaultValue:``},{id:`telegram-session-notifications`,path:`telegramNotifications`,title:`Send session notifications`,description:`Ping when a session completes, needs input or fails and no dashboard is open.`,control:`toggle`,keywords:[`phone`,`off dashboard`],defaultValue:!1}]},{id:`machine-usage`,level:`machine`,title:`Usage`,description:`Local transcript accounting and estimated-cost budgets.`,settings:[{id:`usage-enabled`,path:`usage.enabled`,title:`Track token usage`,description:`Read local CLI transcripts and roll them into the Usage view and session chips.`,control:`toggle`,keywords:[`tokens`,`cost`],defaultValue:!0,status:`usage-last-report`},{id:`usage-codex`,path:`usage.vendors.codex`,title:`Track Codex usage`,description:`Include local Codex CLI transcripts in usage reports.`,control:`toggle`,keywords:[`openai`,`vendor`],defaultValue:!0},{id:`usage-grok`,path:`usage.vendors.grok`,title:`Track Grok usage`,description:`Include local Grok CLI transcripts in usage reports.`,control:`toggle`,keywords:[`xai`,`vendor`],defaultValue:!0},{id:`usage-fetch-pricing`,path:`usage.fetchPricing`,title:`Fetch current model prices`,description:`Refresh the public price table daily instead of relying only on the bundled snapshot.`,control:`toggle`,keywords:[`rates`,`models`],defaultValue:!0},{id:`usage-scan-interval`,path:`usage.scanIntervalMinutes`,title:`Scan interval (minutes)`,description:`Delay between completed transcript scans.`,control:`number`,range:`USAGE_SCAN_INTERVAL_RANGE`,keywords:[`poll`,`refresh`],defaultValue:5},{id:`usage-retain-days`,path:`usage.retainDays`,title:`Retain transcript detail (days)`,description:`How long live transcript detail stays available.`,control:`number`,range:`USAGE_RETAIN_DAYS_RANGE`,keywords:[`history`,`retention`],defaultValue:90},{id:`usage-cost-mode`,path:`usage.costMode`,title:`Cost mode`,description:`Choose whether recorded costs, calculated costs or both can appear.`,control:`select`,options:[{value:`auto`,label:`Auto`},{value:`calculate`,label:`Calculate`},{value:`display`,label:`Display`}],keywords:[`pricing`,`estimate`],defaultValue:`auto`},{id:`usage-daily-budget`,path:`usage.budget.dailyUsd`,title:`Daily budget (USD)`,description:`Estimated daily spend ceiling. Zero or below means no ceiling.`,control:`number`,range:`USAGE_BUDGET_RANGE`,keywords:[`spend`,`alert`],defaultValue:null,integer:!1,nullable:!0,zeroIsNull:!0,step:.01},{id:`usage-monthly-budget`,path:`usage.budget.monthlyUsd`,title:`Monthly budget (USD)`,description:`Estimated monthly spend ceiling. Zero or below means no ceiling.`,control:`number`,range:`USAGE_BUDGET_RANGE`,keywords:[`spend`,`alert`],defaultValue:null,integer:!1,nullable:!0,zeroIsNull:!0,step:.01}]},{id:`machine-privacy`,level:`machine`,title:`Privacy`,description:`What Glimmervoid sends about itself.`,settings:[{id:`telemetry-enabled`,path:`telemetry.enabled`,title:`Send anonymous usage and error data`,description:`Version, platform, app starts, daily activity, session starts and ends with agent kind, exit kind and duration, errors as their type, error code and scrubbed stack frames, and per session token counts, models and estimated costs from the usage scan, under a random install id. Never error messages, paths, repository or branch names, prompts or terminal output. GLIMMERVOID_TELEMETRY=0, DO_NOT_TRACK=1 or CI=true turn it off regardless.`,control:`toggle`,keywords:[`telemetry`,`analytics`,`tracking`,`opt out`],defaultValue:!0}]},{id:`lanes-change-map`,level:`lanes`,title:`Change map`,description:`Optional model narration for deterministic change facts.`,settings:[{id:`change-map-narrator-enabled`,path:`changeMap.narrator.enabled`,title:`Enable narration`,description:`Add cited model claims to the change map.`,control:`toggle`,keywords:[`review`,`claims`],defaultValue:!1},{id:`change-map-narrator-engine`,path:`changeMap.narrator.engine`,title:`Narrator engine`,description:`CLI used to generate change map claims.`,control:`select`,options:[{value:`claude`,label:`Claude`},{value:`codex`,label:`Codex`}],keywords:[`claude`,`codex`],defaultValue:`claude`},{id:`change-map-narrator-model`,path:`changeMap.narrator.model`,title:`Narrator model`,description:`Blank uses the engine default: haiku for Claude, the configured Codex model for Codex.`,control:`text`,keywords:[`claude`,`codex`,`haiku`],defaultValue:``},{id:`change-map-narrator-timeout`,path:`changeMap.narrator.timeoutSeconds`,title:`Narrator timeout (seconds)`,description:`Maximum time allowed for one narration.`,control:`number`,range:`CHANGE_MAP_NARRATOR_TIMEOUT_RANGE`,keywords:[`deadline`,`narration`],defaultValue:90}]},{id:`lanes-visions`,level:`lanes`,title:`Visions`,description:`Editor-buffer findings and bounded model comments.`,settings:[{id:`visions-enabled`,path:`visions.enabled`,title:`Enable Visions`,description:`Wires every editor on this machine, then shows their buffers findings in the Visions view.`,control:`toggle`,keywords:[`editor`,`findings`,`lsp`],defaultValue:!1},{id:`visions-dispatch-enabled`,path:`visions.dispatch.enabled`,title:`Enable model comments`,description:`Start bounded review sessions for local editor buffers.`,control:`toggle`,keywords:[`review`,`dispatch`],defaultValue:!1},{id:`visions-quiet-delay`,path:`visions.dispatch.quietMs`,title:`Quiet delay (ms)`,description:`Required editor quiet time before dispatch.`,control:`number`,range:`VISIONS_QUIET_MS_RANGE`,keywords:[`debounce`,`idle`],defaultValue:3e4},{id:`visions-cooldown`,path:`visions.dispatch.cooldownMs`,title:`Cooldown (ms)`,description:`Minimum delay between review dispatches.`,control:`number`,range:`VISIONS_COOLDOWN_MS_RANGE`,keywords:[`rate limit`,`delay`],defaultValue:3e5},{id:`visions-max-per-hour`,path:`visions.dispatch.maxPerHour`,title:`Max per hour`,description:`Maximum review sessions dispatched per hour.`,control:`number`,range:`VISIONS_MAX_PER_HOUR_RANGE`,keywords:[`rate limit`,`reviews`],defaultValue:6},{id:`visions-activity-max-per-hour`,path:`visions.dispatch.activityMaxPerHour`,title:`Activity max per hour`,description:`Maximum activity-driven reviews dispatched per hour.`,control:`number`,range:`VISIONS_ACTIVITY_MAX_PER_HOUR_RANGE`,keywords:[`rate limit`,`events`],defaultValue:2},{id:`visions-dispatch-timeout`,path:`visions.dispatch.dispatchTimeoutSeconds`,title:`Dispatch timeout (seconds)`,description:`Maximum time allowed for one review session.`,control:`number`,range:`VISIONS_DISPATCH_TIMEOUT_RANGE`,keywords:[`deadline`,`review`],defaultValue:180},{id:`visions-intent-thread-ttl`,path:`visions.intent.threadTtlMs`,title:`Intent thread lifetime (ms)`,description:`How long an intent thread nobody advanced stays live before it retires.`,control:`number`,range:`VISIONS_INTENT_THREAD_TTL_MS_RANGE`,keywords:[`intent`,`decay`,`thread`],defaultValue:2592e5},{id:`visions-model`,path:`visions.dispatch.model`,title:`Model override`,description:`Leave blank to use the configured Claude Code default.`,control:`text`,keywords:[`claude`,`override`],defaultValue:``},{id:`visions-projects`,path:`visions.projects`,title:`Projects`,description:`Leave every project clear to accept buffers from every configured project.`,control:`projects`,keywords:[`repositories`,`filter`],defaultValue:[]},{id:`visions-auto-fix`,path:`visions.autoFix`,title:`Apply tier 1 fixes`,description:`Allow Visions to edit the active buffer without asking.`,control:`toggle`,keywords:[`automatic`,`edits`],danger:!0,warning:`Enabling this control lets Visions edit eligible buffers without a carbon unit present.`,defaultValue:!1}]},{id:`lanes-ingest`,level:`lanes`,title:`Ingest`,description:`Machine-context ingest behind Visions.`,settings:[{id:`ingest-enabled`,path:`ingest.enabled`,title:`Enable machine context ingest`,description:`Enable the local activity feed behind Visions. Turning Visions on turns this on for you.`,control:`toggle`,keywords:[`events`,`activity`],defaultValue:!1},{id:`ingest-terminal`,path:`ingest.sources.terminal.enabled`,title:`Terminal output source`,description:`Include terminal output in the ingest feed.`,control:`toggle`,keywords:[`pty`,`source`],defaultValue:!1},{id:`ingest-agent-logs`,path:`ingest.sources.agentLogs.enabled`,title:`Agent logs source`,description:`Include local agent logs in the ingest feed.`,control:`toggle`,keywords:[`transcript`,`source`],defaultValue:!1},{id:`ingest-git`,path:`ingest.sources.git.enabled`,title:`Git activity source`,description:`Include local Git activity in the ingest feed.`,control:`toggle`,keywords:[`commits`,`source`],defaultValue:!1},{id:`ingest-fs`,path:`ingest.sources.fs.enabled`,title:`File changes source`,description:`Include watched file changes in the ingest feed.`,control:`toggle`,keywords:[`filesystem`,`source`],defaultValue:!1},{id:`ingest-shell-history`,path:`ingest.sources.shellHistory.enabled`,title:`Shell history source`,description:`Include local shell history in the ingest feed.`,control:`toggle`,keywords:[`commands`,`source`],defaultValue:!1},{id:`ingest-editor`,path:`ingest.sources.editor.enabled`,title:`Editor events source`,description:`Include local editor events in the ingest feed.`,control:`toggle`,keywords:[`buffers`,`source`],defaultValue:!1}]},{id:`lanes-posthog`,level:`lanes`,title:`PostHog`,description:`Error monitoring, investigations and traffic-spike alerts.`,settings:[{id:`posthog-enabled`,path:`posthog.enabled`,title:`Enable PostHog monitoring`,description:`Poll PostHog error tracking and investigate issues that move.`,control:`toggle`,keywords:[`errors`,`monitoring`],defaultValue:!1},{id:`posthog-host`,path:`posthog.host`,title:`Host`,description:`PostHog cloud or self-hosted HTTP URL.`,control:`text`,keywords:[`url`,`server`],defaultValue:`https://us.posthog.com`},{id:`posthog-api-key`,path:`posthog.apiKey`,title:`Personal API key`,description:`Credential with read access to PostHog projects.`,control:`password`,keywords:[`credential`,`token`],defaultValue:``},{id:`posthog-projects`,path:`posthog.projects`,title:`Projects`,description:`Use all or a comma-separated list of numeric PostHog project ids.`,control:`text`,keywords:[`project ids`,`filter`],defaultValue:`all`,valueKind:`posthog-projects`},{id:`posthog-interval`,path:`posthog.intervalMinutes`,title:`Poll interval (minutes)`,description:`Delay between PostHog polling passes.`,control:`number`,range:`POSTHOG_INTERVAL_RANGE`,keywords:[`refresh`,`schedule`],defaultValue:15},{id:`posthog-max-investigations`,path:`posthog.maxConcurrentInvestigations`,title:`Max concurrent investigations`,description:`Maximum investigation sessions running together.`,control:`number`,range:`POSTHOG_MAX_CONCURRENT_RANGE`,keywords:[`parallel`,`workers`],defaultValue:2},{id:`posthog-investigation-timeout`,path:`posthog.investigationTimeoutSeconds`,title:`Investigation timeout (seconds)`,description:`Maximum time allowed for one investigation.`,control:`number`,range:`POSTHOG_INVESTIGATION_TIMEOUT_RANGE`,keywords:[`deadline`,`session`],defaultValue:900},{id:`posthog-min-users`,path:`posthog.minUsersToInvestigate`,title:`Min users to investigate`,description:`Minimum affected users before an issue is investigated.`,control:`number`,range:`POSTHOG_MIN_USERS_RANGE`,keywords:[`threshold`,`affected`],defaultValue:1},{id:`posthog-escalation`,path:`posthog.userEscalationThreshold`,title:`Escalation threshold (users)`,description:`Affected-user count that escalates an issue.`,control:`number`,range:`POSTHOG_ESCALATION_RANGE`,keywords:[`threshold`,`severity`],defaultValue:25},{id:`posthog-fix-timeout`,path:`posthog.fixTimeoutSeconds`,title:`Fix timeout (seconds)`,description:`Maximum time allowed for one fix session.`,control:`number`,range:`POSTHOG_FIX_TIMEOUT_RANGE`,keywords:[`deadline`,`repair`],defaultValue:1800},{id:`posthog-traffic-enabled`,path:`posthog.trafficSpikeEnabled`,title:`Traffic spike alerts`,description:`Ping when recent unique users exceed a project baseline.`,control:`toggle`,keywords:[`analytics`,`alert`],defaultValue:!0},{id:`posthog-traffic-multiplier`,path:`posthog.trafficSpikeMultiplier`,title:`Spike multiplier`,description:`Baseline multiplier required to classify a traffic spike.`,control:`number`,range:`POSTHOG_TRAFFIC_MULTIPLIER_RANGE`,keywords:[`baseline`,`ratio`],defaultValue:3},{id:`posthog-traffic-min-users`,path:`posthog.trafficSpikeMinUsers`,title:`Min users to alert`,description:`Minimum recent unique users required for a traffic alert.`,control:`number`,range:`POSTHOG_TRAFFIC_MIN_USERS_RANGE`,keywords:[`threshold`,`analytics`],defaultValue:10},{id:`posthog-traffic-cooldown`,path:`posthog.trafficSpikeCooldownMinutes`,title:`Spike cooldown (minutes)`,description:`Minimum delay between traffic alerts. Zero disables muting.`,control:`number`,range:`POSTHOG_TRAFFIC_COOLDOWN_RANGE`,keywords:[`silence`,`delay`],defaultValue:360},{id:`posthog-traffic-baseline`,path:`posthog.trafficSpikeBaselineDays`,title:`Baseline window (days)`,description:`Historical window used to calculate normal hourly traffic.`,control:`number`,range:`POSTHOG_TRAFFIC_BASELINE_RANGE`,keywords:[`history`,`analytics`],defaultValue:7},{id:`posthog-auto-fix`,path:`posthog.autoFix`,title:`Attempt fixes for major issues`,description:`Allow an isolated agent to fix an issue, push a branch and open a pull request.`,control:`toggle`,keywords:[`automatic`,`pull request`],danger:!0,warning:`Enabling this control lets PostHog fixes commit, push and open pull requests automatically.`,defaultValue:!1}]},{id:`lanes-team-review`,level:`lanes`,title:`Team review`,description:`Draft reviews of teammates' pull requests for you to post from the Reviews tab.`,settings:[{id:`team-review-enabled`,path:`teamReview.enabled`,title:`Enable team review`,description:`Poll open pull requests from the team and draft a review of each one. Nothing is posted until you choose Approve or Comment.`,control:`toggle`,keywords:[`pull requests`,`github`],defaultValue:!1},{id:`team-review-org`,path:`teamReview.org`,title:`GitHub organization`,description:`Organization login that owns the team, for example PostHog.`,control:`text`,keywords:[`github`,`owner`],defaultValue:``},{id:`team-review-team`,path:`teamReview.team`,title:`GitHub team`,description:`Team slug whose members and review requests are polled.`,control:`text`,keywords:[`github`,`slug`],defaultValue:``},{id:`team-review-re-review-after-hours`,path:`teamReview.reReviewAfterHours`,title:`Re-review after (hours)`,description:`When a reviewed PR has a new head, review it again after this many hours since its last review. Queue review runs it at any time.`,control:`number`,range:`POSTHOG_INTERVAL_RANGE`,keywords:[`review`,`delay`],defaultValue:24,integer:!1,step:.5},{id:`team-review-skip-idle-after-days`,path:`teamReview.skipIdleAfterDays`,title:`Skip PRs idle for (days)`,description:`Leave pull requests without GitHub activity for this long out of automatic review.`,control:`number`,range:`POSTHOG_INTERVAL_RANGE`,keywords:[`idle`,`activity`],defaultValue:14,integer:!1,step:.5},{id:`team-review-skill`,path:`teamReview.skill`,title:`Review skill`,description:`Name of a Claude Code skill installed for the review agent, for example your own PR review skill. Leave empty to let the agent review with whatever skills it has.`,control:`text`,keywords:[`skill`,`claude code`,`pr review`],defaultValue:``},{id:`team-review-auto-rebase-my-prs`,path:`teamReview.autoRebaseMyPrs`,title:`Keep my pull requests rebased`,description:`On each poll, rebase your open, non-draft pull requests that are behind their base branch. A pull request with conflicts or checks still running is left alone, and a failed rebase is not retried until you push again.`,control:`toggle`,keywords:[`rebase`,`update branch`,`behind`,`my prs`],danger:!0,warning:`Enabling this control rewrites your pull request branches on GitHub. Pull before you push from a local checkout of one.`,defaultValue:!1},{id:`team-review-keep-mergeable-enabled`,path:`teamReview.keepMergeableEnabled`,title:`Keep mergeable`,description:`Offer Keep mergeable on your pull requests: a sandboxed agent repairs conflicts and failing checks and pushes the repair. Off hides the control and starts no repair; the pull requests you chose stay chosen for when you turn it back on.`,control:`toggle`,keywords:[`repair`,`conflicts`,`my prs`],defaultValue:!0},{id:`team-review-keep-mergeable-timeout`,path:`teamReview.keepMergeableTimeoutMinutes`,title:`Keep mergeable deadline (minutes)`,description:`Longest a Keep mergeable repair session may run before it is stopped and nothing is pushed.`,control:`number`,range:`KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE`,keywords:[`timeout`,`repair`],defaultValue:30},{id:`team-review-merge-queue-enabled`,path:`teamReview.mergeQueueEnabled`,title:`Merge when ready`,description:`Offer Merge when ready on your pull requests: queued pull requests are rebased when behind and merged once ready, one per repository per poll. Off hides the control and merges nothing; the queue is kept for when you turn it back on.`,control:`toggle`,keywords:[`merge queue`,`auto merge`,`my prs`],defaultValue:!0}]},{id:`lanes-benchmarks`,level:`lanes`,title:`Benchmarks`,description:`Compare agent setups on frozen cases from the suites in the benchmarks folder of the Glimmervoid home.`,settings:[{id:`benchmarks-enabled`,path:`benchmarks.enabled`,title:`Enable benchmarks`,description:`Show the Bench tab. Nothing runs until you choose Mine or Run there.`,control:`toggle`,keywords:[`eval`,`arms`,`recall`,`compare`],defaultValue:!1}]},{id:`lanes-workflows`,level:`lanes`,title:`Workflows`,description:`Rules that act on pull request events in the repositories you choose.`,settings:[{id:`workflows-enabled`,path:`workflows.enabled`,title:`Run workflows`,description:`Poll the repositories your enabled rules watch and run their actions. Off stops polling and every action, whatever each rule says.`,control:`toggle`,keywords:[`pull requests`,`automation`,`master switch`],defaultValue:!0},{id:`workflows-max-concurrent-sessions`,path:`workflows.maxConcurrentSessions`,title:`Concurrent agent sessions`,description:`Most workflow agent sessions running at once. Later spawns wait for a free slot.`,control:`number`,range:`WORKFLOWS_MAX_CONCURRENT_SESSIONS_RANGE`,keywords:[`parallel`,`spawn`],defaultValue:2},{id:`workflows-max-actions-per-poll`,path:`workflows.maxActionsPerPoll`,title:`Actions per poll`,description:`Most actions run in one poll. The rest are dropped and logged.`,control:`number`,range:`WORKFLOWS_MAX_ACTIONS_PER_POLL_RANGE`,keywords:[`cap`,`rate limit`],defaultValue:20},{id:`workflows-rules`,path:`workflows`,title:`Workflow rules`,description:`Each rule watches repositories for one pull request event (opened, checks-failed, review-requested, approved, commented or merged), narrows it by author, labels, base branch, your own pull requests or a review request to your team, and then notifies you, labels or comments on the pull request, or starts a sandboxed agent session that pushes nothing. Rules start disabled. Turn each rule on or off here; everything else about a rule is set in config.json.`,control:`readonly`,keywords:[`pull requests`,`automation`,`github`,`rules`],fileOnly:!0,status:`workflows`}]},{id:`lanes-unattended`,level:`lanes`,title:`Unattended actions`,description:`Controls that let automated work change repositories or install executable tooling.`,settings:[{id:`skip-permissions-by-default`,path:`skipPermissionsByDefault`,title:`Skip permission prompts by default`,description:`Start sessions whose project sets no permission choice with the agent CLI permission bypass flag.`,control:`toggle`,keywords:[`permissions`,`yolo`,`dangerously`],danger:!0,warning:`Enabling this control lets agents edit files and run shell commands without asking, and restarts running sessions that inherit it.`,defaultValue:!1},{id:`branch-gc-delete-unmerged`,path:`branchGc.deleteUnmerged`,title:`Delete unmerged branches`,description:`Also delete stale remote branches with no merge proof. Off keeps every unmerged branch.`,control:`toggle`,keywords:[`git`,`cleanup`,`orphan`],danger:!0,warning:`Enabling this control lets branch cleanup delete stale remote branches without merge proof.`,defaultValue:!1},{id:`post-turn-checks-mode`,path:`postTurnChecks.mode`,title:`Post-turn checks mode`,description:`Report findings or let post-turn checks fix eligible files.`,control:`select`,options:[{value:`report`,label:`Report`},{value:`fix`,label:`Fix`}],keywords:[`quality`,`fixes`],defaultValue:`report`},{id:`agent-api-enabled`,path:`agentApi.enabled`,title:`Agent API`,description:`Expose the per-session agent endpoint to running sessions.`,control:`toggle`,keywords:[`session`,`localhost`],danger:!0,warning:`Enabling this control lets a running session spawn sibling sessions, flag itself and read the board through a per-session token on localhost, and it applies to sessions spawned after the change.`,defaultValue:!1},{id:`rtk-compression`,path:`rtk`,title:`rtk output compression`,description:`Compress Bash output for newly spawned or restarted sessions.`,control:`toggle`,keywords:[`bash`,`tokens`],danger:!0,status:`rtk-install`,warning:`Enabling this control permits Glimmervoid to install the pinned rtk executable automatically.`,defaultValue:!1}]}]);function ZY(e){return[e.repos.join(`, `),e.trigger,e.actions.map(e=>e.type).join(`, `)].join(` `)}function QY(e){if(e==null)return[`No rules. Add workflows.rules to config.json.`];let t=UY.safeParse(e);return t.success?t.data.rules.length===0?[`No rules. Add workflows.rules to config.json.`]:t.data.rules.map(e=>[e.name,e.enabled?`enabled`:`disabled`,ZY(e)].join(` `)):[`The workflows block is invalid, so no rule runs: ${t.error.issues[0]?.message??`unknown problem`}`]}function $Y(e){let t=UY.safeParse(e??{});return t.success?t.data.rules.map(e=>({id:e.id,name:e.name,isEnabled:e.enabled,summary:ZY(e)})):[]}function eX(e){let t=e.workflows;return typeof t!=`object`||!t||Array.isArray(t)?e:{...e,workflows:Object.fromEntries(Object.entries(t).filter(([e])=>e!==`rules`))}}function tX({checked:e=[],stored:t=[],rendered:n=[]}={}){let r=new Set(n),i=[...e];for(let e of t)typeof e==`string`&&e.trim()&&(r.has(e)||i.includes(e)||i.push(e));return i}var nX=new WeakMap,rX=`Configured`,iX=`•`.repeat(12);function aX(e){return e.control===`password`}function oX(e){return`${e.path}${rX}`}function sX(e){return Array.isArray(e)?e.map(sX):!e||typeof e!=`object`?e:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,sX(t)]))}function cX(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function lX(e,t){let n=t.split(`.`),r=e;for(let e of n.slice(0,-1)){if(!r||typeof r!=`object`)return;r=r[e]}r&&typeof r==`object`&&delete r[n.at(-1)]}function uX(e,t,n){let r=t.split(`.`),i=e;for(let e of r.slice(0,-1))(!i[e]||typeof i[e]!=`object`||Array.isArray(i[e]))&&(i[e]={}),i=i[e];i[r.at(-1)]=sX(n)}function dX(e){return e.flatMap(e=>e.settings||[])}function fX(e){return e.fileOnly||e.control===`readonly`}function pX(e){return String(e||``).toLowerCase().match(/[a-z0-9]+/g)||[]}function mX(e,t,n){return t.every(t=>e.includes(t))?t.length*n:0}function hX(e,t){if(Object.is(e,t))return!0;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every((e,n)=>hX(e,t[n]));if(!e||!t||typeof e!=`object`||typeof t!=`object`)return!1;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>Object.hasOwn(t,n)&&hX(e[n],t[n]))}function gX(e,t){return e.valueKind===`posthog-projects`?Array.isArray(t)?t.join(`, `):t??`all`:sX(t)}function _X(e,t){if(e.control===`number`){if(e.nullable&&(t==null||String(t).trim()===``))return null;let n=Number(t);return e.zeroIsNull&&n<=0?null:n}if(e.valueKind===`posthog-projects`){let e=String(t??``).trim();return!e||e.toLowerCase()===`all`?`all`:e.split(`,`).map(e=>Number(e.trim())).filter(Number.isFinite)}return e.control===`text`||e.control===`password`?String(t??``).trim():sX(t)}function vX(e){return nX.get(e)||null}function yX(e,t={}){let n={};for(let r of dX(e)){if(fX(r))continue;if(r.path.startsWith(`pref:`)){let e=r.path.slice(5),i=t.prefs?.[e]??t[r.path];n[r.path]=gX(r,i??r.defaultValue);continue}if(aX(r)){let e=cX(t,oX(r))===!0;n[r.path]=e?iX:``;continue}let e=cX(t,r.path);n[r.path]=gX(r,e??r.defaultValue)}return nX.set(n,sX(t)),n}function bX(e,t,n,r,i={}){let{rehydrateSectionIds:a=[]}=i,o=yX(e,t),s=yX(e,t);if(!n||!r)return{original:o,edited:s};let c=new Set(a);for(let t of e)if(!c.has(t.id)&&t.settings.some(e=>!e.path.startsWith(`pref:`)&&!hX(n[e.path],r[e.path])))for(let e of t.settings)o[e.path]=sX(n[e.path]),s[e.path]=sX(r[e.path]);return{original:o,edited:s}}function xX(e,t,n){let r=dX(e).filter(e=>fX(e)||e.path.startsWith(`pref:`)||aX(e)&&n[e.path]===iX?!1:!hX(t[e.path],n[e.path]));if(r.length===0)return{};let i=vX(t)||{},a=(Array.isArray(i.projectChoices)?i.projectChoices:[]).map(e=>e.id).filter(e=>typeof e==`string`),o={},s=new Set;for(let e of r){let[r]=e.path.split(`.`);if(!e.path.includes(`.`)){o[r]=_X(e,n[e.path]);continue}if(!s.has(r)){let e=i[r];o[r]=e&&typeof e==`object`&&!Array.isArray(e)?sX(e):{},s.add(r)}let c=_X(e,n[e.path]);if(e.control===`projects`){let n=t[e.path];c=tX({checked:Array.isArray(c)?c:[],stored:Array.isArray(n)?n:[],rendered:a})}uX(o,e.path,c)}for(let t of dX(e))aX(t)&&lX(o,oX(t));return o}function SX(e,t){let n=t.integer===!1?`number`:`whole number`;return e.exclusiveMin?`Must be a positive ${n}.`:e.max==null?`Must be a ${n} of at least ${e.min}.`:`Must be a ${n} between ${e.min} and ${e.max}.`}function CX(e,t,n){if(e.nullable&&(t==null||String(t).trim()===``))return null;let r=Number(t),i=n[e.range??``];return i?!Number.isFinite(r)||e.integer!==!1&&!Number.isInteger(r)?SX(i,e):i.exclusiveMin&&r<=i.min?e.zeroIsNull&&r<=0?null:SX(i,e):!i.exclusiveMin&&r<i.min||i.max!=null&&r>i.max?SX(i,e):null:`Allowed range is unavailable.`}function wX(e){let t=String(e??``).trim();if(!t||t.toLowerCase()===`all`)return null;let n=t.split(`,`).map(e=>e.trim()).filter(Boolean);return n.length>0&&n.every(e=>/^\d+$/.test(e)&&Number(e)>0)?null:`Must be "all" or a comma-separated list of positive numeric ids.`}function TX(e,t,n={}){let r={};for(let i of dX(e)){if(fX(i))continue;let e=null;i.control===`number`&&(e=CX(i,t[i.path],n)),i.valueKind===`posthog-projects`&&(e=wX(t[i.path])),i.control===`select`&&!i.options.some(e=>e.value===t[i.path])&&(e=`Choose one of the available options.`),e&&(r[i.id]=e)}return EX(dX(e),t,r),r}function EX(e,t,n){for(let r of e){let i=e.find(e=>e.id===r.maximumSettingId);if(!i||n[r.id]||n[i.id])continue;let a=Number(t[r.path]),o=Number(t[i.path]);a>o&&(n[r.id]=`Minimum must not exceed the maximum (${o}).`,n[i.id]=`Maximum must not be below the minimum (${a}).`)}}function DX(e,t){return dX(e).find(e=>e.id===t.maximumSettingId||e.maximumSettingId===t.id)}function OX(e){let t={browser:[],machine:[],lanes:[],projects:[]};for(let n of e)t[n.level]||(t[n.level]=[]),t[n.level].push(n);return t}function kX(e,t){let n=pX(t);if(n.length===0)return[];let r=[];for(let t of e){let e=pX(t.title);for(let i of t.settings||[]){let a=mX(pX(i.title),n,1e3),o=mX(pX((i.keywords||[]).join(` `)),n,100),s=mX(e,n,10),c=mX(pX(i.description),n,1),l=a+o+s+c;l!==0&&r.push({section:t,setting:i,score:l})}}return r.sort((e,t)=>t.score-e.score||e.section.title.localeCompare(t.section.title)||e.setting.title.localeCompare(t.setting.title)).slice(0,30)}function AX(e,t,n={},r={}){let i=/^#settings\/([^/]+)(?:\/([^/]+))?$/.exec(String(e||``));if(!i)return null;let a,o;try{a=decodeURIComponent(i[1]),o=i[2]?decodeURIComponent(i[2]):null}catch{return null}let s=(o?r[a]?.[o]:void 0)||n[a]||a,c=t.find(e=>e.id===s);if(!c)return null;let l=o?(c.settings||[]).find(e=>e.id===o):null;return o&&!l?null:{sectionId:s,settingId:l?.id||null,hash:`#settings/${s}${l?`/${l.id}`:``}`}}function jX(e){let t=`lanes-unattended`,n=e.find(e=>e.id===t);if(!n)return[...e];let r=e.filter(e=>e.id!==t),i=r.findLastIndex(e=>e.level===`lanes`);return r.splice(i+1,0,n),r}function MX(e,t,n){return{id:`project-${e}-${t}`,projectId:e,...n}}function NX(e){return String(e||``).replace(/\s+\(\d+\)$/,``)}function PX(e){return String(e||``).replace(/[\\/]+$/,``).split(/[\\/]/).at(-1)||``}function FX(e){return PX(e?.path)||NX(e?.name)||e?.id}function IX(e=[]){return e.filter(e=>typeof e?.id==`string`&&e.id).map(e=>({id:`project-${e.id}`,level:`projects`,title:FX(e),description:`Settings scoped to this configured project.`,caption:(e.recordNames?.length??0)>1?`Cards: ${e.recordNames?.join(`, `)}`:``,project:e,settings:[MX(e.id,`agent`,{path:`project:${e.id}:agent`,title:`Agent`,description:`Agent configured for this project.`,control:`readonly`,keywords:[`cli`,`runtime`],value:e.agent||`Not available in the current dashboard payload`}),MX(e.id,`permission-mode`,{path:`project:${e.id}:permission-mode`,title:`Default permission mode`,description:`Permission mode used for newly spawned sessions.`,control:`readonly`,keywords:[`approval`,`sandbox`],value:e.permissionMode||`Not available in the current dashboard payload`}),MX(e.id,`codex-hook-trust`,{path:`projects.${e.id}.codexBypassHookTrust`,title:`Codex hook trust bypass`,description:`Configured only on this project record.`,control:`readonly`,keywords:[`hooks`,`codex`],fileOnly:!0})]}))}function LX(e=[]){let t=new Set;return e.filter(e=>typeof e?.id!=`string`||!e.id?!1:!e.path||!t.has(e.path)&&(t.add(e.path),!0))}function RX(e=[],t=[]){let n=new Map(t.filter(e=>typeof e?.id==`string`&&e.id).map(e=>[e.id,e]));return e.map(e=>{let r=n.get(e?.id),i=e?.path||r?.path,a=t.filter(e=>i&&e?.path===i).map(e=>e?.name).filter(e=>typeof e==`string`&&e!==``);return{...r,...e,path:i,recordNames:[...new Set(a)]}})}function zX(e,t){return e.danger===!0&&!!e.warning&&t===!0}function BX(e,t){return e.find(e=>e.id===t)||e[0]||null}var VX=(e,t,n=!1)=>({state:e,awaitingBackgroundTasks:n,label:n?`Monitoring`:Ac[e],meaning:t}),HX=Object.freeze([VX(I.DORMANT,`Not started yet.`),VX(I.INITIALIZING,`Setting up the worktree and launching the agent.`),VX(I.STARTING,`The agent is booting.`),VX(I.RUNNING,`The agent is mid-turn.`),VX(I.RUNNING,`The turn ended but background tasks or sub-agents are still running.`,!0),VX(I.WAITING,`Waiting on a permission prompt or your answer.`),VX(I.IDLE,`Ready for the next prompt.`),VX(I.COMPLETE,`Finished a turn you have not looked at yet.`),VX(I.DONE,`The agent process ended.`),VX(I.FAILED,`The agent failed to start or crashed.`)]);function UX(){let e=V(`section`,`status-legend`);e.appendChild(V(`h2`,`status-legend-title`,`Status colors`));let t=V(`dl`,`status-legend-rows`);for(let e of HX){let n=V(`div`,`status-legend-row`),r=V(`dt`,`status-legend-badge`),i=V(`span`,`status-legend-glyph`),a=V(`span`,`status-legend-name`);i.setAttribute(`aria-hidden`,`true`),r.append(i,a),SU(n,{glyph:i,label:a},e.state,e.awaitingBackgroundTasks),n.append(r,V(`dd`,`status-legend-meaning`,e.meaning)),t.appendChild(n)}return e.appendChild(t),e}var WX=2e4,Q=null,GX=null,KX=null,qX=null,JX=null,YX=null,XX=0,ZX=null,QX=`all`,$X=!1,eZ=null,tZ=xj,nZ=bj,rZ=yj,iZ=!1,aZ=null,oZ=`day`,sZ=new Set,cZ=WE({getAck:GF,setAck:KF,signature:()=>JA(Q,KX),isLooking:()=>!Od(qX)}),lZ=null,uZ=null,dZ=null,fZ=null,pZ=null,mZ=null,hZ=null,gZ=null,_Z=BN(()=>qX),vZ=(e,t)=>Td(`usage`,e,t);function yZ(e,t,n,r){let i=V(`div`,`usage-tile`);r&&r!==`ok`&&(i.dataset.tone=r);let a=V(`span`,`usage-tile-value`,t);i.append(a,V(`span`,`usage-tile-label`,e));let o=n?V(`span`,`usage-tile-sub`,n):null;return o&&i.append(o),{tile:i,valueEl:a,subEl:o}}function bZ(e){let t=Number(e);return Number.isFinite(t)?Math.min(Math.max(t,0),100):0}function xZ(e,t,n){let r=V(`div`,`usage-meter`);r.dataset.tone=String(t),r.setAttribute(`role`,`progressbar`),r.setAttribute(`aria-valuemin`,`0`),r.setAttribute(`aria-valuemax`,`100`),r.setAttribute(`aria-label`,n);let i=V(`span`,`usage-meter-fill`);return r.append(i),SZ(r,e),r}function SZ(e,t){if(!e)return;let n=bZ(t);e.setAttribute(`aria-valuenow`,String(Math.round(n)));let r=e.querySelector(`.usage-meter-fill`);r&&(r.style.width=`${n}%`)}function CZ(e,t,n,r){let i=V(`div`,`usage-table-scroll`);i.dataset.usageTable=r;let a=V(`table`,`usage-table`),o=V(`thead`),s=V(`tr`);for(let i of e){let e=V(`th`,i.numeric?`usage-num`:null);if(e.scope=`col`,!i.key){e.textContent=i.label,s.append(e);continue}let a=i.key;e.setAttribute(`aria-sort`,vj(t,a));let o=V(`button`,`usage-sort`,i.label);o.type=`button`,o.dataset.sortKey=a,o.addEventListener(`click`,()=>{aZ={kind:`sort`,table:r,key:a},n(a)}),e.append(o),s.append(e)}o.append(s);let c=V(`tbody`);return a.append(o,c),i.append(a),{wrap:i,body:c}}function wZ(e,t){for(let n of t){let t=V(`td`,n.numeric?`usage-num`:n.className||null,n.node?null:n.text);n.node&&t.append(n.node),n.title&&(t.title=n.title),n.span&&(t.colSpan=n.span),e.append(t)}}function TZ(e){let t=V(`div`,`usage-share`);if(!Number.isFinite(e))return t.append(V(`span`,`usage-share-text`,fk(e))),t;let n=V(`span`,`usage-share-bar`),r=V(`span`,`usage-share-fill`);return r.style.width=`${bZ(e)}%`,n.append(r),t.append(n,V(`span`,`usage-share-text`,fk(e))),t}function EZ(){if(!lZ?.isConnected)return;let e=Number(Q?.ts);lZ.textContent=Number.isFinite(e)&&e>0?`Report ${RN(e)}`:``}function DZ(){if(!uZ?.isConnected)return;let e=Number(GX?.ts);uZ.textContent=Number.isFinite(e)&&e>0?`Sessions ${RN(e)}`:``}function OZ(){let e=Ek(Q?.activeBlock);e&&(fZ?.isConnected&&(fZ.textContent=`${e.pct}%`),pZ?.isConnected&&(pZ.textContent=`${Sk(e.remainingMinutes)} left`),mZ?.isConnected&&SZ(mZ,e.pct))}function kZ(e){let t=nk.find(t=>t.value===e);return t?t.days:null}function Bne(){let e=V(`div`,`usage-controls`),t=V(`label`,`usage-control`);t.append(V(`span`,`usage-control-label`,`Range`));let n=V(`select`,`usage-select`);for(let e of nk){let t=V(`option`,null,e.label);t.value=e.value,n.append(t)}n.value=QX,n.addEventListener(`change`,()=>{QX=n.value,fQ()}),t.append(n);let r=V(`button`,`usage-refresh`,`Refresh`);r.type=`button`,r.title=`Re-read every transcript from the start`,r.addEventListener(`click`,()=>fQ({force:!0}));let i=V(`span`,`usage-refresh-status`,``);return hZ=r,gZ=i,cQ(),e.append(t,r,i),e}function AZ(){let e=vZ(`Usage`,_k(Q?.daily||[]));e.append(Bne()),lZ=V(`p`,`usage-meta`,``),e.append(lZ),EZ(),_Z.onTick(EZ);let t=oj(Q);t&&e.append(V(`p`,`usage-warning`,t));let n=nj(Q?.pricing?.missing);return n&&e.append(V(`p`,`usage-warning`,n)),e}function jZ(){if(!WA(KX))return null;let e=BA(Q?.totals),t=vZ(`Plan limits`,e?`${KA(`official`)}, ${e}`:KA(`official`)),n=$A(KX?.ts);if(n){let e=V(`p`,`usage-meta`,n);e.dataset.tone=`warn`,t.append(e)}let r=V(`div`,`usage-plan`);for(let e of HA){let t=UA(KX,e.key);t&&r.append(MZ(e,t))}return t.append(r),dZ=V(`p`,`usage-meta`,``),t.append(dZ),NZ(),_Z.onTick(NZ),t}function MZ(e,t){let n=V(`div`,`usage-plan-window`),r=V(`div`,`usage-plan-head`);r.append(V(`span`,`usage-plan-label`,e.label)),r.append(V(`span`,`usage-plan-used`,YA(t)));let i=V(`span`,`usage-plan-reset`,``);r.append(i),n.append(r),Number.isFinite(t.pct)&&n.append(xZ(t.pct,Dk(t.pct),`${e.label} plan limit used`));let a=()=>{i.isConnected&&(i.textContent=XA(t.resetsAtMs))};return a(),_Z.onTick(a),n}function NZ(){if(!dZ?.isConnected)return;let e=ZA(KX?.ts);dZ.textContent=e?`Plan ${e}`:``}function PZ(){let e=Gk(Q,KX),t=FZ();if(e.length===0&&!t)return null;let n=vZ(`Glimmervoid overhead`,e.length>0?Lk:Ik);if(e.length>0){let t=V(`div`,`usage-tiles`);for(let n of e){let e=[Kk(n),uk(n.costUSD)].filter(Boolean).join(`, `);t.append(yZ(`${n.label}, share of Claude use`,fk(n.sharePct),e).tile)}n.append(t);for(let t of e){let e=qk(t);e&&n.append(V(`p`,`usage-meta`,`${t.label}: ${e}`))}}return t&&(n.append(V(`p`,`usage-meta`,`Selected range by lane. ${Ik}`)),n.append(t)),n}function FZ(){if(!Vk(Q))return null;let e=zk(Q),t=e.reduce((e,t)=>e+(typeof t.costUSD==`number`&&Number.isFinite(t.costUSD)?t.costUSD:0),0),{wrap:n,body:r}=CZ([{label:`Lane`},{label:`Cost`,numeric:!0},{label:`Tokens`,numeric:!0},{label:`Sessions`,numeric:!0},{label:`Share`,numeric:!0}],null,()=>{},`lane`);for(let n of e){let e=V(`tr`,`usage-row`);n.lane===`other`&&(e.dataset.lane=`other`),wZ(e,[{text:Rk(n.lane),className:`usage-lane-cell`},{text:uk(n.costUSD),numeric:!0},{text:dk(n.tokens),numeric:!0},{text:Xk(n.sessions),numeric:!0},{node:TZ(hk(n.costUSD,t)),className:`usage-share-cell`}]),r.append(e)}return n}function IZ(){let e=Q?.activeBlock,t=Q?.blockHours,n=typeof t==`number`&&Number.isFinite(t)?t:5,r=BA(Q?.totals),i=vZ(`Current block`,r?`${n}h window, ${r}`:`${n}h window`);if(!e){i.append(V(`p`,`usage-empty`,`No active block.`));let e=LZ();return e&&i.append(e),i}let a=qA(Q,KX),o=V(`div`,`usage-tiles`);o.append(yZ(`block tokens`,dk(e.tokens??0),uk(e.costUSD??0),a).tile);for(let t of wk(e.burn))o.append(yZ(t.label,t.value,t.sub,a).tile);let s=Ek(e);if(s){let e=yZ(`elapsed`,`${s.pct}%`,`${Sk(s.remainingMinutes)} left`);fZ=e.valueEl,pZ=e.subEl,o.append(e.tile)}i.append(o),s&&(mZ=xZ(s.pct,`ok`,`Elapsed share of the current block window`),i.append(mZ),_Z.onTick(OZ));let c=Tk(e.projection);if(c){let e=V(`p`,`usage-projection`,c);e.dataset.tone=a,i.append(e)}let l=LZ();l&&i.append(l);let u=jk(Q?.tokenLimit);if(!u)return i;let d=kk(Q?.tokenLimit),f=qA(Q);i.append(xZ(d,f,`Share of the largest completed block seen, estimated`));let p=V(`p`,`usage-meta`,u);p.dataset.tone=f,i.append(p),i.append(V(`p`,`usage-provenance`,KA(`estimated`)));let m=Mk(e.projection,Q?.tokenLimit);if(m){let e=V(`p`,`usage-meta`,m);e.dataset.tone=f,i.append(e)}return i}function LZ(){let e=Q?.anomaly;if(!MA(e))return null;let t=V(`p`,`usage-meta`,AA(e));return t.dataset.tone=jA(e),t}function RZ(){let e=Oj(Q?.blocks);if(e.length===0)return null;let t=BA(Q?.totals),n=vZ(`Recent blocks`,t?`newest first, ${t}`:`newest first`),r=V(`div`,`usage-blocks`),i=e.reduce((e,t)=>Math.max(e,t.tokens),0);for(let t of e){let e=V(`div`,`usage-block`);t.isActive&&(e.dataset.active=`true`),e.append(V(`span`,`usage-block-label`,Ck(t.startTs)));let n=V(`span`,`usage-block-bar`),a=V(`span`,`usage-block-fill`);a.style.width=`${bZ(hk(t.tokens,i)??0)}%`,n.append(a),e.append(n),e.append(V(`span`,`usage-block-value`,`${dk(t.tokens)} ${uk(t.costUSD)}`)),r.append(e)}return n.append(r),n}function zZ(){let e=Q?.totals||{},t=Dj(Q?.daily,yk(Q)),n=vZ(`Totals`,[ek,Q?.tz?`TZ ${Q.tz}`:``].filter(Boolean).join(` `)),r=qA(Q,KX),i=V(`div`,`usage-tiles`);i.append(yZ(`today`,dk(t?.tokens??0),uk(t?.costUSD??0),r).tile),i.append(yZ(`range total`,dk(e.tokens??0),uk(e.costUSD??0)).tile);let a=Yk(Q);a&&i.append(yZ(a.label,a.value,a.sub).tile),n.append(i);let o=BZ(e);o&&n.append(o);let s=RA(e)?LA(e):[];if(s.length>0){let e=V(`div`,`usage-tiles usage-vendor-tiles`);for(let t of s)e.append(yZ(t.label,dk(t.tokens),uk(t.costUSD)).tile);n.append(e)}return uZ=V(`p`,`usage-meta`,``),n.append(uZ),DZ(),_Z.onTick(DZ),n}function BZ(e){let t=Pk(e);if(t.length===0)return null;let n=V(`div`,`usage-compo`),r=V(`div`,`usage-compo-bar`);r.setAttribute(`aria-hidden`,`true`);for(let e of t){if(e.pct<=0)continue;let t=V(`span`,`usage-compo-fill`);t.dataset.part=e.key,t.style.width=`${e.pct}%`,t.title=e.title,r.append(t)}let i=V(`div`,`usage-compo-legend`);for(let e of t){let t=V(`span`,`usage-compo-item`),n=V(`span`,`usage-compo-swatch`);n.dataset.part=e.key,t.append(n,V(`span`,`usage-compo-label`,e.label),V(`span`,`usage-compo-value`,e.value)),i.append(t)}return n.append(r,i),n}function VZ(){let e=Q?.savings;if(!$k(e))return null;let t=vZ(`Savings`,``),n=V(`div`,`usage-tiles`),r=eA(e);r&&n.append(yZ(`rtk compression`,r.value,r.sub).tile);let i=tA(e);return i&&n.append(yZ(`Prompt cache`,i.value,i.sub).tile),t.append(n),t}function HZ(){let e=nA(Q);if(e.length===0)return null;let t=vZ(`Budgets`,`your own ceilings`),n=V(`div`,`usage-budgets`),r=kW(`machine-usage`,`usage-daily-budget`,`Budget settings`);n.appendChild(r);for(let t of e){let e=V(`div`,`usage-budget`),r=V(`div`,`usage-budget-head`);r.append(V(`span`,`usage-budget-label`,rA(t.scope))),r.append(V(`span`,`usage-budget-value`,iA(t))),r.append(V(`span`,`usage-budget-pct`,fk(aA(t)))),e.append(r),e.append(xZ(aA(t),t.tone,oA(t))),n.append(e)}return t.append(n),t}function UZ(){let e=Q?.daily||[],t=oZ,n=Ej(yA(e,t),tZ),r=sA.find(e=>e.value===t)?.label||`Day`,i=vZ(`Over time`,[SA(e)].filter(Boolean).join(`, `));if(i.append(WZ()),n.length===0)return i.append(V(`p`,`usage-empty`,`No usage.`)),i;let a=KZ(e);a&&i.append(a);let{wrap:o,body:s}=CZ([{label:r,key:`day`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Models`}],tZ,e=>{tZ=_j(tZ,e),tQ()},`day`);for(let e of n){let n=String(e.day??``),r=V(`tr`,`usage-row`);e.source===`history`&&(r.dataset.source=`history`);let i=Tj(e.models),a=`${t}:${n}`,o=qZ(a,i.length);wZ(r,[{node:GZ(e,t),title:n},{text:dk(e.tokens),numeric:!0},{text:uk(e.costUSD),numeric:!0},{node:o,className:`usage-toggle-cell`}]),s.append(r),i.length!==0&&sZ.has(a)&&s.append(JZ(i))}return i.append(o),i}function WZ(){let e=V(`div`,`usage-period`);e.setAttribute(`role`,`group`),e.setAttribute(`aria-label`,`Period`);for(let t of sA){let n=V(`button`,`usage-period-button`,t.label);n.type=`button`,n.dataset.periodView=t.value,n.setAttribute(`aria-pressed`,t.value===oZ?`true`:`false`),n.addEventListener(`click`,()=>{oZ!==t.value&&(oZ=t.value,aZ={kind:`period`,view:t.value},tQ())}),e.append(n)}return e}function GZ(e,t){let n=V(`span`,`usage-period-cell`);return n.append(V(`span`,null,xA(e.day,t))),e.source===`history`&&n.append(V(`span`,`usage-history-tag`,`history`)),n}function KZ(e){let{cells:t,max:n}=EA(e,{today:yk(Q)});if(t.length===0||n<=0)return null;let r=V(`div`,`usage-heatmap-scroll`),i=V(`div`,`usage-heatmap`);i.setAttribute(`role`,`img`),i.setAttribute(`aria-label`,`Daily usage for the trailing ${Math.max(...t.map(e=>e.week))+1} weeks`);let a=V(`div`,`usage-heatmap-days`);for(let e of wA)a.append(V(`span`,`usage-heatmap-day`,e));for(let e of t){let t=V(`span`,`usage-heatmap-cell`);t.dataset.tone=String(e.tone),e.noData&&(t.dataset.noData=`true`),e.source===`history`&&(t.dataset.source=`history`),t.style.gridColumn=String(e.week+1),t.style.gridRow=String(e.weekday+1),t.title=DA(e),i.append(t)}return r.append(a,i),r}function qZ(e,t){if(t===0)return null;let n=V(`button`,`usage-toggle`,`Models`);return n.type=`button`,n.dataset.usageDay=e,n.setAttribute(`aria-expanded`,sZ.has(e)?`true`:`false`),n.addEventListener(`click`,()=>{if(aZ={kind:`day`,day:e},sZ.has(e)){sZ.delete(e),tQ();return}sZ.add(e),tQ()}),n}function JZ(e){let t=V(`tr`,`usage-row-breakdown`),n=V(`td`,`usage-models`);n.colSpan=4;for(let t of e){let e=V(`span`,`usage-model-chip`);e.append(V(`span`,`usage-model-name`,fj(t)),V(`span`,`usage-model-value`,`${dk(t.tokens)} ${uk(t.costUSD)}`)),n.append(e)}return t.append(n),t}function YZ(e,t){let n=V(`span`,`usage-model-name-wrap`),r=IA(e,t);return r&&n.append(V(`span`,`usage-vendor-tag`,r)),n.append(V(`span`,null,fj(e))),n}function XZ(){let e=Tj(Q?.models,nZ),t=Q?.totals||{},n=pk(t),r=vZ(`By model`,mk(n));if(e.length===0)return r.append(V(`p`,`usage-empty`,`No models.`)),r;let{wrap:i,body:a}=CZ([{label:`Model`,key:`model`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Share`,numeric:!0},{label:`Input`,numeric:!0,key:`input`},{label:`Output`,numeric:!0,key:`output`},{label:`Cache write`,numeric:!0,key:`cacheCreate`},{label:`Cache read`,numeric:!0,key:`cacheRead`}],nZ,e=>{nZ=_j(nZ,e),tQ()},`model`);for(let r of e){let e=V(`tr`,`usage-row`);wZ(e,[{node:YZ(r,t),className:`usage-model-cell`,title:fj(r)},{text:dk(r.tokens),numeric:!0},{text:uk(r.costUSD),numeric:!0},{node:TZ(hk(r[n],t[n])),className:`usage-share-cell`},{text:dk(r.input),numeric:!0},{text:dk(r.output),numeric:!0},{text:dk(r.cacheCreate),numeric:!0},{text:dk(r.cacheRead),numeric:!0}]),a.append(e)}return r.append(i),r}function ZZ(){let e=Sj(Q?.sessions,rZ),t=Cj(e,iZ),n=Q?.totals||{},r=pk(n),i=vZ(`By session`,mk(r));if(e.length===0)return i.append(V(`p`,`usage-empty`,`No sessions.`)),i;let{wrap:a,body:o}=CZ([{label:`Session`,key:`label`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Share`,numeric:!0},{label:`Last activity`,numeric:!0,key:`lastTs`}],rZ,e=>{rZ=_j(rZ,e),tQ()},`session`);for(let e of t.rows){let t=V(`tr`,`usage-row`);uj(e)&&(t.dataset.managed=`true`);let i=dj(e),a=V(`span`,`usage-ago`,``);wZ(t,[{text:i,className:`usage-session-cell`,title:e.project?String(e.project):i},{text:dk(e.tokens),numeric:!0},{text:uk(e.costUSD),numeric:!0},{node:TZ(hk(e[r],n[r])),className:`usage-share-cell`},{node:a,numeric:!0}]),_Z.track(a,Number(e.lastTs),RN),o.append(t)}return i.append(a),e.length>10&&i.append(QZ(t.hiddenCount)),i}function QZ(e){let t=V(`div`,`usage-overflow`),n=wj(e);n&&t.append(V(`p`,`usage-meta`,n));let r=V(`button`,`usage-toggle`,`All sessions`);return r.type=`button`,r.dataset.usageSessionsToggle=`true`,r.setAttribute(`aria-expanded`,iZ?`true`:`false`),r.addEventListener(`click`,()=>{aZ={kind:`sessions-toggle`},iZ=!iZ,tQ()}),t.append(r),t}function $Z(){let e=vZ(`Not available`,``);return e.append(V(`p`,`usage-empty`,aj(Q))),e.append(V(`p`,`usage-empty`,tk)),e}function eQ(){lZ=null,uZ=null,dZ=null,fZ=null,pZ=null,mZ=null,hZ=null,gZ=null}function tQ({force:e=!1}={}){if(!qX||!e&&Od(qX))return;let t=qX.parentElement,n=t?t.scrollTop:0;_Z.reset(),eQ(),qX.textContent=``,iQ(),t&&(t.scrollTop=n),nQ()}function nQ(){let e=aZ;if(aZ=null,!e)return;let t=rQ(e);if(!t||!qX)return;let n=qX.querySelector(t);n instanceof HTMLElement&&n.focus()}function rQ(e){return e.kind===`day`?`.usage-toggle[data-usage-day="${CSS.escape(e.day)}"]`:e.kind===`period`?`.usage-period-button[data-period-view="${CSS.escape(e.view)}"]`:e.kind===`sessions-toggle`?`.usage-toggle[data-usage-sessions-toggle="true"]`:e.kind===`sort`?`[data-usage-table="${CSS.escape(e.table)}"] .usage-sort[data-sort-key="${CSS.escape(e.key)}"]`:null}function iQ(){if(!qX)return;qX.append(AZ());let e=jZ();if(sj(Q)){e&&qX.append(e),qX.append($Z());return}if(!Q){e&&qX.append(e),qX.append(V(`p`,`usage-empty`,`Waiting for scan.`));return}let t=[e,HZ()].filter(e=>e!==null);qX.append(aQ(`usage-band-now`,IZ(),t,{sideFirst:!0}));let n=[VZ()].filter(e=>e!==null);qX.append(aQ(`usage-band-spend`,zZ(),n));let r=[RZ()].filter(e=>e!==null);qX.append(aQ(`usage-band-trend`,UZ(),r));let i=PZ();i&&qX.append(i),qX.append(XZ(),ZZ())}function aQ(e,t,n,{sideFirst:r=!1}={}){if(n.length===0)return t;let i=V(`div`,`usage-band ${e}`),a=V(`div`,`usage-band-col`);for(let e of n)a.append(e);return r?(i.append(a,t),i):(i.append(t,a),i)}function oQ(){JX&&JX(cZ.refresh())}function sQ(){cZ.acknowledge(),oQ()}function cQ(){hZ&&(hZ.disabled=$X),gZ&&(gZ.textContent=$X?`Refreshing`:``)}function lQ(e){$X=e,cQ(),eZ&&=(clearTimeout(eZ),null),e&&(eZ=setTimeout(()=>{eZ=null,$X=!1,cQ()},WX))}function uQ(e){JX=e,oQ()}function dQ(e){YX=e}function fQ({force:e=!1}={}){if(!YX)return;XX+=1,ZX=`usage-${XX}`;let t={type:`request-usage-report`,requestId:ZX};e&&(t.force=!0);let n=kZ(QX);n!==null&&(t.days=n),lQ(!0),YX(t)}function pQ(e){if(qX)return qX;let t=V(`div`,`usage-content`);return e.appendChild(t),qX=t,_Z.ensure(),tQ({force:!0}),t}function mQ(){tQ({force:!0})}function hQ(e){if(GX=e,Q&&!sj(Q)&&uZ?.isConnected){DZ();return}tQ()}function gQ(e){KX=e,tQ(),oQ()}function _Q(e){cj(e,ZX)&&(lQ(!1),Q=e,tQ(),oQ())}function vQ(){let e=Q?.pricing||(GX?{source:GX.pricingSource}:null),t=tj(e?.fetchedAt),n=[ej(e,t!==null&&t>0?RN(t):``)],r=aj(Q);r&&n.push(r);let i=ij(Q?.scan);return i&&n.push(i),n}var yQ=Object.freeze({fetch:`Fetch`,stage:`Stage`,install:`Install dependencies`,"link-deps":`Link dependencies`,build:`Build`}),bQ=Object.freeze({"branch-count-unavailable":`The last check could not compare the checked-out branch with its upstream.`,"branch-diverged":`The checked-out branch has diverged from its upstream.`,"fetch-failed":`The last update check could not fetch the upstream branch.`,"main-channel-requires-clone":`The main channel requires a clone install.`,"no-branch":`The last update check found no checked-out branch.`,"no-upstream":`The checked-out branch has no upstream.`,"release-already-checked-out":`The checkout already contains the latest release. Restart to run it.`,"release-asset-pending":`A new release is out, but its npx package is not attached yet. The next check offers it.`,"release-check-failed":`The last release check failed.`,"remote-tip-unavailable":`The last update check could not resolve the upstream branch tip.`,"update-check-failed":`The last update check failed.`}),xQ=Object.freeze([`unsupported-flavor`,`unsupported-platform`]),SQ=`Not connected to the server. Reconnecting.`,CQ=Object.freeze({requested:!1,failure:null});function wQ(e){return typeof e==`string`?e.trim():``}function TQ(e,t){return t===`request-sent`?{requested:!0,failure:null}:t===`request-unsent`?{requested:!1,failure:SQ}:t===`progress-frame`?CQ:t===`error-frame`?e.requested?CQ:e:e.failure===null?e:{requested:e.requested,failure:null}}function EQ(e,t){return t?.state?t.state:e?.journalSummary?.state}function DQ(e){return{enabled:!1,reason:e}}function OQ(){return{enabled:!0,reason:null}}function kQ({status:e,journal:t,request:n=CQ}){let r=EQ(e,t)===`running`||n.requested,i=r?DQ(`Wait for update staging to finish.`):OQ();if(n.failure)return{update:DQ(n.failure),restart:i};if(r)return{update:DQ(`Wait for the current update to finish.`),restart:i};if(!e)return{update:DQ(`Update status unavailable. Check for updates.`),restart:i};let a=e.applyRefusal;return a?{update:DQ(a.message),restart:i}:{update:OQ(),restart:i}}function AQ(e){let t=e?.applyRefusal;return t===void 0?`command`:t===null?`link`:xQ.includes(t.reason)?`command`:`link`}function jQ(e){let t=wQ(e);return t?`: ${t}`:``}function MQ(e){return e.state===`staged`?`Update staged. Restart to hand it off${jQ(e.reason)}.`:e.state===`succeeded`?`Update succeeded at restart${jQ(e.reason)}.`:e.state===`failed`?`Update failed${jQ(e.reason)}.`:e.state===`discarded`?`Update discarded${jQ(e.reason)}.`:e.state===`interrupted`?`Update interrupted${jQ(e.reason)}.`:null}function NQ(e){return yQ[e]??e}function PQ(e){let t=e.steps.find(t=>t.id===e.activeStep);if(t&&t.outputTail.length>0)return{stepId:t.id,lines:t.outputTail};let n=e.steps.findLast(e=>e.outputTail.length>0);return n?{stepId:n.id,lines:n.outputTail}:{stepId:null,lines:[]}}function FQ(e){if(!e||e.state===`idle`)return null;let t=PQ(e),n=t.stepId!==null&&t.stepId!==e.activeStep?t.stepId:null;return{state:e.state,terminalLine:MQ(e),steps:e.steps.map(e=>({id:e.id,label:NQ(e.id),status:e.status})),outputTail:t.lines,outputStepId:t.stepId,outputStepLabel:n===null?null:NQ(n)}}var IQ=6e5;function LQ(e){return e.channel!==`main`||!Number.isInteger(e.behindCount)?``:`${e.behindCount} ${e.behindCount===1?`commit`:`commits`} behind`}function RQ(e,t){let n=EQ(e,t),r=RD(t?.toVersion,t?.toSha)||RD(e?.latest,e?.latestSha)||`the update`;if(n===`running`)return{tone:`running`,headline:`Updating to ${r}. Glimmervoid keeps running until the restart.`};if(n===`staged`)return{tone:`staged`,headline:`${r} is staged. Restart to finish updating.`};if(!e)return{tone:`unknown`,headline:`No update check has run yet.`};let i=RD(e.current,e.currentSha)||`an unknown version`;if(e.updateAvailable){let t=RD(e.latest,e.latestSha)||`a newer build`,n=LQ(e);return{tone:`available`,headline:`Update available: ${i} to ${t}${n?` (${n})`:``}.`}}return wQ(e.reason)?{tone:`unknown`,headline:`Running ${i}. The last check did not finish.`}:{tone:`current`,headline:`Up to date. Running ${i}.`}}function zQ(e){if(!e)return`Update status unavailable.`;let t=RD(e.current,null)||`Unknown version`,n=LD(e.currentSha),r=wQ(e.installedBranch);return[t,[n?`commit ${n}`:``,r?`on ${r}`:``].filter(Boolean).join(` `),e.isTreeClean===!0?`clean checkout`:e.isTreeClean===!1?`uncommitted local changes`:``].filter(Boolean).join(`, `)}function BQ(e){return e?{label:RD(e.latest,e.latestSha)||`Latest target unknown`,behind:LQ(e),releaseUrl:wQ(e.releaseUrl)}:{label:`Update status unavailable.`,behind:``,releaseUrl:``}}function VQ({status:e,checkForUpdates:t,now:n,lastAutoCheckAt:r}){if(t===!1||r!==null&&n-r<IQ)return!1;let i=typeof e?.lastCheckAt==`number`?e.lastCheckAt:null;return i===null||n-i>=IQ}function HQ({status:e,checkForUpdates:t,relativeTime:n}){if(t===!1)return`Update checks are off.`;if(!e)return`No update check has run.`;let r=wQ(e.reason);return r?bQ[r]??`The last update check failed: ${r}.`:e.flavor===`unknown`?`The install flavor is unknown.`:n}var UQ=PP,WQ=Object.freeze({sounds:()=>Cb(),themes:Wb});function GQ(e){if(!e.optionsFrom)return e;let t=WQ[e.optionsFrom]?.()??[];return{...e,options:t.map(e=>({value:e.id,label:e.label}))}}function KQ(){return Object.freeze(XY.map(e=>({...e,settings:e.settings.map(GQ)})))}var qQ=KQ(),JQ=jX(qQ),YQ=Object.freeze({browser:`This browser`,machine:`Machine`,lanes:`Lanes`,projects:`Projects`}),XQ=!1,ZQ=null,QQ=null,$Q=null,e$=null,t$=null,n$=null,r$=null,i$=null,a$=null,o$=null,s$=null,$=JQ[0],c$={},l$=[],u$=[],d$=new Map,f$=null,p$=null,m$=``,h$=``,g$=null,_$=null,v$=null,y$=null,b$=CQ,x$=()=>{},S$=e=>{e([])},C$=null,w$=!1,T$=new Set,E$=new Map;function D$(){return{themeId:hF(),flyingAnimalsEnabled:_F(),...sI(),soundId:wb(sF()),notificationsEnabled:lF(),compactStatusLabels:dF(),sessionUsageChips:pF()}}function O$(e){let t={...e,prefs:D$()};f$=yX(JQ,t),p$=yX(JQ,t)}function k$(e){return e.control===`readonly`?e.value:p$?.[e.path]??e.defaultValue}function A$(e){return e.settings.some(e=>!e.path.startsWith(`pref:`)&&JSON.stringify(f$?.[e.path])!==JSON.stringify(p$?.[e.path]))}function j$(e,t=null){return`#settings/${encodeURIComponent(e)}${t?`/${encodeURIComponent(t)}`:``}`}function M$(e,t=null){history.replaceState(history.state,``,j$(e,t))}function N$(e){requestAnimationFrame(()=>{let t=document.getElementById(e),n=t?.closest(`.settings-view-advanced-panel`);n&&(XQ=!0,n.hidden=!1,s$?.querySelector(`.settings-view-advanced-toggle`)?.setAttribute(`aria-expanded`,`true`));let r=t?.closest(`.settings-view-setting`);r&&(r.scrollIntoView({block:`center`}),r.classList.remove(`settings-view-setting-flash`),requestAnimationFrame(()=>r.classList.add(`settings-view-setting-flash`)))})}function P$(){let e=IX(u$);JQ=jX([...qQ,...e]),$=BX(JQ,$?.id)??$}function F$(e){let t=Array.isArray(e)?e:[];for(let e of t)typeof e?.id==`string`&&e.id&&d$.set(e.id,{...d$.get(e.id),...e});u$=RX(LX(l$),[...d$.values()])}function I$(e){for(let t of Jte(Zy)){let n=V(`div`,`shortcut-group`);n.appendChild(V(`div`,`shortcut-group-title`,t.title));let r=V(`dl`,`shortcut-rows`);for(let e of t.items){let t=V(`dt`,`shortcut-keys`);e.combos.forEach((e,n)=>{n>0&&t.appendChild(V(`span`,`shortcut-sep`,`/`)),tb(t,e)}),r.append(t,V(`dd`,`shortcut-label`,e.label))}n.appendChild(r),e.appendChild(n)}}function L$(e){let t=V(`div`,`settings-about`),n=V(`span`,`settings-about-version`,`GLIMMERVOID `);n.appendChild(V(`span`,`settings-about-v`,`v0.29.1`));let r=V(`span`,`settings-about-links`),i=V(`a`,`settings-about-link`,`GitHub`);i.href=`https://github.com/${SY}`,i.target=`_blank`,i.rel=`noopener`;let a=V(`a`,`settings-about-link`,`Changelog`);a.href=`https://github.com/${SY}/blob/main/CHANGELOG.md`,a.target=`_blank`,a.rel=`noopener`,r.append(i,a),t.append(n,r),e.appendChild(t)}function R$(){for(let[e,t]of Object.entries(sI()))f$&&(f$[`pref:${e}`]=t),p$&&(p$[`pref:${e}`]=t)}var z$={"pref:flyingAnimalsMinGapSeconds":e=>$F(Number(e)),"pref:flyingAnimalsMaxGapSeconds":e=>eI(Number(e)),"pref:flyingAnimalsMinDurationSeconds":e=>tI(Number(e)),"pref:flyingAnimalsMaxDurationSeconds":e=>nI(Number(e)),"pref:flyingAnimalsScale":e=>rI(Number(e)),"pref:flyingAnimalsOnPhone":e=>iI(e===!0)};function B$(e,t){if(e.path===`pref:compactStatusLabels`){fF(t===!0),Vb(t===!0);return}if(e.path===`pref:sessionUsageChips`){mF(t===!0),Hb(t===!0);return}if(e.path===`pref:themeId`){gF(t),Bb(t);return}if(e.path===`pref:flyingAnimalsEnabled`){vF(t),bY(t);return}let n=z$[e.path];if(n){let r=TX([$],p$??{},UQ);if(r[e.id])return;n(t);let i=DX([$],e),a=i&&z$[i.path];i&&a&&!r[i.id]&&a(p$?.[i.path]),bY(_F());return}if(e.path===`pref:soundId`){cF(t),Pb(t);return}e.path===`pref:notificationsEnabled`&&(uF(t),t&&GJ().then(O1))}function V$(){if(!s$||!p$)return;s$.querySelector(`.settings-view-footer`)?.remove();let e=_1(TX([$],p$,UQ));e&&s$.appendChild(e)}function H$(e,t,{rerender:n=!0}={}){if(p$){if(p$[e.path]=t,m$=``,e.path.startsWith(`pref:`)&&f$&&(f$[e.path]=t,B$(e,t)),n){O1();return}V$()}}function U$(e,t){if(!t.exclusiveMin)return t.min;if(e.integer!==!1)return t.min+1}function W$(e){let t=V(`div`,`settings-view-toggle-wrap`),n=V(`label`,`settings-view-toggle`),r=V(`input`,`settings-view-checkbox`);return r.type=`checkbox`,r.checked=k$(e)===!0,e.id===`desktop-notifications`&&!UJ()&&(r.checked=!1,r.disabled=!0),r.setAttribute(`aria-labelledby`,e.id),r.addEventListener(`change`,()=>H$(e,r.checked)),n.append(r,V(`span`,`settings-view-toggle-state`,r.checked?`On`:`Off`)),t.appendChild(n),t}function G$(e){let t=V(`input`,`settings-view-input`);return t.type=e.control??`text`,t.value=String(k$(e)??``),e.control===`password`&&(t.placeholder=`No credential stored`),t.autocomplete=`off`,t.spellcheck=!1,t.setAttribute(`aria-labelledby`,e.id),t.addEventListener(`input`,()=>H$(e,t.value,{rerender:!1})),t}function K$(e){let t=V(`input`,`settings-view-input`),n=UQ[e.range??``];t.type=`number`,t.value=String(k$(e)??``),t.step=String(e.step??1);let r=U$(e,n);return r!=null&&(t.min=String(r)),n.max!=null&&(t.max=String(n.max)),t.autocomplete=`off`,t.setAttribute(`aria-labelledby`,e.id),e.commitOnChange?(t.addEventListener(`change`,()=>H$(e,t.value.trim()===``?e.defaultValue:t.value)),t):(t.addEventListener(`input`,()=>H$(e,t.value,{rerender:!1})),t)}function q$(e){let t=V(`select`,`settings-view-input`);t.setAttribute(`aria-labelledby`,e.id);for(let n of e.options){let e=V(`option`,null,n.label);e.value=n.value,t.appendChild(e)}return t.value=String(k$(e)),t.addEventListener(`change`,()=>H$(e,t.value)),t}function J$(e){let t=V(`div`,`settings-view-list`),n=k$(e),r=Array.isArray(n)?n:[];r.length===0&&t.appendChild(V(`div`,`settings-empty`,`No repository roots configured.`));for(let[n,i]of r.entries()){let a=V(`div`,`settings-root-item`),o=V(`span`,`settings-root-path`,i);o.title=i;let s=V(`button`,`btn-settings-remove`,`×`);s.type=`button`,s.title=`Remove`,s.setAttribute(`aria-label`,`Remove ${i}`),s.addEventListener(`click`,()=>{H$(e,r.filter((e,t)=>t!==n))}),a.append(o,s),t.appendChild(a)}let i=V(`div`,`settings-add-row`),a=V(`input`,`settings-view-input settings-root-input`);a.type=`text`,a.autocomplete=`off`,a.spellcheck=!1,a.placeholder=`Repository root path`;let o=V(`button`,`btn-dialog btn-dialog-confirm btn-settings-add`,`Add`);o.type=`button`;let s=()=>{let t=a.value.trim();t&&(r.some(e=>e.toLowerCase()===t.toLowerCase())||H$(e,[...r,t]))};return o.addEventListener(`click`,s),a.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.preventDefault(),s())}),i.append(a,o),t.appendChild(i),t}function Y$(e){let t=V(`div`,`settings-view-projects`),n=k$(e),r=new Set(Array.isArray(n)?n:[]),i=Array.isArray(c$.projectChoices)?c$.projectChoices:[];i.length===0&&t.appendChild(V(`div`,`settings-empty`,`No configured projects are available.`));for(let n of i){let i=V(`label`,`settings-view-project-choice`),a=V(`input`,`settings-view-checkbox`);a.type=`checkbox`,a.checked=r.has(n.id),a.addEventListener(`change`,()=>{let t=new Set(r);a.checked&&t.add(n.id),a.checked||t.delete(n.id),H$(e,[...t])}),i.append(a,document.createTextNode(n.name)),t.appendChild(i)}return t}function X$(e){let t=V(`div`,`settings-view-file-only`);return t.append(V(`code`,`settings-view-key-path`,e.path)),t.append(V(`span`,`settings-view-file-caption`,`Configured in config.json`)),t}function Z$(){let e=RQ(v$,y$),t=V(`div`,`settings-readonly settings-update-readout settings-update-summary`,e.headline);return t.dataset.tone=e.tone,t}function Q$(){return V(`div`,`settings-readonly settings-update-readout`,zQ(v$))}function $$(){let e=BQ(v$),t=V(`div`,`settings-readonly settings-update-readout`);if(t.appendChild(V(`span`,`settings-update-latest-label`,e.label)),e.behind&&t.appendChild(V(`span`,`settings-update-behind`,e.behind)),!e.releaseUrl)return t;let n=V(`a`,`settings-link`,`View release`);return n.href=e.releaseUrl,n.target=`_blank`,n.rel=`noopener noreferrer`,t.appendChild(n),t}function e1(){let e=typeof v$?.lastCheckAt==`number`?v$.lastCheckAt:null,t=V(`div`,`settings-readonly settings-update-readout`,HQ({status:v$,checkForUpdates:c$.checkForUpdates,relativeTime:RN(e)}));return e&&(t.title=new Date(e).toLocaleString()),t}function t1(e,t,{decision:n={enabled:!0,reason:null},isPrimary:r=!1}={}){let i=V(`button`,`btn-dialog ${r?`btn-dialog-confirm`:`btn-dialog-cancel`} settings-update-button`,e);return i.type=`button`,i.disabled=!n.enabled,i.addEventListener(`click`,t),i}function n1(e){let t=V(`span`,`settings-update-action-status`,e??``);return t.setAttribute(`role`,`status`),t}function r1(e){let t=TQ(b$,e);t!==b$&&(b$=t,X1())}function i1({restartWhenStaged:e,confirmedSessionIds:t}){r1(B({type:`update-apply`,restartWhenStaged:e,confirmedSessionIds:t})?`request-sent`:`request-unsent`)}function a1(){C$=Date.now(),B({type:`update-check`})}function o1(){if(!v$){w$=!0;return}w$=!1,VQ({status:v$,checkForUpdates:c$.checkForUpdates,now:Date.now(),lastAutoCheckAt:C$})&&a1()}function s1(){let e=kQ({status:v$,journal:y$,request:b$}),t=V(`div`,`settings-update-actions settings-update-readout`),n=V(`div`,`settings-update-buttons`);return n.append(t1(`Update and restart`,()=>S$(e=>i1({restartWhenStaged:!0,confirmedSessionIds:e})),{decision:e.update,isPrimary:!0}),t1(`Update without restart`,()=>i1({restartWhenStaged:!1}),{decision:e.update}),t1(`Check for updates`,a1),t1(`Restart`,x$,{decision:e.restart})),t.append(n,n1(e.update.reason)),t}function c1(e){return e.status===`update-summary`?Z$():e.status===`update-installed`?Q$():e.status===`update-latest`?$$():e.status===`update-last-checked`?e1():e.status===`update-actions`?s1():V(`div`,`settings-readonly`,String(e.value||`Not configured`))}function l1(e){return e.fileOnly?X$(e):e.control===`readonly`?c1(e):e.control===`toggle`?W$(e):e.control===`number`?K$(e):e.control===`select`?q$(e):e.control===`list`?J$(e):e.control===`projects`?Y$(e):G$(e)}function u1(e){if(e.id===`desktop-notifications`&&!UJ())return`Desktop notifications are unavailable for this page.`;if(e.id===`desktop-notifications`&&k$(e)&&WJ()===`denied`)return`Blocked by the browser. Allow notifications for this site to enable them.`;if(e.status!==`rtk-install`||!k$(e)||c$.rtkAvailable)return``;let t=c$.rtkInstall||{status:`idle`};return t.status===`installing`?`No rtk binary found. Glimmervoid is installing it into ~/.glimmervoid/bin now.`:t.status===`failed`?`No rtk binary found. The last install attempt failed: ${t.reason||`unknown reason`}. Glimmervoid retries on the next save.`:`No rtk binary found. Glimmervoid will install it into ~/.glimmervoid/bin when you save.`}function d1(e){if(e.status===`custom-agents`)return b1();if(e.status===`workflows`)return w1();if(e.status===`usage-last-report`)return T1();if(e.status===`update-actions`)return f1();if(e.status?.startsWith(`update-`))return null;let t=u1(e);return t?V(`div`,`settings-view-warning settings-view-status-slot`,t):null}function f1(){let e=FQ(y$);if(!e)return null;let t=V(`div`,`settings-update-progress settings-view-status-block settings-view-status-slot`);t.dataset.state=e.state,t.setAttribute(`role`,`status`),e.terminalLine&&t.appendChild(V(`div`,`settings-update-terminal`,e.terminalLine));let n=V(`ol`,`settings-update-steps`);for(let t of e.steps){let e=V(`li`,`settings-update-step`);e.dataset.status=t.status,e.append(V(`span`,`settings-update-step-state`,t.status),V(`span`,`settings-update-step-label`,t.label)),n.appendChild(e)}if(t.appendChild(n),e.outputTail.length===0)return t;let r=V(`pre`,`settings-update-output`,e.outputTail.join(`
|
|
242
|
-
`));if(e.outputStepId&&(r.dataset.step=e.outputStepId),!e.outputStepLabel)return t.appendChild(r),t;let i=`Output from ${e.outputStepLabel}`;return r.setAttribute(`aria-label`,i),t.append(V(`div`,`settings-update-output-label`,i),r),t}function p1(e){let t=V(`div`,`settings-view-setting-heading`),n=V(`h2`,`settings-view-setting-title`,e.title);n.id=e.id,n.addEventListener(`click`,()=>M$($.id,e.id));let r=V(`button`,`settings-view-copy-link`,`#`);r.type=`button`,r.setAttribute(`aria-label`,`Copy link`);let i=V(`span`,`settings-view-copy-status`);return i.setAttribute(`role`,`status`),r.addEventListener(`click`,async()=>{let t=new URL(j$($.id,e.id),location.href).href;try{await navigator.clipboard.writeText(t),i.textContent=`Link copied`}catch{i.textContent=`Copy failed`}setTimeout(()=>{i.textContent=``},1600)}),t.append(n,r,i),t}function m1(e,t){let n=V(`article`,`settings-view-setting`);n.append(p1(e),V(`p`,`settings-view-setting-description`,e.description)),n.appendChild(l1(e)),e.id===`compact-status`&&n.appendChild(YJ()),zX(e,k$(e))&&n.appendChild(V(`div`,`settings-view-warning settings-warning`,e.warning));let r=d1(e);return r&&n.appendChild(r),t[e.id]&&n.appendChild(V(`div`,`settings-view-field-error`,t[e.id])),n}function h1(){if(p$&&f$){for(let e of $.settings)p$[e.path]=structuredClone(f$[e.path]);m$=``,O1()}}async function g1(){let e=$,t=[e],n=TX(t,p$??{},UQ);if(Object.keys(n).length>0){m$=`Fix the highlighted settings before saving.`,O1();return}let r=eX(xX(t,f$??{},p$??{}));if(Object.keys(r).length!==0)try{let t=await fd(`update-settings`,{settings:r});if(t.type===`settings-error`){if($!==e)return;m$=String(t.message),O1();return}t.settings&&K1(t.settings,{rehydrateSectionIds:[e.id]})}catch(t){if($!==e)return;m$=t?.message||`Failed to save settings.`,O1()}}function _1(e){let t=A$($);if($.level===`browser`||!t&&!m$)return null;let n=V(`footer`,`settings-view-footer`),r=V(`div`,`settings-view-footer-error`,m$);if(r.setAttribute(`role`,`status`),n.appendChild(r),!t)return n;let i=V(`div`,`settings-view-footer-actions`),a=V(`button`,`btn-dialog btn-dialog-cancel`,`Revert`);a.type=`button`,a.addEventListener(`click`,h1);let o=V(`button`,`btn-dialog btn-dialog-confirm`,`Save`);return o.type=`button`,o.disabled=Object.keys(e).length>0,o.addEventListener(`click`,g1),i.append(a,o),n.appendChild(i),n}function v1(e){return e===null?`not probed yet`:e?`resolved`:`not found on PATH`}function y1(){let e=Array.isArray(c$.customAgents)?c$.customAgents:[];return e.length===0?[`None declared. Add customAgents to config.json.`]:e.map(e=>{let t=e.args.length>0?`${e.command} ${e.args.join(` `)}`:e.command;return`${e.id} ${e.label} ${t} ${v1(e.resolvable)}`})}function b1(){let e=V(`div`,`settings-view-status-block settings-view-status-slot`);e.appendChild(V(`div`,`settings-section-title`,`Declared agents`));for(let t of y1())e.appendChild(V(`div`,`settings-readonly`,t));return e}async function x1(e,t){T$.add(e.id),E$.delete(e.id),Y1();try{let n=await fd(`update-settings`,{settings:{workflows:{rules:[{id:e.id,enabled:t}]}}});if(n.type===`settings-error`&&E$.set(e.id,String(n.message)),T$.delete(e.id),n.type!==`settings-error`&&n.settings){K1(n.settings);return}}catch(t){E$.set(e.id,t?.message||`Failed to save the rule.`)}T$.delete(e.id),Y1()}function S1(e){return T$.has(e.id)?`Saving`:E$.get(e.id)??``}function C1(e){let t=V(`div`,`settings-view-toggle-wrap`),n=V(`label`,`settings-view-toggle`),r=V(`input`,`settings-view-checkbox`);r.type=`checkbox`,r.checked=e.isEnabled,r.disabled=T$.has(e.id),r.setAttribute(`aria-label`,`Run rule ${e.name}`),r.addEventListener(`change`,()=>{x1(e,r.checked)}),n.append(r,V(`span`,`settings-view-toggle-state`,e.isEnabled?`On`:`Off`),V(`span`,`settings-readonly`,`${e.name} ${e.summary}`));let i=V(`span`,`settings-view-copy-status`,S1(e));return i.setAttribute(`role`,`status`),t.append(n,i),t}function w1(){let e=V(`div`,`settings-view-status-block settings-view-status-slot`);e.appendChild(V(`div`,`settings-section-title`,`Rules`));let t=$Y(c$.workflows);if(t.length>0){for(let n of t)e.appendChild(C1(n));return e}for(let t of QY(c$.workflows))e.appendChild(V(`div`,`settings-readonly`,t));return e}function T1(){let e=V(`div`,`settings-view-status-block settings-view-status-slot`);e.appendChild(V(`div`,`settings-section-title`,`Last report`));let t=vQ();for(let n of t)e.appendChild(V(`div`,`settings-readonly`,n));return e}function E1(){let e=V(`button`,`btn-dialog btn-dialog-cancel`,`Reset to defaults`);return e.type=`button`,e.addEventListener(`click`,()=>{cI(),R$(),bY(_F()),O1()}),e}function D1(e,t){let n=V(`div`,`settings-view-advanced`),r=V(`button`,`dialog-advanced-toggle settings-view-advanced-toggle`,`Advanced`);r.type=`button`,r.setAttribute(`aria-expanded`,String(XQ)),r.setAttribute(`aria-controls`,`settings-view-advanced-panel`);let i=V(`div`,`dialog-advanced-panel settings-view-advanced-panel`);i.id=`settings-view-advanced-panel`,i.hidden=!XQ,r.addEventListener(`click`,()=>{XQ=!XQ,i.hidden=!XQ,r.setAttribute(`aria-expanded`,String(XQ))});for(let n of e)i.append(m1(n,t));return $.id===`browser-flying-animals`&&i.append(E1()),n.append(r,i),n}function O1(){if(!s$||!p$)return;s$.textContent=``;let e=V(`header`,`settings-view-section-header`),t=V(`div`,`settings-view-title-row`),n=V(`h1`,`settings-view-section-title`,$.title);if(n.tabIndex=-1,n.addEventListener(`click`,()=>M$($.id)),t.append(n),t.append(V(`span`,`settings-view-level`,YQ[$.level]||$.level)),e.append(t,V(`p`,`settings-view-section-description`,$.description)),$.caption&&e.appendChild(V(`p`,`settings-view-section-caption`,$.caption)),s$.appendChild(e),$.id===`browser-shortcuts`){let e=V(`div`,`shortcut-groups settings-view-shortcuts`);I$(e),s$.appendChild(e),s$.appendChild(UX()),L$(s$);return}let r=TX([$],p$,UQ),i=V(`div`,`settings-view-stack`);for(let e of $.settings.filter(e=>!e.advanced))i.appendChild(m1(e,r));$.id===`browser-flying-animals`&&i.append(xY());let a=$.settings.filter(e=>e.advanced);a.length>0&&i.append(D1(a,r));for(let e of $.unattendedLinks||[]){let t=V(`div`,`settings-view-unattended-link`);t.append(document.createTextNode(`${e.title}: `));let n=V(`a`,null,`Enabled in Unattended actions`);n.href=j$(`lanes-unattended`,e.settingId),t.appendChild(n),i.appendChild(t)}s$.appendChild(i);let o=_1(r);o&&s$.appendChild(o)}function k1(e,{focusContent:t=!1,settingId:n=null,updateHash:r=!0}={}){$.id!==e&&(XQ=!1),$=BX(JQ,e)??$,m$=``,A1(e$),A1(a$),r$&&(r$.textContent=$.title,n$&&(n$.title=$.title)),i$&&(i$.textContent=YQ[$.level]||$.level),O1(),V1($)&&B1(),$.id===`machine-updates`&&o1(),r&&M$($.id,n),n&&N$(n),t&&s$?.querySelector(`h1`)?.focus()}function A1(e){for(let t of e?.querySelectorAll(`[data-settings-section]`)||[]){let e=t.dataset.settingsSection===$.id;t.setAttribute(`aria-current`,e?`page`:`false`)}}function j1(e){I1(!1),t$&&(t$.value=``,h$=``,L1(),k1(e.section.id,{settingId:e.setting.id}))}function M1(e,t){if(t.length===0){e.appendChild(V(`div`,`settings-empty settings-view-search-empty`,`No settings found.`));return}let n=new Map;for(let e of t)n.has(e.section.id)||n.set(e.section.id,[]),n.get(e.section.id)?.push(e);for(let t of n.values()){let n=t[0].section,r=V(`div`,`settings-view-nav-group`);r.appendChild(V(`div`,`settings-view-nav-label`,`${n.title} (${YQ[n.level]})`));for(let e of t){let t=V(`button`,`settings-view-nav-item settings-view-search-result`,e.setting.title);t.type=`button`,t.addEventListener(`click`,()=>j1(e)),r.appendChild(t)}e.appendChild(r)}}function N1(e,t,{groupClassName:n,headingClassName:r,createButton:i}){for(let a of[`browser`,`machine`,`lanes`,`projects`]){if(t[a].length===0)continue;let o=V(`div`,n);o.appendChild(V(`div`,r,YQ[a]));for(let e of t[a])o.appendChild(i(e));e.appendChild(o)}}function P1(e){a$&&(a$.textContent=``,N1(a$,e,{groupClassName:`settings-view-section-picker-group`,headingClassName:`settings-view-section-picker-heading`,createButton(e){let t=V(`button`,`settings-view-section-option`,e.title);return t.type=`button`,t.dataset.settingsSection=e.id,t.addEventListener(`click`,()=>{I1(!1),k1(e.id)}),t}}),A1(a$))}function F1(){return!!a$&&!a$.hidden}function I1(e,{returnFocus:t=!0}={}){if(!a$||!n$)return;let n=F1();if(a$.hidden=!e,n$.setAttribute(`aria-expanded`,String(e)),e){P1(OX(JQ)),requestAnimationFrame(()=>{let e=a$?.querySelector(`[aria-current="page"]`);e instanceof HTMLElement&&e.focus()});return}t&&n&&n$.focus()}function L1(){if(!e$||!o$||!$Q)return;let e=OX(JQ);if(e$.textContent=``,o$.textContent=``,$Q.dataset.searching=String(!!h$),o$.hidden=!h$,h$){let e=kX(JQ,h$);M1(e$,e),M1(o$,e);return}N1(e$,e,{groupClassName:`settings-view-nav-group`,headingClassName:`settings-view-nav-label`,createButton(e){let t=V(`button`,`settings-view-nav-item`,e.title);return t.type=`button`,t.dataset.settingsSection=e.id,t.addEventListener(`click`,()=>k1(e.id)),t}}),P1(e),k1($.id,{updateHash:!1})}function R1(e){if(h$&&e.key===`Enter`){let t=kX(JQ,h$)[0];if(!t)return;e.preventDefault(),j1(t);return}if(e.key===`Escape`&&h$){if(!t$)return;e.preventDefault(),t$.value=``,h$=``,L1(),t$.focus();return}if(e.key!==`ArrowUp`&&e.key!==`ArrowDown`||!e$)return;let t=[...e$.querySelectorAll(`[data-settings-section]`)].filter(e=>e instanceof HTMLElement),n=document.activeElement;if(!(n instanceof HTMLElement))return;let r=t.indexOf(n);r<0||(e.preventDefault(),t[(r+(e.key===`ArrowDown`?1:-1)+t.length)%t.length].focus())}function z1(e,{onRestart:t=()=>{},onConfirmUpdateAndRestart:n=e=>{e([])}}={}){x$=t,S$=n,ZQ=e,ZQ.textContent=``,$Q=V(`div`,`settings-view-shell`);let r=V(`div`,`settings-view-sidebar`);t$=V(`input`,`settings-view-search`),t$.type=`search`,t$.placeholder=`Search settings`,t$.setAttribute(`aria-label`,`Search settings`),e$=V(`nav`,`settings-view-nav`),e$.setAttribute(`role`,`navigation`),e$.setAttribute(`aria-label`,`Settings sections`),n$=V(`button`,`settings-view-section-button`),n$.type=`button`,n$.setAttribute(`aria-expanded`,`false`),n$.setAttribute(`aria-controls`,`settings-section-picker`),r$=V(`span`,`settings-view-section-button-title`),i$=V(`span`,`settings-view-section-button-level`);let i=V(`span`,`settings-view-section-button-chevron`,`⌄`);i.setAttribute(`aria-hidden`,`true`),n$.append(r$,i$,i),a$=V(`div`,`settings-view-section-picker`),a$.id=`settings-section-picker`,a$.hidden=!0,a$.setAttribute(`role`,`dialog`),a$.setAttribute(`aria-label`,`Settings sections`),o$=V(`nav`,`settings-view-phone-results`),o$.hidden=!0,o$.setAttribute(`aria-label`,`Settings search results`),s$=V(`div`,`settings-view-content`),s$.setAttribute(`aria-live`,`polite`),t$.addEventListener(`input`,()=>{let e=t$;e&&(h$=e.value.trim(),L1())}),t$.addEventListener(`keydown`,R1),e$.addEventListener(`keydown`,R1),o$.addEventListener(`keydown`,R1),n$.addEventListener(`click`,()=>I1(!F1())),g$&&document.removeEventListener(`click`,g$),_$&&document.removeEventListener(`keydown`,_$),g$=e=>{F1()&&e.target instanceof Node&&(a$?.contains(e.target)||n$?.contains(e.target)||I1(!1))},_$=e=>{e.key===`Escape`&&F1()&&(e.preventDefault(),I1(!1))},document.addEventListener(`click`,g$),document.addEventListener(`keydown`,_$),r.append(t$,n$,e$,a$),$Q.append(r,o$,s$),ZQ.appendChild($Q),O$(c$),L1(),B1(),QQ?.disconnect(),QQ=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&B1()}),QQ.observe(ZQ)}function B1(){Tb().then(H1)}function V1(e){return e.settings.some(e=>e.path===`pref:soundId`)}function H1(){qQ=KQ(),P$();let e=wb(sF());f$&&(f$[`pref:soundId`]=e),p$&&(p$[`pref:soundId`]=e),V1($)&&O1()}function U1({returnFocus:e=!0}={}){I1(!1,{returnFocus:e})}function W1(e=null,t=null){k1(e||$.id,{settingId:t})}function G1(e){return AX(e,JQ,JY,YY)}function K1(e,t={}){let{rehydrateSectionIds:n=[]}=t;if(!e)return;c$=e,l$=Array.isArray(c$.projectChoices)?c$.projectChoices:[],F$(c$.projectChoices),P$();let r={...c$,prefs:D$()},i=bX(JQ,r,f$,p$,{rehydrateSectionIds:n});f$=i.original,p$=i.edited,m$=``,e$&&L1(),O1()}function q1(e){return document.getElementById(e.id)?.closest(`.settings-view-setting`)??null}function J1(e,t){let n=t.querySelector(`.settings-view-status-slot`),r=d1(e);n&&r&&n.replaceWith(r),n&&!r&&n.remove(),!n&&r&&t.appendChild(r)}function Y1(){for(let e of $.settings||[]){if(!e.status)continue;let t=q1(e);t&&J1(e,t)}}function X1(){if($.id===`machine-updates`)for(let e of $.settings||[]){if(!e.status?.startsWith(`update-`))continue;let t=q1(e);t&&(t.querySelector(`.settings-update-readout`)?.replaceWith(l1(e)),J1(e,t))}}function Z1(e){v$=e,b$=TQ(b$,`status-frame`),X1(),w$&&$.id===`machine-updates`&&o1()}function Q1(e){y$=e,b$=TQ(b$,`progress-frame`),X1()}function $1(){r1(`error-frame`)}function e0(e){F$(e),P$(),e$&&L1()}function t0(){$.id===`browser-flying-animals`&&O1()}window.matchMedia(`(prefers-reduced-motion: reduce)`).addEventListener(`change`,t0),Jd(t0);function n0(){let e=new Map,t=new Set;function n(n){let r=new Set(n.map(e=>e.id));for(let{id:r,state:i}of n){let n=e.get(r);if(e.set(r,i),i!==I.COMPLETE){t.delete(r);continue}n&&n!==I.COMPLETE&&t.add(r)}for(let n of e.keys())r.has(n)||(e.delete(n),t.delete(n))}function r(e){t.delete(e)}function i(e){return t.has(e)}return{noteStates:n,acknowledge:r,isUnseen:i}}var r0=Object.freeze({WAITING:0,FAILED:1,COMPLETE:2,RUNNING:3}),i0=4;function a0(e){let t=typeof e==`string`?r0[e]:void 0;return t===void 0?i0:t}function o0(e){return[...e||[]].map((e,t)=>({row:e,index:t})).sort((e,t)=>a0(e.row?.state)-a0(t.row?.state)||e.index-t.index).map(e=>e.row)}var s0=new Set;function c0(e,t,n){let r=yU(e,t,n),i=r.groups.map(e=>({...e,rows:o0(e.rows)})),a={...r,groups:i};return{...a,visibleIds:bU(a,s0)}}var l0=e=>e.ui.path;function u0({onSelectSession:e}){let t=V(`div`,`phone-board`),n=V(`header`,`phone-topbar`),r=V(`div`,`phone-attention`);r.setAttribute(`role`,`status`),r.setAttribute(`aria-live`,`polite`);let i=V(`div`,`phone-calm calm-view`);i.hidden=!0;let a=V(`div`,`phone-board-list`),o=V(`div`,`phone-empty`);o.innerHTML=`<p class="phone-empty-title"></p><p class="phone-empty-desc"></p>`;let s=H(o,`.phone-empty-title`,`p`),c=H(o,`.phone-empty-desc`,`p`);t.append(n,r,i,a,o);let l=new Map,u=new Map,d=new WeakMap,f=new WeakMap,p=new WeakMap,m=0;wd(n);function h(t){let n=V(`button`,`phone-row`);n.type=`button`,n.dataset.id=t,n.innerHTML=`<span class="phone-row-glyph" aria-hidden="true"></span><span class="phone-row-main"><span class="phone-row-name"></span><span class="phone-row-meta"><span class="phone-row-badge"></span><span class="phone-row-merge"></span></span></span><span class="phone-row-elapsed" aria-hidden="true"></span>`;let r={glyph:H(n,`.phone-row-glyph`,`span`),name:H(n,`.phone-row-name`,`span`),badge:H(n,`.phone-row-badge`,`span`),merge:H(n,`.phone-row-merge`,`span`),elapsed:H(n,`.phone-row-elapsed`,`span`)};n.addEventListener(`click`,()=>e?.(t));let i=V(`div`,`phone-row-item`);i.setAttribute(`role`,`listitem`);let a=V(`button`,`phone-row-remove`,`x`);return a.type=`button`,a.title=`Remove session`,a.setAttribute(`aria-label`,`Remove session`),a.addEventListener(`click`,e=>{e.stopPropagation(),hI(t)}),i.append(n,a),d.set(n,{refs:r,item:i}),n}function g(e){let t=V(`section`,`phone-board-group`);t.dataset.key=e;let n=V(`div`,`phone-board-group-header`),r=V(`span`,`phone-board-group-label`),i=V(`span`,`phone-board-group-count`),a=V(`button`,`phone-board-group-add`,`+`);a.type=`button`,a.addEventListener(`click`,()=>mI(t.dataset.path,t.dataset.label));let o=V(`button`,`phone-board-group-forget`,`x`);o.type=`button`,o.addEventListener(`click`,()=>{pI(t.dataset.path),te()});let s=V(`div`,`phone-board-group-rows`);return s.setAttribute(`role`,`list`),n.append(r,i,o,a),t.append(n,s),f.set(t,{header:n,label:r,count:i,addButton:a,forgetButton:o,rows:s}),t}function _(e,t){let n=d.get(e);if(!n)return;let{ui:r,state:i,unseen:a}=t,{glyph:o,label:s,isMonitoring:c}=Cd(i,r.awaitingBackgroundTasks),l=r.pendingPromptKind===`plan`?`Plan ready`:s,u=t.name;e.dataset.state=i,e.toggleAttribute(`data-monitoring`,c),e.dataset.prompt=r.pendingPromptKind??``,e.toggleAttribute(`data-unseen`,a),n.refs.glyph.textContent=o,n.refs.name.textContent=u;let f=V(`span`,`session-list-task-title`,r.taskTitle??``);n.refs.name.append(f),n.refs.name.title=[u,r.taskTitle].filter(Boolean).join(` | `),n.refs.badge.textContent=l;let p=r.card?.dataset.merge||``;e.dataset.merge=p,n.refs.merge.textContent=xd[p]||``,n.refs.elapsed.textContent=yf(r),e.setAttribute(`aria-label`,`${u}, ${l}`)}function v(e,t){let n=f.get(e);if(!n)return;let{header:r,label:i,count:a,addButton:o,forgetButton:s,rows:c}=n,l=t.key===_U,u=t.rows.length===0;e.dataset.path=t.key,e.dataset.label=t.label,e.toggleAttribute(`data-empty`,u),r.title=t.title,i.textContent=t.label,a.textContent=String(t.rows.length),a.title=`${t.rows.length} ${t.rows.length===1?`session`:`sessions`}`,o.hidden=l,s.hidden=l||!u,l||(o.title=`Add a session to ${t.label}`,o.setAttribute(`aria-label`,`Add a session to ${t.label}`)),!l&&u&&(s.title=`Remove ${t.label} from the Board`,s.setAttribute(`aria-label`,`Remove ${t.label} from the Board`)),c.setAttribute(`aria-label`,`${t.label} sessions`)}let{noteStates:y,acknowledge:b,isUnseen:x}=n0();function ee(){let e=[...U.entries()].map(([e,t])=>({id:e,ui:t,name:Yd(t),isDormant:(t.currentState||I.DORMANT)===I.DORMANT,state:t.currentState||I.DORMANT,unseen:!1}));y(e);for(let t of e)t.unseen=x(t.id);return WO(e)}function te(){let e=ee(),t=c0(e,l0,fI(e,l0));m=JO(e),r.textContent=YO(m),r.toggleAttribute(`data-lit`,m>0);let n=new Set(t.order),i=t.order.join(`,`),y=p.get(a)===i&&a.childElementCount===t.groups.length;for(let e of t.groups){let t=u.get(e.key);t||(t=g(e.key),u.set(e.key,t)),v(t,e),y||a.appendChild(t);let n=e.rows.map(e=>e.id).join(`,`),r=f.get(t);if(!r)continue;let i=p.get(r.rows)===n&&r.rows.childElementCount===e.rows.length;for(let t of e.rows){let e=l.get(t.id);e||(e=h(t.id),l.set(t.id,e)),_(e,t);let n=d.get(e);n&&(i||r.rows.appendChild(n.item))}p.set(r.rows,n)}p.set(a,i);for(let[e,t]of[...u])n.has(e)||(t.remove(),u.delete(e));let b=new Set(t.visibleIds);for(let[e,t]of[...l]){if(b.has(e))continue;let n=d.get(t);n&&n.item.remove(),l.delete(e)}let x=t.groups.length>0;a.hidden=!x,o.hidden=x,!x&&(s.textContent=`No sessions`,c.textContent=`Spawn a session to start watching.`)}Sf(()=>{for(let[e,t]of l){let n=U.get(e),r=d.get(t);n&&r&&(r.refs.elapsed.textContent=yf(n))}});function ne(e){i.hidden=!e,t.toggleAttribute(`data-calm`,e)}return{el:t,topBarEl:n,calmEl:i,setCalmShown:ne,refresh:te,acknowledge:b,getAttentionCount:()=>m}}var d0=`glimmervoidCalmSheet`,f0=Object.freeze({[d0]:!0});function p0(e){return typeof e!=`object`||!e?!1:d0 in e}function m0({poppedState:e,isCalmSheetOpen:t,isOwnSheetPopPending:n}){if(n)return`own-sheet-pop`;let r=p0(e);return r&&t?`adopt-sheet-entry`:r?`consume-stray-sheet-entry`:t?`close-sheet`:`navigate`}function h0({pushedEntry:e,isOwnSheetPopPending:t}){return e===`none`?t?`defer-until-own-pop`:`push-sheet-entry`:`keep-history`}function g0({pushedEntry:e,topState:t,isOwnSheetPopPending:n}){return!n&&e===`calm-sheet`&&p0(t)}var _0=`clipboard`,v0=`upload`,y0=Object.freeze([Object.freeze({id:`esc`,label:`Esc`,bytes:`\x1B`,title:`Send Escape`}),Object.freeze({id:`tab`,label:`Tab`,bytes:` `,title:`Send Tab`}),Object.freeze({id:`up`,label:`Up`,bytes:`\x1B[A`,title:`Arrow up`}),Object.freeze({id:`down`,label:`Down`,bytes:`\x1B[B`,title:`Arrow down`}),Object.freeze({id:`paste`,label:`Paste`,bytes:null,action:_0,title:`Paste from the clipboard`}),Object.freeze({id:`upload-image`,label:`Image`,bytes:null,action:v0,accept:`image/*`,title:`Upload an image to this session`}),Object.freeze({id:`upload-file`,label:`File`,bytes:null,action:v0,title:`Upload a file to this session`})]);function b0(e){let t=y0.find(t=>t.id===e);return t?t.bytes:null}function x0(e){return!!e&&e.action===`clipboard`}function S0(e){return!!e&&e.action===`upload`}function C0({send:e,getSessionId:t}){let n=V(`div`,`phone-key-strip`);n.setAttribute(`role`,`toolbar`),n.setAttribute(`aria-label`,`Terminal keys`);let r=null,i=null;for(let e of y0){let t=V(`button`,`phone-key`,e.label);t.type=`button`,t.dataset.key=e.id,t.title=e.title,t.addEventListener(`pointerdown`,e=>e.preventDefault()),t.addEventListener(`click`,()=>a(e,t)),n.appendChild(t)}function a(t,n){if(S0(t)){o(t,n);return}if(x0(t)){T0(e);return}e(b0(t.id))}function o(e,t){i=t,r||(r=V(`input`,`phone-file-picker`),r.type=`file`,r.hidden=!0,r.addEventListener(`change`,s),n.appendChild(r)),e.accept&&(r.accept=e.accept),e.accept||r.removeAttribute(`accept`),r.click()}function s(){let e=r;if(!e)return;let n=e.files?e.files[0]:null;if(e.value=``,!n)return;let a=t?.();if(!a){Wx(`No session is open to upload to`);return}c(a,n,i)}async function c(e,t,n){n&&(n.disabled=!0);let r={"x-glimmervoid-upload-name":encodeURIComponent(t.name)};t.type&&(r[`content-type`]=t.type);try{let n=await fetch(`/upload/${encodeURIComponent(e)}`,{method:`POST`,body:t,headers:r});n.ok||Wx(await w0(n))}catch{Wx(`Upload failed`)}finally{n&&(n.disabled=!1)}}return n}async function w0(e){try{let t=await e.json();if(t&&typeof t.error==`string`)return`Upload failed: ${t.error}`}catch{}return`Upload failed`}function T0(e){let t=null;try{t=navigator.clipboard?.readText?.()}catch{Wx(`Paste needs clipboard permission`);return}if(!t){Wx(`Paste is unavailable in this browser`);return}t.then(t=>{t&&e(t)}).catch(()=>Wx(`Paste needs clipboard permission`))}var E0=`‹`;function D0({onBack:e}){let t=V(`div`,`phone-terminal`),n=V(`header`,`phone-topbar phone-terminal-bar`),r=V(`button`,`phone-back`,E0);r.type=`button`,r.setAttribute(`aria-label`,`Back to board`),r.addEventListener(`click`,()=>e?.());let i=V(`div`,`phone-terminal-identity`),a=V(`span`,`phone-terminal-name`);a.title=`Tap to rename`,a.addEventListener(`click`,()=>x());let o=V(`span`,`session-task-title session-list-task-title`);rH(o,()=>ee());let s=V(`span`,`phone-terminal-identity-line`),c=V(`span`,`phone-terminal-badge`);c.innerHTML=`<span class="phone-terminal-glyph" aria-hidden="true"></span><span class="phone-terminal-label"></span><span class="phone-terminal-elapsed" aria-hidden="true"></span>`;let l=H(c,`.phone-terminal-glyph`,`span`),u=H(c,`.phone-terminal-label`,`span`),d=H(c,`.phone-terminal-elapsed`,`span`);s.append(a,o),i.append(s,c);let f=V(`div`,`phone-terminal-actions`);n.append(r,i,f);let p=V(`div`,`phone-card-slot`),m=V(`div`,`phone-empty`);m.innerHTML=`<p class="phone-empty-title">No session selected</p><p class="phone-empty-desc">Select a session from the board to watch it here.</p>`;let h=C0({send:y,getSessionId:()=>g});t.append(n,p,m,h);let g=null,_=null,v=null;function y(e){let t=g?U.get(g):null;t&&(TE(t,e)||Wx(`Session is not connected; key press was dropped`))}function b(){let e=g?U.get(g):null;e?.term&&e.term.focus()}p.addEventListener(`click`,b);function x(){let e=g?U.get(g):null;e&&g&&cH(e,g)}function ee(){let e=g?U.get(g):null;e&&g&&aH(e,g)}function te(){let e=g?U.get(g):null,t=!!e;if(m.hidden=t,p.hidden=!t,h.hidden=!t,i.hidden=!t,!t){n.removeAttribute(`data-state`),n.removeAttribute(`data-monitoring`);return}let r=e.currentState||I.DORMANT;n.dataset.state=r;let{glyph:s,label:c,isMonitoring:f}=Cd(r,e.awaitingBackgroundTasks);n.toggleAttribute(`data-monitoring`,f),sH(a)||(a.textContent=e.card?.dataset.session||g),iH(o,e.taskTitle),l.textContent=s,u.textContent=c,d.textContent=yf(e)}function ne(){v&&=(delete v.renameTargetEl,delete v.titleTargetEl,null),a.replaceChildren(),_&&=(jd(_),_.parentElement===f&&_.remove(),null)}function re(e){let t=U.get(e);if(t){if(g===e&&_N()===e&&t.card.parentElement===p){te();return}ne(),g=e,vN(t,e,p,{className:`phone-centered`}),_=H(t.card,`.session-actions`,`div`),Ad(_,f),t.renameTargetEl=a,t.titleTargetEl=o,v=t,te()}}function ie(){ne(),_N()===g&&yN(),g=null,te()}function S(){if(!g){te();return}let e=U.get(g);if(!e){ie();return}if(e.card.parentElement!==p){re(g);return}te()}function ae(){let e=g;e&&PE(U.get(e),e,!1)}function oe(){S();let e=g;if(!e)return;let t=U.get(e);t&&PE(t,e,!0)}return Sf(()=>{let e=g?U.get(g):null;e&&(d.textContent=yf(e))}),te(),{el:t,show:re,clear:ie,refresh:S,reveal:oe,unview:ae,getSessionId:()=>g}}var O0=`board`,k0=Object.freeze([{id:O0,label:`Board`,glyph:`▤`},{id:`terminal`,label:`Terminal`,glyph:`▸`},{id:`review`,label:`Review`,glyph:`◫`},{id:`prs`,label:`PR reviews`,glyph:`⇅`,nested:!0},{id:`issues`,label:`Issues`,glyph:`#`,nested:!0},{id:`usage`,label:`Usage`,glyph:`◔`,nested:!0},{id:`radar`,label:`Radar`,glyph:`◎`,nested:!0},{id:`visions`,label:`Visions`,glyph:`◇`,nested:!0},{id:`hooks`,label:`Hooks`,glyph:`◈`,nested:!0},{id:`trace`,label:`Trace`,glyph:`T`,nested:!0},{id:`settings`,label:`Settings`,glyph:`@`,nested:!0}]),A0=null,j0=new Map,M0=new Map,N0=new Map,P0=null,F0=null,I0=null,L0=null,R0=null,z0=null,B0=null,V0=null,H0=null,U0=null,W0=null,G0=null,K0=null,q0=null,J0=null,Y0=null,X0=null,Z0=null,Q0=null,$0=null,e2=null,t2=new Map,n2=new Set,r2={},i2=!1,a2=120,o2=0,s2=0,c2=`none`,l2=!1,u2=!1,d2=!1,f2={openTerminal:e=>E2(e),openPlan:e=>{U2(e)},onSheetOpenChange:e=>M2(e)};function p2(){o2=0,s2=0}function m2(){let e=window.visualViewport;if(A0){if(!i2){A0.removeAttribute(`data-keyboard`);return}if(!e){A0.removeAttribute(`data-keyboard`);return}if(A0.style.setProperty(`--phone-vh`,`${e.height}px`),A0.style.setProperty(`--phone-vv-top`,`${e.offsetTop}px`),e.width!==s2&&(s2=e.width,o2=0),o2=Math.max(o2,e.height),o2-e.height>a2){A0.dataset.keyboard=`open`;return}A0.removeAttribute(`data-keyboard`)}}function h2(e,t,n){let r=V(`span`,`phone-nav-glyph`);r.setAttribute(`aria-hidden`,`true`),r.textContent=t;let i=V(`span`,`phone-nav-label`);i.textContent=n,e.append(r,i)}function g2(e,t,n=`phone-nav-item`,r=`phone-nav-dot`){let i=V(`button`,n);i.type=`button`,h2(i,t,e);let a=V(`span`,r);return a.setAttribute(`aria-hidden`,`true`),a.hidden=!0,i.appendChild(a),i}function _2(e){return e?.querySelector(`.phone-nav-dot`)||null}function v2(e,t){e&&(e.hidden=!t,typeof t==`string`&&(e.dataset.attention=t),typeof t!=`string`&&delete e.dataset.attention)}function y2(){let e=[];for(let t of k0){if(!t.nested||n2.has(t.id))continue;let n=N0.get(t.id)||!1;e.push(n),v2(_2(t2.get(t.id)),n)}v2(_2($0),$O(e))}function b2(){let e=V(`div`,`phone-nav-more-menu`);e.hidden=!0;for(let t of k0){if(!t.nested)continue;let n=g2(t.label,t.glyph,`phone-nav-menu-item`,`phone-nav-dot phone-nav-menu-dot`);n.dataset.screen=t.id,n.hidden=n2.has(t.id),n.addEventListener(`click`,()=>{x2(!1),L2(t.id)}),t2.set(t.id,n),e.appendChild(n)}return e}function x2(e){e2&&$0&&(e2.hidden=!e,$0.setAttribute(`aria-expanded`,String(e)))}function S2(){return!!e2&&!e2.hidden}function C2(){let e=V(`nav`,`phone-nav`);e.setAttribute(`aria-label`,`Screens`);for(let t of k0){if(t.nested)continue;let n=g2(t.label,t.glyph);n.dataset.screen=t.id,n.addEventListener(`click`,()=>L2(t.id)),j0.set(t.id,n),e.appendChild(n)}return $0=g2(`More`,`⋯`),$0.setAttribute(`aria-expanded`,`false`),$0.addEventListener(`click`,()=>x2(!S2())),e.appendChild($0),e2=b2(),e.appendChild(e2),e}function w2(e,t,n){let r=V(`section`,`phone-screen`);return r.dataset.screen=e,r.setAttribute(`aria-label`,t),r.hidden=!0,n&&r.appendChild(n),M0.set(e,r),r}function T2(){if(A0)return;P0=u0({onSelectSession:e=>E2(e)}),P0.setCalmShown(d2),F0=D0({onBack:()=>L2(O0)}),I0=V(`div`,`phone-review`),L0=V(`div`,`phone-radar`),z0=V(`div`,`phone-prs`),V0=V(`div`,`phone-issues`),U0=V(`div`,`phone-usage`),G0=V(`div`,`phone-visions`),K0=V(`div`,`phone-hooks`),Y0=V(`div`,`phone-trace`),Z0=V(`div`,`phone-settings`);let e=V(`div`,`phone-screens`),t={[O0]:P0.el,terminal:F0.el,review:I0,radar:L0,prs:z0,issues:V0,usage:U0,visions:G0,hooks:K0,trace:Y0,settings:Z0};for(let n of k0)e.appendChild(w2(n.id,n.label,t[n.id]));A0=V(`div`,`phone-shell`),A0.id=`phone-shell`,A0.append(e,C2()),document.body.appendChild(A0),y2(),window.visualViewport?.addEventListener(`resize`,m2),window.visualViewport?.addEventListener(`scroll`,m2),window.addEventListener(`popstate`,P2),document.addEventListener(`click`,e=>{S2()&&e2&&$0&&e.target instanceof Node&&(e2.contains(e.target)||$0.contains(e.target)||x2(!1))}),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&S2()&&x2(!1)})}function E2(e){let t=U.get(e);if(!t)return;if(!P0||!F0)throw Error(`Phone shell is not built`);let n=t.currentState||I.DORMANT;n===I.DORMANT&&B({type:`start-session`,id:e}),n===I.COMPLETE&&B({type:`dismiss`,id:e}),P0.acknowledge(e),RR(e),XF(e),F0.show(e),L2(`terminal`)}function D2(e){if(e===O0){if(c2===`none`)return;c2=`none`,history.back();return}let t={glimmervoidScreen:e};if(c2!==`none`){history.replaceState(t,``),c2=`screen`;return}history.pushState(t,``),c2=`screen`}function O2(){if(p0(history.state))return c2=`calm-sheet`,j2(),O0;let e=N2(history.state);return e&&M0.has(e)&&!n2.has(e)?(c2=`screen`,e):(e&&history.replaceState(null,``),c2=`none`,O0)}function k2(){c2!==`none`&&(c2=`none`,history.back())}function A2(){h0({pushedEntry:c2,isOwnSheetPopPending:u2})===`push-sheet-entry`&&(history.pushState(f0,``),c2=`calm-sheet`)}function j2(){g0({pushedEntry:c2,topState:history.state,isOwnSheetPopPending:u2})&&(c2=`none`,u2=!0,history.back())}function M2(e){if(l2=e,e){A2();return}j2()}function N2(e){let t=e?.glimmervoidScreen;return typeof t==`string`?t:null}function P2(e){let t=u2;if(u2=!1,!i2)return;let n=m0({poppedState:e.state,isCalmSheetOpen:l2,isOwnSheetPopPending:t});if(n===`own-sheet-pop`){l2&&A2();return}if(n===`adopt-sheet-entry`){c2=`calm-sheet`;return}if(n===`consume-stray-sheet-entry`){c2=`calm-sheet`,j2();return}if(n===`close-sheet`){c2=`none`,pN();return}let r=N2(e.state);c2=r?`screen`:`none`,I2(r&&M0.has(r)&&!n2.has(r)?r:O0)}function F2(e,t){for(let[n,r]of e){if(n===t){r.setAttribute(`aria-current`,`page`);continue}r.removeAttribute(`aria-current`)}}function I2(e){if(!$0||!F0)throw Error(`Phone shell is not built`);Bd.dispatch(`setPhoneScreen`,e),x2(!1),r2.onScreenShown?.(e);for(let[t,n]of M0)n.hidden=t!==e;V2(),F2(j0,e);let t=t2.has(e);if(t&&$0.setAttribute(`aria-current`,`page`),t||$0.removeAttribute(`aria-current`),F2(t2,e),e===`terminal`){F0.reveal();return}F0.unview()}function L2(e){A0&&M0.has(e)&&(n2.has(e)||(e!==Bd.snapshot().phoneScreen&&D2(e),I2(e)))}function R2(e){r2=e||{},R0=r2.radarPanelEl||null,B0=r2.prsPanelEl||null,H0=r2.issuesPanelEl||null,W0=r2.usagePanelEl||null,q0=r2.visionsPanelEl||null,J0=r2.hooksPanelEl||null,X0=r2.tracePanelEl||null,Q0=r2.settingsPanelEl||null}function z2({sessionId:e}={}){if(i2)return;if(T2(),!A0||!P0||!F0)throw Error(`Phone shell is not built`);i2=!0,A0.hidden=!1;for(let e of r2.headerControls||[])Ad(e,P0.topBarEl);Az(I0),Ad(R0,L0),R0&&(R0.hidden=!1),Ad(B0,z0),B0&&(B0.hidden=!1),Ad(H0,V0),H0&&(H0.hidden=!1),Ad(W0,U0),W0&&(W0.hidden=!1),Ad(q0,G0),q0&&(q0.hidden=!1),Ad(J0,K0),J0&&(J0.hidden=!1),Ad(X0,Y0),X0&&(X0.hidden=!1),Ad(Q0,Z0),Q0&&(Q0.hidden=!1),m2(),e&&F0.show(e);let t=O2();if(q2(),e&&t===O0){Bd.dispatch(`setPhoneScreen`,O0),L2(`terminal`);return}I2(t)}function B2(){if(i2){if(!A0||!F0)throw Error(`Phone shell is not built`);i2=!1,V2(),U1({returnFocus:!1}),F0.clear(),Az(null),R0&&jd(R0),B0&&jd(B0),H0&&jd(H0),W0&&jd(W0),q0&&jd(q0),J0&&jd(J0),X0&&jd(X0),Q0&&jd(Q0);for(let e of r2.headerControls||[])jd(e);x2(!1),A0.hidden=!0,A0.removeAttribute(`data-keyboard`),p2(),k2()}}function V2(){if(P0){if(!(i2&&d2&&Bd.snapshot().phoneScreen===O0)){mN();return}fN(P0.calmEl,f2)}}function H2(e){d2=e,P0?.setCalmShown(e),V2()}function U2(e){return!i2||!P0||!F0||!U.has(e)?!1:(E2(e),WH(e))}function W2(){return i2}function G2(e){return i2&&Bd.snapshot().phoneScreen===e}function K2(){return i2&&F0?F0.getSessionId():null}function q2(){if(!i2)return;if(!P0||!F0)throw Error(`Phone shell is not built`);Z2(),P0.refresh(),F0.refresh(),Bd.snapshot().phoneScreen===`terminal`&&!F0.getSessionId()&&L2(O0);let e=_2(j0.get(O0));e&&(e.hidden=P0.getAttentionCount()===0)}function J2(e){return!i2||!M0.has(e)||n2.has(e)?!1:(L2(e),!0)}function Y2(e,t){t&&n2.delete(e),t||n2.add(e);let n=t2.get(e);n&&(n.hidden=!t);let r=M0.get(e);r&&!t&&(r.hidden=!0),y2(),!t&&i2&&Bd.snapshot().phoneScreen===e&&L2(O0)}function X2(e,t){N0.set(e,typeof t==`string`&&t?t:t===!0),y2()}function Z2(){if(!F0)throw Error(`Phone shell is not built`);if(F0.getSessionId())return;let e=YF();if(!e)return;let t=U.get(e);t&&(t.currentState||I.DORMANT)!==I.DORMANT&&(F0.show(e),RR(e))}function Q2(e,t){return!!e?.error&&!e.isRefreshing&&typeof e.nextAttemptAt==`number`&&e.nextAttemptAt>t}function $2(e,t){if(!e?.error)return null;let n=`Could not reach GitHub: ${e.error.trim().replace(/[.!]+$/,``)}.`;if(e.isRefreshing)return`${n} Refreshing.`;if(typeof e.nextAttemptAt!=`number`)return n;let r=Math.max(0,Math.ceil((e.nextAttemptAt-t)/1e3));return r===0?`${n} Retrying now.`:e.retry?`${n} Retrying in ${r}s (${e.retry.attempt} of ${e.retry.limit}).`:`${n} Next try in ${r>=60?`${Math.ceil(r/60)} min`:`${r}s`}.`}function e4(e,t,n){return e?.refreshNotice&&e.isRefreshing?e.refreshNotice:t||e?.isRefreshing?`Refreshing.`:n||e?.refreshNotice||``}var t4={minPx:220,maxPx:720},n4=16,r4=new Set,i4=0;function a4(e){let t=kF();e.toggleAttribute(`data-queue-collapsed`,t),e.querySelector(`.pr-queue-toggle`)?.setAttribute(`aria-expanded`,String(!t));let n=DF();if(n===null){e.style.removeProperty(`--pr-queue-width`);return}e.style.setProperty(`--pr-queue-width`,`${n}px`)}function o4(){for(let e of r4){if(!e.isConnected){r4.delete(e);continue}a4(e)}}function s4(e,t){let n=V(`div`,`pr-queue-head`);return e&&n.append(e),t&&n.append(t),n}function c4({queueLabel:e,scopeTabs:t,resizerLabel:n}){let r=V(`div`,`pr-columns`),i=V(`div`,`pr-queue-pane`),a=V(`nav`,`pr-queue`);a.id=`pr-queue-${++i4}`,a.setAttribute(`aria-label`,e);let o=V(`button`,`pr-queue-toggle`);o.type=`button`,o.setAttribute(`aria-label`,`Review queue`),o.setAttribute(`aria-controls`,a.id),o.title=`Collapse or expand the review queue`;let s=fR(16,16);s.append(dR(`rect`,{x:`1.5`,y:`2`,width:`13`,height:`12`,rx:`2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`})),s.append(dR(`path`,{d:`M5.5 2V14`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`}));let c=dR(`path`,{d:`M11 6L9 8L11 10`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`,"stroke-linejoin":`round`});c.classList.add(`pr-queue-chevron`),s.append(c),o.append(s),o.addEventListener(`click`,()=>{AF(!kF()),o4()}),i.append(s4(t,o),a);let l=V(`div`,`pr-queue-resizer`);l.setAttribute(`role`,`separator`),l.setAttribute(`aria-orientation`,`vertical`),l.setAttribute(`aria-label`,n),l.tabIndex=0;let u=V(`main`,`pr-detail-host`);return r.append(i,l,u),a4(r),r4.add(r),nP({resizer:l,column:i,widthHost:r,widthProperty:`--pr-queue-width`,bounds:t4,keyStepPx:n4,getStoredWidth:DF,setStoredWidth:OF}),{columns:r,queue:a,detail:u}}var l4={MERGE:`a merge commit`,SQUASH:`squash and merge`,REBASE:`rebase and merge`},u4=new Set([`FAILURE`,`ERROR`]);function d4(e){return l4[e]}function f4(e){return e.state===`MERGED`?`Already merged`:e.state===`OPEN`?e.isDraft?`Drafts cannot be merged`:e.isInMergeQueue?`Already in the merge queue`:e.mergeable===`CONFLICTING`||e.mergeStateStatus===`DIRTY`?`Resolve the merge conflicts first`:e.checks.failing.length>0||e.checks.state!==null&&u4.has(e.checks.state)?`Checks are failing`:e.stage===`ready`?null:`Not ready to merge yet`:`Closed`}function p4(e,t,n,r,i,a){return{isVisible:a&&(e.state===`OPEN`||t),isPressed:t,isDisabled:n,statusText:r||(n?`Saving...`:i)}}function m4(e,t,n=``){if(!t||!e.keepMergeable)return null;let r=h4(e,!1,``,!0,n).statusText;if(e.isKeepMergeableFixInFlight)return{text:`Repairing`,tone:`warn`,title:r};let i=e.keepMergeableAttempt;return!i||i.outcome===`pushed`||i.outcome===`stopped`?null:{text:`Repair failed`,tone:`danger`,title:r}}function h4(e,t,n=``,r=!0,i=``){let a=e.keepMergeableAttempt,o=e.keepMergeable?`On`:`Off`;if(e.keepMergeable&&a&&a.outcome!==`pushed`&&a.outcome!==`stopped`){let e=i?` (${i})`:``;o=`Keep mergeable failed: ${a.reason??`The attempt produced no repair`}${e}`}return e.isKeepMergeableFixInFlight&&(o=`Keep mergeable is running`),p4(e,!!e.keepMergeable,t,n,o,r)}function g4(e){return e?.isKeepMergeableEnabled!==!1}function _4(e){return e?.isMergeQueueEnabled!==!1}var v4={one:`st`,two:`nd`,few:`rd`,other:`th`},y4=new Intl.PluralRules(`en-US`,{type:`ordinal`});function b4(e){return`${e}${v4[y4.select(e)]??`th`}`}function x4(e,t){return e===null?`Not queued`:t?`Repair pushed, waiting for you`:`Queued, ${b4(e)} in line for this repository`}function S4(e,t,n=``,r=!0){let i=e.mergeQueuePosition??null;return p4(e,i!==null,t,n,x4(i,!!e.isMergeQueueHeldForRepairPush),r)}var C4=[`Needs you`,`Waiting`,`Ready to merge`,`Drafts`,`Merged today`],w4={conflicts:`Needs you`,behind:`Needs you`,"checks-failing":`Needs you`,"changes-requested":`Needs you`,"unresolved-threads":`Needs you`,"checks-pending":`Waiting`,"needs-approval":`Waiting`,unknown:`Waiting`,ready:`Ready to merge`,draft:`Drafts`,merged:`Merged today`},T4={merged:`Merged`,draft:`Draft`,conflicts:`Merge conflicts`,behind:`Behind base`,"checks-failing":`Checks failing`,"changes-requested":`Changes requested`,"unresolved-threads":`Unresolved threads`,"checks-pending":`Checks running`,"needs-approval":`Needs approval`,ready:`Ready to merge`,unknown:`Status unknown`},E4={merged:`muted`,draft:`muted`,conflicts:`danger`,behind:`warn`,"checks-failing":`danger`,"changes-requested":`warn`,"unresolved-threads":`warn`,"checks-pending":`wait`,"needs-approval":`wait`,ready:`ok`,unknown:`muted`};function D4(e){let t=zl.safeParse(e);return t.success?t.data:null}function O4(e){let t=e.filter(e=>e.state===`OPEN`&&!e.isCrossRepository),n=new Map(t.map(e=>[JSON.stringify([e.repo.toLowerCase(),e.headRefName]),e])),r=new Map,i=[];for(let t of e){let e=t.state===`OPEN`?n.get(JSON.stringify([t.repo.toLowerCase(),t.baseRefName])):void 0;if(!e||e.key===t.key){i.push(t);continue}let a=r.get(e.key)??[];a.push(t),r.set(e.key,a)}let a=[],o=new Set;for(let t of[...i,...e]){if(o.has(t.key))continue;let e=[],n=[{pr:t,parentKey:null,depth:0}];for(;n.length>0;){let t=n.pop();if(!t||o.has(t.pr.key))continue;o.add(t.pr.key),e.push(t);let i=r.get(t.pr.key)??[];for(let e=i.length-1;e>=0;--e)n.push({pr:i[e],parentKey:t.pr.key,depth:t.depth+1})}a.push({root:t,rows:e})}return a}function k4(e){return e.rows.reduce((e,{pr:t})=>Math.min(e,C4.indexOf(w4[t.stage])),C4.length-1)}function A4(e){let t=C4.map(e=>({title:e,prs:[],rows:[]}));for(let n of O4(e)){let e=t[k4(n)];for(let t of n.rows)e.rows.push(t),e.prs.push(t.pr)}return t}function j4(e){return T4[e]}function M4(e){return E4[e]}function N4(e){if(e.checks.failing.length>0){let t=e.checks.failing.length-3;return{label:`Checks`,tone:`danger`,text:`${e.checks.failing.length} failing: ${e.checks.failing.slice(0,3).join(`, `)}${t>0?` and ${t} more`:``}`}}return e.checks.state===`FAILURE`||e.checks.state===`ERROR`?{label:`Checks`,tone:`danger`,text:`Failing`}:e.checks.pendingCount>0?{label:`Checks`,tone:`wait`,text:`${e.checks.pendingCount} running`}:e.checks.state===`PENDING`||e.checks.state===`EXPECTED`?{label:`Checks`,tone:`wait`,text:`Running`}:e.checks.state===`SUCCESS`?{label:`Checks`,tone:`ok`,text:`Passing`}:{label:`Checks`,tone:`muted`,text:`No checks`}}function P4(e){return`${e} ${e===1?`approval`:`approvals`}`}function F4(e){return e.reviewRequests.map(e=>e.name).join(`, `)}function I4(e){let t=e.reviewRequests.length>0?`Requested: ${F4(e)}`:`Approval required`;return e.approvals>0?`${t}, ${P4(e.approvals)}`:t}function L4(e){let t=e.approvals>0?P4(e.approvals):`Approved`;return e.mergeStateStatus===`BLOCKED`?{label:`Review`,tone:`wait`,text:`${t}, merge blocked`}:{label:`Review`,tone:`ok`,text:t}}function R4(e){return e.reviewDecision===`CHANGES_REQUESTED`?{label:`Review`,tone:`warn`,text:`Changes requested`}:e.reviewDecision===`APPROVED`?L4(e):e.reviewDecision===`REVIEW_REQUIRED`||e.mergeStateStatus===`BLOCKED`?{label:`Review`,tone:`wait`,text:I4(e)}:e.reviewRequests.length>0?{label:`Review`,tone:`wait`,text:`Requested: ${F4(e)}`}:{label:`Review`,tone:`muted`,text:`No review requested`}}function z4(e,t){return t?e.lastAuthor!==t:null}function B4(e){let t=e.line===null?e.path:`${e.path}:${e.line}`;return e.isOutdated?`${t} (outdated)`:t}function V4(e){let t=e.commentCount-1;return t===0?`No replies`:`${t} ${t===1?`reply`:`replies`}, last by ${e.lastAuthor??`a deleted account`}`}function H4(e,t){let n=z4(e,t);return n===null?null:n?{tone:`warn`,text:`Waiting on you`}:{tone:`wait`,text:`Waiting on reviewer`}}function U4(e,t){return[...e.threads].sort((e,n)=>{let r=Number(z4(n,t)===!0)-Number(z4(e,t)===!0);return r===0?(Date.parse(n.lastActivityAt)||0)-(Date.parse(e.lastActivityAt)||0):r}).map(e=>({location:B4(e),url:e.url,author:e.author??`a deleted account`,excerpt:e.excerpt,replySummary:V4(e),lastActivityAt:e.lastActivityAt,waiting:H4(e,t)}))}function W4(e,t){if(e.unresolvedThreads===0)return{label:`Threads`,tone:`ok`,text:`None open`};let n=`${e.unresolvedThreads} unresolved`;if(!t||e.threads.length===0)return{label:`Threads`,tone:`warn`,text:n};let r=e.threads.filter(e=>z4(e,t)).length;return r===0?{label:`Threads`,tone:`wait`,text:`${n}, all waiting on reviewers`}:{label:`Threads`,tone:`warn`,text:`${n}, ${r} waiting on you`}}function G4(e){return e.mergeable===`CONFLICTING`||e.mergeStateStatus===`DIRTY`?{label:`Conflicts`,tone:`danger`,text:`Conflicts with ${e.baseRefName}`}:e.mergeable===`MERGEABLE`?{label:`Conflicts`,tone:`ok`,text:`None`}:{label:`Conflicts`,tone:`muted`,text:`Not computed yet`}}function K4(e){let t=e.behindBy!==null&&e.behindBy>0;return e.mergeStateStatus===`BEHIND`?{label:`Base`,tone:`warn`,text:t?`${e.behindBy} behind ${e.baseRefName}`:`Behind ${e.baseRefName}`}:e.behindBy===null?{label:`Base`,tone:`muted`,text:`Unknown`}:t?{label:`Base`,tone:`muted`,text:`${e.behindBy} behind ${e.baseRefName}, update not required`}:{label:`Base`,tone:`ok`,text:`Up to date with ${e.baseRefName}`}}var q4={APPROVED:{text:`Approved`,tone:`ok`},CHANGES_REQUESTED:{text:`Requested changes`,tone:`warn`},COMMENTED:{text:`Commented`,tone:`muted`},DISMISSED:{text:`Dismissed`,tone:`muted`},PENDING:{text:`Pending`,tone:`wait`}};function J4(e){return[...e.reviews].sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).map(e=>{let t=q4[e.state]??{text:e.state.toLowerCase().replaceAll(`_`,` `),tone:`muted`};return{reviewer:e.reviewer??`a deleted account`,text:t.text,tone:t.tone,submittedAt:e.submittedAt}})}function Y4(e,t=null){if(e.state===`MERGED`)return[];let n=[N4(e),R4(e),W4(e,t),G4(e),K4(e)];return e.autoRebase?[...n,{label:`Auto-rebase`,tone:e.autoRebase.outcome===`rebased`?`ok`:`danger`,text:e.autoRebase.message}]:n}function X4(e){return e?e.configured?e.error&&e.prs.length===0?`Pull requests will show here once GitHub answers.`:`No open or recently merged pull requests found.`:`Enable Team review and set its GitHub organization in settings to see your pull requests.`:`Waiting for your pull requests.`}function Z4(e,t=0){if(!e)return[];let n=$2(e,t),r=n?[{text:n,tone:`error`}]:[];return e.truncatedNote?[...r,{text:e.truncatedNote,tone:`info`}]:r}function Q4(e,t){let n=e.flatMap(e=>e.prs);return t&&n.some(e=>e.key===t)?t:n[0]?.key??null}var $4={isVisible:!1,isDisabled:!0,statusText:``,tone:null},e3={merged:{statusText:`Merged on GitHub. Refreshing the list.`,tone:`ok`},queued:{statusText:`Added to the merge queue. Refreshing the list.`,tone:`ok`},"auto-merge":{statusText:`Auto-merge enabled. GitHub merges it once its requirements pass.`,tone:`ok`},unconfirmed:{statusText:`GitHub accepted the request but did not confirm a merge. Check GitHub.`,tone:null}};function t3(e,t){if(e.state!==`OPEN`)return $4;let n=t?.head===e.headRefOid?t:void 0;if(n?.phase===`pending`)return{isVisible:!0,isDisabled:!0,statusText:`Merging on GitHub`,tone:`busy`};if(n&&n.phase!==`failed`)return{isVisible:!0,isDisabled:!0,...e3[n.phase]};let r=f4(e);return r?{isVisible:!0,isDisabled:!0,statusText:r,tone:null}:n?.phase===`failed`?{isVisible:!0,isDisabled:!1,statusText:n.text,tone:`error`}:{isVisible:!0,isDisabled:!1,statusText:`Merges into ${e.baseRefName} with ${d4(e.mergeMethod)}`,tone:null}}function n3(e){return`Merge ${e.key} "${e.title}" into ${e.baseRefName} with ${d4(e.mergeMethod)}, your default for this repository. Glimmervoid does not delete the branch.`}function r3(e){let t=Hl.safeParse(e);if(!t.success)return null;let n=e&&typeof e==`object`&&`requestId`in e?e.requestId:null;return typeof n==`string`?{...t.data,requestId:n}:null}var i3=null,a3=null,o3=null,s3=null,c3=null,l3=null,u3=null,d3=new Map,f3=new Map,p3={label:`Keep mergeable`,pendingKeys:new Set,errorsByKey:new Map,controlState:(e,t,n,r)=>h4(e,t,n,r,RN(e.keepMergeableAttempt?.at)),isFeatureEnabled:g4,save:async(e,t)=>{let n=await fd(`my-pr-keep-mergeable`,{repo:e.repo,number:e.number,keepMergeable:t});if(n.type!==`my-pr-keep-mergeable-result`||n.key!==e.key)throw Error(`Unexpected keep mergeable reply.`);return n.ok?null:n.error??`Could not save Keep mergeable.`}},m3={label:`Merge when ready`,pendingKeys:new Set,errorsByKey:new Map,controlState:S4,isFeatureEnabled:_4,save:async(e,t)=>{let n=await fd(`my-pr-merge-when-ready`,{repo:e.repo,number:e.number,mergeWhenReady:t});if(n.type!==`my-pr-merge-when-ready-result`||n.key!==e.key)throw Error(`Unexpected merge when ready reply.`);return n.ok?null:n.error??`Could not save Merge when ready.`}},h3=6e4,g3=`No reply from the server. Check GitHub before trying again.`;function _3(e,t){let n=V(`div`,`reviews-refresh-control`),r=V(`button`,`pr-action reviews-refresh-button`,`Refresh`);r.type=`button`;let i=V(`span`,`reviews-refresh-status`);i.setAttribute(`role`,`status`);let a=V(`p`,`my-pr-error reviews-retry-notice`);n.append(r,i);let o=null,s=!1,c=``,l=null;function u(){a.textContent=$2(o,Date.now()),a.hidden!==!o?.error&&(a.hidden=!o?.error);let e=a.isConnected&&!Od(t)&&!document.hidden&&a.getClientRects().length>0&&Q2(o,Date.now());!e&&l!==null&&(window.clearInterval(l),l=null),e&&l===null&&(l=window.setInterval(u,1e3))}function d(e){e!==o&&(c=``),o=e,r.disabled=s||!!e?.isRefreshing||!e?.configured,i.textContent=e4(e,s,c),i.hidden=!i.textContent,u()}r.addEventListener(`click`,async()=>{if(!s){s=!0,c=``,d(o);try{let t=await fd(`reviews-refresh`,{lane:e});t.type===`reviews-refresh-result`&&(c=t.ok?`Refreshed.`:t.error??`Could not refresh from GitHub.`)}catch(e){c=e instanceof Error?e.message:String(e)}finally{s=!1,d(o)}}});let f=new MutationObserver(u);f.observe(t,{attributes:!0,subtree:!0,attributeFilter:[`hidden`,`data-queue-collapsed`]});for(let e=t.parentElement;e;e=e.parentElement)f.observe(e,{attributes:!0,attributeFilter:[`hidden`,`data-queue-collapsed`]});return document.addEventListener(`visibilitychange`,u),{control:n,notice:a,update:d}}function v3(e,t,n,r){d3.set(e,{head:t,phase:n,text:r}),E3()}function y3(e){if(f3.has(e.key))return;let t=`my-pr-merge-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;if(!B({type:`my-pr-merge`,requestId:t,repo:e.repo,number:e.number,headRefOid:e.headRefOid})){v3(e.key,e.headRefOid,`failed`,`Not connected to the server.`);return}let n=window.setTimeout(()=>{f3.delete(e.key),v3(e.key,e.headRefOid,`failed`,g3)},h3);f3.set(e.key,{requestId:t,head:e.headRefOid,timer:n}),d3.set(e.key,{head:e.headRefOid,phase:`pending`,text:``}),E3()}function b3(e){let t=t3(e,d3.get(e.key));if(!t.isVisible)return null;let n=V(`div`,`my-pr-merge`),r=V(`button`,`pr-action`,`Merge`);r.type=`button`,r.disabled=t.isDisabled;let i=V(`span`,`pr-action-status`,t.statusText);return i.setAttribute(`role`,`status`),i.setAttribute(`aria-live`,`polite`),t.tone&&(i.dataset.tone=t.tone),r.addEventListener(`click`,()=>{rf({title:`Merge pull request`,message:n3(e),confirmLabel:`Merge`,onConfirm:()=>y3(e)})}),n.append(r,i),n}function x3(e,t){let n=t.controlState(e,t.pendingKeys.has(e.key),t.errorsByKey.get(e.key),t.isFeatureEnabled(c3));if(!n.isVisible)return null;let r=V(`div`,`my-pr-merge`),i=V(`button`,`pr-action`,t.label);i.type=`button`,i.disabled=n.isDisabled,i.setAttribute(`aria-pressed`,String(n.isPressed));let a=V(`span`,`pr-action-status`,n.statusText);return a.setAttribute(`role`,`status`),a.setAttribute(`aria-live`,`polite`),i.addEventListener(`click`,async()=>{if(!t.pendingKeys.has(e.key)){t.pendingKeys.add(e.key),t.errorsByKey.delete(e.key),E3();try{let r=await t.save(e,!n.isPressed);r&&t.errorsByKey.set(e.key,r)}catch(n){t.errorsByKey.set(e.key,n instanceof Error?n.message:String(n))}finally{t.pendingKeys.delete(e.key),E3()}}}),r.append(i,a),r}function S3(e,{hasGlyph:t}){let n=V(`span`,`my-pr-stage`);return n.dataset.tone=M4(e.stage),t&&n.append(pR(M4(e.stage))),n.append(j4(e.stage)),n}function C3(e,t){let n=V(`span`,`my-pr-requested`);n.append(V(`span`,null,`Requested`));let r=V(`span`,`avatar-stack`);for(let t of e.reviewRequests){let e=_d({login:t.name,url:t.isTeam?t.avatarUrl:void 0,cssPx:16});e.title=t.name,e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,t.name),r.append(e)}return n.append(r,V(`span`,`my-pr-requested-names`,t.slice(11))),n}function w3(){if(!i3||!a3||o3?.isConnected)return;let e=c4({queueLabel:`My pull requests`,scopeTabs:a3,resizerLabel:`Resize pull request list`});o3=e.queue,s3=e.detail,i3.replaceChildren(e.columns);let t=i3.querySelector(`.pr-queue-head`);u3&&t&&t.insertBefore(u3.control,t.querySelector(`.pr-queue-toggle`))}function T3(e){if(!s3)return;if(!e){s3.replaceChildren(V(`p`,`pr-empty`,X4(c3)));return}let t=V(`article`,`pr-detail`),n=V(`div`,`pr-detail-heading`),r=V(`div`,`pr-detail-title`);r.append(bd(`pr-link`,e.key,e.url),V(`h2`,null,e.title)),n.append(r,S3(e,{hasGlyph:!0})),t.append(n);for(let n of[p3,m3]){let r=x3(e,n);r&&t.append(r)}let i=Y4(e,c3?.viewer??null);if(i.length>0){let n=V(`section`,`pr-readiness-section`);n.append(V(`h3`,`pr-section-heading`,`Merge readiness`));let r=V(`ul`,`pr-readiness`);for(let t of i){let n=V(`li`,`pr-readiness-row`),i=V(`span`,`pr-readiness-value`);t.label===`Review`&&t.text.startsWith(`Requested: `)&&i.append(C3(e,t.text)),i.childNodes.length===0&&(i.textContent=t.text),n.append(pR(t.tone),V(`span`,`pr-readiness-label`,t.label),i),r.append(n)}n.append(r);let a=b3(e);a&&n.append(a),t.append(n)}if(e.checks.failing.length>0){let n=V(`section`,`my-pr-failures`);n.append(V(`h3`,`pr-section-heading`,`Failing checks`));let r=V(`ul`,`my-pr-facts`);for(let t of e.checks.failing)r.append(V(`li`,null,t));n.append(r),t.append(n)}let a=J4(e);if(a.length>0){let e=V(`section`,`pr-readiness-section`);e.append(V(`h3`,`pr-section-heading`,`Reviews`));let n=V(`ul`,`pr-readiness`);for(let e of a){let t=V(`li`,`pr-readiness-row`),r=Date.parse(e.submittedAt??``),i=Number.isFinite(r)?`${e.text} ${RN(r)}`:e.text,a=V(`span`,`my-pr-reviewer`);a.append(vd([{login:e.reviewer,tone:e.tone,title:e.reviewer,url:e.reviewer===`a deleted account`?null:void 0}],16),V(`span`,null,e.reviewer)),t.append(pR(e.tone),a,V(`span`,`pr-readiness-value`,i)),n.append(t)}e.append(n),t.append(e)}let o=U4(e,c3?.viewer??null);if(o.length>0){let e=V(`section`,`my-pr-threads-section`);e.append(V(`h3`,`pr-section-heading`,`Unresolved threads`));let n=V(`ul`,`my-pr-threads`);for(let e of o){let t=V(`li`,`my-pr-thread`),r=V(`div`,`my-pr-thread-heading`);if(r.append(bd(`my-pr-thread-location`,e.location,e.url)),e.waiting){let t=V(`span`,`my-pr-stage`);t.dataset.tone=e.waiting.tone,t.append(pR(e.waiting.tone),e.waiting.text),r.append(t)}let i=V(`p`,`my-pr-thread-excerpt`);i.append(V(`strong`,null,e.author),` ${e.excerpt}`);let a=Date.parse(e.lastActivityAt),o=V(`p`,`my-pr-thread-meta`,Number.isFinite(a)?`${e.replySummary}, ${RN(a)}`:e.replySummary);t.append(r,i,o),n.append(t)}e.append(n),t.append(e)}let s=V(`p`,`pr-detail-meta`);s.append(V(`span`,null,`Opened ${RN(Date.parse(e.createdAt))}`),V(`span`,null,`${e.state===`MERGED`?`Merged`:`Updated`} ${RN(Date.parse(e.state===`MERGED`?e.mergedAt??``:e.updatedAt))}`)),t.append(s),s3.replaceChildren(t)}function E3(){if(w3(),!o3)return;let e=c3?.prs??[],t=A4(e);l3=Q4(t,l3);let n=document.activeElement instanceof HTMLElement&&o3.contains(document.activeElement)?document.activeElement.dataset.prKey:null,r=t.filter(e=>e.rows.length>0).map(e=>{let t=V(`section`,`pr-queue-section`);t.append(V(`h3`,`pr-section-heading`,`${e.title} ${e.rows.length}`));for(let{pr:n,parentKey:r,depth:i}of e.rows){let e=V(`button`,`pr-queue-row`);e.type=`button`,e.dataset.prKey=n.key,r&&(e.style.paddingInlineStart=`${12+Math.min(i,6)*16}px`),e.setAttribute(`aria-current`,String(n.key===l3)),e.title=`${n.key}: ${j4(n.stage)}`;let a=V(`span`,`pr-queue-glyph`);a.append(pR(M4(n.stage)));let o=V(`span`,`pr-queue-top`);o.append(V(`strong`,`pr-queue-ref`,n.key),V(`span`,`pr-queue-title`,n.title));let s=V(`span`,`pr-queue-bottom`);r&&s.append(V(`span`,`my-pr-stage`,`Stacked on ${r}`)),s.append(S3(n,{hasGlyph:!1}),V(`span`,`pr-queue-elapsed`,`opened ${RN(Date.parse(n.createdAt))}`));let c=m4(n,p3.isFeatureEnabled(c3),RN(n.keepMergeableAttempt?.at));if(c){let e=V(`span`,`my-pr-stage`,c.text);e.dataset.tone=c.tone,e.title=c.title,s.append(e)}e.append(a,o,s),e.addEventListener(`click`,()=>{l3=n.key;for(let e of o3?.querySelectorAll(`button[data-pr-key]`)??[])e.setAttribute(`aria-current`,String(e.dataset.prKey===l3));T3(n),document.documentElement.dataset.layout===`phone`&&s3?.scrollIntoView({block:`start`,behavior:`smooth`})}),t.append(e)}return t});if(r.length===0&&o3.replaceChildren(V(`p`,`pr-empty`,X4(c3))),r.length>0){let e=Z4(c3,Date.now()).filter(e=>e.tone!==`error`).map(e=>V(`p`,e.tone===`error`?`my-pr-error`:`my-pr-note`,e.text));o3.replaceChildren(...e,...r)}u3&&(o3.prepend(u3.notice),u3.update(c3)),n&&[...o3.querySelectorAll(`button[data-pr-key]`)].find(e=>e.dataset.prKey===n)?.focus({preventScroll:!0}),T3(e.find(e=>e.key===l3))}function D3(e,t){return i3||(a3=t,i3=V(`div`,`pr-content`),e.append(i3),u3=_3(`my-prs`,i3),E3(),i3)}function O3(e){let t=D4(e);t&&(c3=t,E3())}function k3(e){let t=r3(e);if(!t)return;let n=f3.get(t.key);if(n&&n.requestId===t.requestId){if(window.clearTimeout(n.timer),f3.delete(t.key),!t.ok){v3(t.key,n.head,`failed`,t.error||`The merge failed.`);return}v3(t.key,n.head,t.kind??`unconfirmed`,``)}}var A3=cl.options.join(`|`),j3=String.raw`\*\*\[([^\]\n]+)\]\s+(${A3})\*\*`;function M3(e){return[...e.matchAll(new RegExp(j3,`g`))].flatMap(e=>{let t=cl.safeParse(e[2]);return t.success?[t.data]:[]})}function N3(e){let t=new RegExp(String.raw`^${j3}\s*(?:\r?\n|$)`).exec(e);if(!t)return null;let n=cl.safeParse(t[2]);return n.success?{reviewer:t[1]??``,severity:n.data,length:t[0].length}:null}function P3(e){let t=e.trimStart();return t.startsWith(`> [!NOTE]
|
|
243
|
-
> Automated review. Not written by a human.`)?t.slice(53).trim():e.trim()}var F3={"direct-request":`Needs you`,"team-request":`Ready`,"changes-requested":`Author to fix`,"checks-failing":`Checks failing`,"checks-pending":`Checks running`,draft:`Draft`,"review-available":`Ready`,approved:`Approved`};function I3(e){return e.isDraft?{band:`not-ready`,reason:`draft`}:e.reviewDecision===`CHANGES_REQUESTED`?{band:`waiting-on-author`,reason:`changes-requested`}:e.checksState===`FAILURE`||e.checksState===`ERROR`?{band:`waiting-on-author`,reason:`checks-failing`}:e.checksState===`PENDING`||e.checksState===`EXPECTED`?{band:`not-ready`,reason:`checks-pending`}:e.requestSource===`direct`&&e.reviewDecision===`REVIEW_REQUIRED`?{band:`blocking-others`,reason:`direct-request`}:e.reviewDecision===`APPROVED`?{band:`actionable`,reason:`approved`}:{band:`actionable`,reason:e.requestSource===`direct`?`review-available`:`team-request`}}var L3={APPROVE:{label:`You approved`,tone:`ok`},COMMENT:{label:`You commented`,tone:`muted`}},R3={APPROVED:{label:`You approved`,tone:`ok`},CHANGES_REQUESTED:{label:`You requested changes`,tone:`wait`},COMMENTED:{label:`You commented`,tone:`muted`}};function z3(e){let t=(e.githubReviews??[]).filter(e=>e.isViewer).sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).at(0);if(!e.postedEvent)return t?R3[t.state]:null;if(!t)return L3[e.postedEvent];let n=Date.parse(t.submittedAt??``);return Number.isNaN(n)||e.postedAt!==void 0&&e.postedAt>n?L3[e.postedEvent]:R3[t.state]}var B3=new Set([`changes-requested`,`checks-failing`,`checks-pending`,`draft`]);function V3(e){let{reason:t}=I3(e);return B3.has(t)?F3[t]:null}var H3={discarded:{tone:`muted`,meaning:`Discarded`},handReview:{tone:`warn`,meaning:`From a fork`}};function U3(e,t){let n=V3(t);return n?`${e}, ${n}`:e}function W3(e){if(ml(e))return!0;let t=(e.githubReviews??[]).filter(e=>e.isViewer);return t.length===0||t.some(t=>t.commit===g6(e))}var G3={tone:`warn`,meaning:`Comments resolved`};function K3(e,t){let n=H3[t];if(n)return n;if(t===`inReview`)return{tone:`wait`,meaning:U3(`In review`,e)};if(t===`queued`)return{tone:`muted`,meaning:U3(`Queued`,e)};if(t===`settled`&&`reviewedHead`in e){let t=W3(e)?z3(e):null;return t?{tone:t.tone,meaning:t.label}:{tone:`ok`,meaning:`Others reviewed`}}if(t===`posted`&&`reviewedHead`in e){let t=z3(e);return t?{tone:t.tone,meaning:t.label}:{tone:`muted`,meaning:`Posted`}}if(t===`attention`&&`status`in e)return e.status===`error`?{tone:`danger`,meaning:`Review failed`}:{tone:`warn`,meaning:`Out of date`};let r=V3(e);return r?{tone:`wait`,meaning:r}:t===`ready`&&`reviewedHead`in e&&Y3(e)?G3:{tone:`warn`,meaning:`Waits on you`}}function q3(e){let t=e.viewerThreads;return t!==void 0&&t.total>0&&t.resolved===t.total}function J3(e){return e.status===`posted`&&Y3(e)}function Y3(e){if(!q3(e)||ml(e))return!1;let t=g6(e);return!(e.githubReviews??[]).some(e=>e.isViewer&&e.state===`APPROVED`&&e.commit===t)}function X3(e){return!e||e.total===0?null:e.total===1?e.resolved===1?`Your 1 comment resolved`:`Your 1 comment unresolved`:e.resolved===e.total?`All ${e.total} of your comments resolved`:`${e.resolved} of ${e.total} of your comments resolved`}function Z3(e){return`${e} ${e===1?`comment`:`comments`}`}function Q3(e,t,n){let r=[`${U6(e.repo,e.number)}: ${e.title}`],i=`reviewedHead`in e?e.assessment?.goal.trim():``;if(i&&r.push(i),r.push(K3(e,t).meaning),n.opened&&r.push(`Opened ${n.opened}`),n.reviewed&&r.push(`Reviewed ${n.reviewed}`),n.posted&&r.push(`Posted ${n.posted}`),!(`reviewedHead`in e))return r.join(`
|
|
244
|
-
`);let a=X3(e.viewerThreads);a&&r.push(a);let o=e.comments.length;e.status!==`error`&&r.push(`Automated review: ${c6(e.verdict)}, ${Z3(o)}`);let s=S6(e);s&&r.push(`You ${u6[s.state]} at ${s.approvedCommit.slice(0,7)}${n.viewerApproval?` ${n.viewerApproval}`:``}; new commits since.`),(t===`attention`||t===`discarded`)&&r.push(a8(e));let c=E6(e,{isViewerShown:t!==`posted`});for(let[e,t]of c.entries())r.push(T6(t.text,n.githubReviews?.[e]??null));return r.join(`
|
|
245
|
-
`)}function $3(e){if(e.ready.length+e.attention.length+e.handReview.length>0)return null;let t=e.inReview.length+e.queued.length;return t===0?`Nothing needs you right now.`:`Nothing needs you right now. ${t} ${t===1?`review is`:`reviews are`} still running.`}function e6(e){let t=[...e.ready,...e.noReviewNeeded,...e.inReview,...e.queued,...e.handReview,...e.attention,...e.posted,...e.discarded];return new Set(t.map(e=>e.repo)).size>1}function t6(e,t,n){return n?U6(e,t):`#${t}`}var n6={CRITICAL:{filledCount:3,colorToken:`--state-failed`},HIGH:{filledCount:3,colorToken:`--state-waiting`},MEDIUM:{filledCount:2,colorToken:`--accent`},LOW:{filledCount:1,colorToken:`--text-dim`}},r6={APPROVE:`check`,"APPROVE WITH NITS":`dot`,"REQUEST CHANGES":`bar`,BLOCKED:`cross`},i6=`lanes-team-review`,a6=`team-review-enabled`,o6=Object.freeze({APPROVE:`approve`,"APPROVE WITH NITS":`approve with nits`,"REQUEST CHANGES":`request changes`,BLOCKED:`blocked`}),s6={APPROVE:`Approve`,"APPROVE WITH NITS":`Nits`,"REQUEST CHANGES":`Changes`,BLOCKED:`Blocked`};function c6(e){return s6[e]}var l6=Object.freeze({APPROVE:`ok`,"APPROVE WITH NITS":`info`,"REQUEST CHANGES":`warn`,BLOCKED:`crit`});Object.freeze({stale:`stale`,error:`error`,discarded:`discarded`});var u6=Object.freeze({APPROVED:`approved`,CHANGES_REQUESTED:`requested changes`,COMMENTED:`commented`}),d6=Object.freeze({preparing:`fetching the diff`,checkout:`checking out the head`,reviewing:`agent reviewing`}),f6=Object.freeze({approve:`Approved on GitHub`,"approve-only":`Approved on GitHub`,comment:`Comment posted on GitHub`,discard:`Draft discarded`,requeue:`Queued. The next poll reviews it again.`,"resolve-thread":`Thread resolved on GitHub`}),p6=Object.freeze({approve:`Posting the approval`,"approve-only":`Posting the approval`,comment:`Posting the comment`,discard:`Discarding the draft`,requeue:`Queueing the review`,"resolve-thread":`Resolving thread`});function m6(e){let t={ready:[],noReviewNeeded:[],inReview:[],queued:[],handReview:[],attention:[],posted:[],discarded:[]};if(!e)return t;let n={"blocking-others":[],actionable:[],"waiting-on-author":[],"not-ready":[]},r={"blocking-others":[],actionable:[],"waiting-on-author":[],"not-ready":[]},i=[`blocking-others`,`actionable`,`waiting-on-author`,`not-ready`],a=new Set(e.inFlight.map(e=>e.key));t.inReview.push(...e.inFlight);let o=new Set(e.drafts.filter(e=>_6(e).length>0).map(e=>e.key));t.handReview.push(...e.handReview.filter(e=>!a.has(e.key)&&!o.has(e.key)));let s=new Set(t.handReview.map(e=>e.key));for(let t of e.queued)a.has(t.key)||s.has(t.key)||r[I3(t).band].push(t);for(let e of i)t.queued.push(...r[e]);let c=new Set(t.queued.map(e=>e.key));for(let r of e.drafts){if(a.has(r.key)||c.has(r.key)||s.has(r.key))continue;if(_6(r).length>0||J3(r)){n.actionable.push(r);continue}let e=(r.status===`ready`||r.status===`stale`||r.status===`error`)&&!b6(r);e&&t.noReviewNeeded.push(r),r.status===`ready`&&!e&&n[I3(r).band].push(r),(r.status===`stale`||r.status===`error`)&&!e&&t.attention.push(r),r.status===`posted`&&t.posted.push(r),r.status===`discarded`&&t.discarded.push(r)}for(let e of i)t.ready.push(...n[e]);return t}function h6(e,t){return e.commit===t?e.isViewer||ul.has(e.state):!1}function g6(e){return e.liveHead??e.reviewedHead}function _6(e){return(e.threads??[]).filter(e=>!e.isNit&&!e.isResolved)}function v6(e,t){if(e.isNit)return`Automatic resolution failed`;let n=e.judgement?.head===t&&e.judgement.lastReplyAt===e.lastReplyAt?e.judgement:void 0;if(n)return`${n.addressed?`Addressed`:`Not addressed`}: ${n.reason}`;let r=e.unjudgeable?.head===t&&e.unjudgeable.lastReplyAt===e.lastReplyAt?e.unjudgeable:void 0;return r?`Not judged: ${r.reason}`:`Judging`}function y6(e){return(e.threads??[]).filter(e=>!e.isResolved&&(!e.isNit||e.resolveError)).map(t=>({thread:t,location:t.line===null?t.path:`${t.path}:${t.line}`,judgementText:v6(t,g6(e)),canResolve:t.viewerCanResolve}))}function b6(e){return _6(e).length>0?!0:ml(e)?!1:Y3(e)?!0:!(e.githubReviews??[]).some(t=>h6(t,g6(e)))}function x6(e,t){let n=u6[e.state];return e.isViewer?e.commit===t?`you ${n}`:`you ${n} (older commit)`:`${n} by ${e.login}`}function S6(e){if(ml(e))return null;let t=(e.githubReviews??[]).filter(e=>e.isViewer&&ul.has(e.state)).sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).at(0);if(!t?.commit||t.commit===g6(e)||t.state===`COMMENTED`)return null;let n=Date.parse(t.submittedAt??``);return e.reviewedAt!==void 0&&n>e.reviewedAt?null:{approvedCommit:t.commit,submittedAt:t.submittedAt,state:t.state,isReviewScopeSinceDecision:e.priorReviewedHead===t.commit}}function C6(e,t){let n=e.state===`APPROVED`?`approved this`:`requested changes`,r=e.state===`APPROVED`?`your approval`:`your request for changes`,i=`You ${n} at ${e.approvedCommit.slice(0,7)}${t?` ${t}`:``}. It has new commits since`;return e.isReviewScopeSinceDecision?`${i}, so this review covers what changed after ${r}.`:`${i}.`}function w6(e){return e===`APPROVED`?`ok`:e===`CHANGES_REQUESTED`?`warn`:`muted`}function T6(e,t){return t?`${e}, ${t}`:e}function E6(e,{isViewerShown:t=!0}={}){return(e.githubReviews??[]).filter(e=>t||!e.isViewer).sort((e,t)=>Number(t.isViewer)-Number(e.isViewer)).map(t=>({login:t.login,tone:w6(t.state),text:x6(t,g6(e)),submittedAt:t.submittedAt}))}function D6(e){return e.ready.length+e.noReviewNeeded.length+e.inReview.length+e.queued.length+e.handReview.length+e.attention.length+e.posted.length+e.discarded.length>0}function O6(e,t){let n=[...e.ready,...e.inReview,...e.queued,...e.noReviewNeeded,...e.attention,...e.posted,...e.discarded];return t&&n.some(e=>e.key===t)?t:n[0]?.key??null}function k6(e){return n6[e]}function A6(e){return r6[e]}function j6(e){let t=M3(e.body);return t.length>0?t:e.severity?[e.severity]:[]}function M6(e){let t=j6(e);return cl.options.find(e=>t.includes(e))??null}function N6(e){return M6(e)!==`LOW`}var P6=new Set(`ts.tsx.js.jsx.mjs.cjs.json.jsonc.css.scss.less.html.md.mdx.py.go.rs.rb.java.kt.kts.swift.c.h.cc.cpp.hpp.cs.php.sh.bash.zsh.yml.yaml.toml.ini.sql.vue.svelte.astro.lock.txt.ex.exs.erl.scala.dart.lua.tf.proto.graphql.gql.xml.gradle`.split(`.`)),F6=/^([\w.@~/-]+):\d+(?:-\d+)?$/;function I6(e){let t=F6.exec(e)?.[1];if(t===void 0)return!1;let n=t.slice(t.lastIndexOf(`/`)+1),r=n.lastIndexOf(`.`);return r<0?!1:P6.has(n.slice(r+1).toLowerCase())}var L6=/^```([^\n`]*)\n([\s\S]*?)^```[ \t]*(?=\r?$)/gm;function R6(e){let t=[],n=0;for(let r of e.matchAll(/`([^`\n]+)`/g)){let i=r.index??0;i>n&&t.push({text:e.slice(n,i),kind:`text`});let a=r[1]??``;t.push({text:a,kind:I6(a)?`citation`:`code`}),n=i+r[0].length}return n<e.length&&t.push({text:e.slice(n),kind:`text`}),t}function z6(e){return e.split(/\r?\n\s*\r?\n/).filter(Boolean).map(e=>{let t=e.match(/^(Suggested fix:|Fix:|Open question[.,:])\s*/),n=t?.[1]??``;return{kind:`prose`,lead:n,leadKind:n.startsWith(`Open question`)?`question`:n?`fix`:null,segments:R6(e.slice(t?.[0].length??0))}})}function B6(e){let t=P3(e),n=N3(t),r=n?t.slice(n.length).trim():t,i=[],a=0;for(let e of r.matchAll(L6)){let t=e.index??0;i.push(...z6(r.slice(a,t).trim()));let n=(e[1]??``).trim().split(/\s+/)[0]||null;i.push({kind:`code`,language:n,code:(e[2]??``).replace(/\r?\n$/,``)}),a=t+e[0].length}return i.push(...z6(r.slice(a).trim())),{tag:n?.reviewer??null,severity:n?.severity??null,paragraphs:i}}function V6(e){let t=e.find(e=>e.kind===`prose`);if(!t)return`Open comment`;let n=`${t.lead} ${t.segments.map(e=>e.text).join(``)}`.trim(),r=n.search(/[.!?](?=\s|$)/);return(r<0?n:n.slice(0,r+1))||`Open comment`}function H6(e){let t=[`Fetch the diff`,`Check out the head`,`Review`,`Draft ready`],n={preparing:0,checkout:1,reviewing:2}[e];return t.map((e,t)=>({label:e,state:t<n?`done`:t===n?`active`:`todo`}))}function U6(e,t){return`${e}#${t}`}function W6(e){return e===`full`?`full`:`light`}function G6(e){return e.priorReviewedHead?`${W6(e.tier)} review of changes since ${e.priorReviewedHead.slice(0,7)}`:`${W6(e.tier)} review`}function K6(e){return e.reasons.join(`, `)}function q6(e){if(!e)return[];let t=[],n=e.goal.trim(),r=e.change.trim();return n&&t.push({kind:`goal`,text:n}),r&&t.push({kind:`change`,text:r}),t}function J6(e){if(!e)return`No coverage notes`;let t=e.checked.length,n=e.gaps.length,r=[];return t>0&&r.push(`${t} ${t===1?`check`:`checks`}`),n>0&&r.push(`${n} not covered`),r.join(`, `)||`No coverage notes`}function Y6(e){return e?{label:`Coverage`,preview:J6(e)}:{label:`Review audit`,preview:``}}var X6=`This review ran before plain summaries existed, so only its verdict and findings remain. The audit log shows what it checked. Queue review to get a plain summary.`,Z6=new Set([`error`,`stale`,`discarded`,`posted`]);function Q6(e){return Z6.has(e)}function $6(e){let t=e8(e);return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}function e8(e){return o6[e]??String(e).toLowerCase()}function t8(e){return l6[e]??`dim`}function n8(e){return d6[e]??e}function r8(e,t){return`${dD(t-e.startedAt)} elapsed`}function i8(e,t){let n=[r8(e,t)],r=e.deadlineAt===null?0:e.deadlineAt-t;return r>0&&n.push(`times out in ${dD(r)}`),e.phase===`reviewing`&&n.push(`${e.toolCalls} ${e.toolCalls===1?`tool call`:`tool calls`}`),n.join(`, `)}function a8(e){return e.status===`stale`?`Out of date. Automatic review runs at the next poll after the configured wait. Queue review bypasses the wait.`:e.status===`discarded`?`Not reviewed again until queued.`:e.error||e.summary||`The review failed.`}function o8(e,t){let n=t.side===`LEFT`?` (old)`:``;return`${e}:${t.line}${n}`}function s8(e){return o8(e.path,e)}function c8(e){return o8(e.path.split(`/`).filter(Boolean).at(-1)??e.path,e)}function l8(e,t){let n=e.trim();return n?t.trim()?`${n}\n\n${t}`:n:t}function u8(e,t,n,r,i){return t===`approve-only`?{key:e.key,head:e.reviewedHead,action:t,body:``,comments:[]}:{key:e.key,head:e.reviewedHead,action:t,body:n,...i?{threadId:i}:{},comments:r.map(({path:e,line:t,side:n,body:r})=>({path:e,line:t,side:n,body:r}))}}var d8=Object.freeze({approve:`Approve and comment`,"approve-only":`Approve`,comment:`Comment`,discard:`Discard`,requeue:`Queue review`,"resolve-thread":`Resolve`});function f8(e){return d8[e]}function p8(e){return e.status===`ready`?{footer:[`comment`,`approve-only`,`approve`],more:[`requeue`,`discard`]}:Xee(e)?{footer:[`approve-only`],more:[`requeue`]}:Q6(e.status)?{footer:[`requeue`],more:[]}:{footer:[],more:[]}}function m8(e){return p6[e]}function h8(e){return f6[e]}function g8(e){return e===0?`Picked for review. It starts on the next poll.`:`Waiting for a free review slot. It starts as soon as ${e===1?`the review`:`one of the ${e} reviews`} in progress finishes.`}function _8(e){return e?e.configured?e.error?`Review drafts will show here once GitHub answers.`:`No review drafts yet. New teammate pull requests show up here after the next poll.`:e.reason?`Team review is not running: ${e.reason}.`:`Team review is off.`:`Waiting for the team review lane.`}function v8(e){return e?.configured&&e.reason||null}function y8(e){return HE(m6(e).ready.map(e=>`${e.key}@${e.reviewedHead}`))}function b8(e){return`${e.key}@${e.reviewedHead}:${e.status}:${e.summary}:${E6(e).map(e=>e.text).join(`, `)}`}function x8(e){return`reviewedHead`in e?JSON.stringify([e.prCreatedAt,e.reviewedAt,e.postedAt,e.githubReviews,e.liveHead,e.priorReviewedHead,e.viewerThreads]):JSON.stringify([e.prCreatedAt,e.priorReviewedHead])}function S8(e,t){return!e||e.error!==t.error||e.nextAttemptAt!==t.nextAttemptAt||JSON.stringify(e.retry)!==JSON.stringify(t.retry)||e.isRefreshing!==t.isRefreshing||e.refreshNotice!==t.refreshNotice||JSON.stringify(e.team)!==JSON.stringify(t.team)||e.configured!==t.configured||e.reason!==t.reason||e.inFlight.map(e=>e.key).join(`
|
|
246
|
-
`)!==t.inFlight.map(e=>e.key).join(`
|
|
247
|
-
`)||JSON.stringify(e.handReview)!==JSON.stringify(t.handReview)||JSON.stringify(e.queued)!==JSON.stringify(t.queued)?!1:JSON.stringify(e.drafts)===JSON.stringify(t.drafts)}var C8=12e4,w8=`M4.5 0.5L8.5 5.5L4.5 10.5L0.5 5.5Z`,T8=null,E8=null,D8=null,O8=null,k8=null,A8=null,j8=null,M8=null,N8=null,P8=null,F8=null,I8=BN(()=>E8),L8=BN(()=>E8),R8=BN(()=>E8),z8=new WeakMap,B8=new Map,V8=new Map,H8=new Map,U8=WE({getAck:UF,setAck:WF,signature:()=>y8(T8),isLooking:()=>!Od(E8)});function W8(e){let t=k6(e),n=V(`span`,`pr-severity-meter`);if(n.setAttribute(`role`,`img`),n.setAttribute(`aria-label`,`${e.toLowerCase()} severity`),n.style.color=`var(${t.colorToken})`,e===`CRITICAL`){let e=fR(14,17);e.classList.add(`pr-severity-halo`),e.setAttribute(`viewBox`,`0 0 9 11`),e.append(dR(`path`,{d:w8,fill:`currentColor`})),n.append(e)}for(let e=0;e<3;e+=1){let r=fR(9,11),i=e<t.filledCount;r.append(dR(`path`,{d:w8,fill:i?`currentColor`:`none`,stroke:i?`currentColor`:`var(--border-hover)`,"stroke-width":`1`})),n.append(r)}return n}function G8(e){let{verdict:t}=e,n=V(`span`,`pr-verdict-seal`);n.dataset.tone=t8(t);let r=fR(20,20),i=A6(t);return r.append(dR(`circle`,{cx:`10`,cy:`10`,r:`8.5`,fill:i===`cross`?`currentColor`:`none`,stroke:`currentColor`,"stroke-width":`1.5`})),i===`check`&&r.append(dR(`path`,{d:`M6 10.5L8.7 13L14 7.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),i===`dot`&&r.append(dR(`circle`,{cx:`10`,cy:`10`,r:`2.4`,fill:`currentColor`})),i===`bar`&&r.append(dR(`path`,{d:`M6 10H14`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`})),i===`cross`&&r.append(dR(`path`,{d:`M7 7L13 13M13 7L7 13`,stroke:`var(--bg)`,"stroke-width":`1.8`,"stroke-linecap":`round`})),n.append(r,V(`span`,null,$6(t))),n}function K8(){let e=fR(16,16);return e.append(dR(`rect`,{x:`1`,y:`1`,width:`14`,height:`14`,rx:`2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`})),e.append(dR(`path`,{d:`M6 6.2C6 4.9 7 4.2 8 4.2C9.1 4.2 10 5 10 6C10 7.4 8 7.4 8 9.2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`})),e.append(dR(`circle`,{cx:`8`,cy:`11.6`,r:`0.9`,fill:`currentColor`})),e}function q8(e){return bd(`pr-link`,U6(e.repo,e.number),e.url)}function J8(e){let t=typeof e==`string`?Date.parse(e):e;return typeof t!=`number`||!Number.isFinite(t)||t<=0?null:t}function Y8(e,t){let n=J8(t);if(n===null)return null;let r=V(`span`,null,`${e}${e?` `:``}${RN(n)}`);return r.dataset.ageAt=String(n),r.dataset.ageLabel=e,r}function X8(e){if(e){for(let t of e.querySelectorAll(`.pr-queue-row`)){let e=z8.get(t);if(!e)continue;let n=()=>{t.title=e(),t.setAttribute(`aria-label`,t.title)};n(),R8.onTick(n)}for(let t of e.querySelectorAll(`.pr-rereview-notice`)){let e=T8?.drafts.find(e=>e.key===t.dataset.reviewKey),n=e?S6(e):null;if(!n)continue;let r=()=>{t.textContent=C6(n,Q8(n.submittedAt))};r(),R8.onTick(r)}for(let t of e.querySelectorAll(`[data-age-at]`)){let e=Number(t.dataset.ageAt),n=t.dataset.reviewTitle;if(n!==void 0){let r=()=>{let r=T6(n,RN(e));t.title=r,t.setAttribute(`aria-label`,r)};r(),R8.onTick(r);continue}let r=t.dataset.ageLabel??``;R8.track(t,e,()=>`${r}${r?` `:``}${RN(e)}`)}}}function Z8(e,t,n,r=!0){let i=E6(e,{isViewerShown:r});if(i.length===0)return null;let a=V(`span`,t),o=vd(i.map(e=>({login:e.login,tone:e.tone,title:T6(e.text,Q8(e.submittedAt))})),n);for(let[e,t]of i.entries()){let n=o.children[e];if(!(n instanceof HTMLElement)||!t.submittedAt)continue;let r=J8(t.submittedAt);r!==null&&(n.dataset.ageAt=String(r),n.dataset.reviewTitle=t.text)}return a.append(o),a}function Q8(e){let t=J8(e);return t===null?null:RN(t)}function $8(e,t,n){let r=V(`span`,n);return r.append(_d({login:e,cssPx:t}),V(`span`,null,e)),r}function e5(e,t,n){let r=V(`button`,`pr-queue-row pr-queue-row-quiet`);r.type=`button`,r.dataset.reviewKey=e.key,r.setAttribute(`aria-current`,String(e.key===N8));let i=`reviewedHead`in e?S6(e):null,a=()=>Q3(e,t,{opened:Q8(e.prCreatedAt),reviewed:`reviewedHead`in e?Q8(e.reviewedAt):null,posted:`reviewedHead`in e?Q8(e.postedAt):null,viewerApproval:Q8(i?.submittedAt),githubReviews:`reviewedHead`in e?E6(e,{isViewerShown:t!==`posted`}).map(e=>Q8(e.submittedAt)):[]});r.title=a(),r.setAttribute(`aria-label`,r.title),z8.set(r,a);let o=r5(e,n);if(t===`inReview`){let t=e,n=V(`span`,`pr-queue-elapsed`);I8.track(n,t.startedAt,()=>r8(t,Date.now())),o.append(n)}if(t===`queued`){let t=Y8(``,e.prCreatedAt);t&&(t.classList.add(`pr-queue-elapsed`),o.append(t))}if(t!==`inReview`&&t!==`queued`){let t=e,n=Y8(``,t.reviewedAt)??Y8(``,t.prCreatedAt);n&&(n.classList.add(`pr-queue-elapsed`),o.append(n))}if(t===`discarded`)return r.classList.add(`pr-queue-row-compact`),r.append(o),t5(r,e.key),r;r.classList.remove(`pr-queue-row-quiet`);let s=K3(e,t),c=V(`span`,`pr-queue-glyph`);c.append(pR(s.tone));let l=V(`span`,`pr-queue-bottom`);if(l.append(n5(s),$8(e.author,16,`pr-queue-author`)),e.requestSource===`direct`){let e=V(`span`,`pr-queue-direct`,`@`);e.title=`Requested from you directly`,l.append(e)}t===`inReview`&&l.append(V(`span`,`pr-phase-label`,n8(e.phase))),r.append(c,o,l);let u=t===`inReview`||t===`queued`?null:Z8(e,`pr-queue-reviewers`,16,t!==`posted`);return u&&l.append(u),t5(r,e.key),r}function t5(e,t){e.addEventListener(`click`,()=>{N8=t;for(let e of k8?.querySelectorAll(`button[data-review-key]`)??[])e.setAttribute(`aria-current`,String(e.dataset.reviewKey===N8));F5(m6(T8)),R8.reset(),X8(E8),document.documentElement.dataset.layout===`phone`&&j8?.scrollIntoView({block:`start`,behavior:`smooth`})})}function n5(e){let t=V(`span`,`my-pr-stage pr-queue-state`,e.meaning);return t.dataset.tone=e.tone,t}function r5(e,t){let n=V(`span`,`pr-queue-top`);return n.append(V(`strong`,`pr-queue-ref`,t6(e.repo,e.number,t)),V(`strong`,`pr-queue-ref-compact`,t6(e.repo,e.number,!1)),V(`span`,`pr-queue-title`,e.title)),n}function i5(e,t){let n=V(`section`,`pr-queue-section`);n.append(V(`h3`,`pr-section-heading`,`Review by hand ${e.length}`));for(let r of e){let e=bd(`pr-queue-row`,``,r.url),i=()=>Q3(r,`handReview`,{opened:Q8(r.prCreatedAt)});e.title=i(),z8.set(e,i);let a=K3(r,`handReview`),o=V(`span`,`pr-queue-glyph`);o.append(pR(a.tone));let s=V(`span`,`pr-queue-bottom`);s.append(n5(a),$8(r.author,16,`pr-queue-author`)),e.append(o,r5(r,t),s),n.append(e)}return n}function a5(e){let t=V(`section`,`pr-caught-up`);t.setAttribute(`role`,`status`);let n=V(`strong`,`pr-caught-up-title`);return n.append(pR(`ok`),V(`span`,null,`All caught up`)),t.append(n,V(`p`,`pr-caught-up-detail`,e)),t}function o5(e,t,n,r){let i=V(`section`,`pr-queue-section`);i.append(V(`h3`,`pr-section-heading`,`${e} ${t.length}`));for(let e of t)i.append(e5(e,n,r));return i}function s5(e){let t=V(`div`,`pr-detail-heading`);t.dataset.signature=x8(e);let n=V(`div`,`pr-detail-title`);n.append(q8(e),V(`h2`,null,e.title));let r=V(`div`,`pr-detail-meta`);r.append($8(e.author,20,`pr-detail-author`));let i=V(`span`,null,G6(e));i.title=K6(e),r.append(i);let a=Y8(`Opened`,e.prCreatedAt);if(a&&r.append(a),`reviewedHead`in e){let t=Y8(`Reviewed`,e.reviewedAt);t&&r.append(t);let n=Y8(`Posted`,e.postedAt);n&&r.append(n)}let o=`reviewedHead`in e?Z8(e,`pr-detail-github`,20):null;if(o&&r.append(o),t.append(n,r),`reviewedHead`in e){let n=X3(e.viewerThreads);if(n){let r=V(`p`,`pr-viewer-threads`,n);q3(e)&&(r.dataset.state=`all-resolved`),t.append(r)}}let s=`reviewedHead`in e?S6(e):null;if(s){let n=V(`p`,`pr-rereview-notice`,C6(s,Q8(s.submittedAt)));n.dataset.reviewKey=e.key,t.append(n)}return t}function c5(e,t){let n=e.querySelector(`:scope > .pr-detail-heading`);if(!n||n.dataset.signature===x8(t))return e;let r=s5(t),i=n.querySelector(`:scope > .pr-detail-title > .pr-detail-more`);return i&&r.querySelector(`:scope > .pr-detail-title`)?.append(i),n.replaceWith(r),e}function l5(e){return`${JSON.stringify(e.threads)}:${e.liveHead}:${e.status}:${e.reviewedHead}:${e.error??``}:${e.postedEvent??``}`}function u5(e,t){for(let n of t){if(n.kind===`text`){e.append(document.createTextNode(n.text));continue}if(n.kind===`code`){e.append(V(`code`,null,n.text));continue}let t=V(`span`,`pr-citation`,n.text);t.title=n.text,e.append(t)}return e}function d5(e,t){return u5(e,R6(t))}function f5(e,t,n){let r=V(`div`,`pr-assessment-part`);return n&&(r.dataset.tone=n),r.append(V(`h4`,`pr-assessment-title`,e),t),r}function p5(e){let t=V(`ul`,`pr-assessment-list`);for(let n of e)t.append(d5(V(`li`,null),n));return t}function m5(e){let t=q6(e.assessment);if(t.length===0)return[];let n=V(`section`,`pr-about-box`);n.setAttribute(`aria-label`,`About this PR`),n.append(V(`h3`,`pr-assessment-title`,`About this PR`));for(let e of t){let t=e.kind===`goal`?`pr-verdict-summary pr-about-goal`:`pr-verdict-summary`;n.append(d5(V(`p`,t),e.text))}return[n]}function h5(e){let t=V(`section`,`pr-verdict-box`);t.setAttribute(`aria-label`,`Verdict`);let n=V(`div`,`pr-verdict-line`);return n.append(G8(e)),t.append(n),e.assessment?(t.append(d5(V(`p`,`pr-verdict-summary pr-verdict-reason`),e.summary)),t):(t.append(V(`p`,`pr-verdict-legacy`,X6)),t)}function g5(e){let t=V(`details`,`pr-disclosure pr-coverage`),n=V(`summary`,`pr-disclosure-summary`),r=Y6(e.assessment);n.append(V(`span`,`pr-disclosure-label`,r.label),V(`span`,`pr-disclosure-preview`,r.preview)),t.append(n);let{assessment:i}=e;return i?(i.checked.length>0&&t.append(f5(`What the review checked`,p5(i.checked))),i.gaps.length>0&&t.append(f5(`Not covered`,p5(i.gaps),`warning`)),t):(t.append(d5(V(`p`,`pr-verdict-summary`),e.summary)),t)}function _5(e){if(e.kind===`code`){let t=V(`pre`,`pr-comment-code`),n=V(`code`,null);return n.textContent=e.code,t.append(n),t}let t=V(`p`,`pr-comment-paragraph`);if(e.lead){let n=V(`strong`,`pr-comment-lead pr-comment-lead-${e.leadKind}`);e.leadKind===`question`&&n.append(K8()),n.append(e.lead),t.append(n,` `)}return u5(t,e.segments)}function v5(e,t,n,r){let i=V(`article`,`pr-comment-card`),a=V(`input`,`pr-comment-checkbox`);a.type=`checkbox`,a.checked=n.has(t),a.setAttribute(`aria-label`,`Include comment on ${s8(e)}`),a.addEventListener(`change`,()=>{a.checked&&n.add(t),a.checked||n.delete(t),i.dataset.included=String(a.checked),r()}),i.dataset.included=String(a.checked);let o=V(`details`,`pr-comment-content`),s=V(`summary`,`pr-comment-header`),c=B6(e.body),l=M6(e);l&&s.append(W8(l));let u=V(`span`,`pr-comment-location`,c8(e));u.title=s8(e),s.append(u),s.append(V(`span`,`pr-comment-preview`,V6(c.paragraphs))),o.append(s);let d=V(`div`,`pr-comment-paragraphs`);for(let e of c.paragraphs)d.append(_5(e));return o.append(d),o.open=l===`HIGH`||l===`CRITICAL`,i.append(a,o),i}var y5=`More review actions`,b5=`M3 8h0.01M8 8h0.01M13 8h0.01`,x5=`Your comments are on GitHub. Approve adds an approval without posting them again.`;function S5(e,t,n,r,i,a,o){let s=`team-review-action-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;if(!B({type:`team-review-action`,requestId:s,...u8(t,n,r,i,o)}))return!1;let c=window.setTimeout(()=>{H8.delete(t.key),a(!1,`No reply from the server. Check GitHub before trying again.`)},C8);return H8.set(t.key,{requestId:s,action:n,origin:e,timer:c,settle:a}),!0}var C5=0;function w5(e,t){let n=V(`div`,`pr-detail-more`),r=V(`button`,`review-icon-button review-more-button`);r.type=`button`,r.title=y5,r.setAttribute(`aria-label`,y5),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,`false`);let i=fR(16,16);i.append(dR(`path`,{d:b5,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),r.append(i),C5+=1;let a=V(`div`,`review-more-menu`);a.id=`pr-more-menu-${C5}`,a.setAttribute(`role`,`menu`),a.setAttribute(`aria-label`,y5),a.hidden=!0,r.setAttribute(`aria-controls`,a.id);let o=e=>{e.key===`Escape`&&(e.preventDefault(),c(),r.focus())},s=e=>{e.target instanceof Node&&n.contains(e.target)||c()};function c(){a.hidden=!0,r.setAttribute(`aria-expanded`,`false`),document.removeEventListener(`keydown`,o),document.removeEventListener(`pointerdown`,s)}let l=()=>{a.hidden=!1,r.setAttribute(`aria-expanded`,`true`),document.addEventListener(`keydown`,o),document.addEventListener(`pointerdown`,s),a.querySelector(`button:not(:disabled)`)?.focus()};r.addEventListener(`click`,()=>{if(a.hidden){l();return}c()});let u=[r];for(let n of e){let e=V(`button`,n===`discard`?`review-btn review-btn-danger`:`review-btn`,f8(n));e.type=`button`,e.dataset.action=n,e.setAttribute(`role`,`menuitem`),e.addEventListener(`click`,()=>{c(),t(n)}),u.push(e),a.append(e)}return n.append(r,a),{element:n,controls:u}}function T5(e,t){let n=V(`button`,`pr-action`,f8(e));return n.type=`button`,n.dataset.action=e,n.addEventListener(`click`,()=>t(e)),n}function E5(e,t){e.querySelector(`:scope > .pr-detail-heading > .pr-detail-title`)?.append(t)}function D5(e){let t=V(`article`,`pr-detail`),n=V(`div`);n.dataset.reviewThreads=``,t.append(s5(e),...m5(e),n,h5(e)),j5(t,e);let r=V(`section`,`pr-posts`);r.setAttribute(`aria-label`,`Inline comments`);let i=V(`div`,`pr-posts-heading`);i.append(V(`h3`,null,`Inline comments`),V(`span`,null,String(e.comments.length))),r.append(i);let a=V(`details`,`pr-disclosure`),o=V(`summary`,`pr-disclosure-summary`),s=V(`span`,`pr-disclosure-preview`);o.append(V(`span`,`pr-disclosure-label`,`Review body`),s),a.append(o);let c=V(`textarea`,`pr-body-input`);c.setAttribute(`aria-label`,`Review body`),c.value=e.body,c.rows=Math.min(10,Math.max(3,e.body.split(`
|
|
248
|
-
`).length+1)),c.spellcheck=!0;let l=()=>{s.textContent=P3(c.value).split(/\r?\n/).map(e=>e.trim()).find(Boolean)||`No review body`};c.addEventListener(`input`,l),l(),a.append(c);let u=V(`details`,`pr-disclosure`);u.append(V(`summary`,`pr-disclosure-summary`,`Add a note`));let d=V(`textarea`,`pr-body-input pr-note-input`);d.setAttribute(`aria-label`,`Your note`),d.rows=2,d.spellcheck=!0,d.placeholder=`Posts above the automated-review note`,u.append(d);let f=new Set(e.comments.flatMap((e,t)=>N6(e)?[t]:[])),p=V(`footer`,`pr-footer`),m=V(`span`,`pr-action-status`);m.setAttribute(`role`,`status`),m.setAttribute(`aria-live`,`polite`);let h=()=>{H8.has(e.key)||m.dataset.tone===`ok`||(m.textContent=``,delete m.dataset.tone)};for(let[t,n]of e.comments.entries())r.append(v5(n,t,f,h));t.append(r,a,u,g5(e));let g=[],_=e=>{for(let t of g)t.disabled=e;t.dataset.busy=String(e)},v=(e,t)=>{_(e),m.dataset.tone=e?`ok`:`error`,m.textContent=t},y=t=>{if(H8.has(e.key))return;_(!0),m.dataset.tone=`busy`,m.textContent=m8(t);let n=e.comments.filter((e,t)=>f.has(t));S5(`ready`,e,t,l8(d.value,c.value),n,v)||v(!1,`Not connected to the server.`)},b=p8(e),x=b.footer.map(e=>T5(e,y)),ee=w5(b.more,y);return g.push(...x,...ee.controls),E5(t,ee.element),p.append(...x,m),t.append(p),{signature:b8(e),element:t,settle:v}}function O5(e){let t=B8.get(e.key);if(t&&(H8.has(e.key)||t.signature===b8(e)))return j5(t.element,e),c5(t.element,e);let n=D5(e);return B8.set(e.key,n),n.element}function k5(e,t){let n=V(`article`,`pr-detail`),r=V(`div`,`pr-detail-heading`),i=V(`div`,`pr-detail-title`);i.append(q8(e),V(`h2`,null,e.title));let a=V(`div`,`pr-detail-meta`);a.append($8(e.author,20,`pr-detail-author`));let o=Y8(`Opened`,e.prCreatedAt);return o&&a.append(o),r.append(i,a),n.append(r,V(`p`,`pr-attention-detail`,g8(t))),n}function A5(e){let t=V(`article`,`pr-detail`);t.append(s5(e));let n=V(`section`,`pr-progress`);n.setAttribute(`aria-label`,`Review progress`);let r=V(`ol`,`pr-progress-tracker`);for(let t of H6(e.phase)){let e=V(`li`,`pr-progress-stage`);e.dataset.state=t.state,e.append(V(`span`,`pr-progress-bar`),V(`span`,null,t.label)),r.append(e)}let i=V(`div`,`pr-progress-text`);L8.track(i,e.startedAt,()=>i8(e,Date.now())),n.append(r,i),t.append(n);let a=V(`section`,`pr-steps`);a.append(V(`h3`,null,`Latest agent steps`));let o=V(`ol`,`pr-step-list`);for(let t of e.recentSteps){let n=V(`li`,`pr-step`),r=V(`span`,`pr-step-detail`,t.detail);r.title=t.detail,n.append(V(`span`,`pr-step-at`,fD(e.startedAt,t.at)),V(`span`,`pr-step-tool`,t.tool),r),o.append(n)}return a.append(o),t.append(a),t}function j5(e,t){if(H8.has(t.key))return;let n=e.querySelector(`:scope > [data-review-threads]`),r=JSON.stringify([t.liveHead,t.threads]);n&&n.dataset.reviewThreads!==r&&(n.replaceChildren(...M5(t)),n.dataset.reviewThreads=r)}function M5(e){let t=y6(e);if(t.length===0)return[];let n=V(`section`,`my-pr-threads-section`);n.append(V(`h3`,`pr-section-heading`,`Answered threads`));let r=V(`div`,`my-pr-threads`);for(let n of t){let t=V(`div`,`my-pr-thread`),i=V(`div`,`pr-detail-meta`,`Reply by ${n.thread.lastReplyAuthor}`),a=Y8(``,n.thread.lastReplyAt);a&&i.append(a);let o=V(`span`,`pr-action-status`,n.judgementText);o.setAttribute(`role`,`status`);let s=V(`button`,`pr-action`,`Resolve`);s.type=`button`,s.disabled=!n.canResolve||H8.has(e.key);let c=(e,t)=>{s.disabled=e||!n.canResolve,o.textContent=t,o.dataset.tone=e?`ok`:`error`};s.addEventListener(`click`,()=>{H8.has(e.key)||(s.disabled=!0,o.textContent=m8(`resolve-thread`),!S5(`other`,e,`resolve-thread`,``,[],c,n.thread.id)&&c(!1,`Not connected to the server.`))}),t.append(bd(`pr-link`,n.location,n.thread.url),i,s,o),n.thread.resolveError&&t.append(V(`p`,`pr-attention-detail`,n.thread.resolveError)),r.append(t)}return n.append(r),[n]}function N5(e){let t=V(`article`,`pr-detail`);if(t.append(s5(e),...m5(e),...M5(e)),e.status===`posted`&&t.append(h5(e),g5(e)),e.status!==`posted`&&t.append(V(`p`,`pr-attention-detail`,a8(e))),!Q6(e.status))return V8.set(e.key,{signature:l5(e),element:t,settle:()=>{}}),t;let n=V(`footer`,`pr-footer`),r=p8(e),i=V(`span`,`pr-action-status`,r.footer.includes(`approve-only`)?x5:``);i.setAttribute(`role`,`status`),i.setAttribute(`aria-live`,`polite`);let a=[],o=(e,t)=>{for(let t of a)t.disabled=e;i.dataset.tone=e?`ok`:`error`,i.textContent=t},s=t=>{if(!H8.has(e.key)){for(let e of a)e.disabled=!0;i.dataset.tone=`busy`,i.textContent=m8(t),!S5(`other`,e,t,``,[],o)&&o(!1,`Not connected to the server.`)}},c=r.footer.map(e=>T5(e,s));if(a.push(...c),r.more.length>0){let e=w5(r.more,s);a.push(...e.controls),E5(t,e.element)}return n.append(...c,i),t.append(n),V8.set(e.key,{signature:l5(e),element:t,settle:o}),t}function P5(e){if(!Q6(e.status)&&y6(e).length===0)return N5(e);let t=V8.get(e.key);return t&&(H8.has(e.key)||t.signature===l5(e))?c5(t.element,e):N5(e)}function F5(e){if(!j8)return;if(N8=O6(e,N8),!N8){j8.replaceChildren(),P8=null;return}let t=e.ready.find(e=>e.key===N8&&(_6(e).length>0||J3(e)));if(t&&t.status!==`ready`){let e=`threads:${l5(t)}`,n=P5(t);if(P8===e&&j8.firstElementChild===n)return;j8.replaceChildren(n),P8=e;return}let n=[...e.ready,...e.noReviewNeeded].find(e=>e.key===N8&&e.status===`ready`);if(n){let e=`ready:${b8(n)}`,t=O5(n);if(P8===e)return;j8.replaceChildren(t),P8=e;return}let r=e.inReview.find(e=>e.key===N8);if(r){L8.reset(),j8.replaceChildren(A5(r)),P8=`inReview:${r.key}`;return}let i=e.queued.find(e=>e.key===N8);if(i){let t=`queued:${i.key}:${e.inReview.length}`;if(P8===t)return;j8.replaceChildren(k5(i,e.inReview.length)),P8=t;return}let a=[...e.noReviewNeeded,...e.attention,...e.posted,...e.discarded].find(e=>e.key===N8);a&&(j8.replaceChildren(P5(a)),P8=`${a.status}:${a.key}`)}function Vne(){let e=V(`p`,`pr-empty`,_8(T8));return T8&&!T8.configured&&e.append(` `,kW(i6,a6,`Open Team review settings`)),e}function I5(){let e=v8(T8);return e?[V(`p`,`my-pr-note`,e)]:[]}function Hne(e){for(let t of[...B8.keys()])e.has(t)||H8.has(t)||B8.delete(t);let t=new Set(T8?.drafts.filter(e=>Q6(e.status)).map(e=>e.key)??[]);for(let e of V8.keys())t.has(e)||H8.has(e)||V8.delete(e)}function Une(){if(!E8||!D8||k8?.isConnected)return;let e=c4({queueLabel:`Review queue`,scopeTabs:D8,resizerLabel:`Resize review queue`});k8=e.queue,j8=e.detail,E8.replaceChildren(e.columns),P8=null,A8=null}function L5(e){if(!e)return;O8&&(e.insertBefore(O8.control,e.querySelector(`.pr-queue-toggle`)),O8.update(T8)),e.querySelector(`.pr-team-chip`)?.remove();let t=T8?.team;if(!t)return;let n=V(`span`,`pr-team-chip`);n.append(_d({login:t.slug,url:t.avatarUrl,cssPx:16}),V(`span`,null,t.name)),e.insertBefore(n,e.querySelector(`.pr-queue-toggle`))}function R5(){let e=document.activeElement;return!(e instanceof HTMLElement)||!k8?.contains(e)?null:e.dataset.reviewKey??null}function z5(e){e&&k8&&[...k8.querySelectorAll(`button[data-review-key]`)].find(t=>t.dataset.reviewKey===e)?.focus({preventScroll:!0})}function B5(){if(!E8)return;let e=R5(),t=m6(T8);if(Hne(new Set([...t.ready,...t.noReviewNeeded].map(e=>e.key))),R8.reset(),!T8?.configured||!D6(t)){I8.reset(),L8.reset();let e=s4(D8);L5(e),E8.replaceChildren(e,...O8?[O8.notice]:[],...I5(),Vne()),O8?.update(T8),k8=null,A8=null,j8=null,M8=null,P8=null;return}if(Une(),!k8)return;L5(E8.querySelector(`.pr-queue-head`)),N8=O6(t,N8);let n=e6(t),r=JSON.stringify([t,n,N8,v8(T8)]);if(r===A8){O8?.update(T8),F5(t),X8(E8);return}A8=r,I8.reset();let i=[],a=$3(t);a&&i.push(a5(a)),t.ready.length&&i.push(o5(`Ready`,t.ready,`ready`,n)),t.inReview.length&&(M8=o5(`In review`,t.inReview,`inReview`,n),i.push(M8)),t.queued.length&&i.push(o5(`Queued`,t.queued,`queued`,n)),t.noReviewNeeded.length&&i.push(o5(`Already reviewed`,t.noReviewNeeded,`settled`,n)),t.handReview.length&&i.push(i5(t.handReview,n)),t.attention.length&&i.push(o5(`Needs attention`,t.attention,`attention`,n)),t.posted.length&&i.push(o5(`Waiting on author`,t.posted,`posted`,n)),t.discarded.length&&i.push(o5(`Discarded`,t.discarded,`discarded`,n)),k8.replaceChildren(...O8?[O8.notice]:[],...I5(),...i),O8?.update(T8),z5(e),F5(t),X8(E8)}function V5(){F8&&F8(U8.refresh())}function Wne(){U8.acknowledge(),V5()}function Gne(e){F8=e,V5()}function Kne(e,t){return E8||(D8=t,E8=V(`div`,`pr-content`),e.append(E8),O8=_3(`team-review`,E8),I8.ensure(),L8.ensure(),R8.ensure(),B5(),E8)}function qne(e){let t=xl.safeParse(e);if(!t.success)return;let n=T8;T8=t.data,!(S8(n,t.data)&&Jne())&&(B5(),V5())}function Jne(){if(!T8||!M8?.isConnected)return!1;I8.reset(),R8.reset();let e=R5(),t=m6(T8),n=o5(`In review`,t.inReview,`inReview`,e6(t));return M8.replaceWith(n),M8=n,z5(e),t.inReview.some(e=>e.key===N8)&&F5(t),X8(E8),!0}function Yne(e){if(!e||typeof e!=`object`)return;let t=e;if(typeof t.key!=`string`)return;let n=H8.get(t.key);if(!n||n.requestId!==t.requestId)return;if(window.clearTimeout(n.timer),H8.delete(t.key),n.action===`resolve-thread`){n.settle?.(t.ok===!0,typeof t.error==`string`?t.error:h8(n.action)),V8.delete(t.key),P8=null,t.ok===!0&&B5();return}let r=(n.origin===`ready`?B8:V8).get(t.key);if(r){if(t.ok===!0){n.origin===`other`&&V8.delete(t.key),r.settle(!0,typeof t.warning==`string`&&t.warning?`${h8(n.action)}. ${t.warning}`:h8(n.action));return}r.settle(!1,typeof t.error==`string`&&t.error?t.error:`The action failed.`)}}var Xne={mine:`Mine`,run:`Run`,cancel:`Cancel`},Zne={mine:`Mining merged pull requests.`,run:`Starting the run.`,cancel:`Cancelling the run.`},H5=null,U5=null,W5=null,G5=0,K5=new Map,q5=new Map;function J5(e){return e===null?`n/a`:`${Math.round(e*100)}%`}function Qne(e){if(e===null)return`n/a`;let t=Math.round(e*100);return t>0?`+${t}`:String(t)}function $ne(e,t){if(G5+=1,W5?.({type:`benchmark-action`,requestId:`benchmark-${G5}`,suiteId:e,action:t})!==!0){q5.set(e,`Not connected.`),Z5();return}K5.set(e,t),q5.set(e,Zne[t]),Z5()}function Y5(e,t,n){let r=V(`button`,`bench-action-button`,Xne[t]);return r.type=`button`,r.disabled=n,r.addEventListener(`click`,()=>$ne(e.id,t)),r}function ere(e){let t=U5?.inFlight;if(!t||t.suiteId!==e.id)return``;let n=t.caseId?`case ${t.caseId}, `:``;return`Cell ${t.cellIndex+1} of ${t.cellCount}: ${n}arm ${t.armId}, trial ${t.trial}, ${t.phase}.`}function X5(e){let t=V(`td`,`bench-score`,J5(e?.recall??null));return e&&e.invalid>0&&(t.title=`${e.invalid} invalid or failed cell(s)`),e&&e.degraded>0&&(t.dataset.degraded=`true`),t}function tre(e){let t=e.armIds.filter(t=>t!==e.baselineArm),n=V(`table`,`bench-table`),r=V(`tr`);r.append(V(`th`,null,`Case`),...e.armIds.map(t=>V(`th`,null,t===e.baselineArm?`${t} (baseline)`:t))),r.append(...t.map(e=>V(`th`,null,`${e} vs baseline`))),n.append(r);for(let r of e.rows){let i=V(`tr`);i.append(V(`td`,`bench-case`,r.caseId),...e.armIds.map(e=>X5(r.arms[e]))),i.append(...t.map(e=>V(`td`,`bench-delta`,Qne(r.deltaVsBaseline[e]??null)))),n.append(i)}let i=[...new Set(e.armIds.flatMap(t=>Object.keys(e.totals[t]?.recallByTag??{})))].sort(),a=V(`tr`,`bench-total`);a.append(V(`td`,`bench-case`,`Paired recall`),...e.armIds.map(t=>X5(e.totals[t]))),n.append(a);for(let t of i){let r=V(`tr`,`bench-total`);r.append(V(`td`,`bench-case`,`Recall, ${t}`),...e.armIds.map(n=>V(`td`,`bench-score`,J5(e.totals[n]?.recallByTag[t]??null)))),n.append(r)}return n}function nre(e){let t=V(`div`,`bench-suite`),n=U5?.inFlight?.suiteId===e.id,r=!!U5?.inFlight&&!n,i=K5.has(e.id),a=V(`div`,`bench-summary`);a.append(V(`span`,`bench-suite-title`,e.title),Ed(`bench`,e.caseCount===1?`case`:`cases`,String(e.caseCount)),Ed(`bench`,e.candidateCount===1?`candidate`:`candidates`,String(e.candidateCount)),Ed(`bench`,`arms`,String(e.armIds.length))),t.append(a);let o=V(`div`,`bench-controls`),s=U5?.configured===!0&&e.error===null;o.append(Y5(e,`mine`,!s||i||n),Y5(e,`run`,!s||i||n||r||e.caseCount===0),Y5(e,`cancel`,i||!n));let c=V(`span`,`bench-status`,ere(e)||q5.get(e.id)||``);if(c.setAttribute(`role`,`status`),o.append(c),t.append(o),e.error)return t.append(V(`p`,`bench-error`,e.error)),t;let l=e.latestReport;return l?(t.append(V(`p`,`bench-run-line`,`Latest run ${l.runId}: ${l.status}. Only cases every arm scored count toward paired recall.`)),l.rows.length>0&&t.append(tre(l)),t):(t.append(V(`p`,`bench-empty`,e.caseCount===0?`Move approved candidates into the cases folder, then choose Run.`:`No run yet.`)),t)}function Z5(){if(!H5)return;H5.textContent=``;let e=Td(`bench`,`Benchmarks`,`Suites from the benchmarks folder of the Glimmervoid home, one run at a time.`);if(H5.append(e),!U5){H5.append(V(`p`,`bench-empty`,`Waiting for the server.`));return}if(!U5.configured){H5.append(V(`p`,`bench-empty`,U5.reason||`Benchmarks are off.`));return}if(U5.suites.length===0){H5.append(V(`p`,`bench-empty`,`No suites yet. Create a folder holding suite.json under benchmarks in the Glimmervoid home.`));return}for(let e of U5.suites)H5.append(nre(e))}function rre(e){W5=e}function ire(e){return H5||(H5=V(`div`,`bench-content`),e.append(H5),Z5(),H5)}function are(e){if(!(e||K5.size===0)){for(let e of K5.keys())q5.set(e,`Connection lost.`);K5.clear(),Z5()}}function ore(e){U5=e,Z5()}function sre(e){K5.delete(e.suiteId);let t=U5?.suites.find(t=>t.id===e.suiteId)?.candidateCount??0,n={mine:`Mining finished. ${t} candidate${t===1?``:`s`} awaiting approval in the candidates folder.`,run:`Run ${e.runId??``} started.`,cancel:`Run cancelled.`};q5.set(e.suiteId,e.ok?n[e.action]:e.error||`The server refused the action.`),Z5()}function cre(e){return{open:e.length,labeled:e.filter(e=>e.labels.length>0).length}}function Q5({hasProjects:e}){return e?`Press Refresh to load open issues.`:`No projects configured. Add a project in Settings.`}var $5=45e3,e7=null,t7=[],n7=``,r7=null,i7=null,a7=0,o7=new Map,s7=new Map,c7=new Map,l7=new Map;function u7(e){return a7+=1,`${e}-${a7}`}function d7(){i7&&=(clearTimeout(i7.timeoutHandle),null)}function lre(e){i7?.projectId===e&&(i7=null,l7.set(e,`No reply from the server. Press Refresh to try again.`),p7())}function ure(e){let t=s7.get(e);t&&(s7.delete(e),c7.set(f7(t.projectId,t.issueNumber),`No reply from the server.`),p7())}function dre(e){let t=s7.get(e);return t?(clearTimeout(t.timeoutHandle),s7.delete(e),t):null}function f7(e,t){return`${e}:${t}`}function fre(e){let t=Date.parse(e);return Number.isFinite(t)?`updated ${RN(t)}`:`updated unknown`}function pre(e,t){let n=V(`div`,`issue-row`),r=V(`span`,`issue-number`,`#${t.number}`),i=bd(`issue-title`,t.title||`Untitled issue`,t.url),a=V(`span`,`issue-age`,fre(t.updatedAt));n.append(r,i,a);let o=V(`div`,`issue-labels`);for(let e of t.labels){let t=V(`span`,`issue-label-chip`,e.name);e.color&&t.style.setProperty(`--issue-label-color`,`#${e.color}`),o.append(t)}t.labels.length>0&&n.append(o);let s=V(`div`,`issue-action`),c=V(`button`,`issue-open-button`,`Open session`);c.type=`button`;let l=f7(e,t.number);c.disabled=[...s7.values()].some(n=>n.projectId===e&&n.issueNumber===t.number),c.addEventListener(`click`,()=>{let n=u7(`open-issue-session`);if(!r7?.({type:`open-issue-session`,requestId:n,projectId:e,issueNumber:t.number})){c7.set(l,`Not connected.`),p7();return}s7.set(n,{projectId:e,issueNumber:t.number,timeoutHandle:setTimeout(()=>ure(n),$5)}),c7.set(l,`Opening session.`),p7()});let u=V(`span`,`issue-open-status`,c7.get(l)||``);return u.setAttribute(`role`,`status`),s.append(c,u),n.append(s),n}function mre(e,t){let n=V(`div`,`issues-project`),r=cre(t.issues),i=V(`div`,`issues-summary`);if(i.append(Ed(`issues`,r.open===1?`open issue`:`open issues`,String(r.open)),Ed(`issues`,`labeled`,String(r.labeled)),V(`span`,`issues-refreshed`,`refreshed ${RN(t.ts)}`)),n.append(i),t.error)return n.append(V(`p`,`issues-error`,t.error)),n;if(t.issues.length===0)return n.append(V(`p`,`issues-empty`,`No open issues.`)),n;let a=V(`div`,`issue-rows`);for(let n of t.issues)a.append(pre(e,n));return n.append(a),n}function p7(){if(!e7)return;e7.textContent=``;let e=Td(`issues`,`GitHub issues`,`Open issues ordered by last update on GitHub.`),t=V(`div`,`issues-controls`),n=V(`select`,`issues-project-picker`);n.setAttribute(`aria-label`,`GitHub issues project`);for(let e of t7){let t=V(`option`,null,e.name);t.value=e.id,t.selected=e.id===n7,n.append(t)}n.disabled=t7.length===0,n.addEventListener(`change`,()=>{n7=n.value,p7()});let r=V(`button`,`issues-refresh-button`,`Refresh`);r.type=`button`,r.disabled=!n7||i7?.projectId===n7,r.addEventListener(`click`,()=>{if(!n7)return;let e=n7,t=u7(`request-issues`);if(d7(),!r7?.({type:`request-issues`,requestId:t,projectId:e})){o7.set(e,{issues:[],error:`Not connected.`,ts:Date.now()}),p7();return}l7.delete(e),i7={projectId:e,timeoutHandle:setTimeout(()=>lre(e),$5)},p7()});let i=V(`span`,`issues-refresh-status`,i7?.projectId===n7?`Loading issues.`:l7.get(n7)||``);if(i.setAttribute(`role`,`status`),t.append(n,r,i),e.append(t),e7.append(e),t7.length===0){e7.append(V(`p`,`issues-placeholder`,Q5({hasProjects:!1})));return}let a=o7.get(n7);if(!a){e7.append(V(`p`,`issues-placeholder`,Q5({hasProjects:!0})));return}e7.append(mre(n7,a))}function hre(e){r7=e}function gre(e){return e7||(e7=V(`div`,`issues-content`),e.append(e7),p7(),e7)}function _re(e){if(!e){for(let e of s7.values())clearTimeout(e.timeoutHandle),c7.set(f7(e.projectId,e.issueNumber),`Connection lost.`);s7.clear(),i7&&l7.set(i7.projectId,`Connection lost.`),d7(),p7()}}function vre(e){t7=e,t7.some(e=>e.id===n7)||(n7=t7[0]?.id||``),p7()}function yre(e){o7.set(e.projectId,{issues:e.issues,error:e.error||``,ts:e.ts}),l7.delete(e.projectId),i7?.projectId===e.projectId&&d7(),p7()}function bre(e){if(typeof e.requestId!=`string`)return;let t=dre(e.requestId);if(!t)return;let n=f7(t.projectId,t.issueNumber);if(e.ok===!0){let r=typeof e.sessionName==`string`?e.sessionName:`issue #${t.issueNumber}`,i=e.pending===!0?` Prompt queued.`:``;c7.set(n,`Session "${r}" created.${i}`),p7();return}let r=typeof e.error==`string`&&e.error?e.error:`Could not open session.`;c7.set(n,r),p7()}function m7(e,t){let n=document.createElement(`div`);n.className=`pr-scope-tabs`,n.setAttribute(`role`,`tablist`),n.setAttribute(`aria-label`,`Reviews scope`);let r=[`team`,`mine`];for(let i of r){let a=document.createElement(`button`);a.className=`pr-scope-tab`,a.type=`button`,a.setAttribute(`role`,`tab`),a.setAttribute(`aria-selected`,String(i===e)),a.tabIndex=i===e?0:-1,a.textContent=i===`team`?`Team`:`Mine`,a.addEventListener(`click`,()=>t(i,!1)),a.addEventListener(`keydown`,e=>{if(e.key===`ArrowLeft`){e.preventDefault(),t(r[(r.indexOf(i)+r.length-1)%r.length],!0);return}e.key===`ArrowRight`&&(e.preventDefault(),t(r[(r.indexOf(i)+1)%r.length],!0))}),n.append(a)}return n}function h7(){jF()===`team`&&Wne()}function xre(e){let t=(e,t)=>{if(o(e),h7(),!t)return;let s=(e===`team`?n:r).querySelector(`[aria-selected="true"]`);if(s&&s.getClientRects().length>0){s.focus();return}(e===`team`?i:a).querySelector(`.pr-queue-toggle`)?.focus()},n=m7(`team`,t),r=m7(`mine`,t),i=document.createElement(`div`);i.className=`pr-mode-root`;let a=document.createElement(`div`);a.className=`pr-mode-root`,e.append(i,a),Kne(i,n),D3(a,r);function o(e){o4(),i.hidden=e!==`team`,a.hidden=e!==`mine`,MF(e)}o(jF())}var Sre=4e3;function Cre({render:e,holdMs:t=Sre,setTimer:n=setTimeout,clearTimer:r=clearTimeout}){let i=new Set,a=!1,o=null;function s(e){(o===null||e)&&(o!==null&&r(o),o=n(c,t))}function c(){if(o=null,i.size>0){s(!1);return}a&&(a=!1,e())}return{begin(e){i.add(e)},settle(e){i.delete(e),s(!0)},request(){if(i.size===0&&o===null){e();return}a=!0,s(!1)},_state(){return{pending:i.size,held:a,armed:o!==null}}}}var g7=null,_7=null,v7=null,y7=null,b7=`http://www.w3.org/2000/svg`,x7=WE({getAck:VF,setAck:HF,signature:()=>VD({posthog:g7}),isLooking:()=>!Od(_7)}),S7=Cre({render:V7}),C7=new Set,w7=null,T7=new Map,E7=BN(()=>_7),wre={spiking:`spiking`,regressed:`regressed`,worsened:`worsened`,new:`new`,quiet:`quiet`},D7=[{columnId:`stripe`,headText:``,cellClass:`radar-stripe`,track:`auto`,phoneTrack:`auto`,isMagnitude:!1,startsActionCluster:!1},{columnId:`change`,headText:``,cellClass:`radar-change`,track:`auto`,phoneTrack:`minmax(68px, auto)`,isMagnitude:!1,startsActionCluster:!1},{columnId:`copy`,headText:``,cellClass:`radar-issue-copy`,track:`minmax(0, 1fr)`,phoneTrack:`minmax(0, 1fr)`,isMagnitude:!1,startsActionCluster:!0},{columnId:`occurrences`,headText:`Occurrences`,cellClass:`radar-metric`,track:`max-content`,phoneTrack:``,isMagnitude:!0,startsActionCluster:!1},{columnId:`users`,headText:`Users`,cellClass:`radar-metric`,track:`max-content`,phoneTrack:``,isMagnitude:!0,startsActionCluster:!1},{columnId:`trend`,headText:`Trend`,cellClass:`radar-issue-trend`,track:`max-content`,phoneTrack:``,isMagnitude:!0,startsActionCluster:!1}],Tre=D7.map(e=>e.track).join(` `),Ere=D7.filter(e=>!e.isMagnitude).map(e=>e.phoneTrack).join(` `),Dre=D7.findIndex(e=>e.startsActionCluster)+1;function O7(e){let t=V(`div`,e);return t.style.setProperty(`--radar-issue-grid`,Tre),t.style.setProperty(`--radar-issue-grid-phone`,Ere),t.style.setProperty(`--radar-issue-actions-start`,String(Dre)),t}function k7(e,t){let n=V(`span`,`radar-issue-magnitudes`),r=!1;for(let i of D7){let a=t(i);if(!i.isMagnitude){e.append(a);continue}r||=(e.append(n),!0),n.append(a)}}function A7(e){return Number.isFinite(e)?String(e):`0`}function Ore(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?``:`elapsed ${LN(Date.now()-e)}`}function j7(e){return typeof e?.issueId==`string`?e.issueId:``}function M7(e,t){return[String(e??``),String(t??``)].join(`::`)}function kre(e,t,n){let r=T7.get(M7(e,t));if(!r||!r.copy.isConnected)return!1;let i=rD(n);return i?(r.summary||(r.summary=V(`span`,`radar-issue-summary`),r.copy.insertBefore(r.summary,r.copy.querySelector(`.radar-issue-meta`))),r.summary.textContent=i,!0):(r.summary?.remove(),r.summary=null,!0)}function N7(e,t,n){let r=j7(e);if(!r)return;w7?.dialog.close();let i=GN({issueTitle:String(e.title||r),projectLabel:n,onOpenReport:()=>F7(e)});w7={projectId:String(t??``),issueId:r,dialog:i},i.update(iD(e))}function P7(){if(!w7)return;if(!w7.dialog.isOpen()){w7=null;return}let e=aD(g7,w7.projectId,w7.issueId);e&&w7.dialog.update(iD(e))}function F7(e){let t=j7(e);t&&fd(`get-posthog-report`,{issueId:t}).then(n=>{if(!n.ok){WN({issueId:t,issueTitle:String(e.title??``),error:String(n.error||`Could not read report`)});return}if(!n.found){WN({issueId:t,issueTitle:String(e.title??``),message:String(n.message||`Report not found`)});return}WN({issueId:t,issueTitle:String(e.title??``),format:String(n.format??``),content:String(n.content||``)})}).catch(n=>{WN({issueId:t,issueTitle:String(e.title??``),error:String(n?.message||`Could not read report`)})})}function I7(){let e=V(`div`,`radar-issue-actions`),t=V(`span`,`radar-issue-action-status`);t.setAttribute(`role`,`status`),e.append(t);let n=[],r=null,i=()=>{r?.remove(),r=null},a=t=>{i(),r=t,e.append(t)},o=e=>{for(let t of n)t.disabled=e};return{addButton:(r,i,a)=>{let o=V(`button`,`radar-issue-action`,r);return o.type=`button`,o.title=i,o.addEventListener(`click`,e=>{e.stopPropagation(),a()}),n.push(o),e.insertBefore(o,t),o},request:(e,n,r,a,s,c=null)=>{S7.begin(e),o(!0),i(),t.dataset.tone=`busy`,t.textContent=a;let l=(n,r)=>{o(!1),i(),t.dataset.tone=n,t.textContent=r,S7.settle(e)};fd(n,r).then(e=>{if(!e.ok){l(`error`,String(e.error||`Request failed`));return}l(`ok`,s(e)),c&&c(e)}).catch(e=>l(`error`,String(e?.message||`Request failed`)))},showFollowUp:a,wrap:e}}function Are(e){let t=V(`button`,`radar-issue-action radar-open-trace`,`Open trace`);return t.type=`button`,t.title=`Open the session trace`,t.addEventListener(`click`,t=>{t.stopPropagation(),Ure(e)}),t}function jre(e,t,n){let{addButton:r,request:i,showFollowUp:a,wrap:o}=I7(),s=(n,r,a,o,s=null)=>i(`${n}:${e.issueId}`,n,{projectId:t,issueId:e.issueId,...r},a,o,s);return e.inFlight&&r(`View investigation`,`Watch the running investigation`,()=>N7(e,t,n)),e.inFlight||r(`Open session`,`Paste an investigation prompt into the mapped project session`,()=>{s(`posthog-open-session`,{},`Opening session`,e=>e.pending?`Starting ${String(e.sessionName||`session`)}; the prompt lands when it is up`:`Prompt pasted into ${String(e.sessionName||`the session`)}; press Enter there`,e=>{typeof e.sessionId==`string`&&y7&&a(Are(e.sessionId))})}),r(`Resolve`,`Mark this issue resolved in PostHog`,()=>{s(`posthog-issue-action`,{action:`resolve`},`Resolving in PostHog`,()=>`Marked resolved`)}),r(`Suppress`,`Suppress this issue in PostHog`,()=>{s(`posthog-issue-action`,{action:`suppress`},`Suppressing in PostHog`,()=>`Marked suppressed`)}),o}function L7(e,t,n){e.classList.add(`radar-issue-reportable`),e.tabIndex=0,e.setAttribute(`role`,`button`),e.setAttribute(`aria-label`,t),e.title=t,e.addEventListener(`click`,e=>{e.target instanceof Element&&(e.target.closest(`a, button`)||n())}),e.addEventListener(`keydown`,t=>{t.target===e&&(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),n())})}function Mre(e,t,n){let r=V(`div`,`radar-issue`);r.dataset.severity=vD(e.change);let i=V(`span`,`radar-stripe`);i.setAttribute(`aria-hidden`,`true`);let a=V(`span`,`radar-change`,wre[e.change??``]||String(e.change||`unknown`)),o=bd(`radar-issue-title`,String(e.title||`Untitled issue`),e.url,String(e.title||``)),s=V(`span`,`radar-metric`);s.append(V(`span`,`radar-metric-value`,A7(e.occurrences)),V(`span`,`radar-metric-label`,`occ`));let c=V(`span`,`radar-metric`);c.append(V(`span`,`radar-metric-value`,A7(e.users)),V(`span`,`radar-metric-label`,`users`));let l=SD(e.history),u=CD(l,64,16),d=u?document.createElementNS(b7,`svg`):null;if(d){d.classList.add(`radar-sparkline`),d.setAttribute(`viewBox`,`0 0 64 16`),d.setAttribute(`width`,`64`),d.setAttribute(`height`,`16`),d.setAttribute(`role`,`img`),d.setAttribute(`focusable`,`false`);let e=document.createElementNS(b7,`title`);e.textContent=TD(l);let t=document.createElementNS(b7,`polyline`);t.setAttribute(`points`,u),d.append(e,t)}let f=rD(e),p=V(`span`,`radar-issue-copy`);p.append(o);let m=null;f&&(m=V(`span`,`radar-issue-summary`),m.textContent=f,p.append(m)),T7.set(M7(t,e.issueId),{copy:p,summary:m});let h=V(`span`,`radar-issue-meta`),g=yD(e);if(g!==null){let e=V(`span`,`radar-issue-seen`);e.title=new Date(g).toLocaleString(),E7.track(e,g,RN),h.append(e)}let _=bD(e);_&&h.append(V(`span`,`radar-issue-status`,_));let v=String(e.title||e.issueId);if(e.inFlight){let i=V(`span`,`radar-verdict`,`investigating`);i.dataset.verdict=`INVESTIGATING`,h.append(i);let a=typeof e.startedAt==`number`?e.startedAt:null;if(a!==null&&Number.isFinite(a)&&a>0){let e=V(`span`,`radar-issue-elapsed`);E7.track(e,a,Ore),h.append(e)}j7(e)&&L7(r,`Watch the investigation of ${v}`,()=>N7(e,t,n))}if(!e.inFlight&&e.verdict){let t=V(`span`,`radar-verdict`,uD(e.verdict));t.dataset.verdict=e.verdict,h.append(t),j7(e)&&L7(r,`View investigation report for ${v}`,()=>F7(e))}h.childElementCount>0&&p.append(h);let y=V(`span`,`radar-issue-trend`);d&&y.append(d);let b=wD(l);if(b){let e=V(`span`,`radar-delta`,`${b.direction===`up`?`+`:b.direction===`down`?`-`:`=`}${b.percent}%`);e.dataset.direction=b.direction,y.append(e)}let x={stripe:i,change:a,copy:p,occurrences:s,users:c,trend:y};return k7(r,e=>x[e.columnId]),j7(e)&&r.append(jre(e,t,n)),r}var R7=(e,t,n)=>Ed(`radar`,e,t,n);function Nre(e){return e.error?`poll failed: ${e.error}`:e.staleMs>0?`stale ${LN(e.staleMs)}`:``}function z7(e,t,{showHost:n,nameTag:r,nameClass:i,hostClass:a}){let o=V(r,i,AD(t));o.title=String(t.name||``),e.append(o);let s=n?jD(t.host):``;s&&e.append(V(`span`,a,s))}function Pre(){let e=O7(`radar-column-heads`);for(let t of D7){if(!t.headText){e.append(V(`span`));continue}let n=V(`span`,`radar-column-head`,t.headText);n.dataset.column=t.columnId,e.append(n)}return e}function Fre(e,t){let n=e.project,r=V(`div`,`radar-project`),i=UD(n.issues),a=ED(i),o=V(`div`,`radar-project-head`);z7(o,n,{showHost:t,nameTag:`h3`,nameClass:`radar-project-name`,hostClass:`radar-project-host`}),r.append(o);let s=V(`div`,`radar-project-summary`);s.append(R7(a.active===1?`active issue`:`active issues`,A7(a.active))),s.append(R7(`spiking`,A7(a.spiking),a.spiking>0?`crit`:null)),s.append(R7(`needs you`,A7(a.needsHuman),a.needsHuman>0?`warn`:null));let c=Nre(e);if(c){let t=V(`span`,`radar-project-alert`,c);t.dataset.tone=e.error?`crit`:`warn`,s.append(t)}if(r.append(s),i.length===0)return r;r.append(Pre());let l=O7(`radar-issues`);for(let e of i)l.append(Mre(e,n.projectId,AD(n)));return r.append(l),r}function Ire(e,t){let n=e.project,r=V(`div`,`radar-quiet-row`),i=V(`span`,`radar-quiet-dot`);return i.setAttribute(`aria-hidden`,`true`),r.append(i),z7(r,n,{showHost:t,nameTag:`span`,nameClass:`radar-quiet-name`,hostClass:`radar-quiet-host`}),r.append(V(`span`,`radar-quiet-count`,`0 issues`)),r}var B7=(e,t)=>Td(`radar`,e,t);function Lre(){let e=V(`div`,`radar-issue`);return e.dataset.skeleton=``,k7(e,e=>V(`span`,e.cellClass)),e}function Rre(){let e=O7(`radar-issues`);e.setAttribute(`aria-busy`,`true`),e.setAttribute(`aria-label`,`Loading issues`);for(let t=0;t<5;t+=1)e.append(Lre());return e}function zre(e,t=`ready`){let n=B7(`Errors`);if(t===`pending`)return n.append(Rre()),n;if(t===`placeholder`||e.length===0){let e=V(`p`,`radar-unconfigured`,hD(g7)),t=kW(`lanes-posthog`,`posthog-enabled`,`PostHog settings`);return e.append(document.createTextNode(` `),t),n.append(e),n}let r=V(`div`,`radar-global-tick`),i=Number(g7?.intervalMinutes);E7.track(r,g7?.ts,e=>{let t=`polled ${RN(e)}`;return!Number.isFinite(i)||i<=0?t:`${t}, every ${i}m`}),n.append(r);let a=i>0?i*6e4:0,{loud:o,quiet:s}=PD(e,Date.now(),{intervalMs:a}),c=MD(e);for(let e of o)n.append(Fre(e,c));if(s.length===0)return n;let l=V(`div`,`radar-quiet`);for(let e of s)l.append(Ire(e,c));return n.append(l),n}function Bre(e){let{addButton:t,request:n,wrap:r}=I7();return e.issueId&&t(`Open report`,`Open the investigation report for this issue`,()=>{F7({issueId:e.issueId,title:e.title})}),t(`Archive`,`Remove this investigation from the inbox`,()=>{n(`archive:${e.id}`,`posthog-archive-investigation`,{id:e.id},`Archiving`,()=>`Archived`,()=>C7.add(e.id))}),r}function Vre(e){let t=V(`div`,`radar-investigation`),n=V(`span`,`radar-verdict`,uD(e.verdict));n.dataset.verdict=e.verdict;let r=bd(`radar-issue-title`,e.title,e.url),i=V(`span`,`radar-issue-copy`);if(i.append(r),e.summaryLine){let t=V(`span`,`radar-issue-summary`);t.textContent=e.summaryLine,i.append(t)}if(e.prUrl){let t=V(`a`,`radar-investigation-pr`,`fix PR`);t.href=e.prUrl,t.target=`_blank`,t.rel=`noopener`,t.title=e.prUrl,i.append(t)}if(t.append(n),e.mode===`fix`){let e=V(`span`,`radar-verdict`,`fix`);e.dataset.mode=`fix`,t.append(e)}if(t.append(i),e.projectLabel){let n=V(`span`,`radar-investigation-project`);n.textContent=e.projectLabel,t.append(n)}if(e.at>0){let n=V(`span`,`radar-investigation-time`,RN(e.at));n.title=new Date(e.at).toLocaleString(),t.append(n)}return t.append(Bre(e)),t}function Hre(e){let t=B7(`Investigations`,`completed, not yet archived`),n=V(`div`,`radar-investigations`);for(let t of e)n.append(Vre(t));return t.append(n),t}function Ure(e){y7&&y7(e)}function V7(){if(!_7)return;_7.textContent=``,T7.clear(),E7.reset();let e=Dd(g7),t=FD(g7,C7),n=_D(g7,e.length);_7.append(zre(e,n)),t.length>0&&_7.append(Hre(t))}function H7(){S7.request()}function U7(){v7&&v7(x7.refresh())}function Wre(){x7.acknowledge(),U7()}function Gre(e){v7=e,U7()}function Kre(e){y7=e}function qre(e){if(_7)return _7;let t=V(`div`,`radar-content`);return e.appendChild(t),_7=t,E7.ensure(),V7(),t}function Jre(e){g7=e,ID(g7,C7),H7(),U7(),P7()}function Yre(e){let t=aD(g7,e.projectId,e.issueId)?.inFlight===!0;if(!oD(g7,e))return;P7();let n=aD(g7,e.projectId,e.issueId);t&&kre(e.projectId,e.issueId,n)||H7()}function Xre(e){w7?.dialog.isOpen()&&cD(w7,e)&&w7.dialog.update(sD(e))}function Zre(e){if(!lD(g7,e)){Xre(e);return}P7(),H7(),U7()}function Qre(e,t){return typeof t!=`string`||t===``?{knownBuild:e,reload:!1}:e==null?{knownBuild:t,reload:!1}:e===t?{knownBuild:e,reload:!1}:{knownBuild:t,reload:!0}}function $re(e){if(typeof e!=`object`||!e||!(`telemetry`in e))return!1;let{telemetry:t}=e;return typeof t!=`object`||!t||!(`enabled`in t)?!1:t.enabled===!0}function eie(e){return typeof e!=`object`||!e||!(`telemetryForcedOff`in e)?!1:e.telemetryForcedOff===!0}function tie(e,t){return t||eie(e)?!1:$re(e)}Bb(hF()),Vb(dF()),Hb(pF()),bY(_F()),Kd(),Ex(document);var W7=H(document,`#connection-status`,`span`),G7=H(W7,`.connection-label`,`span`),K7=H(document,`#loading-screen`,`div`),nie=H(document,`#loading-status`,`div`),q7=H(document,`#shutdown-screen`,`div`),J7=H(document,`#shutdown-status`,`div`),Y7=!1;function rie(){if(Y7)return;Y7=!0,document.body.classList.add(`app-ready`),K7.classList.add(`fade-out`);let e=()=>K7.remove();K7.addEventListener(`transitionend`,e,{once:!0}),setTimeout(e,1e3)}function X7(e){e&&(J7.textContent=e),q7.classList.add(`active`)}ud((e,t)=>{if(W7.dataset.state=e,G7.textContent=t,W7.title=t,KV(e===`connected`),XH(e===`connected`),_re(e===`connected`),are(e===`connected`),e===`connected`){if(q7.classList.contains(`active`)){location.reload();return}rie(),Y9(),o9(),a9(),fd(`get-settings`,{}).then(e=>{e.settings&&(zH(e.settings),K1(e.settings),yK(e.settings),H9(e.settings),u9(e.settings),Vd()===`settings`&&v9(location.hash))}).catch(()=>{});return}if(e===`disconnected`&&q7.classList.contains(`active`)){J7.textContent=`Waiting for server...`;return}Y7||(nie.textContent=`Reconnecting to server...`)});function Z7(){q2(),JM(),$7()}var Q7=!1;function $7(){sN(Q7&&GU()&&!qd(),qU())}var e9=null;function iie(e){let t=Qre(e9,e);e9=t.knownBuild,t.reload&&location.reload()}function aie(e){pK(new Map(e.filter(e=>!e.ephemeral).map(e=>[e.id,e.name]))),e0(e.filter(e=>!e.ephemeral).map(e=>({id:e.id,name:e.name,agent:e.agent,permissionMode:e.dangerouslySkipPermissions?`Skip permissions`:`Default`}))),vre(e.filter(e=>!e.ephemeral).map(e=>({id:e.id,name:e.name})));for(let t of e){t.ephemeral||dI(t.path);let e=IH(t.id);e&&gU(t.id,t.state,t.stateSince),e||VH(t.id,t.name,t.state,{skipPerms:!!t.dangerouslySkipPermissions,worktree:!!t.isWorktree,workspace:!!t.isWorkspace,path:t.path,stateSince:t.stateSince}),FH(t.id,t.taskTitle,t.taskTitleIsCustom),QH(t.id,t.agent),uU(t.id,t.mergeStatus,t.mergeReason),ZH(t.id,t.effectiveBase),nU(t.id,t.activeAgents,t.awaitingBackgroundTasks),tU(t.id,t.hasEndedTurn),oU(t.id,t.pendingWakeup),iU(t.id,t.pendingPromptKind,t.pendingPromptDetail),GH(t.id,t.hasPlan),i9(t.id)}BH(),$N(U),GU()&&(oW(),DW()),Z7(),t9(),y9(location.hash)}function t9(){VV([...U].map(([e,t])=>({id:e,name:Yd(t)||e})))}function n9(e,t){GH(e,t?.hasPlan===!0),i9(e)}function oie(e){if(!IH(e.id)){VH(e.id,e.session,e.to,{skipPerms:!!e.skipPerms,stateSince:e.timestamp}),$N(U);return}if(e.to===I.DORMANT&&e.from!==I.DORMANT){let t=U.get(String(e.id)),n=document.querySelector(`.session-card[data-id="${CSS.escape(String(e.id))}"]`),r=n instanceof HTMLElement?n:null,i=r?r.dataset.skipPerms!==void 0:!1,a=r?r.dataset.path:void 0;pU(e.id),VH(e.id,e.session,I.DORMANT,{skipPerms:i,path:a,stateSince:e.timestamp,taskTitle:t?.taskTitle,taskTitleIsCustom:t?.taskTitleIsCustom}),QH(e.id,t?.agent),n9(e.id,t),GU()&&oW(),Z7(),Vz(e.id),$N(U);return}gU(e.id,e.to,e.timestamp),e.hasEndedTurn!==void 0&&tU(e.id,e.hasEndedTurn),$N(U),Vz(e.id),GU()&&oW(),Z7(),yH(e.id),e.to===I.INITIALIZING&&(e.from===I.DONE||e.from===I.FAILED)&&wE(e.id)}var r9=new Map;function sie(e){let t=new Set;for(let n of e){if(!n?.id)continue;t.add(n.id);let e={tokens:n.tokens,costUSD:n.costUSD,officialCostUSD:n.officialCostUSD};r9.set(n.id,e),rU(n.id,e)}for(let e of[...r9.keys()])t.has(e)||(r9.delete(e),rU(e,null))}function i9(e){let t=r9.get(e);t&&rU(e,t)}dQ(B),jJ(B),RV(B),hre(B),rre(B);function cie(){return W2()?G2(`hooks`):Vd()===`hooks`}function a9(){cie()&&MJ()}function lie(){return W2()?G2(`usage`):Vd()===`usage`}function o9(){lie()&&fQ()}var uie={snapshot:e=>{iie(e.serverBuild),aie(e.sessions)},"hooks-report":e=>FJ(e),"save-hook-result":e=>IJ(e),"delete-hook-result":e=>LJ(e),"hooks-updated":()=>a9(),"state-change":e=>oie(e),"session-added":e=>{e.ephemeral||dI(e.path),IH(e.id)||(VH(e.id,e.session,e.state,{skipPerms:!!e.skipPerms,worktree:!!e.worktree,workspace:!!e.workspace,path:e.path,stateSince:e.stateSince,taskTitle:typeof e.taskTitle==`string`?e.taskTitle:null,taskTitleIsCustom:e.taskTitleIsCustom===!0}),QH(e.id,e.agent),i9(e.id)),$N(U),GU()&&oW(),Z7(),t9()},"session-removed":e=>{pU(e.id),Hz(e.id),$N(U),GU()&&oW(),Z7(),t9()},"session-title":e=>{FH(e.id,e.taskTitle,e.isCustom),GU()&&oW(),Z7()},"session-renamed":e=>{fU(e.id,e.newName),Z7(),t9()},"session-modified":e=>{e.ephemeral||dI(e.path);let t=U.get(String(e.id));pU(e.id),Hz(e.id),VH(e.id,e.session,e.state,{skipPerms:!!e.skipPerms,worktree:!!e.worktree,workspace:!!e.workspace,path:e.path,stateSince:e.stateSince,taskTitle:typeof e.taskTitle==`string`?e.taskTitle:null,taskTitleIsCustom:e.taskTitleIsCustom===!0}),QH(e.id,e.agent),n9(e.id,t),$N(U),GU()&&oW(),Z7(),t9()},"session-git":e=>$H(e.id,!!e.worktree),"session-agents":e=>{nU(e.id,e.activeAgents,e.awaitingBackgroundTasks),GU()&&oW(),Z7(),yH(e.id)},"session-wakeup":e=>oU(e.id,e.pendingWakeup),"session-prompt":e=>{iU(e.id,e.pendingPromptKind,e.pendingPromptDetail??null),Z7()},"session-merge-status":e=>{lU(e.id,e.mergeStatus,e.reason),xW(e.id,e.mergeStatus),Z7()},"session-worktree-blocked":e=>{Wx(`${e.session}: ${e.notice||`integration branch not found`}`,{persist:!0})},"session-worktree-warning":e=>{Wx(`${e.session}: ${e.notice||`base branch warning`}`)},"session-worktree-ready":e=>{ZH(e.id,e.base)},"session-diff":e=>{zM(e),dU(e.id,{committed:e.committed,uncommitted:e.uncommitted,hasCommits:e.hasCommits})},"change-map":e=>Fz(e.id,e.map),"branch-sync-status":e=>Rz(e.id,e),"session-changed":e=>Bz(e.id),"post-turn-result":e=>sU(e.id,e),"debug-state-response":e=>vH(e),"session-trace-response":e=>{Ine(e),UV(e)},"session-trace-changed":e=>WV(e),"session-plan-changed":e=>{KH(e),Z7()},"session-plan-draft":e=>{qH(e)},"session-plan-response":e=>{JH(e)},notify:e=>{qJ(e),yH(e.session)},"update-status":e=>{mie(e),Z1(e)},"update-progress":e=>Q1(e.journal),error:e=>{Lne(e),$1(),GV(e),YH(e),Wx(e.message,{persist:!0})},"session-error":e=>{YH(e),Wx(`${e.session}: ${e.message}`,{persist:!0})},"settings-updated":e=>{e.settings&&(zH(e.settings),K1(e.settings),yK(e.settings),H9(e.settings,{isLiveSettingsChange:!0}),u9(e.settings))},"health-snapshot":e=>{e.stats&&PI(e.stats)},"posthog-status":e=>Jre(e),"posthog-investigation-activity":e=>Yre(e),"posthog-investigation-finished":e=>Zre(e),"team-review-status":e=>qne(e),"my-prs-status":e=>O3(e),"benchmark-status":e=>ore(e),"benchmark-action-result":e=>sre(e),"my-pr-merge-result":e=>k3(e),"team-review-action-result":e=>Yne(e),"issues-report":e=>yre(e),"open-issue-session-result":e=>bre(e),"usage-sessions":e=>{sie(e.sessions),hQ(e),o9()},"usage-report":e=>{_Q(e),Y1()},"plan-limits":e=>gQ(e),"usage-budget-alert":e=>qJ({session:`budget-${e.scope}-${e.periodKey}`,category:`threshold-${e.threshold}`,message:e.text,ignoreFocus:!0}),"visions-findings":e=>MK(e),"visions-comments":e=>NK(e),"visions-hand":e=>PK(e),"visions-intent":e=>FK(e),"visions-fix":e=>jK(e),"visions-snapshot":e=>RK(e),"ingest-activity":e=>IK(e),"ingest-snapshot":e=>LK(e),"client-trust":e=>Pie(e.trust),"shutting-down":()=>{W7.dataset.state=`shutdown`,G7.textContent=`Shutting down...`,W7.title=`Shutting down...`,H(document,`#btn-power`,`button`).disabled=!0,X7(`Shutting down sessions...`)},restarting:()=>{W7.dataset.state=`shutdown`,G7.textContent=`Restarting...`,W7.title=`Restarting...`,H(document,`#btn-power`,`button`).disabled=!0,X7(`Restarting server...`)}};function die(e){let t=uie[e.type];t&&t(e)}dd(e=>{die(e)});var s9=!1,fie=kW(JE,YE,`Update`).href;function pie(e){let{latestSha:t,latest:n}=e;return typeof n==`string`&&n?n:typeof t==`string`&&t?t:null}function mie(e){let t=H(document,`#update-banner`,`div`);if(!e.updateAvailable){t.hidden=!0;return}if(s9)return;let n=pie(e);if(n&&LF()===n)return;let r=String(e.command??``);H(document,`#update-banner-text`,`span`).textContent=zD(e),H(document,`#update-banner-cmd`,`code`).textContent=r;let i=AQ(e),a=H(document,`#update-banner-update`,`a`);a.href=fie,a.hidden=i!==`link`;let o=H(document,`#update-banner-cmd`,`code`);o.hidden=i!==`command`;let s=H(document,`#update-banner-copy`,`button`);s.hidden=i!==`command`;let c=H(document,`#update-banner-copy-status`,`span`);c.hidden=i!==`command`,c.textContent=``;let l=H(document,`#update-banner-link`,`a`);l.hidden=!e.releaseUrl,l.href=typeof e.releaseUrl==`string`?e.releaseUrl:``,t.hidden=!1,s.onclick=()=>{let e=kd(r);if(!e){c.textContent=`Copy failed`;return}e.then(()=>{c.textContent=`Copied`}).catch(()=>{c.textContent=`Copy failed`})},H(document,`#update-banner-dismiss`,`button`).onclick=()=>{s9=!0,RF(n),t.hidden=!0}}var c9=H(document,`#telemetry-banner`,`div`);function l9(){BF(!0),c9.hidden=!0}function u9(e){c9.hidden=!tie(e,zF())}var d9=H(document,`#telemetry-banner-settings`,`a`);d9.href=kW(`privacy`,`telemetry-enabled`,`Open settings`).href,d9.addEventListener(`click`,l9),H(document,`#telemetry-banner-dismiss`,`button`).addEventListener(`click`,l9),H(document,`#btn-add-session-header`,`button`).addEventListener(`click`,UN);var f9=H(document,`#btn-mute`,`button`);function p9(){f9.setAttribute(`aria-pressed`,String(!aF()))}p9(),f9.addEventListener(`click`,()=>{oF(!aF()),p9()});var m9=H(document,`#power-menu`,`div`),h9=H(document,`#btn-power`,`button`);function g9(){h9.setAttribute(`aria-expanded`,m9.classList.contains(`open`)?`true`:`false`)}h9.addEventListener(`click`,e=>{e.stopPropagation(),m9.classList.toggle(`open`),g9()}),document.addEventListener(`click`,e=>{e.target instanceof Node&&(m9.contains(e.target)||(m9.classList.remove(`open`),g9()))}),wd(document.querySelector(`.header`));function hie(e){e&&W1(e),!J2(`settings`)&&R9(`settings`,{section:e})}function _9(){location.hash.startsWith(`#settings/`)&&history.replaceState(history.state,``,`${location.pathname}${location.search}`)}function gie(e){return e?(W1(e.sectionId,e.settingId),J2(`settings`)||R9(`settings`,{section:e.sectionId,setting:e.settingId,persist:!1}),!0):!1}function v9(e){return gie(G1(e))}function y9(e){let t=lR(e);return t?!IH(t)||(history.replaceState(history.state,``,`${location.pathname}${location.search}`),W2()?(U2(t)||Wx(`No plan is stored for this session yet`),!0):(R9(`focus`,{persist:!1}),CW(t)||Wx(`No plan is stored for this session yet`),!0)):!1}function b9(e){return y9(e)?!0:v9(e)}function _ie(){return b9(location.hash)}document.addEventListener(`click`,e=>{if(!W2()||e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href^="#"]`):null;t instanceof HTMLAnchorElement&&b9(t.hash)&&e.preventDefault()}),H(document,`#btn-help`,`button`).addEventListener(`click`,()=>{hie(`browser-shortcuts`)});var x9=H(document,`#view-calm`,`section`),vie=H(document,`#tab-calm`,`button`),yie=H(document,`#view-focus`,`section`),S9=H(document,`#view-radar`,`section`),C9=H(document,`#view-prs`,`section`),w9=H(document,`#view-issues`,`section`),T9=H(document,`#view-usage`,`section`),E9=H(document,`#view-visions`,`section`),D9=H(document,`#view-hooks`,`section`),O9=H(document,`#view-trace`,`section`),k9=H(document,`#view-benchmarks`,`section`),A9=H(document,`#view-settings`,`section`),bie=H(document,`#tab-focus`,`button`),xie=H(document,`#tab-radar`,`button`),Sie=H(document,`#tab-prs`,`button`),Cie=H(document,`#tab-issues`,`button`),wie=H(document,`#tab-usage`,`button`),Tie=H(document,`#tab-visions`,`button`),Eie=H(document,`#tab-hooks`,`button`),Die=H(document,`#tab-trace`,`button`),Oie=H(document,`#tab-benchmarks`,`button`),kie=H(document,`#tab-settings`,`button`),Aie=H(document,`#tab-radar-activity`,`span`),jie=H(document,`#tab-prs-activity`,`span`),Mie=H(document,`#tab-usage-activity`,`span`),j9=H(document,`#tab-visions-activity`,`span`);Gre(e=>{Aie.classList.toggle(`active`,e),X2(`radar`,e)}),Gne(e=>{jie.classList.toggle(`active`,e),X2(`prs`,e)}),uQ(e=>{Mie.classList.toggle(`active`,e),X2(`usage`,e)}),DK(e=>{let t=e!==null;j9.classList.toggle(`active`,t),t||j9.removeAttribute(`data-attention`),t&&j9.setAttribute(`data-attention`,e),X2(`visions`,e)}),JU({rail:document.getElementById(`focus-rail`),center:document.getElementById(`focus-center`),resizer:document.getElementById(`focus-rail-resizer`)}),kz({panel:document.getElementById(`review-sidebar`)}),qre(S9),xre(C9),gre(w9),pQ(T9),OK(E9),NJ(D9),LV(O9),ire(k9),z1(A9,{onRestart:q9,onConfirmUpdateAndRestart:Nie}),lN(x9,{openTerminal:e=>{R9(`focus`),SW(e)},openPlan:e=>{R9(`focus`),CW(e)},openCalm:()=>R9(`calm`)});var M9=KU();M9&&oN(M9),Bd.subscribe((e,t)=>{t.includes(`focusedSessionId`)&&$7()});var N9=[{view:`calm`,tab:vie,el:x9},{view:`focus`,tab:bie,el:yie},{view:`prs`,tab:Sie,el:C9},{view:`issues`,tab:Cie,el:w9},{view:`usage`,tab:wie,el:T9},{view:`radar`,tab:xie,el:S9},{view:`visions`,tab:Tie,el:E9},{view:`hooks`,tab:Eie,el:D9},{view:`trace`,tab:Die,el:O9},{view:`benchmarks`,tab:Oie,el:k9},{view:`settings`,tab:kie,el:A9}];function P9(e){return N9.some(t=>t.view===e&&!t.tab.hidden)}var F9=!0,I9=null;function L9(e){e===`radar`&&Wre(),e===`prs`&&h7(),e===`usage`&&sQ(),e===`visions`&&(AK(),kK())}function R9(e,{section:t,setting:n,persist:r=!0}={}){if(!P9(e))return;let i=Vd();Bd.dispatch(`setActiveView`,e),F9=r,r&&(I9=null),document.body.dataset.activeView=e,r&&bF(e);for(let t of N9){let n=t.view===e;t.el&&(t.el.hidden=!n),t.tab.setAttribute(`aria-selected`,String(n)),t.tab.tabIndex=n?0:-1}i===`focus`&&e!==`focus`&&OW(),e===`focus`&&EW(),i===`calm`&&e!==`calm`&&dN(),e===`calm`&&uN(),e===`usage`&&(mQ(),fQ()),e===`hooks`&&(PJ(),MJ()),e===`trace`&&HV(),i===`settings`&&e!==`settings`&&_9(),e===`settings`&&t&&W1(t,n??null),L9(e),$7()}var z9=!1;function B9(e,t){let n=N9.find(t=>t.view===e);n&&(n.tab.hidden=!t,Y2(e,t),e===`trace`&&(z9=t,Kre(t?BV:null)),!W2()&&(!t&&Vd()===e&&R9(`focus`),t&&I9===e&&R9(e)))}var V9=null;function H9(e,{isLiveSettingsChange:t=!1}={}){let n=KN(e),r=t&&V9===!1&&n.calm;V9=n.calm,Q7=n.calm,H2(n.calm),bW(!n.calm),$7();for(let[e,t]of Object.entries(n))B9(e,t);!r||Vd()!==`focus`||qd()||lR(location.hash)||R9(`calm`)}for(let e of Object.keys(KN(null)))B9(e,!1);ZV(e=>B9(`trace`,e)),B9(`trace`,!1),zV(()=>{z9&&(J2(`trace`)||R9(`trace`))});for(let e=0;e<N9.length;e++){let{view:t,tab:n}=N9[e];n.addEventListener(`click`,()=>R9(t)),n.addEventListener(`keydown`,e=>{if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;e.preventDefault();let t=e.key===`ArrowRight`?1:-1,r=N9.filter(e=>!e.tab.hidden),i=(r.findIndex(e=>e.tab===n)+t+r.length)%r.length;R9(r[i].view),r[i].tab.focus()})}var U9=yF(),W9=G1(location.hash),G9=lR(location.hash);if(W9&&R9(`settings`,{section:W9.sectionId,setting:W9.settingId,persist:!1}),G9&&R9(`focus`,{persist:!1}),!W9&&!G9){let e=P9(U9);e||(I9=U9),R9(e?U9:`focus`,{persist:e})}R2({radarPanelEl:S9,prsPanelEl:C9,issuesPanelEl:w9,usagePanelEl:T9,visionsPanelEl:E9,hooksPanelEl:D9,tracePanelEl:O9,settingsPanelEl:A9,onScreenShown:e=>{e===`usage`&&(mQ(),fQ()),e===`hooks`&&(PJ(),MJ()),e===`trace`&&HV(),e!==`settings`&&_9(),e===`settings`&&!location.hash.startsWith(`#settings/`)&&W1(),L9(e)},headerControls:[H(document,`#status-indicator`,`div`),H(document,`#btn-add-session-header`,`button`),H(document,`#btn-help`,`button`),f9,m9]});function K9(e){if(e===`phone`){let e=qU();OW(),dN(),iN(),$7(),z2({sessionId:e??void 0});return}let t=K2();B2();let n=Vd();R9(P9(n)?n:`focus`,{persist:F9}),t&&SW(t)}qd()&&K9(`phone`),Jd(K9),window.addEventListener(`hashchange`,_ie);function q9(){m9.classList.remove(`open`),g9();let e=LH();rf({title:`Restart Server`,message:e>0?`Kill ${e} session${e>1?`s`:``} and restart the server?`:`Restart the server?`,confirmLabel:`Restart`,danger:!1,onConfirm:()=>B({type:`restart-server`})})}function Nie(e){let t=RH(),n=t.length;if(n===0){e(t);return}rf({title:`Update and restart`,message:`Glimmervoid restarts once the update is staged, which kills ${n} running session${n>1?`s`:``}. Continue?`,confirmLabel:`Update and restart`,danger:!1,onConfirm:()=>e(t)})}H(document,`#btn-restart`,`button`).addEventListener(`click`,q9);function Pie(e){let t=gN(`shutdown`,e);H(document,`#btn-shutdown`,`button`).hidden=!t,H(document,`#menu-divider-shutdown`,`div`).hidden=!t}H(document,`#btn-shutdown`,`button`).addEventListener(`click`,()=>{m9.classList.remove(`open`),g9();let e=LH();rf({title:`Shut Down Server`,message:e>0?`Kill ${e} session${e>1?`s`:``} and shut down the server?`:`Shut down the server?`,confirmLabel:`Shut Down`,danger:!0,onConfirm:()=>B({type:`shutdown`})})});function Fie(){let e=document.activeElement;return e instanceof HTMLElement?e.isContentEditable?!0:(e.tagName===`INPUT`||e.tagName===`TEXTAREA`)&&!e.classList.contains(`xterm-helper-textarea`):!1}function Iie({action:e,step:t}){switch(e){case`merge`:return Uz(),!0;case`resolve-or-resync`:return Wz()||Gz(),!0;case`new-session`:return document.getElementById(`btn-add-session-header`)?.click(),!0;case`next-attention`:return Vd()===`calm`?$M():GU()?(dW(),!0):!1;case`rail-step`:return GU()?(TW(t),!0):!1;case`session-nth`:return GU()?(wW(t),!0):!1;case`calm-home`:return!qd()&&(R9(`calm`),!0);case`calm-terminal`:return QM()}}$y(()=>({isCalmAvailable:Q7,isCalmViewActive:Vd()===`calm`})),document.addEventListener(`keydown`,e=>{if(e.repeat||Fie())return;let t=qy(e,Zy,eb());t&&Iie(t)&&e.preventDefault()});var J9=null;function Y9(){J9!==null&&clearTimeout(J9),J9=setTimeout(()=>{B({type:`focus-change`,focused:document.hasFocus()})},150)}function X9(){Y9(),ME(Zd(_N()))}window.addEventListener(`focus`,X9),window.addEventListener(`blur`,X9),document.addEventListener(`visibilitychange`,X9);var Z9=!1;async function Q9(){if(!Z9){Z9=!0;try{if(await md()!==`dead`)return;for(let e of U.keys())wE(e)}finally{Z9=!1}}}document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&(lE(),Q9())}),window.addEventListener(`online`,Q9);var $9=CN(B);window.addEventListener(`error`,e=>$9(e.error)),window.addEventListener(`unhandledrejection`,e=>$9(e.reason)),window.addEventListener(`pageshow`,e=>{e.persisted&&(lE(),Q9())}),NI(H(document,`#health-footer-mount`,`div`)),KJ(),pd();
|