pyrepl-web 0.1.10 → 0.1.13

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.
@@ -0,0 +1,36 @@
1
+ import"./chunk-cmrefyz7.js";var{defineProperty:j4,getOwnPropertyDescriptor:t4}=Object,e4=(q,G)=>{for(var Y in G)j4(q,Y,{get:G[Y],enumerable:!0})},a=(q,G,Y,H)=>{for(var F=H>1?void 0:H?t4(G,Y):G,Z=q.length-1,$;Z>=0;Z--)($=q[Z])&&(F=(H?$(G,Y,F):$(F))||F);return H&&F&&j4(G,Y,F),F},D=(q,G)=>(Y,H)=>G(Y,H,q),C3="Terminal input",L2={get:()=>C3,set:(q)=>C3=q},M3="Too much output to announce, navigate to rows manually to read",Q2={get:()=>M3,set:(q)=>M3=q};function q5(q){return q.replace(/\r?\n/g,"\r")}function G5(q,G){return G?"\x1B[200~"+q+"\x1B[201~":q}function Y5(q,G){q.clipboardData&&q.clipboardData.setData("text/plain",G.selectionText),q.preventDefault()}function H5(q,G,Y,H){if(q.stopPropagation(),q.clipboardData){let F=q.clipboardData.getData("text/plain");K4(F,G,Y,H)}}function K4(q,G,Y,H){q=q5(q),q=G5(q,Y.decPrivateModes.bracketedPasteMode&&H.rawOptions.ignoreBracketedPasteMode!==!0),Y.triggerDataEvent(q,!0),G.value=""}function W4(q,G,Y){let H=Y.getBoundingClientRect(),F=q.clientX-H.left-10,Z=q.clientY-H.top-10;G.style.width="20px",G.style.height="20px",G.style.left=`${F}px`,G.style.top=`${Z}px`,G.style.zIndex="1000",G.focus()}function z3(q,G,Y,H,F){W4(q,G,Y),F&&H.rightClickSelect(q),G.value=H.selectionText,G.select()}function h0(q){return q>65535?(q-=65536,String.fromCharCode((q>>10)+55296)+String.fromCharCode(q%1024+56320)):String.fromCharCode(q)}function q2(q,G=0,Y=q.length){let H="";for(let F=G;F<Y;++F){let Z=q[F];Z>65535?(Z-=65536,H+=String.fromCharCode((Z>>10)+55296)+String.fromCharCode(Z%1024+56320)):H+=String.fromCharCode(Z)}return H}var F5=class{constructor(){this._interim=0}clear(){this._interim=0}decode(q,G){let Y=q.length;if(!Y)return 0;let H=0,F=0;if(this._interim){let Z=q.charCodeAt(F++);56320<=Z&&Z<=57343?G[H++]=(this._interim-55296)*1024+Z-56320+65536:(G[H++]=this._interim,G[H++]=Z),this._interim=0}for(let Z=F;Z<Y;++Z){let $=q.charCodeAt(Z);if(55296<=$&&$<=56319){if(++Z>=Y)return this._interim=$,H;let V=q.charCodeAt(Z);56320<=V&&V<=57343?G[H++]=($-55296)*1024+V-56320+65536:(G[H++]=$,G[H++]=V);continue}$!==65279&&(G[H++]=$)}return H}},Z5=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(q,G){let Y=q.length;if(!Y)return 0;let H=0,F,Z,$,V,X=0,J=0;if(this.interim[0]){let j=!1,K=this.interim[0];K&=(K&224)===192?31:(K&240)===224?15:7;let z=0,W;for(;(W=this.interim[++z]&63)&&z<4;)K<<=6,K|=W;let P=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,x=P-z;for(;J<x;){if(J>=Y)return 0;if(W=q[J++],(W&192)!==128){J--,j=!0;break}else this.interim[z++]=W,K<<=6,K|=W&63}j||(P===2?K<128?J--:G[H++]=K:P===3?K<2048||K>=55296&&K<=57343||K===65279||(G[H++]=K):K<65536||K>1114111||(G[H++]=K)),this.interim.fill(0)}let M=Y-4,C=J;for(;C<Y;){for(;C<M&&!((F=q[C])&128)&&!((Z=q[C+1])&128)&&!(($=q[C+2])&128)&&!((V=q[C+3])&128);)G[H++]=F,G[H++]=Z,G[H++]=$,G[H++]=V,C+=4;if(F=q[C++],F<128)G[H++]=F;else if((F&224)===192){if(C>=Y)return this.interim[0]=F,H;if(Z=q[C++],(Z&192)!==128){C--;continue}if(X=(F&31)<<6|Z&63,X<128){C--;continue}G[H++]=X}else if((F&240)===224){if(C>=Y)return this.interim[0]=F,H;if(Z=q[C++],(Z&192)!==128){C--;continue}if(C>=Y)return this.interim[0]=F,this.interim[1]=Z,H;if($=q[C++],($&192)!==128){C--;continue}if(X=(F&15)<<12|(Z&63)<<6|$&63,X<2048||X>=55296&&X<=57343||X===65279)continue;G[H++]=X}else if((F&248)===240){if(C>=Y)return this.interim[0]=F,H;if(Z=q[C++],(Z&192)!==128){C--;continue}if(C>=Y)return this.interim[0]=F,this.interim[1]=Z,H;if($=q[C++],($&192)!==128){C--;continue}if(C>=Y)return this.interim[0]=F,this.interim[1]=Z,this.interim[2]=$,H;if(V=q[C++],(V&192)!==128){C--;continue}if(X=(F&7)<<18|(Z&63)<<12|($&63)<<6|V&63,X<65536||X>1114111)continue;G[H++]=X}}return H}},U4="",u0=" ",x1=class q{constructor(){this.fg=0,this.bg=0,this.extended=new a1}static toColorRGB(G){return[G>>>16&255,G>>>8&255,G&255]}static fromColorRGB(G){return(G[0]&255)<<16|(G[1]&255)<<8|G[2]&255}clone(){let G=new q;return G.fg=this.fg,G.bg=this.bg,G.extended=this.extended.clone(),G}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},a1=class q{constructor(G=0,Y=0){this._ext=0,this._urlId=0,this._ext=G,this._urlId=Y}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(G){this._ext=G}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(G){this._ext&=-469762049,this._ext|=G<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(G){this._ext&=-67108864,this._ext|=G&67108863}get urlId(){return this._urlId}set urlId(G){this._urlId=G}get underlineVariantOffset(){let G=(this._ext&3758096384)>>29;return G<0?G^4294967288:G}set underlineVariantOffset(G){this._ext&=536870911,this._ext|=G<<29&3758096384}clone(){return new q(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},B0=class q extends x1{constructor(){super(...arguments);this.content=0,this.fg=0,this.bg=0,this.extended=new a1,this.combinedData=""}static fromCharData(G){let Y=new q;return Y.setFromCharData(G),Y}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?h0(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(G){this.fg=G[0],this.bg=0;let Y=!1;if(G[1].length>2)Y=!0;else if(G[1].length===2){let H=G[1].charCodeAt(0);if(55296<=H&&H<=56319){let F=G[1].charCodeAt(1);56320<=F&&F<=57343?this.content=(H-55296)*1024+F-56320+65536|G[2]<<22:Y=!0}else Y=!0}else this.content=G[1].charCodeAt(0)|G[2]<<22;Y&&(this.combinedData=G[1],this.content=2097152|G[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},j3="di$target",O2="di$dependencies",V2=new Map;function $5(q){return q[O2]||[]}function H0(q){if(V2.has(q))return V2.get(q);let G=function(Y,H,F){if(arguments.length!==3)throw Error("@IServiceName-decorator can only be used to decorate a parameter");J5(G,Y,F)};return G._id=q,V2.set(q,G),G}function J5(q,G,Y){G[j3]===G?G[O2].push({id:q,index:Y}):(G[O2]=[{id:q,index:Y}],G[j3]=G)}var X0=H0("BufferService"),N4=H0("CoreMouseService"),e0=H0("CoreService"),V5=H0("CharsetService"),q3=H0("InstantiationService"),B4=H0("LogService"),C0=H0("OptionsService"),A4=H0("OscLinkService"),X5=H0("UnicodeService"),w1=H0("DecorationService"),x2=class{constructor(q,G,Y){this._bufferService=q,this._optionsService=G,this._oscLinkService=Y}provideLinks(q,G){let Y=this._bufferService.buffer.lines.get(q-1);if(!Y){G(void 0);return}let H=[],F=this._optionsService.rawOptions.linkHandler,Z=new B0,$=Y.getTrimmedLength(),V=-1,X=-1,J=!1;for(let M=0;M<$;M++)if(!(X===-1&&!Y.hasContent(M))){if(Y.loadCell(M,Z),Z.hasExtendedAttrs()&&Z.extended.urlId)if(X===-1){X=M,V=Z.extended.urlId;continue}else J=Z.extended.urlId!==V;else X!==-1&&(J=!0);if(J||X!==-1&&M===$-1){let C=this._oscLinkService.getLinkData(V)?.uri;if(C){let j={start:{x:X+1,y:q},end:{x:M+(!J&&M===$-1?1:0),y:q}},K=!1;if(!F?.allowNonHttpProtocols)try{let z=new URL(C);["http:","https:"].includes(z.protocol)||(K=!0)}catch{K=!0}K||H.push({text:C,range:j,activate:(z,W)=>F?F.activate(z,W,j):C5(z,W),hover:(z,W)=>F?.hover?.(z,W,j),leave:(z,W)=>F?.leave?.(z,W,j)})}J=!1,Z.hasExtendedAttrs()&&Z.extended.urlId?(X=M,V=Z.extended.urlId):(X=-1,V=-1)}}G(H)}};x2=a([D(0,X0),D(1,C0),D(2,A4)],x2);function C5(q,G){if(confirm(`Do you want to navigate to ${G}?
2
+
3
+ WARNING: This link could potentially be dangerous`)){let Y=window.open();if(Y){try{Y.opener=null}catch{}Y.location.href=G}else console.warn("Opening link blocked as opener could not be cleared")}}var G2=H0("CharSizeService"),v0=H0("CoreBrowserService"),G3=H0("MouseService"),_0=H0("RenderService"),M5=H0("SelectionService"),R4=H0("CharacterJoinerService"),H1=H0("ThemeService"),D4=H0("LinkProviderService"),z5=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(q){setTimeout(()=>{throw q.stack?K3.isErrorNoTelemetry(q)?new K3(q.message+`
4
+
5
+ `+q.stack):Error(q.message+`
6
+
7
+ `+q.stack):q},0)}}addListener(q){return this.listeners.push(q),()=>{this._removeListener(q)}}emit(q){this.listeners.forEach((G)=>{G(q)})}_removeListener(q){this.listeners.splice(this.listeners.indexOf(q),1)}setUnexpectedErrorHandler(q){this.unexpectedErrorHandler=q}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(q){this.unexpectedErrorHandler(q),this.emit(q)}onUnexpectedExternalError(q){this.unexpectedErrorHandler(q)}},j5=new z5;function b1(q){K5(q)||j5.onUnexpectedError(q)}var w2="Canceled";function K5(q){return q instanceof W5?!0:q instanceof Error&&q.name===w2&&q.message===w2}var W5=class extends Error{constructor(){super(w2),this.name=this.message}};function U5(q){return q?Error(`Illegal argument: ${q}`):Error("Illegal argument")}var K3=class q extends Error{constructor(G){super(G),this.name="CodeExpectedError"}static fromError(G){if(G instanceof q)return G;let Y=new q;return Y.message=G.message,Y.stack=G.stack,Y}static isErrorNoTelemetry(G){return G.name==="CodeExpectedError"}},y2=class q extends Error{constructor(G){super(G||"An unexpected bug occurred."),Object.setPrototypeOf(this,q.prototype)}};function N5(q,G,Y=0,H=q.length){let F=Y,Z=H;for(;F<Z;){let $=Math.floor((F+Z)/2);G(q[$])?F=$+1:Z=$}return F-1}var B5=class q{constructor(G){this._array=G,this._findLastMonotonousLastIdx=0}findLastMonotonous(G){if(q.assertInvariants){if(this._prevFindLastPredicate){for(let H of this._array)if(this._prevFindLastPredicate(H)&&!G(H))throw Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=G}let Y=N5(this._array,G,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=Y+1,Y===-1?void 0:this._array[Y]}};B5.assertInvariants=!1;function z0(q,G=0){return q[q.length-(1+G)]}var k4;((q)=>{function G(Z){return Z<0}q.isLessThan=G;function Y(Z){return Z<=0}q.isLessThanOrEqual=Y;function H(Z){return Z>0}q.isGreaterThan=H;function F(Z){return Z===0}q.isNeitherLessOrGreaterThan=F,q.greaterThan=1,q.lessThan=-1,q.neitherLessOrGreaterThan=0})(k4||={});function A5(q,G){return(Y,H)=>G(q(Y),q(H))}var R5=(q,G)=>q-G,W3=class q{constructor(G){this.iterate=G}forEach(G){this.iterate((Y)=>(G(Y),!0))}toArray(){let G=[];return this.iterate((Y)=>(G.push(Y),!0)),G}filter(G){return new q((Y)=>this.iterate((H)=>G(H)?Y(H):!0))}map(G){return new q((Y)=>this.iterate((H)=>Y(G(H))))}some(G){let Y=!1;return this.iterate((H)=>(Y=G(H),!Y)),Y}findFirst(G){let Y;return this.iterate((H)=>G(H)?(Y=H,!1):!0),Y}findLast(G){let Y;return this.iterate((H)=>(G(H)&&(Y=H),!0)),Y}findLastMaxBy(G){let Y,H=!0;return this.iterate((F)=>((H||k4.isGreaterThan(G(F,Y)))&&(H=!1,Y=F),!0)),Y}};W3.empty=new W3((q)=>{});function D5(q,G){let Y=Object.create(null);for(let H of q){let F=G(H),Z=Y[F];Z||(Z=Y[F]=[]),Z.push(H)}return Y}var U3,N3,_8=class{constructor(q,G){this.toKey=G,this._map=new Map,this[U3]="SetWithKey";for(let Y of q)this.add(Y)}get size(){return this._map.size}add(q){let G=this.toKey(q);return this._map.set(G,q),this}delete(q){return this._map.delete(this.toKey(q))}has(q){return this._map.has(this.toKey(q))}*entries(){for(let q of this._map.values())yield[q,q]}keys(){return this.values()}*values(){for(let q of this._map.values())yield q}clear(){this._map.clear()}forEach(q,G){this._map.forEach((Y)=>q.call(G,Y,Y,this))}[(N3=Symbol.iterator,U3=Symbol.toStringTag,N3)](){return this.values()}},k5=class{constructor(){this.map=new Map}add(q,G){let Y=this.map.get(q);Y||(Y=new Set,this.map.set(q,Y)),Y.add(G)}delete(q,G){let Y=this.map.get(q);Y&&(Y.delete(G),Y.size===0&&this.map.delete(q))}forEach(q,G){let Y=this.map.get(q);Y&&Y.forEach(G)}get(q){return this.map.get(q)||new Set}};function P5(q,G){let Y=this,H=!1,F;return function(){if(H)return F;if(H=!0,G)try{F=q.apply(Y,arguments)}finally{G()}else F=q.apply(Y,arguments);return F}}var P4;((q)=>{function G(Q){return Q&&typeof Q=="object"&&typeof Q[Symbol.iterator]=="function"}q.is=G;let Y=Object.freeze([]);function H(){return Y}q.empty=H;function*F(Q){yield Q}q.single=F;function Z(Q){return G(Q)?Q:F(Q)}q.wrap=Z;function $(Q){return Q||Y}q.from=$;function*V(Q){for(let v=Q.length-1;v>=0;v--)yield Q[v]}q.reverse=V;function X(Q){return!Q||Q[Symbol.iterator]().next().done===!0}q.isEmpty=X;function J(Q){return Q[Symbol.iterator]().next().value}q.first=J;function M(Q,v){let _=0;for(let F0 of Q)if(v(F0,_++))return!0;return!1}q.some=M;function C(Q,v){for(let _ of Q)if(v(_))return _}q.find=C;function*j(Q,v){for(let _ of Q)v(_)&&(yield _)}q.filter=j;function*K(Q,v){let _=0;for(let F0 of Q)yield v(F0,_++)}q.map=K;function*z(Q,v){let _=0;for(let F0 of Q)yield*v(F0,_++)}q.flatMap=z;function*W(...Q){for(let v of Q)yield*v}q.concat=W;function P(Q,v,_){let F0=_;for(let A0 of Q)F0=v(F0,A0);return F0}q.reduce=P;function*x(Q,v,_=Q.length){for(v<0&&(v+=Q.length),_<0?_+=Q.length:_>Q.length&&(_=Q.length);v<_;v++)yield Q[v]}q.slice=x;function m(Q,v=Number.POSITIVE_INFINITY){let _=[];if(v===0)return[_,Q];let F0=Q[Symbol.iterator]();for(let A0=0;A0<v;A0++){let D0=F0.next();if(D0.done)return[_,q.empty()];_.push(D0.value)}return[_,{[Symbol.iterator](){return F0}}]}q.consume=m;async function I(Q){let v=[];for await(let _ of Q)v.push(_);return Promise.resolve(v)}q.asyncToArray=I})(P4||={});var L5=!1,r0=null,Q5=class q{constructor(){this.livingDisposables=new Map}getDisposableData(G){let Y=this.livingDisposables.get(G);return Y||(Y={parent:null,source:null,isSingleton:!1,value:G,idx:q.idx++},this.livingDisposables.set(G,Y)),Y}trackDisposable(G){let Y=this.getDisposableData(G);Y.source||(Y.source=Error().stack)}setParent(G,Y){let H=this.getDisposableData(G);H.parent=Y}markAsDisposed(G){this.livingDisposables.delete(G)}markAsSingleton(G){this.getDisposableData(G).isSingleton=!0}getRootParent(G,Y){let H=Y.get(G);if(H)return H;let F=G.parent?this.getRootParent(this.getDisposableData(G.parent),Y):G;return Y.set(G,F),F}getTrackedDisposables(){let G=new Map;return[...this.livingDisposables.entries()].filter(([,Y])=>Y.source!==null&&!this.getRootParent(Y,G).isSingleton).flatMap(([Y])=>Y)}computeLeakingDisposables(G=10,Y){let H;if(Y)H=Y;else{let X=new Map,J=[...this.livingDisposables.values()].filter((C)=>C.source!==null&&!this.getRootParent(C,X).isSingleton);if(J.length===0)return;let M=new Set(J.map((C)=>C.value));if(H=J.filter((C)=>!(C.parent&&M.has(C.parent))),H.length===0)throw Error("There are cyclic diposable chains!")}if(!H)return;function F(X){function J(C,j){for(;C.length>0&&j.some((K)=>typeof K=="string"?K===C[0]:C[0].match(K));)C.shift()}let M=X.source.split(`
8
+ `).map((C)=>C.trim().replace("at ","")).filter((C)=>C!=="");return J(M,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),M.reverse()}let Z=new k5;for(let X of H){let J=F(X);for(let M=0;M<=J.length;M++)Z.add(J.slice(0,M).join(`
9
+ `),X)}H.sort(A5((X)=>X.idx,R5));let $="",V=0;for(let X of H.slice(0,G)){V++;let J=F(X),M=[];for(let C=0;C<J.length;C++){let j=J[C];j=`(shared with ${Z.get(J.slice(0,C+1).join(`
10
+ `)).size}/${H.length} leaks) at ${j}`;let K=Z.get(J.slice(0,C).join(`
11
+ `)),z=D5([...K].map((W)=>F(W)[C]),(W)=>W);delete z[J[C]];for(let[W,P]of Object.entries(z))M.unshift(` - stacktraces of ${P.length} other leaks continue with ${W}`);M.unshift(j)}$+=`
12
+
13
+
14
+ ==================== Leaking disposable ${V}/${H.length}: ${X.value.constructor.name} ====================
15
+ ${M.join(`
16
+ `)}
17
+ ============================================================
18
+
19
+ `}return H.length>G&&($+=`
20
+
21
+
22
+ ... and ${H.length-G} more leaking disposables
23
+
24
+ `),{leaks:H,details:$}}};Q5.idx=0;function O5(q){r0=q}if(L5){let q="__is_disposable_tracked__";O5(new class{trackDisposable(G){let Y=Error("Potentially leaked disposable").stack;setTimeout(()=>{G[q]||console.log(Y)},3000)}setParent(G,Y){if(G&&G!==y.None)try{G[q]=!0}catch{}}markAsDisposed(G){if(G&&G!==y.None)try{G[q]=!0}catch{}}markAsSingleton(G){}})}function Y2(q){return r0?.trackDisposable(q),q}function H2(q){r0?.markAsDisposed(q)}function P1(q,G){r0?.setParent(q,G)}function x5(q,G){if(r0)for(let Y of q)r0.setParent(Y,G)}function B3(q){return r0?.markAsSingleton(q),q}function i0(q){if(P4.is(q)){let G=[];for(let Y of q)if(Y)try{Y.dispose()}catch(H){G.push(H)}if(G.length===1)throw G[0];if(G.length>1)throw AggregateError(G,"Encountered errors while disposing of store");return Array.isArray(q)?[]:q}else if(q)return q.dispose(),q}function w5(...q){let G=g(()=>i0(q));return x5(q,G),G}function g(q){let G=Y2({dispose:P5(()=>{H2(G),q()})});return G}var L4=class q{constructor(){this._toDispose=new Set,this._isDisposed=!1,Y2(this)}dispose(){this._isDisposed||(H2(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{i0(this._toDispose)}finally{this._toDispose.clear()}}add(G){if(!G)return G;if(G===this)throw Error("Cannot register a disposable on itself!");return P1(G,this),this._isDisposed?q.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(G),G}delete(G){if(G){if(G===this)throw Error("Cannot dispose a disposable on itself!");this._toDispose.delete(G),G.dispose()}}deleteAndLeak(G){G&&this._toDispose.has(G)&&(this._toDispose.delete(G),P1(G,null))}};L4.DISABLE_DISPOSED_WARNING=!1;var c0=L4,y=class{constructor(){this._store=new c0,Y2(this),P1(this._store,this)}dispose(){H2(this),this._store.dispose()}_register(q){if(q===this)throw Error("Cannot register a disposable on itself!");return this._store.add(q)}};y.None=Object.freeze({dispose(){}});var Y1=class{constructor(){this._isDisposed=!1,Y2(this)}get value(){return this._isDisposed?void 0:this._value}set value(q){this._isDisposed||q===this._value||(this._value?.dispose(),q&&P1(q,this),this._value=q)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,H2(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let q=this._value;return this._value=void 0,q&&P1(q,null),q}},W0=typeof window=="object"?window:globalThis,S2=class q{constructor(G){this.element=G,this.next=q.Undefined,this.prev=q.Undefined}};S2.Undefined=new S2(void 0);var h=S2,A3=class{constructor(){this._first=h.Undefined,this._last=h.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===h.Undefined}clear(){let q=this._first;for(;q!==h.Undefined;){let G=q.next;q.prev=h.Undefined,q.next=h.Undefined,q=G}this._first=h.Undefined,this._last=h.Undefined,this._size=0}unshift(q){return this._insert(q,!1)}push(q){return this._insert(q,!0)}_insert(q,G){let Y=new h(q);if(this._first===h.Undefined)this._first=Y,this._last=Y;else if(G){let F=this._last;this._last=Y,Y.prev=F,F.next=Y}else{let F=this._first;this._first=Y,Y.next=F,F.prev=Y}this._size+=1;let H=!1;return()=>{H||(H=!0,this._remove(Y))}}shift(){if(this._first!==h.Undefined){let q=this._first.element;return this._remove(this._first),q}}pop(){if(this._last!==h.Undefined){let q=this._last.element;return this._remove(this._last),q}}_remove(q){if(q.prev!==h.Undefined&&q.next!==h.Undefined){let G=q.prev;G.next=q.next,q.next.prev=G}else q.prev===h.Undefined&&q.next===h.Undefined?(this._first=h.Undefined,this._last=h.Undefined):q.next===h.Undefined?(this._last=this._last.prev,this._last.next=h.Undefined):q.prev===h.Undefined&&(this._first=this._first.next,this._first.prev=h.Undefined);this._size-=1}*[Symbol.iterator](){let q=this._first;for(;q!==h.Undefined;)yield q.element,q=q.next}},y5=globalThis.performance&&typeof globalThis.performance.now=="function",S5=class q{static create(G){return new q(G)}constructor(G){this._now=y5&&G===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}},I5=!1,R3=!1,T5=!1,$0;((q)=>{q.None=()=>y.None;function G(N){if(T5){let{onDidAddListener:A}=N,L=T2.create(),k=0;N.onDidAddListener=()=>{++k===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),L.print()),A?.()}}}function Y(N,A){return j(N,()=>{},0,void 0,!0,void 0,A)}q.defer=Y;function H(N){return(A,L=null,k)=>{let O=!1,R;return R=N((T)=>{if(!O)return R?R.dispose():O=!0,A.call(L,T)},null,k),O&&R.dispose(),R}}q.once=H;function F(N,A,L){return M((k,O=null,R)=>N((T)=>k.call(O,A(T)),null,R),L)}q.map=F;function Z(N,A,L){return M((k,O=null,R)=>N((T)=>{A(T),k.call(O,T)},null,R),L)}q.forEach=Z;function $(N,A,L){return M((k,O=null,R)=>N((T)=>A(T)&&k.call(O,T),null,R),L)}q.filter=$;function V(N){return N}q.signal=V;function X(...N){return(A,L=null,k)=>{let O=w5(...N.map((R)=>R((T)=>A.call(L,T))));return C(O,k)}}q.any=X;function J(N,A,L,k){let O=L;return F(N,(R)=>(O=A(O,R),O),k)}q.reduce=J;function M(N,A){let L,k={onWillAddFirstListener(){L=N(O.fire,O)},onDidRemoveLastListener(){L?.dispose()}};A||G(k);let O=new B(k);return A?.add(O),O.event}function C(N,A){return A instanceof Array?A.push(N):A&&A.add(N),N}function j(N,A,L=100,k=!1,O=!1,R,T){let f,Z0,k0,w0=0,t,E0={leakWarningThreshold:R,onWillAddFirstListener(){f=N((a0)=>{w0++,Z0=A(Z0,a0),k&&!k0&&(J0.fire(Z0),Z0=void 0),t=()=>{let $1=Z0;Z0=void 0,k0=void 0,(!k||w0>1)&&J0.fire($1),w0=0},typeof L=="number"?(clearTimeout(k0),k0=setTimeout(t,L)):k0===void 0&&(k0=0,queueMicrotask(t))})},onWillRemoveListener(){O&&w0>0&&t?.()},onDidRemoveLastListener(){t=void 0,f.dispose()}};T||G(E0);let J0=new B(E0);return T?.add(J0),J0.event}q.debounce=j;function K(N,A=0,L){return q.debounce(N,(k,O)=>k?(k.push(O),k):[O],A,void 0,!0,void 0,L)}q.accumulate=K;function z(N,A=(k,O)=>k===O,L){let k=!0,O;return $(N,(R)=>{let T=k||!A(R,O);return k=!1,O=R,T},L)}q.latch=z;function W(N,A,L){return[q.filter(N,A,L),q.filter(N,(k)=>!A(k),L)]}q.split=W;function P(N,A=!1,L=[],k){let O=L.slice(),R=N((Z0)=>{O?O.push(Z0):f.fire(Z0)});k&&k.add(R);let T=()=>{O?.forEach((Z0)=>f.fire(Z0)),O=null},f=new B({onWillAddFirstListener(){R||(R=N((Z0)=>f.fire(Z0)),k&&k.add(R))},onDidAddFirstListener(){O&&(A?setTimeout(T):T())},onDidRemoveLastListener(){R&&R.dispose(),R=null}});return k&&k.add(f),f.event}q.buffer=P;function x(N,A){return(L,k,O)=>{let R=A(new I);return N(function(T){let f=R.evaluate(T);f!==m&&L.call(k,f)},void 0,O)}}q.chain=x;let m=Symbol("HaltChainable");class I{constructor(){this.steps=[]}map(N){return this.steps.push(N),this}forEach(N){return this.steps.push((A)=>(N(A),A)),this}filter(N){return this.steps.push((A)=>N(A)?A:m),this}reduce(N,A){let L=A;return this.steps.push((k)=>(L=N(L,k),L)),this}latch(N=(A,L)=>A===L){let A=!0,L;return this.steps.push((k)=>{let O=A||!N(k,L);return A=!1,L=k,O?k:m}),this}evaluate(N){for(let A of this.steps)if(N=A(N),N===m)break;return N}}function Q(N,A,L=(k)=>k){let k=(...f)=>T.fire(L(...f)),O=()=>N.on(A,k),R=()=>N.removeListener(A,k),T=new B({onWillAddFirstListener:O,onDidRemoveLastListener:R});return T.event}q.fromNodeEventEmitter=Q;function v(N,A,L=(k)=>k){let k=(...f)=>T.fire(L(...f)),O=()=>N.addEventListener(A,k),R=()=>N.removeEventListener(A,k),T=new B({onWillAddFirstListener:O,onDidRemoveLastListener:R});return T.event}q.fromDOMEventEmitter=v;function _(N){return new Promise((A)=>H(N)(A))}q.toPromise=_;function F0(N){let A=new B;return N.then((L)=>{A.fire(L)},()=>{A.fire(void 0)}).finally(()=>{A.dispose()}),A.event}q.fromPromise=F0;function A0(N,A){return N((L)=>A.fire(L))}q.forward=A0;function D0(N,A,L){return A(L),N((k)=>A(k))}q.runAndSubscribe=D0;class Z1{constructor(N,A){this._observable=N,this._counter=0,this._hasChanged=!1;let L={onWillAddFirstListener:()=>{N.addObserver(this)},onDidRemoveLastListener:()=>{N.removeObserver(this)}};A||G(L),this.emitter=new B(L),A&&A.add(this.emitter)}beginUpdate(N){this._counter++}handlePossibleChange(N){}handleChange(N,A){this._hasChanged=!0}endUpdate(N){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function d(N,A){return new Z1(N,A).emitter.event}q.fromObservable=d;function $2(N){return(A,L,k)=>{let O=0,R=!1,T={beginUpdate(){O++},endUpdate(){O--,O===0&&(N.reportChanges(),R&&(R=!1,A.call(L)))},handlePossibleChange(){},handleChange(){R=!0}};N.addObserver(T),N.reportChanges();let f={dispose(){N.removeObserver(T)}};return k instanceof c0?k.add(f):Array.isArray(k)&&k.push(f),f}}q.fromObservableLight=$2})($0||={});var I2=class q{constructor(G){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${G}_${q._idPool++}`,q.all.add(this)}start(G){this._stopWatch=new S5,this.listenerCount=G}stop(){if(this._stopWatch){let G=this._stopWatch.elapsed();this.durations.push(G),this.elapsedOverall+=G,this.invocationCount+=1,this._stopWatch=void 0}}};I2.all=new Set,I2._idPool=0;var v5=I2,D3=-1,Q4=class q{constructor(G,Y,H=(q._idPool++).toString(16).padStart(3,"0")){this._errorHandler=G,this.threshold=Y,this.name=H,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(G,Y){let H=this.threshold;if(H<=0||Y<H)return;this._stacks||(this._stacks=new Map);let F=this._stacks.get(G.value)||0;if(this._stacks.set(G.value,F+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=H*0.5;let[Z,$]=this.getMostFrequentStack(),V=`[${this.name}] potential listener LEAK detected, having ${Y} listeners already. MOST frequent listener (${$}):`;console.warn(V),console.warn(Z);let X=new E5(V,Z);this._errorHandler(X)}return()=>{let Z=this._stacks.get(G.value)||0;this._stacks.set(G.value,Z-1)}}getMostFrequentStack(){if(!this._stacks)return;let G,Y=0;for(let[H,F]of this._stacks)(!G||Y<F)&&(G=[H,F],Y=F);return G}};Q4._idPool=1;var _5=Q4,T2=class q{constructor(G){this.value=G}static create(){let G=Error();return new q(G.stack??"")}print(){console.warn(this.value.split(`
25
+ `).slice(2).join(`
26
+ `))}},E5=class extends Error{constructor(q,G){super(q),this.name="ListenerLeakError",this.stack=G}},m5=class extends Error{constructor(q,G){super(q),this.name="ListenerRefusalError",this.stack=G}},b5=0,p1=class{constructor(q){this.value=q,this.id=b5++}},p5=2,g5=(q,G)=>{if(q instanceof p1)G(q);else for(let Y=0;Y<q.length;Y++){let H=q[Y];H&&G(H)}},g1;if(I5){let q=[];setInterval(()=>{q.length!==0&&(console.warn("[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:"),console.warn(q.join(`
27
+ `)),q.length=0)},3000),g1=new FinalizationRegistry((G)=>{typeof G=="string"&&q.push(G)})}var B=class{constructor(q){this._size=0,this._options=q,this._leakageMon=D3>0||this._options?.leakWarningThreshold?new _5(q?.onListenerError??b1,this._options?.leakWarningThreshold??D3):void 0,this._perfMon=this._options?._profName?new v5(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(R3){let q=this._listeners;queueMicrotask(()=>{g5(q,(G)=>G.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(q,G,Y)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let V=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(V);let X=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],J=new m5(`${V}. HINT: Stack shows most frequent listener (${X[1]}-times)`,X[0]);return(this._options?.onListenerError||b1)(J),y.None}if(this._disposed)return y.None;G&&(q=q.bind(G));let H=new p1(q),F,Z;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*0.2)&&(H.stack=T2.create(),F=this._leakageMon.check(H.stack,this._size+1)),R3&&(H.stack=Z??T2.create()),this._listeners?this._listeners instanceof p1?(this._deliveryQueue??=new d5,this._listeners=[this._listeners,H]):this._listeners.push(H):(this._options?.onWillAddFirstListener?.(this),this._listeners=H,this._options?.onDidAddFirstListener?.(this)),this._size++;let $=g(()=>{g1?.unregister($),F?.(),this._removeListener(H)});if(Y instanceof c0?Y.add($):Array.isArray(Y)&&Y.push($),g1){let V=Error().stack.split(`
28
+ `).slice(2,3).join(`
29
+ `).trim(),X=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(V);g1.register($,X?.[2]??V,$)}return $},this._event}_removeListener(q){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 G=this._listeners,Y=G.indexOf(q);if(Y===-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--,G[Y]=void 0;let H=this._deliveryQueue.current===this;if(this._size*p5<=G.length){let F=0;for(let Z=0;Z<G.length;Z++)G[Z]?G[F++]=G[Z]:H&&(this._deliveryQueue.end--,F<this._deliveryQueue.i&&this._deliveryQueue.i--);G.length=F}}_deliver(q,G){if(!q)return;let Y=this._options?.onListenerError||b1;if(!Y){q.value(G);return}try{q.value(G)}catch(H){Y(H)}}_deliverQueue(q){let G=q.current._listeners;for(;q.i<q.end;)this._deliver(G[q.i++],q.value);q.reset()}fire(q){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof p1)this._deliver(this._listeners,q);else{let G=this._deliveryQueue;G.enqueue(this,q,this._listeners.length),this._deliverQueue(G)}this._perfMon?.stop()}hasListeners(){return this._size>0}},d5=class{constructor(){this.i=-1,this.end=0}enqueue(q,G,Y){this.i=0,this.end=Y,this.current=q,this.value=G}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},v2=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new B,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new B,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(G){return this.mapWindowIdToZoomLevel.get(this.getWindowId(G))??0}setZoomLevel(G,Y){if(this.getZoomLevel(Y)===G)return;let H=this.getWindowId(Y);this.mapWindowIdToZoomLevel.set(H,G),this._onDidChangeZoomLevel.fire(H)}getZoomFactor(G){return this.mapWindowIdToZoomFactor.get(this.getWindowId(G))??1}setZoomFactor(G,Y){this.mapWindowIdToZoomFactor.set(this.getWindowId(Y),G)}setFullscreen(G,Y){if(this.isFullscreen(Y)===G)return;let H=this.getWindowId(Y);this.mapWindowIdToFullScreen.set(H,G),this._onDidChangeFullscreen.fire(H)}isFullscreen(G){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(G))}getWindowId(G){return G.vscodeWindowId}};v2.INSTANCE=new v2;var Y3=v2;function f5(q,G,Y){typeof G=="string"&&(G=q.matchMedia(G)),G.addEventListener("change",Y)}var E8=Y3.INSTANCE.onDidChangeZoomLevel;function h5(q){return Y3.INSTANCE.getZoomFactor(q)}var m8=Y3.INSTANCE.onDidChangeFullscreen,F1=typeof navigator=="object"?navigator.userAgent:"",_2=F1.indexOf("Firefox")>=0,d1=F1.indexOf("AppleWebKit")>=0,H3=F1.indexOf("Chrome")>=0,O4=!H3&&F1.indexOf("Safari")>=0,b8=F1.indexOf("Electron/")>=0,p8=F1.indexOf("Android")>=0,f1=!1;if(typeof W0.matchMedia=="function"){let q=W0.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),G=W0.matchMedia("(display-mode: fullscreen)");f1=q.matches,f5(W0,q,({matches:Y})=>{f1&&G.matches||(f1=Y)})}function u5(){return f1}var G1="en",l1=!1,o1=!1,D1=!1,c5=!1,x4=!1,w4=!1,a5=!1,l5=!1,o5=!1,n5=!1,T1,h1=G1,k3=G1,s5,S0,T0=globalThis,K0;typeof T0.vscode<"u"&&typeof T0.vscode.process<"u"?K0=T0.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(K0=process);var y4=typeof K0?.versions?.electron=="string",r5=y4&&K0?.type==="renderer";if(typeof K0=="object"){l1=K0.platform==="win32",o1=K0.platform==="darwin",D1=K0.platform==="linux",c5=D1&&!!K0.env.SNAP&&!!K0.env.SNAP_REVISION,a5=y4,o5=!!K0.env.CI||!!K0.env.BUILD_ARTIFACTSTAGINGDIRECTORY,T1=G1,h1=G1;let q=K0.env.VSCODE_NLS_CONFIG;if(q)try{let G=JSON.parse(q);T1=G.userLocale,k3=G.osLocale,h1=G.resolvedLanguage||G1,s5=G.languagePack?.translationsConfigFile}catch{}x4=!0}else typeof navigator=="object"&&!r5?(S0=navigator.userAgent,l1=S0.indexOf("Windows")>=0,o1=S0.indexOf("Macintosh")>=0,l5=(S0.indexOf("Macintosh")>=0||S0.indexOf("iPad")>=0||S0.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,D1=S0.indexOf("Linux")>=0,n5=S0?.indexOf("Mobi")>=0,w4=!0,h1=globalThis._VSCODE_NLS_LANGUAGE||G1,T1=navigator.language.toLowerCase(),k3=T1):console.error("Unable to resolve platform.");var X2=0;o1?X2=1:l1?X2=3:D1&&(X2=2);var S4=l1,O0=o1,i5=D1,C2=x4,t5=w4&&typeof T0.importScripts=="function",g8=t5?T0.origin:void 0,x0=S0,p0=h1,e5;((q)=>{function G(){return p0}q.value=G;function Y(){return p0.length===2?p0==="en":p0.length>=3?p0[0]==="e"&&p0[1]==="n"&&p0[2]==="-":!1}q.isDefaultVariant=Y;function H(){return p0==="en"}q.isDefault=H})(e5||={});var q6=typeof T0.postMessage=="function"&&!T0.importScripts,G6=(()=>{if(q6){let q=[];T0.addEventListener("message",(Y)=>{if(Y.data&&Y.data.vscodeScheduleAsyncWork)for(let H=0,F=q.length;H<F;H++){let Z=q[H];if(Z.id===Y.data.vscodeScheduleAsyncWork){q.splice(H,1),Z.callback();return}}});let G=0;return(Y)=>{let H=++G;q.push({id:H,callback:Y}),T0.postMessage({vscodeScheduleAsyncWork:H},"*")}}return(q)=>setTimeout(q)})(),Y6=!!(x0&&x0.indexOf("Chrome")>=0),d8=!!(x0&&x0.indexOf("Firefox")>=0),f8=!!(!Y6&&x0&&x0.indexOf("Safari")>=0),h8=!!(x0&&x0.indexOf("Edg/")>=0),u8=!!(x0&&x0.indexOf("Android")>=0),g0=typeof navigator=="object"?navigator:{},c8={clipboard:{writeText:C2||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(g0&&g0.clipboard&&g0.clipboard.writeText),readText:C2||!!(g0&&g0.clipboard&&g0.clipboard.readText)},keyboard:C2||u5()?0:g0.keyboard||O4?1:2,touch:"ontouchstart"in W0||g0.maxTouchPoints>0,pointerEvents:W0.PointerEvent&&(("ontouchstart"in W0)||navigator.maxTouchPoints>0)},F3=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(q,G){this._keyCodeToStr[q]=G,this._strToKeyCode[G.toLowerCase()]=q}keyCodeToStr(q){return this._keyCodeToStr[q]}strToKeyCode(q){return this._strToKeyCode[q.toLowerCase()]||0}},M2=new F3,P3=new F3,L3=new F3,H6=Array(230),I4;((q)=>{function G(V){return M2.keyCodeToStr(V)}q.toString=G;function Y(V){return M2.strToKeyCode(V)}q.fromString=Y;function H(V){return P3.keyCodeToStr(V)}q.toUserSettingsUS=H;function F(V){return L3.keyCodeToStr(V)}q.toUserSettingsGeneral=F;function Z(V){return P3.strToKeyCode(V)||L3.strToKeyCode(V)}q.fromUserSettings=Z;function $(V){if(V>=98&&V<=113)return null;switch(V){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return M2.keyCodeToStr(V)}q.toElectronAccelerator=$})(I4||={});var F6=class q{constructor(G,Y,H,F,Z){this.ctrlKey=G,this.shiftKey=Y,this.altKey=H,this.metaKey=F,this.keyCode=Z}equals(G){return G instanceof q&&this.ctrlKey===G.ctrlKey&&this.shiftKey===G.shiftKey&&this.altKey===G.altKey&&this.metaKey===G.metaKey&&this.keyCode===G.keyCode}getHashCode(){let G=this.ctrlKey?"1":"0",Y=this.shiftKey?"1":"0",H=this.altKey?"1":"0",F=this.metaKey?"1":"0";return`K${G}${Y}${H}${F}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new Z6([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},Z6=class{constructor(q){if(q.length===0)throw U5("chords");this.chords=q}getHashCode(){let q="";for(let G=0,Y=this.chords.length;G<Y;G++)G!==0&&(q+=";"),q+=this.chords[G].getHashCode();return q}equals(q){if(q===null||this.chords.length!==q.chords.length)return!1;for(let G=0;G<this.chords.length;G++)if(!this.chords[G].equals(q.chords[G]))return!1;return!0}};function $6(q){if(q.charCode){let Y=String.fromCharCode(q.charCode).toUpperCase();return I4.fromString(Y)}let G=q.keyCode;if(G===3)return 7;if(_2)switch(G){case 59:return 85;case 60:if(i5)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(O0)return 57;break}else if(d1){if(O0&&G===93)return 57;if(!O0&&G===92)return 57}return H6[G]||0}var J6=O0?256:2048,V6=512,X6=1024,C6=O0?2048:256,E2=class{constructor(q){this._standardKeyboardEventBrand=!0;let G=q;this.browserEvent=G,this.target=G.target,this.ctrlKey=G.ctrlKey,this.shiftKey=G.shiftKey,this.altKey=G.altKey,this.metaKey=G.metaKey,this.altGraphKey=G.getModifierState?.("AltGraph"),this.keyCode=$6(G),this.code=G.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(q){return this._asKeybinding===q}_computeKeybinding(){let q=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(q=this.keyCode);let G=0;return this.ctrlKey&&(G|=J6),this.altKey&&(G|=V6),this.shiftKey&&(G|=X6),this.metaKey&&(G|=C6),G|=q,G}_computeKeyCodeChord(){let q=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(q=this.keyCode),new F6(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,q)}},Q3=new WeakMap;function M6(q){if(!q.parent||q.parent===q)return null;try{let G=q.location,Y=q.parent.location;if(G.origin!=="null"&&Y.origin!=="null"&&G.origin!==Y.origin)return null}catch{return null}return q.parent}var z6=class{static getSameOriginWindowChain(q){let G=Q3.get(q);if(!G){G=[],Q3.set(q,G);let Y=q,H;do H=M6(Y),H?G.push({window:new WeakRef(Y),iframeElement:Y.frameElement||null}):G.push({window:new WeakRef(Y),iframeElement:null}),Y=H;while(Y)}return G.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(q,G){if(!G||q===G)return{top:0,left:0};let Y=0,H=0,F=this.getSameOriginWindowChain(q);for(let Z of F){let $=Z.window.deref();if(Y+=$?.scrollY??0,H+=$?.scrollX??0,$===G||!Z.iframeElement)break;let V=Z.iframeElement.getBoundingClientRect();Y+=V.top,H+=V.left}return{top:Y,left:H}}},W1=class{constructor(q,G){this.timestamp=Date.now(),this.browserEvent=G,this.leftButton=G.button===0,this.middleButton=G.button===1,this.rightButton=G.button===2,this.buttons=G.buttons,this.target=G.target,this.detail=G.detail||1,G.type==="dblclick"&&(this.detail=2),this.ctrlKey=G.ctrlKey,this.shiftKey=G.shiftKey,this.altKey=G.altKey,this.metaKey=G.metaKey,typeof G.pageX=="number"?(this.posx=G.pageX,this.posy=G.pageY):(this.posx=G.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=G.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let Y=z6.getPositionOfChildWindowRelativeToAncestorWindow(q,G.view);this.posx-=Y.left,this.posy-=Y.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},O3=class{constructor(q,G=0,Y=0){this.browserEvent=q||null,this.target=q?q.target||q.targetNode||q.srcElement:null,this.deltaY=Y,this.deltaX=G;let H=!1;if(H3){let F=navigator.userAgent.match(/Chrome\/(\d+)/);H=(F?parseInt(F[1]):123)<=122}if(q){let F=q,Z=q,$=q.view?.devicePixelRatio||1;if(typeof F.wheelDeltaY<"u")H?this.deltaY=F.wheelDeltaY/(120*$):this.deltaY=F.wheelDeltaY/120;else if(typeof Z.VERTICAL_AXIS<"u"&&Z.axis===Z.VERTICAL_AXIS)this.deltaY=-Z.detail/3;else if(q.type==="wheel"){let V=q;V.deltaMode===V.DOM_DELTA_LINE?_2&&!O0?this.deltaY=-q.deltaY/3:this.deltaY=-q.deltaY:this.deltaY=-q.deltaY/40}if(typeof F.wheelDeltaX<"u")O4&&S4?this.deltaX=-(F.wheelDeltaX/120):H?this.deltaX=F.wheelDeltaX/(120*$):this.deltaX=F.wheelDeltaX/120;else if(typeof Z.HORIZONTAL_AXIS<"u"&&Z.axis===Z.HORIZONTAL_AXIS)this.deltaX=-q.detail/3;else if(q.type==="wheel"){let V=q;V.deltaMode===V.DOM_DELTA_LINE?_2&&!O0?this.deltaX=-q.deltaX/3:this.deltaX=-q.deltaX:this.deltaX=-q.deltaX/40}this.deltaY===0&&this.deltaX===0&&q.wheelDelta&&(H?this.deltaY=q.wheelDelta/(120*$):this.deltaY=q.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}},T4=Object.freeze(function(q,G){let Y=setTimeout(q.bind(G),0);return{dispose(){clearTimeout(Y)}}}),j6;((q)=>{function G(Y){return Y===q.None||Y===q.Cancelled||Y instanceof K6?!0:!Y||typeof Y!="object"?!1:typeof Y.isCancellationRequested=="boolean"&&typeof Y.onCancellationRequested=="function"}q.isCancellationToken=G,q.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:$0.None}),q.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:T4})})(j6||={});var K6=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?T4:(this._emitter||(this._emitter=new B),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},a8=Symbol("MicrotaskDelay"),Z3=class{constructor(q,G){this._isDisposed=!1,this._token=-1,typeof q=="function"&&typeof G=="number"&&this.setIfNotSet(q,G)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(q,G){if(this._isDisposed)throw new y2("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,q()},G)}setIfNotSet(q,G){if(this._isDisposed)throw new y2("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,q()},G))}},W6=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(q,G,Y=globalThis){if(this.isDisposed)throw new y2("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let H=Y.setInterval(()=>{q()},G);this.disposable=g(()=>{Y.clearInterval(H),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},U6,z2;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?z2=(q,G)=>{G6(()=>{if(Y)return;let H=Date.now()+15;G(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,H-Date.now())}}))});let Y=!1;return{dispose(){Y||(Y=!0)}}}:z2=(q,G,Y)=>{let H=q.requestIdleCallback(G,typeof Y=="number"?{timeout:Y}:void 0),F=!1;return{dispose(){F||(F=!0,q.cancelIdleCallback(H))}}},U6=(q)=>z2(globalThis,q)})();var N6;((q)=>{async function G(H){let F,Z=await Promise.all(H.map(($)=>$.then((V)=>V,(V)=>{F||(F=V)})));if(typeof F<"u")throw F;return Z}q.settled=G;function Y(H){return new Promise(async(F,Z)=>{try{await H(F,Z)}catch($){Z($)}})}q.withAsyncBody=Y})(N6||={});var x3=class q{static fromArray(G){return new q((Y)=>{Y.emitMany(G)})}static fromPromise(G){return new q(async(Y)=>{Y.emitMany(await G)})}static fromPromises(G){return new q(async(Y)=>{await Promise.all(G.map(async(H)=>Y.emitOne(await H)))})}static merge(G){return new q(async(Y)=>{await Promise.all(G.map(async(H)=>{for await(let F of H)Y.emitOne(F)}))})}constructor(G,Y){this._state=0,this._results=[],this._error=null,this._onReturn=Y,this._onStateChanged=new B,queueMicrotask(async()=>{let H={emitOne:(F)=>this.emitOne(F),emitMany:(F)=>this.emitMany(F),reject:(F)=>this.reject(F)};try{await Promise.resolve(G(H)),this.resolve()}catch(F){this.reject(F)}finally{H.emitOne=void 0,H.emitMany=void 0,H.reject=void 0}})}[Symbol.asyncIterator](){let G=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(G<this._results.length)return{done:!1,value:this._results[G++]};if(this._state===1)return{done:!0,value:void 0};await $0.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(G,Y){return new q(async(H)=>{for await(let F of G)H.emitOne(Y(F))})}map(G){return q.map(this,G)}static filter(G,Y){return new q(async(H)=>{for await(let F of G)Y(F)&&H.emitOne(F)})}filter(G){return q.filter(this,G)}static coalesce(G){return q.filter(G,(Y)=>!!Y)}coalesce(){return q.coalesce(this)}static async toPromise(G){let Y=[];for await(let H of G)Y.push(H);return Y}toPromise(){return q.toPromise(this)}emitOne(G){this._state===0&&(this._results.push(G),this._onStateChanged.fire())}emitMany(G){this._state===0&&(this._results=this._results.concat(G),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(G){this._state===0&&(this._state=2,this._error=G,this._onStateChanged.fire())}};x3.EMPTY=x3.fromArray([]);function B6(q){return 55296<=q&&q<=56319}function w3(q){return 56320<=q&&q<=57343}function A6(q,G){return(q-55296<<10)+(G-56320)+65536}function R6(q){return $3(q,0)}function $3(q,G){switch(typeof q){case"object":return q===null?I0(349,G):Array.isArray(q)?k6(q,G):P6(q,G);case"string":return v4(q,G);case"boolean":return D6(q,G);case"number":return I0(q,G);case"undefined":return I0(937,G);default:return I0(617,G)}}function I0(q,G){return(G<<5)-G+q|0}function D6(q,G){return I0(q?433:863,G)}function v4(q,G){G=I0(149417,G);for(let Y=0,H=q.length;Y<H;Y++)G=I0(q.charCodeAt(Y),G);return G}function k6(q,G){return G=I0(104579,G),q.reduce((Y,H)=>$3(H,Y),G)}function P6(q,G){return G=I0(181387,G),Object.keys(q).sort().reduce((Y,H)=>(Y=v4(H,Y),$3(q[H],Y)),G)}function j2(q,G,Y=32){let H=Y-G,F=~((1<<H)-1);return(q<<G|(F&q)>>>H)>>>0}function y3(q,G=0,Y=q.byteLength,H=0){for(let F=0;F<Y;F++)q[G+F]=H}function L6(q,G,Y="0"){for(;q.length<G;)q=Y+q;return q}function V1(q,G=32){return q instanceof ArrayBuffer?Array.from(new Uint8Array(q)).map((Y)=>Y.toString(16).padStart(2,"0")).join(""):L6((q>>>0).toString(16),G/4)}var Q6=class q{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(G){let Y=G.length;if(Y===0)return;let H=this._buff,F=this._buffLen,Z=this._leftoverHighSurrogate,$,V;for(Z!==0?($=Z,V=-1,Z=0):($=G.charCodeAt(0),V=0);;){let X=$;if(B6($))if(V+1<Y){let J=G.charCodeAt(V+1);w3(J)?(V++,X=A6($,J)):X=65533}else{Z=$;break}else w3($)&&(X=65533);if(F=this._push(H,F,X),V++,V<Y)$=G.charCodeAt(V);else break}this._buffLen=F,this._leftoverHighSurrogate=Z}_push(G,Y,H){return H<128?G[Y++]=H:H<2048?(G[Y++]=192|(H&1984)>>>6,G[Y++]=128|(H&63)>>>0):H<65536?(G[Y++]=224|(H&61440)>>>12,G[Y++]=128|(H&4032)>>>6,G[Y++]=128|(H&63)>>>0):(G[Y++]=240|(H&1835008)>>>18,G[Y++]=128|(H&258048)>>>12,G[Y++]=128|(H&4032)>>>6,G[Y++]=128|(H&63)>>>0),Y>=64&&(this._step(),Y-=64,this._totalLen+=64,G[0]=G[64],G[1]=G[65],G[2]=G[66]),Y}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),V1(this._h0)+V1(this._h1)+V1(this._h2)+V1(this._h3)+V1(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,y3(this._buff,this._buffLen),this._buffLen>56&&(this._step(),y3(this._buff));let G=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(G/4294967296),!1),this._buffDV.setUint32(60,G%4294967296,!1),this._step()}_step(){let G=q._bigBlock32,Y=this._buffDV;for(let C=0;C<64;C+=4)G.setUint32(C,Y.getUint32(C,!1),!1);for(let C=64;C<320;C+=4)G.setUint32(C,j2(G.getUint32(C-12,!1)^G.getUint32(C-32,!1)^G.getUint32(C-56,!1)^G.getUint32(C-64,!1),1),!1);let H=this._h0,F=this._h1,Z=this._h2,$=this._h3,V=this._h4,X,J,M;for(let C=0;C<80;C++)C<20?(X=F&Z|~F&$,J=1518500249):C<40?(X=F^Z^$,J=1859775393):C<60?(X=F&Z|F&$|Z&$,J=2400959708):(X=F^Z^$,J=3395469782),M=j2(H,5)+X+V+J+G.getUint32(C*4,!1)&4294967295,V=$,$=Z,Z=j2(F,30),F=H,H=M;this._h0=this._h0+H&4294967295,this._h1=this._h1+F&4294967295,this._h2=this._h2+Z&4294967295,this._h3=this._h3+$&4294967295,this._h4=this._h4+V&4294967295}};Q6._bigBlock32=new DataView(new ArrayBuffer(320));var{registerWindow:l8,getWindow:R0,getDocument:o8,getWindows:n8,getWindowsCount:s8,getWindowId:S3,getWindowById:r8,hasWindow:i8,onDidRegisterWindow:O6,onWillUnregisterWindow:t8,onDidUnregisterWindow:e8}=function(){let q=new Map,G={window:W0,disposables:new c0};q.set(W0.vscodeWindowId,G);let Y=new B,H=new B,F=new B;function Z($,V){return(typeof $=="number"?q.get($):void 0)??(V?G:void 0)}return{onDidRegisterWindow:Y.event,onWillUnregisterWindow:F.event,onDidUnregisterWindow:H.event,registerWindow($){if(q.has($.vscodeWindowId))return y.None;let V=new c0,X={window:$,disposables:V.add(new c0)};return q.set($.vscodeWindowId,X),V.add(g(()=>{q.delete($.vscodeWindowId),H.fire($)})),V.add(w($,e.BEFORE_UNLOAD,()=>{F.fire($)})),Y.fire(X),V},getWindows(){return q.values()},getWindowsCount(){return q.size},getWindowId($){return $.vscodeWindowId},hasWindow($){return q.has($)},getWindowById:Z,getWindow($){let V=$;if(V?.ownerDocument?.defaultView)return V.ownerDocument.defaultView.window;let X=$;return X?.view?X.view.window:W0},getDocument($){return R0($).document}}}(),x6=class{constructor(q,G,Y,H){this._node=q,this._type=G,this._handler=Y,this._options=H||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function w(q,G,Y,H){return new x6(q,G,Y,H)}function w6(q,G){return function(Y){return G(new W1(q,Y))}}function y6(q){return function(G){return q(new E2(G))}}var I3=function(q,G,Y,H){let F=Y;return G==="click"||G==="mousedown"||G==="contextmenu"?F=w6(R0(q),Y):(G==="keydown"||G==="keypress"||G==="keyup")&&(F=y6(Y)),w(q,G,F,H)},S6,n1,I6=class extends W6{constructor(q){super(),this.defaultTarget=q&&R0(q)}cancelAndSet(q,G,Y){return super.cancelAndSet(q,G,Y??this.defaultTarget)}},K2=class{constructor(q,G=0){this._runner=q,this.priority=G,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(q){b1(q)}}static sort(q,G){return G.priority-q.priority}};(function(){let q=new Map,G=new Map,Y=new Map,H=new Map,F=(Z)=>{Y.set(Z,!1);let $=q.get(Z)??[];for(G.set(Z,$),q.set(Z,[]),H.set(Z,!0);$.length>0;)$.sort(K2.sort),$.shift().execute();H.set(Z,!1)};n1=(Z,$,V=0)=>{let X=S3(Z),J=new K2($,V),M=q.get(X);return M||(M=[],q.set(X,M)),M.push(J),Y.get(X)||(Y.set(X,!0),Z.requestAnimationFrame(()=>F(X))),J},S6=(Z,$,V)=>{let X=S3(Z);if(H.get(X)){let J=new K2($,V),M=G.get(X);return M||(M=[],G.set(X,M)),M.push(J),J}else return n1(Z,$,V)}})();var T3=class q{constructor(G,Y){this.width=G,this.height=Y}with(G=this.width,Y=this.height){return G!==this.width||Y!==this.height?new q(G,Y):this}static is(G){return typeof G=="object"&&typeof G.height=="number"&&typeof G.width=="number"}static lift(G){return G instanceof q?G:new q(G.width,G.height)}static equals(G,Y){return G===Y?!0:!G||!Y?!1:G.width===Y.width&&G.height===Y.height}};T3.None=new T3(0,0);function T6(q){let G=q.getBoundingClientRect(),Y=R0(q);return{left:G.left+Y.scrollX,top:G.top+Y.scrollY,width:G.width,height:G.height}}var q9=new class{constructor(){this.mutationObservers=new Map}observe(q,G,Y){let H=this.mutationObservers.get(q);H||(H=new Map,this.mutationObservers.set(q,H));let F=R6(Y),Z=H.get(F);if(Z)Z.users+=1;else{let $=new B,V=new MutationObserver((J)=>$.fire(J));V.observe(q,Y);let X=Z={users:1,observer:V,onDidMutate:$.event};G.add(g(()=>{X.users-=1,X.users===0&&($.dispose(),V.disconnect(),H?.delete(F),H?.size===0&&this.mutationObservers.delete(q))})),H.set(F,Z)}return Z.onDidMutate}},e={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:d1?"webkitAnimationStart":"animationstart",ANIMATION_END:d1?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:d1?"webkitAnimationIteration":"animationiteration"},v6=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;function _4(q,G,Y,...H){let F=v6.exec(G);if(!F)throw Error("Bad use of emmet");let Z=F[1]||"div",$;return q!=="http://www.w3.org/1999/xhtml"?$=document.createElementNS(q,Z):$=document.createElement(Z),F[3]&&($.id=F[3]),F[4]&&($.className=F[4].replace(/\./g," ").trim()),Y&&Object.entries(Y).forEach(([V,X])=>{typeof X>"u"||(/^on\w+$/.test(V)?$[V]=X:V==="selected"?X&&$.setAttribute(V,"true"):$.setAttribute(V,X))}),$.append(...H),$}function _6(q,G,...Y){return _4("http://www.w3.org/1999/xhtml",q,G,...Y)}_6.SVG=function(q,G,...Y){return _4("http://www.w3.org/2000/svg",q,G,...Y)};var E6=class{constructor(q){this.domNode=q,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(q){let G=M0(q);this._maxWidth!==G&&(this._maxWidth=G,this.domNode.style.maxWidth=this._maxWidth)}setWidth(q){let G=M0(q);this._width!==G&&(this._width=G,this.domNode.style.width=this._width)}setHeight(q){let G=M0(q);this._height!==G&&(this._height=G,this.domNode.style.height=this._height)}setTop(q){let G=M0(q);this._top!==G&&(this._top=G,this.domNode.style.top=this._top)}setLeft(q){let G=M0(q);this._left!==G&&(this._left=G,this.domNode.style.left=this._left)}setBottom(q){let G=M0(q);this._bottom!==G&&(this._bottom=G,this.domNode.style.bottom=this._bottom)}setRight(q){let G=M0(q);this._right!==G&&(this._right=G,this.domNode.style.right=this._right)}setPaddingTop(q){let G=M0(q);this._paddingTop!==G&&(this._paddingTop=G,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(q){let G=M0(q);this._paddingLeft!==G&&(this._paddingLeft=G,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(q){let G=M0(q);this._paddingBottom!==G&&(this._paddingBottom=G,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(q){let G=M0(q);this._paddingRight!==G&&(this._paddingRight=G,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(q){this._fontFamily!==q&&(this._fontFamily=q,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(q){this._fontWeight!==q&&(this._fontWeight=q,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(q){let G=M0(q);this._fontSize!==G&&(this._fontSize=G,this.domNode.style.fontSize=this._fontSize)}setFontStyle(q){this._fontStyle!==q&&(this._fontStyle=q,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(q){this._fontFeatureSettings!==q&&(this._fontFeatureSettings=q,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(q){this._fontVariationSettings!==q&&(this._fontVariationSettings=q,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(q){this._textDecoration!==q&&(this._textDecoration=q,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(q){let G=M0(q);this._lineHeight!==G&&(this._lineHeight=G,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(q){let G=M0(q);this._letterSpacing!==G&&(this._letterSpacing=G,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(q){this._className!==q&&(this._className=q,this.domNode.className=this._className)}toggleClassName(q,G){this.domNode.classList.toggle(q,G),this._className=this.domNode.className}setDisplay(q){this._display!==q&&(this._display=q,this.domNode.style.display=this._display)}setPosition(q){this._position!==q&&(this._position=q,this.domNode.style.position=this._position)}setVisibility(q){this._visibility!==q&&(this._visibility=q,this.domNode.style.visibility=this._visibility)}setColor(q){this._color!==q&&(this._color=q,this.domNode.style.color=this._color)}setBackgroundColor(q){this._backgroundColor!==q&&(this._backgroundColor=q,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(q){this._layerHint!==q&&(this._layerHint=q,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(q){this._boxShadow!==q&&(this._boxShadow=q,this.domNode.style.boxShadow=q)}setContain(q){this._contain!==q&&(this._contain=q,this.domNode.style.contain=this._contain)}setAttribute(q,G){this.domNode.setAttribute(q,G)}removeAttribute(q){this.domNode.removeAttribute(q)}appendChild(q){this.domNode.appendChild(q.domNode)}removeChild(q){this.domNode.removeChild(q.domNode)}};function M0(q){return typeof q=="number"?`${q}px`:q}function k1(q){return new E6(q)}var E4=class{constructor(){this._hooks=new c0,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(q,G){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let Y=this._onStopCallback;this._onStopCallback=null,q&&Y&&Y(G)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(q,G,Y,H,F){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=H,this._onStopCallback=F;let Z=q;try{q.setPointerCapture(G),this._hooks.add(g(()=>{try{q.releasePointerCapture(G)}catch{}}))}catch{Z=R0(q)}this._hooks.add(w(Z,e.POINTER_MOVE,($)=>{if($.buttons!==Y){this.stopMonitoring(!0);return}$.preventDefault(),this._pointerMoveCallback($)})),this._hooks.add(w(Z,e.POINTER_UP,($)=>this.stopMonitoring(!0)))}};function m6(q,G,Y){let H=null,F=null;if(typeof Y.value=="function"?(H="value",F=Y.value,F.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof Y.get=="function"&&(H="get",F=Y.get),!F)throw Error("not supported");let Z=`$memoize$${G}`;Y[H]=function(...$){return this.hasOwnProperty(Z)||Object.defineProperty(this,Z,{configurable:!1,enumerable:!1,writable:!1,value:F.apply(this,$)}),this[Z]}}var Q0;((q)=>(q.Tap="-xterm-gesturetap",q.Change="-xterm-gesturechange",q.Start="-xterm-gesturestart",q.End="-xterm-gesturesend",q.Contextmenu="-xterm-gesturecontextmenu"))(Q0||={});var U1=class q extends y{constructor(){super();this.dispatched=!1,this.targets=new A3,this.ignoreTargets=new A3,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register($0.runAndSubscribe(O6,({window:G,disposables:Y})=>{Y.add(w(G.document,"touchstart",(H)=>this.onTouchStart(H),{passive:!1})),Y.add(w(G.document,"touchend",(H)=>this.onTouchEnd(G,H))),Y.add(w(G.document,"touchmove",(H)=>this.onTouchMove(H),{passive:!1}))},{window:W0,disposables:this._store}))}static addTarget(G){if(!q.isTouchDevice())return y.None;q.INSTANCE||(q.INSTANCE=B3(new q));let Y=q.INSTANCE.targets.push(G);return g(Y)}static ignoreTarget(G){if(!q.isTouchDevice())return y.None;q.INSTANCE||(q.INSTANCE=B3(new q));let Y=q.INSTANCE.ignoreTargets.push(G);return g(Y)}static isTouchDevice(){return"ontouchstart"in W0||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(G){let Y=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let H=0,F=G.targetTouches.length;H<F;H++){let Z=G.targetTouches.item(H);this.activeTouches[Z.identifier]={id:Z.identifier,initialTarget:Z.target,initialTimeStamp:Y,initialPageX:Z.pageX,initialPageY:Z.pageY,rollingTimestamps:[Y],rollingPageX:[Z.pageX],rollingPageY:[Z.pageY]};let $=this.newGestureEvent(Q0.Start,Z.target);$.pageX=Z.pageX,$.pageY=Z.pageY,this.dispatchEvent($)}this.dispatched&&(G.preventDefault(),G.stopPropagation(),this.dispatched=!1)}onTouchEnd(G,Y){let H=Date.now(),F=Object.keys(this.activeTouches).length;for(let Z=0,$=Y.changedTouches.length;Z<$;Z++){let V=Y.changedTouches.item(Z);if(!this.activeTouches.hasOwnProperty(String(V.identifier))){console.warn("move of an UNKNOWN touch",V);continue}let X=this.activeTouches[V.identifier],J=Date.now()-X.initialTimeStamp;if(J<q.HOLD_DELAY&&Math.abs(X.initialPageX-z0(X.rollingPageX))<30&&Math.abs(X.initialPageY-z0(X.rollingPageY))<30){let M=this.newGestureEvent(Q0.Tap,X.initialTarget);M.pageX=z0(X.rollingPageX),M.pageY=z0(X.rollingPageY),this.dispatchEvent(M)}else if(J>=q.HOLD_DELAY&&Math.abs(X.initialPageX-z0(X.rollingPageX))<30&&Math.abs(X.initialPageY-z0(X.rollingPageY))<30){let M=this.newGestureEvent(Q0.Contextmenu,X.initialTarget);M.pageX=z0(X.rollingPageX),M.pageY=z0(X.rollingPageY),this.dispatchEvent(M)}else if(F===1){let M=z0(X.rollingPageX),C=z0(X.rollingPageY),j=z0(X.rollingTimestamps)-X.rollingTimestamps[0],K=M-X.rollingPageX[0],z=C-X.rollingPageY[0],W=[...this.targets].filter((P)=>X.initialTarget instanceof Node&&P.contains(X.initialTarget));this.inertia(G,W,H,Math.abs(K)/j,K>0?1:-1,M,Math.abs(z)/j,z>0?1:-1,C)}this.dispatchEvent(this.newGestureEvent(Q0.End,X.initialTarget)),delete this.activeTouches[V.identifier]}this.dispatched&&(Y.preventDefault(),Y.stopPropagation(),this.dispatched=!1)}newGestureEvent(G,Y){let H=document.createEvent("CustomEvent");return H.initEvent(G,!1,!0),H.initialTarget=Y,H.tapCount=0,H}dispatchEvent(G){if(G.type===Q0.Tap){let Y=new Date().getTime(),H=0;Y-this._lastSetTapCountTime>q.CLEAR_TAP_COUNT_TIME?H=1:H=2,this._lastSetTapCountTime=Y,G.tapCount=H}else(G.type===Q0.Change||G.type===Q0.Contextmenu)&&(this._lastSetTapCountTime=0);if(G.initialTarget instanceof Node){for(let H of this.ignoreTargets)if(H.contains(G.initialTarget))return;let Y=[];for(let H of this.targets)if(H.contains(G.initialTarget)){let F=0,Z=G.initialTarget;for(;Z&&Z!==H;)F++,Z=Z.parentElement;Y.push([F,H])}Y.sort((H,F)=>H[0]-F[0]);for(let[H,F]of Y)F.dispatchEvent(G),this.dispatched=!0}}inertia(G,Y,H,F,Z,$,V,X,J){this.handle=n1(G,()=>{let M=Date.now(),C=M-H,j=0,K=0,z=!0;F+=q.SCROLL_FRICTION*C,V+=q.SCROLL_FRICTION*C,F>0&&(z=!1,j=Z*F*C),V>0&&(z=!1,K=X*V*C);let W=this.newGestureEvent(Q0.Change);W.translationX=j,W.translationY=K,Y.forEach((P)=>P.dispatchEvent(W)),z||this.inertia(G,Y,M,F,Z,$+j,V,X,J+K)})}onTouchMove(G){let Y=Date.now();for(let H=0,F=G.changedTouches.length;H<F;H++){let Z=G.changedTouches.item(H);if(!this.activeTouches.hasOwnProperty(String(Z.identifier))){console.warn("end of an UNKNOWN touch",Z);continue}let $=this.activeTouches[Z.identifier],V=this.newGestureEvent(Q0.Change,$.initialTarget);V.translationX=Z.pageX-z0($.rollingPageX),V.translationY=Z.pageY-z0($.rollingPageY),V.pageX=Z.pageX,V.pageY=Z.pageY,this.dispatchEvent(V),$.rollingPageX.length>3&&($.rollingPageX.shift(),$.rollingPageY.shift(),$.rollingTimestamps.shift()),$.rollingPageX.push(Z.pageX),$.rollingPageY.push(Z.pageY),$.rollingTimestamps.push(Y)}this.dispatched&&(G.preventDefault(),G.stopPropagation(),this.dispatched=!1)}};U1.SCROLL_FRICTION=-0.005,U1.HOLD_DELAY=700,U1.CLEAR_TAP_COUNT_TIME=400,a([m6],U1,"isTouchDevice",1);var b6=U1,J3=class extends y{onclick(q,G){this._register(w(q,e.CLICK,(Y)=>G(new W1(R0(q),Y))))}onmousedown(q,G){this._register(w(q,e.MOUSE_DOWN,(Y)=>G(new W1(R0(q),Y))))}onmouseover(q,G){this._register(w(q,e.MOUSE_OVER,(Y)=>G(new W1(R0(q),Y))))}onmouseleave(q,G){this._register(w(q,e.MOUSE_LEAVE,(Y)=>G(new W1(R0(q),Y))))}onkeydown(q,G){this._register(w(q,e.KEY_DOWN,(Y)=>G(new E2(Y))))}onkeyup(q,G){this._register(w(q,e.KEY_UP,(Y)=>G(new E2(Y))))}oninput(q,G){this._register(w(q,e.INPUT,G))}onblur(q,G){this._register(w(q,e.BLUR,G))}onfocus(q,G){this._register(w(q,e.FOCUS,G))}onchange(q,G){this._register(w(q,e.CHANGE,G))}ignoreGesture(q){return b6.ignoreTarget(q)}},v3=11,p6=class extends J3{constructor(q){super(),this._onActivate=q.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=q.bgWidth+"px",this.bgDomNode.style.height=q.bgHeight+"px",typeof q.top<"u"&&(this.bgDomNode.style.top="0px"),typeof q.left<"u"&&(this.bgDomNode.style.left="0px"),typeof q.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof q.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=q.className,this.domNode.style.position="absolute",this.domNode.style.width=v3+"px",this.domNode.style.height=v3+"px",typeof q.top<"u"&&(this.domNode.style.top=q.top+"px"),typeof q.left<"u"&&(this.domNode.style.left=q.left+"px"),typeof q.bottom<"u"&&(this.domNode.style.bottom=q.bottom+"px"),typeof q.right<"u"&&(this.domNode.style.right=q.right+"px"),this._pointerMoveMonitor=this._register(new E4),this._register(I3(this.bgDomNode,e.POINTER_DOWN,(G)=>this._arrowPointerDown(G))),this._register(I3(this.domNode,e.POINTER_DOWN,(G)=>this._arrowPointerDown(G))),this._pointerdownRepeatTimer=this._register(new I6),this._pointerdownScheduleRepeatTimer=this._register(new Z3)}_arrowPointerDown(q){if(!q.target||!(q.target instanceof Element))return;let G=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),41.666666666666664,R0(q))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(G,200),this._pointerMoveMonitor.startMonitoring(q.target,q.pointerId,q.buttons,(Y)=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),q.preventDefault()}},g6=class q{constructor(G,Y,H,F,Z,$,V){this._forceIntegerValues=G,this._scrollStateBrand=void 0,this._forceIntegerValues&&(Y=Y|0,H=H|0,F=F|0,Z=Z|0,$=$|0,V=V|0),this.rawScrollLeft=F,this.rawScrollTop=V,Y<0&&(Y=0),F+Y>H&&(F=H-Y),F<0&&(F=0),Z<0&&(Z=0),V+Z>$&&(V=$-Z),V<0&&(V=0),this.width=Y,this.scrollWidth=H,this.scrollLeft=F,this.height=Z,this.scrollHeight=$,this.scrollTop=V}equals(G){return this.rawScrollLeft===G.rawScrollLeft&&this.rawScrollTop===G.rawScrollTop&&this.width===G.width&&this.scrollWidth===G.scrollWidth&&this.scrollLeft===G.scrollLeft&&this.height===G.height&&this.scrollHeight===G.scrollHeight&&this.scrollTop===G.scrollTop}withScrollDimensions(G,Y){return new q(this._forceIntegerValues,typeof G.width<"u"?G.width:this.width,typeof G.scrollWidth<"u"?G.scrollWidth:this.scrollWidth,Y?this.rawScrollLeft:this.scrollLeft,typeof G.height<"u"?G.height:this.height,typeof G.scrollHeight<"u"?G.scrollHeight:this.scrollHeight,Y?this.rawScrollTop:this.scrollTop)}withScrollPosition(G){return new q(this._forceIntegerValues,this.width,this.scrollWidth,typeof G.scrollLeft<"u"?G.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof G.scrollTop<"u"?G.scrollTop:this.rawScrollTop)}createScrollEvent(G,Y){let H=this.width!==G.width,F=this.scrollWidth!==G.scrollWidth,Z=this.scrollLeft!==G.scrollLeft,$=this.height!==G.height,V=this.scrollHeight!==G.scrollHeight,X=this.scrollTop!==G.scrollTop;return{inSmoothScrolling:Y,oldWidth:G.width,oldScrollWidth:G.scrollWidth,oldScrollLeft:G.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:G.height,oldScrollHeight:G.scrollHeight,oldScrollTop:G.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:H,scrollWidthChanged:F,scrollLeftChanged:Z,heightChanged:$,scrollHeightChanged:V,scrollTopChanged:X}}},d6=class extends y{constructor(q){super();this._scrollableBrand=void 0,this._onScroll=this._register(new B),this.onScroll=this._onScroll.event,this._smoothScrollDuration=q.smoothScrollDuration,this._scheduleAtNextAnimationFrame=q.scheduleAtNextAnimationFrame,this._state=new g6(q.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(q){this._smoothScrollDuration=q}validateScrollPosition(q){return this._state.withScrollPosition(q)}getScrollDimensions(){return this._state}setScrollDimensions(q,G){let Y=this._state.withScrollDimensions(q,G);this._setState(Y,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(q){let G=this._state.withScrollPosition(q);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(G,!1)}setScrollPositionSmooth(q,G){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(q);if(this._smoothScrolling){q={scrollLeft:typeof q.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:q.scrollLeft,scrollTop:typeof q.scrollTop>"u"?this._smoothScrolling.to.scrollTop:q.scrollTop};let Y=this._state.withScrollPosition(q);if(this._smoothScrolling.to.scrollLeft===Y.scrollLeft&&this._smoothScrolling.to.scrollTop===Y.scrollTop)return;let H;G?H=new E3(this._smoothScrolling.from,Y,this._smoothScrolling.startTime,this._smoothScrolling.duration):H=this._smoothScrolling.combine(this._state,Y,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=H}else{let Y=this._state.withScrollPosition(q);this._smoothScrolling=E3.start(this._state,Y,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 q=this._smoothScrolling.tick(),G=this._state.withScrollPosition(q);if(this._setState(G,!0),!!this._smoothScrolling){if(q.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(q,G){let Y=this._state;Y.equals(q)||(this._state=q,this._onScroll.fire(this._state.createScrollEvent(Y,G)))}},_3=class{constructor(q,G,Y){this.scrollLeft=q,this.scrollTop=G,this.isDone=Y}};function W2(q,G){let Y=G-q;return function(H){return q+Y*u6(H)}}function f6(q,G,Y){return function(H){return H<Y?q(H/Y):G((H-Y)/(1-Y))}}var E3=class q{constructor(G,Y,H,F){this.from=G,this.to=Y,this.duration=F,this.startTime=H,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(G,Y,H){if(Math.abs(G-Y)>2.5*H){let F,Z;return G<Y?(F=G+0.75*H,Z=Y-0.75*H):(F=G-0.75*H,Z=Y+0.75*H),f6(W2(G,F),W2(Z,Y),0.33)}return W2(G,Y)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(G){this.to=G.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(G){let Y=(G-this.startTime)/this.duration;if(Y<1){let H=this.scrollLeft(Y),F=this.scrollTop(Y);return new _3(H,F,!1)}return new _3(this.to.scrollLeft,this.to.scrollTop,!0)}combine(G,Y,H){return q.start(G,Y,H)}static start(G,Y,H){H=H+10;let F=Date.now()-10;return new q(G,Y,F,H)}};function h6(q){return Math.pow(q,3)}function u6(q){return 1-h6(1-q)}var c6=class extends y{constructor(q,G,Y){super(),this._visibility=q,this._visibleClassName=G,this._invisibleClassName=Y,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new Z3)}setVisibility(q){this._visibility!==q&&(this._visibility=q,this._updateShouldBeVisible())}setShouldBeVisible(q){this._rawShouldBeVisible=q,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){let q=this._applyVisibilitySetting();this._shouldBeVisible!==q&&(this._shouldBeVisible=q,this.ensureVisibility())}setIsNeeded(q){this._isNeeded!==q&&(this._isNeeded=q,this.ensureVisibility())}setDomNode(q){this._domNode=q,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(q){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(q?" fade":"")))}},a6=140,m4=class extends J3{constructor(q){super(),this._lazyRender=q.lazyRender,this._host=q.host,this._scrollable=q.scrollable,this._scrollByPage=q.scrollByPage,this._scrollbarState=q.scrollbarState,this._visibilityController=this._register(new c6(q.visibility,"visible scrollbar "+q.extraScrollbarClassName,"invisible scrollbar "+q.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new E4),this._shouldRender=!0,this.domNode=k1(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(w(this.domNode.domNode,e.POINTER_DOWN,(G)=>this._domNodePointerDown(G)))}_createArrow(q){let G=this._register(new p6(q));this.domNode.domNode.appendChild(G.bgDomNode),this.domNode.domNode.appendChild(G.domNode)}_createSlider(q,G,Y,H){this.slider=k1(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(q),this.slider.setLeft(G),typeof Y=="number"&&this.slider.setWidth(Y),typeof H=="number"&&this.slider.setHeight(H),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(w(this.slider.domNode,e.POINTER_DOWN,(F)=>{F.button===0&&(F.preventDefault(),this._sliderPointerDown(F))})),this.onclick(this.slider.domNode,(F)=>{F.leftButton&&F.stopPropagation()})}_onElementSize(q){return this._scrollbarState.setVisibleSize(q)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(q){return this._scrollbarState.setScrollSize(q)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(q){return this._scrollbarState.setScrollPosition(q)&&(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(q){q.target===this.domNode.domNode&&this._onPointerDown(q)}delegatePointerDown(q){let G=this.domNode.domNode.getClientRects()[0].top,Y=G+this._scrollbarState.getSliderPosition(),H=G+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),F=this._sliderPointerPosition(q);Y<=F&&F<=H?q.button===0&&(q.preventDefault(),this._sliderPointerDown(q)):this._onPointerDown(q)}_onPointerDown(q){let G,Y;if(q.target===this.domNode.domNode&&typeof q.offsetX=="number"&&typeof q.offsetY=="number")G=q.offsetX,Y=q.offsetY;else{let F=T6(this.domNode.domNode);G=q.pageX-F.left,Y=q.pageY-F.top}let H=this._pointerDownRelativePosition(G,Y);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(H):this._scrollbarState.getDesiredScrollPositionFromOffset(H)),q.button===0&&(q.preventDefault(),this._sliderPointerDown(q))}_sliderPointerDown(q){if(!q.target||!(q.target instanceof Element))return;let G=this._sliderPointerPosition(q),Y=this._sliderOrthogonalPointerPosition(q),H=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(q.target,q.pointerId,q.buttons,(F)=>{let Z=this._sliderOrthogonalPointerPosition(F),$=Math.abs(Z-Y);if(S4&&$>a6){this._setDesiredScrollPositionNow(H.getScrollPosition());return}let V=this._sliderPointerPosition(F)-G;this._setDesiredScrollPositionNow(H.getDesiredScrollPositionFromDelta(V))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(q){let G={};this.writeScrollPosition(G,q),this._scrollable.setScrollPositionNow(G)}updateScrollbarSize(q){this._updateScrollbarSize(q),this._scrollbarState.setScrollbarSize(q),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},b4=class q{constructor(G,Y,H,F,Z,$){this._scrollbarSize=Math.round(Y),this._oppositeScrollbarSize=Math.round(H),this._arrowSize=Math.round(G),this._visibleSize=F,this._scrollSize=Z,this._scrollPosition=$,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new q(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(G){let Y=Math.round(G);return this._visibleSize!==Y?(this._visibleSize=Y,this._refreshComputedValues(),!0):!1}setScrollSize(G){let Y=Math.round(G);return this._scrollSize!==Y?(this._scrollSize=Y,this._refreshComputedValues(),!0):!1}setScrollPosition(G){let Y=Math.round(G);return this._scrollPosition!==Y?(this._scrollPosition=Y,this._refreshComputedValues(),!0):!1}setScrollbarSize(G){this._scrollbarSize=Math.round(G)}setOppositeScrollbarSize(G){this._oppositeScrollbarSize=Math.round(G)}static _computeValues(G,Y,H,F,Z){let $=Math.max(0,H-G),V=Math.max(0,$-2*Y),X=F>0&&F>H;if(!X)return{computedAvailableSize:Math.round($),computedIsNeeded:X,computedSliderSize:Math.round(V),computedSliderRatio:0,computedSliderPosition:0};let J=Math.round(Math.max(20,Math.floor(H*V/F))),M=(V-J)/(F-H),C=Z*M;return{computedAvailableSize:Math.round($),computedIsNeeded:X,computedSliderSize:Math.round(J),computedSliderRatio:M,computedSliderPosition:Math.round(C)}}_refreshComputedValues(){let G=q._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=G.computedAvailableSize,this._computedIsNeeded=G.computedIsNeeded,this._computedSliderSize=G.computedSliderSize,this._computedSliderRatio=G.computedSliderRatio,this._computedSliderPosition=G.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(G){if(!this._computedIsNeeded)return 0;let Y=G-this._arrowSize-this._computedSliderSize/2;return Math.round(Y/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(G){if(!this._computedIsNeeded)return 0;let Y=G-this._arrowSize,H=this._scrollPosition;return Y<this._computedSliderPosition?H-=this._visibleSize:H+=this._visibleSize,H}getDesiredScrollPositionFromDelta(G){if(!this._computedIsNeeded)return 0;let Y=this._computedSliderPosition+G;return Math.round(Y/this._computedSliderRatio)}},l6=class extends m4{constructor(q,G,Y){let H=q.getScrollDimensions(),F=q.getCurrentScrollPosition();if(super({lazyRender:G.lazyRender,host:Y,scrollbarState:new b4(G.horizontalHasArrows?G.arrowSize:0,G.horizontal===2?0:G.horizontalScrollbarSize,G.vertical===2?0:G.verticalScrollbarSize,H.width,H.scrollWidth,F.scrollLeft),visibility:G.horizontal,extraScrollbarClassName:"horizontal",scrollable:q,scrollByPage:G.scrollByPage}),G.horizontalHasArrows)throw Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(Math.floor((G.horizontalScrollbarSize-G.horizontalSliderSize)/2),0,void 0,G.horizontalSliderSize)}_updateSlider(q,G){this.slider.setWidth(q),this.slider.setLeft(G)}_renderDomNode(q,G){this.domNode.setWidth(q),this.domNode.setHeight(G),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(q){return this._shouldRender=this._onElementScrollSize(q.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(q.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(q.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(q,G){return q}_sliderPointerPosition(q){return q.pageX}_sliderOrthogonalPointerPosition(q){return q.pageY}_updateScrollbarSize(q){this.slider.setHeight(q)}writeScrollPosition(q,G){q.scrollLeft=G}updateOptions(q){this.updateScrollbarSize(q.horizontal===2?0:q.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(q.vertical===2?0:q.verticalScrollbarSize),this._visibilityController.setVisibility(q.horizontal),this._scrollByPage=q.scrollByPage}},o6=class extends m4{constructor(q,G,Y){let H=q.getScrollDimensions(),F=q.getCurrentScrollPosition();if(super({lazyRender:G.lazyRender,host:Y,scrollbarState:new b4(G.verticalHasArrows?G.arrowSize:0,G.vertical===2?0:G.verticalScrollbarSize,0,H.height,H.scrollHeight,F.scrollTop),visibility:G.vertical,extraScrollbarClassName:"vertical",scrollable:q,scrollByPage:G.scrollByPage}),G.verticalHasArrows)throw Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(0,Math.floor((G.verticalScrollbarSize-G.verticalSliderSize)/2),G.verticalSliderSize,void 0)}_updateSlider(q,G){this.slider.setHeight(q),this.slider.setTop(G)}_renderDomNode(q,G){this.domNode.setWidth(G),this.domNode.setHeight(q),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(q){return this._shouldRender=this._onElementScrollSize(q.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(q.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(q.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(q,G){return G}_sliderPointerPosition(q){return q.pageY}_sliderOrthogonalPointerPosition(q){return q.pageX}_updateScrollbarSize(q){this.slider.setWidth(q)}writeScrollPosition(q,G){q.scrollTop=G}updateOptions(q){this.updateScrollbarSize(q.vertical===2?0:q.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(q.vertical),this._scrollByPage=q.scrollByPage}},n6=500,m3=50,b3=!0,s6=class{constructor(q,G,Y){this.timestamp=q,this.deltaX=G,this.deltaY=Y,this.score=0}},m2=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let G=1,Y=0,H=1,F=this._rear;do{let Z=F===this._front?G:Math.pow(2,-H);if(G-=Z,Y+=this._memory[F].score*Z,F===this._front)break;F=(this._capacity+F-1)%this._capacity,H++}while(!0);return Y<=0.5}acceptStandardWheelEvent(G){if(H3){let Y=R0(G.browserEvent),H=h5(Y);this.accept(Date.now(),G.deltaX*H,G.deltaY*H)}else this.accept(Date.now(),G.deltaX,G.deltaY)}accept(G,Y,H){let F=null,Z=new s6(G,Y,H);this._front===-1&&this._rear===-1?(this._memory[0]=Z,this._front=0,this._rear=0):(F=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]=Z),Z.score=this._computeScore(Z,F)}_computeScore(G,Y){if(Math.abs(G.deltaX)>0&&Math.abs(G.deltaY)>0)return 1;let H=0.5;if((!this._isAlmostInt(G.deltaX)||!this._isAlmostInt(G.deltaY))&&(H+=0.25),Y){let F=Math.abs(G.deltaX),Z=Math.abs(G.deltaY),$=Math.abs(Y.deltaX),V=Math.abs(Y.deltaY),X=Math.max(Math.min(F,$),1),J=Math.max(Math.min(Z,V),1),M=Math.max(F,$),C=Math.max(Z,V);M%X===0&&C%J===0&&(H-=0.5)}return Math.min(Math.max(H,0),1)}_isAlmostInt(G){return Math.abs(Math.round(G)-G)<0.01}};m2.INSTANCE=new m2;var r6=m2,i6=class extends J3{constructor(q,G,Y){super();this._onScroll=this._register(new B),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new B),this.onWillScroll=this._onWillScroll.event,this._options=e6(G),this._scrollable=Y,this._register(this._scrollable.onScroll((F)=>{this._onWillScroll.fire(F),this._onDidScroll(F),this._onScroll.fire(F)}));let H={onMouseWheel:(F)=>this._onMouseWheel(F),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new o6(this._scrollable,this._options,H)),this._horizontalScrollbar=this._register(new l6(this._scrollable,this._options,H)),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(q),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=k1(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=k1(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=k1(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,(F)=>this._onMouseOver(F)),this.onmouseleave(this._listenOnDomNode,(F)=>this._onMouseLeave(F)),this._hideTimeout=this._register(new Z3),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=i0(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(q){this._verticalScrollbar.delegatePointerDown(q)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(q){this._scrollable.setScrollDimensions(q,!1)}updateClassName(q){this._options.className=q,O0&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(q){typeof q.handleMouseWheel<"u"&&(this._options.handleMouseWheel=q.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof q.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=q.mouseWheelScrollSensitivity),typeof q.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=q.fastScrollSensitivity),typeof q.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=q.scrollPredominantAxis),typeof q.horizontal<"u"&&(this._options.horizontal=q.horizontal),typeof q.vertical<"u"&&(this._options.vertical=q.vertical),typeof q.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=q.horizontalScrollbarSize),typeof q.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=q.verticalScrollbarSize),typeof q.scrollByPage<"u"&&(this._options.scrollByPage=q.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(q){this._revealOnScroll=q}delegateScrollFromMouseWheelEvent(q){this._onMouseWheel(new O3(q))}_setListeningToMouseWheel(q){if(this._mouseWheelToDispose.length>0!==q&&(this._mouseWheelToDispose=i0(this._mouseWheelToDispose),q)){let G=(Y)=>{this._onMouseWheel(new O3(Y))};this._mouseWheelToDispose.push(w(this._listenOnDomNode,e.MOUSE_WHEEL,G,{passive:!1}))}}_onMouseWheel(q){if(q.browserEvent?.defaultPrevented)return;let G=r6.INSTANCE;b3&&G.acceptStandardWheelEvent(q);let Y=!1;if(q.deltaY||q.deltaX){let F=q.deltaY*this._options.mouseWheelScrollSensitivity,Z=q.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&Z+F===0?Z=F=0:Math.abs(F)>=Math.abs(Z)?Z=0:F=0),this._options.flipAxes&&([F,Z]=[Z,F]);let $=!O0&&q.browserEvent&&q.browserEvent.shiftKey;(this._options.scrollYToX||$)&&!Z&&(Z=F,F=0),q.browserEvent&&q.browserEvent.altKey&&(Z=Z*this._options.fastScrollSensitivity,F=F*this._options.fastScrollSensitivity);let V=this._scrollable.getFutureScrollPosition(),X={};if(F){let J=m3*F,M=V.scrollTop-(J<0?Math.floor(J):Math.ceil(J));this._verticalScrollbar.writeScrollPosition(X,M)}if(Z){let J=m3*Z,M=V.scrollLeft-(J<0?Math.floor(J):Math.ceil(J));this._horizontalScrollbar.writeScrollPosition(X,M)}X=this._scrollable.validateScrollPosition(X),(V.scrollLeft!==X.scrollLeft||V.scrollTop!==X.scrollTop)&&(b3&&this._options.mouseWheelSmoothScroll&&G.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(X):this._scrollable.setScrollPositionNow(X),Y=!0)}let H=Y;!H&&this._options.alwaysConsumeMouseWheel&&(H=!0),!H&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(H=!0),H&&(q.preventDefault(),q.stopPropagation())}_onDidScroll(q){this._shouldRender=this._horizontalScrollbar.onDidScroll(q)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(q)||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 q=this._scrollable.getCurrentScrollPosition(),G=q.scrollTop>0,Y=q.scrollLeft>0,H=Y?" left":"",F=G?" top":"",Z=Y||G?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${H}`),this._topShadowDomNode.setClassName(`shadow${F}`),this._topLeftShadowDomNode.setClassName(`shadow${Z}${F}${H}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(q){this._mouseIsOver=!1,this._hide()}_onMouseOver(q){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(),n6)}},t6=class extends i6{constructor(q,G,Y){super(q,G,Y)}setScrollPosition(q){q.reuseAnimation?this._scrollable.setScrollPositionSmooth(q,q.reuseAnimation):this._scrollable.setScrollPositionNow(q)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function e6(q){let G={lazyRender:typeof q.lazyRender<"u"?q.lazyRender:!1,className:typeof q.className<"u"?q.className:"",useShadows:typeof q.useShadows<"u"?q.useShadows:!0,handleMouseWheel:typeof q.handleMouseWheel<"u"?q.handleMouseWheel:!0,flipAxes:typeof q.flipAxes<"u"?q.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof q.consumeMouseWheelIfScrollbarIsNeeded<"u"?q.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof q.alwaysConsumeMouseWheel<"u"?q.alwaysConsumeMouseWheel:!1,scrollYToX:typeof q.scrollYToX<"u"?q.scrollYToX:!1,mouseWheelScrollSensitivity:typeof q.mouseWheelScrollSensitivity<"u"?q.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof q.fastScrollSensitivity<"u"?q.fastScrollSensitivity:5,scrollPredominantAxis:typeof q.scrollPredominantAxis<"u"?q.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof q.mouseWheelSmoothScroll<"u"?q.mouseWheelSmoothScroll:!0,arrowSize:typeof q.arrowSize<"u"?q.arrowSize:11,listenOnDomNode:typeof q.listenOnDomNode<"u"?q.listenOnDomNode:null,horizontal:typeof q.horizontal<"u"?q.horizontal:1,horizontalScrollbarSize:typeof q.horizontalScrollbarSize<"u"?q.horizontalScrollbarSize:10,horizontalSliderSize:typeof q.horizontalSliderSize<"u"?q.horizontalSliderSize:0,horizontalHasArrows:typeof q.horizontalHasArrows<"u"?q.horizontalHasArrows:!1,vertical:typeof q.vertical<"u"?q.vertical:1,verticalScrollbarSize:typeof q.verticalScrollbarSize<"u"?q.verticalScrollbarSize:10,verticalHasArrows:typeof q.verticalHasArrows<"u"?q.verticalHasArrows:!1,verticalSliderSize:typeof q.verticalSliderSize<"u"?q.verticalSliderSize:0,scrollByPage:typeof q.scrollByPage<"u"?q.scrollByPage:!1};return G.horizontalSliderSize=typeof q.horizontalSliderSize<"u"?q.horizontalSliderSize:G.horizontalScrollbarSize,G.verticalSliderSize=typeof q.verticalSliderSize<"u"?q.verticalSliderSize:G.verticalScrollbarSize,O0&&(G.className+=" mac"),G}var b2=class extends y{constructor(q,G,Y,H,F,Z,$,V){super();this._bufferService=Y,this._optionsService=$,this._renderService=V,this._onRequestScrollLines=this._register(new B),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let X=this._register(new d6({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:(J)=>n1(H.window,J)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{X.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new t6(G,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},X)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(F.onProtocolChange((J)=>{this._scrollableElement.updateOptions({handleMouseWheel:!(J&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register($0.runAndSubscribe(Z.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=Z.colors.background.css})),q.appendChild(this._scrollableElement.getDomNode()),this._register(g(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=H.mainDocument.createElement("style"),G.appendChild(this._styleElement),this._register(g(()=>this._styleElement.remove())),this._register($0.runAndSubscribe(Z.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${Z.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${Z.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${Z.colors.scrollbarSliderActiveBackground.css};`,"}"].join(`
30
+ `)})),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((J)=>this._handleScroll(J)))}scrollLines(q){let G=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:G.scrollTop+q*this._renderService.dimensions.css.cell.height})}scrollToLine(q,G){G&&(this._latestYDisp=q),this._scrollableElement.setScrollPosition({reuseAnimation:!G,scrollTop:q*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(q){q!==void 0&&(this._latestYDisp=q),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(q=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,q!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:q*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(q){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let G=Math.round(q.scrollTop/this._renderService.dimensions.css.cell.height),Y=G-this._bufferService.buffer.ydisp;Y!==0&&(this._latestYDisp=G,this._onRequestScrollLines.fire(Y)),this._isHandlingScroll=!1}};b2=a([D(2,X0),D(3,v0),D(4,N4),D(5,H1),D(6,C0),D(7,_0)],b2);var p2=class extends y{constructor(q,G,Y,H,F){super();this._screenElement=q,this._bufferService=G,this._coreBrowserService=Y,this._decorationService=H,this._renderService=F,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((Z)=>this._removeDecoration(Z))),this._register(g(()=>{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 q of this._decorationService.decorations)this._renderDecoration(q);this._dimensionsChanged=!1}_renderDecoration(q){this._refreshStyle(q),this._dimensionsChanged&&this._refreshXPosition(q)}_createElement(q){let G=this._coreBrowserService.mainDocument.createElement("div");G.classList.add("xterm-decoration"),G.classList.toggle("xterm-decoration-top-layer",q?.options?.layer==="top"),G.style.width=`${Math.round((q.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,G.style.height=`${(q.options.height||1)*this._renderService.dimensions.css.cell.height}px`,G.style.top=`${(q.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,G.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let Y=q.options.x??0;return Y&&Y>this._bufferService.cols&&(G.style.display="none"),this._refreshXPosition(q,G),G}_refreshStyle(q){let G=q.marker.line-this._bufferService.buffers.active.ydisp;if(G<0||G>=this._bufferService.rows)q.element&&(q.element.style.display="none",q.onRenderEmitter.fire(q.element));else{let Y=this._decorationElements.get(q);Y||(Y=this._createElement(q),q.element=Y,this._decorationElements.set(q,Y),this._container.appendChild(Y),q.onDispose(()=>{this._decorationElements.delete(q),Y.remove()})),Y.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(Y.style.width=`${Math.round((q.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,Y.style.height=`${(q.options.height||1)*this._renderService.dimensions.css.cell.height}px`,Y.style.top=`${G*this._renderService.dimensions.css.cell.height}px`,Y.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),q.onRenderEmitter.fire(Y)}}_refreshXPosition(q,G=q.element){if(!G)return;let Y=q.options.x??0;(q.options.anchor||"left")==="right"?G.style.right=Y?`${Y*this._renderService.dimensions.css.cell.width}px`:"":G.style.left=Y?`${Y*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(q){this._decorationElements.get(q)?.remove(),this._decorationElements.delete(q),q.dispose()}};p2=a([D(1,X0),D(2,v0),D(3,w1),D(4,_0)],p2);var q7=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(q){if(q.options.overviewRulerOptions){for(let G of this._zones)if(G.color===q.options.overviewRulerOptions.color&&G.position===q.options.overviewRulerOptions.position){if(this._lineIntersectsZone(G,q.marker.line))return;if(this._lineAdjacentToZone(G,q.marker.line,q.options.overviewRulerOptions.position)){this._addLineToZone(G,q.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=q.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=q.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=q.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=q.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:q.options.overviewRulerOptions.color,position:q.options.overviewRulerOptions.position,startBufferLine:q.marker.line,endBufferLine:q.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(q){this._linePadding=q}_lineIntersectsZone(q,G){return G>=q.startBufferLine&&G<=q.endBufferLine}_lineAdjacentToZone(q,G,Y){return G>=q.startBufferLine-this._linePadding[Y||"full"]&&G<=q.endBufferLine+this._linePadding[Y||"full"]}_addLineToZone(q,G){q.startBufferLine=Math.min(q.startBufferLine,G),q.endBufferLine=Math.max(q.endBufferLine,G)}},P0={full:0,left:0,center:0,right:0},d0={full:0,left:0,center:0,right:0},X1={full:0,left:0,center:0,right:0},s1=class extends y{constructor(q,G,Y,H,F,Z,$,V){super();this._viewportElement=q,this._screenElement=G,this._bufferService=Y,this._decorationService=H,this._renderService=F,this._optionsService=Z,this._themeService=$,this._coreBrowserService=V,this._colorZoneStore=new q7,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(g(()=>this._canvas?.remove()));let X=this._canvas.getContext("2d");if(X)this._ctx=X;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 q=Math.floor((this._canvas.width-1)/3),G=Math.ceil((this._canvas.width-1)/3);d0.full=this._canvas.width,d0.left=q,d0.center=G,d0.right=q,this._refreshDrawHeightConstants(),X1.full=1,X1.left=1,X1.center=1+d0.left,X1.right=1+d0.left+d0.center}_refreshDrawHeightConstants(){P0.full=Math.round(2*this._coreBrowserService.dpr);let q=this._canvas.height/this._bufferService.buffer.lines.length,G=Math.round(Math.max(Math.min(q,12),6)*this._coreBrowserService.dpr);P0.left=G,P0.center=G,P0.right=G}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*P0.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*P0.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*P0.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*P0.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 G of this._decorationService.decorations)this._colorZoneStore.addDecoration(G);this._ctx.lineWidth=1,this._renderRulerOutline();let q=this._colorZoneStore.zones;for(let G of q)G.position!=="full"&&this._renderColorZone(G);for(let G of q)G.position==="full"&&this._renderColorZone(G);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(q){this._ctx.fillStyle=q.color,this._ctx.fillRect(X1[q.position||"full"],Math.round((this._canvas.height-1)*(q.startBufferLine/this._bufferService.buffers.active.lines.length)-P0[q.position||"full"]/2),d0[q.position||"full"],Math.round((this._canvas.height-1)*((q.endBufferLine-q.startBufferLine)/this._bufferService.buffers.active.lines.length)+P0[q.position||"full"]))}_queueRefresh(q,G){this._shouldUpdateDimensions=q||this._shouldUpdateDimensions,this._shouldUpdateAnchor=G||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};s1=a([D(2,X0),D(3,w1),D(4,_0),D(5,C0),D(6,H1),D(7,v0)],s1);var U;((q)=>(q.NUL="\x00",q.SOH="\x01",q.STX="\x02",q.ETX="\x03",q.EOT="\x04",q.ENQ="\x05",q.ACK="\x06",q.BEL="\x07",q.BS="\b",q.HT="\t",q.LF=`
31
+ `,q.VT="\v",q.FF="\f",q.CR="\r",q.SO="\x0E",q.SI="\x0F",q.DLE="\x10",q.DC1="\x11",q.DC2="\x12",q.DC3="\x13",q.DC4="\x14",q.NAK="\x15",q.SYN="\x16",q.ETB="\x17",q.CAN="\x18",q.EM="\x19",q.SUB="\x1A",q.ESC="\x1B",q.FS="\x1C",q.GS="\x1D",q.RS="\x1E",q.US="\x1F",q.SP=" ",q.DEL=""))(U||={});var u1;((q)=>(q.PAD="€",q.HOP="",q.BPH="‚",q.NBH="ƒ",q.IND="„",q.NEL="…",q.SSA="†",q.ESA="‡",q.HTS="ˆ",q.HTJ="‰",q.VTS="Š",q.PLD="‹",q.PLU="Œ",q.RI="",q.SS2="Ž",q.SS3="",q.DCS="",q.PU1="‘",q.PU2="’",q.STS="“",q.CCH="”",q.MW="•",q.SPA="–",q.EPA="—",q.SOS="˜",q.SGCI="™",q.SCI="š",q.CSI="›",q.ST="œ",q.OSC="",q.PM="ž",q.APC="Ÿ"))(u1||={});var p4;((q)=>q.ST=`${U.ESC}\\`)(p4||={});var g2=class{constructor(q,G,Y,H,F,Z){this._textarea=q,this._compositionView=G,this._bufferService=Y,this._optionsService=H,this._coreService=F,this._renderService=Z,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(q){this._compositionView.textContent=q.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(q){if(this._isComposing||this._isSendingComposition){if(q.keyCode===20||q.keyCode===229||q.keyCode===16||q.keyCode===17||q.keyCode===18)return!1;this._finalizeComposition(!1)}return q.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(q){if(this._compositionView.classList.remove("active"),this._isComposing=!1,q){let G={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let Y;G.start+=this._dataAlreadySent.length,this._isComposing?Y=this._textarea.value.substring(G.start,this._compositionPosition.start):Y=this._textarea.value.substring(G.start),Y.length>0&&this._coreService.triggerDataEvent(Y,!0)}},0)}else{this._isSendingComposition=!1;let G=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(G,!0)}}_handleAnyTextareaChanges(){let q=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let G=this._textarea.value,Y=G.replace(q,"");this._dataAlreadySent=Y,G.length>q.length?this._coreService.triggerDataEvent(Y,!0):G.length<q.length?this._coreService.triggerDataEvent(`${U.DEL}`,!0):G.length===q.length&&G!==q&&this._coreService.triggerDataEvent(G,!0)}},0)}updateCompositionElements(q){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let G=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),Y=this._renderService.dimensions.css.cell.height,H=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,F=G*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=F+"px",this._compositionView.style.top=H+"px",this._compositionView.style.height=Y+"px",this._compositionView.style.lineHeight=Y+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";let Z=this._compositionView.getBoundingClientRect();this._textarea.style.left=F+"px",this._textarea.style.top=H+"px",this._textarea.style.width=Math.max(Z.width,1)+"px",this._textarea.style.height=Math.max(Z.height,1)+"px",this._textarea.style.lineHeight=Z.height+"px"}q||setTimeout(()=>this.updateCompositionElements(!0),0)}}};g2=a([D(2,X0),D(3,C0),D(4,e0),D(5,_0)],g2);var q0=0,G0=0,Y0=0,c=0,p3={css:"#00000000",rgba:0},n;((q)=>{function G(F,Z,$,V){return V!==void 0?`#${l0(F)}${l0(Z)}${l0($)}${l0(V)}`:`#${l0(F)}${l0(Z)}${l0($)}`}q.toCss=G;function Y(F,Z,$,V=255){return(F<<24|Z<<16|$<<8|V)>>>0}q.toRgba=Y;function H(F,Z,$,V){return{css:q.toCss(F,Z,$,V),rgba:q.toRgba(F,Z,$,V)}}q.toColor=H})(n||={});var p;((q)=>{function G(X,J){if(c=(J.rgba&255)/255,c===1)return{css:J.css,rgba:J.rgba};let M=J.rgba>>24&255,C=J.rgba>>16&255,j=J.rgba>>8&255,K=X.rgba>>24&255,z=X.rgba>>16&255,W=X.rgba>>8&255;q0=K+Math.round((M-K)*c),G0=z+Math.round((C-z)*c),Y0=W+Math.round((j-W)*c);let P=n.toCss(q0,G0,Y0),x=n.toRgba(q0,G0,Y0);return{css:P,rgba:x}}q.blend=G;function Y(X){return(X.rgba&255)===255}q.isOpaque=Y;function H(X,J,M){let C=c1.ensureContrastRatio(X.rgba,J.rgba,M);if(C)return n.toColor(C>>24&255,C>>16&255,C>>8&255)}q.ensureContrastRatio=H;function F(X){let J=(X.rgba|255)>>>0;return[q0,G0,Y0]=c1.toChannels(J),{css:n.toCss(q0,G0,Y0),rgba:J}}q.opaque=F;function Z(X,J){return c=Math.round(J*255),[q0,G0,Y0]=c1.toChannels(X.rgba),{css:n.toCss(q0,G0,Y0,c),rgba:n.toRgba(q0,G0,Y0,c)}}q.opacity=Z;function $(X,J){return c=X.rgba&255,Z(X,c*J/255)}q.multiplyOpacity=$;function V(X){return[X.rgba>>24&255,X.rgba>>16&255,X.rgba>>8&255]}q.toColorRGB=V})(p||={});var u;((q)=>{let G,Y;try{let F=document.createElement("canvas");F.width=1,F.height=1;let Z=F.getContext("2d",{willReadFrequently:!0});Z&&(G=Z,G.globalCompositeOperation="copy",Y=G.createLinearGradient(0,0,1,1))}catch{}function H(F){if(F.match(/#[\da-f]{3,8}/i))switch(F.length){case 4:return q0=parseInt(F.slice(1,2).repeat(2),16),G0=parseInt(F.slice(2,3).repeat(2),16),Y0=parseInt(F.slice(3,4).repeat(2),16),n.toColor(q0,G0,Y0);case 5:return q0=parseInt(F.slice(1,2).repeat(2),16),G0=parseInt(F.slice(2,3).repeat(2),16),Y0=parseInt(F.slice(3,4).repeat(2),16),c=parseInt(F.slice(4,5).repeat(2),16),n.toColor(q0,G0,Y0,c);case 7:return{css:F,rgba:(parseInt(F.slice(1),16)<<8|255)>>>0};case 9:return{css:F,rgba:parseInt(F.slice(1),16)>>>0}}let Z=F.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(Z)return q0=parseInt(Z[1]),G0=parseInt(Z[2]),Y0=parseInt(Z[3]),c=Math.round((Z[5]===void 0?1:parseFloat(Z[5]))*255),n.toColor(q0,G0,Y0,c);if(!G||!Y)throw Error("css.toColor: Unsupported css format");if(G.fillStyle=Y,G.fillStyle=F,typeof G.fillStyle!="string")throw Error("css.toColor: Unsupported css format");if(G.fillRect(0,0,1,1),[q0,G0,Y0,c]=G.getImageData(0,0,1,1).data,c!==255)throw Error("css.toColor: Unsupported css format");return{rgba:n.toRgba(q0,G0,Y0,c),css:F}}q.toColor=H})(u||={});var V0;((q)=>{function G(H){return Y(H>>16&255,H>>8&255,H&255)}q.relativeLuminance=G;function Y(H,F,Z){let $=H/255,V=F/255,X=Z/255,J=$<=0.03928?$/12.92:Math.pow(($+0.055)/1.055,2.4),M=V<=0.03928?V/12.92:Math.pow((V+0.055)/1.055,2.4),C=X<=0.03928?X/12.92:Math.pow((X+0.055)/1.055,2.4);return J*0.2126+M*0.7152+C*0.0722}q.relativeLuminance2=Y})(V0||={});var c1;((q)=>{function G($,V){if(c=(V&255)/255,c===1)return V;let X=V>>24&255,J=V>>16&255,M=V>>8&255,C=$>>24&255,j=$>>16&255,K=$>>8&255;return q0=C+Math.round((X-C)*c),G0=j+Math.round((J-j)*c),Y0=K+Math.round((M-K)*c),n.toRgba(q0,G0,Y0)}q.blend=G;function Y($,V,X){let J=V0.relativeLuminance($>>8),M=V0.relativeLuminance(V>>8);if(y0(J,M)<X){if(M<J){let K=H($,V,X),z=y0(J,V0.relativeLuminance(K>>8));if(z<X){let W=F($,V,X),P=y0(J,V0.relativeLuminance(W>>8));return z>P?K:W}return K}let C=F($,V,X),j=y0(J,V0.relativeLuminance(C>>8));if(j<X){let K=H($,V,X),z=y0(J,V0.relativeLuminance(K>>8));return j>z?C:K}return C}}q.ensureContrastRatio=Y;function H($,V,X){let J=$>>24&255,M=$>>16&255,C=$>>8&255,j=V>>24&255,K=V>>16&255,z=V>>8&255,W=y0(V0.relativeLuminance2(j,K,z),V0.relativeLuminance2(J,M,C));for(;W<X&&(j>0||K>0||z>0);)j-=Math.max(0,Math.ceil(j*0.1)),K-=Math.max(0,Math.ceil(K*0.1)),z-=Math.max(0,Math.ceil(z*0.1)),W=y0(V0.relativeLuminance2(j,K,z),V0.relativeLuminance2(J,M,C));return(j<<24|K<<16|z<<8|255)>>>0}q.reduceLuminance=H;function F($,V,X){let J=$>>24&255,M=$>>16&255,C=$>>8&255,j=V>>24&255,K=V>>16&255,z=V>>8&255,W=y0(V0.relativeLuminance2(j,K,z),V0.relativeLuminance2(J,M,C));for(;W<X&&(j<255||K<255||z<255);)j=Math.min(255,j+Math.ceil((255-j)*0.1)),K=Math.min(255,K+Math.ceil((255-K)*0.1)),z=Math.min(255,z+Math.ceil((255-z)*0.1)),W=y0(V0.relativeLuminance2(j,K,z),V0.relativeLuminance2(J,M,C));return(j<<24|K<<16|z<<8|255)>>>0}q.increaseLuminance=F;function Z($){return[$>>24&255,$>>16&255,$>>8&255,$&255]}q.toChannels=Z})(c1||={});function l0(q){let G=q.toString(16);return G.length<2?"0"+G:G}function y0(q,G){return q<G?(G+0.05)/(q+0.05):(q+0.05)/(G+0.05)}var G7=class extends x1{constructor(q,G,Y){super();this.content=0,this.combinedData="",this.fg=q.fg,this.bg=q.bg,this.combinedData=G,this._width=Y}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(q){throw Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},r1=class{constructor(q){this._bufferService=q,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new B0}register(q){let G={id:this._nextCharacterJoinerId++,handler:q};return this._characterJoiners.push(G),G.id}deregister(q){for(let G=0;G<this._characterJoiners.length;G++)if(this._characterJoiners[G].id===q)return this._characterJoiners.splice(G,1),!0;return!1}getJoinedCharacters(q){if(this._characterJoiners.length===0)return[];let G=this._bufferService.buffer.lines.get(q);if(!G||G.length===0)return[];let Y=[],H=G.translateToString(!0),F=0,Z=0,$=0,V=G.getFg(0),X=G.getBg(0);for(let J=0;J<G.getTrimmedLength();J++)if(G.loadCell(J,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==V||this._workCell.bg!==X){if(J-F>1){let M=this._getJoinedRanges(H,$,Z,G,F);for(let C=0;C<M.length;C++)Y.push(M[C])}F=J,$=Z,V=this._workCell.fg,X=this._workCell.bg}Z+=this._workCell.getChars().length||u0.length}if(this._bufferService.cols-F>1){let J=this._getJoinedRanges(H,$,Z,G,F);for(let M=0;M<J.length;M++)Y.push(J[M])}return Y}_getJoinedRanges(q,G,Y,H,F){let Z=q.substring(G,Y),$=[];try{$=this._characterJoiners[0].handler(Z)}catch(V){console.error(V)}for(let V=1;V<this._characterJoiners.length;V++)try{let X=this._characterJoiners[V].handler(Z);for(let J=0;J<X.length;J++)r1._mergeRanges($,X[J])}catch(X){console.error(X)}return this._stringRangesToCellRanges($,H,F),$}_stringRangesToCellRanges(q,G,Y){let H=0,F=!1,Z=0,$=q[H];if($){for(let V=Y;V<this._bufferService.cols;V++){let X=G.getWidth(V),J=G.getString(V).length||u0.length;if(X!==0){if(!F&&$[0]<=Z&&($[0]=V,F=!0),$[1]<=Z){if($[1]=V,$=q[++H],!$)break;$[0]<=Z?($[0]=V,F=!0):F=!1}Z+=J}}$&&($[1]=this._bufferService.cols)}}static _mergeRanges(q,G){let Y=!1;for(let H=0;H<q.length;H++){let F=q[H];if(Y){if(G[1]<=F[0])return q[H-1][1]=G[1],q;if(G[1]<=F[1])return q[H-1][1]=Math.max(G[1],F[1]),q.splice(H,1),q;q.splice(H,1),H--}else{if(G[1]<=F[0])return q.splice(H,0,G),q;if(G[1]<=F[1])return F[0]=Math.min(G[0],F[0]),q;G[0]<F[1]&&(F[0]=Math.min(G[0],F[0]),Y=!0);continue}}return Y?q[q.length-1][1]=G[1]:q.push(G),q}};r1=a([D(0,X0)],r1);function Y7(q){return 57508<=q&&q<=57558}function H7(q){return 9472<=q&&q<=9631}function F7(q){return Y7(q)||H7(q)}function Z7(){return{css:{canvas:v1(),cell:v1()},device:{canvas:v1(),cell:v1(),char:{width:0,height:0,left:0,top:0}}}}function v1(){return{width:0,height:0}}var d2=class{constructor(q,G,Y,H,F,Z,$){this._document=q,this._characterJoinerService=G,this._optionsService=Y,this._coreBrowserService=H,this._coreService=F,this._decorationService=Z,this._themeService=$,this._workCell=new B0,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(q,G,Y){this._selectionStart=q,this._selectionEnd=G,this._columnSelectMode=Y}createRow(q,G,Y,H,F,Z,$,V,X,J,M){let C=[],j=this._characterJoinerService.getJoinedCharacters(G),K=this._themeService.colors,z=q.getNoBgTrimmedLength();Y&&z<Z+1&&(z=Z+1);let W,P=0,x="",m=0,I=0,Q=0,v=0,_=!1,F0=0,A0=!1,D0=0,Z1=0,d=[],$2=J!==-1&&M!==-1;for(let N=0;N<z;N++){q.loadCell(N,this._workCell);let A=this._workCell.getWidth();if(A===0)continue;let L=!1,k=N>=Z1,O=N,R=this._workCell;if(j.length>0&&N===j[0][0]&&k){let E=j.shift(),J2=this._isCellInSelection(E[0],G);for(m=E[0]+1;m<E[1];m++)k&&=J2===this._isCellInSelection(m,G);k&&=!Y||Z<E[0]||Z>=E[1],k?(L=!0,R=new G7(this._workCell,q.translateToString(!0,E[0],E[1]),E[1]-E[0]),O=E[1]-1,A=R.getWidth()):Z1=E[1]}let T=this._isCellInSelection(N,G),f=Y&&N===Z,Z0=$2&&N>=J&&N<=M,k0=!1;this._decorationService.forEachDecorationAtCell(N,G,void 0,(E)=>{k0=!0});let w0=R.getChars()||u0;if(w0===" "&&(R.isUnderline()||R.isOverline())&&(w0=" "),D0=A*V-X.get(w0,R.isBold(),R.isItalic()),!W)W=this._document.createElement("span");else if(P&&(T&&A0||!T&&!A0&&R.bg===I)&&(T&&A0&&K.selectionForeground||R.fg===Q)&&R.extended.ext===v&&Z0===_&&D0===F0&&!f&&!L&&!k0&&k){R.isInvisible()?x+=u0:x+=w0,P++;continue}else P&&(W.textContent=x),W=this._document.createElement("span"),P=0,x="";if(I=R.bg,Q=R.fg,v=R.extended.ext,_=Z0,F0=D0,A0=T,L&&Z>=N&&Z<=O&&(Z=N),!this._coreService.isCursorHidden&&f&&this._coreService.isCursorInitialized){if(d.push("xterm-cursor"),this._coreBrowserService.isFocused)$&&d.push("xterm-cursor-blink"),d.push(H==="bar"?"xterm-cursor-bar":H==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(F)switch(F){case"outline":d.push("xterm-cursor-outline");break;case"block":d.push("xterm-cursor-block");break;case"bar":d.push("xterm-cursor-bar");break;case"underline":d.push("xterm-cursor-underline");break;default:break}}if(R.isBold()&&d.push("xterm-bold"),R.isItalic()&&d.push("xterm-italic"),R.isDim()&&d.push("xterm-dim"),R.isInvisible()?x=u0:x=R.getChars()||u0,R.isUnderline()&&(d.push(`xterm-underline-${R.extended.underlineStyle}`),x===" "&&(x=" "),!R.isUnderlineColorDefault()))if(R.isUnderlineColorRGB())W.style.textDecorationColor=`rgb(${x1.toColorRGB(R.getUnderlineColor()).join(",")})`;else{let E=R.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&R.isBold()&&E<8&&(E+=8),W.style.textDecorationColor=K.ansi[E].css}R.isOverline()&&(d.push("xterm-overline"),x===" "&&(x=" ")),R.isStrikethrough()&&d.push("xterm-strikethrough"),Z0&&(W.style.textDecoration="underline");let t=R.getFgColor(),E0=R.getFgColorMode(),J0=R.getBgColor(),a0=R.getBgColorMode(),$1=!!R.isInverse();if($1){let E=t;t=J0,J0=E;let J2=E0;E0=a0,a0=J2}let m0,I1,J1=!1;this._decorationService.forEachDecorationAtCell(N,G,void 0,(E)=>{E.options.layer!=="top"&&J1||(E.backgroundColorRGB&&(a0=50331648,J0=E.backgroundColorRGB.rgba>>8&16777215,m0=E.backgroundColorRGB),E.foregroundColorRGB&&(E0=50331648,t=E.foregroundColorRGB.rgba>>8&16777215,I1=E.foregroundColorRGB),J1=E.options.layer==="top")}),!J1&&T&&(m0=this._coreBrowserService.isFocused?K.selectionBackgroundOpaque:K.selectionInactiveBackgroundOpaque,J0=m0.rgba>>8&16777215,a0=50331648,J1=!0,K.selectionForeground&&(E0=50331648,t=K.selectionForeground.rgba>>8&16777215,I1=K.selectionForeground)),J1&&d.push("xterm-decoration-top");let b0;switch(a0){case 16777216:case 33554432:b0=K.ansi[J0],d.push(`xterm-bg-${J0}`);break;case 50331648:b0=n.toColor(J0>>16,J0>>8&255,J0&255),this._addStyle(W,`background-color:#${g3((J0>>>0).toString(16),"0",6)}`);break;case 0:default:$1?(b0=K.foreground,d.push("xterm-bg-257")):b0=K.background}switch(m0||R.isDim()&&(m0=p.multiplyOpacity(b0,0.5)),E0){case 16777216:case 33554432:R.isBold()&&t<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(t+=8),this._applyMinimumContrast(W,b0,K.ansi[t],R,m0,void 0)||d.push(`xterm-fg-${t}`);break;case 50331648:let E=n.toColor(t>>16&255,t>>8&255,t&255);this._applyMinimumContrast(W,b0,E,R,m0,I1)||this._addStyle(W,`color:#${g3(t.toString(16),"0",6)}`);break;case 0:default:this._applyMinimumContrast(W,b0,K.foreground,R,m0,I1)||$1&&d.push("xterm-fg-257")}d.length&&(W.className=d.join(" "),d.length=0),!f&&!L&&!k0&&k?P++:W.textContent=x,D0!==this.defaultSpacing&&(W.style.letterSpacing=`${D0}px`),C.push(W),N=O}return W&&P&&(W.textContent=x),C}_applyMinimumContrast(q,G,Y,H,F,Z){if(this._optionsService.rawOptions.minimumContrastRatio===1||F7(H.getCode()))return!1;let $=this._getContrastCache(H),V;if(!F&&!Z&&(V=$.getColor(G.rgba,Y.rgba)),V===void 0){let X=this._optionsService.rawOptions.minimumContrastRatio/(H.isDim()?2:1);V=p.ensureContrastRatio(F||G,Z||Y,X),$.setColor((F||G).rgba,(Z||Y).rgba,V??null)}return V?(this._addStyle(q,`color:${V.css}`),!0):!1}_getContrastCache(q){return q.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(q,G){q.setAttribute("style",`${q.getAttribute("style")||""}${G};`)}_isCellInSelection(q,G){let Y=this._selectionStart,H=this._selectionEnd;return!Y||!H?!1:this._columnSelectMode?Y[0]<=H[0]?q>=Y[0]&&G>=Y[1]&&q<H[0]&&G<=H[1]:q<Y[0]&&G>=Y[1]&&q>=H[0]&&G<=H[1]:G>Y[1]&&G<H[1]||Y[1]===H[1]&&G===Y[1]&&q>=Y[0]&&q<H[0]||Y[1]<H[1]&&G===H[1]&&q<H[0]||Y[1]<H[1]&&G===Y[1]&&q>=Y[0]}};d2=a([D(1,R4),D(2,C0),D(3,v0),D(4,e0),D(5,w1),D(6,H1)],d2);function g3(q,G,Y){for(;q.length<Y;)q=G+q;return q}var $7=class{constructor(q,G){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=q.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 Y=q.createElement("span");Y.classList.add("xterm-char-measure-element");let H=q.createElement("span");H.classList.add("xterm-char-measure-element"),H.style.fontWeight="bold";let F=q.createElement("span");F.classList.add("xterm-char-measure-element"),F.style.fontStyle="italic";let Z=q.createElement("span");Z.classList.add("xterm-char-measure-element"),Z.style.fontWeight="bold",Z.style.fontStyle="italic",this._measureElements=[Y,H,F,Z],this._container.appendChild(Y),this._container.appendChild(H),this._container.appendChild(F),this._container.appendChild(Z),G.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(q,G,Y,H){q===this._font&&G===this._fontSize&&Y===this._weight&&H===this._weightBold||(this._font=q,this._fontSize=G,this._weight=Y,this._weightBold=H,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${Y}`,this._measureElements[1].style.fontWeight=`${H}`,this._measureElements[2].style.fontWeight=`${Y}`,this._measureElements[3].style.fontWeight=`${H}`,this.clear())}get(q,G,Y){let H=0;if(!G&&!Y&&q.length===1&&(H=q.charCodeAt(0))<256){if(this._flat[H]!==-9999)return this._flat[H];let $=this._measure(q,0);return $>0&&(this._flat[H]=$),$}let F=q;G&&(F+="B"),Y&&(F+="I");let Z=this._holey.get(F);if(Z===void 0){let $=0;G&&($|=1),Y&&($|=2),Z=this._measure(q,$),Z>0&&this._holey.set(F,Z)}return Z}_measure(q,G){let Y=this._measureElements[G];return Y.textContent=q.repeat(32),Y.offsetWidth/32}},J7=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(q,G,Y,H=!1){if(this.selectionStart=G,this.selectionEnd=Y,!G||!Y||G[0]===Y[0]&&G[1]===Y[1]){this.clear();return}let F=q.buffers.active.ydisp,Z=G[1]-F,$=Y[1]-F,V=Math.max(Z,0),X=Math.min($,q.rows-1);if(V>=q.rows||X<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=H,this.viewportStartRow=Z,this.viewportEndRow=$,this.viewportCappedStartRow=V,this.viewportCappedEndRow=X,this.startCol=G[0],this.endCol=Y[0]}isCellSelected(q,G,Y){return this.hasSelection?(Y-=q.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?G>=this.startCol&&Y>=this.viewportCappedStartRow&&G<this.endCol&&Y<=this.viewportCappedEndRow:G<this.startCol&&Y>=this.viewportCappedStartRow&&G>=this.endCol&&Y<=this.viewportCappedEndRow:Y>this.viewportStartRow&&Y<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&Y===this.viewportStartRow&&G>=this.startCol&&G<this.endCol||this.viewportStartRow<this.viewportEndRow&&Y===this.viewportEndRow&&G<this.endCol||this.viewportStartRow<this.viewportEndRow&&Y===this.viewportStartRow&&G>=this.startCol):!1}};function V7(){return new J7}var U2="xterm-dom-renderer-owner-",U0="xterm-rows",_1="xterm-fg-",d3="xterm-bg-",C1="xterm-focus",E1="xterm-selection",X7=1,f2=class extends y{constructor(q,G,Y,H,F,Z,$,V,X,J,M,C,j,K){super();this._terminal=q,this._document=G,this._element=Y,this._screenElement=H,this._viewportElement=F,this._helperContainer=Z,this._linkifier2=$,this._charSizeService=X,this._optionsService=J,this._bufferService=M,this._coreService=C,this._coreBrowserService=j,this._themeService=K,this._terminalClass=X7++,this._rowElements=[],this._selectionRenderModel=V7(),this.onRequestRedraw=this._register(new B).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(U0),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(E1),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=Z7(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors((z)=>this._injectCss(z))),this._injectCss(this._themeService.colors),this._rowFactory=V.createInstance(d2,document),this._element.classList.add(U2+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline((z)=>this._handleLinkHover(z))),this._register(this._linkifier2.onHideLinkUnderline((z)=>this._handleLinkLeave(z))),this._register(g(()=>{this._element.classList.remove(U2+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new $7(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 q=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*q,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*q),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/q),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/q),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 Y of this._rowElements)Y.style.width=`${this.dimensions.css.canvas.width}px`,Y.style.height=`${this.dimensions.css.cell.height}px`,Y.style.lineHeight=`${this.dimensions.css.cell.height}px`,Y.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let G=`${this._terminalSelector} .${U0} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=G,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(q){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let G=`${this._terminalSelector} .${U0} { pointer-events: none; color: ${q.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;G+=`${this._terminalSelector} .${U0} .xterm-dim { color: ${p.multiplyOpacity(q.foreground,0.5).css};}`,G+=`${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 Y=`blink_underline_${this._terminalClass}`,H=`blink_bar_${this._terminalClass}`,F=`blink_block_${this._terminalClass}`;G+=`@keyframes ${Y} { 50% { border-bottom-style: hidden; }}`,G+=`@keyframes ${H} { 50% { box-shadow: none; }}`,G+=`@keyframes ${F} { 0% { background-color: ${q.cursor.css}; color: ${q.cursorAccent.css}; } 50% { background-color: inherit; color: ${q.cursor.css}; }}`,G+=`${this._terminalSelector} .${U0}.${C1} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${Y} 1s step-end infinite;}${this._terminalSelector} .${U0}.${C1} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${H} 1s step-end infinite;}${this._terminalSelector} .${U0}.${C1} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${F} 1s step-end infinite;}${this._terminalSelector} .${U0} .xterm-cursor.xterm-cursor-block { background-color: ${q.cursor.css}; color: ${q.cursorAccent.css};}${this._terminalSelector} .${U0} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${q.cursor.css} !important; color: ${q.cursorAccent.css} !important;}${this._terminalSelector} .${U0} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${q.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${U0} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${q.cursor.css} inset;}${this._terminalSelector} .${U0} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${q.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,G+=`${this._terminalSelector} .${E1} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${E1} div { position: absolute; background-color: ${q.selectionBackgroundOpaque.css};}${this._terminalSelector} .${E1} div { position: absolute; background-color: ${q.selectionInactiveBackgroundOpaque.css};}`;for(let[Z,$]of q.ansi.entries())G+=`${this._terminalSelector} .${_1}${Z} { color: ${$.css}; }${this._terminalSelector} .${_1}${Z}.xterm-dim { color: ${p.multiplyOpacity($,0.5).css}; }${this._terminalSelector} .${d3}${Z} { background-color: ${$.css}; }`;G+=`${this._terminalSelector} .${_1}257 { color: ${p.opaque(q.background).css}; }${this._terminalSelector} .${_1}257.xterm-dim { color: ${p.multiplyOpacity(p.opaque(q.background),0.5).css}; }${this._terminalSelector} .${d3}257 { background-color: ${q.foreground.css}; }`,this._themeStyleElement.textContent=G}_setDefaultSpacing(){let q=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${q}px`,this._rowFactory.defaultSpacing=q}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(q,G){for(let Y=this._rowElements.length;Y<=G;Y++){let H=this._document.createElement("div");this._rowContainer.appendChild(H),this._rowElements.push(H)}for(;this._rowElements.length>G;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(q,G){this._refreshRowElements(q,G),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(C1),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(C1),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(q,G,Y){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(q,G,Y),this.renderRows(0,this._bufferService.rows-1),!q||!G||(this._selectionRenderModel.update(this._terminal,q,G,Y),!this._selectionRenderModel.hasSelection))return;let H=this._selectionRenderModel.viewportStartRow,F=this._selectionRenderModel.viewportEndRow,Z=this._selectionRenderModel.viewportCappedStartRow,$=this._selectionRenderModel.viewportCappedEndRow,V=this._document.createDocumentFragment();if(Y){let X=q[0]>G[0];V.appendChild(this._createSelectionElement(Z,X?G[0]:q[0],X?q[0]:G[0],$-Z+1))}else{let X=H===Z?q[0]:0,J=Z===F?G[0]:this._bufferService.cols;V.appendChild(this._createSelectionElement(Z,X,J));let M=$-Z-1;if(V.appendChild(this._createSelectionElement(Z+1,0,this._bufferService.cols,M)),Z!==$){let C=F===$?G[0]:this._bufferService.cols;V.appendChild(this._createSelectionElement($,0,C))}}this._selectionContainer.appendChild(V)}_createSelectionElement(q,G,Y,H=1){let F=this._document.createElement("div"),Z=G*this.dimensions.css.cell.width,$=this.dimensions.css.cell.width*(Y-G);return Z+$>this.dimensions.css.canvas.width&&($=this.dimensions.css.canvas.width-Z),F.style.height=`${H*this.dimensions.css.cell.height}px`,F.style.top=`${q*this.dimensions.css.cell.height}px`,F.style.left=`${Z}px`,F.style.width=`${$}px`,F}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 q of this._rowElements)q.replaceChildren()}renderRows(q,G){let Y=this._bufferService.buffer,H=Y.ybase+Y.y,F=Math.min(Y.x,this._bufferService.cols-1),Z=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,$=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,V=this._optionsService.rawOptions.cursorInactiveStyle;for(let X=q;X<=G;X++){let J=X+Y.ydisp,M=this._rowElements[X],C=Y.lines.get(J);if(!M||!C)break;M.replaceChildren(...this._rowFactory.createRow(C,J,J===H,$,V,F,Z,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${U2}${this._terminalClass}`}_handleLinkHover(q){this._setCellUnderline(q.x1,q.x2,q.y1,q.y2,q.cols,!0)}_handleLinkLeave(q){this._setCellUnderline(q.x1,q.x2,q.y1,q.y2,q.cols,!1)}_setCellUnderline(q,G,Y,H,F,Z){Y<0&&(q=0),H<0&&(G=0);let $=this._bufferService.rows-1;Y=Math.max(Math.min(Y,$),0),H=Math.max(Math.min(H,$),0),F=Math.min(F,this._bufferService.cols);let V=this._bufferService.buffer,X=V.ybase+V.y,J=Math.min(V.x,F-1),M=this._optionsService.rawOptions.cursorBlink,C=this._optionsService.rawOptions.cursorStyle,j=this._optionsService.rawOptions.cursorInactiveStyle;for(let K=Y;K<=H;++K){let z=K+V.ydisp,W=this._rowElements[K],P=V.lines.get(z);if(!W||!P)break;W.replaceChildren(...this._rowFactory.createRow(P,z,z===X,C,j,J,M,this.dimensions.css.cell.width,this._widthCache,Z?K===Y?q:0:-1,Z?(K===H?G:F)-1:-1))}}};f2=a([D(7,q3),D(8,G2),D(9,C0),D(10,X0),D(11,e0),D(12,v0),D(13,H1)],f2);var h2=class extends y{constructor(q,G,Y){super();this._optionsService=Y,this.width=0,this.height=0,this._onCharSizeChange=this._register(new B),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new M7(this._optionsService))}catch{this._measureStrategy=this._register(new C7(q,G,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let q=this._measureStrategy.measure();(q.width!==this.width||q.height!==this.height)&&(this.width=q.width,this.height=q.height,this._onCharSizeChange.fire())}};h2=a([D(2,C0)],h2);var g4=class extends y{constructor(){super(...arguments);this._result={width:0,height:0}}_validateAndSet(q,G){q!==void 0&&q>0&&G!==void 0&&G>0&&(this._result.width=q,this._result.height=G)}},C7=class extends g4{constructor(q,G,Y){super();this._document=q,this._parentElement=G,this._optionsService=Y,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}},M7=class extends g4{constructor(q){super();this._optionsService=q,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let G=this._ctx.measureText("W");if(!(("width"in G)&&("fontBoundingBoxAscent"in G)&&("fontBoundingBoxDescent"in G)))throw Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let q=this._ctx.measureText("W");return this._validateAndSet(q.width,q.fontBoundingBoxAscent+q.fontBoundingBoxDescent),this._result}},z7=class extends y{constructor(q,G,Y){super();this._textarea=q,this._window=G,this.mainDocument=Y,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new j7(this._window)),this._onDprChange=this._register(new B),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new B),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange((H)=>this._screenDprMonitor.setWindow(H))),this._register($0.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(w(this._textarea,"focus",()=>this._isFocused=!0)),this._register(w(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(q){this._window!==q&&(this._window=q,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}},j7=class extends y{constructor(q){super();this._parentWindow=q,this._windowResizeListener=this._register(new Y1),this._onDprChange=this._register(new B),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(g(()=>this.clearListener()))}setWindow(q){this._parentWindow=q,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=w(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)}},K7=class extends y{constructor(){super();this.linkProviders=[],this._register(g(()=>this.linkProviders.length=0))}registerLinkProvider(q){return this.linkProviders.push(q),{dispose:()=>{let G=this.linkProviders.indexOf(q);G!==-1&&this.linkProviders.splice(G,1)}}}};function V3(q,G,Y){let H=Y.getBoundingClientRect(),F=q.getComputedStyle(Y),Z=parseInt(F.getPropertyValue("padding-left")),$=parseInt(F.getPropertyValue("padding-top"));return[G.clientX-H.left-Z,G.clientY-H.top-$]}function W7(q,G,Y,H,F,Z,$,V,X){if(!Z)return;let J=V3(q,G,Y);if(J)return J[0]=Math.ceil((J[0]+(X?$/2:0))/$),J[1]=Math.ceil(J[1]/V),J[0]=Math.min(Math.max(J[0],1),H+(X?1:0)),J[1]=Math.min(Math.max(J[1],1),F),J}var u2=class{constructor(q,G){this._renderService=q,this._charSizeService=G}getCoords(q,G,Y,H,F){return W7(window,q,G,Y,H,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,F)}getMouseReportCoords(q,G){let Y=V3(window,q,G);if(this._charSizeService.hasValidSize)return Y[0]=Math.min(Math.max(Y[0],0),this._renderService.dimensions.css.canvas.width-1),Y[1]=Math.min(Math.max(Y[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(Y[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(Y[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(Y[0]),y:Math.floor(Y[1])}}};u2=a([D(0,_0),D(1,G2)],u2);var U7=class{constructor(q,G){this._renderCallback=q,this._coreBrowserService=G,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(q){return this._refreshCallbacks.push(q),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(q,G,Y){this._rowCount=Y,q=q!==void 0?q:0,G=G!==void 0?G:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,q):q,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,G):G,!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 q=Math.max(this._rowStart,0),G=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(q,G),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let q of this._refreshCallbacks)q(0);this._refreshCallbacks=[]}},d4={};e4(d4,{getSafariVersion:()=>B7,isChromeOS:()=>c4,isFirefox:()=>f4,isIpad:()=>A7,isIphone:()=>R7,isLegacyEdge:()=>N7,isLinux:()=>X3,isMac:()=>i1,isNode:()=>F2,isSafari:()=>h4,isWindows:()=>u4});var F2=typeof process<"u"&&"title"in process,y1=F2?"node":navigator.userAgent,S1=F2?"node":navigator.platform,f4=y1.includes("Firefox"),N7=y1.includes("Edge"),h4=/^((?!chrome|android).)*safari/i.test(y1);function B7(){if(!h4)return 0;let q=y1.match(/Version\/(\d+)/);return q===null||q.length<2?0:parseInt(q[1])}var i1=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(S1),A7=S1==="iPad",R7=S1==="iPhone",u4=["Windows","Win16","Win32","WinCE"].includes(S1),X3=S1.indexOf("Linux")>=0,c4=/\bCrOS\b/.test(y1),a4=class{constructor(){this._tasks=[],this._i=0}enqueue(q){this._tasks.push(q),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(q){this._idleCallback=void 0;let G=0,Y=0,H=q.timeRemaining(),F=0;for(;this._i<this._tasks.length;){if(G=performance.now(),this._tasks[this._i]()||this._i++,G=Math.max(1,performance.now()-G),Y=Math.max(G,Y),F=q.timeRemaining(),Y*1.5>F){H-G<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(H-G))}ms`),this._start();return}H=F}this.clear()}},D7=class extends a4{_requestCallback(q){return setTimeout(()=>q(this._createDeadline(16)))}_cancelCallback(q){clearTimeout(q)}_createDeadline(q){let G=performance.now()+q;return{timeRemaining:()=>Math.max(0,G-performance.now())}}},k7=class extends a4{_requestCallback(q){return requestIdleCallback(q)}_cancelCallback(q){cancelIdleCallback(q)}},t1=!F2&&"requestIdleCallback"in window?k7:D7,P7=class{constructor(){this._queue=new t1}set(q){this._queue.clear(),this._queue.enqueue(q)}flush(){this._queue.flush()}},c2=class extends y{constructor(q,G,Y,H,F,Z,$,V,X){super();this._rowCount=q,this._optionsService=Y,this._charSizeService=H,this._coreService=F,this._coreBrowserService=V,this._renderer=this._register(new Y1),this._pausedResizeTask=new P7,this._observerDisposable=this._register(new Y1),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 B),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new B),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new B),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new B),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new U7((J,M)=>this._renderRows(J,M),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new L7(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(g(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register($.onResize(()=>this._fullRefresh())),this._register($.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(Z.onDecorationRegistered(()=>this._fullRefresh())),this._register(Z.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize($.cols,$.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows($.buffer.y,$.buffer.y,!0))),this._register(X.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,G),this._register(this._coreBrowserService.onWindowChange((J)=>this._registerIntersectionObserver(J,G)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(q,G){if("IntersectionObserver"in q){let Y=new q.IntersectionObserver((H)=>this._handleIntersectionChange(H[H.length-1]),{threshold:0});Y.observe(G),this._observerDisposable.value=g(()=>Y.disconnect())}}_handleIntersectionChange(q){this._isPaused=q.isIntersecting===void 0?q.intersectionRatio===0:!q.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(q,G,Y=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(q,G);return}let H=this._syncOutputHandler.flush();H&&(q=Math.min(q,H.start),G=Math.max(G,H.end)),Y||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(q,G,this._rowCount)}_renderRows(q,G){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(q,G);return}q=Math.min(q,this._rowCount-1),G=Math.min(G,this._rowCount-1),this._renderer.value.renderRows(q,G),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:q,end:G}),this._onRender.fire({start:q,end:G}),this._isNextRenderRedrawOnly=!0}}resize(q,G){this._rowCount=G,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(q){this._renderer.value=q,this._renderer.value&&(this._renderer.value.onRequestRedraw((G)=>this.refreshRows(G.start,G.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(q){return this._renderDebouncer.addRefreshCallback(q)}_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(q,G){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(q,G)):this._renderer.value.handleResize(q,G),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(q,G,Y){this._selectionState.start=q,this._selectionState.end=G,this._selectionState.columnSelectMode=Y,this._renderer.value?.handleSelectionChanged(q,G,Y)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};c2=a([D(2,C0),D(3,G2),D(4,e0),D(5,w1),D(6,X0),D(7,v0),D(8,H1)],c2);var L7=class{constructor(q,G,Y){this._coreBrowserService=q,this._coreService=G,this._onTimeout=Y,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(q,G){this._isBuffering?(this._start=Math.min(this._start,q),this._end=Math.max(this._end,G)):(this._start=q,this._end=G,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1000))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let q={start:this._start,end:this._end};return this._isBuffering=!1,q}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function Q7(q,G,Y,H){let F=Y.buffer.x,Z=Y.buffer.y;if(!Y.buffer.hasScrollback)return w7(F,Z,q,G,Y,H)+Z2(Z,G,Y,H)+y7(F,Z,q,G,Y,H);let $;if(Z===G)return $=F>q?"D":"C",Q1(Math.abs(F-q),L1($,H));$=Z>G?"D":"C";let V=Math.abs(Z-G),X=x7(Z>G?q:F,Y)+(V-1)*Y.cols+1+O7(Z>G?F:q,Y);return Q1(X,L1($,H))}function O7(q,G){return q-1}function x7(q,G){return G.cols-q}function w7(q,G,Y,H,F,Z){return Z2(G,H,F,Z).length===0?"":Q1(o4(q,G,q,G-t0(G,F),!1,F).length,L1("D",Z))}function Z2(q,G,Y,H){let F=q-t0(q,Y),Z=G-t0(G,Y),$=Math.abs(F-Z)-S7(q,G,Y);return Q1($,L1(l4(q,G),H))}function y7(q,G,Y,H,F,Z){let $;Z2(G,H,F,Z).length>0?$=H-t0(H,F):$=G;let V=H,X=I7(q,G,Y,H,F,Z);return Q1(o4(q,$,Y,V,X==="C",F).length,L1(X,Z))}function S7(q,G,Y){let H=0,F=q-t0(q,Y),Z=G-t0(G,Y);for(let $=0;$<Math.abs(F-Z);$++){let V=l4(q,G)==="A"?-1:1;Y.buffer.lines.get(F+V*$)?.isWrapped&&H++}return H}function t0(q,G){let Y=0,H=G.buffer.lines.get(q),F=H?.isWrapped;for(;F&&q>=0&&q<G.rows;)Y++,H=G.buffer.lines.get(--q),F=H?.isWrapped;return Y}function I7(q,G,Y,H,F,Z){let $;return Z2(Y,H,F,Z).length>0?$=H-t0(H,F):$=G,q<Y&&$<=H||q>=Y&&$<H?"C":"D"}function l4(q,G){return q>G?"A":"B"}function o4(q,G,Y,H,F,Z){let $=q,V=G,X="";for(;($!==Y||V!==H)&&V>=0&&V<Z.buffer.lines.length;)$+=F?1:-1,F&&$>Z.cols-1?(X+=Z.buffer.translateBufferLineToString(V,!1,q,$),$=0,q=0,V++):!F&&$<0&&(X+=Z.buffer.translateBufferLineToString(V,!1,0,q+1),$=Z.cols-1,q=$,V--);return X+Z.buffer.translateBufferLineToString(V,!1,q,$)}function L1(q,G){let Y=G?"O":"[";return U.ESC+Y+q}function Q1(q,G){q=Math.floor(q);let Y="";for(let H=0;H<q;H++)Y+=G;return Y}var T7=class{constructor(q){this._bufferService=q,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 q=this.selectionStart[0]+this.selectionStartLength;return q>this._bufferService.cols?q%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(q/this._bufferService.cols)-1]:[q%this._bufferService.cols,this.selectionStart[1]+Math.floor(q/this._bufferService.cols)]:[q,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let q=this.selectionStart[0]+this.selectionStartLength;return q>this._bufferService.cols?[q%this._bufferService.cols,this.selectionStart[1]+Math.floor(q/this._bufferService.cols)]:[Math.max(q,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let q=this.selectionStart,G=this.selectionEnd;return!q||!G?!1:q[1]>G[1]||q[1]===G[1]&&q[0]>G[0]}handleTrim(q){return this.selectionStart&&(this.selectionStart[1]-=q),this.selectionEnd&&(this.selectionEnd[1]-=q),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function f3(q,G){if(q.start.y>q.end.y)throw Error(`Buffer range end (${q.end.x}, ${q.end.y}) cannot be before start (${q.start.x}, ${q.start.y})`);return G*(q.end.y-q.start.y)+(q.end.x-q.start.x+1)}var N2=50,v7=15,_7=50,E7=500,m7=" ",b7=new RegExp(m7,"g"),a2=class extends y{constructor(q,G,Y,H,F,Z,$,V,X){super();this._element=q,this._screenElement=G,this._linkifier=Y,this._bufferService=H,this._coreService=F,this._mouseService=Z,this._optionsService=$,this._renderService=V,this._coreBrowserService=X,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new B0,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new B),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new B),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new B),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new B),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=(J)=>this._handleMouseMove(J),this._mouseUpListener=(J)=>this._handleMouseUp(J),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim((J)=>this._handleTrim(J)),this._register(this._bufferService.buffers.onBufferActivate((J)=>this._handleBufferActivate(J))),this.enable(),this._model=new T7(this._bufferService),this._activeSelectionMode=0,this._register(g(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize((J)=>{J.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 q=this._model.finalSelectionStart,G=this._model.finalSelectionEnd;return!q||!G?!1:q[0]!==G[0]||q[1]!==G[1]}get selectionText(){let q=this._model.finalSelectionStart,G=this._model.finalSelectionEnd;if(!q||!G)return"";let Y=this._bufferService.buffer,H=[];if(this._activeSelectionMode===3){if(q[0]===G[0])return"";let F=q[0]<G[0]?q[0]:G[0],Z=q[0]<G[0]?G[0]:q[0];for(let $=q[1];$<=G[1];$++){let V=Y.translateBufferLineToString($,!0,F,Z);H.push(V)}}else{let F=q[1]===G[1]?G[0]:void 0;H.push(Y.translateBufferLineToString(q[1],!0,q[0],F));for(let Z=q[1]+1;Z<=G[1]-1;Z++){let $=Y.lines.get(Z),V=Y.translateBufferLineToString(Z,!0);$?.isWrapped?H[H.length-1]+=V:H.push(V)}if(q[1]!==G[1]){let Z=Y.lines.get(G[1]),$=Y.translateBufferLineToString(G[1],!0,0,G[0]);Z&&Z.isWrapped?H[H.length-1]+=$:H.push($)}}return H.map((F)=>F.replace(b7," ")).join(u4?`\r
32
+ `:`
33
+ `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(q){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),X3&&q&&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(q){let G=this._getMouseBufferCoords(q),Y=this._model.finalSelectionStart,H=this._model.finalSelectionEnd;return!Y||!H||!G?!1:this._areCoordsInSelection(G,Y,H)}isCellInSelection(q,G){let Y=this._model.finalSelectionStart,H=this._model.finalSelectionEnd;return!Y||!H?!1:this._areCoordsInSelection([q,G],Y,H)}_areCoordsInSelection(q,G,Y){return q[1]>G[1]&&q[1]<Y[1]||G[1]===Y[1]&&q[1]===G[1]&&q[0]>=G[0]&&q[0]<Y[0]||G[1]<Y[1]&&q[1]===Y[1]&&q[0]<Y[0]||G[1]<Y[1]&&q[1]===G[1]&&q[0]>=G[0]}_selectWordAtCursor(q,G){let Y=this._linkifier.currentLink?.link?.range;if(Y)return this._model.selectionStart=[Y.start.x-1,Y.start.y-1],this._model.selectionStartLength=f3(Y,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let H=this._getMouseBufferCoords(q);return H?(this._selectWordAt(H,G),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(q,G){this._model.clearSelection(),q=Math.max(q,0),G=Math.min(G,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,q],this._model.selectionEnd=[this._bufferService.cols,G],this.refresh(),this._onSelectionChange.fire()}_handleTrim(q){this._model.handleTrim(q)&&this.refresh()}_getMouseBufferCoords(q){let G=this._mouseService.getCoords(q,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(G)return G[0]--,G[1]--,G[1]+=this._bufferService.buffer.ydisp,G}_getMouseEventScrollAmount(q){let G=V3(this._coreBrowserService.window,q,this._screenElement)[1],Y=this._renderService.dimensions.css.canvas.height;return G>=0&&G<=Y?0:(G>Y&&(G-=Y),G=Math.min(Math.max(G,-N2),N2),G/=N2,G/Math.abs(G)+Math.round(G*(v7-1)))}shouldForceSelection(q){return i1?q.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:q.shiftKey}handleMouseDown(q){if(this._mouseDownTimeStamp=q.timeStamp,!(q.button===2&&this.hasSelection)&&q.button===0){if(!this._enabled){if(!this.shouldForceSelection(q))return;q.stopPropagation()}q.preventDefault(),this._dragScrollAmount=0,this._enabled&&q.shiftKey?this._handleIncrementalClick(q):q.detail===1?this._handleSingleClick(q):q.detail===2?this._handleDoubleClick(q):q.detail===3&&this._handleTripleClick(q),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(),_7)}_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(q){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(q))}_handleSingleClick(q){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(q)?3:0,this._model.selectionStart=this._getMouseBufferCoords(q),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let G=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);G&&G.length!==this._model.selectionStart[0]&&G.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(q){this._selectWordAtCursor(q,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(q){let G=this._getMouseBufferCoords(q);G&&(this._activeSelectionMode=2,this._selectLineAt(G[1]))}shouldColumnSelect(q){return q.altKey&&!(i1&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(q){if(q.stopImmediatePropagation(),!this._model.selectionStart)return;let G=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(q),!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(q),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let Y=this._bufferService.buffer;if(this._model.selectionEnd[1]<Y.lines.length){let H=Y.lines.get(this._model.selectionEnd[1]);H&&H.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!G||G[0]!==this._model.selectionEnd[0]||G[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 q=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(q.ydisp+this._bufferService.rows,q.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=q.ydisp),this.refresh()}}_handleMouseUp(q){let G=q.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&G<E7&&q.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let Y=this._mouseService.getCoords(q,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(Y&&Y[0]!==void 0&&Y[1]!==void 0){let H=Q7(Y[0]-1,Y[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(H,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let q=this._model.finalSelectionStart,G=this._model.finalSelectionEnd,Y=!!q&&!!G&&(q[0]!==G[0]||q[1]!==G[1]);if(!Y){this._oldHasSelection&&this._fireOnSelectionChange(q,G,Y);return}!q||!G||(!this._oldSelectionStart||!this._oldSelectionEnd||q[0]!==this._oldSelectionStart[0]||q[1]!==this._oldSelectionStart[1]||G[0]!==this._oldSelectionEnd[0]||G[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(q,G,Y)}_fireOnSelectionChange(q,G,Y){this._oldSelectionStart=q,this._oldSelectionEnd=G,this._oldHasSelection=Y,this._onSelectionChange.fire()}_handleBufferActivate(q){this.clearSelection(),this._trimListener.dispose(),this._trimListener=q.activeBuffer.lines.onTrim((G)=>this._handleTrim(G))}_convertViewportColToCharacterIndex(q,G){let Y=G;for(let H=0;G>=H;H++){let F=q.loadCell(H,this._workCell).getChars().length;this._workCell.getWidth()===0?Y--:F>1&&G!==H&&(Y+=F-1)}return Y}setSelection(q,G,Y){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[q,G],this._model.selectionStartLength=Y,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(q){this._isClickInSelection(q)||(this._selectWordAtCursor(q,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(q,G,Y=!0,H=!0){if(q[0]>=this._bufferService.cols)return;let F=this._bufferService.buffer,Z=F.lines.get(q[1]);if(!Z)return;let $=F.translateBufferLineToString(q[1],!1),V=this._convertViewportColToCharacterIndex(Z,q[0]),X=V,J=q[0]-V,M=0,C=0,j=0,K=0;if($.charAt(V)===" "){for(;V>0&&$.charAt(V-1)===" ";)V--;for(;X<$.length&&$.charAt(X+1)===" ";)X++}else{let P=q[0],x=q[0];Z.getWidth(P)===0&&(M++,P--),Z.getWidth(x)===2&&(C++,x++);let m=Z.getString(x).length;for(m>1&&(K+=m-1,X+=m-1);P>0&&V>0&&!this._isCharWordSeparator(Z.loadCell(P-1,this._workCell));){Z.loadCell(P-1,this._workCell);let I=this._workCell.getChars().length;this._workCell.getWidth()===0?(M++,P--):I>1&&(j+=I-1,V-=I-1),V--,P--}for(;x<Z.length&&X+1<$.length&&!this._isCharWordSeparator(Z.loadCell(x+1,this._workCell));){Z.loadCell(x+1,this._workCell);let I=this._workCell.getChars().length;this._workCell.getWidth()===2?(C++,x++):I>1&&(K+=I-1,X+=I-1),X++,x++}}X++;let z=V+J-M+j,W=Math.min(this._bufferService.cols,X-V+M+C-j-K);if(!(!G&&$.slice(V,X).trim()==="")){if(Y&&z===0&&Z.getCodePoint(0)!==32){let P=F.lines.get(q[1]-1);if(P&&Z.isWrapped&&P.getCodePoint(this._bufferService.cols-1)!==32){let x=this._getWordAt([this._bufferService.cols-1,q[1]-1],!1,!0,!1);if(x){let m=this._bufferService.cols-x.start;z-=m,W+=m}}}if(H&&z+W===this._bufferService.cols&&Z.getCodePoint(this._bufferService.cols-1)!==32){let P=F.lines.get(q[1]+1);if(P?.isWrapped&&P.getCodePoint(0)!==32){let x=this._getWordAt([0,q[1]+1],!1,!1,!0);x&&(W+=x.length)}}return{start:z,length:W}}}_selectWordAt(q,G){let Y=this._getWordAt(q,G);if(Y){for(;Y.start<0;)Y.start+=this._bufferService.cols,q[1]--;this._model.selectionStart=[Y.start,q[1]],this._model.selectionStartLength=Y.length}}_selectToWordAt(q){let G=this._getWordAt(q,!0);if(G){let Y=q[1];for(;G.start<0;)G.start+=this._bufferService.cols,Y--;if(!this._model.areSelectionValuesReversed())for(;G.start+G.length>this._bufferService.cols;)G.length-=this._bufferService.cols,Y++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?G.start:G.start+G.length,Y]}}_isCharWordSeparator(q){return q.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(q.getChars())>=0}_selectLineAt(q){let G=this._bufferService.buffer.getWrappedRangeForLine(q),Y={start:{x:0,y:G.first},end:{x:this._bufferService.cols-1,y:G.last}};this._model.selectionStart=[0,G.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=f3(Y,this._bufferService.cols)}};a2=a([D(3,X0),D(4,e0),D(5,G3),D(6,C0),D(7,_0),D(8,v0)],a2);var h3=class{constructor(){this._data={}}set(q,G,Y){this._data[q]||(this._data[q]={}),this._data[q][G]=Y}get(q,G){return this._data[q]?this._data[q][G]:void 0}clear(){this._data={}}},u3=class{constructor(){this._color=new h3,this._css=new h3}setCss(q,G,Y){this._css.set(q,G,Y)}getCss(q,G){return this._css.get(q,G)}setColor(q,G,Y){this._color.set(q,G,Y)}getColor(q,G){return this._color.get(q,G)}clear(){this._color.clear(),this._css.clear()}},s=Object.freeze((()=>{let q=[u.toColor("#2e3436"),u.toColor("#cc0000"),u.toColor("#4e9a06"),u.toColor("#c4a000"),u.toColor("#3465a4"),u.toColor("#75507b"),u.toColor("#06989a"),u.toColor("#d3d7cf"),u.toColor("#555753"),u.toColor("#ef2929"),u.toColor("#8ae234"),u.toColor("#fce94f"),u.toColor("#729fcf"),u.toColor("#ad7fa8"),u.toColor("#34e2e2"),u.toColor("#eeeeec")],G=[0,95,135,175,215,255];for(let Y=0;Y<216;Y++){let H=G[Y/36%6|0],F=G[Y/6%6|0],Z=G[Y%6];q.push({css:n.toCss(H,F,Z),rgba:n.toRgba(H,F,Z)})}for(let Y=0;Y<24;Y++){let H=8+Y*10;q.push({css:n.toCss(H,H,H),rgba:n.toRgba(H,H,H)})}return q})()),o0=u.toColor("#ffffff"),N1=u.toColor("#000000"),c3=u.toColor("#ffffff"),a3=N1,M1={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117},p7=o0,l2=class extends y{constructor(q){super();this._optionsService=q,this._contrastCache=new u3,this._halfContrastCache=new u3,this._onChangeColors=this._register(new B),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:o0,background:N1,cursor:c3,cursorAccent:a3,selectionForeground:void 0,selectionBackgroundTransparent:M1,selectionBackgroundOpaque:p.blend(N1,M1),selectionInactiveBackgroundTransparent:M1,selectionInactiveBackgroundOpaque:p.blend(N1,M1),scrollbarSliderBackground:p.opacity(o0,0.2),scrollbarSliderHoverBackground:p.opacity(o0,0.4),scrollbarSliderActiveBackground:p.opacity(o0,0.5),overviewRulerBorder:o0,ansi:s.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(q={}){let G=this._colors;if(G.foreground=b(q.foreground,o0),G.background=b(q.background,N1),G.cursor=p.blend(G.background,b(q.cursor,c3)),G.cursorAccent=p.blend(G.background,b(q.cursorAccent,a3)),G.selectionBackgroundTransparent=b(q.selectionBackground,M1),G.selectionBackgroundOpaque=p.blend(G.background,G.selectionBackgroundTransparent),G.selectionInactiveBackgroundTransparent=b(q.selectionInactiveBackground,G.selectionBackgroundTransparent),G.selectionInactiveBackgroundOpaque=p.blend(G.background,G.selectionInactiveBackgroundTransparent),G.selectionForeground=q.selectionForeground?b(q.selectionForeground,p3):void 0,G.selectionForeground===p3&&(G.selectionForeground=void 0),p.isOpaque(G.selectionBackgroundTransparent)&&(G.selectionBackgroundTransparent=p.opacity(G.selectionBackgroundTransparent,0.3)),p.isOpaque(G.selectionInactiveBackgroundTransparent)&&(G.selectionInactiveBackgroundTransparent=p.opacity(G.selectionInactiveBackgroundTransparent,0.3)),G.scrollbarSliderBackground=b(q.scrollbarSliderBackground,p.opacity(G.foreground,0.2)),G.scrollbarSliderHoverBackground=b(q.scrollbarSliderHoverBackground,p.opacity(G.foreground,0.4)),G.scrollbarSliderActiveBackground=b(q.scrollbarSliderActiveBackground,p.opacity(G.foreground,0.5)),G.overviewRulerBorder=b(q.overviewRulerBorder,p7),G.ansi=s.slice(),G.ansi[0]=b(q.black,s[0]),G.ansi[1]=b(q.red,s[1]),G.ansi[2]=b(q.green,s[2]),G.ansi[3]=b(q.yellow,s[3]),G.ansi[4]=b(q.blue,s[4]),G.ansi[5]=b(q.magenta,s[5]),G.ansi[6]=b(q.cyan,s[6]),G.ansi[7]=b(q.white,s[7]),G.ansi[8]=b(q.brightBlack,s[8]),G.ansi[9]=b(q.brightRed,s[9]),G.ansi[10]=b(q.brightGreen,s[10]),G.ansi[11]=b(q.brightYellow,s[11]),G.ansi[12]=b(q.brightBlue,s[12]),G.ansi[13]=b(q.brightMagenta,s[13]),G.ansi[14]=b(q.brightCyan,s[14]),G.ansi[15]=b(q.brightWhite,s[15]),q.extendedAnsi){let Y=Math.min(G.ansi.length-16,q.extendedAnsi.length);for(let H=0;H<Y;H++)G.ansi[H+16]=b(q.extendedAnsi[H],s[H+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(q){this._restoreColor(q),this._onChangeColors.fire(this.colors)}_restoreColor(q){if(q===void 0){for(let G=0;G<this._restoreColors.ansi.length;++G)this._colors.ansi[G]=this._restoreColors.ansi[G];return}switch(q){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[q]=this._restoreColors.ansi[q]}}modifyColors(q){q(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()}}};l2=a([D(0,C0)],l2);function b(q,G){if(q!==void 0)try{return u.toColor(q)}catch{}return G}var g7=class{constructor(...q){this._entries=new Map;for(let[G,Y]of q)this.set(G,Y)}set(q,G){let Y=this._entries.get(q);return this._entries.set(q,G),Y}forEach(q){for(let[G,Y]of this._entries.entries())q(G,Y)}has(q){return this._entries.has(q)}get(q){return this._entries.get(q)}},d7=class{constructor(){this._services=new g7,this._services.set(q3,this)}setService(q,G){this._services.set(q,G)}getService(q){return this._services.get(q)}createInstance(q,...G){let Y=$5(q).sort((Z,$)=>Z.index-$.index),H=[];for(let Z of Y){let $=this._services.get(Z.id);if(!$)throw Error(`[createInstance] ${q.name} depends on UNKNOWN service ${Z.id._id}.`);H.push($)}let F=Y.length>0?Y[0].index:G.length;if(G.length!==F)throw Error(`[createInstance] First service dependency of ${q.name} at position ${F+1} conflicts with ${G.length} static arguments`);return new q(...G,...H)}},f7={trace:0,debug:1,info:2,warn:3,error:4,off:5},h7="xterm.js: ",o2=class extends y{constructor(q){super();this._optionsService=q,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),u7=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=f7[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(q){for(let G=0;G<q.length;G++)typeof q[G]=="function"&&(q[G]=q[G]())}_log(q,G,Y){this._evalLazyOptionalParams(Y),q.call(console,(this._optionsService.options.logger?"":h7)+G,...Y)}trace(q,...G){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,q,G)}debug(q,...G){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,q,G)}info(q,...G){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,q,G)}warn(q,...G){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,q,G)}error(q,...G){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,q,G)}};o2=a([D(0,C0)],o2);var u7,l3=class extends y{constructor(q){super();this._maxLength=q,this.onDeleteEmitter=this._register(new B),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new B),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new B),this.onTrim=this.onTrimEmitter.event,this._array=Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(q){if(this._maxLength===q)return;let G=Array(q);for(let Y=0;Y<Math.min(q,this.length);Y++)G[Y]=this._array[this._getCyclicIndex(Y)];this._array=G,this._maxLength=q,this._startIndex=0}get length(){return this._length}set length(q){if(q>this._length)for(let G=this._length;G<q;G++)this._array[G]=void 0;this._length=q}get(q){return this._array[this._getCyclicIndex(q)]}set(q,G){this._array[this._getCyclicIndex(q)]=G}push(q){this._array[this._getCyclicIndex(this._length)]=q,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(q,G,...Y){if(G){for(let H=q;H<this._length-G;H++)this._array[this._getCyclicIndex(H)]=this._array[this._getCyclicIndex(H+G)];this._length-=G,this.onDeleteEmitter.fire({index:q,amount:G})}for(let H=this._length-1;H>=q;H--)this._array[this._getCyclicIndex(H+Y.length)]=this._array[this._getCyclicIndex(H)];for(let H=0;H<Y.length;H++)this._array[this._getCyclicIndex(q+H)]=Y[H];if(Y.length&&this.onInsertEmitter.fire({index:q,amount:Y.length}),this._length+Y.length>this._maxLength){let H=this._length+Y.length-this._maxLength;this._startIndex+=H,this._length=this._maxLength,this.onTrimEmitter.fire(H)}else this._length+=Y.length}trimStart(q){q>this._length&&(q=this._length),this._startIndex+=q,this._length-=q,this.onTrimEmitter.fire(q)}shiftElements(q,G,Y){if(!(G<=0)){if(q<0||q>=this._length)throw Error("start argument out of range");if(q+Y<0)throw Error("Cannot shift elements in list beyond index 0");if(Y>0){for(let F=G-1;F>=0;F--)this.set(q+F+Y,this.get(q+F));let H=q+G+Y-this._length;if(H>0)for(this._length+=H;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let H=0;H<G;H++)this.set(q+H+Y,this.get(q+H))}}_getCyclicIndex(q){return(this._startIndex+q)%this._maxLength}},S=3,o=Object.freeze(new x1),m1=0,B2=2,B1=class q{constructor(G,Y,H=!1){this.isWrapped=H,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(G*S);let F=Y||B0.fromCharData([0,U4,1,0]);for(let Z=0;Z<G;++Z)this.setCell(Z,F);this.length=G}get(G){let Y=this._data[G*S+0],H=Y&2097151;return[this._data[G*S+1],Y&2097152?this._combined[G]:H?h0(H):"",Y>>22,Y&2097152?this._combined[G].charCodeAt(this._combined[G].length-1):H]}set(G,Y){this._data[G*S+1]=Y[0],Y[1].length>1?(this._combined[G]=Y[1],this._data[G*S+0]=G|2097152|Y[2]<<22):this._data[G*S+0]=Y[1].charCodeAt(0)|Y[2]<<22}getWidth(G){return this._data[G*S+0]>>22}hasWidth(G){return this._data[G*S+0]&12582912}getFg(G){return this._data[G*S+1]}getBg(G){return this._data[G*S+2]}hasContent(G){return this._data[G*S+0]&4194303}getCodePoint(G){let Y=this._data[G*S+0];return Y&2097152?this._combined[G].charCodeAt(this._combined[G].length-1):Y&2097151}isCombined(G){return this._data[G*S+0]&2097152}getString(G){let Y=this._data[G*S+0];return Y&2097152?this._combined[G]:Y&2097151?h0(Y&2097151):""}isProtected(G){return this._data[G*S+2]&536870912}loadCell(G,Y){return m1=G*S,Y.content=this._data[m1+0],Y.fg=this._data[m1+1],Y.bg=this._data[m1+2],Y.content&2097152&&(Y.combinedData=this._combined[G]),Y.bg&268435456&&(Y.extended=this._extendedAttrs[G]),Y}setCell(G,Y){Y.content&2097152&&(this._combined[G]=Y.combinedData),Y.bg&268435456&&(this._extendedAttrs[G]=Y.extended),this._data[G*S+0]=Y.content,this._data[G*S+1]=Y.fg,this._data[G*S+2]=Y.bg}setCellFromCodepoint(G,Y,H,F){F.bg&268435456&&(this._extendedAttrs[G]=F.extended),this._data[G*S+0]=Y|H<<22,this._data[G*S+1]=F.fg,this._data[G*S+2]=F.bg}addCodepointToCell(G,Y,H){let F=this._data[G*S+0];F&2097152?this._combined[G]+=h0(Y):F&2097151?(this._combined[G]=h0(F&2097151)+h0(Y),F&=-2097152,F|=2097152):F=Y|4194304,H&&(F&=-12582913,F|=H<<22),this._data[G*S+0]=F}insertCells(G,Y,H){if(G%=this.length,G&&this.getWidth(G-1)===2&&this.setCellFromCodepoint(G-1,0,1,H),Y<this.length-G){let F=new B0;for(let Z=this.length-G-Y-1;Z>=0;--Z)this.setCell(G+Y+Z,this.loadCell(G+Z,F));for(let Z=0;Z<Y;++Z)this.setCell(G+Z,H)}else for(let F=G;F<this.length;++F)this.setCell(F,H);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,H)}deleteCells(G,Y,H){if(G%=this.length,Y<this.length-G){let F=new B0;for(let Z=0;Z<this.length-G-Y;++Z)this.setCell(G+Z,this.loadCell(G+Y+Z,F));for(let Z=this.length-Y;Z<this.length;++Z)this.setCell(Z,H)}else for(let F=G;F<this.length;++F)this.setCell(F,H);G&&this.getWidth(G-1)===2&&this.setCellFromCodepoint(G-1,0,1,H),this.getWidth(G)===0&&!this.hasContent(G)&&this.setCellFromCodepoint(G,0,1,H)}replaceCells(G,Y,H,F=!1){if(F){for(G&&this.getWidth(G-1)===2&&!this.isProtected(G-1)&&this.setCellFromCodepoint(G-1,0,1,H),Y<this.length&&this.getWidth(Y-1)===2&&!this.isProtected(Y)&&this.setCellFromCodepoint(Y,0,1,H);G<Y&&G<this.length;)this.isProtected(G)||this.setCell(G,H),G++;return}for(G&&this.getWidth(G-1)===2&&this.setCellFromCodepoint(G-1,0,1,H),Y<this.length&&this.getWidth(Y-1)===2&&this.setCellFromCodepoint(Y,0,1,H);G<Y&&G<this.length;)this.setCell(G++,H)}resize(G,Y){if(G===this.length)return this._data.length*4*B2<this._data.buffer.byteLength;let H=G*S;if(G>this.length){if(this._data.buffer.byteLength>=H*4)this._data=new Uint32Array(this._data.buffer,0,H);else{let F=new Uint32Array(H);F.set(this._data),this._data=F}for(let F=this.length;F<G;++F)this.setCell(F,Y)}else{this._data=this._data.subarray(0,H);let F=Object.keys(this._combined);for(let $=0;$<F.length;$++){let V=parseInt(F[$],10);V>=G&&delete this._combined[V]}let Z=Object.keys(this._extendedAttrs);for(let $=0;$<Z.length;$++){let V=parseInt(Z[$],10);V>=G&&delete this._extendedAttrs[V]}}return this.length=G,H*4*B2<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*B2<this._data.buffer.byteLength){let G=new Uint32Array(this._data.length);return G.set(this._data),this._data=G,1}return 0}fill(G,Y=!1){if(Y){for(let H=0;H<this.length;++H)this.isProtected(H)||this.setCell(H,G);return}this._combined={},this._extendedAttrs={};for(let H=0;H<this.length;++H)this.setCell(H,G)}copyFrom(G){this.length!==G.length?this._data=new Uint32Array(G._data):this._data.set(G._data),this.length=G.length,this._combined={};for(let Y in G._combined)this._combined[Y]=G._combined[Y];this._extendedAttrs={};for(let Y in G._extendedAttrs)this._extendedAttrs[Y]=G._extendedAttrs[Y];this.isWrapped=G.isWrapped}clone(){let G=new q(0);G._data=new Uint32Array(this._data),G.length=this.length;for(let Y in this._combined)G._combined[Y]=this._combined[Y];for(let Y in this._extendedAttrs)G._extendedAttrs[Y]=this._extendedAttrs[Y];return G.isWrapped=this.isWrapped,G}getTrimmedLength(){for(let G=this.length-1;G>=0;--G)if(this._data[G*S+0]&4194303)return G+(this._data[G*S+0]>>22);return 0}getNoBgTrimmedLength(){for(let G=this.length-1;G>=0;--G)if(this._data[G*S+0]&4194303||this._data[G*S+2]&50331648)return G+(this._data[G*S+0]>>22);return 0}copyCellsFrom(G,Y,H,F,Z){let $=G._data;if(Z)for(let X=F-1;X>=0;X--){for(let J=0;J<S;J++)this._data[(H+X)*S+J]=$[(Y+X)*S+J];$[(Y+X)*S+2]&268435456&&(this._extendedAttrs[H+X]=G._extendedAttrs[Y+X])}else for(let X=0;X<F;X++){for(let J=0;J<S;J++)this._data[(H+X)*S+J]=$[(Y+X)*S+J];$[(Y+X)*S+2]&268435456&&(this._extendedAttrs[H+X]=G._extendedAttrs[Y+X])}let V=Object.keys(G._combined);for(let X=0;X<V.length;X++){let J=parseInt(V[X],10);J>=Y&&(this._combined[J-Y+H]=G._combined[J])}}translateToString(G,Y,H,F){Y=Y??0,H=H??this.length,G&&(H=Math.min(H,this.getTrimmedLength())),F&&(F.length=0);let Z="";for(;Y<H;){let $=this._data[Y*S+0],V=$&2097151,X=$&2097152?this._combined[Y]:V?h0(V):u0;if(Z+=X,F)for(let J=0;J<X.length;++J)F.push(Y);Y+=$>>22||1}return F&&F.push(Y),Z}};function c7(q,G,Y,H,F,Z){let $=[];for(let V=0;V<q.length-1;V++){let X=V,J=q.get(++X);if(!J.isWrapped)continue;let M=[q.get(V)];for(;X<q.length&&J.isWrapped;)M.push(J),J=q.get(++X);if(!Z&&H>=V&&H<X){V+=M.length-1;continue}let C=0,j=O1(M,C,G),K=1,z=0;for(;K<M.length;){let P=O1(M,K,G),x=P-z,m=Y-j,I=Math.min(x,m);M[C].copyCellsFrom(M[K],z,j,I,!1),j+=I,j===Y&&(C++,j=0),z+=I,z===P&&(K++,z=0),j===0&&C!==0&&M[C-1].getWidth(Y-1)===2&&(M[C].copyCellsFrom(M[C-1],Y-1,j++,1,!1),M[C-1].setCell(Y-1,F))}M[C].replaceCells(j,Y,F);let W=0;for(let P=M.length-1;P>0&&(P>C||M[P].getTrimmedLength()===0);P--)W++;W>0&&($.push(V+M.length-W),$.push(W)),V+=M.length-1}return $}function a7(q,G){let Y=[],H=0,F=G[H],Z=0;for(let $=0;$<q.length;$++)if(F===$){let V=G[++H];q.onDeleteEmitter.fire({index:$-Z,amount:V}),$+=V-1,Z+=V,F=G[++H]}else Y.push($);return{layout:Y,countRemoved:Z}}function l7(q,G){let Y=[];for(let H=0;H<G.length;H++)Y.push(q.get(G[H]));for(let H=0;H<Y.length;H++)q.set(H,Y[H]);q.length=G.length}function o7(q,G,Y){let H=[],F=q.map((X,J)=>O1(q,J,G)).reduce((X,J)=>X+J),Z=0,$=0,V=0;for(;V<F;){if(F-V<Y){H.push(F-V);break}Z+=Y;let X=O1(q,$,G);Z>X&&(Z-=X,$++);let J=q[$].getWidth(Z-1)===2;J&&Z--;let M=J?Y-1:Y;H.push(M),V+=M}return H}function O1(q,G,Y){if(G===q.length-1)return q[G].getTrimmedLength();let H=!q[G].hasContent(Y-1)&&q[G].getWidth(Y-1)===1,F=q[G+1].getWidth(0)===2;return H&&F?Y-1:Y}var n4=class q{constructor(G){this.line=G,this.isDisposed=!1,this._disposables=[],this._id=q._nextId++,this._onDispose=this.register(new B),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),i0(this._disposables),this._disposables.length=0)}register(G){return this._disposables.push(G),G}};n4._nextId=1;var n7=n4,i={},n0=i.B;i[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:"≥","{":"π","|":"≠","}":"£","~":"·"};i.A={"#":"£"};i.B=void 0;i[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};i.C=i[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};i.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};i.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};i.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};i.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};i.E=i[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};i.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};i.H=i[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};i["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var o3=4294967295,n3=class{constructor(q,G,Y){this._hasScrollback=q,this._optionsService=G,this._bufferService=Y,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=o.clone(),this.savedCharset=n0,this.markers=[],this._nullCell=B0.fromCharData([0,U4,1,0]),this._whitespaceCell=B0.fromCharData([0,u0,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new t1,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new l3(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(q){return q?(this._nullCell.fg=q.fg,this._nullCell.bg=q.bg,this._nullCell.extended=q.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new a1),this._nullCell}getWhitespaceCell(q){return q?(this._whitespaceCell.fg=q.fg,this._whitespaceCell.bg=q.bg,this._whitespaceCell.extended=q.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new a1),this._whitespaceCell}getBlankLine(q,G){return new B1(this._bufferService.cols,this.getNullCell(q),G)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let q=this.ybase+this.y-this.ydisp;return q>=0&&q<this._rows}_getCorrectBufferLength(q){if(!this._hasScrollback)return q;let G=q+this._optionsService.rawOptions.scrollback;return G>o3?o3:G}fillViewportRows(q){if(this.lines.length===0){q===void 0&&(q=o);let G=this._rows;for(;G--;)this.lines.push(this.getBlankLine(q))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new l3(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(q,G){let Y=this.getNullCell(o),H=0,F=this._getCorrectBufferLength(G);if(F>this.lines.maxLength&&(this.lines.maxLength=F),this.lines.length>0){if(this._cols<q)for(let $=0;$<this.lines.length;$++)H+=+this.lines.get($).resize(q,Y);let Z=0;if(this._rows<G)for(let $=this._rows;$<G;$++)this.lines.length<G+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new B1(q,Y)):this.ybase>0&&this.lines.length<=this.ybase+this.y+Z+1?(this.ybase--,Z++,this.ydisp>0&&this.ydisp--):this.lines.push(new B1(q,Y)));else for(let $=this._rows;$>G;$--)this.lines.length>G+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(F<this.lines.maxLength){let $=this.lines.length-F;$>0&&(this.lines.trimStart($),this.ybase=Math.max(this.ybase-$,0),this.ydisp=Math.max(this.ydisp-$,0),this.savedY=Math.max(this.savedY-$,0)),this.lines.maxLength=F}this.x=Math.min(this.x,q-1),this.y=Math.min(this.y,G-1),Z&&(this.y+=Z),this.savedX=Math.min(this.savedX,q-1),this.scrollTop=0}if(this.scrollBottom=G-1,this._isReflowEnabled&&(this._reflow(q,G),this._cols>q))for(let Z=0;Z<this.lines.length;Z++)H+=+this.lines.get(Z).resize(q,Y);this._cols=q,this._rows=G,this._memoryCleanupQueue.clear(),H>0.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let q=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,q=!1);let G=0;for(;this._memoryCleanupPosition<this.lines.length;)if(G+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),G>100)return!0;return q}get _isReflowEnabled(){let q=this._optionsService.rawOptions.windowsPty;return q&&q.buildNumber?this._hasScrollback&&q.backend==="conpty"&&q.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(q,G){this._cols!==q&&(q>this._cols?this._reflowLarger(q,G):this._reflowSmaller(q,G))}_reflowLarger(q,G){let Y=this._optionsService.rawOptions.reflowCursorLine,H=c7(this.lines,this._cols,q,this.ybase+this.y,this.getNullCell(o),Y);if(H.length>0){let F=a7(this.lines,H);l7(this.lines,F.layout),this._reflowLargerAdjustViewport(q,G,F.countRemoved)}}_reflowLargerAdjustViewport(q,G,Y){let H=this.getNullCell(o),F=Y;for(;F-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<G&&this.lines.push(new B1(q,H))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-Y,0)}_reflowSmaller(q,G){let Y=this._optionsService.rawOptions.reflowCursorLine,H=this.getNullCell(o),F=[],Z=0;for(let $=this.lines.length-1;$>=0;$--){let V=this.lines.get($);if(!V||!V.isWrapped&&V.getTrimmedLength()<=q)continue;let X=[V];for(;V.isWrapped&&$>0;)V=this.lines.get(--$),X.unshift(V);if(!Y){let I=this.ybase+this.y;if(I>=$&&I<$+X.length)continue}let J=X[X.length-1].getTrimmedLength(),M=o7(X,this._cols,q),C=M.length-X.length,j;this.ybase===0&&this.y!==this.lines.length-1?j=Math.max(0,this.y-this.lines.maxLength+C):j=Math.max(0,this.lines.length-this.lines.maxLength+C);let K=[];for(let I=0;I<C;I++){let Q=this.getBlankLine(o,!0);K.push(Q)}K.length>0&&(F.push({start:$+X.length+Z,newLines:K}),Z+=K.length),X.push(...K);let z=M.length-1,W=M[z];W===0&&(z--,W=M[z]);let P=X.length-C-1,x=J;for(;P>=0;){let I=Math.min(x,W);if(X[z]===void 0)break;if(X[z].copyCellsFrom(X[P],x-I,W-I,I,!0),W-=I,W===0&&(z--,W=M[z]),x-=I,x===0){P--;let Q=Math.max(P,0);x=O1(X,Q,this._cols)}}for(let I=0;I<X.length;I++)M[I]<q&&X[I].setCell(M[I],H);let m=C-j;for(;m-- >0;)this.ybase===0?this.y<G-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+Z)-G&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+C,this.ybase+G-1)}if(F.length>0){let $=[],V=[];for(let W=0;W<this.lines.length;W++)V.push(this.lines.get(W));let X=this.lines.length,J=X-1,M=0,C=F[M];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+Z);let j=0;for(let W=Math.min(this.lines.maxLength-1,X+Z-1);W>=0;W--)if(C&&C.start>J+j){for(let P=C.newLines.length-1;P>=0;P--)this.lines.set(W--,C.newLines[P]);W++,$.push({index:J+1,amount:C.newLines.length}),j+=C.newLines.length,C=F[++M]}else this.lines.set(W,V[J--]);let K=0;for(let W=$.length-1;W>=0;W--)$[W].index+=K,this.lines.onInsertEmitter.fire($[W]),K+=$[W].amount;let z=Math.max(0,X+Z-this.lines.maxLength);z>0&&this.lines.onTrimEmitter.fire(z)}}translateBufferLineToString(q,G,Y=0,H){let F=this.lines.get(q);return F?F.translateToString(G,Y,H):""}getWrappedRangeForLine(q){let G=q,Y=q;for(;G>0&&this.lines.get(G).isWrapped;)G--;for(;Y+1<this.lines.length&&this.lines.get(Y+1).isWrapped;)Y++;return{first:G,last:Y}}setupTabStops(q){for(q!=null?this.tabs[q]||(q=this.prevStop(q)):(this.tabs={},q=0);q<this._cols;q+=this._optionsService.rawOptions.tabStopWidth)this.tabs[q]=!0}prevStop(q){for(q==null&&(q=this.x);!this.tabs[--q]&&q>0;);return q>=this._cols?this._cols-1:q<0?0:q}nextStop(q){for(q==null&&(q=this.x);!this.tabs[++q]&&q<this._cols;);return q>=this._cols?this._cols-1:q<0?0:q}clearMarkers(q){this._isClearing=!0;for(let G=0;G<this.markers.length;G++)this.markers[G].line===q&&(this.markers[G].dispose(),this.markers.splice(G--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let q=0;q<this.markers.length;q++)this.markers[q].dispose();this.markers.length=0,this._isClearing=!1}addMarker(q){let G=new n7(q);return this.markers.push(G),G.register(this.lines.onTrim((Y)=>{G.line-=Y,G.line<0&&G.dispose()})),G.register(this.lines.onInsert((Y)=>{G.line>=Y.index&&(G.line+=Y.amount)})),G.register(this.lines.onDelete((Y)=>{G.line>=Y.index&&G.line<Y.index+Y.amount&&G.dispose(),G.line>Y.index&&(G.line-=Y.amount)})),G.register(G.onDispose(()=>this._removeMarker(G))),G}_removeMarker(q){this._isClearing||this.markers.splice(this.markers.indexOf(q),1)}},s7=class extends y{constructor(q,G){super();this._optionsService=q,this._bufferService=G,this._onBufferActivate=this._register(new B),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 n3(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new n3(!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(q){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(q),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(q,G){this._normal.resize(q,G),this._alt.resize(q,G),this.setupTabStops(q)}setupTabStops(q){this._normal.setupTabStops(q),this._alt.setupTabStops(q)}},s4=2,r4=1,n2=class extends y{constructor(q){super();this.isUserScrolling=!1,this._onResize=this._register(new B),this.onResize=this._onResize.event,this._onScroll=this._register(new B),this.onScroll=this._onScroll.event,this.cols=Math.max(q.rawOptions.cols||0,s4),this.rows=Math.max(q.rawOptions.rows||0,r4),this.buffers=this._register(new s7(q,this)),this._register(this.buffers.onBufferActivate((G)=>{this._onScroll.fire(G.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(q,G){let Y=this.cols!==q,H=this.rows!==G;this.cols=q,this.rows=G,this.buffers.resize(q,G),this._onResize.fire({cols:q,rows:G,colsChanged:Y,rowsChanged:H})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(q,G=!1){let Y=this.buffer,H;H=this._cachedBlankLine,(!H||H.length!==this.cols||H.getFg(0)!==q.fg||H.getBg(0)!==q.bg)&&(H=Y.getBlankLine(q,G),this._cachedBlankLine=H),H.isWrapped=G;let F=Y.ybase+Y.scrollTop,Z=Y.ybase+Y.scrollBottom;if(Y.scrollTop===0){let $=Y.lines.isFull;Z===Y.lines.length-1?$?Y.lines.recycle().copyFrom(H):Y.lines.push(H.clone()):Y.lines.splice(Z+1,0,H.clone()),$?this.isUserScrolling&&(Y.ydisp=Math.max(Y.ydisp-1,0)):(Y.ybase++,this.isUserScrolling||Y.ydisp++)}else{let $=Z-F+1;Y.lines.shiftElements(F+1,$-1,-1),Y.lines.set(Z,H.clone())}this.isUserScrolling||(Y.ydisp=Y.ybase),this._onScroll.fire(Y.ydisp)}scrollLines(q,G){let Y=this.buffer;if(q<0){if(Y.ydisp===0)return;this.isUserScrolling=!0}else q+Y.ydisp>=Y.ybase&&(this.isUserScrolling=!1);let H=Y.ydisp;Y.ydisp=Math.max(Math.min(Y.ydisp+q,Y.ybase),0),H!==Y.ydisp&&(G||this._onScroll.fire(Y.ydisp))}};n2=a([D(0,C0)],n2);var q1={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:1000,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:i1,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},r7=["normal","bold","100","200","300","400","500","600","700","800","900"],i7=class extends y{constructor(q){super();this._onOptionChange=this._register(new B),this.onOptionChange=this._onOptionChange.event;let G={...q1};for(let Y in q)if(Y in G)try{let H=q[Y];G[Y]=this._sanitizeAndValidateOption(Y,H)}catch(H){console.error(H)}this.rawOptions=G,this.options={...G},this._setupOptions(),this._register(g(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(q,G){return this.onOptionChange((Y)=>{Y===q&&G(this.rawOptions[q])})}onMultipleOptionChange(q,G){return this.onOptionChange((Y)=>{q.indexOf(Y)!==-1&&G()})}_setupOptions(){let q=(Y)=>{if(!(Y in q1))throw Error(`No option with key "${Y}"`);return this.rawOptions[Y]},G=(Y,H)=>{if(!(Y in q1))throw Error(`No option with key "${Y}"`);H=this._sanitizeAndValidateOption(Y,H),this.rawOptions[Y]!==H&&(this.rawOptions[Y]=H,this._onOptionChange.fire(Y))};for(let Y in this.rawOptions){let H={get:q.bind(this,Y),set:G.bind(this,Y)};Object.defineProperty(this.options,Y,H)}}_sanitizeAndValidateOption(q,G){switch(q){case"cursorStyle":if(G||(G=q1[q]),!t7(G))throw Error(`"${G}" is not a valid value for ${q}`);break;case"wordSeparator":G||(G=q1[q]);break;case"fontWeight":case"fontWeightBold":if(typeof G=="number"&&1<=G&&G<=1000)break;G=r7.includes(G)?G:q1[q];break;case"cursorWidth":G=Math.floor(G);case"lineHeight":case"tabStopWidth":if(G<1)throw Error(`${q} cannot be less than 1, value: ${G}`);break;case"minimumContrastRatio":G=Math.max(1,Math.min(21,Math.round(G*10)/10));break;case"scrollback":if(G=Math.min(G,4294967295),G<0)throw Error(`${q} cannot be less than 0, value: ${G}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(G<=0)throw Error(`${q} cannot be less than or equal to 0, value: ${G}`);break;case"rows":case"cols":if(!G&&G!==0)throw Error(`${q} must be numeric, value: ${G}`);break;case"windowsPty":G=G??{};break}return G}};function t7(q){return q==="block"||q==="underline"||q==="bar"}function A1(q,G=5){if(typeof q!="object")return q;let Y=Array.isArray(q)?[]:{};for(let H in q)Y[H]=G<=1?q[H]:q[H]&&A1(q[H],G-1);return Y}var s3=Object.freeze({insertMode:!1}),r3=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),s2=class extends y{constructor(q,G,Y){super();this._bufferService=q,this._logService=G,this._optionsService=Y,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new B),this.onData=this._onData.event,this._onUserInput=this._register(new B),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new B),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new B),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=A1(s3),this.decPrivateModes=A1(r3)}reset(){this.modes=A1(s3),this.decPrivateModes=A1(r3)}triggerDataEvent(q,G=!1){if(this._optionsService.rawOptions.disableStdin)return;let Y=this._bufferService.buffer;G&&this._optionsService.rawOptions.scrollOnUserInput&&Y.ybase!==Y.ydisp&&this._onRequestScrollToBottom.fire(),G&&this._onUserInput.fire(),this._logService.debug(`sending data "${q}"`),this._logService.trace("sending data (codes)",()=>q.split("").map((H)=>H.charCodeAt(0))),this._onData.fire(q)}triggerBinaryEvent(q){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${q}"`),this._logService.trace("sending binary (codes)",()=>q.split("").map((G)=>G.charCodeAt(0))),this._onBinary.fire(q))}};s2=a([D(0,X0),D(1,B4),D(2,C0)],s2);var i3={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:(q)=>q.button===4||q.action!==1?!1:(q.ctrl=!1,q.alt=!1,q.shift=!1,!0)},VT200:{events:19,restrict:(q)=>q.action!==32},DRAG:{events:23,restrict:(q)=>!(q.action===32&&q.button===3)},ANY:{events:31,restrict:(q)=>!0}};function A2(q,G){let Y=(q.ctrl?16:0)|(q.shift?4:0)|(q.alt?8:0);return q.button===4?(Y|=64,Y|=q.action):(Y|=q.button&3,q.button&4&&(Y|=64),q.button&8&&(Y|=128),q.action===32?Y|=32:q.action===0&&!G&&(Y|=3)),Y}var R2=String.fromCharCode,t3={DEFAULT:(q)=>{let G=[A2(q,!1)+32,q.col+32,q.row+32];return G[0]>255||G[1]>255||G[2]>255?"":`\x1B[M${R2(G[0])}${R2(G[1])}${R2(G[2])}`},SGR:(q)=>{let G=q.action===0&&q.button!==4?"m":"M";return`\x1B[<${A2(q,!0)};${q.col};${q.row}${G}`},SGR_PIXELS:(q)=>{let G=q.action===0&&q.button!==4?"m":"M";return`\x1B[<${A2(q,!0)};${q.x};${q.y}${G}`}},r2=class extends y{constructor(q,G,Y){super();this._bufferService=q,this._coreService=G,this._optionsService=Y,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new B),this.onProtocolChange=this._onProtocolChange.event;for(let H of Object.keys(i3))this.addProtocol(H,i3[H]);for(let H of Object.keys(t3))this.addEncoding(H,t3[H]);this.reset()}addProtocol(q,G){this._protocols[q]=G}addEncoding(q,G){this._encodings[q]=G}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(q){if(!this._protocols[q])throw Error(`unknown protocol "${q}"`);this._activeProtocol=q,this._onProtocolChange.fire(this._protocols[q].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(q){if(!this._encodings[q])throw Error(`unknown encoding "${q}"`);this._activeEncoding=q}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(q,G,Y){if(q.deltaY===0||q.shiftKey||G===void 0||Y===void 0)return 0;let H=G/Y,F=this._applyScrollModifier(q.deltaY,q);return q.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(F/=H+0,Math.abs(q.deltaY)<50&&(F*=0.3),this._wheelPartialScroll+=F,F=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):q.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(F*=this._bufferService.rows),F}_applyScrollModifier(q,G){return G.altKey||G.ctrlKey||G.shiftKey?q*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:q*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(q){if(q.col<0||q.col>=this._bufferService.cols||q.row<0||q.row>=this._bufferService.rows||q.button===4&&q.action===32||q.button===3&&q.action!==32||q.button!==4&&(q.action===2||q.action===3)||(q.col++,q.row++,q.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,q,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(q))return!1;let G=this._encodings[this._activeEncoding](q);return G&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(G):this._coreService.triggerDataEvent(G,!0)),this._lastEvent=q,!0}explainEvents(q){return{down:!!(q&1),up:!!(q&2),drag:!!(q&4),move:!!(q&8),wheel:!!(q&16)}}_equalEvents(q,G,Y){if(Y){if(q.x!==G.x||q.y!==G.y)return!1}else if(q.col!==G.col||q.row!==G.row)return!1;return!(q.button!==G.button||q.action!==G.action||q.ctrl!==G.ctrl||q.alt!==G.alt||q.shift!==G.shift)}};r2=a([D(0,X0),D(1,e0),D(2,C0)],r2);var D2=[[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]],e7=[[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]],r;function q8(q,G){let Y=0,H=G.length-1,F;if(q<G[0][0]||q>G[H][1])return!1;for(;H>=Y;)if(F=Y+H>>1,q>G[F][1])Y=F+1;else if(q<G[F][0])H=F-1;else return!0;return!1}var G8=class{constructor(){if(this.version="6",!r){r=new Uint8Array(65536),r.fill(1),r[0]=0,r.fill(0,1,32),r.fill(0,127,160),r.fill(2,4352,4448),r[9001]=2,r[9002]=2,r.fill(2,11904,42192),r[12351]=1,r.fill(2,44032,55204),r.fill(2,63744,64256),r.fill(2,65040,65050),r.fill(2,65072,65136),r.fill(2,65280,65377),r.fill(2,65504,65511);for(let q=0;q<D2.length;++q)r.fill(0,D2[q][0],D2[q][1]+1)}}wcwidth(q){return q<32?0:q<127?1:q<65536?r[q]:q8(q,e7)?0:q>=131072&&q<=196605||q>=196608&&q<=262141?2:1}charProperties(q,G){let Y=this.wcwidth(q),H=Y===0&&G!==0;if(H){let F=s0.extractWidth(G);F===0?H=!1:F>Y&&(Y=F)}return s0.createPropertyValue(0,Y,H)}},s0=class q{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new B,this.onChange=this._onChange.event;let G=new G8;this.register(G),this._active=G.version,this._activeProvider=G}static extractShouldJoin(G){return(G&1)!==0}static extractWidth(G){return G>>1&3}static extractCharKind(G){return G>>3}static createPropertyValue(G,Y,H=!1){return(G&16777215)<<3|(Y&3)<<1|(H?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(G){if(!this._providers[G])throw Error(`unknown Unicode version "${G}"`);this._active=G,this._activeProvider=this._providers[G],this._onChange.fire(G)}register(G){this._providers[G.version]=G}wcwidth(G){return this._activeProvider.wcwidth(G)}getStringCellWidth(G){let Y=0,H=0,F=G.length;for(let Z=0;Z<F;++Z){let $=G.charCodeAt(Z);if(55296<=$&&$<=56319){if(++Z>=F)return Y+this.wcwidth($);let J=G.charCodeAt(Z);56320<=J&&J<=57343?$=($-55296)*1024+J-56320+65536:Y+=this.wcwidth(J)}let V=this.charProperties($,H),X=q.extractWidth(V);q.extractShouldJoin(V)&&(X-=q.extractWidth(H)),Y+=X,H=V}return Y}charProperties(G,Y){return this._activeProvider.charProperties(G,Y)}},Y8=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(q){this.glevel=q,this.charset=this._charsets[q]}setgCharset(q,G){this._charsets[q]=G,this.glevel===q&&(this.charset=G)}};function e3(q){let G=q.buffer.lines.get(q.buffer.ybase+q.buffer.y-1)?.get(q.cols-1),Y=q.buffer.lines.get(q.buffer.ybase+q.buffer.y);Y&&G&&(Y.isWrapped=G[3]!==0&&G[3]!==32)}var z1=2147483647,H8=256,i4=class q{constructor(G=32,Y=32){if(this.maxLength=G,this.maxSubParamsLength=Y,Y>H8)throw Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(G),this.length=0,this._subParams=new Int32Array(Y),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(G),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(G){let Y=new q;if(!G.length)return Y;for(let H=Array.isArray(G[0])?1:0;H<G.length;++H){let F=G[H];if(Array.isArray(F))for(let Z=0;Z<F.length;++Z)Y.addSubParam(F[Z]);else Y.addParam(F)}return Y}clone(){let G=new q(this.maxLength,this.maxSubParamsLength);return G.params.set(this.params),G.length=this.length,G._subParams.set(this._subParams),G._subParamsLength=this._subParamsLength,G._subParamsIdx.set(this._subParamsIdx),G._rejectDigits=this._rejectDigits,G._rejectSubDigits=this._rejectSubDigits,G._digitIsSub=this._digitIsSub,G}toArray(){let G=[];for(let Y=0;Y<this.length;++Y){G.push(this.params[Y]);let H=this._subParamsIdx[Y]>>8,F=this._subParamsIdx[Y]&255;F-H>0&&G.push(Array.prototype.slice.call(this._subParams,H,F))}return G}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(G){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(G<-1)throw Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=G>z1?z1:G}addSubParam(G){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(G<-1)throw Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=G>z1?z1:G,this._subParamsIdx[this.length-1]++}}hasSubParams(G){return(this._subParamsIdx[G]&255)-(this._subParamsIdx[G]>>8)>0}getSubParams(G){let Y=this._subParamsIdx[G]>>8,H=this._subParamsIdx[G]&255;return H-Y>0?this._subParams.subarray(Y,H):null}getSubParamsAll(){let G={};for(let Y=0;Y<this.length;++Y){let H=this._subParamsIdx[Y]>>8,F=this._subParamsIdx[Y]&255;F-H>0&&(G[Y]=this._subParams.slice(H,F))}return G}addDigit(G){let Y;if(this._rejectDigits||!(Y=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let H=this._digitIsSub?this._subParams:this.params,F=H[Y-1];H[Y-1]=~F?Math.min(F*10+G,z1):G}},j1=[],F8=class{constructor(){this._state=0,this._active=j1,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(q,G){this._handlers[q]===void 0&&(this._handlers[q]=[]);let Y=this._handlers[q];return Y.push(G),{dispose:()=>{let H=Y.indexOf(G);H!==-1&&Y.splice(H,1)}}}clearHandler(q){this._handlers[q]&&delete this._handlers[q]}setHandlerFallback(q){this._handlerFb=q}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=j1}reset(){if(this._state===2)for(let q=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;q>=0;--q)this._active[q].end(!1);this._stack.paused=!1,this._active=j1,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||j1,!this._active.length)this._handlerFb(this._id,"START");else for(let q=this._active.length-1;q>=0;q--)this._active[q].start()}_put(q,G,Y){if(!this._active.length)this._handlerFb(this._id,"PUT",q2(q,G,Y));else for(let H=this._active.length-1;H>=0;H--)this._active[H].put(q,G,Y)}start(){this.reset(),this._state=1}put(q,G,Y){if(this._state!==3){if(this._state===1)for(;G<Y;){let H=q[G++];if(H===59){this._state=2,this._start();break}if(H<48||57<H){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+H-48}this._state===2&&Y-G>0&&this._put(q,G,Y)}}end(q,G=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,"END",q);else{let Y=!1,H=this._active.length-1,F=!1;if(this._stack.paused&&(H=this._stack.loopPosition-1,Y=G,F=this._stack.fallThrough,this._stack.paused=!1),!F&&Y===!1){for(;H>=0&&(Y=this._active[H].end(q),Y!==!0);H--)if(Y instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=H,this._stack.fallThrough=!1,Y;H--}for(;H>=0;H--)if(Y=this._active[H].end(!1),Y instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=H,this._stack.fallThrough=!0,Y}this._active=j1,this._id=-1,this._state=0}}},j0=class{constructor(q){this._handler=q,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(q,G,Y){this._hitLimit||(this._data+=q2(q,G,Y),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(q){let G=!1;if(this._hitLimit)G=!1;else if(q&&(G=this._handler(this._data),G instanceof Promise))return G.then((Y)=>(this._data="",this._hitLimit=!1,Y));return this._data="",this._hitLimit=!1,G}},K1=[],Z8=class{constructor(){this._handlers=Object.create(null),this._active=K1,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=K1}registerHandler(q,G){this._handlers[q]===void 0&&(this._handlers[q]=[]);let Y=this._handlers[q];return Y.push(G),{dispose:()=>{let H=Y.indexOf(G);H!==-1&&Y.splice(H,1)}}}clearHandler(q){this._handlers[q]&&delete this._handlers[q]}setHandlerFallback(q){this._handlerFb=q}reset(){if(this._active.length)for(let q=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;q>=0;--q)this._active[q].unhook(!1);this._stack.paused=!1,this._active=K1,this._ident=0}hook(q,G){if(this.reset(),this._ident=q,this._active=this._handlers[q]||K1,!this._active.length)this._handlerFb(this._ident,"HOOK",G);else for(let Y=this._active.length-1;Y>=0;Y--)this._active[Y].hook(G)}put(q,G,Y){if(!this._active.length)this._handlerFb(this._ident,"PUT",q2(q,G,Y));else for(let H=this._active.length-1;H>=0;H--)this._active[H].put(q,G,Y)}unhook(q,G=!0){if(!this._active.length)this._handlerFb(this._ident,"UNHOOK",q);else{let Y=!1,H=this._active.length-1,F=!1;if(this._stack.paused&&(H=this._stack.loopPosition-1,Y=G,F=this._stack.fallThrough,this._stack.paused=!1),!F&&Y===!1){for(;H>=0&&(Y=this._active[H].unhook(q),Y!==!0);H--)if(Y instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=H,this._stack.fallThrough=!1,Y;H--}for(;H>=0;H--)if(Y=this._active[H].unhook(!1),Y instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=H,this._stack.fallThrough=!0,Y}this._active=K1,this._ident=0}},R1=new i4;R1.addParam(0);var q4=class{constructor(q){this._handler=q,this._data="",this._params=R1,this._hitLimit=!1}hook(q){this._params=q.length>1||q.params[0]?q.clone():R1,this._data="",this._hitLimit=!1}put(q,G,Y){this._hitLimit||(this._data+=q2(q,G,Y),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(q){let G=!1;if(this._hitLimit)G=!1;else if(q&&(G=this._handler(this._data,this._params),G instanceof Promise))return G.then((Y)=>(this._params=R1,this._data="",this._hitLimit=!1,Y));return this._params=R1,this._data="",this._hitLimit=!1,G}},$8=class{constructor(q){this.table=new Uint8Array(q)}setDefault(q,G){this.table.fill(q<<4|G)}add(q,G,Y,H){this.table[G<<8|q]=Y<<4|H}addMany(q,G,Y,H){for(let F=0;F<q.length;F++)this.table[G<<8|q[F]]=Y<<4|H}},N0=160,J8=function(){let q=new $8(4095),G=Array.apply(null,Array(256)).map((V,X)=>X),Y=(V,X)=>G.slice(V,X),H=Y(32,127),F=Y(0,24);F.push(25),F.push.apply(F,Y(28,32));let Z=Y(0,14),$;q.setDefault(1,0),q.addMany(H,0,2,0);for($ in Z)q.addMany([24,26,153,154],$,3,0),q.addMany(Y(128,144),$,3,0),q.addMany(Y(144,152),$,3,0),q.add(156,$,0,0),q.add(27,$,11,1),q.add(157,$,4,8),q.addMany([152,158,159],$,0,7),q.add(155,$,11,3),q.add(144,$,11,9);return q.addMany(F,0,3,0),q.addMany(F,1,3,1),q.add(127,1,0,1),q.addMany(F,8,0,8),q.addMany(F,3,3,3),q.add(127,3,0,3),q.addMany(F,4,3,4),q.add(127,4,0,4),q.addMany(F,6,3,6),q.addMany(F,5,3,5),q.add(127,5,0,5),q.addMany(F,2,3,2),q.add(127,2,0,2),q.add(93,1,4,8),q.addMany(H,8,5,8),q.add(127,8,5,8),q.addMany([156,27,24,26,7],8,6,0),q.addMany(Y(28,32),8,0,8),q.addMany([88,94,95],1,0,7),q.addMany(H,7,0,7),q.addMany(F,7,0,7),q.add(156,7,0,0),q.add(127,7,0,7),q.add(91,1,11,3),q.addMany(Y(64,127),3,7,0),q.addMany(Y(48,60),3,8,4),q.addMany([60,61,62,63],3,9,4),q.addMany(Y(48,60),4,8,4),q.addMany(Y(64,127),4,7,0),q.addMany([60,61,62,63],4,0,6),q.addMany(Y(32,64),6,0,6),q.add(127,6,0,6),q.addMany(Y(64,127),6,0,0),q.addMany(Y(32,48),3,9,5),q.addMany(Y(32,48),5,9,5),q.addMany(Y(48,64),5,0,6),q.addMany(Y(64,127),5,7,0),q.addMany(Y(32,48),4,9,5),q.addMany(Y(32,48),1,9,2),q.addMany(Y(32,48),2,9,2),q.addMany(Y(48,127),2,10,0),q.addMany(Y(48,80),1,10,0),q.addMany(Y(81,88),1,10,0),q.addMany([89,90,92],1,10,0),q.addMany(Y(96,127),1,10,0),q.add(80,1,11,9),q.addMany(F,9,0,9),q.add(127,9,0,9),q.addMany(Y(28,32),9,0,9),q.addMany(Y(32,48),9,9,12),q.addMany(Y(48,60),9,8,10),q.addMany([60,61,62,63],9,9,10),q.addMany(F,11,0,11),q.addMany(Y(32,128),11,0,11),q.addMany(Y(28,32),11,0,11),q.addMany(F,10,0,10),q.add(127,10,0,10),q.addMany(Y(28,32),10,0,10),q.addMany(Y(48,60),10,8,10),q.addMany([60,61,62,63],10,0,11),q.addMany(Y(32,48),10,9,12),q.addMany(F,12,0,12),q.add(127,12,0,12),q.addMany(Y(28,32),12,0,12),q.addMany(Y(32,48),12,9,12),q.addMany(Y(48,64),12,0,11),q.addMany(Y(64,127),12,12,13),q.addMany(Y(64,127),10,12,13),q.addMany(Y(64,127),9,12,13),q.addMany(F,13,13,13),q.addMany(H,13,13,13),q.add(127,13,0,13),q.addMany([27,156,24,26],13,14,0),q.add(N0,0,2,0),q.add(N0,8,5,8),q.add(N0,6,0,6),q.add(N0,11,0,11),q.add(N0,13,13,13),q}(),V8=class extends y{constructor(q=J8){super();this._transitions=q,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new i4,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(G,Y,H)=>{},this._executeHandlerFb=(G)=>{},this._csiHandlerFb=(G,Y)=>{},this._escHandlerFb=(G)=>{},this._errorHandlerFb=(G)=>G,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(g(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new F8),this._dcsParser=this._register(new Z8),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(q,G=[64,126]){let Y=0;if(q.prefix){if(q.prefix.length>1)throw Error("only one byte as prefix supported");if(Y=q.prefix.charCodeAt(0),Y&&60>Y||Y>63)throw Error("prefix must be in range 0x3c .. 0x3f")}if(q.intermediates){if(q.intermediates.length>2)throw Error("only two bytes as intermediates are supported");for(let F=0;F<q.intermediates.length;++F){let Z=q.intermediates.charCodeAt(F);if(32>Z||Z>47)throw Error("intermediate must be in range 0x20 .. 0x2f");Y<<=8,Y|=Z}}if(q.final.length!==1)throw Error("final must be a single byte");let H=q.final.charCodeAt(0);if(G[0]>H||H>G[1])throw Error(`final must be in range ${G[0]} .. ${G[1]}`);return Y<<=8,Y|=H,Y}identToString(q){let G=[];for(;q;)G.push(String.fromCharCode(q&255)),q>>=8;return G.reverse().join("")}setPrintHandler(q){this._printHandler=q}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(q,G){let Y=this._identifier(q,[48,126]);this._escHandlers[Y]===void 0&&(this._escHandlers[Y]=[]);let H=this._escHandlers[Y];return H.push(G),{dispose:()=>{let F=H.indexOf(G);F!==-1&&H.splice(F,1)}}}clearEscHandler(q){this._escHandlers[this._identifier(q,[48,126])]&&delete this._escHandlers[this._identifier(q,[48,126])]}setEscHandlerFallback(q){this._escHandlerFb=q}setExecuteHandler(q,G){this._executeHandlers[q.charCodeAt(0)]=G}clearExecuteHandler(q){this._executeHandlers[q.charCodeAt(0)]&&delete this._executeHandlers[q.charCodeAt(0)]}setExecuteHandlerFallback(q){this._executeHandlerFb=q}registerCsiHandler(q,G){let Y=this._identifier(q);this._csiHandlers[Y]===void 0&&(this._csiHandlers[Y]=[]);let H=this._csiHandlers[Y];return H.push(G),{dispose:()=>{let F=H.indexOf(G);F!==-1&&H.splice(F,1)}}}clearCsiHandler(q){this._csiHandlers[this._identifier(q)]&&delete this._csiHandlers[this._identifier(q)]}setCsiHandlerFallback(q){this._csiHandlerFb=q}registerDcsHandler(q,G){return this._dcsParser.registerHandler(this._identifier(q),G)}clearDcsHandler(q){this._dcsParser.clearHandler(this._identifier(q))}setDcsHandlerFallback(q){this._dcsParser.setHandlerFallback(q)}registerOscHandler(q,G){return this._oscParser.registerHandler(q,G)}clearOscHandler(q){this._oscParser.clearHandler(q)}setOscHandlerFallback(q){this._oscParser.setHandlerFallback(q)}setErrorHandler(q){this._errorHandler=q}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(q,G,Y,H,F){this._parseStack.state=q,this._parseStack.handlers=G,this._parseStack.handlerPos=Y,this._parseStack.transition=H,this._parseStack.chunkPos=F}parse(q,G,Y){let H=0,F=0,Z=0,$;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,Z=this._parseStack.chunkPos+1;else{if(Y===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error("improper continuation due to previous async handler, giving up parsing");let V=this._parseStack.handlers,X=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(Y===!1&&X>-1){for(;X>=0&&($=V[X](this._params),$!==!0);X--)if($ instanceof Promise)return this._parseStack.handlerPos=X,$}this._parseStack.handlers=[];break;case 4:if(Y===!1&&X>-1){for(;X>=0&&($=V[X](),$!==!0);X--)if($ instanceof Promise)return this._parseStack.handlerPos=X,$}this._parseStack.handlers=[];break;case 6:if(H=q[this._parseStack.chunkPos],$=this._dcsParser.unhook(H!==24&&H!==26,Y),$)return $;H===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(H=q[this._parseStack.chunkPos],$=this._oscParser.end(H!==24&&H!==26,Y),$)return $;H===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,Z=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let V=Z;V<G;++V){switch(H=q[V],F=this._transitions.table[this.currentState<<8|(H<160?H:N0)],F>>4){case 2:for(let j=V+1;;++j){if(j>=G||(H=q[j])<32||H>126&&H<N0){this._printHandler(q,V,j),V=j-1;break}if(++j>=G||(H=q[j])<32||H>126&&H<N0){this._printHandler(q,V,j),V=j-1;break}if(++j>=G||(H=q[j])<32||H>126&&H<N0){this._printHandler(q,V,j),V=j-1;break}if(++j>=G||(H=q[j])<32||H>126&&H<N0){this._printHandler(q,V,j),V=j-1;break}}break;case 3:this._executeHandlers[H]?this._executeHandlers[H]():this._executeHandlerFb(H),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:V,code:H,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let X=this._csiHandlers[this._collect<<8|H],J=X?X.length-1:-1;for(;J>=0&&($=X[J](this._params),$!==!0);J--)if($ instanceof Promise)return this._preserveStack(3,X,J,F,V),$;J<0&&this._csiHandlerFb(this._collect<<8|H,this._params),this.precedingJoinState=0;break;case 8:do switch(H){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(H-48)}while(++V<G&&(H=q[V])>47&&H<60);V--;break;case 9:this._collect<<=8,this._collect|=H;break;case 10:let M=this._escHandlers[this._collect<<8|H],C=M?M.length-1:-1;for(;C>=0&&($=M[C](),$!==!0);C--)if($ instanceof Promise)return this._preserveStack(4,M,C,F,V),$;C<0&&this._escHandlerFb(this._collect<<8|H),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|H,this._params);break;case 13:for(let j=V+1;;++j)if(j>=G||(H=q[j])===24||H===26||H===27||H>127&&H<N0){this._dcsParser.put(q,V,j),V=j-1;break}break;case 14:if($=this._dcsParser.unhook(H!==24&&H!==26),$)return this._preserveStack(6,[],0,F,V),$;H===27&&(F|=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 j=V+1;;j++)if(j>=G||(H=q[j])<32||H>127&&H<N0){this._oscParser.put(q,V,j),V=j-1;break}break;case 6:if($=this._oscParser.end(H!==24&&H!==26),$)return this._preserveStack(5,[],0,F,V),$;H===27&&(F|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break}this.currentState=F&15}}},X8=/^([\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})$/,C8=/^[\da-f]+$/;function G4(q){if(!q)return;let G=q.toLowerCase();if(G.indexOf("rgb:")===0){G=G.slice(4);let Y=X8.exec(G);if(Y){let H=Y[1]?15:Y[4]?255:Y[7]?4095:65535;return[Math.round(parseInt(Y[1]||Y[4]||Y[7]||Y[10],16)/H*255),Math.round(parseInt(Y[2]||Y[5]||Y[8]||Y[11],16)/H*255),Math.round(parseInt(Y[3]||Y[6]||Y[9]||Y[12],16)/H*255)]}}else if(G.indexOf("#")===0&&(G=G.slice(1),C8.exec(G)&&[3,6,9,12].includes(G.length))){let Y=G.length/3,H=[0,0,0];for(let F=0;F<3;++F){let Z=parseInt(G.slice(Y*F,Y*F+Y),16);H[F]=Y===1?Z<<4:Y===2?Z:Y===3?Z>>4:Z>>8}return H}}function k2(q,G){let Y=q.toString(16),H=Y.length<2?"0"+Y:Y;switch(G){case 4:return Y[0];case 8:return H;case 12:return(H+H).slice(0,3);default:return H+H}}function M8(q,G=16){let[Y,H,F]=q;return`rgb:${k2(Y,G)}/${k2(H,G)}/${k2(F,G)}`}var z8={"(":0,")":1,"*":2,"+":3,"-":1,".":2},f0=131072,Y4=10;function H4(q,G){if(q>24)return G.setWinLines||!1;switch(q){case 1:return!!G.restoreWin;case 2:return!!G.minimizeWin;case 3:return!!G.setWinPosition;case 4:return!!G.setWinSizePixels;case 5:return!!G.raiseWin;case 6:return!!G.lowerWin;case 7:return!!G.refreshWin;case 8:return!!G.setWinSizeChars;case 9:return!!G.maximizeWin;case 10:return!!G.fullscreenWin;case 11:return!!G.getWinState;case 13:return!!G.getWinPosition;case 14:return!!G.getWinSizePixels;case 15:return!!G.getScreenSizePixels;case 16:return!!G.getCellSizePixels;case 18:return!!G.getWinSizeChars;case 19:return!!G.getScreenSizeChars;case 20:return!!G.getIconTitle;case 21:return!!G.getWinTitle;case 22:return!!G.pushTitle;case 23:return!!G.popTitle;case 24:return!!G.setWinLines}return!1}var F4=5000,Z4=0,j8=class extends y{constructor(q,G,Y,H,F,Z,$,V,X=new V8){super();this._bufferService=q,this._charsetService=G,this._coreService=Y,this._logService=H,this._optionsService=F,this._oscLinkService=Z,this._coreMouseService=$,this._unicodeService=V,this._parser=X,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new F5,this._utf8Decoder=new Z5,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=o.clone(),this._eraseAttrDataInternal=o.clone(),this._onRequestBell=this._register(new B),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new B),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new B),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new B),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new B),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new B),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new B),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new B),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new B),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new B),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new B),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new B),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new B),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 i2(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate((J)=>this._activeBuffer=J.activeBuffer)),this._parser.setCsiHandlerFallback((J,M)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(J),params:M.toArray()})}),this._parser.setEscHandlerFallback((J)=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(J)})}),this._parser.setExecuteHandlerFallback((J)=>{this._logService.debug("Unknown EXECUTE code: ",{code:J})}),this._parser.setOscHandlerFallback((J,M,C)=>{this._logService.debug("Unknown OSC code: ",{identifier:J,action:M,data:C})}),this._parser.setDcsHandlerFallback((J,M,C)=>{M==="HOOK"&&(C=C.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(J),action:M,payload:C})}),this._parser.setPrintHandler((J,M,C)=>this.print(J,M,C)),this._parser.registerCsiHandler({final:"@"},(J)=>this.insertChars(J)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(J)=>this.scrollLeft(J)),this._parser.registerCsiHandler({final:"A"},(J)=>this.cursorUp(J)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(J)=>this.scrollRight(J)),this._parser.registerCsiHandler({final:"B"},(J)=>this.cursorDown(J)),this._parser.registerCsiHandler({final:"C"},(J)=>this.cursorForward(J)),this._parser.registerCsiHandler({final:"D"},(J)=>this.cursorBackward(J)),this._parser.registerCsiHandler({final:"E"},(J)=>this.cursorNextLine(J)),this._parser.registerCsiHandler({final:"F"},(J)=>this.cursorPrecedingLine(J)),this._parser.registerCsiHandler({final:"G"},(J)=>this.cursorCharAbsolute(J)),this._parser.registerCsiHandler({final:"H"},(J)=>this.cursorPosition(J)),this._parser.registerCsiHandler({final:"I"},(J)=>this.cursorForwardTab(J)),this._parser.registerCsiHandler({final:"J"},(J)=>this.eraseInDisplay(J,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},(J)=>this.eraseInDisplay(J,!0)),this._parser.registerCsiHandler({final:"K"},(J)=>this.eraseInLine(J,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},(J)=>this.eraseInLine(J,!0)),this._parser.registerCsiHandler({final:"L"},(J)=>this.insertLines(J)),this._parser.registerCsiHandler({final:"M"},(J)=>this.deleteLines(J)),this._parser.registerCsiHandler({final:"P"},(J)=>this.deleteChars(J)),this._parser.registerCsiHandler({final:"S"},(J)=>this.scrollUp(J)),this._parser.registerCsiHandler({final:"T"},(J)=>this.scrollDown(J)),this._parser.registerCsiHandler({final:"X"},(J)=>this.eraseChars(J)),this._parser.registerCsiHandler({final:"Z"},(J)=>this.cursorBackwardTab(J)),this._parser.registerCsiHandler({final:"`"},(J)=>this.charPosAbsolute(J)),this._parser.registerCsiHandler({final:"a"},(J)=>this.hPositionRelative(J)),this._parser.registerCsiHandler({final:"b"},(J)=>this.repeatPrecedingCharacter(J)),this._parser.registerCsiHandler({final:"c"},(J)=>this.sendDeviceAttributesPrimary(J)),this._parser.registerCsiHandler({prefix:">",final:"c"},(J)=>this.sendDeviceAttributesSecondary(J)),this._parser.registerCsiHandler({final:"d"},(J)=>this.linePosAbsolute(J)),this._parser.registerCsiHandler({final:"e"},(J)=>this.vPositionRelative(J)),this._parser.registerCsiHandler({final:"f"},(J)=>this.hVPosition(J)),this._parser.registerCsiHandler({final:"g"},(J)=>this.tabClear(J)),this._parser.registerCsiHandler({final:"h"},(J)=>this.setMode(J)),this._parser.registerCsiHandler({prefix:"?",final:"h"},(J)=>this.setModePrivate(J)),this._parser.registerCsiHandler({final:"l"},(J)=>this.resetMode(J)),this._parser.registerCsiHandler({prefix:"?",final:"l"},(J)=>this.resetModePrivate(J)),this._parser.registerCsiHandler({final:"m"},(J)=>this.charAttributes(J)),this._parser.registerCsiHandler({final:"n"},(J)=>this.deviceStatus(J)),this._parser.registerCsiHandler({prefix:"?",final:"n"},(J)=>this.deviceStatusPrivate(J)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(J)=>this.softReset(J)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(J)=>this.setCursorStyle(J)),this._parser.registerCsiHandler({final:"r"},(J)=>this.setScrollRegion(J)),this._parser.registerCsiHandler({final:"s"},(J)=>this.saveCursor(J)),this._parser.registerCsiHandler({final:"t"},(J)=>this.windowOptions(J)),this._parser.registerCsiHandler({final:"u"},(J)=>this.restoreCursor(J)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(J)=>this.insertColumns(J)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(J)=>this.deleteColumns(J)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(J)=>this.selectProtected(J)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(J)=>this.requestMode(J,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(J)=>this.requestMode(J,!1)),this._parser.setExecuteHandler(U.BEL,()=>this.bell()),this._parser.setExecuteHandler(U.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(U.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(U.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(U.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(U.BS,()=>this.backspace()),this._parser.setExecuteHandler(U.HT,()=>this.tab()),this._parser.setExecuteHandler(U.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(U.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(u1.IND,()=>this.index()),this._parser.setExecuteHandler(u1.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(u1.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new j0((J)=>(this.setTitle(J),this.setIconName(J),!0))),this._parser.registerOscHandler(1,new j0((J)=>this.setIconName(J))),this._parser.registerOscHandler(2,new j0((J)=>this.setTitle(J))),this._parser.registerOscHandler(4,new j0((J)=>this.setOrReportIndexedColor(J))),this._parser.registerOscHandler(8,new j0((J)=>this.setHyperlink(J))),this._parser.registerOscHandler(10,new j0((J)=>this.setOrReportFgColor(J))),this._parser.registerOscHandler(11,new j0((J)=>this.setOrReportBgColor(J))),this._parser.registerOscHandler(12,new j0((J)=>this.setOrReportCursorColor(J))),this._parser.registerOscHandler(104,new j0((J)=>this.restoreIndexedColor(J))),this._parser.registerOscHandler(110,new j0((J)=>this.restoreFgColor(J))),this._parser.registerOscHandler(111,new j0((J)=>this.restoreBgColor(J))),this._parser.registerOscHandler(112,new j0((J)=>this.restoreCursorColor(J))),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 J in i)this._parser.registerEscHandler({intermediates:"(",final:J},()=>this.selectCharset("("+J)),this._parser.registerEscHandler({intermediates:")",final:J},()=>this.selectCharset(")"+J)),this._parser.registerEscHandler({intermediates:"*",final:J},()=>this.selectCharset("*"+J)),this._parser.registerEscHandler({intermediates:"+",final:J},()=>this.selectCharset("+"+J)),this._parser.registerEscHandler({intermediates:"-",final:J},()=>this.selectCharset("-"+J)),this._parser.registerEscHandler({intermediates:".",final:J},()=>this.selectCharset("."+J)),this._parser.registerEscHandler({intermediates:"/",final:J},()=>this.selectCharset("/"+J));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler((J)=>(this._logService.error("Parsing error: ",J),J)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new q4((J,M)=>this.requestStatusString(J,M)))}getAttrData(){return this._curAttrData}_preserveStack(q,G,Y,H){this._parseStack.paused=!0,this._parseStack.cursorStartX=q,this._parseStack.cursorStartY=G,this._parseStack.decodedLength=Y,this._parseStack.position=H}_logSlowResolvingAsync(q){this._logService.logLevel<=3&&Promise.race([q,new Promise((G,Y)=>setTimeout(()=>Y("#SLOW_TIMEOUT"),F4))]).catch((G)=>{if(G!=="#SLOW_TIMEOUT")throw G;console.warn(`async parser handler taking longer than ${F4} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(q,G){let Y,H=this._activeBuffer.x,F=this._activeBuffer.y,Z=0,$=this._parseStack.paused;if($){if(Y=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,G))return this._logSlowResolvingAsync(Y),Y;H=this._parseStack.cursorStartX,F=this._parseStack.cursorStartY,this._parseStack.paused=!1,q.length>f0&&(Z=this._parseStack.position+f0)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof q=="string"?` "${q}"`:` "${Array.prototype.map.call(q,(J)=>String.fromCharCode(J)).join("")}"`}`),this._logService.logLevel===0&&this._logService.trace("parsing data (codes)",typeof q=="string"?q.split("").map((J)=>J.charCodeAt(0)):q),this._parseBuffer.length<q.length&&this._parseBuffer.length<f0&&(this._parseBuffer=new Uint32Array(Math.min(q.length,f0))),$||this._dirtyRowTracker.clearRange(),q.length>f0)for(let J=Z;J<q.length;J+=f0){let M=J+f0<q.length?J+f0:q.length,C=typeof q=="string"?this._stringDecoder.decode(q.substring(J,M),this._parseBuffer):this._utf8Decoder.decode(q.subarray(J,M),this._parseBuffer);if(Y=this._parser.parse(this._parseBuffer,C))return this._preserveStack(H,F,C,J),this._logSlowResolvingAsync(Y),Y}else if(!$){let J=typeof q=="string"?this._stringDecoder.decode(q,this._parseBuffer):this._utf8Decoder.decode(q,this._parseBuffer);if(Y=this._parser.parse(this._parseBuffer,J))return this._preserveStack(H,F,J,0),this._logSlowResolvingAsync(Y),Y}(this._activeBuffer.x!==H||this._activeBuffer.y!==F)&&this._onCursorMove.fire();let V=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),X=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);X<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(X,this._bufferService.rows-1),end:Math.min(V,this._bufferService.rows-1)})}print(q,G,Y){let H,F,Z=this._charsetService.charset,$=this._optionsService.rawOptions.screenReaderMode,V=this._bufferService.cols,X=this._coreService.decPrivateModes.wraparound,J=this._coreService.modes.insertMode,M=this._curAttrData,C=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&Y-G>0&&C.getWidth(this._activeBuffer.x-1)===2&&C.setCellFromCodepoint(this._activeBuffer.x-1,0,1,M);let j=this._parser.precedingJoinState;for(let K=G;K<Y;++K){if(H=q[K],H<127&&Z){let x=Z[String.fromCharCode(H)];x&&(H=x.charCodeAt(0))}let z=this._unicodeService.charProperties(H,j);F=s0.extractWidth(z);let W=s0.extractShouldJoin(z),P=W?s0.extractWidth(j):0;if(j=z,$&&this._onA11yChar.fire(h0(H)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+F-P>V){if(X){let x=C,m=this._activeBuffer.x-P;for(this._activeBuffer.x=P,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),C=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),P>0&&C instanceof B1&&C.copyCellsFrom(x,m,0,P,!1);m<V;)x.setCellFromCodepoint(m++,0,1,M)}else if(this._activeBuffer.x=V-1,F===2)continue}if(W&&this._activeBuffer.x){let x=C.getWidth(this._activeBuffer.x-1)?1:2;C.addCodepointToCell(this._activeBuffer.x-x,H,F);for(let m=F-P;--m>=0;)C.setCellFromCodepoint(this._activeBuffer.x++,0,0,M);continue}if(J&&(C.insertCells(this._activeBuffer.x,F-P,this._activeBuffer.getNullCell(M)),C.getWidth(V-1)===2&&C.setCellFromCodepoint(V-1,0,1,M)),C.setCellFromCodepoint(this._activeBuffer.x++,H,F,M),F>0)for(;--F;)C.setCellFromCodepoint(this._activeBuffer.x++,0,0,M)}this._parser.precedingJoinState=j,this._activeBuffer.x<V&&Y-G>0&&C.getWidth(this._activeBuffer.x)===0&&!C.hasContent(this._activeBuffer.x)&&C.setCellFromCodepoint(this._activeBuffer.x,0,1,M),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(q,G){return q.final==="t"&&!q.prefix&&!q.intermediates?this._parser.registerCsiHandler(q,(Y)=>H4(Y.params[0],this._optionsService.rawOptions.windowOptions)?G(Y):!0):this._parser.registerCsiHandler(q,G)}registerDcsHandler(q,G){return this._parser.registerDcsHandler(q,new q4(G))}registerEscHandler(q,G){return this._parser.registerEscHandler(q,G)}registerOscHandler(q,G){return this._parser.registerOscHandler(q,new j0(G))}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 q=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);q.hasWidth(this._activeBuffer.x)&&!q.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let q=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-q),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(q=this._bufferService.cols-1){this._activeBuffer.x=Math.min(q,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(q,G){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=q,this._activeBuffer.y=this._activeBuffer.scrollTop+G):(this._activeBuffer.x=q,this._activeBuffer.y=G),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(q,G){this._restrictCursor(),this._setCursor(this._activeBuffer.x+q,this._activeBuffer.y+G)}cursorUp(q){let G=this._activeBuffer.y-this._activeBuffer.scrollTop;return G>=0?this._moveCursor(0,-Math.min(G,q.params[0]||1)):this._moveCursor(0,-(q.params[0]||1)),!0}cursorDown(q){let G=this._activeBuffer.scrollBottom-this._activeBuffer.y;return G>=0?this._moveCursor(0,Math.min(G,q.params[0]||1)):this._moveCursor(0,q.params[0]||1),!0}cursorForward(q){return this._moveCursor(q.params[0]||1,0),!0}cursorBackward(q){return this._moveCursor(-(q.params[0]||1),0),!0}cursorNextLine(q){return this.cursorDown(q),this._activeBuffer.x=0,!0}cursorPrecedingLine(q){return this.cursorUp(q),this._activeBuffer.x=0,!0}cursorCharAbsolute(q){return this._setCursor((q.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(q){return this._setCursor(q.length>=2?(q.params[1]||1)-1:0,(q.params[0]||1)-1),!0}charPosAbsolute(q){return this._setCursor((q.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(q){return this._moveCursor(q.params[0]||1,0),!0}linePosAbsolute(q){return this._setCursor(this._activeBuffer.x,(q.params[0]||1)-1),!0}vPositionRelative(q){return this._moveCursor(0,q.params[0]||1),!0}hVPosition(q){return this.cursorPosition(q),!0}tabClear(q){let G=q.params[0];return G===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:G===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(q){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let G=q.params[0]||1;for(;G--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(q){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let G=q.params[0]||1;for(;G--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(q){let G=q.params[0];return G===1&&(this._curAttrData.bg|=536870912),(G===2||G===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(q,G,Y,H=!1,F=!1){let Z=this._activeBuffer.lines.get(this._activeBuffer.ybase+q);Z.replaceCells(G,Y,this._activeBuffer.getNullCell(this._eraseAttrData()),F),H&&(Z.isWrapped=!1)}_resetBufferLine(q,G=!1){let Y=this._activeBuffer.lines.get(this._activeBuffer.ybase+q);Y&&(Y.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),G),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+q),Y.isWrapped=!1)}eraseInDisplay(q,G=!1){this._restrictCursor(this._bufferService.cols);let Y;switch(q.params[0]){case 0:for(Y=this._activeBuffer.y,this._dirtyRowTracker.markDirty(Y),this._eraseInBufferLine(Y++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,G);Y<this._bufferService.rows;Y++)this._resetBufferLine(Y,G);this._dirtyRowTracker.markDirty(Y);break;case 1:for(Y=this._activeBuffer.y,this._dirtyRowTracker.markDirty(Y),this._eraseInBufferLine(Y,0,this._activeBuffer.x+1,!0,G),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(Y+1).isWrapped=!1);Y--;)this._resetBufferLine(Y,G);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(Y=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,Y-1);Y--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+Y)?.getTrimmedLength(););for(;Y>=0;Y--)this._bufferService.scroll(this._eraseAttrData())}else{for(Y=this._bufferService.rows,this._dirtyRowTracker.markDirty(Y-1);Y--;)this._resetBufferLine(Y,G);this._dirtyRowTracker.markDirty(0)}break;case 3:let H=this._activeBuffer.lines.length-this._bufferService.rows;H>0&&(this._activeBuffer.lines.trimStart(H),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-H,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-H,0),this._onScroll.fire(0));break}return!0}eraseInLine(q,G=!1){switch(this._restrictCursor(this._bufferService.cols),q.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,G);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,G);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,G);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(q){this._restrictCursor();let G=q.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let Y=this._activeBuffer.ybase+this._activeBuffer.y,H=this._bufferService.rows-1-this._activeBuffer.scrollBottom,F=this._bufferService.rows-1+this._activeBuffer.ybase-H+1;for(;G--;)this._activeBuffer.lines.splice(F-1,1),this._activeBuffer.lines.splice(Y,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(q){this._restrictCursor();let G=q.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let Y=this._activeBuffer.ybase+this._activeBuffer.y,H;for(H=this._bufferService.rows-1-this._activeBuffer.scrollBottom,H=this._bufferService.rows-1+this._activeBuffer.ybase-H;G--;)this._activeBuffer.lines.splice(Y,1),this._activeBuffer.lines.splice(H,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(q){this._restrictCursor();let G=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return G&&(G.insertCells(this._activeBuffer.x,q.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(q){this._restrictCursor();let G=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return G&&(G.deleteCells(this._activeBuffer.x,q.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(q){let G=q.params[0]||1;for(;G--;)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(q){let G=q.params[0]||1;for(;G--;)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(o));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(q){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let G=q.params[0]||1;for(let Y=this._activeBuffer.scrollTop;Y<=this._activeBuffer.scrollBottom;++Y){let H=this._activeBuffer.lines.get(this._activeBuffer.ybase+Y);H.deleteCells(0,G,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(q){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let G=q.params[0]||1;for(let Y=this._activeBuffer.scrollTop;Y<=this._activeBuffer.scrollBottom;++Y){let H=this._activeBuffer.lines.get(this._activeBuffer.ybase+Y);H.insertCells(0,G,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(q){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let G=q.params[0]||1;for(let Y=this._activeBuffer.scrollTop;Y<=this._activeBuffer.scrollBottom;++Y){let H=this._activeBuffer.lines.get(this._activeBuffer.ybase+Y);H.insertCells(this._activeBuffer.x,G,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(q){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let G=q.params[0]||1;for(let Y=this._activeBuffer.scrollTop;Y<=this._activeBuffer.scrollBottom;++Y){let H=this._activeBuffer.lines.get(this._activeBuffer.ybase+Y);H.deleteCells(this._activeBuffer.x,G,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(q){this._restrictCursor();let G=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return G&&(G.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(q.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(q){let G=this._parser.precedingJoinState;if(!G)return!0;let Y=q.params[0]||1,H=s0.extractWidth(G),F=this._activeBuffer.x-H,Z=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(F),$=new Uint32Array(Z.length*Y),V=0;for(let J=0;J<Z.length;){let M=Z.codePointAt(J)||0;$[V++]=M,J+=M>65535?2:1}let X=V;for(let J=1;J<Y;++J)$.copyWithin(X,0,V),X+=V;return this.print($,0,X),!0}sendDeviceAttributesPrimary(q){return q.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(U.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(U.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(q){return q.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(U.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(U.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(q.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(U.ESC+"[>83;40003;0c")),!0}_is(q){return(this._optionsService.rawOptions.termName+"").indexOf(q)===0}setMode(q){for(let G=0;G<q.length;G++)switch(q.params[G]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0;break}return!0}setModePrivate(q){for(let G=0;G<q.length;G++)switch(q.params[G]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,n0),this._charsetService.setgCharset(1,n0),this._charsetService.setgCharset(2,n0),this._charsetService.setgCharset(3,n0);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 1000:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0;break}return!0}resetMode(q){for(let G=0;G<q.length;G++)switch(q.params[G]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1;break}return!0}resetModePrivate(q){for(let G=0;G<q.length;G++)switch(q.params[G]){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 1000: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(),q.params[G]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0);break}return!0}requestMode(q,G){let Y;((W)=>(W[W.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",W[W.SET=1]="SET",W[W.RESET=2]="RESET",W[W.PERMANENTLY_SET=3]="PERMANENTLY_SET",W[W.PERMANENTLY_RESET=4]="PERMANENTLY_RESET"))(Y||={});let H=this._coreService.decPrivateModes,{activeProtocol:F,activeEncoding:Z}=this._coreMouseService,$=this._coreService,{buffers:V,cols:X}=this._bufferService,{active:J,alt:M}=V,C=this._optionsService.rawOptions,j=(W,P)=>($.triggerDataEvent(`${U.ESC}[${G?"":"?"}${W};${P}$y`),!0),K=(W)=>W?1:2,z=q.params[0];return G?z===2?j(z,4):z===4?j(z,K($.modes.insertMode)):z===12?j(z,3):z===20?j(z,K(C.convertEol)):j(z,0):z===1?j(z,K(H.applicationCursorKeys)):z===3?j(z,C.windowOptions.setWinLines?X===80?2:X===132?1:0:0):z===6?j(z,K(H.origin)):z===7?j(z,K(H.wraparound)):z===8?j(z,3):z===9?j(z,K(F==="X10")):z===12?j(z,K(C.cursorBlink)):z===25?j(z,K(!$.isCursorHidden)):z===45?j(z,K(H.reverseWraparound)):z===66?j(z,K(H.applicationKeypad)):z===67?j(z,4):z===1000?j(z,K(F==="VT200")):z===1002?j(z,K(F==="DRAG")):z===1003?j(z,K(F==="ANY")):z===1004?j(z,K(H.sendFocus)):z===1005?j(z,4):z===1006?j(z,K(Z==="SGR")):z===1015?j(z,4):z===1016?j(z,K(Z==="SGR_PIXELS")):z===1048?j(z,1):z===47||z===1047||z===1049?j(z,K(J===M)):z===2004?j(z,K(H.bracketedPasteMode)):z===2026?j(z,K(H.synchronizedOutput)):j(z,0)}_updateAttrColor(q,G,Y,H,F){return G===2?(q|=50331648,q&=-16777216,q|=x1.fromColorRGB([Y,H,F])):G===5&&(q&=-50331904,q|=33554432|Y&255),q}_extractColor(q,G,Y){let H=[0,0,-1,0,0,0],F=0,Z=0;do{if(H[Z+F]=q.params[G+Z],q.hasSubParams(G+Z)){let $=q.getSubParams(G+Z),V=0;do H[1]===5&&(F=1),H[Z+V+1+F]=$[V];while(++V<$.length&&V+Z+1+F<H.length);break}if(H[1]===5&&Z+F>=2||H[1]===2&&Z+F>=5)break;H[1]&&(F=1)}while(++Z+G<q.length&&Z+F<H.length);for(let $=2;$<H.length;++$)H[$]===-1&&(H[$]=0);switch(H[0]){case 38:Y.fg=this._updateAttrColor(Y.fg,H[1],H[3],H[4],H[5]);break;case 48:Y.bg=this._updateAttrColor(Y.bg,H[1],H[3],H[4],H[5]);break;case 58:Y.extended=Y.extended.clone(),Y.extended.underlineColor=this._updateAttrColor(Y.extended.underlineColor,H[1],H[3],H[4],H[5])}return Z}_processUnderline(q,G){G.extended=G.extended.clone(),(!~q||q>5)&&(q=1),G.extended.underlineStyle=q,G.fg|=268435456,q===0&&(G.fg&=-268435457),G.updateExtended()}_processSGR0(q){q.fg=o.fg,q.bg=o.bg,q.extended=q.extended.clone(),q.extended.underlineStyle=0,q.extended.underlineColor&=-67108864,q.updateExtended()}charAttributes(q){if(q.length===1&&q.params[0]===0)return this._processSGR0(this._curAttrData),!0;let G=q.length,Y,H=this._curAttrData;for(let F=0;F<G;F++)Y=q.params[F],Y>=30&&Y<=37?(H.fg&=-50331904,H.fg|=16777216|Y-30):Y>=40&&Y<=47?(H.bg&=-50331904,H.bg|=16777216|Y-40):Y>=90&&Y<=97?(H.fg&=-50331904,H.fg|=16777216|Y-90|8):Y>=100&&Y<=107?(H.bg&=-50331904,H.bg|=16777216|Y-100|8):Y===0?this._processSGR0(H):Y===1?H.fg|=134217728:Y===3?H.bg|=67108864:Y===4?(H.fg|=268435456,this._processUnderline(q.hasSubParams(F)?q.getSubParams(F)[0]:1,H)):Y===5?H.fg|=536870912:Y===7?H.fg|=67108864:Y===8?H.fg|=1073741824:Y===9?H.fg|=2147483648:Y===2?H.bg|=134217728:Y===21?this._processUnderline(2,H):Y===22?(H.fg&=-134217729,H.bg&=-134217729):Y===23?H.bg&=-67108865:Y===24?(H.fg&=-268435457,this._processUnderline(0,H)):Y===25?H.fg&=-536870913:Y===27?H.fg&=-67108865:Y===28?H.fg&=-1073741825:Y===29?H.fg&=2147483647:Y===39?(H.fg&=-67108864,H.fg|=o.fg&16777215):Y===49?(H.bg&=-67108864,H.bg|=o.bg&16777215):Y===38||Y===48||Y===58?F+=this._extractColor(q,F,H):Y===53?H.bg|=1073741824:Y===55?H.bg&=-1073741825:Y===59?(H.extended=H.extended.clone(),H.extended.underlineColor=-1,H.updateExtended()):Y===100?(H.fg&=-67108864,H.fg|=o.fg&16777215,H.bg&=-67108864,H.bg|=o.bg&16777215):this._logService.debug("Unknown SGR attribute: %d.",Y);return!0}deviceStatus(q){switch(q.params[0]){case 5:this._coreService.triggerDataEvent(`${U.ESC}[0n`);break;case 6:let G=this._activeBuffer.y+1,Y=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${U.ESC}[${G};${Y}R`);break}return!0}deviceStatusPrivate(q){switch(q.params[0]){case 6:let G=this._activeBuffer.y+1,Y=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${U.ESC}[?${G};${Y}R`);break;case 15:break;case 25:break;case 26:break;case 53:break}return!0}softReset(q){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=o.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(q){let G=q.length===0?1:q.params[0];if(G===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(G){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar";break}let Y=G%2===1;this._coreService.decPrivateModes.cursorBlink=Y}return!0}setScrollRegion(q){let G=q.params[0]||1,Y;return(q.length<2||(Y=q.params[1])>this._bufferService.rows||Y===0)&&(Y=this._bufferService.rows),Y>G&&(this._activeBuffer.scrollTop=G-1,this._activeBuffer.scrollBottom=Y-1,this._setCursor(0,0)),!0}windowOptions(q){if(!H4(q.params[0],this._optionsService.rawOptions.windowOptions))return!0;let G=q.length>1?q.params[1]:0;switch(q.params[0]){case 14:G!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${U.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(G===0||G===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>Y4&&this._windowTitleStack.shift()),(G===0||G===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>Y4&&this._iconNameStack.shift());break;case 23:(G===0||G===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(G===0||G===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(q){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(q){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(q){return this._windowTitle=q,this._onTitleChange.fire(q),!0}setIconName(q){return this._iconName=q,!0}setOrReportIndexedColor(q){let G=[],Y=q.split(";");for(;Y.length>1;){let H=Y.shift(),F=Y.shift();if(/^\d+$/.exec(H)){let Z=parseInt(H);if($4(Z))if(F==="?")G.push({type:0,index:Z});else{let $=G4(F);$&&G.push({type:1,index:Z,color:$})}}}return G.length&&this._onColor.fire(G),!0}setHyperlink(q){let G=q.indexOf(";");if(G===-1)return!0;let Y=q.slice(0,G).trim(),H=q.slice(G+1);return H?this._createHyperlink(Y,H):Y.trim()?!1:this._finishHyperlink()}_createHyperlink(q,G){this._getCurrentLinkId()&&this._finishHyperlink();let Y=q.split(":"),H,F=Y.findIndex((Z)=>Z.startsWith("id="));return F!==-1&&(H=Y[F].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:H,uri:G}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(q,G){let Y=q.split(";");for(let H=0;H<Y.length&&!(G>=this._specialColors.length);++H,++G)if(Y[H]==="?")this._onColor.fire([{type:0,index:this._specialColors[G]}]);else{let F=G4(Y[H]);F&&this._onColor.fire([{type:1,index:this._specialColors[G],color:F}])}return!0}setOrReportFgColor(q){return this._setOrReportSpecialColor(q,0)}setOrReportBgColor(q){return this._setOrReportSpecialColor(q,1)}setOrReportCursorColor(q){return this._setOrReportSpecialColor(q,2)}restoreIndexedColor(q){if(!q)return this._onColor.fire([{type:2}]),!0;let G=[],Y=q.split(";");for(let H=0;H<Y.length;++H)if(/^\d+$/.exec(Y[H])){let F=parseInt(Y[H]);$4(F)&&G.push({type:2,index:F})}return G.length&&this._onColor.fire(G),!0}restoreFgColor(q){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(q){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(q){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,n0),!0}selectCharset(q){return q.length!==2?(this.selectDefaultCharset(),!0):(q[0]==="/"||this._charsetService.setgCharset(z8[q[0]],i[q[1]]||n0),!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 q=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,q,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=o.clone(),this._eraseAttrDataInternal=o.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(q){return this._charsetService.setgLevel(q),!0}screenAlignmentPattern(){let q=new B0;q.content=4194373,q.fg=this._curAttrData.fg,q.bg=this._curAttrData.bg,this._setCursor(0,0);for(let G=0;G<this._bufferService.rows;++G){let Y=this._activeBuffer.ybase+this._activeBuffer.y+G,H=this._activeBuffer.lines.get(Y);H&&(H.fill(q),H.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(q,G){let Y=($)=>(this._coreService.triggerDataEvent(`${U.ESC}${$}${U.ESC}\\`),!0),H=this._bufferService.buffer,F=this._optionsService.rawOptions;return Y(q==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:q==='"p'?'P1$r61;1"p':q==="r"?`P1$r${H.scrollTop+1};${H.scrollBottom+1}r`:q==="m"?"P1$r0m":q===" q"?`P1$r${{block:2,underline:4,bar:6}[F.cursorStyle]-(F.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(q,G){this._dirtyRowTracker.markRangeDirty(q,G)}},i2=class{constructor(q){this._bufferService=q,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(q){q<this.start?this.start=q:q>this.end&&(this.end=q)}markRangeDirty(q,G){q>G&&(Z4=q,q=G,G=Z4),q<this.start&&(this.start=q),G>this.end&&(this.end=G)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};i2=a([D(0,X0)],i2);function $4(q){return 0<=q&&q<256}var K8=50000000,J4=12,W8=50,U8=class extends y{constructor(q){super();this._action=q,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new B),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(q,G){if(G!==void 0&&this._syncCalls>G){this._syncCalls=0;return}if(this._pendingData+=q.length,this._writeBuffer.push(q),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let Y;for(;Y=this._writeBuffer.shift();){this._action(Y);let H=this._callbacks.shift();H&&H()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(q,G){if(this._pendingData>K8)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+=q.length,this._writeBuffer.push(q),this._callbacks.push(G),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=q.length,this._writeBuffer.push(q),this._callbacks.push(G)}_innerWrite(q=0,G=!0){let Y=q||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let H=this._writeBuffer[this._bufferOffset],F=this._action(H,G);if(F){let $=(V)=>performance.now()-Y>=J4?setTimeout(()=>this._innerWrite(0,V)):this._innerWrite(Y,V);F.catch((V)=>(queueMicrotask(()=>{throw V}),Promise.resolve(!1))).then($);return}let Z=this._callbacks[this._bufferOffset];if(Z&&Z(),this._bufferOffset++,this._pendingData-=H.length,performance.now()-Y>=J4)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>W8&&(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()}},t2=class{constructor(q){this._bufferService=q,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(q){let G=this._bufferService.buffer;if(q.id===void 0){let V=G.addMarker(G.ybase+G.y),X={data:q,id:this._nextId++,lines:[V]};return V.onDispose(()=>this._removeMarkerFromLink(X,V)),this._dataByLinkId.set(X.id,X),X.id}let Y=q,H=this._getEntryIdKey(Y),F=this._entriesWithId.get(H);if(F)return this.addLineToLink(F.id,G.ybase+G.y),F.id;let Z=G.addMarker(G.ybase+G.y),$={id:this._nextId++,key:this._getEntryIdKey(Y),data:Y,lines:[Z]};return Z.onDispose(()=>this._removeMarkerFromLink($,Z)),this._entriesWithId.set($.key,$),this._dataByLinkId.set($.id,$),$.id}addLineToLink(q,G){let Y=this._dataByLinkId.get(q);if(Y&&Y.lines.every((H)=>H.line!==G)){let H=this._bufferService.buffer.addMarker(G);Y.lines.push(H),H.onDispose(()=>this._removeMarkerFromLink(Y,H))}}getLinkData(q){return this._dataByLinkId.get(q)?.data}_getEntryIdKey(q){return`${q.id};;${q.uri}`}_removeMarkerFromLink(q,G){let Y=q.lines.indexOf(G);Y!==-1&&(q.lines.splice(Y,1),q.lines.length===0&&(q.data.id!==void 0&&this._entriesWithId.delete(q.key),this._dataByLinkId.delete(q.id)))}};t2=a([D(0,X0)],t2);var V4=!1,N8=class extends y{constructor(q){super();this._windowsWrappingHeuristics=this._register(new Y1),this._onBinary=this._register(new B),this.onBinary=this._onBinary.event,this._onData=this._register(new B),this.onData=this._onData.event,this._onLineFeed=this._register(new B),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new B),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new B),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new B),this._instantiationService=new d7,this.optionsService=this._register(new i7(q)),this._instantiationService.setService(C0,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(n2)),this._instantiationService.setService(X0,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(o2)),this._instantiationService.setService(B4,this._logService),this.coreService=this._register(this._instantiationService.createInstance(s2)),this._instantiationService.setService(e0,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(r2)),this._instantiationService.setService(N4,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(s0)),this._instantiationService.setService(X5,this.unicodeService),this._charsetService=this._instantiationService.createInstance(Y8),this._instantiationService.setService(V5,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(t2),this._instantiationService.setService(A4,this._oscLinkService),this._inputHandler=this._register(new j8(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register($0.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register($0.forward(this._bufferService.onResize,this._onResize)),this._register($0.forward(this.coreService.onData,this._onData)),this._register($0.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 U8((G,Y)=>this._inputHandler.parse(G,Y))),this._register($0.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new B),this._onScroll.event((q)=>{this._onScrollApi?.fire(q.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(q){for(let G in q)this.optionsService.options[G]=q[G]}write(q,G){this._writeBuffer.write(q,G)}writeSync(q,G){this._logService.logLevel<=3&&!V4&&(this._logService.warn("writeSync is unreliable and will be removed soon."),V4=!0),this._writeBuffer.writeSync(q,G)}input(q,G=!0){this.coreService.triggerDataEvent(q,G)}resize(q,G){isNaN(q)||isNaN(G)||(q=Math.max(q,s4),G=Math.max(G,r4),this._bufferService.resize(q,G))}scroll(q,G=!1){this._bufferService.scroll(q,G)}scrollLines(q,G){this._bufferService.scrollLines(q,G)}scrollPages(q){this.scrollLines(q*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(q){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(q){let G=q-this._bufferService.buffer.ydisp;G!==0&&this.scrollLines(G)}registerEscHandler(q,G){return this._inputHandler.registerEscHandler(q,G)}registerDcsHandler(q,G){return this._inputHandler.registerDcsHandler(q,G)}registerCsiHandler(q,G){return this._inputHandler.registerCsiHandler(q,G)}registerOscHandler(q,G){return this._inputHandler.registerOscHandler(q,G)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let q=!1,G=this.optionsService.rawOptions.windowsPty;G&&G.buildNumber!==void 0&&G.buildNumber!==void 0?q=G.backend==="conpty"&&G.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(q=!0),q?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let q=[];q.push(this.onLineFeed(e3.bind(null,this._bufferService))),q.push(this.registerCsiHandler({final:"H"},()=>(e3(this._bufferService),!1))),this._windowsWrappingHeuristics.value=g(()=>{for(let G of q)G.dispose()})}}},B8={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 A8(q,G,Y,H){let F={type:0,cancel:!1,key:void 0},Z=(q.shiftKey?1:0)|(q.altKey?2:0)|(q.ctrlKey?4:0)|(q.metaKey?8:0);switch(q.keyCode){case 0:q.key==="UIKeyInputUpArrow"?G?F.key=U.ESC+"OA":F.key=U.ESC+"[A":q.key==="UIKeyInputLeftArrow"?G?F.key=U.ESC+"OD":F.key=U.ESC+"[D":q.key==="UIKeyInputRightArrow"?G?F.key=U.ESC+"OC":F.key=U.ESC+"[C":q.key==="UIKeyInputDownArrow"&&(G?F.key=U.ESC+"OB":F.key=U.ESC+"[B");break;case 8:F.key=q.ctrlKey?"\b":U.DEL,q.altKey&&(F.key=U.ESC+F.key);break;case 9:if(q.shiftKey){F.key=U.ESC+"[Z";break}F.key=U.HT,F.cancel=!0;break;case 13:F.key=q.altKey?U.ESC+U.CR:U.CR,F.cancel=!0;break;case 27:F.key=U.ESC,q.altKey&&(F.key=U.ESC+U.ESC),F.cancel=!0;break;case 37:if(q.metaKey)break;Z?F.key=U.ESC+"[1;"+(Z+1)+"D":G?F.key=U.ESC+"OD":F.key=U.ESC+"[D";break;case 39:if(q.metaKey)break;Z?F.key=U.ESC+"[1;"+(Z+1)+"C":G?F.key=U.ESC+"OC":F.key=U.ESC+"[C";break;case 38:if(q.metaKey)break;Z?F.key=U.ESC+"[1;"+(Z+1)+"A":G?F.key=U.ESC+"OA":F.key=U.ESC+"[A";break;case 40:if(q.metaKey)break;Z?F.key=U.ESC+"[1;"+(Z+1)+"B":G?F.key=U.ESC+"OB":F.key=U.ESC+"[B";break;case 45:!q.shiftKey&&!q.ctrlKey&&(F.key=U.ESC+"[2~");break;case 46:Z?F.key=U.ESC+"[3;"+(Z+1)+"~":F.key=U.ESC+"[3~";break;case 36:Z?F.key=U.ESC+"[1;"+(Z+1)+"H":G?F.key=U.ESC+"OH":F.key=U.ESC+"[H";break;case 35:Z?F.key=U.ESC+"[1;"+(Z+1)+"F":G?F.key=U.ESC+"OF":F.key=U.ESC+"[F";break;case 33:q.shiftKey?F.type=2:q.ctrlKey?F.key=U.ESC+"[5;"+(Z+1)+"~":F.key=U.ESC+"[5~";break;case 34:q.shiftKey?F.type=3:q.ctrlKey?F.key=U.ESC+"[6;"+(Z+1)+"~":F.key=U.ESC+"[6~";break;case 112:Z?F.key=U.ESC+"[1;"+(Z+1)+"P":F.key=U.ESC+"OP";break;case 113:Z?F.key=U.ESC+"[1;"+(Z+1)+"Q":F.key=U.ESC+"OQ";break;case 114:Z?F.key=U.ESC+"[1;"+(Z+1)+"R":F.key=U.ESC+"OR";break;case 115:Z?F.key=U.ESC+"[1;"+(Z+1)+"S":F.key=U.ESC+"OS";break;case 116:Z?F.key=U.ESC+"[15;"+(Z+1)+"~":F.key=U.ESC+"[15~";break;case 117:Z?F.key=U.ESC+"[17;"+(Z+1)+"~":F.key=U.ESC+"[17~";break;case 118:Z?F.key=U.ESC+"[18;"+(Z+1)+"~":F.key=U.ESC+"[18~";break;case 119:Z?F.key=U.ESC+"[19;"+(Z+1)+"~":F.key=U.ESC+"[19~";break;case 120:Z?F.key=U.ESC+"[20;"+(Z+1)+"~":F.key=U.ESC+"[20~";break;case 121:Z?F.key=U.ESC+"[21;"+(Z+1)+"~":F.key=U.ESC+"[21~";break;case 122:Z?F.key=U.ESC+"[23;"+(Z+1)+"~":F.key=U.ESC+"[23~";break;case 123:Z?F.key=U.ESC+"[24;"+(Z+1)+"~":F.key=U.ESC+"[24~";break;default:if(q.ctrlKey&&!q.shiftKey&&!q.altKey&&!q.metaKey)q.keyCode>=65&&q.keyCode<=90?F.key=String.fromCharCode(q.keyCode-64):q.keyCode===32?F.key=U.NUL:q.keyCode>=51&&q.keyCode<=55?F.key=String.fromCharCode(q.keyCode-51+27):q.keyCode===56?F.key=U.DEL:q.keyCode===219?F.key=U.ESC:q.keyCode===220?F.key=U.FS:q.keyCode===221&&(F.key=U.GS);else if((!Y||H)&&q.altKey&&!q.metaKey){let $=B8[q.keyCode]?.[q.shiftKey?1:0];if($)F.key=U.ESC+$;else if(q.keyCode>=65&&q.keyCode<=90){let V=q.ctrlKey?q.keyCode-64:q.keyCode+32,X=String.fromCharCode(V);q.shiftKey&&(X=X.toUpperCase()),F.key=U.ESC+X}else if(q.keyCode===32)F.key=U.ESC+(q.ctrlKey?U.NUL:" ");else if(q.key==="Dead"&&q.code.startsWith("Key")){let V=q.code.slice(3,4);q.shiftKey||(V=V.toLowerCase()),F.key=U.ESC+V,F.cancel=!0}}else Y&&!q.altKey&&!q.ctrlKey&&!q.shiftKey&&q.metaKey?q.keyCode===65&&(F.type=1):q.key&&!q.ctrlKey&&!q.altKey&&!q.metaKey&&q.keyCode>=48&&q.key.length===1?F.key=q.key:q.key&&q.ctrlKey&&(q.key==="_"&&(F.key=U.US),q.key==="@"&&(F.key=U.NUL));break}return F}var l=0,R8=class{constructor(q){this._getKey=q,this._array=[],this._insertedValues=[],this._flushInsertedTask=new t1,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new t1,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(q){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(q)}_flushInserted(){let q=this._insertedValues.sort((F,Z)=>this._getKey(F)-this._getKey(Z)),G=0,Y=0,H=Array(this._array.length+this._insertedValues.length);for(let F=0;F<H.length;F++)Y>=this._array.length||this._getKey(q[G])<=this._getKey(this._array[Y])?(H[F]=q[G],G++):H[F]=this._array[Y++];this._array=H,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(q){if(this._flushCleanupInserted(),this._array.length===0)return!1;let G=this._getKey(q);if(G===void 0||(l=this._search(G),l===-1)||this._getKey(this._array[l])!==G)return!1;do if(this._array[l]===q)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(l),!0;while(++l<this._array.length&&this._getKey(this._array[l])===G);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let q=this._deletedIndices.sort((F,Z)=>F-Z),G=0,Y=Array(this._array.length-q.length),H=0;for(let F=0;F<this._array.length;F++)q[G]===F?G++:Y[H++]=this._array[F];this._array=Y,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(q){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(l=this._search(q),!(l<0||l>=this._array.length)&&this._getKey(this._array[l])===q))do yield this._array[l];while(++l<this._array.length&&this._getKey(this._array[l])===q)}forEachByKey(q,G){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(l=this._search(q),!(l<0||l>=this._array.length)&&this._getKey(this._array[l])===q))do G(this._array[l]);while(++l<this._array.length&&this._getKey(this._array[l])===q)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(q){let G=0,Y=this._array.length-1;for(;Y>=G;){let H=G+Y>>1,F=this._getKey(this._array[H]);if(F>q)Y=H-1;else if(F<q)G=H+1;else{for(;H>0&&this._getKey(this._array[H-1])===q;)H--;return H}}return G}},P2=0,X4=0,D8=class extends y{constructor(){super();this._decorations=new R8((q)=>q?.marker.line),this._onDecorationRegistered=this._register(new B),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new B),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(g(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(q){if(q.marker.isDisposed)return;let G=new k8(q);if(G){let Y=G.marker.onDispose(()=>G.dispose()),H=G.onDispose(()=>{H.dispose(),G&&(this._decorations.delete(G)&&this._onDecorationRemoved.fire(G),Y.dispose())});this._decorations.insert(G),this._onDecorationRegistered.fire(G)}return G}reset(){for(let q of this._decorations.values())q.dispose();this._decorations.clear()}*getDecorationsAtCell(q,G,Y){let H=0,F=0;for(let Z of this._decorations.getKeyIterator(G))H=Z.options.x??0,F=H+(Z.options.width??1),q>=H&&q<F&&(!Y||(Z.options.layer??"bottom")===Y)&&(yield Z)}forEachDecorationAtCell(q,G,Y,H){this._decorations.forEachByKey(G,(F)=>{P2=F.options.x??0,X4=P2+(F.options.width??1),q>=P2&&q<X4&&(!Y||(F.options.layer??"bottom")===Y)&&H(F)})}},k8=class extends c0{constructor(q){super();this.options=q,this.onRenderEmitter=this.add(new B),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new B),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=q.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=u.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=u.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},P8=1000,L8=class{constructor(q,G=P8){this._renderCallback=q,this._debounceThresholdMS=G,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(q,G,Y){this._rowCount=Y,q=q!==void 0?q:0,G=G!==void 0?G:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,q):q,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,G):G;let H=performance.now();if(H-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=H,this._innerRefresh();else if(!this._additionalRefreshRequested){let F=H-this._lastRefreshMs,Z=this._debounceThresholdMS-F;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},Z)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let q=Math.max(this._rowStart,0),G=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(q,G)}},C4=20,M4=!1,e1=class extends y{constructor(q,G,Y,H){super();this._terminal=q,this._coreBrowserService=Y,this._renderService=H,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let F=this._coreBrowserService.mainDocument;this._accessibilityContainer=F.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=F.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let Z=0;Z<this._terminal.rows;Z++)this._rowElements[Z]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[Z]);if(this._topBoundaryFocusListener=(Z)=>this._handleBoundaryFocus(Z,0),this._bottomBoundaryFocusListener=(Z)=>this._handleBoundaryFocus(Z,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=F.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new L8(this._renderRows.bind(this))),!this._terminal.element)throw Error("Cannot enable accessibility before Terminal.open");M4?(this._accessibilityContainer.classList.add("debug"),this._rowContainer.classList.add("debug"),this._debugRootContainer=F.createElement("div"),this._debugRootContainer.classList.add("xterm"),this._debugRootContainer.appendChild(F.createTextNode("------start a11y------")),this._debugRootContainer.appendChild(this._accessibilityContainer),this._debugRootContainer.appendChild(F.createTextNode("------end a11y------")),this._terminal.element.insertAdjacentElement("afterend",this._debugRootContainer)):this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize((Z)=>this._handleResize(Z.rows))),this._register(this._terminal.onRender((Z)=>this._refreshRows(Z.start,Z.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar((Z)=>this._handleChar(Z))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
34
+ `))),this._register(this._terminal.onA11yTab((Z)=>this._handleTab(Z))),this._register(this._terminal.onKey((Z)=>this._handleKey(Z.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(w(F,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(g(()=>{M4?this._debugRootContainer.remove():this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(q){for(let G=0;G<q;G++)this._handleChar(" ")}_handleChar(q){this._liveRegionLineCount<C4+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==q&&(this._charsToAnnounce+=q):this._charsToAnnounce+=q,q===`
35
+ `&&(this._liveRegionLineCount++,this._liveRegionLineCount===C4+1&&(this._liveRegion.textContent+=Q2.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(q){this._clearLiveRegion(),/\p{Control}/u.test(q)||this._charsToConsume.push(q)}_refreshRows(q,G){this._liveRegionDebouncer.refresh(q,G,this._terminal.rows)}_renderRows(q,G){let Y=this._terminal.buffer,H=Y.lines.length.toString();for(let F=q;F<=G;F++){let Z=Y.lines.get(Y.ydisp+F),$=[],V=Z?.translateToString(!0,void 0,void 0,$)||"",X=(Y.ydisp+F+1).toString(),J=this._rowElements[F];J&&(V.length===0?(J.textContent=" ",this._rowColumns.set(J,[0,1])):(J.textContent=V,this._rowColumns.set(J,$)),J.setAttribute("aria-posinset",X),J.setAttribute("aria-setsize",H),this._alignRowWidth(J))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(q,G){let Y=q.target,H=this._rowElements[G===0?1:this._rowElements.length-2],F=Y.getAttribute("aria-posinset"),Z=G===0?"1":`${this._terminal.buffer.lines.length}`;if(F===Z||q.relatedTarget!==H)return;let $,V;if(G===0?($=Y,V=this._rowElements.pop(),this._rowContainer.removeChild(V)):($=this._rowElements.shift(),V=Y,this._rowContainer.removeChild($)),$.removeEventListener("focus",this._topBoundaryFocusListener),V.removeEventListener("focus",this._bottomBoundaryFocusListener),G===0){let X=this._createAccessibilityTreeNode();this._rowElements.unshift(X),this._rowContainer.insertAdjacentElement("afterbegin",X)}else{let X=this._createAccessibilityTreeNode();this._rowElements.push(X),this._rowContainer.appendChild(X)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(G===0?-1:1),this._rowElements[G===0?1:this._rowElements.length-2].focus(),q.preventDefault(),q.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let q=this._coreBrowserService.mainDocument.getSelection();if(!q)return;if(q.isCollapsed){this._rowContainer.contains(q.anchorNode)&&this._terminal.clearSelection();return}if(!q.anchorNode||!q.focusNode){console.error("anchorNode and/or focusNode are null");return}let G={node:q.anchorNode,offset:q.anchorOffset},Y={node:q.focusNode,offset:q.focusOffset};if((G.node.compareDocumentPosition(Y.node)&Node.DOCUMENT_POSITION_PRECEDING||G.node===Y.node&&G.offset>Y.offset)&&([G,Y]=[Y,G]),G.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(G={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(G.node))return;let H=this._rowElements.slice(-1)[0];if(Y.node.compareDocumentPosition(H)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(Y={node:H,offset:H.textContent?.length??0}),!this._rowContainer.contains(Y.node))return;let F=({node:V,offset:X})=>{let J=V instanceof Text?V.parentNode:V,M=parseInt(J?.getAttribute("aria-posinset"),10)-1;if(isNaN(M))return console.warn("row is invalid. Race condition?"),null;let C=this._rowColumns.get(J);if(!C)return console.warn("columns is null. Race condition?"),null;let j=X<C.length?C[X]:C.slice(-1)[0]+1;return j>=this._terminal.cols&&(++M,j=0),{row:M,column:j}},Z=F(G),$=F(Y);if(!(!Z||!$)){if(Z.row>$.row||Z.row===$.row&&Z.column>=$.column)throw Error("invalid range");this._terminal.select(Z.column,Z.row,($.row-Z.row)*this._terminal.cols-Z.column+$.column)}}_handleResize(q){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let G=this._rowContainer.children.length;G<this._terminal.rows;G++)this._rowElements[G]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[G]);for(;this._rowElements.length>q;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let q=this._coreBrowserService.mainDocument.createElement("div");return q.setAttribute("role","listitem"),q.tabIndex=-1,this._refreshRowDimensions(q),q}_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 q=0;q<this._terminal.rows;q++)this._refreshRowDimensions(this._rowElements[q]),this._alignRowWidth(this._rowElements[q])}}_refreshRowDimensions(q){q.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(q){q.style.transform="";let G=q.getBoundingClientRect().width,Y=this._rowColumns.get(q)?.slice(-1)?.[0];if(!Y)return;let H=Y*this._renderService.dimensions.css.cell.width;q.style.transform=`scaleX(${H/G})`}};e1=a([D(1,q3),D(2,v0),D(3,_0)],e1);var e2=class extends y{constructor(q,G,Y,H,F){super();this._element=q,this._mouseService=G,this._renderService=Y,this._bufferService=H,this._linkProviderService=F,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new B),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new B),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(g(()=>{i0(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(w(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(w(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(w(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(w(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(q){this._lastMouseEvent=q;let G=this._positionFromMouseEvent(q,this._element,this._mouseService);if(!G)return;this._isMouseOut=!1;let Y=q.composedPath();for(let H=0;H<Y.length;H++){let F=Y[H];if(F.classList.contains("xterm"))break;if(F.classList.contains("xterm-hover"))return}(!this._lastBufferCell||G.x!==this._lastBufferCell.x||G.y!==this._lastBufferCell.y)&&(this._handleHover(G),this._lastBufferCell=G)}_handleHover(q){if(this._activeLine!==q.y||this._wasResized){this._clearCurrentLink(),this._askForLink(q,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,q)||(this._clearCurrentLink(),this._askForLink(q,!0))}_askForLink(q,G){(!this._activeProviderReplies||!G)&&(this._activeProviderReplies?.forEach((H)=>{H?.forEach((F)=>{F.link.dispose&&F.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=q.y);let Y=!1;for(let[H,F]of this._linkProviderService.linkProviders.entries())G?this._activeProviderReplies?.get(H)&&(Y=this._checkLinkProviderResult(H,q,Y)):F.provideLinks(q.y,(Z)=>{if(this._isMouseOut)return;let $=Z?.map((V)=>({link:V}));this._activeProviderReplies?.set(H,$),Y=this._checkLinkProviderResult(H,q,Y),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(q.y,this._activeProviderReplies)})}_removeIntersectingLinks(q,G){let Y=new Set;for(let H=0;H<G.size;H++){let F=G.get(H);if(F)for(let Z=0;Z<F.length;Z++){let $=F[Z],V=$.link.range.start.y<q?0:$.link.range.start.x,X=$.link.range.end.y>q?this._bufferService.cols:$.link.range.end.x;for(let J=V;J<=X;J++){if(Y.has(J)){F.splice(Z--,1);break}Y.add(J)}}}}_checkLinkProviderResult(q,G,Y){if(!this._activeProviderReplies)return Y;let H=this._activeProviderReplies.get(q),F=!1;for(let Z=0;Z<q;Z++)(!this._activeProviderReplies.has(Z)||this._activeProviderReplies.get(Z))&&(F=!0);if(!F&&H){let Z=H.find(($)=>this._linkAtPosition($.link,G));Z&&(Y=!0,this._handleNewLink(Z))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!Y)for(let Z=0;Z<this._activeProviderReplies.size;Z++){let $=this._activeProviderReplies.get(Z)?.find((V)=>this._linkAtPosition(V.link,G));if($){Y=!0,this._handleNewLink($);break}}return Y}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(q){if(!this._currentLink)return;let G=this._positionFromMouseEvent(q,this._element,this._mouseService);G&&this._mouseDownLink&&Q8(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,G)&&this._currentLink.link.activate(q,this._currentLink.link.text)}_clearCurrentLink(q,G){!this._currentLink||!this._lastMouseEvent||(!q||!G||this._currentLink.link.range.start.y>=q&&this._currentLink.link.range.end.y<=G)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,i0(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(q){if(!this._lastMouseEvent)return;let G=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);G&&this._linkAtPosition(q.link,G)&&(this._currentLink=q,this._currentLink.state={decorations:{underline:q.link.decorations===void 0?!0:q.link.decorations.underline,pointerCursor:q.link.decorations===void 0?!0:q.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,q.link,this._lastMouseEvent),q.link.decorations={},Object.defineProperties(q.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:(Y)=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==Y&&(this._currentLink.state.decorations.pointerCursor=Y,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",Y))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:(Y)=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==Y&&(this._currentLink.state.decorations.underline=Y,this._currentLink.state.isHovered&&this._fireUnderlineEvent(q.link,Y))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((Y)=>{if(!this._currentLink)return;let H=Y.start===0?0:Y.start+1+this._bufferService.buffer.ydisp,F=this._bufferService.buffer.ydisp+1+Y.end;if(this._currentLink.link.range.start.y>=H&&this._currentLink.link.range.end.y<=F&&(this._clearCurrentLink(H,F),this._lastMouseEvent)){let Z=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);Z&&this._askForLink(Z,!1)}})))}_linkHover(q,G,Y){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(G,!0),this._currentLink.state.decorations.pointerCursor&&q.classList.add("xterm-cursor-pointer")),G.hover&&G.hover(Y,G.text)}_fireUnderlineEvent(q,G){let Y=q.range,H=this._bufferService.buffer.ydisp,F=this._createLinkUnderlineEvent(Y.start.x-1,Y.start.y-H-1,Y.end.x,Y.end.y-H-1,void 0);(G?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(F)}_linkLeave(q,G,Y){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(G,!1),this._currentLink.state.decorations.pointerCursor&&q.classList.remove("xterm-cursor-pointer")),G.leave&&G.leave(Y,G.text)}_linkAtPosition(q,G){let Y=q.range.start.y*this._bufferService.cols+q.range.start.x,H=q.range.end.y*this._bufferService.cols+q.range.end.x,F=G.y*this._bufferService.cols+G.x;return Y<=F&&F<=H}_positionFromMouseEvent(q,G,Y){let H=Y.getCoords(q,G,this._bufferService.cols,this._bufferService.rows);if(H)return{x:H[0],y:H[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(q,G,Y,H,F){return{x1:q,y1:G,x2:Y,y2:H,cols:this._bufferService.cols,fg:F}}};e2=a([D(1,G3),D(2,_0),D(3,X0),D(4,D4)],e2);function Q8(q,G){return q.text===G.text&&q.range.start.x===G.range.start.x&&q.range.start.y===G.range.start.y&&q.range.end.x===G.range.end.x&&q.range.end.y===G.range.end.y}var O8=class extends N8{constructor(q={}){super(q);this._linkifier=this._register(new Y1),this.browser=d4,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new Y1),this._onCursorMove=this._register(new B),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new B),this.onKey=this._onKey.event,this._onRender=this._register(new B),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new B),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new B),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new B),this.onBell=this._onBell.event,this._onFocus=this._register(new B),this._onBlur=this._register(new B),this._onA11yCharEmitter=this._register(new B),this._onA11yTabEmitter=this._register(new B),this._onWillOpen=this._register(new B),this._setup(),this._decorationService=this._instantiationService.createInstance(D8),this._instantiationService.setService(w1,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(K7),this._instantiationService.setService(D4,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(x2)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows((G)=>this.refresh(G?.start??0,G?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport((G)=>this._reportWindowsOptions(G))),this._register(this._inputHandler.onColor((G)=>this._handleColorEvent(G))),this._register($0.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register($0.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register($0.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register($0.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize((G)=>this._afterResize(G.cols,G.rows))),this._register(g(()=>{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(q){if(this._themeService)for(let G of q){let Y,H="";switch(G.index){case 256:Y="foreground",H="10";break;case 257:Y="background",H="11";break;case 258:Y="cursor",H="12";break;default:Y="ansi",H="4;"+G.index}switch(G.type){case 0:let F=p.toColorRGB(Y==="ansi"?this._themeService.colors.ansi[G.index]:this._themeService.colors[Y]);this.coreService.triggerDataEvent(`${U.ESC}]${H};${M8(F)}${p4.ST}`);break;case 1:if(Y==="ansi")this._themeService.modifyColors((Z)=>Z.ansi[G.index]=n.toColor(...G.color));else{let Z=Y;this._themeService.modifyColors(($)=>$[Z]=n.toColor(...G.color))}break;case 2:this._themeService.restoreColor(G.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(q){q?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(e1,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(q){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(U.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(U.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let q=this.buffer.ybase+this.buffer.y,G=this.buffer.lines.get(q);if(!G)return;let Y=Math.min(this.buffer.x,this.cols-1),H=this._renderService.dimensions.css.cell.height,F=G.getWidth(Y),Z=this._renderService.dimensions.css.cell.width*F,$=this.buffer.y*this._renderService.dimensions.css.cell.height,V=Y*this._renderService.dimensions.css.cell.width;this.textarea.style.left=V+"px",this.textarea.style.top=$+"px",this.textarea.style.width=Z+"px",this.textarea.style.height=H+"px",this.textarea.style.lineHeight=H+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(w(this.element,"copy",(G)=>{this.hasSelection()&&Y5(G,this._selectionService)}));let q=(G)=>H5(G,this.textarea,this.coreService,this.optionsService);this._register(w(this.textarea,"paste",q)),this._register(w(this.element,"paste",q)),f4?this._register(w(this.element,"mousedown",(G)=>{G.button===2&&z3(G,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(w(this.element,"contextmenu",(G)=>{z3(G,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),X3&&this._register(w(this.element,"auxclick",(G)=>{G.button===1&&W4(G,this.textarea,this.screenElement)}))}_bindKeys(){this._register(w(this.textarea,"keyup",(q)=>this._keyUp(q),!0)),this._register(w(this.textarea,"keydown",(q)=>this._keyDown(q),!0)),this._register(w(this.textarea,"keypress",(q)=>this._keyPress(q),!0)),this._register(w(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(w(this.textarea,"compositionupdate",(q)=>this._compositionHelper.compositionupdate(q))),this._register(w(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(w(this.textarea,"input",(q)=>this._inputEvent(q),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(q){if(!q)throw Error("Terminal requires a parent element.");if(q.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=q.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"),q.appendChild(this.element);let G=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),G.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(w(this.screenElement,"mousemove",(F)=>this.updateCursorStyle(F))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),G.appendChild(this.screenElement);let Y=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",L2.get()),c4||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",()=>Y.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(z7,this.textarea,q.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(v0,this._coreBrowserService),this._register(w(this.textarea,"focus",(F)=>this._handleTextAreaFocus(F))),this._register(w(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(h2,this._document,this._helperContainer),this._instantiationService.setService(G2,this._charSizeService),this._themeService=this._instantiationService.createInstance(l2),this._instantiationService.setService(H1,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(r1),this._instantiationService.setService(R4,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(c2,this.rows,this.screenElement)),this._instantiationService.setService(_0,this._renderService),this._register(this._renderService.onRenderedViewportChange((F)=>this._onRender.fire(F))),this.onResize((F)=>this._renderService.resize(F.cols,F.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(g2,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(u2),this._instantiationService.setService(G3,this._mouseService);let H=this._linkifier.value=this._register(this._instantiationService.createInstance(e2,this.screenElement));this.element.appendChild(G);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(b2,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines((F)=>{super.scrollLines(F,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(a2,this.element,this.screenElement,H)),this._instantiationService.setService(M5,this._selectionService),this._register(this._selectionService.onRequestScrollLines((F)=>this.scrollLines(F.amount,F.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw((F)=>this._renderService.handleSelectionChanged(F.start,F.end,F.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection((F)=>{this.textarea.value=F,this.textarea.focus(),this.textarea.select()})),this._register($0.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(p2,this.screenElement)),this._register(w(this.element,"mousedown",(F)=>this._selectionService.handleMouseDown(F))),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(e1,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",(F)=>this._handleScreenReaderModeOptionChange(F))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(s1,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",(F)=>{!this._overviewRulerRenderer&&F&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(s1,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(f2,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let q=this,G=this.element;function Y(Z){let $=q._mouseService.getMouseReportCoords(Z,q.screenElement);if(!$)return!1;let V,X;switch(Z.overrideType||Z.type){case"mousemove":X=32,Z.buttons===void 0?(V=3,Z.button!==void 0&&(V=Z.button<3?Z.button:3)):V=Z.buttons&1?0:Z.buttons&4?1:Z.buttons&2?2:3;break;case"mouseup":X=0,V=Z.button<3?Z.button:3;break;case"mousedown":X=1,V=Z.button<3?Z.button:3;break;case"wheel":if(q._customWheelEventHandler&&q._customWheelEventHandler(Z)===!1)return!1;let J=Z.deltaY;if(J===0||q.coreMouseService.consumeWheelEvent(Z,q._renderService?.dimensions?.device?.cell?.height,q._coreBrowserService?.dpr)===0)return!1;X=J<0?0:1,V=4;break;default:return!1}return X===void 0||V===void 0||V>4?!1:q.coreMouseService.triggerMouseEvent({col:$.col,row:$.row,x:$.x,y:$.y,button:V,action:X,ctrl:Z.ctrlKey,alt:Z.altKey,shift:Z.shiftKey})}let H={mouseup:null,wheel:null,mousedrag:null,mousemove:null},F={mouseup:(Z)=>(Y(Z),Z.buttons||(this._document.removeEventListener("mouseup",H.mouseup),H.mousedrag&&this._document.removeEventListener("mousemove",H.mousedrag)),this.cancel(Z)),wheel:(Z)=>(Y(Z),this.cancel(Z,!0)),mousedrag:(Z)=>{Z.buttons&&Y(Z)},mousemove:(Z)=>{Z.buttons||Y(Z)}};this._register(this.coreMouseService.onProtocolChange((Z)=>{Z?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(Z)),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()),Z&8?H.mousemove||(G.addEventListener("mousemove",F.mousemove),H.mousemove=F.mousemove):(G.removeEventListener("mousemove",H.mousemove),H.mousemove=null),Z&16?H.wheel||(G.addEventListener("wheel",F.wheel,{passive:!1}),H.wheel=F.wheel):(G.removeEventListener("wheel",H.wheel),H.wheel=null),Z&2?H.mouseup||(H.mouseup=F.mouseup):(this._document.removeEventListener("mouseup",H.mouseup),H.mouseup=null),Z&4?H.mousedrag||(H.mousedrag=F.mousedrag):(this._document.removeEventListener("mousemove",H.mousedrag),H.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(w(G,"mousedown",(Z)=>{if(Z.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(Z)))return Y(Z),H.mouseup&&this._document.addEventListener("mouseup",H.mouseup),H.mousedrag&&this._document.addEventListener("mousemove",H.mousedrag),this.cancel(Z)})),this._register(w(G,"wheel",(Z)=>{if(!H.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(Z)===!1)return!1;if(!this.buffer.hasScrollback){if(Z.deltaY===0)return!1;if(q.coreMouseService.consumeWheelEvent(Z,q._renderService?.dimensions?.device?.cell?.height,q._coreBrowserService?.dpr)===0)return this.cancel(Z,!0);let $=U.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(Z.deltaY<0?"A":"B");return this.coreService.triggerDataEvent($,!0),this.cancel(Z,!0)}}},{passive:!1}))}refresh(q,G){this._renderService?.refreshRows(q,G)}updateCursorStyle(q){this._selectionService?.shouldColumnSelect(q)?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(q,G){this._viewport?this._viewport.scrollLines(q):super.scrollLines(q,G),this.refresh(0,this.rows-1)}scrollPages(q){this.scrollLines(q*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(q){q&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(q){let G=q-this._bufferService.buffer.ydisp;G!==0&&this.scrollLines(G)}paste(q){K4(q,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(q){this._customKeyEventHandler=q}attachCustomWheelEventHandler(q){this._customWheelEventHandler=q}registerLinkProvider(q){return this._linkProviderService.registerLinkProvider(q)}registerCharacterJoiner(q){if(!this._characterJoinerService)throw Error("Terminal must be opened first");let G=this._characterJoinerService.register(q);return this.refresh(0,this.rows-1),G}deregisterCharacterJoiner(q){if(!this._characterJoinerService)throw Error("Terminal must be opened first");this._characterJoinerService.deregister(q)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(q){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+q)}registerDecoration(q){return this._decorationService.registerDecoration(q)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(q,G,Y){this._selectionService.setSelection(q,G,Y)}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(q,G){this._selectionService?.selectLines(q,G)}_keyDown(q){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(q)===!1)return!1;let G=this.browser.isMac&&this.options.macOptionIsMeta&&q.altKey;if(!G&&!this._compositionHelper.keydown(q))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!G&&(q.key==="Dead"||q.key==="AltGraph")&&(this._unprocessedDeadKey=!0);let Y=A8(q,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(q),Y.type===3||Y.type===2){let H=this.rows-1;return this.scrollLines(Y.type===2?-H:H),this.cancel(q,!0)}if(Y.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,q)||(Y.cancel&&this.cancel(q,!0),!Y.key)||q.key&&!q.ctrlKey&&!q.altKey&&!q.metaKey&&q.key.length===1&&q.key.charCodeAt(0)>=65&&q.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((Y.key===U.ETX||Y.key===U.CR)&&(this.textarea.value=""),this._onKey.fire({key:Y.key,domEvent:q}),this._showCursor(),this.coreService.triggerDataEvent(Y.key,!0),!this.optionsService.rawOptions.screenReaderMode||q.altKey||q.ctrlKey)return this.cancel(q,!0);this._keyDownHandled=!0}_isThirdLevelShift(q,G){let Y=q.isMac&&!this.options.macOptionIsMeta&&G.altKey&&!G.ctrlKey&&!G.metaKey||q.isWindows&&G.altKey&&G.ctrlKey&&!G.metaKey||q.isWindows&&G.getModifierState("AltGraph");return G.type==="keypress"?Y:Y&&(!G.keyCode||G.keyCode>47)}_keyUp(q){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(q)===!1)&&(x8(q)||this.focus(),this.updateCursorStyle(q),this._keyPressHandled=!1)}_keyPress(q){let G;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(q)===!1)return!1;if(this.cancel(q),q.charCode)G=q.charCode;else if(q.which===null||q.which===void 0)G=q.keyCode;else if(q.which!==0&&q.charCode!==0)G=q.which;else return!1;return!G||(q.altKey||q.ctrlKey||q.metaKey)&&!this._isThirdLevelShift(this.browser,q)?!1:(G=String.fromCharCode(G),this._onKey.fire({key:G,domEvent:q}),this._showCursor(),this.coreService.triggerDataEvent(G,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(q){if(q.data&&q.inputType==="insertText"&&(!q.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let G=q.data;return this.coreService.triggerDataEvent(G,!0),this.cancel(q),!0}return!1}resize(q,G){if(q===this.cols&&G===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(q,G)}_afterResize(q,G){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 q=1;q<this.rows;q++)this.buffer.lines.push(this.buffer.getBlankLine(o));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 q=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=q,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains("focus")?this.coreService.triggerDataEvent(U.ESC+"[I"):this.coreService.triggerDataEvent(U.ESC+"[O")}_reportWindowsOptions(q){if(this._renderService)switch(q){case 0:let G=this._renderService.dimensions.css.canvas.width.toFixed(0),Y=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${U.ESC}[4;${Y};${G}t`);break;case 1:let H=this._renderService.dimensions.css.cell.width.toFixed(0),F=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${U.ESC}[6;${F};${H}t`);break}}cancel(q,G){if(!(!this.options.cancelEvents&&!G))return q.preventDefault(),q.stopPropagation(),!1}};function x8(q){return q.keyCode===16||q.keyCode===17||q.keyCode===18}var w8=class{constructor(){this._addons=[]}dispose(){for(let q=this._addons.length-1;q>=0;q--)this._addons[q].instance.dispose()}loadAddon(q,G){let Y={instance:G,dispose:G.dispose,isDisposed:!1};this._addons.push(Y),G.dispose=()=>this._wrappedAddonDispose(Y),G.activate(q)}_wrappedAddonDispose(q){if(q.isDisposed)return;let G=-1;for(let Y=0;Y<this._addons.length;Y++)if(this._addons[Y]===q){G=Y;break}if(G===-1)throw Error("Could not dispose an addon that has not been loaded");q.isDisposed=!0,q.dispose.apply(q.instance),this._addons.splice(G,1)}},y8=class{constructor(q){this._line=q}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(q,G){if(!(q<0||q>=this._line.length))return G?(this._line.loadCell(q,G),G):this._line.loadCell(q,new B0)}translateToString(q,G,Y){return this._line.translateToString(q,G,Y)}},z4=class{constructor(q,G){this._buffer=q,this.type=G}init(q){return this._buffer=q,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(q){let G=this._buffer.lines.get(q);if(G)return new y8(G)}getNullCell(){return new B0}},S8=class extends y{constructor(q){super();this._core=q,this._onBufferChange=this._register(new B),this.onBufferChange=this._onBufferChange.event,this._normal=new z4(this._core.buffers.normal,"normal"),this._alternate=new z4(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)}},I8=class{constructor(q){this._core=q}registerCsiHandler(q,G){return this._core.registerCsiHandler(q,(Y)=>G(Y.toArray()))}addCsiHandler(q,G){return this.registerCsiHandler(q,G)}registerDcsHandler(q,G){return this._core.registerDcsHandler(q,(Y,H)=>G(Y,H.toArray()))}addDcsHandler(q,G){return this.registerDcsHandler(q,G)}registerEscHandler(q,G){return this._core.registerEscHandler(q,G)}addEscHandler(q,G){return this.registerEscHandler(q,G)}registerOscHandler(q,G){return this._core.registerOscHandler(q,G)}addOscHandler(q,G){return this.registerOscHandler(q,G)}},T8=class{constructor(q){this._core=q}register(q){this._core.unicodeService.register(q)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(q){this._core.unicodeService.activeVersion=q}},v8=["cols","rows"],L0=0,G9=class extends y{constructor(q){super(),this._core=this._register(new O8(q)),this._addonManager=this._register(new w8),this._publicOptions={...this._core.options};let G=(H)=>this._core.options[H],Y=(H,F)=>{this._checkReadonlyOptions(H),this._core.options[H]=F};for(let H in this._core.options){let F={get:G.bind(this,H),set:Y.bind(this,H)};Object.defineProperty(this._publicOptions,H,F)}}_checkReadonlyOptions(q){if(v8.includes(q))throw Error(`Option "${q}" 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||(this._parser=new I8(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new T8(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new S8(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let q=this._core.coreService.decPrivateModes,G="none";switch(this._core.coreMouseService.activeProtocol){case"X10":G="x10";break;case"VT200":G="vt200";break;case"DRAG":G="drag";break;case"ANY":G="any";break}return{applicationCursorKeysMode:q.applicationCursorKeys,applicationKeypadMode:q.applicationKeypad,bracketedPasteMode:q.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:G,originMode:q.origin,reverseWraparoundMode:q.reverseWraparound,sendFocusMode:q.sendFocus,synchronizedOutputMode:q.synchronizedOutput,wraparoundMode:q.wraparound}}get options(){return this._publicOptions}set options(q){for(let G in q)this._publicOptions[G]=q[G]}blur(){this._core.blur()}focus(){this._core.focus()}input(q,G=!0){this._core.input(q,G)}resize(q,G){this._verifyIntegers(q,G),this._core.resize(q,G)}open(q){this._core.open(q)}attachCustomKeyEventHandler(q){this._core.attachCustomKeyEventHandler(q)}attachCustomWheelEventHandler(q){this._core.attachCustomWheelEventHandler(q)}registerLinkProvider(q){return this._core.registerLinkProvider(q)}registerCharacterJoiner(q){return this._checkProposedApi(),this._core.registerCharacterJoiner(q)}deregisterCharacterJoiner(q){this._checkProposedApi(),this._core.deregisterCharacterJoiner(q)}registerMarker(q=0){return this._verifyIntegers(q),this._core.registerMarker(q)}registerDecoration(q){return this._checkProposedApi(),this._verifyPositiveIntegers(q.x??0,q.width??0,q.height??0),this._core.registerDecoration(q)}hasSelection(){return this._core.hasSelection()}select(q,G,Y){this._verifyIntegers(q,G,Y),this._core.select(q,G,Y)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(q,G){this._verifyIntegers(q,G),this._core.selectLines(q,G)}dispose(){super.dispose()}scrollLines(q){this._verifyIntegers(q),this._core.scrollLines(q)}scrollPages(q){this._verifyIntegers(q),this._core.scrollPages(q)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(q){this._verifyIntegers(q),this._core.scrollToLine(q)}clear(){this._core.clear()}write(q,G){this._core.write(q,G)}writeln(q,G){this._core.write(q),this._core.write(`\r
36
+ `,G)}paste(q){this._core.paste(q)}refresh(q,G){this._verifyIntegers(q,G),this._core.refresh(q,G)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(q){this._addonManager.loadAddon(this,q)}static get strings(){return{get promptLabel(){return L2.get()},set promptLabel(q){L2.set(q)},get tooMuchOutput(){return Q2.get()},set tooMuchOutput(q){Q2.set(q)}}}_verifyIntegers(...q){for(L0 of q)if(L0===1/0||isNaN(L0)||L0%1!==0)throw Error("This API only accepts integers")}_verifyPositiveIntegers(...q){for(L0 of q)if(L0&&(L0===1/0||isNaN(L0)||L0%1!==0||L0<0))throw Error("This API only accepts positive integers")}};export{G9 as Terminal};