@sourcegraph/amp 0.0.1753196536-g67ace8 → 0.0.1753200087-g855bbc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +10 -10
- package/package.json +1 -1
package/dist/main.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env node
|
2
2
|
|
3
|
-
import{createRequire as yBA}from"node:module";var $BA=Object.create;var{getPrototypeOf:vBA,defineProperty:n71,getOwnPropertyNames:kBA}=Object;var fBA=Object.prototype.hasOwnProperty;var hA=(A,Q,B)=>{B=A!=null?$BA(vBA(A)):{};let J=Q||!A||!A.__esModule?n71(B,"default",{value:A,enumerable:!0}):B;for(let D of kBA(A))if(!fBA.call(J,D))n71(J,D,{get:()=>A[D],enumerable:!0});return J};var t=(A,Q)=>()=>(Q||A((Q={exports:{}}).exports,Q),Q.exports);var c6=(A,Q)=>{for(var B in Q)n71(A,B,{get:Q[B],enumerable:!0,configurable:!0,set:(J)=>Q[B]=()=>J})};var k1=(A,Q)=>()=>(A&&(Q=A(A=0)),Q);var f0=yBA(import.meta.url);var vy1=t((Sy1)=>{Object.defineProperty(Sy1,"__esModule",{value:!0});Sy1._globalThis=void 0;Sy1._globalThis=typeof globalThis==="object"?globalThis:global});var ky1=t((YM)=>{var bBA=YM&&YM.__createBinding||(Object.create?function(A,Q,B,J){if(J===void 0)J=B;Object.defineProperty(A,J,{enumerable:!0,get:function(){return Q[B]}})}:function(A,Q,B,J){if(J===void 0)J=B;A[J]=Q[B]}),gBA=YM&&YM.__exportStar||function(A,Q){for(var B in A)if(B!=="default"&&!Object.prototype.hasOwnProperty.call(Q,B))bBA(Q,A,B)};Object.defineProperty(YM,"__esModule",{value:!0});gBA(vy1(),YM)});var fy1=t((qM)=>{var xBA=qM&&qM.__createBinding||(Object.create?function(A,Q,B,J){if(J===void 0)J=B;Object.defineProperty(A,J,{enumerable:!0,get:function(){return Q[B]}})}:function(A,Q,B,J){if(J===void 0)J=B;A[J]=Q[B]}),hBA=qM&&qM.__exportStar||function(A,Q){for(var B in A)if(B!=="default"&&!Object.prototype.hasOwnProperty.call(Q,B))xBA(Q,A,B)};Object.defineProperty(qM,"__esModule",{value:!0});hBA(ky1(),qM)});var s71=t((yy1)=>{Object.defineProperty(yy1,"__esModule",{value:!0});yy1.VERSION=void 0;yy1.VERSION="1.9.0"});var uy1=t((hy1)=>{Object.defineProperty(hy1,"__esModule",{value:!0});hy1.isCompatible=hy1._makeCompatibilityCheck=void 0;var mBA=s71(),gy1=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function xy1(A){let Q=new Set([A]),B=new Set,J=A.match(gy1);if(!J)return()=>!1;let D={major:+J[1],minor:+J[2],patch:+J[3],prerelease:J[4]};if(D.prerelease!=null)return function G(X){return X===A};function z(G){return B.add(G),!1}function Z(G){return Q.add(G),!0}return function G(X){if(Q.has(X))return!0;if(B.has(X))return!1;let K=X.match(gy1);if(!K)return z(X);let Y={major:+K[1],minor:+K[2],patch:+K[3],prerelease:K[4]};if(Y.prerelease!=null)return z(X);if(D.major!==Y.major)return z(X);if(D.major===0){if(D.minor===Y.minor&&D.patch<=Y.patch)return Z(X);return z(X)}if(D.minor<=Y.minor)return Z(X);return z(X)}}hy1._makeCompatibilityCheck=xy1;hy1.isCompatible=xy1(mBA.VERSION)});var UM=t((py1)=>{Object.defineProperty(py1,"__esModule",{value:!0});py1.unregisterGlobal=py1.getGlobal=py1.registerGlobal=void 0;var pBA=fy1(),LR=s71(),cBA=uy1(),lBA=LR.VERSION.split(".")[0],r$=Symbol.for(`opentelemetry.js.api.${lBA}`),n$=pBA._globalThis;function dBA(A,Q,B,J=!1){var D;let z=n$[r$]=(D=n$[r$])!==null&&D!==void 0?D:{version:LR.VERSION};if(!J&&z[A]){let Z=new Error(`@opentelemetry/api: Attempted duplicate registration of API: ${A}`);return B.error(Z.stack||Z.message),!1}if(z.version!==LR.VERSION){let Z=new Error(`@opentelemetry/api: Registration of version v${z.version} for ${A} does not match previously registered API v${LR.VERSION}`);return B.error(Z.stack||Z.message),!1}return z[A]=Q,B.debug(`@opentelemetry/api: Registered a global for ${A} v${LR.VERSION}.`),!0}py1.registerGlobal=dBA;function iBA(A){var Q,B;let J=(Q=n$[r$])===null||Q===void 0?void 0:Q.version;if(!J||!cBA.isCompatible(J))return;return(B=n$[r$])===null||B===void 0?void 0:B[A]}py1.getGlobal=iBA;function aBA(A,Q){Q.debug(`@opentelemetry/api: Unregistering a global for ${A} v${LR.VERSION}.`);let B=n$[r$];if(B)delete B[A]}py1.unregisterGlobal=aBA});var ay1=t((dy1)=>{Object.defineProperty(dy1,"__esModule",{value:!0});dy1.DiagComponentLogger=void 0;var sBA=UM();class ly1{constructor(A){this._namespace=A.namespace||"DiagComponentLogger"}debug(...A){return s$("debug",this._namespace,A)}error(...A){return s$("error",this._namespace,A)}info(...A){return s$("info",this._namespace,A)}warn(...A){return s$("warn",this._namespace,A)}verbose(...A){return s$("verbose",this._namespace,A)}}dy1.DiagComponentLogger=ly1;function s$(A,Q,B){let J=sBA.getGlobal("diag");if(!J)return;return B.unshift(Q),J[A](...B)}});var Vl=t((ry1)=>{Object.defineProperty(ry1,"__esModule",{value:!0});ry1.DiagLogLevel=void 0;var oBA;(function(A){A[A.NONE=0]="NONE",A[A.ERROR=30]="ERROR",A[A.WARN=50]="WARN",A[A.INFO=60]="INFO",A[A.DEBUG=70]="DEBUG",A[A.VERBOSE=80]="VERBOSE",A[A.ALL=9999]="ALL"})(oBA=ry1.DiagLogLevel||(ry1.DiagLogLevel={}))});var oy1=t((ny1)=>{Object.defineProperty(ny1,"__esModule",{value:!0});ny1.createLogLevelDiagLogger=void 0;var WU=Vl();function tBA(A,Q){if(A<WU.DiagLogLevel.NONE)A=WU.DiagLogLevel.NONE;else if(A>WU.DiagLogLevel.ALL)A=WU.DiagLogLevel.ALL;Q=Q||{};function B(J,D){let z=Q[J];if(typeof z==="function"&&A>=D)return z.bind(Q);return function(){}}return{error:B("error",WU.DiagLogLevel.ERROR),warn:B("warn",WU.DiagLogLevel.WARN),info:B("info",WU.DiagLogLevel.INFO),debug:B("debug",WU.DiagLogLevel.DEBUG),verbose:B("verbose",WU.DiagLogLevel.VERBOSE)}}ny1.createLogLevelDiagLogger=tBA});var FM=t((ey1)=>{Object.defineProperty(ey1,"__esModule",{value:!0});ey1.DiagAPI=void 0;var eBA=ay1(),AJA=oy1(),ty1=Vl(),Ol=UM(),QJA="diag";class t71{constructor(){function A(J){return function(...D){let z=Ol.getGlobal("diag");if(!z)return;return z[J](...D)}}let Q=this,B=(J,D={logLevel:ty1.DiagLogLevel.INFO})=>{var z,Z,G;if(J===Q){let Y=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return Q.error((z=Y.stack)!==null&&z!==void 0?z:Y.message),!1}if(typeof D==="number")D={logLevel:D};let X=Ol.getGlobal("diag"),K=AJA.createLogLevelDiagLogger((Z=D.logLevel)!==null&&Z!==void 0?Z:ty1.DiagLogLevel.INFO,J);if(X&&!D.suppressOverrideMessage){let Y=(G=new Error().stack)!==null&&G!==void 0?G:"<failed to generate stacktrace>";X.warn(`Current logger will be overwritten from ${Y}`),K.warn(`Current logger will overwrite one already registered from ${Y}`)}return Ol.registerGlobal("diag",K,Q,!0)};Q.setLogger=B,Q.disable=()=>{Ol.unregisterGlobal(QJA,Q)},Q.createComponentLogger=(J)=>{return new eBA.DiagComponentLogger(J)},Q.verbose=A("verbose"),Q.debug=A("debug"),Q.info=A("info"),Q.warn=A("warn"),Q.error=A("error")}static instance(){if(!this._instance)this._instance=new t71;return this._instance}}ey1.DiagAPI=t71});var Jb1=t((Qb1)=>{Object.defineProperty(Qb1,"__esModule",{value:!0});Qb1.BaggageImpl=void 0;class TR{constructor(A){this._entries=A?new Map(A):new Map}getEntry(A){let Q=this._entries.get(A);if(!Q)return;return Object.assign({},Q)}getAllEntries(){return Array.from(this._entries.entries()).map(([A,Q])=>[A,Q])}setEntry(A,Q){let B=new TR(this._entries);return B._entries.set(A,Q),B}removeEntry(A){let Q=new TR(this._entries);return Q._entries.delete(A),Q}removeEntries(...A){let Q=new TR(this._entries);for(let B of A)Q._entries.delete(B);return Q}clear(){return new TR}}Qb1.BaggageImpl=TR});var Zb1=t((Db1)=>{Object.defineProperty(Db1,"__esModule",{value:!0});Db1.baggageEntryMetadataSymbol=void 0;Db1.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")});var e71=t((Gb1)=>{Object.defineProperty(Gb1,"__esModule",{value:!0});Gb1.baggageEntryMetadataFromString=Gb1.createBaggage=void 0;var BJA=FM(),JJA=Jb1(),DJA=Zb1(),zJA=BJA.DiagAPI.instance();function ZJA(A={}){return new JJA.BaggageImpl(new Map(Object.entries(A)))}Gb1.createBaggage=ZJA;function GJA(A){if(typeof A!=="string")zJA.error(`Cannot create baggage metadata from unknown type: ${typeof A}`),A="";return{__TYPE__:DJA.baggageEntryMetadataSymbol,toString(){return A}}}Gb1.baggageEntryMetadataFromString=GJA});var o$=t((Kb1)=>{Object.defineProperty(Kb1,"__esModule",{value:!0});Kb1.ROOT_CONTEXT=Kb1.createContextKey=void 0;function KJA(A){return Symbol.for(A)}Kb1.createContextKey=KJA;class Rl{constructor(A){let Q=this;Q._currentContext=A?new Map(A):new Map,Q.getValue=(B)=>Q._currentContext.get(B),Q.setValue=(B,J)=>{let D=new Rl(Q._currentContext);return D._currentContext.set(B,J),D},Q.deleteValue=(B)=>{let J=new Rl(Q._currentContext);return J._currentContext.delete(B),J}}}Kb1.ROOT_CONTEXT=new Rl});var Eb1=t((Ub1)=>{Object.defineProperty(Ub1,"__esModule",{value:!0});Ub1.DiagConsoleLogger=void 0;var AQ1=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class qb1{constructor(){function A(Q){return function(...B){if(console){let J=console[Q];if(typeof J!=="function")J=console.log;if(typeof J==="function")return J.apply(console,B)}}}for(let Q=0;Q<AQ1.length;Q++)this[AQ1[Q].n]=A(AQ1[Q].c)}}Ub1.DiagConsoleLogger=qb1});var KQ1=t((Hb1)=>{Object.defineProperty(Hb1,"__esModule",{value:!0});Hb1.createNoopMeter=Hb1.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=Hb1.NOOP_OBSERVABLE_GAUGE_METRIC=Hb1.NOOP_OBSERVABLE_COUNTER_METRIC=Hb1.NOOP_UP_DOWN_COUNTER_METRIC=Hb1.NOOP_HISTOGRAM_METRIC=Hb1.NOOP_GAUGE_METRIC=Hb1.NOOP_COUNTER_METRIC=Hb1.NOOP_METER=Hb1.NoopObservableUpDownCounterMetric=Hb1.NoopObservableGaugeMetric=Hb1.NoopObservableCounterMetric=Hb1.NoopObservableMetric=Hb1.NoopHistogramMetric=Hb1.NoopGaugeMetric=Hb1.NoopUpDownCounterMetric=Hb1.NoopCounterMetric=Hb1.NoopMetric=Hb1.NoopMeter=void 0;class QQ1{constructor(){}createGauge(A,Q){return Hb1.NOOP_GAUGE_METRIC}createHistogram(A,Q){return Hb1.NOOP_HISTOGRAM_METRIC}createCounter(A,Q){return Hb1.NOOP_COUNTER_METRIC}createUpDownCounter(A,Q){return Hb1.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(A,Q){return Hb1.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(A,Q){return Hb1.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(A,Q){return Hb1.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(A,Q){}removeBatchObservableCallback(A){}}Hb1.NoopMeter=QQ1;class jR{}Hb1.NoopMetric=jR;class BQ1 extends jR{add(A,Q){}}Hb1.NoopCounterMetric=BQ1;class JQ1 extends jR{add(A,Q){}}Hb1.NoopUpDownCounterMetric=JQ1;class DQ1 extends jR{record(A,Q){}}Hb1.NoopGaugeMetric=DQ1;class zQ1 extends jR{record(A,Q){}}Hb1.NoopHistogramMetric=zQ1;class t${addCallback(A){}removeCallback(A){}}Hb1.NoopObservableMetric=t$;class ZQ1 extends t${}Hb1.NoopObservableCounterMetric=ZQ1;class GQ1 extends t${}Hb1.NoopObservableGaugeMetric=GQ1;class XQ1 extends t${}Hb1.NoopObservableUpDownCounterMetric=XQ1;Hb1.NOOP_METER=new QQ1;Hb1.NOOP_COUNTER_METRIC=new BQ1;Hb1.NOOP_GAUGE_METRIC=new DQ1;Hb1.NOOP_HISTOGRAM_METRIC=new zQ1;Hb1.NOOP_UP_DOWN_COUNTER_METRIC=new JQ1;Hb1.NOOP_OBSERVABLE_COUNTER_METRIC=new ZQ1;Hb1.NOOP_OBSERVABLE_GAUGE_METRIC=new GQ1;Hb1.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new XQ1;function qJA(){return Hb1.NOOP_METER}Hb1.createNoopMeter=qJA});var Tb1=t((Lb1)=>{Object.defineProperty(Lb1,"__esModule",{value:!0});Lb1.ValueType=void 0;var VJA;(function(A){A[A.INT=0]="INT",A[A.DOUBLE=1]="DOUBLE"})(VJA=Lb1.ValueType||(Lb1.ValueType={}))});var qQ1=t((jb1)=>{Object.defineProperty(jb1,"__esModule",{value:!0});jb1.defaultTextMapSetter=jb1.defaultTextMapGetter=void 0;jb1.defaultTextMapGetter={get(A,Q){if(A==null)return;return A[Q]},keys(A){if(A==null)return[];return Object.keys(A)}};jb1.defaultTextMapSetter={set(A,Q,B){if(A==null)return;A[Q]=B}}});var vb1=t((Sb1)=>{Object.defineProperty(Sb1,"__esModule",{value:!0});Sb1.NoopContextManager=void 0;var RJA=o$();class _b1{active(){return RJA.ROOT_CONTEXT}with(A,Q,B,...J){return Q.call(B,...J)}bind(A,Q){return Q}enable(){return this}disable(){return this}}Sb1.NoopContextManager=_b1});var e$=t((fb1)=>{Object.defineProperty(fb1,"__esModule",{value:!0});fb1.ContextAPI=void 0;var LJA=vb1(),UQ1=UM(),kb1=FM(),FQ1="context",TJA=new LJA.NoopContextManager;class EQ1{constructor(){}static getInstance(){if(!this._instance)this._instance=new EQ1;return this._instance}setGlobalContextManager(A){return UQ1.registerGlobal(FQ1,A,kb1.DiagAPI.instance())}active(){return this._getContextManager().active()}with(A,Q,B,...J){return this._getContextManager().with(A,Q,B,...J)}bind(A,Q){return this._getContextManager().bind(A,Q)}_getContextManager(){return UQ1.getGlobal(FQ1)||TJA}disable(){this._getContextManager().disable(),UQ1.unregisterGlobal(FQ1,kb1.DiagAPI.instance())}}fb1.ContextAPI=EQ1});var wQ1=t((bb1)=>{Object.defineProperty(bb1,"__esModule",{value:!0});bb1.TraceFlags=void 0;var jJA;(function(A){A[A.NONE=0]="NONE",A[A.SAMPLED=1]="SAMPLED"})(jJA=bb1.TraceFlags||(bb1.TraceFlags={}))});var Ll=t((gb1)=>{Object.defineProperty(gb1,"__esModule",{value:!0});gb1.INVALID_SPAN_CONTEXT=gb1.INVALID_TRACEID=gb1.INVALID_SPANID=void 0;var PJA=wQ1();gb1.INVALID_SPANID="0000000000000000";gb1.INVALID_TRACEID="00000000000000000000000000000000";gb1.INVALID_SPAN_CONTEXT={traceId:gb1.INVALID_TRACEID,spanId:gb1.INVALID_SPANID,traceFlags:PJA.TraceFlags.NONE}});var Tl=t((pb1)=>{Object.defineProperty(pb1,"__esModule",{value:!0});pb1.NonRecordingSpan=void 0;var _JA=Ll();class ub1{constructor(A=_JA.INVALID_SPAN_CONTEXT){this._spanContext=A}spanContext(){return this._spanContext}setAttribute(A,Q){return this}setAttributes(A){return this}addEvent(A,Q){return this}addLink(A){return this}addLinks(A){return this}setStatus(A){return this}updateName(A){return this}end(A){}isRecording(){return!1}recordException(A,Q){}}pb1.NonRecordingSpan=ub1});var MQ1=t((db1)=>{Object.defineProperty(db1,"__esModule",{value:!0});db1.getSpanContext=db1.setSpanContext=db1.deleteSpan=db1.setSpan=db1.getActiveSpan=db1.getSpan=void 0;var SJA=o$(),$JA=Tl(),vJA=e$(),WQ1=SJA.createContextKey("OpenTelemetry Context Key SPAN");function IQ1(A){return A.getValue(WQ1)||void 0}db1.getSpan=IQ1;function kJA(){return IQ1(vJA.ContextAPI.getInstance().active())}db1.getActiveSpan=kJA;function lb1(A,Q){return A.setValue(WQ1,Q)}db1.setSpan=lb1;function fJA(A){return A.deleteValue(WQ1)}db1.deleteSpan=fJA;function yJA(A,Q){return lb1(A,new $JA.NonRecordingSpan(Q))}db1.setSpanContext=yJA;function bJA(A){var Q;return(Q=IQ1(A))===null||Q===void 0?void 0:Q.spanContext()}db1.getSpanContext=bJA});var jl=t((sb1)=>{Object.defineProperty(sb1,"__esModule",{value:!0});sb1.wrapSpanContext=sb1.isSpanContextValid=sb1.isValidSpanId=sb1.isValidTraceId=void 0;var ab1=Ll(),pJA=Tl(),cJA=/^([0-9a-f]{32})$/i,lJA=/^[0-9a-f]{16}$/i;function rb1(A){return cJA.test(A)&&A!==ab1.INVALID_TRACEID}sb1.isValidTraceId=rb1;function nb1(A){return lJA.test(A)&&A!==ab1.INVALID_SPANID}sb1.isValidSpanId=nb1;function dJA(A){return rb1(A.traceId)&&nb1(A.spanId)}sb1.isSpanContextValid=dJA;function iJA(A){return new pJA.NonRecordingSpan(A)}sb1.wrapSpanContext=iJA});var VQ1=t((Ag1)=>{Object.defineProperty(Ag1,"__esModule",{value:!0});Ag1.NoopTracer=void 0;var sJA=e$(),tb1=MQ1(),NQ1=Tl(),oJA=jl(),CQ1=sJA.ContextAPI.getInstance();class eb1{startSpan(A,Q,B=CQ1.active()){if(Boolean(Q===null||Q===void 0?void 0:Q.root))return new NQ1.NonRecordingSpan;let D=B&&tb1.getSpanContext(B);if(tJA(D)&&oJA.isSpanContextValid(D))return new NQ1.NonRecordingSpan(D);else return new NQ1.NonRecordingSpan}startActiveSpan(A,Q,B,J){let D,z,Z;if(arguments.length<2)return;else if(arguments.length===2)Z=Q;else if(arguments.length===3)D=Q,Z=B;else D=Q,z=B,Z=J;let G=z!==null&&z!==void 0?z:CQ1.active(),X=this.startSpan(A,D,G),K=tb1.setSpan(G,X);return CQ1.with(K,Z,void 0,X)}}Ag1.NoopTracer=eb1;function tJA(A){return typeof A==="object"&&typeof A.spanId==="string"&&typeof A.traceId==="string"&&typeof A.traceFlags==="number"}});var OQ1=t((Jg1)=>{Object.defineProperty(Jg1,"__esModule",{value:!0});Jg1.ProxyTracer=void 0;var eJA=VQ1(),ADA=new eJA.NoopTracer;class Bg1{constructor(A,Q,B,J){this._provider=A,this.name=Q,this.version=B,this.options=J}startSpan(A,Q,B){return this._getTracer().startSpan(A,Q,B)}startActiveSpan(A,Q,B,J){let D=this._getTracer();return Reflect.apply(D.startActiveSpan,D,arguments)}_getTracer(){if(this._delegate)return this._delegate;let A=this._provider.getDelegateTracer(this.name,this.version,this.options);if(!A)return ADA;return this._delegate=A,this._delegate}}Jg1.ProxyTracer=Bg1});var Xg1=t((Zg1)=>{Object.defineProperty(Zg1,"__esModule",{value:!0});Zg1.NoopTracerProvider=void 0;var QDA=VQ1();class zg1{getTracer(A,Q,B){return new QDA.NoopTracer}}Zg1.NoopTracerProvider=zg1});var RQ1=t((Yg1)=>{Object.defineProperty(Yg1,"__esModule",{value:!0});Yg1.ProxyTracerProvider=void 0;var BDA=OQ1(),JDA=Xg1(),DDA=new JDA.NoopTracerProvider;class Kg1{getTracer(A,Q,B){var J;return(J=this.getDelegateTracer(A,Q,B))!==null&&J!==void 0?J:new BDA.ProxyTracer(this,A,Q,B)}getDelegate(){var A;return(A=this._delegate)!==null&&A!==void 0?A:DDA}setDelegate(A){this._delegate=A}getDelegateTracer(A,Q,B){var J;return(J=this._delegate)===null||J===void 0?void 0:J.getTracer(A,Q,B)}}Yg1.ProxyTracerProvider=Kg1});var Fg1=t((Ug1)=>{Object.defineProperty(Ug1,"__esModule",{value:!0});Ug1.SamplingDecision=void 0;var zDA;(function(A){A[A.NOT_RECORD=0]="NOT_RECORD",A[A.RECORD=1]="RECORD",A[A.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"})(zDA=Ug1.SamplingDecision||(Ug1.SamplingDecision={}))});var Hg1=t((Eg1)=>{Object.defineProperty(Eg1,"__esModule",{value:!0});Eg1.SpanKind=void 0;var ZDA;(function(A){A[A.INTERNAL=0]="INTERNAL",A[A.SERVER=1]="SERVER",A[A.CLIENT=2]="CLIENT",A[A.PRODUCER=3]="PRODUCER",A[A.CONSUMER=4]="CONSUMER"})(ZDA=Eg1.SpanKind||(Eg1.SpanKind={}))});var Wg1=t((wg1)=>{Object.defineProperty(wg1,"__esModule",{value:!0});wg1.SpanStatusCode=void 0;var GDA;(function(A){A[A.UNSET=0]="UNSET",A[A.OK=1]="OK",A[A.ERROR=2]="ERROR"})(GDA=wg1.SpanStatusCode||(wg1.SpanStatusCode={}))});var Ng1=t((Ig1)=>{Object.defineProperty(Ig1,"__esModule",{value:!0});Ig1.validateValue=Ig1.validateKey=void 0;var PQ1="[_0-9a-z-*/]",XDA=`[a-z]${PQ1}{0,255}`,KDA=`[a-z0-9]${PQ1}{0,240}@[a-z]${PQ1}{0,13}`,YDA=new RegExp(`^(?:${XDA}|${KDA})$`),qDA=/^[ -~]{0,255}[!-~]$/,UDA=/,|=/;function FDA(A){return YDA.test(A)}Ig1.validateKey=FDA;function EDA(A){return qDA.test(A)&&!UDA.test(A)}Ig1.validateValue=EDA});var jg1=t((Lg1)=>{Object.defineProperty(Lg1,"__esModule",{value:!0});Lg1.TraceStateImpl=void 0;var Cg1=Ng1(),Vg1=32,wDA=512,Og1=",",Rg1="=";class _Q1{constructor(A){if(this._internalState=new Map,A)this._parse(A)}set(A,Q){let B=this._clone();if(B._internalState.has(A))B._internalState.delete(A);return B._internalState.set(A,Q),B}unset(A){let Q=this._clone();return Q._internalState.delete(A),Q}get(A){return this._internalState.get(A)}serialize(){return this._keys().reduce((A,Q)=>{return A.push(Q+Rg1+this.get(Q)),A},[]).join(Og1)}_parse(A){if(A.length>wDA)return;if(this._internalState=A.split(Og1).reverse().reduce((Q,B)=>{let J=B.trim(),D=J.indexOf(Rg1);if(D!==-1){let z=J.slice(0,D),Z=J.slice(D+1,B.length);if(Cg1.validateKey(z)&&Cg1.validateValue(Z))Q.set(z,Z)}return Q},new Map),this._internalState.size>Vg1)this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,Vg1))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let A=new _Q1;return A._internalState=new Map(this._internalState),A}}Lg1.TraceStateImpl=_Q1});var Sg1=t((Pg1)=>{Object.defineProperty(Pg1,"__esModule",{value:!0});Pg1.createTraceState=void 0;var WDA=jg1();function IDA(A){return new WDA.TraceStateImpl(A)}Pg1.createTraceState=IDA});var kg1=t(($g1)=>{Object.defineProperty($g1,"__esModule",{value:!0});$g1.context=void 0;var MDA=e$();$g1.context=MDA.ContextAPI.getInstance()});var bg1=t((fg1)=>{Object.defineProperty(fg1,"__esModule",{value:!0});fg1.diag=void 0;var NDA=FM();fg1.diag=NDA.DiagAPI.instance()});var hg1=t((gg1)=>{Object.defineProperty(gg1,"__esModule",{value:!0});gg1.NOOP_METER_PROVIDER=gg1.NoopMeterProvider=void 0;var CDA=KQ1();class SQ1{getMeter(A,Q,B){return CDA.NOOP_METER}}gg1.NoopMeterProvider=SQ1;gg1.NOOP_METER_PROVIDER=new SQ1});var cg1=t((ug1)=>{Object.defineProperty(ug1,"__esModule",{value:!0});ug1.MetricsAPI=void 0;var ODA=hg1(),$Q1=UM(),mg1=FM(),vQ1="metrics";class kQ1{constructor(){}static getInstance(){if(!this._instance)this._instance=new kQ1;return this._instance}setGlobalMeterProvider(A){return $Q1.registerGlobal(vQ1,A,mg1.DiagAPI.instance())}getMeterProvider(){return $Q1.getGlobal(vQ1)||ODA.NOOP_METER_PROVIDER}getMeter(A,Q,B){return this.getMeterProvider().getMeter(A,Q,B)}disable(){$Q1.unregisterGlobal(vQ1,mg1.DiagAPI.instance())}}ug1.MetricsAPI=kQ1});var ig1=t((lg1)=>{Object.defineProperty(lg1,"__esModule",{value:!0});lg1.metrics=void 0;var RDA=cg1();lg1.metrics=RDA.MetricsAPI.getInstance()});var sg1=t((rg1)=>{Object.defineProperty(rg1,"__esModule",{value:!0});rg1.NoopTextMapPropagator=void 0;class ag1{inject(A,Q){}extract(A,Q){return A}fields(){return[]}}rg1.NoopTextMapPropagator=ag1});var Ax1=t((tg1)=>{Object.defineProperty(tg1,"__esModule",{value:!0});tg1.deleteBaggage=tg1.setBaggage=tg1.getActiveBaggage=tg1.getBaggage=void 0;var LDA=e$(),TDA=o$(),fQ1=TDA.createContextKey("OpenTelemetry Baggage Key");function og1(A){return A.getValue(fQ1)||void 0}tg1.getBaggage=og1;function jDA(){return og1(LDA.ContextAPI.getInstance().active())}tg1.getActiveBaggage=jDA;function PDA(A,Q){return A.setValue(fQ1,Q)}tg1.setBaggage=PDA;function _DA(A){return A.deleteValue(fQ1)}tg1.deleteBaggage=_DA});var zx1=t((Jx1)=>{Object.defineProperty(Jx1,"__esModule",{value:!0});Jx1.PropagationAPI=void 0;var yQ1=UM(),kDA=sg1(),Qx1=qQ1(),Pl=Ax1(),fDA=e71(),Bx1=FM(),bQ1="propagation",yDA=new kDA.NoopTextMapPropagator;class gQ1{constructor(){this.createBaggage=fDA.createBaggage,this.getBaggage=Pl.getBaggage,this.getActiveBaggage=Pl.getActiveBaggage,this.setBaggage=Pl.setBaggage,this.deleteBaggage=Pl.deleteBaggage}static getInstance(){if(!this._instance)this._instance=new gQ1;return this._instance}setGlobalPropagator(A){return yQ1.registerGlobal(bQ1,A,Bx1.DiagAPI.instance())}inject(A,Q,B=Qx1.defaultTextMapSetter){return this._getGlobalPropagator().inject(A,Q,B)}extract(A,Q,B=Qx1.defaultTextMapGetter){return this._getGlobalPropagator().extract(A,Q,B)}fields(){return this._getGlobalPropagator().fields()}disable(){yQ1.unregisterGlobal(bQ1,Bx1.DiagAPI.instance())}_getGlobalPropagator(){return yQ1.getGlobal(bQ1)||yDA}}Jx1.PropagationAPI=gQ1});var Xx1=t((Zx1)=>{Object.defineProperty(Zx1,"__esModule",{value:!0});Zx1.propagation=void 0;var bDA=zx1();Zx1.propagation=bDA.PropagationAPI.getInstance()});var Ex1=t((Ux1)=>{Object.defineProperty(Ux1,"__esModule",{value:!0});Ux1.TraceAPI=void 0;var xQ1=UM(),Kx1=RQ1(),Yx1=jl(),PR=MQ1(),qx1=FM(),hQ1="trace";class mQ1{constructor(){this._proxyTracerProvider=new Kx1.ProxyTracerProvider,this.wrapSpanContext=Yx1.wrapSpanContext,this.isSpanContextValid=Yx1.isSpanContextValid,this.deleteSpan=PR.deleteSpan,this.getSpan=PR.getSpan,this.getActiveSpan=PR.getActiveSpan,this.getSpanContext=PR.getSpanContext,this.setSpan=PR.setSpan,this.setSpanContext=PR.setSpanContext}static getInstance(){if(!this._instance)this._instance=new mQ1;return this._instance}setGlobalTracerProvider(A){let Q=xQ1.registerGlobal(hQ1,this._proxyTracerProvider,qx1.DiagAPI.instance());if(Q)this._proxyTracerProvider.setDelegate(A);return Q}getTracerProvider(){return xQ1.getGlobal(hQ1)||this._proxyTracerProvider}getTracer(A,Q){return this.getTracerProvider().getTracer(A,Q)}disable(){xQ1.unregisterGlobal(hQ1,qx1.DiagAPI.instance()),this._proxyTracerProvider=new Kx1.ProxyTracerProvider}}Ux1.TraceAPI=mQ1});var Wx1=t((Hx1)=>{Object.defineProperty(Hx1,"__esModule",{value:!0});Hx1.trace=void 0;var gDA=Ex1();Hx1.trace=gDA.TraceAPI.getInstance()});var _R=t((t9)=>{Object.defineProperty(t9,"__esModule",{value:!0});t9.trace=t9.propagation=t9.metrics=t9.diag=t9.context=t9.INVALID_SPAN_CONTEXT=t9.INVALID_TRACEID=t9.INVALID_SPANID=t9.isValidSpanId=t9.isValidTraceId=t9.isSpanContextValid=t9.createTraceState=t9.TraceFlags=t9.SpanStatusCode=t9.SpanKind=t9.SamplingDecision=t9.ProxyTracerProvider=t9.ProxyTracer=t9.defaultTextMapSetter=t9.defaultTextMapGetter=t9.ValueType=t9.createNoopMeter=t9.DiagLogLevel=t9.DiagConsoleLogger=t9.ROOT_CONTEXT=t9.createContextKey=t9.baggageEntryMetadataFromString=void 0;var xDA=e71();Object.defineProperty(t9,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return xDA.baggageEntryMetadataFromString}});var Ix1=o$();Object.defineProperty(t9,"createContextKey",{enumerable:!0,get:function(){return Ix1.createContextKey}});Object.defineProperty(t9,"ROOT_CONTEXT",{enumerable:!0,get:function(){return Ix1.ROOT_CONTEXT}});var hDA=Eb1();Object.defineProperty(t9,"DiagConsoleLogger",{enumerable:!0,get:function(){return hDA.DiagConsoleLogger}});var mDA=Vl();Object.defineProperty(t9,"DiagLogLevel",{enumerable:!0,get:function(){return mDA.DiagLogLevel}});var uDA=KQ1();Object.defineProperty(t9,"createNoopMeter",{enumerable:!0,get:function(){return uDA.createNoopMeter}});var pDA=Tb1();Object.defineProperty(t9,"ValueType",{enumerable:!0,get:function(){return pDA.ValueType}});var Mx1=qQ1();Object.defineProperty(t9,"defaultTextMapGetter",{enumerable:!0,get:function(){return Mx1.defaultTextMapGetter}});Object.defineProperty(t9,"defaultTextMapSetter",{enumerable:!0,get:function(){return Mx1.defaultTextMapSetter}});var cDA=OQ1();Object.defineProperty(t9,"ProxyTracer",{enumerable:!0,get:function(){return cDA.ProxyTracer}});var lDA=RQ1();Object.defineProperty(t9,"ProxyTracerProvider",{enumerable:!0,get:function(){return lDA.ProxyTracerProvider}});var dDA=Fg1();Object.defineProperty(t9,"SamplingDecision",{enumerable:!0,get:function(){return dDA.SamplingDecision}});var iDA=Hg1();Object.defineProperty(t9,"SpanKind",{enumerable:!0,get:function(){return iDA.SpanKind}});var aDA=Wg1();Object.defineProperty(t9,"SpanStatusCode",{enumerable:!0,get:function(){return aDA.SpanStatusCode}});var rDA=wQ1();Object.defineProperty(t9,"TraceFlags",{enumerable:!0,get:function(){return rDA.TraceFlags}});var nDA=Sg1();Object.defineProperty(t9,"createTraceState",{enumerable:!0,get:function(){return nDA.createTraceState}});var uQ1=jl();Object.defineProperty(t9,"isSpanContextValid",{enumerable:!0,get:function(){return uQ1.isSpanContextValid}});Object.defineProperty(t9,"isValidTraceId",{enumerable:!0,get:function(){return uQ1.isValidTraceId}});Object.defineProperty(t9,"isValidSpanId",{enumerable:!0,get:function(){return uQ1.isValidSpanId}});var pQ1=Ll();Object.defineProperty(t9,"INVALID_SPANID",{enumerable:!0,get:function(){return pQ1.INVALID_SPANID}});Object.defineProperty(t9,"INVALID_TRACEID",{enumerable:!0,get:function(){return pQ1.INVALID_TRACEID}});Object.defineProperty(t9,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return pQ1.INVALID_SPAN_CONTEXT}});var Nx1=kg1();Object.defineProperty(t9,"context",{enumerable:!0,get:function(){return Nx1.context}});var Cx1=bg1();Object.defineProperty(t9,"diag",{enumerable:!0,get:function(){return Cx1.diag}});var Vx1=ig1();Object.defineProperty(t9,"metrics",{enumerable:!0,get:function(){return Vx1.metrics}});var Ox1=Xx1();Object.defineProperty(t9,"propagation",{enumerable:!0,get:function(){return Ox1.propagation}});var Rx1=Wx1();Object.defineProperty(t9,"trace",{enumerable:!0,get:function(){return Rx1.trace}});t9.default={context:Nx1.context,diag:Cx1.diag,metrics:Vx1.metrics,propagation:Ox1.propagation,trace:Rx1.trace}});function eDA(){return tDA}function Tx1(A){SR=A}var Lx1,tDA=!1,AzA,SR,QzA,j1;var l6=k1(()=>{Lx1=hA(_R(),1);AzA={error:(A,...Q)=>console.error(A,...Q),warn:(A,...Q)=>console.warn(A,...Q),info:(A,...Q)=>console.info(A,...Q),debug:(A,...Q)=>{if(eDA())console.debug(A,...Q)},audit:(A,...Q)=>{let B=Q.length>0?Q[0]:{};if(typeof B==="object"&&B!==null&&!("audit"in B))B.audit=!0;let J=Lx1.trace.getActiveSpan();if(J){let D=J.spanContext();if(D.traceId)B.traceId=D.traceId,B.spanId=D.spanId}console.info(A,B)}},SR=AzA;QzA={error:(A,...Q)=>SR.error(A,...Q),warn:(A,...Q)=>SR.warn(A,...Q),info:(A,...Q)=>SR.info(A,...Q),debug:(A,...Q)=>SR.debug(A,...Q),audit:(A,...Q)=>SR.audit(A,...Q)},j1=QzA});function cQ1(A){let Q=typeof A==="string"?A:A.toString();return Q===Vz||Q===Vz.slice(0,-1)}function lQ1(A){return cQ1(A)?Vz:A}var BzA,Vz,JzA,W62;var $R=k1(()=>{BzA=new URL("https://ampcode.com/"),Vz=BzA.toString(),JzA=new URL("https://api.anthropic.com/"),W62=JzA.toString()});function _l(A){Promise.resolve().then(()=>{try{A()}catch(Q){console.error(Q)}})}function jx1(A){let Q=A._cleanup;if(Q===void 0)return;if(A._cleanup=void 0,!Q)return;try{if(typeof Q==="function")Q();else if(Q&&typeof Q.unsubscribe==="function")Q.unsubscribe()}catch(B){console.error("cleanupSubscription",B)}}function iQ1(A){A._observer=void 0,A._queue=void 0,A._state="closed"}function DzA(A){let Q=A._queue;if(!Q)return;A._queue=void 0,A._state="ready";for(let B of Q)if(Px1(A,B.type,B.value),A._state==="closed")break}function Px1(A,Q,B){A._state="running";let J=A._observer;try{switch(Q){case"next":if(J&&typeof J.next==="function")J.next(B);break;case"error":if(iQ1(A),J&&typeof J.error==="function")J.error(B);else throw B;break;case"complete":if(iQ1(A),J&&typeof J.complete==="function")J.complete();break}}catch(D){console.error("notifySubscription",D)}if(A._state==="closed")jx1(A);else if(A._state==="running")A._state="ready"}function dQ1(A,Q,B){if(A._state==="closed")return;if(A._state==="buffering"){A._queue=A._queue||[],A._queue.push({type:Q,value:B});return}if(A._state!=="ready"){A._state="buffering",A._queue=[{type:Q,value:B}],_l(()=>DzA(A));return}Px1(A,Q,B)}class _x1{_cleanup;_observer;_queue;_state;constructor(A,Q){this._cleanup=void 0,this._observer=A,this._queue=void 0,this._state="initializing";let B=new Sx1(this);try{this._cleanup=Q.call(void 0,B)}catch(J){B.error(J)}if(this._state==="initializing")this._state="ready"}get closed(){return this._state==="closed"}unsubscribe(){if(this._state!=="closed")iQ1(this),jx1(this)}}class Sx1{_subscription;constructor(A){this._subscription=A}get closed(){return this._subscription._state==="closed"}next(A){dQ1(this._subscription,"next",A)}error(A){dQ1(this._subscription,"error",A)}complete(){dQ1(this._subscription,"complete")}}function s4(A){if(typeof A==="function")A();else if(A&&typeof A.unsubscribe==="function")A.unsubscribe()}class vR{_baseObserver;_pendingPromises;constructor(A){this._baseObserver=A,this._pendingPromises=new Set}complete(){Promise.all(this._pendingPromises).then(()=>this._baseObserver.complete()).catch((A)=>this._baseObserver.error(A))}error(A){this._baseObserver.error(A)}schedule(A){let Q=Promise.all(this._pendingPromises),B=[],J=(z)=>B.push(z),D=Promise.resolve().then(async()=>{await Q,await A(J),this._pendingPromises.delete(D);for(let z of B)this._baseObserver.next(z)}).catch((z)=>{this._pendingPromises.delete(D),this._baseObserver.error(z)});this._pendingPromises.add(D)}}var DA;var Av=k1(()=>{if(!Symbol.observable)Symbol.observable=Symbol("observable");DA=class DA{_subscriber;constructor(A){if(!(this instanceof DA))throw new TypeError("Observable cannot be called as a function");if(typeof A!=="function")throw new TypeError("Observable initializer must be a function");this._subscriber=A}subscribe(A,Q,B){if(typeof A!=="object"||A===null)A={next:A,error:Q,complete:B};return new _x1(A,this._subscriber)}pipe(A,...Q){let B=this;for(let J of[A,...Q])B=J(B);return B}[Symbol.observable](){return this}static from(A){let Q=typeof this==="function"?this:DA;if(A==null)throw new TypeError(A+" is not an object");let B=A[Symbol.observable];if(typeof B==="function"){let D=B.call(A);if(Object(D)!==D)throw new TypeError(D+" is not an object");if(D instanceof DA)return D;return new Q((z)=>D.subscribe(z))}let J=A[Symbol.iterator];if(typeof J==="function")return new Q((D)=>{_l(()=>{if(D.closed)return;for(let z of J.call(A))if(D.next(z),D.closed)return;D.complete()})});if(Array.isArray(A))return new Q((D)=>{_l(()=>{if(D.closed)return;for(let z of A)if(D.next(z),D.closed)return;D.complete()})});throw new TypeError(A+" is not observable")}static of(...A){return new(typeof this==="function"?this:DA)((B)=>{_l(()=>{if(B.closed)return;for(let J of A)if(B.next(J),B.closed)return;B.complete()})})}static get[Symbol.species](){return this}}});var r2,E7;var Sl=k1(()=>{Av();r2=class r2 extends DA{_observers=new Set;constructor(){super((A)=>{return this._observers.add(A),()=>this._observers.delete(A)})}next(A){for(let Q of this._observers)Q.next(A)}error(A){for(let Q of this._observers)Q.error(A)}complete(){for(let A of this._observers)A.complete()}};E7=class E7 extends r2{currentValue;constructor(A){super();this.currentValue=A}next(A){this.currentValue=A,super.next(A)}subscribe(A,Q,B){if(typeof A!=="object"||A===null){let J={};if(A)J.next=A;if(Q)J.error=Q;if(B)J.complete=B;A=J}return A.next?.(this.currentValue),super.subscribe(A)}getValue(){return this.currentValue}}});function $x1(){let A=new Set,Q=new E7(A);return{add(B){A.add(B),Q.next(A)},delete(B){A.delete(B),Q.next(A)},set:A,observable:Q}}function vx1(){let A=new Map,Q=new E7(A);return{get(B){return A.get(B)},set(B,J){A.set(B,J),Q.next(A)},delete(B){A.delete(B),Q.next(A)},map:A,observable:Q}}var kx1=k1(()=>{Sl()});function $l(A,Q){if(A===Q)return!0;if(A==null||Q==null||typeof A!=="object"||typeof Q!=="object")return!1;let B=Array.isArray(A),J=Array.isArray(Q);if(B!==J)return!1;if(B&&J)return A.length===Q.length&&A.every((z,Z)=>$l(z,Q[Z]));let D=new Set([...Object.keys(A),...Object.keys(Q)]);for(let z of D)if(!$l(A[z],Q[z]))return!1;return!0}function aQ1(A){return{dispose:A.unsubscribe.bind(A)}}async function H6(A,Q){return new Promise((B,J)=>{let D=A.subscribe({next:(z)=>{D.unsubscribe(),B(z)},error:J,complete:()=>{J("Observable completed without emitting a value")}});if(Q)Q.addEventListener("abort",()=>{D.unsubscribe(),J(new DOMException("Aborted","AbortError"))},{once:!0})})}async function IU(A,Q){return new Promise((B,J)=>{let D,z=!1,Z=A.subscribe({next:(G)=>{D=G,z=!0},error:J,complete:()=>{if(Z.unsubscribe(),z)B(D);else J("Observable completed without emitting a value")}});if(Q)Q.addEventListener("abort",()=>{Z.unsubscribe(),J(new DOMException("Aborted","AbortError"))},{once:!0})})}function MU(A){return new DA((Q)=>{A.then((B)=>{Q.next(B),Q.complete()}).catch((B)=>{Q.error(B)})})}function e8(A){return new DA((Q)=>{let B=!1,J=new AbortController,D=J.signal;return(async()=>{try{D?.throwIfAborted();let Z=await A(D);if(D?.throwIfAborted(),!B)Q.next(Z),Q.complete()}catch(Z){if(!B)if(D.aborted)Q.complete();else Q.error(Z)}})(),()=>{B=!0,J.abort()}})}function yx1(){let A=null,Q=[];return{observable:new DA((D)=>{let z=A?A.subscribe(D):null,Z={observer:D,subscription:z};return Q.push(Z),()=>{Z.subscription?.unsubscribe();let G=Q.indexOf(Z);if(G!==-1)Q.splice(G,1)}}),setSource:(D,z=!0)=>{if(A&&z)throw new Error("source is already set");A=D;for(let Z of Q)Z.subscription?.unsubscribe();for(let Z of Q)Z.subscription=A.subscribe(Z.observer)}}}function L6(A){return(Q)=>{return new DA((B)=>{let J=new vR(B),D=0,z=Q.subscribe({complete(){J.complete()},error(Z){J.error(Z)},next(Z){J.schedule(async(G)=>{let X=await A(Z,D);D++,G(X)})}});return()=>s4(z)})}}function bx1(A){return new DA((Q)=>{let B=0,J=setInterval(()=>{Q.next(B++)},A);return()=>clearInterval(J)})}function MZ(...A){return new DA((Q)=>{let B=0,J=A.map((D)=>D.subscribe({next:(z)=>Q.next(z),error:(z)=>Q.error(z),complete:()=>{if(B++,B===A.length)Q.complete()}}));return()=>{gx1(J)}})}function o4(...A){if(A.length===0)return rQ1;return new DA((Q)=>{let B=new Array(A.length),J=new Array(A.length).fill(0),D=new Array(A.length).fill(!1),z=0,Z=[],G=new vR(Q);for(let X=0;X<A.length;X++){let K=A[X];Z.push(K.subscribe({next(Y){B[X]=Y,D[X]=!0;let q=++J[X];if(D.every(Boolean))G.schedule(async(F)=>{if(J[X]===q)F([...B])})},error(Y){G.error(Y)},complete(){if(z++,z===A.length)G.complete()}}))}return()=>{gx1(Z)}})}function kR(A,Q){return new DA((B)=>{let J=(D)=>{B.next(D)};return A.addListener(Q,J),()=>{A.removeListener(Q,J),B.complete()}})}function vl(A,Q){if(typeof A!=="function")throw new TypeError(A+" is not a function");let B=arguments.length>1;return(J)=>new DA((D)=>{let z=!1,Z=Q,G=J.subscribe({next(X){let K=!z;if(z=!0,!K||B)try{Z=A(Z,X)}catch(Y){D.error(Y);return}else Z=X},error(X){D.error(X)},complete(){if(!z&&!B){D.error(new TypeError("Cannot reduce an empty sequence"));return}D.next(Z),D.complete()}});return()=>s4(G)})}function t7(A){let B=A?.shouldCountRefs??!0,J=zzA++,D=(z,...Z)=>{};return(z)=>{let Z=new r2,G=null,X=!1,K,Y=0;return new DA((q)=>{if(Y++,X)D("new subscriber, emitting buffered value",K),q.next(K);else D("new subscriber, no buffered value to emit");if(!G)G=z.subscribe({next:(E)=>{X=!0,K=E,Z.next(E)},error:(E)=>Z.error(E),complete:()=>Z.complete()});let F=Z.subscribe(q);return()=>{if(Y--,F.unsubscribe(),B&&Y===0){if(G)s4(G),G=null;X=!1}}})}}function gx1(A){for(let Q of A)if(Q)s4(Q)}function NZ(A){return(Q)=>{return new DA((B)=>{let J,D=Q.subscribe({next(z){J=z,B.next(z)},error(z){B.error(z)},complete(){B.complete()}});return()=>{s4(D),A(J)}})}}function e7(A=$l){return(Q)=>{return new DA((B)=>{let J=fx1,D=new vR(B),z=Q.subscribe({complete(){D.complete()},error(Z){D.error(Z)},next(Z){D.schedule(async(G)=>{if(J===fx1||!A(J,Z))J=Z,G(Z)})}});return()=>s4(z)})}}function NU(A){return ZzA(typeof A==="function"?{next:A}:A)}function ZzA(A){return(Q)=>new DA((B)=>{let J=typeof A==="function"?A():A,D=Q.subscribe({next(z){if(J.next)try{J.next(z)}catch(Z){B.error(Z);return}B.next(z)},error(z){if(J.error)try{J.error(z)}catch(Z){B.error(Z);return}B.error(z)},complete(){if(J.complete)try{J.complete()}catch(z){B.error(z);return}B.complete()}});return()=>s4(D)})}function k7(A){return(Q)=>new DA((B)=>{let J;try{B.next(A),J=Q.subscribe({next(D){B.next(D)},error(D){B.error(D)},complete(){B.complete()}})}catch(D){B.error(D)}return()=>{if(J)s4(J)}})}function nQ1(A){return(Q)=>new DA((B)=>{let J=0,D=Q.subscribe({next(z){if(J<A){if(B.next(z),J++,J===A)B.complete(),s4(D)}},error(z){B.error(z)},complete(){B.complete()}});return()=>{s4(D)}})}function l9(A){return(Q)=>{return new DA((B)=>{let J=0,D=null,z=!1,Z=()=>{if(z&&!D)B.complete()},G=Q.subscribe({next(X){if(D)s4(D),D=null;D=A(X,J++).subscribe({next(Y){B.next(Y)},error(Y){B.error(Y)},complete(){D=null,Z()}})},error(X){B.error(X)},complete(){z=!0,Z()}});return()=>{if(s4(G),D)s4(D)}})}}function CH(A){let Q={last:void 0,isSet:!1},B=A.subscribe((J)=>{Object.assign(Q,{last:J,isSet:!0})});return{value:Q,observable:A,subscription:B}}function jJ(A){return(Q)=>new DA((B)=>{let J=null,D=null,z=!1,Z=Q.subscribe({next:(G)=>{if(D=G,z=!0,J===null)J=setTimeout(()=>{if(z)B.next(D),z=!1;J=null},A)},error:(G)=>B.error(G),complete:()=>{if(J!==null)clearTimeout(J);if(z)B.next(D);B.complete()}});return()=>{if(s4(Z),J!==null)clearTimeout(J)}})}function sQ1(A,Q){if(!Q.leading||!Q.trailing)throw new Error("leading and trailing must be true");return(B)=>new DA((J)=>{let D=0,z=null,Z=null,G=!1,X=B.subscribe({next:(K)=>{let Y=Date.now();if(Z=K,G=!0,Y-D>=A)J.next(K),D=Y,G=!1;else if(z===null)z=setTimeout(()=>{if(G)J.next(Z),D=Date.now(),G=!1;z=null},A-(Y-D));if(D===0)J.next(K),D=Y,G=!1},error:(K)=>J.error(K),complete:()=>{if(z!==null)clearTimeout(z);if(G)J.next(Z);J.complete()}});return()=>{if(s4(X),z!==null)clearTimeout(z)}})}function EM(...A){return new DA((Q)=>{let B=0,J=null;function D(){if(B>=A.length){Q.complete();return}J=A[B].subscribe({next:(Z)=>Q.next(Z),error:(Z)=>Q.error(Z),complete:()=>{B++,D()}})}return D(),()=>{if(J)s4(J)}})}function HM(A){return(Q)=>new DA((B)=>{let J=0,D=!1,z=null,Z=Q.subscribe({next(G){try{let X=A(G,J++);if(z)s4(z);z=X.subscribe({next(K){B.next(K)},error(K){B.error(K)},complete(){if(z=null,D&&!z)B.complete()}})}catch(X){B.error(X)}},error(G){B.error(G)},complete(){if(D=!0,!z)B.complete()}});return()=>{if(s4(Z),z)s4(z)}})}function xx1({onSubscribe:A,onUnsubscribe:Q}){return(B)=>new DA((J)=>{A?.();let D=B.subscribe(J);return()=>{s4(D),Q?.()}})}function CU(A){return(Q)=>DA.from(Q).pipe(l9((B)=>e8((J)=>A(B,J))))}function fR(A){return(Q)=>new DA((B)=>{let J,D=Q.subscribe({next(z){B.next(z)},error(z){try{J=A(z).subscribe({next(G){B.next(G)},error(G){B.error(G)},complete(){B.complete()}})}catch(Z){B.error(Z)}},complete(){B.complete()}});return()=>{if(s4(D),J)s4(J)}})}function PJ(A){return(Q)=>{return new DA((B)=>{let J=Q.subscribe({next(D){if(A(D))B.next(D)},error(D){B.error(D)},complete(){B.complete()}});return()=>s4(J)})}}function hx1(A,Q){return(B)=>{return new DA((J)=>{let D,z=0,Z=new vR(J),G=B.subscribe({complete(){Z.complete()},error(X){Z.error(X)},next(X){Z.schedule(async(K)=>{D=await A(z===0?typeof Q==="undefined"?X:Q:D,X,z++),K(D)})}});return()=>s4(G)})}}var rQ1,Qv,P62,zzA=0,fx1;var oQ1=k1(()=>{Av();Sl();rQ1=new DA((A)=>{A.complete()}),Qv=new DA(()=>{});P62=Symbol("noInitialValue");fx1={}});function kl(A,Q){return(B)=>{return DA.from(B).pipe(l9((J)=>J===AY?DA.of(AY):A(J).pipe(fR((D)=>DA.of(D instanceof Error?D:new Error(D))),k7(AY))),t7(Q))}}function GzA(){return(A)=>DA.from(A).pipe(PJ((Q)=>Q!==AY))}async function mx1(A,Q){let B=await H6(DA.from(A).pipe(GzA()),Q);if(B instanceof Error)throw B;return B}var AY;var ux1=k1(()=>{Av();oQ1();AY=Symbol.for("@@pendingOperation")});var P6=k1(()=>{kx1();Av();ux1();oQ1();Sl()});function cx1(A){px1.setSource(A.pipe(t7()),!1)}var px1,e2;var AQ=k1(()=>{P6();px1=yx1();e2=px1.observable});function lx1(){if(typeof process==="object")return process.platform==="win32"?"windows":"posix";else if(typeof navigator==="object")return navigator.userAgent.indexOf("Windows")>=0?"windows":"posix";return"posix"}function dx1(A,Q){if(!A.scheme&&Q)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${A.authority}", path: "${A.path}", query: "${A.query}", fragment: "${A.fragment}"}`);if(A.scheme&&!XzA.test(A.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(A.path){if(A.authority){if(!KzA.test(A.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(YzA.test(A.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function qzA(A,Q){if(!A&&!Q)return"file";return A}function UzA(A,Q){switch(A){case"https":case"http":case"file":if(!Q)Q=zX;else if(Q[0]!==zX)Q=zX+Q;break}return Q}class v2{static isUri(A){if(A instanceof v2)return!0;if(!A)return!1;let Q=A;return typeof Q.authority==="string"&&typeof Q.fragment==="string"&&typeof Q.path==="string"&&typeof Q.query==="string"&&typeof Q.scheme==="string"&&typeof Q.fsPath==="string"&&typeof Q.with==="function"&&typeof Q.toString==="function"}scheme;authority;path;query;fragment;platform;constructor(A,Q,B,J,D,z=!1,Z){if(typeof A==="object")this.scheme=A.scheme||w4,this.authority=A.authority||w4,this.path=A.path||w4,this.query=A.query||w4,this.fragment=A.fragment||w4,this.platform=A.platform;else this.scheme=qzA(A,z),this.authority=Q||w4,this.path=UzA(this.scheme,B||w4),this.query=J||w4,this.fragment=D||w4,this.platform=Z,dx1(this,z)}get fsPath(){return sx1(this,!1)}with(A){if(!A)return this;let{scheme:Q,authority:B,path:J,query:D,fragment:z,platform:Z}=A;if(Q===void 0)Q=this.scheme;else if(Q===null)Q=w4;if(B===void 0)B=this.authority;else if(B===null)B=w4;if(J===void 0)J=this.path;else if(J===null)J=w4;if(D===void 0)D=this.query;else if(D===null)D=w4;if(z===void 0)z=this.fragment;else if(z===null)z=w4;if(Z===void 0)Z=this.platform;else if(Z===null)Z=void 0;if(Q===this.scheme&&B===this.authority&&J===this.path&&D===this.query&&z===this.fragment&&Z===this.platform)return this;return new wM(Q,B,J,D,z,!1,Z)}static parse(A,Q=!1){let B=FzA.exec(A);if(!B)return new wM(w4,w4,w4,w4,w4);return new wM(B[2]||w4,fl(B[4]||w4),fl(B[5]||w4),fl(B[7]||w4),fl(B[9]||w4),Q)}static file(A,Q=lx1()){let B=w4;if(Q==="windows")A=A.replace(/\\/g,zX);if(A[0]===zX&&A[1]===zX){let J=A.indexOf(zX,2);if(J===-1)B=A.substring(2),A=zX;else B=A.substring(2,J),A=A.substring(J)||zX}return new wM("file",B,A,w4,w4,!1,Q)}static from(A){let Q=new wM(A.scheme,A.authority,A.path,A.query,A.fragment,!0,A.platform);return dx1(Q,!0),Q}toString(A=!1){return tQ1(this,A)}toJSON(){return this}static revive(A){if(!A)return A;if(A instanceof v2)return A;let Q=new wM(A),B=A;return Q._formatted=B.external,Q._fsPath=B._sep===rx1(Q.platform)?B.fsPath:null,Q}}function rx1(A){return A==="windows"?1:void 0}function ix1(A,Q,B){let J=void 0;for(let D=0;D<A.length;D++){let z=A.charCodeAt(D);if(z>=97&&z<=122||z>=65&&z<=90||z>=48&&z<=57||z===45||z===46||z===95||z===126||Q&&z===47||B&&z===91||B&&z===93||B&&z===58){if(J!==void 0)J+=A.charAt(D)}else{if(J===void 0)J=A.substring(0,D);let Z=nx1[z];if(Z!==void 0)J+=Z;else J+=encodeURIComponent(A.charAt(D))}}return J!==void 0?J:A}function EzA(A){let Q=void 0;for(let B=0;B<A.length;B++){let J=A.charCodeAt(B);if(J===35||J===63){if(Q===void 0)Q=A.substring(0,B);Q+=nx1[J]}else if(Q!==void 0)Q+=A[B]}return Q!==void 0?Q:A}function sx1(A,Q){let B;if(A.authority&&A.path.length>1&&A.scheme==="file")B=`//${A.authority}${A.path}`;else if(A.path.charCodeAt(0)===47&&(A.path.charCodeAt(1)>=65&&A.path.charCodeAt(1)<=90||A.path.charCodeAt(1)>=97&&A.path.charCodeAt(1)<=122)&&A.path.charCodeAt(2)===58)if(!Q)B=A.path[1].toLowerCase()+A.path.substring(2);else B=A.path.substring(1);else B=A.path;if(A.platform==="windows")B=B.replace(/\//g,"\\");return B}function tQ1(A,Q){let B=!Q?ix1:EzA,J="",{scheme:D,authority:z,path:Z,query:G,fragment:X}=A;if(D)J+=D,J+=":";if(z||D==="file")J+=zX,J+=zX;if(z){let K=z.indexOf("@");if(K!==-1){let Y=z.substring(0,K);if(z=z.substring(K+1),K=Y.lastIndexOf(":"),K===-1)J+=B(Y,!1,!1);else J+=B(Y.substring(0,K),!1,!1),J+=":",J+=B(Y.substring(K+1),!1,!0);J+="@"}if(z=z.toLowerCase(),K=z.lastIndexOf(":"),K===-1)J+=B(z,!1,!0);else J+=B(z.substring(0,K),!1,!0),J+=z.substring(K)}if(Z){if(Z.length>=3&&Z.charCodeAt(0)===47&&Z.charCodeAt(2)===58){let K=Z.charCodeAt(1);if(K>=65&&K<=90)Z=`/${String.fromCharCode(K+32)}:${Z.substring(3)}`}else if(Z.length>=2&&Z.charCodeAt(1)===58){let K=Z.charCodeAt(0);if(K>=65&&K<=90)Z=`${String.fromCharCode(K+32)}:${Z.substring(2)}`}J+=B(Z,!0,!1)}if(G)J+="?",J+=B(G,!1,!1);if(X)J+="#",J+=!Q?ix1(X,!1,!1):X;return J}function ox1(A){try{return decodeURIComponent(A)}catch{if(A.length>3)return A.substring(0,3)+ox1(A.substring(3));else return A}}function fl(A){if(!A.match(ax1))return A;return A.replace(ax1,(Q)=>ox1(Q))}function WM(A){return A.scheme==="file"}function Bv(A){return v2.parse(A)}function A9(A){return A.toString()}function UB(A){if(typeof A==="string"||A instanceof URL)return v2.parse(A.toString());return A}var XzA,KzA,YzA,w4="",zX="/",FzA,wM,nx1,ax1;var yl=k1(()=>{XzA=/^\w[\w\d+.-]*$/,KzA=/^\//,YzA=/^\/\//;FzA=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;wM=class wM extends v2{_formatted=null;_fsPath=null;get fsPath(){if(!this._fsPath)this._fsPath=sx1(this,!1);return this._fsPath}toString(A=!1){if(!A){if(!this._formatted)this._formatted=tQ1(this,!1);return this._formatted}return tQ1(this,!0)}toJSON(){let A={};if(this._fsPath)A.fsPath=this._fsPath,A._sep=rx1(this.platform);if(this._formatted)A.external=this._formatted;if(A.scheme=this.scheme,A.authority=this.authority,A.path=this.path,A.query=this.query,A.fragment=this.fragment,this.platform)A.platform=this.platform;return A}};nx1={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};ax1=/(%[0-9A-Za-z][0-9A-Za-z])+/g});function eQ1(A){if(A==="/")return"/";if(A==="")return".";let Q=A.replace(/\/+$/,"");if(!Q)return".";let B=Q.lastIndexOf("/");if(B===-1)return".";if(B===0)return"/";return Q.slice(0,B)}function IM(A){let Q=A.replace(/\/+$/,"");if(!Q)return"";let B=Q.lastIndexOf("/");return B===-1?Q:Q.slice(B+1)}function bl(...A){if(A.length===0)return".";let Q="";for(let Z of A)if(Z)if(Q)Q+="/"+Z;else Q=Z;if(!Q)return".";let B=Q.endsWith("/"),J=Q.split("/").filter(Boolean),D=[];for(let Z of J)if(Z===".."){if(D.length>0&&D[D.length-1]!=="..")D.pop();else if(!Q.startsWith("/"))D.push("..")}else if(Z!==".")D.push(Z);let z=Q.startsWith("/")?"/"+D.join("/"):D.join("/");if(!z)z=Q.startsWith("/")?"/":".";if(B&&z!=="/"&&z!==".")z+="/";return z}function tx1(A,Q,B="/",J="/",D=!0){function z(q,F){return D?q===F:q.toLowerCase()===F.toLowerCase()}if(B==="/")A=A.replaceAll(/\/{2,}/g,"/"),Q=Q.replaceAll(/\/{2,}/g,"/");else A=A.replaceAll(/\\{2,}/g,"\\"),Q=Q.replaceAll(/\\{2,}/g,"\\");if(A!==B&&A.endsWith(B))A=A.slice(0,-1);if(Q!==B&&Q.endsWith(B))Q=Q.slice(0,-1);if(z(A,Q))return"";if(!A.startsWith(B)&&Q.startsWith(B))return Q;let Z=A===B?[""]:A.split(B),G=Q===B?[""]:Q.split(B),X=0;while(X<Z.length&&X<G.length&&z(Z[X],G[X]))X++;let K=Z.length-X,Y=[];for(let q=0;q<K;q++)Y.push("..");return Y.push(...G.slice(X)),Y.join(J)}function gl(A){let Q=IM(A.replace(/\/+$/,"")),B=Q.lastIndexOf(".");if(B===0||B===-1)return"";return Q.slice(B)}function xl(A){if(A=UB(A),A.scheme==="file")return A.path;return A.toString()}var Jv=k1(()=>{yl()});function HzA(A,...Q){return A=UB(A),A.with({path:bl(A.path,...Q)})}function wzA(A,...Q){let B=A.path,J=!1;if(B[0]!==hl)B=hl+B,J=!0;let D=B;for(let z of Q)if(z.startsWith("/"))D=bl(z);else D=bl(D,z);if(D!=="/"&&D.endsWith("/"))D=D.replace(/\/+$/,"");if(J&&D[0]===hl&&!A.authority)D=D.substring(1);return A.with({path:D})}function WzA(A){if(A=UB(A),A.path.length===0||A.path===hl)return A;let Q=eQ1(A.path);if(Q.length===1&&Q===".")Q="";return A.with({path:Q})}function IzA(A,Q){if(Q.scheme!==A.scheme||(Q.authority??"")!==(A.authority??""))return!1;let B=Q.scheme==="file"&&Q.path.match(/^\/[A-Za-z]:/),J=B?Q.path.slice(0,2).toUpperCase()+Q.path.slice(2):Q.path,D=B?A.path.slice(0,2).toUpperCase()+A.path.slice(2):A.path;return D===J||D.startsWith(J.endsWith("/")?J:`${J}/`)||J.endsWith("/")&&D===J.slice(0,-1)}function MzA(A,Q){if(A.scheme!==Q.scheme||A.authority!==Q.authority||A.query!==Q.query||A.fragment!==Q.fragment)return null;let B=A.platform==="windows"?"\\":"/";return tx1(A.path,Q.path,B,B)}function NzA(A,Q){let B=A9(A),J=A9(Q);if(B.startsWith("file:///")&&J.startsWith("file:///"))return ex1(B)===ex1(J);return B===J}function ex1(A){return A.replace(/^file:\/\/\/([A-Za-z]):/,(Q)=>`file:///${Q.toLowerCase()}:`)}var hl="/",k2;var AB1=k1(()=>{Jv();yl();k2={joinPath:HzA,resolvePath:wzA,dirname:WzA,basename:(A)=>IM(A.path),extname:(A)=>gl(A.path),hasPrefix:IzA,relativePath:MzA,equalURIs:NzA}});var _4=k1(()=>{yl();AB1();Jv()});function BB1(A,Q){let B=CzA(A,Q);return typeof B==="string"?B:B.toString()}function CzA(A,Q,B=!0){if(!Q)Q=VzA();let{workspaceFolders:J,isWindows:D,homeDir:z}=Q,Z=typeof A==="string"?v2.parse(A):v2.from(A),G=B&&J.length>=2;for(let X of J){let K=UB(X);if(k2.hasPrefix(Z,K)){let Y=K.path.endsWith("/")?K.path.slice(0,-1):K.path,q=G?IM(K.path)+(D?"\\":"/"):"";return QB1(q+Z.path.slice(Y.length+1),D,Z.scheme)}}if(Z?.scheme==="file"){if(z){let X=UB(z);if(k2.hasPrefix(Z,X)){let K=X.path.endsWith("/")?X.path.slice(0,-1):X.path,Y=Z.path.slice(K.length+1);return QB1("~"+(D?"\\":"/")+Y,D,Z.scheme)}}return QB1(Z.fsPath,D,Z.scheme)}return Z}function QB1(A,Q,B){return Q&&B==="file"?A.replaceAll("/","\\"):A}function Ah1(A){let Q=ml;return ml=A,Q}function VzA(){if(ml)return ml;throw new Error("must call setDisplayPathEnvInfo before calling displayPath() and related functions")}var ml=null;var JB1=k1(()=>{_4();Jv();AB1()});function Dv({onlyFirst:A=!1}={}){let B=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(B,A?void 0:"g")}function MM(A){if(typeof A!=="string")throw new TypeError(`Expected a \`string\`, got \`${typeof A}\``);return A.replace(OzA,"")}var OzA;var ul=k1(()=>{OzA=Dv()});var Bh1=t((K22,DB1)=>{var VH={};if(typeof DB1=="undefined")window.eastasianwidth=VH;else DB1.exports=VH;VH.eastAsianWidth=function(A){var Q=A.charCodeAt(0),B=A.length==2?A.charCodeAt(1):0,J=Q;if(55296<=Q&&Q<=56319&&(56320<=B&&B<=57343))Q&=1023,B&=1023,J=Q<<10|B,J+=65536;if(J==12288||65281<=J&&J<=65376||65504<=J&&J<=65510)return"F";if(J==8361||65377<=J&&J<=65470||65474<=J&&J<=65479||65482<=J&&J<=65487||65490<=J&&J<=65495||65498<=J&&J<=65500||65512<=J&&J<=65518)return"H";if(4352<=J&&J<=4447||4515<=J&&J<=4519||4602<=J&&J<=4607||9001<=J&&J<=9002||11904<=J&&J<=11929||11931<=J&&J<=12019||12032<=J&&J<=12245||12272<=J&&J<=12283||12289<=J&&J<=12350||12353<=J&&J<=12438||12441<=J&&J<=12543||12549<=J&&J<=12589||12593<=J&&J<=12686||12688<=J&&J<=12730||12736<=J&&J<=12771||12784<=J&&J<=12830||12832<=J&&J<=12871||12880<=J&&J<=13054||13056<=J&&J<=19903||19968<=J&&J<=42124||42128<=J&&J<=42182||43360<=J&&J<=43388||44032<=J&&J<=55203||55216<=J&&J<=55238||55243<=J&&J<=55291||63744<=J&&J<=64255||65040<=J&&J<=65049||65072<=J&&J<=65106||65108<=J&&J<=65126||65128<=J&&J<=65131||110592<=J&&J<=110593||127488<=J&&J<=127490||127504<=J&&J<=127546||127552<=J&&J<=127560||127568<=J&&J<=127569||131072<=J&&J<=194367||177984<=J&&J<=196605||196608<=J&&J<=262141)return"W";if(32<=J&&J<=126||162<=J&&J<=163||165<=J&&J<=166||J==172||J==175||10214<=J&&J<=10221||10629<=J&&J<=10630)return"Na";if(J==161||J==164||167<=J&&J<=168||J==170||173<=J&&J<=174||176<=J&&J<=180||182<=J&&J<=186||188<=J&&J<=191||J==198||J==208||215<=J&&J<=216||222<=J&&J<=225||J==230||232<=J&&J<=234||236<=J&&J<=237||J==240||242<=J&&J<=243||247<=J&&J<=250||J==252||J==254||J==257||J==273||J==275||J==283||294<=J&&J<=295||J==299||305<=J&&J<=307||J==312||319<=J&&J<=322||J==324||328<=J&&J<=331||J==333||338<=J&&J<=339||358<=J&&J<=359||J==363||J==462||J==464||J==466||J==468||J==470||J==472||J==474||J==476||J==593||J==609||J==708||J==711||713<=J&&J<=715||J==717||J==720||728<=J&&J<=731||J==733||J==735||768<=J&&J<=879||913<=J&&J<=929||931<=J&&J<=937||945<=J&&J<=961||963<=J&&J<=969||J==1025||1040<=J&&J<=1103||J==1105||J==8208||8211<=J&&J<=8214||8216<=J&&J<=8217||8220<=J&&J<=8221||8224<=J&&J<=8226||8228<=J&&J<=8231||J==8240||8242<=J&&J<=8243||J==8245||J==8251||J==8254||J==8308||J==8319||8321<=J&&J<=8324||J==8364||J==8451||J==8453||J==8457||J==8467||J==8470||8481<=J&&J<=8482||J==8486||J==8491||8531<=J&&J<=8532||8539<=J&&J<=8542||8544<=J&&J<=8555||8560<=J&&J<=8569||J==8585||8592<=J&&J<=8601||8632<=J&&J<=8633||J==8658||J==8660||J==8679||J==8704||8706<=J&&J<=8707||8711<=J&&J<=8712||J==8715||J==8719||J==8721||J==8725||J==8730||8733<=J&&J<=8736||J==8739||J==8741||8743<=J&&J<=8748||J==8750||8756<=J&&J<=8759||8764<=J&&J<=8765||J==8776||J==8780||J==8786||8800<=J&&J<=8801||8804<=J&&J<=8807||8810<=J&&J<=8811||8814<=J&&J<=8815||8834<=J&&J<=8835||8838<=J&&J<=8839||J==8853||J==8857||J==8869||J==8895||J==8978||9312<=J&&J<=9449||9451<=J&&J<=9547||9552<=J&&J<=9587||9600<=J&&J<=9615||9618<=J&&J<=9621||9632<=J&&J<=9633||9635<=J&&J<=9641||9650<=J&&J<=9651||9654<=J&&J<=9655||9660<=J&&J<=9661||9664<=J&&J<=9665||9670<=J&&J<=9672||J==9675||9678<=J&&J<=9681||9698<=J&&J<=9701||J==9711||9733<=J&&J<=9734||J==9737||9742<=J&&J<=9743||9748<=J&&J<=9749||J==9756||J==9758||J==9792||J==9794||9824<=J&&J<=9825||9827<=J&&J<=9829||9831<=J&&J<=9834||9836<=J&&J<=9837||J==9839||9886<=J&&J<=9887||9918<=J&&J<=9919||9924<=J&&J<=9933||9935<=J&&J<=9953||J==9955||9960<=J&&J<=9983||J==10045||J==10071||10102<=J&&J<=10111||11093<=J&&J<=11097||12872<=J&&J<=12879||57344<=J&&J<=63743||65024<=J&&J<=65039||J==65533||127232<=J&&J<=127242||127248<=J&&J<=127277||127280<=J&&J<=127337||127344<=J&&J<=127386||917760<=J&&J<=917999||983040<=J&&J<=1048573||1048576<=J&&J<=1114109)return"A";return"N"};VH.characterLength=function(A){var Q=this.eastAsianWidth(A);if(Q=="F"||Q=="W"||Q=="A")return 2;else return 1};function Qh1(A){return A.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}VH.length=function(A){var Q=Qh1(A),B=0;for(var J=0;J<Q.length;J++)B=B+this.characterLength(Q[J]);return B};VH.slice=function(A,Q,B){if(textLen=VH.length(A),Q=Q?Q:0,B=B?B:1,Q<0)Q=textLen+Q;if(B<0)B=textLen+B;var J="",D=0,z=Qh1(A);for(var Z=0;Z<z.length;Z++){var G=z[Z],X=VH.length(G);if(D>=Q-(X==2?1:0))if(D+X<=B)J+=G;else break;D+=X}return J}});var zB1=t((Y22,Jh1)=>{Jh1.exports=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g}});function uB(A,Q){if(typeof A!=="string"||A.length===0)return 0;if(Q={ambiguousIsNarrow:!0,countAnsiEscapeCodes:!1,...Q},!Q.countAnsiEscapeCodes)A=MM(A);if(A.length===0)return 0;let B=Q.ambiguousIsNarrow?1:2,J=0;for(let{segment:D}of new Intl.Segmenter().segment(A)){let z=D.codePointAt(0);if(z<=31||z>=127&&z<=159)continue;if(z>=768&&z<=879)continue;if(zh1.default().test(D)){J+=2;continue}switch(Dh1.default.eastAsianWidth(D)){case"F":case"W":{J+=2;break}case"A":{J+=B;break}default:J+=1}}return J}var Dh1,zh1;var pl=k1(()=>{ul();Dh1=hA(Bh1(),1),zh1=hA(zB1(),1)});function cl(A,Q,B,J="..."){if(Q<=B)return A;let D=B-J.length,z=0,Z=0,G=0;for(let X=0;X<A.length;X++)if(A[X]==="\x1B"||A[X]==="\x1B"){let K=X+1;while(K<A.length&&A[K-1]!=="m")K++;X=K-1}else{let K=uB(A[X]);if(z=z+K,z===D){Z=X;break}else if(z>D){Z=G;break}else G=X}if(Z>0)return A.substring(0,Z+1)+J;return A}var Zh1=k1(()=>{pl()});var Gh1="run_terminal_command",zv="read_file",U5="Task",Xh1="chat_llm",_J="codebase_search_agent",CZ="get_diagnostics",Z4="Bash",ZX="oracle",VU="mermaid",Oz="todo_read",c5="todo_write",OU="read_web_page",Kh1="run_javascript",Yh1="summarize_git_diff",VZ="create_file",OZ="glob",yR="undo_edit",d9="Read",SJ="edit_file",OH="format_file",GX="list_directory",ll="web_search",t4="Grep";var Uh1;var qh1=k1(()=>{Uh1={name:"amp",description:"An agentic coding tool, in research preview from Sourcegraph.",private:!0,displayName:"Amp (Research Preview)",version:"0.0.0-dev",publisher:"sourcegraph",license:"Apache-2.0",categories:["AI","Chat","Programming Languages","Machine Learning"],keywords:["sourcegraph","amp","amp code","ampcode","ai","assistant","llm","Claude","Claude Sonnet 4","Claude Sonnet"],icon:"./resources/amp-icon.png",scripts:{dev:"pnpm run -s dev:desktop","dev:insiders":"pnpm run -s dev:desktop:insiders","start:dev:desktop":"node scripts/start-dev.js","start:dev:desktop:insiders":"node scripts/start-dev.js --insiders","start:dev:web":"vscode-test-web --extensionDevelopmentPath=. --browserOption=--disable-web-security --verbose --open-devtools --verbose --printServerLog","start:dev:debugger":"pnpm run -s build:dev:desktop && pnpm run -s ./src/autoedit/webview dev","dev:desktop":"pnpm run -s build:dev:desktop && pnpm run start:dev:desktop","dev:desktop:insiders":"pnpm run -s build:dev:desktop && pnpm run start:dev:desktop:insiders","build:dev:desktop":"vite build",build:"pnpm run -s _build:extension && concurrently 'pnpm run -s _build:debugger' 'pnpm run -s _build:web'","build:production":"pnpm run -s _build:extension:production && concurrently 'pnpm run -s _build:debugger:production' 'pnpm run -s _build:web:production'","_build:extension":"vite build","_build:extension:production":"cross-env NODE_ENV=production vite build","_build:web":"pnpm -C ../web run build && cp -R ../web/build dist/web-build","_build:web:production":"pnpm -C ../web run build:production && cp -R ../web/build dist/web-build","_build:debugger":"pnpm -C ./src/autoedit/webview run build && cp -R ./src/autoedit/webview/build dist/autoedit","_build:debugger:production":"cross-env NODE_ENV=production pnpm -C ./src/autoedit/webview run build && cp -R ./src/autoedit/webview/build dist/autoedit","build:icon-font":"npx -y svgtofont --sources ./icon-font/svg --output ./icon-font/build && cp ./icon-font/build/amp-icons.woff ./resources","dev:forks":"pnpm dev:vsix && cursor --install-extension dist/amp-dev.vsix --force && windsurf --install-extension dist/amp-dev.vsix --force","dev:vsix":"vite build && pnpm run -s _build:web && pnpm run -s _build:debugger && vsce package --no-dependencies --pre-release --out dist/amp-dev.vsix && code --install-extension dist/amp-dev.vsix --force","dev:insiders:vsix":"vite build && pnpm run -s _build:web && vsce package --no-dependencies --pre-release --out dist/amp-dev.vsix && code-insiders --install-extension dist/amp-dev.vsix --force",test:"vitest run","test:dev":"vitest"},homepage:"https://ampcode.com",repository:{type:"git",url:"https://github.com/sourcegraph/amp",directory:"vscode"},author:{name:"The Amp Team at Sourcegraph",email:"amp-devs@sourcegraph.com"},engines:{vscode:"^1.79.0",node:">=22.0.0"},main:"./dist/extension.node.js",activationEvents:["onStartupFinished"],contributes:{viewsContainers:{activitybar:[{id:"sourcegraph-amp",title:"Amp",icon:"./resources/amp-mark.svg"}]},views:{"sourcegraph-amp":[{type:"webview",id:"amp.sidebarView",name:"Amp",icon:"./resources/amp-mark.svg",visibility:"visible"}]},commands:[{command:"amp.agent.newThread",title:"New Thread",category:"Amp",icon:"$(add)"},{command:"amp.agent.newWindow",title:"New Agent Window",category:"Amp",icon:"$(browser)",enablement:"amp.activated"},{command:"amp.agent.toggleVisibility",title:"Toggle Agent",category:"Amp"},{command:"amp.agent.focusPromptEditor",title:"Focus Prompt Editor",category:"Amp"},{command:"amp.agent.addSelectionToPromptEditor",title:"Add Selection to Prompt",category:"Amp",enablement:"editorHasSelection"},{command:"amp.agent.setPromptFromRecentActions",title:"Create Prompt from Recent Actions",category:"Amp"},{command:"amp.agent.findInThread",title:"Find in Thread",category:"Amp",enablement:"amp.agent.active"},{command:"amp.agent.collapseAllInThread",title:"Collapse All Blocks in Thread",category:"Amp"},{command:"amp.agent.expandAllInThread",title:"Expand All Blocks in Thread",category:"Amp"},{command:"amp.agent.expandToggleInThread",title:"Toggle Expand All Blocks in Thread",category:"Amp"},{command:"amp.agent.toggleThreadSwitcher",title:"Switch to Thread...",category:"Amp",enablement:"amp.agent.active"},{command:"amp.agent.navigateThreadPrevious",title:"Navigate to Previous Thread",category:"Amp",enablement:"amp.agent.active && amp.agent.activeView == 'sidebar'"},{command:"amp.agent.navigateThreadNext",title:"Navigate to Next Thread",category:"Amp",enablement:"amp.agent.active && amp.agent.activeView == 'sidebar'"},{command:"amp.openThreadJSON",title:"Open Thread JSON",category:"Amp",enablement:"amp.isDevelopmentMode"},{command:"amp.testThreadSummary",title:"Test Thread Summary",category:"Amp",enablement:"amp.isDevelopmentMode"},{command:"amp.tab.quickPickMenu",title:"Show Tab Menu",category:"Amp",icon:"$(debug)",enablement:"amp.activated"},{command:"amp.tab.showDebugPanel",title:"Show Amp Tab Debug Panel",category:"Amp",icon:"$(debug)",enablement:"amp.activated && config.amp.tab.enabled"},{command:"amp.tab.manualTrigger",title:"Amp Tab Manual Trigger",category:"Amp",enablement:"amp.activated && config.amp.tab.enabled"},{command:"amp.tab.toggleForCurrentDocument",title:"Toggle Amp Tab for Current Document",category:"Amp",enablement:"amp.activated && config.amp.tab.enabled"},{command:"amp.tab.debugInfo",title:"Open Amp Tab Debug Info",category:"Amp",enablement:"amp.activated && config.amp.tab.enabled"},{command:"amp.mcp.restartServers",title:"Restart MCP Servers",category:"Amp"},{command:"amp.tab.clearStuckDecorations",title:"Amp Tab Clear Stuck Decorations",category:"Amp"}],menus:{"editor/context":[{command:"amp.agent.addSelectionToPromptEditor",when:"editorHasSelection",group:"amp@1"}]},keybindings:[{command:"amp.agent.newThread",key:"ctrl+l",mac:"cmd+l",when:"amp.primaryShortcuts"},{command:"amp.agent.newThread",key:"ctrl+alt+j",mac:"cmd+alt+j",when:"!amp.primaryShortcuts"},{command:"amp.agent.newWindow",key:"ctrl+shift+l",mac:"cmd+shift+l"},{command:"amp.agent.toggleVisibility",key:"ctrl+i",mac:"cmd+i",when:"amp.primaryShortcuts"},{command:"amp.agent.toggleVisibility",key:"ctrl+alt+u",mac:"cmd+alt+u",when:"!amp.primaryShortcuts"},{command:"amp.agent.findInThread",key:"ctrl+f",mac:"cmd+f",when:"amp.agent.active"},{command:"amp.agent.toggleThreadSwitcher",key:"ctrl+k",mac:"cmd+k",when:"amp.agent.active"},{command:"amp.agent.navigateThreadPrevious",key:"ctrl+shift+[",mac:"cmd+shift+[",when:"amp.agent.active && amp.agent.activeView == 'sidebar'"},{command:"amp.agent.navigateThreadNext",key:"ctrl+shift+]",mac:"cmd+shift+]",when:"amp.agent.active && amp.agent.activeView == 'sidebar'"},{command:"-extension.vim_tab",key:"tab",when:"editorTextFocus && vim.active && vim.mode != 'Insert' && !inlineEditIsVisible && !inDebugRepl"},{command:"-vscode-neovim.send",key:"tab",when:"neovim.init && (editorTextFocus && neovim.mode != insert && editorLangId not in neovim.editorLangIdExclusions || neovim.recording)"},{command:"amp.tab.accept",key:"tab",when:"editorTextFocus && amp.activated && amp.tab.active && !amp.nextCursorSuggested && !amp.editorHasMultipleLineSelection"},{command:"amp.tab.dismiss",key:"escape",when:"editorTextFocus && amp.activated && amp.tab.active && !amp.nextCursorSuggested && !suggestWidgetVisible && !amp.editorHasMultipleLineSelection"},{command:"amp.nextCursor.accept",key:"tab",when:"editorTextFocus && amp.activated && amp.nextCursorSuggested && !amp.editorHasMultipleLineSelection"},{command:"amp.nextCursor.discard",key:"escape",when:"editorTextFocus && amp.activated && amp.nextCursorSuggested && !suggestWidgetVisible && !amp.editorHasMultipleLineSelection"},{command:"amp.autoImport.accept",key:"tab",when:"editorTextFocus && amp.activated && config.amp.tab.enabled && amp.autoImportSuggested && !amp.editorHasMultipleLineSelection"},{command:"amp.autoImport.discard",key:"escape",when:"editorTextFocus && amp.activated && config.amp.tab.enabled && amp.autoImportSuggested && !amp.editorHasMultipleLineSelection"}],configuration:{type:"object",title:"Amp",properties:{"amp.url":{type:"string",examples:["https://ampcode.com/"],description:"URL to the Amp server, usually https://ampcode.com/",scope:"application"},"amp.notifications.enabled":{type:"boolean",default:!0,description:"Play notification sound when done or blocked",scope:"window"},"amp.mcpServers":{type:"object",description:"Model Context Protocol servers that expose tools",additionalProperties:{type:"object",oneOf:[{properties:{command:{type:"string"},args:{type:"array",items:{type:"string"}},env:{type:"object",additionalProperties:{type:"string"}}},required:["command"]},{properties:{url:{type:"string"}},required:["url"]}]}},"amp.tools.disable":{type:"array",description:"Disable specific tools by name.",items:{type:"string"},default:[]},"amp.experimental.tools":{type:"array",description:"Enable experimental tools by name. Available tools: chat_llm",items:{type:"string"},default:[],scope:"application"},"amp.dangerouslyAllowAll":{type:"boolean",description:"If true, never ask for confirmation when running commands",scope:"window",default:!1},"amp.commands.allowlist":{type:"array",description:'Run specific terminal commands without waiting for user confirmation. Each item in the array is a prefix. For example, "curl https://localhost:8080" means that command and any command that starts with that prefix can be run without user confirmation.',items:{type:"string"},default:[],scope:"window",markdownDeprecationMessage:"This setting is deprecated, please use `#amp.commandApproval.allow#` to configure your allowlist."},"amp.commands.strict":{type:"boolean",default:!1,description:"Enable strict command validation. When disabled, certain commands like Bazel get relaxed path validation.",scope:"application",markdownDeprecationMessage:"This setting is deprecated, please use `#amp.commandApproval.allow#` and `#amp.commandApproval.deny#` to configure command approvals."},"amp.anthropic.thinking.enabled":{type:"boolean",default:!0,description:"Enable Claude's extended thinking capabilities",scope:"application"},"amp.terminal.commands.hide":{type:"boolean",default:!0,description:"Whether to hide the integrated VS Code terminal by default when starting commands",scope:"application"},"amp.tools.stopTimeout":{type:"number",default:300,description:"How many seconds to wait before canceling a running tool.",scope:"application"},"amp.terminal.commands.nodeSpawn.loadProfile":{type:"string",enum:["always","never","daily"],default:"always",description:"Before running commands (including MCP servers), whether to load environment variables from the user's profile (.bashrc, .zshrc, .envrc) as visible from the workspace root directory.",scope:"application"},"amp.todos.enabled":{type:"boolean",default:!0,description:"Enable TODOs tracking for managing tasks",scope:"application"},"amp.hooks":{type:"array",scope:"window",description:"[Experimental] Hooks are event handlers that can react to specific conditions.",items:{type:"object",properties:{compatibilityDate:{type:"string",const:"2025-05-13",default:"2025-05-13",description:"The version of the hook schema that this value was written to conform to"},id:{type:"string",description:"A unique identifier for the hook",examples:["run-vitest-with-env-vars"]},description:{type:"string",description:"A description of the hook"},on:{oneOf:[{type:"object",properties:{event:{type:"string",const:"tool:pre-execute",default:"tool:pre-execute",description:"Trigger when a tool is about to be executed"},tool:{oneOf:[{type:"string",description:"Tool name to match (e.g., 'edit_file')"},{type:"array",items:{type:"string"},description:"Tool names to match"}],description:"Trigger for the given tool name(s)"},"input.contains":{oneOf:[{type:"string",description:"String pattern to match in the tool input"},{type:"array",items:{type:"string"},description:"String patterns to match in the tool input"}],description:"Trigger only when the tool input contains the given literal string or strings"}},required:["event","tool","input.contains"]},{type:"object",properties:{event:{type:"string",const:"tool:post-execute",default:"tool:post-execute",description:"Trigger after a tool has been executed"},tool:{oneOf:[{type:"string",description:"Tool name to match (e.g., 'edit_file')"},{type:"array",items:{type:"string"},description:"Tool names to match"}],description:"Trigger for the given tool name(s)"}},required:["event","tool"]}]},action:{oneOf:[{type:"object",properties:{type:{type:"string",const:"send-user-message",default:"send-user-message",description:"Send a user message to interrupt the agent and cancel the tool call in the `tool:pre-execute` trigger before it starts to run"},message:{type:"string",description:"The text of the message to send"}},required:["type","message"]},{type:"object",properties:{type:{type:"string",const:"redact-tool-input",default:"redact-tool-input",description:"Redact the tool input after execution. Only allowed with `tool:post-execute` event."},redactedInput:{type:"object",description:"The replacement input data to use instead of the original tool input (must be an object)"}},required:["type","redactedInput"]}]},if:{type:"boolean",description:"A condition that determines whether the hook should be executed",default:!0}},required:["compatibilityDate","id","on","action"]},default:[]},"amp.tab.enabled":{type:"boolean",default:!1,description:"Enable Amp Tab",scope:"application"},"amp.tab.verboseLogs":{type:"boolean",default:!1,description:"Enable verbose logging for Amp Tab",scope:"application"},"amp.debugLogs":{type:"boolean",default:!1,description:"Enable debug logging in the Amp output channel",scope:"application"},"amp.tab.disabledLanguages":{type:"array",items:{type:"string"},default:[],examples:["markdown","python"],description:"List of language IDs for which Amp Tab is disabled",scope:"application"},"amp.tab.disableOnComment":{type:"boolean",default:!1,description:"Disable Amp Tab completions on comment lines",scope:"application"},"amp.tab.autoImport.enabled":{type:"boolean",default:!0,description:"Enable auto import in Amp Tab",scope:"application"},"amp.tab.dimissCommandIds":{type:"array",items:{type:"string"},default:["extension.vim_escape","vim.escape","vscode-neovim.escape","vscode-neovim.escapeKey"],description:"Command IDs to run when Escape is pressed to dismiss an Amp Tab suggestion",scope:"application"},"amp.experimental.connections":{type:"boolean",default:!1,description:"Enable external connections to provide additional tools to Amp",scope:"application"},"amp.experimental.fuzzySearch.enabled":{type:"boolean",default:!1,description:"Enable new fuzzy file search implementation using core FuzzyService. Provides better performance and accuracy for large repositories, but may use more memory during indexing.",scope:"window"},"amp.ui.zoomLevel":{type:"number",default:1,description:"Zoom level for the Amp UI",scope:"application"},"amp.experimental.reviewTool":{type:"boolean",default:!1,description:"Experimental: Enable the summarize_git_diff tool.",scope:"application"},"amp.summary.provider":{type:"string",enum:["anthropic","gemini"],default:"gemini",description:"Experimental: change summary provider.",scope:"application"},"amp.experimental.commandApproval.enabled":{type:"boolean",default:!0,description:"Enable experimental command approval system",scope:"window",markdownDeprecationMessage:"This feature is not experimental anymore and enabled by default."},"amp.experimental.commandApproval.allow":{type:"array",items:{type:"string"},default:[],description:"Exact command prefixes that are automatically approved without user confirmation",scope:"window",markdownDeprecationMessage:"This feature is not experimental anymore. Please use `#amp.commandApproval.allow#` instead"},"amp.experimental.commandApproval.deny":{type:"array",items:{type:"string"},default:[],description:"Exact command prefixes that are automatically denied without user confirmation",scope:"window",markdownDeprecationMessage:"This feature is not experimental anymore. Please use `#amp.commandApproval.deny#` instead"},"amp.commandApproval.allow":{type:"array",items:{type:"string"},default:[],description:"Exact command prefixes that are automatically approved without user confirmation",scope:"window"},"amp.commandApproval.deny":{type:"array",items:{type:"string"},default:[],description:"Exact command prefixes that are automatically denied without user confirmation",scope:"window"},"amp.git.commit.coauthor.enabled":{type:"boolean",default:!0,description:"Enable adding Amp as co-author in git commits",scope:"window"},"amp.git.commit.ampThread.enabled":{type:"boolean",default:!0,description:"Enable adding Amp-Thread trailer in git commits",scope:"window"}}},icons:{"amp-agent-file":{description:"Amp agent file",default:{fontPath:"resources/amp-icons.woff",fontCharacter:"\\0041"}}}},capabilities:{untrustedWorkspaces:{supported:"limited",description:"Amp only uses MCP servers from trusted workspaces because they execute code.",restrictedConfigurations:["amp.mcpServers","amp.url","amp.anthropic.baseURL","amp.commands.allowlist"]},virtualWorkspaces:{supported:!1,description:"Amp is not supported in virtual workspaces like GitHub.dev because Amp requires local file system access and terminal capabilities."}},dependencies:{"@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.57.2","@opentelemetry/core":"^1.30.1","@opentelemetry/exporter-logs-otlp-http":"^0.57.2","@opentelemetry/exporter-metrics-otlp-http":"^0.57.2","@opentelemetry/exporter-trace-otlp-http":"^0.57.2","@opentelemetry/resources":"^1.30.1","@opentelemetry/sdk-logs":"^0.57.2","@opentelemetry/sdk-metrics":"^1.30.1","@opentelemetry/sdk-node":"^0.57.2","@opentelemetry/sdk-trace-base":"^1.30.1","@opentelemetry/sdk-trace-node":"^1.30.1","@opentelemetry/semantic-conventions":"^1.34.0","@sourcegraph/amp-core":"workspace:*","@sourcegraph/observable":"workspace:*","@sourcegraph/amp-uri":"workspace:*","canvaskit-wasm":"^0.40.0","detect-indent":"^7.0.1","fast-json-stable-stringify":"^2.1.0","fast-myers-diff":"^3.2.0","fast-xml-parser":"^5.2.3",lodash:"^4.17.21","lru-cache":"^11.1.0","node-fetch":"^3.3.2",shiki:"1.26.1",uuid:"^11.1.0","vscode-languageserver-textdocument":"^1.0.12"},devDependencies:{"@sourcegraph/amp-web":"workspace:*","@types/jest-image-snapshot":"^6.4.0","@types/lodash":"^4.17.15","@types/uuid":"^10.0.0","@types/vscode":"^1.79.0","@vscode/test-electron":"^2.4.1","@vscode/test-web":"*","@vscode/vsce":"^3.2.2","cross-env":"^7.0.3","crypto-browserify":"^3.12.1","jest-image-snapshot":"^6.5.0","os-browserify":"^0.3.0","path-browserify":"^1.0.1","rollup-plugin-polyfill-node":"^0.13.0",tsx:"^4.19.4","vite-plugin-static-copy":"^3.0.0"}}});function Fh1(){let A=LzA["amp.tools.stopTimeout"].default;return A*1000}function TzA(){throw new Error("requireVscode() called outside VS Code")}var LzA;var Eh1=k1(()=>{qh1();LzA=Uh1.contributes.configuration.properties});function Hh1(A,Q){return new DA((B)=>{let J=setTimeout(D,Q);function D(){B.next({status:"error",error:{message:`Tool execution timed out after ${Q/1000} seconds`}}),B.complete()}function z(){if(J)clearTimeout(J);J=setTimeout(D,Q)}let Z=A.subscribe({next:(G)=>{z(),B.next(G)},error:(G)=>{if(J)clearTimeout(J),J=null;B.error(G)},complete:()=>{if(J)clearTimeout(J),J=null;B.complete()}});return()=>{if(J)clearTimeout(J),J=null;Z.unsubscribe()}})}var wh1=k1(()=>{P6()});function QQ(A){return["done","error","rejected-by-user","cancelled"].includes(A.status)}function RU(){let A=[],Q=new r2;function B(D,z){let Z=A.filter((G)=>G.spec.name===D);for(let G of Z)if(Zv(G.spec,z).enabled)return G;return}function J(D,z,Z){if(!D)throw new Error("spec is required");let G={spec:D,fn:Promise.resolve(z),preprocessArgs:Z};return A.push(G),Q.next(),{dispose:()=>{let X=A.indexOf(G);if(X!==-1)A.splice(X,1),Q.next()}}}return{registerTool({spec:D,fn:z,preprocessArgs:Z}){if(!z)return jzA;return J(D,z,Z)},tools:o4(e2,Q.pipe(k7(void 0))).pipe(L6(([D])=>{return A.map((z)=>({spec:z.spec,...Zv(z.spec,D)})).sort((z,Z)=>z.spec.name.localeCompare(Z.spec.name))})),invokeTool(D,z,Z){let G=performance.now(),X=()=>_zA.record(performance.now()-G,{toolName:D});if(D===ZB1&&z.args&&"invalid_tool_name"in z.args&&typeof z.args.invalid_tool_name==="string"){dl.add(1,{toolName:D,error:"invalid"});let Y=PzA(z.args.invalid_tool_name);return new DA((q)=>{q.error(new Error(Y))})}let K=B(D,Z.config);if(!K){let Y=A.filter((H)=>H.spec.name===D);if(Y.length===0)return dl.add(1,{toolName:D,error:"not_found"}),new DA((H)=>{H.error(new Error(`tool ${JSON.stringify(D)} not found`))});let q=Y[0],F=Zv(q.spec,Z.config);dl.add(1,{toolName:D,error:"disabled"});let E=F.enabled?"unknown":F.disabledReason;return new DA((H)=>{H.error(new Error(`tool ${JSON.stringify(D)} is disabled: ${E}`))})}return dl.add(1,{toolName:D}),e8(()=>K.fn).pipe(l9((Y)=>{if(K.spec.meta?.disableTimeout)return Y(z,Z);return Hh1(Y(z,Z),Fh1())}),NZ(()=>X()))},preprocessArgs(D,z,Z){let G=B(D,Z.config);if(!G||!G.preprocessArgs)return;let X=G.preprocessArgs;try{return X(z,Z)}catch(K){j1.error("preprocessArgs",{id:D,args:z,error:String(K)});return}},dispose(){}}}function Zv(A,Q){let B=Q.settings?.["tools.disable"]??[];if(B.includes(A.name))return{enabled:!1,disabledReason:"settings"};if(typeof A.source==="object"&&"mcp"in A.source){let J=Mh1(A.name);if(J&&A.source.mcp===J.server&&B.includes(J.tool))return{enabled:!1,disabledReason:"settings"}}if(A.source==="builtin"&&B.includes(`builtin:${A.name}`))return{enabled:!1,disabledReason:"settings"};if(A.name===c5||A.name===Oz){if(Q.settings?.["todos.enabled"])return{enabled:!0};return{enabled:!1,disabledReason:"feature-flag"}}if(A.name===CZ){if(Q.settings["jetbrains.enabled"])return{enabled:!0};return{enabled:!1,disabledReason:"feature-flag"}}return{enabled:!0}}function PzA(A){return`Invalid tool name ${JSON.stringify(A)}. Tool names must match the pattern ${GB1.toString()}. Try again with a valid tool name.`}function Mh1(A){let[,Q,B]=A.split(/mcp__([^ ]+)__([^ ]+)/);if(Q&&B)return{server:Q,tool:B};return}function Nh1(A){if(A.status==="in-progress"||A.status==="done"||A.status==="cancelled"||A.status==="error")return A.progress;return}function Ch1(A,Q,B=!0){let J=new Set(Q.map((z)=>z.spec.name));function D(z){if(J.has(z))return!0;if(B&&Mh1(z))return!0;return!1}return{registerTool(z){throw new Error("Tools should not be registered in a filtered tool service")},invokeTool(z,Z,G){if(!D(z))return new DA((X)=>{X.error(new Error(`tool ${JSON.stringify(z)} not allowed in filtered service`))});return A.invokeTool(z,Z,G)},preprocessArgs(z,Z,G){if(!D(z))return;return A.preprocessArgs?.(z,Z,G)},tools:A.tools.pipe(L6((z)=>z.filter((Z)=>D(Z.spec.name)))),dispose(){}}}var Wh1,jzA,ZB1="invalid_tool",GB1,Ih1,dl,_zA;var VD=k1(()=>{Wh1=hA(_R(),1);P6();l6();Eh1();AQ();wh1();jzA={dispose(){}};GB1=/^[a-zA-Z0-9_]{1,64}$/,Ih1=Wh1.metrics.getMeter("tool_service"),dl=Ih1.createCounter("tool_service.invocation_count",{description:"Number of tool invocations"}),_zA=Ih1.createHistogram("tool_service.invocation_latency",{description:"Latency of tool invocations",unit:"ms"})});var jh1=t((Lh1)=>{Object.defineProperty(Lh1,"__esModule",{value:!0});Lh1.calcSlices=Lh1.applyPatch=Lh1.calcPatch=Lh1.lcs=Lh1.diff=Lh1.diff_core=void 0;function SzA(A,Q){let{b:B,eq:J,stack_base:D}=A,{i:z,N:Z,j:G,M:X,Z:K,stack_top:Y}=A;for(;;)switch(Q){case 0:{A:while(Z>0&&X>0){B.fill(0,0,2*K);let q=Z-X,F=Z+X,E=F&1,H=z+Z-1,w=G+X-1,W=(F+E)/2,I;Q:for(let M=0;M<=W;M++){let N=2*Math.max(0,M-X)-M,V=M-2*Math.max(0,M-Z);for(let L=N;L<=V;L+=2){let T=B[L-1-K*Math.floor((L-1)/K)],R=B[L+1-K*Math.floor((L+1)/K)],j=L===-M||L!==M&&T<R?R:T+1,P=j-L,$=j,S=P;while($<Z&&S<X&&J(z+$,G+S))$++,S++;if(B[L-K*Math.floor(L/K)]=$,E===1&&(I=q-L)>=1-M&&I<M&&$+B[K+I-K*Math.floor(I/K)]>=Z)if(M>1||$!==j){D[Y++]=z+$,D[Y++]=Z-$,D[Y++]=G+S,D[Y++]=X-S,Z=j,X=P,K=2*(Math.min(Z,X)+1);continue A}else break Q}for(let L=N;L<=V;L+=2){let T=B[K+L-1-K*Math.floor((L-1)/K)],R=B[K+L+1-K*Math.floor((L+1)/K)],j=L===-M||L!==M&&T<R?R:T+1,P=j-L,$=j,S=P;while($<Z&&S<X&&J(H-$,w-S))$++,S++;if(B[K+L-K*Math.floor(L/K)]=$,E===0&&(I=q-L)>=-M&&I<=M&&$+B[I-K*Math.floor(I/K)]>=Z)if(M>0||$!==j){D[Y++]=z+Z-j,D[Y++]=j,D[Y++]=G+X-P,D[Y++]=P,Z=Z-$,X=X-S,K=2*(Math.min(Z,X)+1);continue A}else break Q}}if(Z===X)continue;if(X>Z)z+=Z,G+=Z,X-=Z,Z=0;else z+=X,G+=X,Z-=X,X=0;break}if(Z+X!==0)if(A.pxe===z||A.pye===G)A.pxe=z+Z,A.pye=G+X;else{let q=A.pxs;if(A.oxs=A.pxs,A.oxe=A.pxe,A.oys=A.pys,A.oye=A.pye,A.pxs=z,A.pxe=z+Z,A.pys=G,A.pye=G+X,q>=0)return A.i=z,A.N=Z,A.j=G,A.M=X,A.Z=K,A.stack_top=Y,1}}case 1:{if(Y===0)return 2;X=D[--Y],G=D[--Y],Z=D[--Y],z=D[--Y],K=2*(Math.min(Z,X)+1),Q=0}}}class Vh1{constructor(A){this.state=A,this.c=0,this.result={value:null,done:!1}}[Symbol.iterator](){return this}next(){let{state:A,result:Q}=this;if(this.c>1)return Q.done=!0,Q.value=void 0,Q;let B=SzA(A,this.c);if(this.c=B,B===1)return Q.value=[A.oxs,A.oxe,A.oys,A.oye],Q;if(A.pxs>=0)return Q.value=[A.pxs,A.pxe,A.pys,A.pye],Q;return Q.done=!0,Q.value=void 0,Q}}function Oh1(A,Q,B,J,D){let z=(Math.min(Q,J)+1)*2,Z=Q+J,G=new(Z<256?Uint8Array:Z<65536?Uint16Array:Uint32Array)(2*z);return new Vh1({i:A,N:Q,j:B,M:J,Z:z,b:G,eq:D,pxs:-1,pxe:-1,pys:-1,pye:-1,oxs:-1,oxe:-1,oys:-1,oye:-1,stack_top:0,stack_base:[]})}Lh1.diff_core=Oh1;function il(A,Q,B){let[J,D,z]=[0,A.length,Q.length];if(typeof B==="function"){while(J<D&&J<z&&B(J,J))J++;if(J===D&&J===z)return[][Symbol.iterator]();while(B(--D,--z)&&D>J&&z>J);}else{while(J<D&&J<z&&A[J]===Q[J])J++;if(J===D&&J===z)return[][Symbol.iterator]();while(A[--D]===Q[--z]&&D>J&&z>J);B=(Z,G)=>A[Z]===Q[G]}return Oh1(J,D+1-J,J,z+1-J,B)}Lh1.diff=il;class Rh1{constructor(A,Q){this.diff=A,this.N=Q,this.i=0,this.j=0}[Symbol.iterator](){return this}next(){let A=this.diff.next();if(A.done){let{i:G,j:X,N:K}=this;if(G<K)A.done=!1,A.value=[G,X,K-G],this.i=K;return A}let Q=A.value,B=Q[0],J=Q[1],D=Q[3],{i:z,j:Z}=this;if(z!==B)Q.length--,Q[0]=z,Q[1]=Z,Q[2]=B-z;return this.i=J,this.j=D,A}}function $zA(A,Q,B){return new Rh1(il(A,Q,B),A.length)}Lh1.lcs=$zA;function*vzA(A,Q,B){let J=ArrayBuffer.isView(A)?Uint8Array.prototype.subarray:A.slice;for(let D of il(A,Q,B))D[2]=J.call(Q,D[2],D[3]),yield D}Lh1.calcPatch=vzA;function*kzA(A,Q){let B=0,J=ArrayBuffer.isView(A)?Uint8Array.prototype.subarray:A.slice;for(let[D,z,Z]of Q){if(B<D)yield J.call(A,B,D);if(Z.length>0)yield Z;B=z}if(B<A.length)yield J.call(A,B)}Lh1.applyPatch=kzA;function*fzA(A,Q,B){let J=0,D=ArrayBuffer.isView(A)?Uint8Array.prototype.subarray:A.slice;for(let[z,Z,G,X]of il(A,Q,B)){if(J<z)yield[0,D.call(A,J,z)];if(z<Z)yield[-1,D.call(A,z,Z)];if(G<X)yield[1,D.call(Q,G,X)];J=Z}if(J<A.length)yield[0,A.slice(J)]}Lh1.calcSlices=fzA});function _h1(A,Q){if(A===void 0||Q===void 0||A===Q)return{added:0,deleted:0,changed:0};let B={added:0,deleted:0,changed:0};for(let[J,D,z,Z]of Ph1.diff(A.split(`
|
3
|
+
import{createRequire as yBA}from"node:module";var $BA=Object.create;var{getPrototypeOf:vBA,defineProperty:n71,getOwnPropertyNames:kBA}=Object;var fBA=Object.prototype.hasOwnProperty;var hA=(A,Q,B)=>{B=A!=null?$BA(vBA(A)):{};let J=Q||!A||!A.__esModule?n71(B,"default",{value:A,enumerable:!0}):B;for(let D of kBA(A))if(!fBA.call(J,D))n71(J,D,{get:()=>A[D],enumerable:!0});return J};var t=(A,Q)=>()=>(Q||A((Q={exports:{}}).exports,Q),Q.exports);var c6=(A,Q)=>{for(var B in Q)n71(A,B,{get:Q[B],enumerable:!0,configurable:!0,set:(J)=>Q[B]=()=>J})};var k1=(A,Q)=>()=>(A&&(Q=A(A=0)),Q);var f0=yBA(import.meta.url);var vy1=t((Sy1)=>{Object.defineProperty(Sy1,"__esModule",{value:!0});Sy1._globalThis=void 0;Sy1._globalThis=typeof globalThis==="object"?globalThis:global});var ky1=t((YM)=>{var bBA=YM&&YM.__createBinding||(Object.create?function(A,Q,B,J){if(J===void 0)J=B;Object.defineProperty(A,J,{enumerable:!0,get:function(){return Q[B]}})}:function(A,Q,B,J){if(J===void 0)J=B;A[J]=Q[B]}),gBA=YM&&YM.__exportStar||function(A,Q){for(var B in A)if(B!=="default"&&!Object.prototype.hasOwnProperty.call(Q,B))bBA(Q,A,B)};Object.defineProperty(YM,"__esModule",{value:!0});gBA(vy1(),YM)});var fy1=t((qM)=>{var xBA=qM&&qM.__createBinding||(Object.create?function(A,Q,B,J){if(J===void 0)J=B;Object.defineProperty(A,J,{enumerable:!0,get:function(){return Q[B]}})}:function(A,Q,B,J){if(J===void 0)J=B;A[J]=Q[B]}),hBA=qM&&qM.__exportStar||function(A,Q){for(var B in A)if(B!=="default"&&!Object.prototype.hasOwnProperty.call(Q,B))xBA(Q,A,B)};Object.defineProperty(qM,"__esModule",{value:!0});hBA(ky1(),qM)});var s71=t((yy1)=>{Object.defineProperty(yy1,"__esModule",{value:!0});yy1.VERSION=void 0;yy1.VERSION="1.9.0"});var uy1=t((hy1)=>{Object.defineProperty(hy1,"__esModule",{value:!0});hy1.isCompatible=hy1._makeCompatibilityCheck=void 0;var mBA=s71(),gy1=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function xy1(A){let Q=new Set([A]),B=new Set,J=A.match(gy1);if(!J)return()=>!1;let D={major:+J[1],minor:+J[2],patch:+J[3],prerelease:J[4]};if(D.prerelease!=null)return function G(X){return X===A};function z(G){return B.add(G),!1}function Z(G){return Q.add(G),!0}return function G(X){if(Q.has(X))return!0;if(B.has(X))return!1;let K=X.match(gy1);if(!K)return z(X);let Y={major:+K[1],minor:+K[2],patch:+K[3],prerelease:K[4]};if(Y.prerelease!=null)return z(X);if(D.major!==Y.major)return z(X);if(D.major===0){if(D.minor===Y.minor&&D.patch<=Y.patch)return Z(X);return z(X)}if(D.minor<=Y.minor)return Z(X);return z(X)}}hy1._makeCompatibilityCheck=xy1;hy1.isCompatible=xy1(mBA.VERSION)});var UM=t((py1)=>{Object.defineProperty(py1,"__esModule",{value:!0});py1.unregisterGlobal=py1.getGlobal=py1.registerGlobal=void 0;var pBA=fy1(),LR=s71(),cBA=uy1(),lBA=LR.VERSION.split(".")[0],r$=Symbol.for(`opentelemetry.js.api.${lBA}`),n$=pBA._globalThis;function dBA(A,Q,B,J=!1){var D;let z=n$[r$]=(D=n$[r$])!==null&&D!==void 0?D:{version:LR.VERSION};if(!J&&z[A]){let Z=new Error(`@opentelemetry/api: Attempted duplicate registration of API: ${A}`);return B.error(Z.stack||Z.message),!1}if(z.version!==LR.VERSION){let Z=new Error(`@opentelemetry/api: Registration of version v${z.version} for ${A} does not match previously registered API v${LR.VERSION}`);return B.error(Z.stack||Z.message),!1}return z[A]=Q,B.debug(`@opentelemetry/api: Registered a global for ${A} v${LR.VERSION}.`),!0}py1.registerGlobal=dBA;function iBA(A){var Q,B;let J=(Q=n$[r$])===null||Q===void 0?void 0:Q.version;if(!J||!cBA.isCompatible(J))return;return(B=n$[r$])===null||B===void 0?void 0:B[A]}py1.getGlobal=iBA;function aBA(A,Q){Q.debug(`@opentelemetry/api: Unregistering a global for ${A} v${LR.VERSION}.`);let B=n$[r$];if(B)delete B[A]}py1.unregisterGlobal=aBA});var ay1=t((dy1)=>{Object.defineProperty(dy1,"__esModule",{value:!0});dy1.DiagComponentLogger=void 0;var sBA=UM();class ly1{constructor(A){this._namespace=A.namespace||"DiagComponentLogger"}debug(...A){return s$("debug",this._namespace,A)}error(...A){return s$("error",this._namespace,A)}info(...A){return s$("info",this._namespace,A)}warn(...A){return s$("warn",this._namespace,A)}verbose(...A){return s$("verbose",this._namespace,A)}}dy1.DiagComponentLogger=ly1;function s$(A,Q,B){let J=sBA.getGlobal("diag");if(!J)return;return B.unshift(Q),J[A](...B)}});var Vl=t((ry1)=>{Object.defineProperty(ry1,"__esModule",{value:!0});ry1.DiagLogLevel=void 0;var oBA;(function(A){A[A.NONE=0]="NONE",A[A.ERROR=30]="ERROR",A[A.WARN=50]="WARN",A[A.INFO=60]="INFO",A[A.DEBUG=70]="DEBUG",A[A.VERBOSE=80]="VERBOSE",A[A.ALL=9999]="ALL"})(oBA=ry1.DiagLogLevel||(ry1.DiagLogLevel={}))});var oy1=t((ny1)=>{Object.defineProperty(ny1,"__esModule",{value:!0});ny1.createLogLevelDiagLogger=void 0;var WU=Vl();function tBA(A,Q){if(A<WU.DiagLogLevel.NONE)A=WU.DiagLogLevel.NONE;else if(A>WU.DiagLogLevel.ALL)A=WU.DiagLogLevel.ALL;Q=Q||{};function B(J,D){let z=Q[J];if(typeof z==="function"&&A>=D)return z.bind(Q);return function(){}}return{error:B("error",WU.DiagLogLevel.ERROR),warn:B("warn",WU.DiagLogLevel.WARN),info:B("info",WU.DiagLogLevel.INFO),debug:B("debug",WU.DiagLogLevel.DEBUG),verbose:B("verbose",WU.DiagLogLevel.VERBOSE)}}ny1.createLogLevelDiagLogger=tBA});var FM=t((ey1)=>{Object.defineProperty(ey1,"__esModule",{value:!0});ey1.DiagAPI=void 0;var eBA=ay1(),AJA=oy1(),ty1=Vl(),Ol=UM(),QJA="diag";class t71{constructor(){function A(J){return function(...D){let z=Ol.getGlobal("diag");if(!z)return;return z[J](...D)}}let Q=this,B=(J,D={logLevel:ty1.DiagLogLevel.INFO})=>{var z,Z,G;if(J===Q){let Y=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return Q.error((z=Y.stack)!==null&&z!==void 0?z:Y.message),!1}if(typeof D==="number")D={logLevel:D};let X=Ol.getGlobal("diag"),K=AJA.createLogLevelDiagLogger((Z=D.logLevel)!==null&&Z!==void 0?Z:ty1.DiagLogLevel.INFO,J);if(X&&!D.suppressOverrideMessage){let Y=(G=new Error().stack)!==null&&G!==void 0?G:"<failed to generate stacktrace>";X.warn(`Current logger will be overwritten from ${Y}`),K.warn(`Current logger will overwrite one already registered from ${Y}`)}return Ol.registerGlobal("diag",K,Q,!0)};Q.setLogger=B,Q.disable=()=>{Ol.unregisterGlobal(QJA,Q)},Q.createComponentLogger=(J)=>{return new eBA.DiagComponentLogger(J)},Q.verbose=A("verbose"),Q.debug=A("debug"),Q.info=A("info"),Q.warn=A("warn"),Q.error=A("error")}static instance(){if(!this._instance)this._instance=new t71;return this._instance}}ey1.DiagAPI=t71});var Jb1=t((Qb1)=>{Object.defineProperty(Qb1,"__esModule",{value:!0});Qb1.BaggageImpl=void 0;class TR{constructor(A){this._entries=A?new Map(A):new Map}getEntry(A){let Q=this._entries.get(A);if(!Q)return;return Object.assign({},Q)}getAllEntries(){return Array.from(this._entries.entries()).map(([A,Q])=>[A,Q])}setEntry(A,Q){let B=new TR(this._entries);return B._entries.set(A,Q),B}removeEntry(A){let Q=new TR(this._entries);return Q._entries.delete(A),Q}removeEntries(...A){let Q=new TR(this._entries);for(let B of A)Q._entries.delete(B);return Q}clear(){return new TR}}Qb1.BaggageImpl=TR});var Zb1=t((Db1)=>{Object.defineProperty(Db1,"__esModule",{value:!0});Db1.baggageEntryMetadataSymbol=void 0;Db1.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")});var e71=t((Gb1)=>{Object.defineProperty(Gb1,"__esModule",{value:!0});Gb1.baggageEntryMetadataFromString=Gb1.createBaggage=void 0;var BJA=FM(),JJA=Jb1(),DJA=Zb1(),zJA=BJA.DiagAPI.instance();function ZJA(A={}){return new JJA.BaggageImpl(new Map(Object.entries(A)))}Gb1.createBaggage=ZJA;function GJA(A){if(typeof A!=="string")zJA.error(`Cannot create baggage metadata from unknown type: ${typeof A}`),A="";return{__TYPE__:DJA.baggageEntryMetadataSymbol,toString(){return A}}}Gb1.baggageEntryMetadataFromString=GJA});var o$=t((Kb1)=>{Object.defineProperty(Kb1,"__esModule",{value:!0});Kb1.ROOT_CONTEXT=Kb1.createContextKey=void 0;function KJA(A){return Symbol.for(A)}Kb1.createContextKey=KJA;class Rl{constructor(A){let Q=this;Q._currentContext=A?new Map(A):new Map,Q.getValue=(B)=>Q._currentContext.get(B),Q.setValue=(B,J)=>{let D=new Rl(Q._currentContext);return D._currentContext.set(B,J),D},Q.deleteValue=(B)=>{let J=new Rl(Q._currentContext);return J._currentContext.delete(B),J}}}Kb1.ROOT_CONTEXT=new Rl});var Eb1=t((Ub1)=>{Object.defineProperty(Ub1,"__esModule",{value:!0});Ub1.DiagConsoleLogger=void 0;var AQ1=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class qb1{constructor(){function A(Q){return function(...B){if(console){let J=console[Q];if(typeof J!=="function")J=console.log;if(typeof J==="function")return J.apply(console,B)}}}for(let Q=0;Q<AQ1.length;Q++)this[AQ1[Q].n]=A(AQ1[Q].c)}}Ub1.DiagConsoleLogger=qb1});var KQ1=t((Hb1)=>{Object.defineProperty(Hb1,"__esModule",{value:!0});Hb1.createNoopMeter=Hb1.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=Hb1.NOOP_OBSERVABLE_GAUGE_METRIC=Hb1.NOOP_OBSERVABLE_COUNTER_METRIC=Hb1.NOOP_UP_DOWN_COUNTER_METRIC=Hb1.NOOP_HISTOGRAM_METRIC=Hb1.NOOP_GAUGE_METRIC=Hb1.NOOP_COUNTER_METRIC=Hb1.NOOP_METER=Hb1.NoopObservableUpDownCounterMetric=Hb1.NoopObservableGaugeMetric=Hb1.NoopObservableCounterMetric=Hb1.NoopObservableMetric=Hb1.NoopHistogramMetric=Hb1.NoopGaugeMetric=Hb1.NoopUpDownCounterMetric=Hb1.NoopCounterMetric=Hb1.NoopMetric=Hb1.NoopMeter=void 0;class QQ1{constructor(){}createGauge(A,Q){return Hb1.NOOP_GAUGE_METRIC}createHistogram(A,Q){return Hb1.NOOP_HISTOGRAM_METRIC}createCounter(A,Q){return Hb1.NOOP_COUNTER_METRIC}createUpDownCounter(A,Q){return Hb1.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(A,Q){return Hb1.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(A,Q){return Hb1.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(A,Q){return Hb1.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(A,Q){}removeBatchObservableCallback(A){}}Hb1.NoopMeter=QQ1;class jR{}Hb1.NoopMetric=jR;class BQ1 extends jR{add(A,Q){}}Hb1.NoopCounterMetric=BQ1;class JQ1 extends jR{add(A,Q){}}Hb1.NoopUpDownCounterMetric=JQ1;class DQ1 extends jR{record(A,Q){}}Hb1.NoopGaugeMetric=DQ1;class zQ1 extends jR{record(A,Q){}}Hb1.NoopHistogramMetric=zQ1;class t${addCallback(A){}removeCallback(A){}}Hb1.NoopObservableMetric=t$;class ZQ1 extends t${}Hb1.NoopObservableCounterMetric=ZQ1;class GQ1 extends t${}Hb1.NoopObservableGaugeMetric=GQ1;class XQ1 extends t${}Hb1.NoopObservableUpDownCounterMetric=XQ1;Hb1.NOOP_METER=new QQ1;Hb1.NOOP_COUNTER_METRIC=new BQ1;Hb1.NOOP_GAUGE_METRIC=new DQ1;Hb1.NOOP_HISTOGRAM_METRIC=new zQ1;Hb1.NOOP_UP_DOWN_COUNTER_METRIC=new JQ1;Hb1.NOOP_OBSERVABLE_COUNTER_METRIC=new ZQ1;Hb1.NOOP_OBSERVABLE_GAUGE_METRIC=new GQ1;Hb1.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new XQ1;function qJA(){return Hb1.NOOP_METER}Hb1.createNoopMeter=qJA});var Tb1=t((Lb1)=>{Object.defineProperty(Lb1,"__esModule",{value:!0});Lb1.ValueType=void 0;var VJA;(function(A){A[A.INT=0]="INT",A[A.DOUBLE=1]="DOUBLE"})(VJA=Lb1.ValueType||(Lb1.ValueType={}))});var qQ1=t((jb1)=>{Object.defineProperty(jb1,"__esModule",{value:!0});jb1.defaultTextMapSetter=jb1.defaultTextMapGetter=void 0;jb1.defaultTextMapGetter={get(A,Q){if(A==null)return;return A[Q]},keys(A){if(A==null)return[];return Object.keys(A)}};jb1.defaultTextMapSetter={set(A,Q,B){if(A==null)return;A[Q]=B}}});var vb1=t((Sb1)=>{Object.defineProperty(Sb1,"__esModule",{value:!0});Sb1.NoopContextManager=void 0;var RJA=o$();class _b1{active(){return RJA.ROOT_CONTEXT}with(A,Q,B,...J){return Q.call(B,...J)}bind(A,Q){return Q}enable(){return this}disable(){return this}}Sb1.NoopContextManager=_b1});var e$=t((fb1)=>{Object.defineProperty(fb1,"__esModule",{value:!0});fb1.ContextAPI=void 0;var LJA=vb1(),UQ1=UM(),kb1=FM(),FQ1="context",TJA=new LJA.NoopContextManager;class EQ1{constructor(){}static getInstance(){if(!this._instance)this._instance=new EQ1;return this._instance}setGlobalContextManager(A){return UQ1.registerGlobal(FQ1,A,kb1.DiagAPI.instance())}active(){return this._getContextManager().active()}with(A,Q,B,...J){return this._getContextManager().with(A,Q,B,...J)}bind(A,Q){return this._getContextManager().bind(A,Q)}_getContextManager(){return UQ1.getGlobal(FQ1)||TJA}disable(){this._getContextManager().disable(),UQ1.unregisterGlobal(FQ1,kb1.DiagAPI.instance())}}fb1.ContextAPI=EQ1});var wQ1=t((bb1)=>{Object.defineProperty(bb1,"__esModule",{value:!0});bb1.TraceFlags=void 0;var jJA;(function(A){A[A.NONE=0]="NONE",A[A.SAMPLED=1]="SAMPLED"})(jJA=bb1.TraceFlags||(bb1.TraceFlags={}))});var Ll=t((gb1)=>{Object.defineProperty(gb1,"__esModule",{value:!0});gb1.INVALID_SPAN_CONTEXT=gb1.INVALID_TRACEID=gb1.INVALID_SPANID=void 0;var PJA=wQ1();gb1.INVALID_SPANID="0000000000000000";gb1.INVALID_TRACEID="00000000000000000000000000000000";gb1.INVALID_SPAN_CONTEXT={traceId:gb1.INVALID_TRACEID,spanId:gb1.INVALID_SPANID,traceFlags:PJA.TraceFlags.NONE}});var Tl=t((pb1)=>{Object.defineProperty(pb1,"__esModule",{value:!0});pb1.NonRecordingSpan=void 0;var _JA=Ll();class ub1{constructor(A=_JA.INVALID_SPAN_CONTEXT){this._spanContext=A}spanContext(){return this._spanContext}setAttribute(A,Q){return this}setAttributes(A){return this}addEvent(A,Q){return this}addLink(A){return this}addLinks(A){return this}setStatus(A){return this}updateName(A){return this}end(A){}isRecording(){return!1}recordException(A,Q){}}pb1.NonRecordingSpan=ub1});var MQ1=t((db1)=>{Object.defineProperty(db1,"__esModule",{value:!0});db1.getSpanContext=db1.setSpanContext=db1.deleteSpan=db1.setSpan=db1.getActiveSpan=db1.getSpan=void 0;var SJA=o$(),$JA=Tl(),vJA=e$(),WQ1=SJA.createContextKey("OpenTelemetry Context Key SPAN");function IQ1(A){return A.getValue(WQ1)||void 0}db1.getSpan=IQ1;function kJA(){return IQ1(vJA.ContextAPI.getInstance().active())}db1.getActiveSpan=kJA;function lb1(A,Q){return A.setValue(WQ1,Q)}db1.setSpan=lb1;function fJA(A){return A.deleteValue(WQ1)}db1.deleteSpan=fJA;function yJA(A,Q){return lb1(A,new $JA.NonRecordingSpan(Q))}db1.setSpanContext=yJA;function bJA(A){var Q;return(Q=IQ1(A))===null||Q===void 0?void 0:Q.spanContext()}db1.getSpanContext=bJA});var jl=t((sb1)=>{Object.defineProperty(sb1,"__esModule",{value:!0});sb1.wrapSpanContext=sb1.isSpanContextValid=sb1.isValidSpanId=sb1.isValidTraceId=void 0;var ab1=Ll(),pJA=Tl(),cJA=/^([0-9a-f]{32})$/i,lJA=/^[0-9a-f]{16}$/i;function rb1(A){return cJA.test(A)&&A!==ab1.INVALID_TRACEID}sb1.isValidTraceId=rb1;function nb1(A){return lJA.test(A)&&A!==ab1.INVALID_SPANID}sb1.isValidSpanId=nb1;function dJA(A){return rb1(A.traceId)&&nb1(A.spanId)}sb1.isSpanContextValid=dJA;function iJA(A){return new pJA.NonRecordingSpan(A)}sb1.wrapSpanContext=iJA});var VQ1=t((Ag1)=>{Object.defineProperty(Ag1,"__esModule",{value:!0});Ag1.NoopTracer=void 0;var sJA=e$(),tb1=MQ1(),NQ1=Tl(),oJA=jl(),CQ1=sJA.ContextAPI.getInstance();class eb1{startSpan(A,Q,B=CQ1.active()){if(Boolean(Q===null||Q===void 0?void 0:Q.root))return new NQ1.NonRecordingSpan;let D=B&&tb1.getSpanContext(B);if(tJA(D)&&oJA.isSpanContextValid(D))return new NQ1.NonRecordingSpan(D);else return new NQ1.NonRecordingSpan}startActiveSpan(A,Q,B,J){let D,z,Z;if(arguments.length<2)return;else if(arguments.length===2)Z=Q;else if(arguments.length===3)D=Q,Z=B;else D=Q,z=B,Z=J;let G=z!==null&&z!==void 0?z:CQ1.active(),X=this.startSpan(A,D,G),K=tb1.setSpan(G,X);return CQ1.with(K,Z,void 0,X)}}Ag1.NoopTracer=eb1;function tJA(A){return typeof A==="object"&&typeof A.spanId==="string"&&typeof A.traceId==="string"&&typeof A.traceFlags==="number"}});var OQ1=t((Jg1)=>{Object.defineProperty(Jg1,"__esModule",{value:!0});Jg1.ProxyTracer=void 0;var eJA=VQ1(),ADA=new eJA.NoopTracer;class Bg1{constructor(A,Q,B,J){this._provider=A,this.name=Q,this.version=B,this.options=J}startSpan(A,Q,B){return this._getTracer().startSpan(A,Q,B)}startActiveSpan(A,Q,B,J){let D=this._getTracer();return Reflect.apply(D.startActiveSpan,D,arguments)}_getTracer(){if(this._delegate)return this._delegate;let A=this._provider.getDelegateTracer(this.name,this.version,this.options);if(!A)return ADA;return this._delegate=A,this._delegate}}Jg1.ProxyTracer=Bg1});var Xg1=t((Zg1)=>{Object.defineProperty(Zg1,"__esModule",{value:!0});Zg1.NoopTracerProvider=void 0;var QDA=VQ1();class zg1{getTracer(A,Q,B){return new QDA.NoopTracer}}Zg1.NoopTracerProvider=zg1});var RQ1=t((Yg1)=>{Object.defineProperty(Yg1,"__esModule",{value:!0});Yg1.ProxyTracerProvider=void 0;var BDA=OQ1(),JDA=Xg1(),DDA=new JDA.NoopTracerProvider;class Kg1{getTracer(A,Q,B){var J;return(J=this.getDelegateTracer(A,Q,B))!==null&&J!==void 0?J:new BDA.ProxyTracer(this,A,Q,B)}getDelegate(){var A;return(A=this._delegate)!==null&&A!==void 0?A:DDA}setDelegate(A){this._delegate=A}getDelegateTracer(A,Q,B){var J;return(J=this._delegate)===null||J===void 0?void 0:J.getTracer(A,Q,B)}}Yg1.ProxyTracerProvider=Kg1});var Fg1=t((Ug1)=>{Object.defineProperty(Ug1,"__esModule",{value:!0});Ug1.SamplingDecision=void 0;var zDA;(function(A){A[A.NOT_RECORD=0]="NOT_RECORD",A[A.RECORD=1]="RECORD",A[A.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"})(zDA=Ug1.SamplingDecision||(Ug1.SamplingDecision={}))});var Hg1=t((Eg1)=>{Object.defineProperty(Eg1,"__esModule",{value:!0});Eg1.SpanKind=void 0;var ZDA;(function(A){A[A.INTERNAL=0]="INTERNAL",A[A.SERVER=1]="SERVER",A[A.CLIENT=2]="CLIENT",A[A.PRODUCER=3]="PRODUCER",A[A.CONSUMER=4]="CONSUMER"})(ZDA=Eg1.SpanKind||(Eg1.SpanKind={}))});var Wg1=t((wg1)=>{Object.defineProperty(wg1,"__esModule",{value:!0});wg1.SpanStatusCode=void 0;var GDA;(function(A){A[A.UNSET=0]="UNSET",A[A.OK=1]="OK",A[A.ERROR=2]="ERROR"})(GDA=wg1.SpanStatusCode||(wg1.SpanStatusCode={}))});var Ng1=t((Ig1)=>{Object.defineProperty(Ig1,"__esModule",{value:!0});Ig1.validateValue=Ig1.validateKey=void 0;var PQ1="[_0-9a-z-*/]",XDA=`[a-z]${PQ1}{0,255}`,KDA=`[a-z0-9]${PQ1}{0,240}@[a-z]${PQ1}{0,13}`,YDA=new RegExp(`^(?:${XDA}|${KDA})$`),qDA=/^[ -~]{0,255}[!-~]$/,UDA=/,|=/;function FDA(A){return YDA.test(A)}Ig1.validateKey=FDA;function EDA(A){return qDA.test(A)&&!UDA.test(A)}Ig1.validateValue=EDA});var jg1=t((Lg1)=>{Object.defineProperty(Lg1,"__esModule",{value:!0});Lg1.TraceStateImpl=void 0;var Cg1=Ng1(),Vg1=32,wDA=512,Og1=",",Rg1="=";class _Q1{constructor(A){if(this._internalState=new Map,A)this._parse(A)}set(A,Q){let B=this._clone();if(B._internalState.has(A))B._internalState.delete(A);return B._internalState.set(A,Q),B}unset(A){let Q=this._clone();return Q._internalState.delete(A),Q}get(A){return this._internalState.get(A)}serialize(){return this._keys().reduce((A,Q)=>{return A.push(Q+Rg1+this.get(Q)),A},[]).join(Og1)}_parse(A){if(A.length>wDA)return;if(this._internalState=A.split(Og1).reverse().reduce((Q,B)=>{let J=B.trim(),D=J.indexOf(Rg1);if(D!==-1){let z=J.slice(0,D),Z=J.slice(D+1,B.length);if(Cg1.validateKey(z)&&Cg1.validateValue(Z))Q.set(z,Z)}return Q},new Map),this._internalState.size>Vg1)this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,Vg1))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let A=new _Q1;return A._internalState=new Map(this._internalState),A}}Lg1.TraceStateImpl=_Q1});var Sg1=t((Pg1)=>{Object.defineProperty(Pg1,"__esModule",{value:!0});Pg1.createTraceState=void 0;var WDA=jg1();function IDA(A){return new WDA.TraceStateImpl(A)}Pg1.createTraceState=IDA});var kg1=t(($g1)=>{Object.defineProperty($g1,"__esModule",{value:!0});$g1.context=void 0;var MDA=e$();$g1.context=MDA.ContextAPI.getInstance()});var bg1=t((fg1)=>{Object.defineProperty(fg1,"__esModule",{value:!0});fg1.diag=void 0;var NDA=FM();fg1.diag=NDA.DiagAPI.instance()});var hg1=t((gg1)=>{Object.defineProperty(gg1,"__esModule",{value:!0});gg1.NOOP_METER_PROVIDER=gg1.NoopMeterProvider=void 0;var CDA=KQ1();class SQ1{getMeter(A,Q,B){return CDA.NOOP_METER}}gg1.NoopMeterProvider=SQ1;gg1.NOOP_METER_PROVIDER=new SQ1});var cg1=t((ug1)=>{Object.defineProperty(ug1,"__esModule",{value:!0});ug1.MetricsAPI=void 0;var ODA=hg1(),$Q1=UM(),mg1=FM(),vQ1="metrics";class kQ1{constructor(){}static getInstance(){if(!this._instance)this._instance=new kQ1;return this._instance}setGlobalMeterProvider(A){return $Q1.registerGlobal(vQ1,A,mg1.DiagAPI.instance())}getMeterProvider(){return $Q1.getGlobal(vQ1)||ODA.NOOP_METER_PROVIDER}getMeter(A,Q,B){return this.getMeterProvider().getMeter(A,Q,B)}disable(){$Q1.unregisterGlobal(vQ1,mg1.DiagAPI.instance())}}ug1.MetricsAPI=kQ1});var ig1=t((lg1)=>{Object.defineProperty(lg1,"__esModule",{value:!0});lg1.metrics=void 0;var RDA=cg1();lg1.metrics=RDA.MetricsAPI.getInstance()});var sg1=t((rg1)=>{Object.defineProperty(rg1,"__esModule",{value:!0});rg1.NoopTextMapPropagator=void 0;class ag1{inject(A,Q){}extract(A,Q){return A}fields(){return[]}}rg1.NoopTextMapPropagator=ag1});var Ax1=t((tg1)=>{Object.defineProperty(tg1,"__esModule",{value:!0});tg1.deleteBaggage=tg1.setBaggage=tg1.getActiveBaggage=tg1.getBaggage=void 0;var LDA=e$(),TDA=o$(),fQ1=TDA.createContextKey("OpenTelemetry Baggage Key");function og1(A){return A.getValue(fQ1)||void 0}tg1.getBaggage=og1;function jDA(){return og1(LDA.ContextAPI.getInstance().active())}tg1.getActiveBaggage=jDA;function PDA(A,Q){return A.setValue(fQ1,Q)}tg1.setBaggage=PDA;function _DA(A){return A.deleteValue(fQ1)}tg1.deleteBaggage=_DA});var zx1=t((Jx1)=>{Object.defineProperty(Jx1,"__esModule",{value:!0});Jx1.PropagationAPI=void 0;var yQ1=UM(),kDA=sg1(),Qx1=qQ1(),Pl=Ax1(),fDA=e71(),Bx1=FM(),bQ1="propagation",yDA=new kDA.NoopTextMapPropagator;class gQ1{constructor(){this.createBaggage=fDA.createBaggage,this.getBaggage=Pl.getBaggage,this.getActiveBaggage=Pl.getActiveBaggage,this.setBaggage=Pl.setBaggage,this.deleteBaggage=Pl.deleteBaggage}static getInstance(){if(!this._instance)this._instance=new gQ1;return this._instance}setGlobalPropagator(A){return yQ1.registerGlobal(bQ1,A,Bx1.DiagAPI.instance())}inject(A,Q,B=Qx1.defaultTextMapSetter){return this._getGlobalPropagator().inject(A,Q,B)}extract(A,Q,B=Qx1.defaultTextMapGetter){return this._getGlobalPropagator().extract(A,Q,B)}fields(){return this._getGlobalPropagator().fields()}disable(){yQ1.unregisterGlobal(bQ1,Bx1.DiagAPI.instance())}_getGlobalPropagator(){return yQ1.getGlobal(bQ1)||yDA}}Jx1.PropagationAPI=gQ1});var Xx1=t((Zx1)=>{Object.defineProperty(Zx1,"__esModule",{value:!0});Zx1.propagation=void 0;var bDA=zx1();Zx1.propagation=bDA.PropagationAPI.getInstance()});var Ex1=t((Ux1)=>{Object.defineProperty(Ux1,"__esModule",{value:!0});Ux1.TraceAPI=void 0;var xQ1=UM(),Kx1=RQ1(),Yx1=jl(),PR=MQ1(),qx1=FM(),hQ1="trace";class mQ1{constructor(){this._proxyTracerProvider=new Kx1.ProxyTracerProvider,this.wrapSpanContext=Yx1.wrapSpanContext,this.isSpanContextValid=Yx1.isSpanContextValid,this.deleteSpan=PR.deleteSpan,this.getSpan=PR.getSpan,this.getActiveSpan=PR.getActiveSpan,this.getSpanContext=PR.getSpanContext,this.setSpan=PR.setSpan,this.setSpanContext=PR.setSpanContext}static getInstance(){if(!this._instance)this._instance=new mQ1;return this._instance}setGlobalTracerProvider(A){let Q=xQ1.registerGlobal(hQ1,this._proxyTracerProvider,qx1.DiagAPI.instance());if(Q)this._proxyTracerProvider.setDelegate(A);return Q}getTracerProvider(){return xQ1.getGlobal(hQ1)||this._proxyTracerProvider}getTracer(A,Q){return this.getTracerProvider().getTracer(A,Q)}disable(){xQ1.unregisterGlobal(hQ1,qx1.DiagAPI.instance()),this._proxyTracerProvider=new Kx1.ProxyTracerProvider}}Ux1.TraceAPI=mQ1});var Wx1=t((Hx1)=>{Object.defineProperty(Hx1,"__esModule",{value:!0});Hx1.trace=void 0;var gDA=Ex1();Hx1.trace=gDA.TraceAPI.getInstance()});var _R=t((t9)=>{Object.defineProperty(t9,"__esModule",{value:!0});t9.trace=t9.propagation=t9.metrics=t9.diag=t9.context=t9.INVALID_SPAN_CONTEXT=t9.INVALID_TRACEID=t9.INVALID_SPANID=t9.isValidSpanId=t9.isValidTraceId=t9.isSpanContextValid=t9.createTraceState=t9.TraceFlags=t9.SpanStatusCode=t9.SpanKind=t9.SamplingDecision=t9.ProxyTracerProvider=t9.ProxyTracer=t9.defaultTextMapSetter=t9.defaultTextMapGetter=t9.ValueType=t9.createNoopMeter=t9.DiagLogLevel=t9.DiagConsoleLogger=t9.ROOT_CONTEXT=t9.createContextKey=t9.baggageEntryMetadataFromString=void 0;var xDA=e71();Object.defineProperty(t9,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return xDA.baggageEntryMetadataFromString}});var Ix1=o$();Object.defineProperty(t9,"createContextKey",{enumerable:!0,get:function(){return Ix1.createContextKey}});Object.defineProperty(t9,"ROOT_CONTEXT",{enumerable:!0,get:function(){return Ix1.ROOT_CONTEXT}});var hDA=Eb1();Object.defineProperty(t9,"DiagConsoleLogger",{enumerable:!0,get:function(){return hDA.DiagConsoleLogger}});var mDA=Vl();Object.defineProperty(t9,"DiagLogLevel",{enumerable:!0,get:function(){return mDA.DiagLogLevel}});var uDA=KQ1();Object.defineProperty(t9,"createNoopMeter",{enumerable:!0,get:function(){return uDA.createNoopMeter}});var pDA=Tb1();Object.defineProperty(t9,"ValueType",{enumerable:!0,get:function(){return pDA.ValueType}});var Mx1=qQ1();Object.defineProperty(t9,"defaultTextMapGetter",{enumerable:!0,get:function(){return Mx1.defaultTextMapGetter}});Object.defineProperty(t9,"defaultTextMapSetter",{enumerable:!0,get:function(){return Mx1.defaultTextMapSetter}});var cDA=OQ1();Object.defineProperty(t9,"ProxyTracer",{enumerable:!0,get:function(){return cDA.ProxyTracer}});var lDA=RQ1();Object.defineProperty(t9,"ProxyTracerProvider",{enumerable:!0,get:function(){return lDA.ProxyTracerProvider}});var dDA=Fg1();Object.defineProperty(t9,"SamplingDecision",{enumerable:!0,get:function(){return dDA.SamplingDecision}});var iDA=Hg1();Object.defineProperty(t9,"SpanKind",{enumerable:!0,get:function(){return iDA.SpanKind}});var aDA=Wg1();Object.defineProperty(t9,"SpanStatusCode",{enumerable:!0,get:function(){return aDA.SpanStatusCode}});var rDA=wQ1();Object.defineProperty(t9,"TraceFlags",{enumerable:!0,get:function(){return rDA.TraceFlags}});var nDA=Sg1();Object.defineProperty(t9,"createTraceState",{enumerable:!0,get:function(){return nDA.createTraceState}});var uQ1=jl();Object.defineProperty(t9,"isSpanContextValid",{enumerable:!0,get:function(){return uQ1.isSpanContextValid}});Object.defineProperty(t9,"isValidTraceId",{enumerable:!0,get:function(){return uQ1.isValidTraceId}});Object.defineProperty(t9,"isValidSpanId",{enumerable:!0,get:function(){return uQ1.isValidSpanId}});var pQ1=Ll();Object.defineProperty(t9,"INVALID_SPANID",{enumerable:!0,get:function(){return pQ1.INVALID_SPANID}});Object.defineProperty(t9,"INVALID_TRACEID",{enumerable:!0,get:function(){return pQ1.INVALID_TRACEID}});Object.defineProperty(t9,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return pQ1.INVALID_SPAN_CONTEXT}});var Nx1=kg1();Object.defineProperty(t9,"context",{enumerable:!0,get:function(){return Nx1.context}});var Cx1=bg1();Object.defineProperty(t9,"diag",{enumerable:!0,get:function(){return Cx1.diag}});var Vx1=ig1();Object.defineProperty(t9,"metrics",{enumerable:!0,get:function(){return Vx1.metrics}});var Ox1=Xx1();Object.defineProperty(t9,"propagation",{enumerable:!0,get:function(){return Ox1.propagation}});var Rx1=Wx1();Object.defineProperty(t9,"trace",{enumerable:!0,get:function(){return Rx1.trace}});t9.default={context:Nx1.context,diag:Cx1.diag,metrics:Vx1.metrics,propagation:Ox1.propagation,trace:Rx1.trace}});function eDA(){return tDA}function Tx1(A){SR=A}var Lx1,tDA=!1,AzA,SR,QzA,j1;var l6=k1(()=>{Lx1=hA(_R(),1);AzA={error:(A,...Q)=>console.error(A,...Q),warn:(A,...Q)=>console.warn(A,...Q),info:(A,...Q)=>console.info(A,...Q),debug:(A,...Q)=>{if(eDA())console.debug(A,...Q)},audit:(A,...Q)=>{let B=Q.length>0?Q[0]:{};if(typeof B==="object"&&B!==null&&!("audit"in B))B.audit=!0;let J=Lx1.trace.getActiveSpan();if(J){let D=J.spanContext();if(D.traceId)B.traceId=D.traceId,B.spanId=D.spanId}console.info(A,B)}},SR=AzA;QzA={error:(A,...Q)=>SR.error(A,...Q),warn:(A,...Q)=>SR.warn(A,...Q),info:(A,...Q)=>SR.info(A,...Q),debug:(A,...Q)=>SR.debug(A,...Q),audit:(A,...Q)=>SR.audit(A,...Q)},j1=QzA});function cQ1(A){let Q=typeof A==="string"?A:A.toString();return Q===Vz||Q===Vz.slice(0,-1)}function lQ1(A){return cQ1(A)?Vz:A}var BzA,Vz,JzA,W62;var $R=k1(()=>{BzA=new URL("https://ampcode.com/"),Vz=BzA.toString(),JzA=new URL("https://api.anthropic.com/"),W62=JzA.toString()});function _l(A){Promise.resolve().then(()=>{try{A()}catch(Q){console.error(Q)}})}function jx1(A){let Q=A._cleanup;if(Q===void 0)return;if(A._cleanup=void 0,!Q)return;try{if(typeof Q==="function")Q();else if(Q&&typeof Q.unsubscribe==="function")Q.unsubscribe()}catch(B){console.error("cleanupSubscription",B)}}function iQ1(A){A._observer=void 0,A._queue=void 0,A._state="closed"}function DzA(A){let Q=A._queue;if(!Q)return;A._queue=void 0,A._state="ready";for(let B of Q)if(Px1(A,B.type,B.value),A._state==="closed")break}function Px1(A,Q,B){A._state="running";let J=A._observer;try{switch(Q){case"next":if(J&&typeof J.next==="function")J.next(B);break;case"error":if(iQ1(A),J&&typeof J.error==="function")J.error(B);else throw B;break;case"complete":if(iQ1(A),J&&typeof J.complete==="function")J.complete();break}}catch(D){console.error("notifySubscription",D)}if(A._state==="closed")jx1(A);else if(A._state==="running")A._state="ready"}function dQ1(A,Q,B){if(A._state==="closed")return;if(A._state==="buffering"){A._queue=A._queue||[],A._queue.push({type:Q,value:B});return}if(A._state!=="ready"){A._state="buffering",A._queue=[{type:Q,value:B}],_l(()=>DzA(A));return}Px1(A,Q,B)}class _x1{_cleanup;_observer;_queue;_state;constructor(A,Q){this._cleanup=void 0,this._observer=A,this._queue=void 0,this._state="initializing";let B=new Sx1(this);try{this._cleanup=Q.call(void 0,B)}catch(J){B.error(J)}if(this._state==="initializing")this._state="ready"}get closed(){return this._state==="closed"}unsubscribe(){if(this._state!=="closed")iQ1(this),jx1(this)}}class Sx1{_subscription;constructor(A){this._subscription=A}get closed(){return this._subscription._state==="closed"}next(A){dQ1(this._subscription,"next",A)}error(A){dQ1(this._subscription,"error",A)}complete(){dQ1(this._subscription,"complete")}}function s4(A){if(typeof A==="function")A();else if(A&&typeof A.unsubscribe==="function")A.unsubscribe()}class vR{_baseObserver;_pendingPromises;constructor(A){this._baseObserver=A,this._pendingPromises=new Set}complete(){Promise.all(this._pendingPromises).then(()=>this._baseObserver.complete()).catch((A)=>this._baseObserver.error(A))}error(A){this._baseObserver.error(A)}schedule(A){let Q=Promise.all(this._pendingPromises),B=[],J=(z)=>B.push(z),D=Promise.resolve().then(async()=>{await Q,await A(J),this._pendingPromises.delete(D);for(let z of B)this._baseObserver.next(z)}).catch((z)=>{this._pendingPromises.delete(D),this._baseObserver.error(z)});this._pendingPromises.add(D)}}var DA;var Av=k1(()=>{if(!Symbol.observable)Symbol.observable=Symbol("observable");DA=class DA{_subscriber;constructor(A){if(!(this instanceof DA))throw new TypeError("Observable cannot be called as a function");if(typeof A!=="function")throw new TypeError("Observable initializer must be a function");this._subscriber=A}subscribe(A,Q,B){if(typeof A!=="object"||A===null)A={next:A,error:Q,complete:B};return new _x1(A,this._subscriber)}pipe(A,...Q){let B=this;for(let J of[A,...Q])B=J(B);return B}[Symbol.observable](){return this}static from(A){let Q=typeof this==="function"?this:DA;if(A==null)throw new TypeError(A+" is not an object");let B=A[Symbol.observable];if(typeof B==="function"){let D=B.call(A);if(Object(D)!==D)throw new TypeError(D+" is not an object");if(D instanceof DA)return D;return new Q((z)=>D.subscribe(z))}let J=A[Symbol.iterator];if(typeof J==="function")return new Q((D)=>{_l(()=>{if(D.closed)return;for(let z of J.call(A))if(D.next(z),D.closed)return;D.complete()})});if(Array.isArray(A))return new Q((D)=>{_l(()=>{if(D.closed)return;for(let z of A)if(D.next(z),D.closed)return;D.complete()})});throw new TypeError(A+" is not observable")}static of(...A){return new(typeof this==="function"?this:DA)((B)=>{_l(()=>{if(B.closed)return;for(let J of A)if(B.next(J),B.closed)return;B.complete()})})}static get[Symbol.species](){return this}}});var r2,E7;var Sl=k1(()=>{Av();r2=class r2 extends DA{_observers=new Set;constructor(){super((A)=>{return this._observers.add(A),()=>this._observers.delete(A)})}next(A){for(let Q of this._observers)Q.next(A)}error(A){for(let Q of this._observers)Q.error(A)}complete(){for(let A of this._observers)A.complete()}};E7=class E7 extends r2{currentValue;constructor(A){super();this.currentValue=A}next(A){this.currentValue=A,super.next(A)}subscribe(A,Q,B){if(typeof A!=="object"||A===null){let J={};if(A)J.next=A;if(Q)J.error=Q;if(B)J.complete=B;A=J}return A.next?.(this.currentValue),super.subscribe(A)}getValue(){return this.currentValue}}});function $x1(){let A=new Set,Q=new E7(A);return{add(B){A.add(B),Q.next(A)},delete(B){A.delete(B),Q.next(A)},set:A,observable:Q}}function vx1(){let A=new Map,Q=new E7(A);return{get(B){return A.get(B)},set(B,J){A.set(B,J),Q.next(A)},delete(B){A.delete(B),Q.next(A)},map:A,observable:Q}}var kx1=k1(()=>{Sl()});function $l(A,Q){if(A===Q)return!0;if(A==null||Q==null||typeof A!=="object"||typeof Q!=="object")return!1;let B=Array.isArray(A),J=Array.isArray(Q);if(B!==J)return!1;if(B&&J)return A.length===Q.length&&A.every((z,Z)=>$l(z,Q[Z]));let D=new Set([...Object.keys(A),...Object.keys(Q)]);for(let z of D)if(!$l(A[z],Q[z]))return!1;return!0}function aQ1(A){return{dispose:A.unsubscribe.bind(A)}}async function H6(A,Q){return new Promise((B,J)=>{let D=A.subscribe({next:(z)=>{D.unsubscribe(),B(z)},error:J,complete:()=>{J("Observable completed without emitting a value")}});if(Q)Q.addEventListener("abort",()=>{D.unsubscribe(),J(new DOMException("Aborted","AbortError"))},{once:!0})})}async function IU(A,Q){return new Promise((B,J)=>{let D,z=!1,Z=A.subscribe({next:(G)=>{D=G,z=!0},error:J,complete:()=>{if(Z.unsubscribe(),z)B(D);else J("Observable completed without emitting a value")}});if(Q)Q.addEventListener("abort",()=>{Z.unsubscribe(),J(new DOMException("Aborted","AbortError"))},{once:!0})})}function MU(A){return new DA((Q)=>{A.then((B)=>{Q.next(B),Q.complete()}).catch((B)=>{Q.error(B)})})}function e8(A){return new DA((Q)=>{let B=!1,J=new AbortController,D=J.signal;return(async()=>{try{D?.throwIfAborted();let Z=await A(D);if(D?.throwIfAborted(),!B)Q.next(Z),Q.complete()}catch(Z){if(!B)if(D.aborted)Q.complete();else Q.error(Z)}})(),()=>{B=!0,J.abort()}})}function yx1(){let A=null,Q=[];return{observable:new DA((D)=>{let z=A?A.subscribe(D):null,Z={observer:D,subscription:z};return Q.push(Z),()=>{Z.subscription?.unsubscribe();let G=Q.indexOf(Z);if(G!==-1)Q.splice(G,1)}}),setSource:(D,z=!0)=>{if(A&&z)throw new Error("source is already set");A=D;for(let Z of Q)Z.subscription?.unsubscribe();for(let Z of Q)Z.subscription=A.subscribe(Z.observer)}}}function L6(A){return(Q)=>{return new DA((B)=>{let J=new vR(B),D=0,z=Q.subscribe({complete(){J.complete()},error(Z){J.error(Z)},next(Z){J.schedule(async(G)=>{let X=await A(Z,D);D++,G(X)})}});return()=>s4(z)})}}function bx1(A){return new DA((Q)=>{let B=0,J=setInterval(()=>{Q.next(B++)},A);return()=>clearInterval(J)})}function MZ(...A){return new DA((Q)=>{let B=0,J=A.map((D)=>D.subscribe({next:(z)=>Q.next(z),error:(z)=>Q.error(z),complete:()=>{if(B++,B===A.length)Q.complete()}}));return()=>{gx1(J)}})}function o4(...A){if(A.length===0)return rQ1;return new DA((Q)=>{let B=new Array(A.length),J=new Array(A.length).fill(0),D=new Array(A.length).fill(!1),z=0,Z=[],G=new vR(Q);for(let X=0;X<A.length;X++){let K=A[X];Z.push(K.subscribe({next(Y){B[X]=Y,D[X]=!0;let q=++J[X];if(D.every(Boolean))G.schedule(async(F)=>{if(J[X]===q)F([...B])})},error(Y){G.error(Y)},complete(){if(z++,z===A.length)G.complete()}}))}return()=>{gx1(Z)}})}function kR(A,Q){return new DA((B)=>{let J=(D)=>{B.next(D)};return A.addListener(Q,J),()=>{A.removeListener(Q,J),B.complete()}})}function vl(A,Q){if(typeof A!=="function")throw new TypeError(A+" is not a function");let B=arguments.length>1;return(J)=>new DA((D)=>{let z=!1,Z=Q,G=J.subscribe({next(X){let K=!z;if(z=!0,!K||B)try{Z=A(Z,X)}catch(Y){D.error(Y);return}else Z=X},error(X){D.error(X)},complete(){if(!z&&!B){D.error(new TypeError("Cannot reduce an empty sequence"));return}D.next(Z),D.complete()}});return()=>s4(G)})}function t7(A){let B=A?.shouldCountRefs??!0,J=zzA++,D=(z,...Z)=>{};return(z)=>{let Z=new r2,G=null,X=!1,K,Y=0;return new DA((q)=>{if(Y++,X)D("new subscriber, emitting buffered value",K),q.next(K);else D("new subscriber, no buffered value to emit");if(!G)G=z.subscribe({next:(E)=>{X=!0,K=E,Z.next(E)},error:(E)=>Z.error(E),complete:()=>Z.complete()});let F=Z.subscribe(q);return()=>{if(Y--,F.unsubscribe(),B&&Y===0){if(G)s4(G),G=null;X=!1}}})}}function gx1(A){for(let Q of A)if(Q)s4(Q)}function NZ(A){return(Q)=>{return new DA((B)=>{let J,D=Q.subscribe({next(z){J=z,B.next(z)},error(z){B.error(z)},complete(){B.complete()}});return()=>{s4(D),A(J)}})}}function e7(A=$l){return(Q)=>{return new DA((B)=>{let J=fx1,D=new vR(B),z=Q.subscribe({complete(){D.complete()},error(Z){D.error(Z)},next(Z){D.schedule(async(G)=>{if(J===fx1||!A(J,Z))J=Z,G(Z)})}});return()=>s4(z)})}}function NU(A){return ZzA(typeof A==="function"?{next:A}:A)}function ZzA(A){return(Q)=>new DA((B)=>{let J=typeof A==="function"?A():A,D=Q.subscribe({next(z){if(J.next)try{J.next(z)}catch(Z){B.error(Z);return}B.next(z)},error(z){if(J.error)try{J.error(z)}catch(Z){B.error(Z);return}B.error(z)},complete(){if(J.complete)try{J.complete()}catch(z){B.error(z);return}B.complete()}});return()=>s4(D)})}function k7(A){return(Q)=>new DA((B)=>{let J;try{B.next(A),J=Q.subscribe({next(D){B.next(D)},error(D){B.error(D)},complete(){B.complete()}})}catch(D){B.error(D)}return()=>{if(J)s4(J)}})}function nQ1(A){return(Q)=>new DA((B)=>{let J=0,D=Q.subscribe({next(z){if(J<A){if(B.next(z),J++,J===A)B.complete(),s4(D)}},error(z){B.error(z)},complete(){B.complete()}});return()=>{s4(D)}})}function l9(A){return(Q)=>{return new DA((B)=>{let J=0,D=null,z=!1,Z=()=>{if(z&&!D)B.complete()},G=Q.subscribe({next(X){if(D)s4(D),D=null;D=A(X,J++).subscribe({next(Y){B.next(Y)},error(Y){B.error(Y)},complete(){D=null,Z()}})},error(X){B.error(X)},complete(){z=!0,Z()}});return()=>{if(s4(G),D)s4(D)}})}}function CH(A){let Q={last:void 0,isSet:!1},B=A.subscribe((J)=>{Object.assign(Q,{last:J,isSet:!0})});return{value:Q,observable:A,subscription:B}}function jJ(A){return(Q)=>new DA((B)=>{let J=null,D=null,z=!1,Z=Q.subscribe({next:(G)=>{if(D=G,z=!0,J===null)J=setTimeout(()=>{if(z)B.next(D),z=!1;J=null},A)},error:(G)=>B.error(G),complete:()=>{if(J!==null)clearTimeout(J);if(z)B.next(D);B.complete()}});return()=>{if(s4(Z),J!==null)clearTimeout(J)}})}function sQ1(A,Q){if(!Q.leading||!Q.trailing)throw new Error("leading and trailing must be true");return(B)=>new DA((J)=>{let D=0,z=null,Z=null,G=!1,X=B.subscribe({next:(K)=>{let Y=Date.now();if(Z=K,G=!0,Y-D>=A)J.next(K),D=Y,G=!1;else if(z===null)z=setTimeout(()=>{if(G)J.next(Z),D=Date.now(),G=!1;z=null},A-(Y-D));if(D===0)J.next(K),D=Y,G=!1},error:(K)=>J.error(K),complete:()=>{if(z!==null)clearTimeout(z);if(G)J.next(Z);J.complete()}});return()=>{if(s4(X),z!==null)clearTimeout(z)}})}function EM(...A){return new DA((Q)=>{let B=0,J=null;function D(){if(B>=A.length){Q.complete();return}J=A[B].subscribe({next:(Z)=>Q.next(Z),error:(Z)=>Q.error(Z),complete:()=>{B++,D()}})}return D(),()=>{if(J)s4(J)}})}function HM(A){return(Q)=>new DA((B)=>{let J=0,D=!1,z=null,Z=Q.subscribe({next(G){try{let X=A(G,J++);if(z)s4(z);z=X.subscribe({next(K){B.next(K)},error(K){B.error(K)},complete(){if(z=null,D&&!z)B.complete()}})}catch(X){B.error(X)}},error(G){B.error(G)},complete(){if(D=!0,!z)B.complete()}});return()=>{if(s4(Z),z)s4(z)}})}function xx1({onSubscribe:A,onUnsubscribe:Q}){return(B)=>new DA((J)=>{A?.();let D=B.subscribe(J);return()=>{s4(D),Q?.()}})}function CU(A){return(Q)=>DA.from(Q).pipe(l9((B)=>e8((J)=>A(B,J))))}function fR(A){return(Q)=>new DA((B)=>{let J,D=Q.subscribe({next(z){B.next(z)},error(z){try{J=A(z).subscribe({next(G){B.next(G)},error(G){B.error(G)},complete(){B.complete()}})}catch(Z){B.error(Z)}},complete(){B.complete()}});return()=>{if(s4(D),J)s4(J)}})}function PJ(A){return(Q)=>{return new DA((B)=>{let J=Q.subscribe({next(D){if(A(D))B.next(D)},error(D){B.error(D)},complete(){B.complete()}});return()=>s4(J)})}}function hx1(A,Q){return(B)=>{return new DA((J)=>{let D,z=0,Z=new vR(J),G=B.subscribe({complete(){Z.complete()},error(X){Z.error(X)},next(X){Z.schedule(async(K)=>{D=await A(z===0?typeof Q==="undefined"?X:Q:D,X,z++),K(D)})}});return()=>s4(G)})}}var rQ1,Qv,P62,zzA=0,fx1;var oQ1=k1(()=>{Av();Sl();rQ1=new DA((A)=>{A.complete()}),Qv=new DA(()=>{});P62=Symbol("noInitialValue");fx1={}});function kl(A,Q){return(B)=>{return DA.from(B).pipe(l9((J)=>J===AY?DA.of(AY):A(J).pipe(fR((D)=>DA.of(D instanceof Error?D:new Error(D))),k7(AY))),t7(Q))}}function GzA(){return(A)=>DA.from(A).pipe(PJ((Q)=>Q!==AY))}async function mx1(A,Q){let B=await H6(DA.from(A).pipe(GzA()),Q);if(B instanceof Error)throw B;return B}var AY;var ux1=k1(()=>{Av();oQ1();AY=Symbol.for("@@pendingOperation")});var P6=k1(()=>{kx1();Av();ux1();oQ1();Sl()});function cx1(A){px1.setSource(A.pipe(t7()),!1)}var px1,e2;var AQ=k1(()=>{P6();px1=yx1();e2=px1.observable});function lx1(){if(typeof process==="object")return process.platform==="win32"?"windows":"posix";else if(typeof navigator==="object")return navigator.userAgent.indexOf("Windows")>=0?"windows":"posix";return"posix"}function dx1(A,Q){if(!A.scheme&&Q)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${A.authority}", path: "${A.path}", query: "${A.query}", fragment: "${A.fragment}"}`);if(A.scheme&&!XzA.test(A.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(A.path){if(A.authority){if(!KzA.test(A.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(YzA.test(A.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function qzA(A,Q){if(!A&&!Q)return"file";return A}function UzA(A,Q){switch(A){case"https":case"http":case"file":if(!Q)Q=zX;else if(Q[0]!==zX)Q=zX+Q;break}return Q}class v2{static isUri(A){if(A instanceof v2)return!0;if(!A)return!1;let Q=A;return typeof Q.authority==="string"&&typeof Q.fragment==="string"&&typeof Q.path==="string"&&typeof Q.query==="string"&&typeof Q.scheme==="string"&&typeof Q.fsPath==="string"&&typeof Q.with==="function"&&typeof Q.toString==="function"}scheme;authority;path;query;fragment;platform;constructor(A,Q,B,J,D,z=!1,Z){if(typeof A==="object")this.scheme=A.scheme||w4,this.authority=A.authority||w4,this.path=A.path||w4,this.query=A.query||w4,this.fragment=A.fragment||w4,this.platform=A.platform;else this.scheme=qzA(A,z),this.authority=Q||w4,this.path=UzA(this.scheme,B||w4),this.query=J||w4,this.fragment=D||w4,this.platform=Z,dx1(this,z)}get fsPath(){return sx1(this,!1)}with(A){if(!A)return this;let{scheme:Q,authority:B,path:J,query:D,fragment:z,platform:Z}=A;if(Q===void 0)Q=this.scheme;else if(Q===null)Q=w4;if(B===void 0)B=this.authority;else if(B===null)B=w4;if(J===void 0)J=this.path;else if(J===null)J=w4;if(D===void 0)D=this.query;else if(D===null)D=w4;if(z===void 0)z=this.fragment;else if(z===null)z=w4;if(Z===void 0)Z=this.platform;else if(Z===null)Z=void 0;if(Q===this.scheme&&B===this.authority&&J===this.path&&D===this.query&&z===this.fragment&&Z===this.platform)return this;return new wM(Q,B,J,D,z,!1,Z)}static parse(A,Q=!1){let B=FzA.exec(A);if(!B)return new wM(w4,w4,w4,w4,w4);return new wM(B[2]||w4,fl(B[4]||w4),fl(B[5]||w4),fl(B[7]||w4),fl(B[9]||w4),Q)}static file(A,Q=lx1()){let B=w4;if(Q==="windows")A=A.replace(/\\/g,zX);if(A[0]===zX&&A[1]===zX){let J=A.indexOf(zX,2);if(J===-1)B=A.substring(2),A=zX;else B=A.substring(2,J),A=A.substring(J)||zX}return new wM("file",B,A,w4,w4,!1,Q)}static from(A){let Q=new wM(A.scheme,A.authority,A.path,A.query,A.fragment,!0,A.platform);return dx1(Q,!0),Q}toString(A=!1){return tQ1(this,A)}toJSON(){return this}static revive(A){if(!A)return A;if(A instanceof v2)return A;let Q=new wM(A),B=A;return Q._formatted=B.external,Q._fsPath=B._sep===rx1(Q.platform)?B.fsPath:null,Q}}function rx1(A){return A==="windows"?1:void 0}function ix1(A,Q,B){let J=void 0;for(let D=0;D<A.length;D++){let z=A.charCodeAt(D);if(z>=97&&z<=122||z>=65&&z<=90||z>=48&&z<=57||z===45||z===46||z===95||z===126||Q&&z===47||B&&z===91||B&&z===93||B&&z===58){if(J!==void 0)J+=A.charAt(D)}else{if(J===void 0)J=A.substring(0,D);let Z=nx1[z];if(Z!==void 0)J+=Z;else J+=encodeURIComponent(A.charAt(D))}}return J!==void 0?J:A}function EzA(A){let Q=void 0;for(let B=0;B<A.length;B++){let J=A.charCodeAt(B);if(J===35||J===63){if(Q===void 0)Q=A.substring(0,B);Q+=nx1[J]}else if(Q!==void 0)Q+=A[B]}return Q!==void 0?Q:A}function sx1(A,Q){let B;if(A.authority&&A.path.length>1&&A.scheme==="file")B=`//${A.authority}${A.path}`;else if(A.path.charCodeAt(0)===47&&(A.path.charCodeAt(1)>=65&&A.path.charCodeAt(1)<=90||A.path.charCodeAt(1)>=97&&A.path.charCodeAt(1)<=122)&&A.path.charCodeAt(2)===58)if(!Q)B=A.path[1].toLowerCase()+A.path.substring(2);else B=A.path.substring(1);else B=A.path;if(A.platform==="windows")B=B.replace(/\//g,"\\");return B}function tQ1(A,Q){let B=!Q?ix1:EzA,J="",{scheme:D,authority:z,path:Z,query:G,fragment:X}=A;if(D)J+=D,J+=":";if(z||D==="file")J+=zX,J+=zX;if(z){let K=z.indexOf("@");if(K!==-1){let Y=z.substring(0,K);if(z=z.substring(K+1),K=Y.lastIndexOf(":"),K===-1)J+=B(Y,!1,!1);else J+=B(Y.substring(0,K),!1,!1),J+=":",J+=B(Y.substring(K+1),!1,!0);J+="@"}if(z=z.toLowerCase(),K=z.lastIndexOf(":"),K===-1)J+=B(z,!1,!0);else J+=B(z.substring(0,K),!1,!0),J+=z.substring(K)}if(Z){if(Z.length>=3&&Z.charCodeAt(0)===47&&Z.charCodeAt(2)===58){let K=Z.charCodeAt(1);if(K>=65&&K<=90)Z=`/${String.fromCharCode(K+32)}:${Z.substring(3)}`}else if(Z.length>=2&&Z.charCodeAt(1)===58){let K=Z.charCodeAt(0);if(K>=65&&K<=90)Z=`${String.fromCharCode(K+32)}:${Z.substring(2)}`}J+=B(Z,!0,!1)}if(G)J+="?",J+=B(G,!1,!1);if(X)J+="#",J+=!Q?ix1(X,!1,!1):X;return J}function ox1(A){try{return decodeURIComponent(A)}catch{if(A.length>3)return A.substring(0,3)+ox1(A.substring(3));else return A}}function fl(A){if(!A.match(ax1))return A;return A.replace(ax1,(Q)=>ox1(Q))}function WM(A){return A.scheme==="file"}function Bv(A){return v2.parse(A)}function A9(A){return A.toString()}function UB(A){if(typeof A==="string"||A instanceof URL)return v2.parse(A.toString());return A}var XzA,KzA,YzA,w4="",zX="/",FzA,wM,nx1,ax1;var yl=k1(()=>{XzA=/^\w[\w\d+.-]*$/,KzA=/^\//,YzA=/^\/\//;FzA=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;wM=class wM extends v2{_formatted=null;_fsPath=null;get fsPath(){if(!this._fsPath)this._fsPath=sx1(this,!1);return this._fsPath}toString(A=!1){if(!A){if(!this._formatted)this._formatted=tQ1(this,!1);return this._formatted}return tQ1(this,!0)}toJSON(){let A={};if(this._fsPath)A.fsPath=this._fsPath,A._sep=rx1(this.platform);if(this._formatted)A.external=this._formatted;if(A.scheme=this.scheme,A.authority=this.authority,A.path=this.path,A.query=this.query,A.fragment=this.fragment,this.platform)A.platform=this.platform;return A}};nx1={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};ax1=/(%[0-9A-Za-z][0-9A-Za-z])+/g});function eQ1(A){if(A==="/")return"/";if(A==="")return".";let Q=A.replace(/\/+$/,"");if(!Q)return".";let B=Q.lastIndexOf("/");if(B===-1)return".";if(B===0)return"/";return Q.slice(0,B)}function IM(A){let Q=A.replace(/\/+$/,"");if(!Q)return"";let B=Q.lastIndexOf("/");return B===-1?Q:Q.slice(B+1)}function bl(...A){if(A.length===0)return".";let Q="";for(let Z of A)if(Z)if(Q)Q+="/"+Z;else Q=Z;if(!Q)return".";let B=Q.endsWith("/"),J=Q.split("/").filter(Boolean),D=[];for(let Z of J)if(Z===".."){if(D.length>0&&D[D.length-1]!=="..")D.pop();else if(!Q.startsWith("/"))D.push("..")}else if(Z!==".")D.push(Z);let z=Q.startsWith("/")?"/"+D.join("/"):D.join("/");if(!z)z=Q.startsWith("/")?"/":".";if(B&&z!=="/"&&z!==".")z+="/";return z}function tx1(A,Q,B="/",J="/",D=!0){function z(q,F){return D?q===F:q.toLowerCase()===F.toLowerCase()}if(B==="/")A=A.replaceAll(/\/{2,}/g,"/"),Q=Q.replaceAll(/\/{2,}/g,"/");else A=A.replaceAll(/\\{2,}/g,"\\"),Q=Q.replaceAll(/\\{2,}/g,"\\");if(A!==B&&A.endsWith(B))A=A.slice(0,-1);if(Q!==B&&Q.endsWith(B))Q=Q.slice(0,-1);if(z(A,Q))return"";if(!A.startsWith(B)&&Q.startsWith(B))return Q;let Z=A===B?[""]:A.split(B),G=Q===B?[""]:Q.split(B),X=0;while(X<Z.length&&X<G.length&&z(Z[X],G[X]))X++;let K=Z.length-X,Y=[];for(let q=0;q<K;q++)Y.push("..");return Y.push(...G.slice(X)),Y.join(J)}function gl(A){let Q=IM(A.replace(/\/+$/,"")),B=Q.lastIndexOf(".");if(B===0||B===-1)return"";return Q.slice(B)}function xl(A){if(A=UB(A),A.scheme==="file")return A.path;return A.toString()}var Jv=k1(()=>{yl()});function HzA(A,...Q){return A=UB(A),A.with({path:bl(A.path,...Q)})}function wzA(A,...Q){let B=A.path,J=!1;if(B[0]!==hl)B=hl+B,J=!0;let D=B;for(let z of Q)if(z.startsWith("/"))D=bl(z);else D=bl(D,z);if(D!=="/"&&D.endsWith("/"))D=D.replace(/\/+$/,"");if(J&&D[0]===hl&&!A.authority)D=D.substring(1);return A.with({path:D})}function WzA(A){if(A=UB(A),A.path.length===0||A.path===hl)return A;let Q=eQ1(A.path);if(Q.length===1&&Q===".")Q="";return A.with({path:Q})}function IzA(A,Q){if(Q.scheme!==A.scheme||(Q.authority??"")!==(A.authority??""))return!1;let B=Q.scheme==="file"&&Q.path.match(/^\/[A-Za-z]:/),J=B?Q.path.slice(0,2).toUpperCase()+Q.path.slice(2):Q.path,D=B?A.path.slice(0,2).toUpperCase()+A.path.slice(2):A.path;return D===J||D.startsWith(J.endsWith("/")?J:`${J}/`)||J.endsWith("/")&&D===J.slice(0,-1)}function MzA(A,Q){if(A.scheme!==Q.scheme||A.authority!==Q.authority||A.query!==Q.query||A.fragment!==Q.fragment)return null;let B=A.platform==="windows"?"\\":"/";return tx1(A.path,Q.path,B,B)}function NzA(A,Q){let B=A9(A),J=A9(Q);if(B.startsWith("file:///")&&J.startsWith("file:///"))return ex1(B)===ex1(J);return B===J}function ex1(A){return A.replace(/^file:\/\/\/([A-Za-z]):/,(Q)=>`file:///${Q.toLowerCase()}:`)}var hl="/",k2;var AB1=k1(()=>{Jv();yl();k2={joinPath:HzA,resolvePath:wzA,dirname:WzA,basename:(A)=>IM(A.path),extname:(A)=>gl(A.path),hasPrefix:IzA,relativePath:MzA,equalURIs:NzA}});var _4=k1(()=>{yl();AB1();Jv()});function BB1(A,Q){let B=CzA(A,Q);return typeof B==="string"?B:B.toString()}function CzA(A,Q,B=!0){if(!Q)Q=VzA();let{workspaceFolders:J,isWindows:D,homeDir:z}=Q,Z=typeof A==="string"?v2.parse(A):v2.from(A),G=B&&J.length>=2;for(let X of J){let K=UB(X);if(k2.hasPrefix(Z,K)){let Y=K.path.endsWith("/")?K.path.slice(0,-1):K.path,q=G?IM(K.path)+(D?"\\":"/"):"";return QB1(q+Z.path.slice(Y.length+1),D,Z.scheme)}}if(Z?.scheme==="file"){if(z){let X=UB(z);if(k2.hasPrefix(Z,X)){let K=X.path.endsWith("/")?X.path.slice(0,-1):X.path,Y=Z.path.slice(K.length+1);return QB1("~"+(D?"\\":"/")+Y,D,Z.scheme)}}return QB1(Z.fsPath,D,Z.scheme)}return Z}function QB1(A,Q,B){return Q&&B==="file"?A.replaceAll("/","\\"):A}function Ah1(A){let Q=ml;return ml=A,Q}function VzA(){if(ml)return ml;throw new Error("must call setDisplayPathEnvInfo before calling displayPath() and related functions")}var ml=null;var JB1=k1(()=>{_4();Jv();AB1()});function Dv({onlyFirst:A=!1}={}){let B=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(B,A?void 0:"g")}function MM(A){if(typeof A!=="string")throw new TypeError(`Expected a \`string\`, got \`${typeof A}\``);return A.replace(OzA,"")}var OzA;var ul=k1(()=>{OzA=Dv()});var Bh1=t((K22,DB1)=>{var VH={};if(typeof DB1=="undefined")window.eastasianwidth=VH;else DB1.exports=VH;VH.eastAsianWidth=function(A){var Q=A.charCodeAt(0),B=A.length==2?A.charCodeAt(1):0,J=Q;if(55296<=Q&&Q<=56319&&(56320<=B&&B<=57343))Q&=1023,B&=1023,J=Q<<10|B,J+=65536;if(J==12288||65281<=J&&J<=65376||65504<=J&&J<=65510)return"F";if(J==8361||65377<=J&&J<=65470||65474<=J&&J<=65479||65482<=J&&J<=65487||65490<=J&&J<=65495||65498<=J&&J<=65500||65512<=J&&J<=65518)return"H";if(4352<=J&&J<=4447||4515<=J&&J<=4519||4602<=J&&J<=4607||9001<=J&&J<=9002||11904<=J&&J<=11929||11931<=J&&J<=12019||12032<=J&&J<=12245||12272<=J&&J<=12283||12289<=J&&J<=12350||12353<=J&&J<=12438||12441<=J&&J<=12543||12549<=J&&J<=12589||12593<=J&&J<=12686||12688<=J&&J<=12730||12736<=J&&J<=12771||12784<=J&&J<=12830||12832<=J&&J<=12871||12880<=J&&J<=13054||13056<=J&&J<=19903||19968<=J&&J<=42124||42128<=J&&J<=42182||43360<=J&&J<=43388||44032<=J&&J<=55203||55216<=J&&J<=55238||55243<=J&&J<=55291||63744<=J&&J<=64255||65040<=J&&J<=65049||65072<=J&&J<=65106||65108<=J&&J<=65126||65128<=J&&J<=65131||110592<=J&&J<=110593||127488<=J&&J<=127490||127504<=J&&J<=127546||127552<=J&&J<=127560||127568<=J&&J<=127569||131072<=J&&J<=194367||177984<=J&&J<=196605||196608<=J&&J<=262141)return"W";if(32<=J&&J<=126||162<=J&&J<=163||165<=J&&J<=166||J==172||J==175||10214<=J&&J<=10221||10629<=J&&J<=10630)return"Na";if(J==161||J==164||167<=J&&J<=168||J==170||173<=J&&J<=174||176<=J&&J<=180||182<=J&&J<=186||188<=J&&J<=191||J==198||J==208||215<=J&&J<=216||222<=J&&J<=225||J==230||232<=J&&J<=234||236<=J&&J<=237||J==240||242<=J&&J<=243||247<=J&&J<=250||J==252||J==254||J==257||J==273||J==275||J==283||294<=J&&J<=295||J==299||305<=J&&J<=307||J==312||319<=J&&J<=322||J==324||328<=J&&J<=331||J==333||338<=J&&J<=339||358<=J&&J<=359||J==363||J==462||J==464||J==466||J==468||J==470||J==472||J==474||J==476||J==593||J==609||J==708||J==711||713<=J&&J<=715||J==717||J==720||728<=J&&J<=731||J==733||J==735||768<=J&&J<=879||913<=J&&J<=929||931<=J&&J<=937||945<=J&&J<=961||963<=J&&J<=969||J==1025||1040<=J&&J<=1103||J==1105||J==8208||8211<=J&&J<=8214||8216<=J&&J<=8217||8220<=J&&J<=8221||8224<=J&&J<=8226||8228<=J&&J<=8231||J==8240||8242<=J&&J<=8243||J==8245||J==8251||J==8254||J==8308||J==8319||8321<=J&&J<=8324||J==8364||J==8451||J==8453||J==8457||J==8467||J==8470||8481<=J&&J<=8482||J==8486||J==8491||8531<=J&&J<=8532||8539<=J&&J<=8542||8544<=J&&J<=8555||8560<=J&&J<=8569||J==8585||8592<=J&&J<=8601||8632<=J&&J<=8633||J==8658||J==8660||J==8679||J==8704||8706<=J&&J<=8707||8711<=J&&J<=8712||J==8715||J==8719||J==8721||J==8725||J==8730||8733<=J&&J<=8736||J==8739||J==8741||8743<=J&&J<=8748||J==8750||8756<=J&&J<=8759||8764<=J&&J<=8765||J==8776||J==8780||J==8786||8800<=J&&J<=8801||8804<=J&&J<=8807||8810<=J&&J<=8811||8814<=J&&J<=8815||8834<=J&&J<=8835||8838<=J&&J<=8839||J==8853||J==8857||J==8869||J==8895||J==8978||9312<=J&&J<=9449||9451<=J&&J<=9547||9552<=J&&J<=9587||9600<=J&&J<=9615||9618<=J&&J<=9621||9632<=J&&J<=9633||9635<=J&&J<=9641||9650<=J&&J<=9651||9654<=J&&J<=9655||9660<=J&&J<=9661||9664<=J&&J<=9665||9670<=J&&J<=9672||J==9675||9678<=J&&J<=9681||9698<=J&&J<=9701||J==9711||9733<=J&&J<=9734||J==9737||9742<=J&&J<=9743||9748<=J&&J<=9749||J==9756||J==9758||J==9792||J==9794||9824<=J&&J<=9825||9827<=J&&J<=9829||9831<=J&&J<=9834||9836<=J&&J<=9837||J==9839||9886<=J&&J<=9887||9918<=J&&J<=9919||9924<=J&&J<=9933||9935<=J&&J<=9953||J==9955||9960<=J&&J<=9983||J==10045||J==10071||10102<=J&&J<=10111||11093<=J&&J<=11097||12872<=J&&J<=12879||57344<=J&&J<=63743||65024<=J&&J<=65039||J==65533||127232<=J&&J<=127242||127248<=J&&J<=127277||127280<=J&&J<=127337||127344<=J&&J<=127386||917760<=J&&J<=917999||983040<=J&&J<=1048573||1048576<=J&&J<=1114109)return"A";return"N"};VH.characterLength=function(A){var Q=this.eastAsianWidth(A);if(Q=="F"||Q=="W"||Q=="A")return 2;else return 1};function Qh1(A){return A.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}VH.length=function(A){var Q=Qh1(A),B=0;for(var J=0;J<Q.length;J++)B=B+this.characterLength(Q[J]);return B};VH.slice=function(A,Q,B){if(textLen=VH.length(A),Q=Q?Q:0,B=B?B:1,Q<0)Q=textLen+Q;if(B<0)B=textLen+B;var J="",D=0,z=Qh1(A);for(var Z=0;Z<z.length;Z++){var G=z[Z],X=VH.length(G);if(D>=Q-(X==2?1:0))if(D+X<=B)J+=G;else break;D+=X}return J}});var zB1=t((Y22,Jh1)=>{Jh1.exports=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g}});function uB(A,Q){if(typeof A!=="string"||A.length===0)return 0;if(Q={ambiguousIsNarrow:!0,countAnsiEscapeCodes:!1,...Q},!Q.countAnsiEscapeCodes)A=MM(A);if(A.length===0)return 0;let B=Q.ambiguousIsNarrow?1:2,J=0;for(let{segment:D}of new Intl.Segmenter().segment(A)){let z=D.codePointAt(0);if(z<=31||z>=127&&z<=159)continue;if(z>=768&&z<=879)continue;if(zh1.default().test(D)){J+=2;continue}switch(Dh1.default.eastAsianWidth(D)){case"F":case"W":{J+=2;break}case"A":{J+=B;break}default:J+=1}}return J}var Dh1,zh1;var pl=k1(()=>{ul();Dh1=hA(Bh1(),1),zh1=hA(zB1(),1)});function cl(A,Q,B,J="..."){if(Q<=B)return A;let D=B-J.length,z=0,Z=0,G=0;for(let X=0;X<A.length;X++)if(A[X]==="\x1B"||A[X]==="\x1B"){let K=X+1;while(K<A.length&&A[K-1]!=="m")K++;X=K-1}else{let K=uB(A[X]);if(z=z+K,z===D){Z=X;break}else if(z>D){Z=G;break}else G=X}if(Z>0)return A.substring(0,Z+1)+J;return A}var Zh1=k1(()=>{pl()});var Gh1="run_terminal_command",zv="read_file",U5="Task",Xh1="chat_llm",_J="codebase_search_agent",CZ="get_diagnostics",Z4="Bash",ZX="oracle",VU="mermaid",Oz="todo_read",c5="todo_write",OU="read_web_page",Kh1="run_javascript",Yh1="summarize_git_diff",VZ="create_file",OZ="glob",yR="undo_edit",d9="Read",SJ="edit_file",OH="format_file",GX="list_directory",ll="web_search",t4="Grep";var Uh1;var qh1=k1(()=>{Uh1={name:"amp",description:"An agentic coding tool, in research preview from Sourcegraph.",private:!0,displayName:"Amp (Research Preview)",version:"0.0.0-dev",publisher:"sourcegraph",license:"Apache-2.0",categories:["AI","Chat","Programming Languages","Machine Learning"],keywords:["sourcegraph","amp","amp code","ampcode","ai","assistant","llm","Claude","Claude Sonnet 4","Claude Sonnet"],icon:"./resources/amp-icon.png",scripts:{dev:"pnpm run -s dev:desktop","dev:insiders":"pnpm run -s dev:desktop:insiders","start:dev:desktop":"node scripts/start-dev.js","start:dev:desktop:insiders":"node scripts/start-dev.js --insiders","start:dev:web":"vscode-test-web --extensionDevelopmentPath=. --browserOption=--disable-web-security --verbose --open-devtools --verbose --printServerLog","start:dev:debugger":"pnpm run -s build:dev:desktop && pnpm run -s ./src/autoedit/webview dev","dev:desktop":"pnpm run -s build:dev:desktop && pnpm run start:dev:desktop","dev:desktop:insiders":"pnpm run -s build:dev:desktop && pnpm run start:dev:desktop:insiders","build:dev:desktop":"vite build",build:"pnpm run -s _build:extension && concurrently 'pnpm run -s _build:debugger' 'pnpm run -s _build:web'","build:production":"pnpm run -s _build:extension:production && concurrently 'pnpm run -s _build:debugger:production' 'pnpm run -s _build:web:production'","_build:extension":"vite build","_build:extension:production":"cross-env NODE_ENV=production vite build","_build:web":"pnpm -C ../web run build && cp -R ../web/build dist/web-build","_build:web:production":"pnpm -C ../web run build:production && cp -R ../web/build dist/web-build","_build:debugger":"pnpm -C ./src/autoedit/webview run build && cp -R ./src/autoedit/webview/build dist/autoedit","_build:debugger:production":"cross-env NODE_ENV=production pnpm -C ./src/autoedit/webview run build && cp -R ./src/autoedit/webview/build dist/autoedit","build:icon-font":"npx -y svgtofont --sources ./icon-font/svg --output ./icon-font/build && cp ./icon-font/build/amp-icons.woff ./resources","dev:forks":"pnpm dev:vsix && cursor --install-extension dist/amp-dev.vsix --force && windsurf --install-extension dist/amp-dev.vsix --force","dev:vsix":"vite build && pnpm run -s _build:web && pnpm run -s _build:debugger && vsce package --no-dependencies --pre-release --out dist/amp-dev.vsix && code --install-extension dist/amp-dev.vsix --force","dev:insiders:vsix":"vite build && pnpm run -s _build:web && vsce package --no-dependencies --pre-release --out dist/amp-dev.vsix && code-insiders --install-extension dist/amp-dev.vsix --force",test:"vitest run","test:dev":"vitest"},homepage:"https://ampcode.com",repository:{type:"git",url:"https://github.com/sourcegraph/amp",directory:"vscode"},author:{name:"The Amp Team at Sourcegraph",email:"amp-devs@sourcegraph.com"},engines:{vscode:"^1.79.0",node:">=22.0.0"},main:"./dist/extension.node.js",activationEvents:["onStartupFinished"],contributes:{viewsContainers:{activitybar:[{id:"sourcegraph-amp",title:"Amp",icon:"./resources/amp-mark.svg"}]},views:{"sourcegraph-amp":[{type:"webview",id:"amp.sidebarView",name:"Amp",icon:"./resources/amp-mark.svg",visibility:"visible"}]},commands:[{command:"amp.agent.newThread",title:"New Thread",category:"Amp",icon:"$(add)"},{command:"amp.agent.newWindow",title:"New Agent Window",category:"Amp",icon:"$(browser)",enablement:"amp.activated"},{command:"amp.agent.toggleVisibility",title:"Toggle Agent",category:"Amp"},{command:"amp.agent.focusPromptEditor",title:"Focus Prompt Editor",category:"Amp"},{command:"amp.agent.addSelectionToPromptEditor",title:"Add Selection to Prompt",category:"Amp",enablement:"editorHasSelection"},{command:"amp.agent.setPromptFromRecentActions",title:"Create Prompt from Recent Actions",category:"Amp"},{command:"amp.agent.findInThread",title:"Find in Thread",category:"Amp",enablement:"amp.agent.active"},{command:"amp.agent.collapseAllInThread",title:"Collapse All Blocks in Thread",category:"Amp"},{command:"amp.agent.expandAllInThread",title:"Expand All Blocks in Thread",category:"Amp"},{command:"amp.agent.expandToggleInThread",title:"Toggle Expand All Blocks in Thread",category:"Amp"},{command:"amp.agent.toggleThreadSwitcher",title:"Switch to Thread...",category:"Amp",enablement:"amp.agent.active"},{command:"amp.agent.navigateThreadPrevious",title:"Navigate to Previous Thread",category:"Amp",enablement:"amp.agent.active && amp.agent.activeView == 'sidebar'"},{command:"amp.agent.navigateThreadNext",title:"Navigate to Next Thread",category:"Amp",enablement:"amp.agent.active && amp.agent.activeView == 'sidebar'"},{command:"amp.openThreadJSON",title:"Open Thread JSON",category:"Amp",enablement:"amp.isDevelopmentMode"},{command:"amp.testThreadSummary",title:"Test Thread Summary",category:"Amp",enablement:"amp.isDevelopmentMode"},{command:"amp.tab.quickPickMenu",title:"Show Tab Menu",category:"Amp",icon:"$(debug)",enablement:"amp.activated"},{command:"amp.tab.showDebugPanel",title:"Show Amp Tab Debug Panel",category:"Amp",icon:"$(debug)",enablement:"amp.activated && config.amp.tab.enabled"},{command:"amp.tab.manualTrigger",title:"Amp Tab Manual Trigger",category:"Amp",enablement:"amp.activated && config.amp.tab.enabled"},{command:"amp.tab.toggleForCurrentDocument",title:"Toggle Amp Tab for Current Document",category:"Amp",enablement:"amp.activated && config.amp.tab.enabled"},{command:"amp.tab.debugInfo",title:"Open Amp Tab Debug Info",category:"Amp",enablement:"amp.activated && config.amp.tab.enabled"},{command:"amp.mcp.restartServers",title:"Restart MCP Servers",category:"Amp"},{command:"amp.tab.clearStuckDecorations",title:"Amp Tab Clear Stuck Decorations",category:"Amp"}],menus:{"editor/context":[{command:"amp.agent.addSelectionToPromptEditor",when:"editorHasSelection",group:"amp@1"}]},keybindings:[{command:"amp.agent.newThread",key:"ctrl+l",mac:"cmd+l",when:"amp.primaryShortcuts"},{command:"amp.agent.newThread",key:"ctrl+alt+j",mac:"cmd+alt+j",when:"!amp.primaryShortcuts"},{command:"amp.agent.newWindow",key:"ctrl+shift+l",mac:"cmd+shift+l"},{command:"amp.agent.toggleVisibility",key:"ctrl+i",mac:"cmd+i",when:"amp.primaryShortcuts"},{command:"amp.agent.toggleVisibility",key:"ctrl+alt+u",mac:"cmd+alt+u",when:"!amp.primaryShortcuts"},{command:"amp.agent.findInThread",key:"ctrl+f",mac:"cmd+f",when:"amp.agent.active"},{command:"amp.agent.toggleThreadSwitcher",key:"ctrl+k",mac:"cmd+k",when:"amp.agent.active"},{command:"amp.agent.navigateThreadPrevious",key:"ctrl+shift+[",mac:"cmd+shift+[",when:"amp.agent.active && amp.agent.activeView == 'sidebar'"},{command:"amp.agent.navigateThreadNext",key:"ctrl+shift+]",mac:"cmd+shift+]",when:"amp.agent.active && amp.agent.activeView == 'sidebar'"},{command:"-extension.vim_tab",key:"tab",when:"editorTextFocus && vim.active && vim.mode != 'Insert' && !inlineEditIsVisible && !inDebugRepl"},{command:"-vscode-neovim.send",key:"tab",when:"neovim.init && (editorTextFocus && neovim.mode != insert && editorLangId not in neovim.editorLangIdExclusions || neovim.recording)"},{command:"amp.tab.accept",key:"tab",when:"editorTextFocus && amp.activated && amp.tab.active && !amp.nextCursorSuggested && !amp.editorHasMultipleLineSelection"},{command:"amp.tab.dismiss",key:"escape",when:"editorTextFocus && amp.activated && amp.tab.active && !amp.nextCursorSuggested && !suggestWidgetVisible && !amp.editorHasMultipleLineSelection"},{command:"amp.nextCursor.accept",key:"tab",when:"editorTextFocus && amp.activated && amp.nextCursorSuggested && !amp.editorHasMultipleLineSelection"},{command:"amp.nextCursor.discard",key:"escape",when:"editorTextFocus && amp.activated && amp.nextCursorSuggested && !suggestWidgetVisible && !amp.editorHasMultipleLineSelection"},{command:"amp.autoImport.accept",key:"tab",when:"editorTextFocus && amp.activated && config.amp.tab.enabled && amp.autoImportSuggested && !amp.editorHasMultipleLineSelection"},{command:"amp.autoImport.discard",key:"escape",when:"editorTextFocus && amp.activated && config.amp.tab.enabled && amp.autoImportSuggested && !amp.editorHasMultipleLineSelection"}],configuration:{type:"object",title:"Amp",properties:{"amp.url":{type:"string",examples:["https://ampcode.com/"],description:"URL to the Amp server, usually https://ampcode.com/",scope:"application"},"amp.notifications.enabled":{type:"boolean",default:!0,description:"Play notification sound when done or blocked",scope:"window"},"amp.mcpServers":{type:"object",description:"Model Context Protocol servers that expose tools",additionalProperties:{type:"object",oneOf:[{properties:{command:{type:"string"},args:{type:"array",items:{type:"string"}},env:{type:"object",additionalProperties:{type:"string"}}},required:["command"]},{properties:{url:{type:"string"}},required:["url"]}]}},"amp.tools.disable":{type:"array",description:"Disable specific tools by name.",items:{type:"string"},default:[]},"amp.experimental.tools":{type:"array",description:"Enable experimental tools by name. Available tools: chat_llm",items:{type:"string"},default:[],scope:"application"},"amp.dangerouslyAllowAll":{type:"boolean",description:"If true, never ask for confirmation when running commands",scope:"window",default:!1},"amp.commands.allowlist":{type:"array",description:'Run specific terminal commands without waiting for user confirmation. Each item in the array is a prefix. For example, "curl https://localhost:8080" means that command and any command that starts with that prefix can be run without user confirmation.',items:{type:"string"},default:[],scope:"window"},"amp.commands.strict":{type:"boolean",default:!1,description:"Enable strict command validation. When disabled, certain commands like Bazel get relaxed path validation.",scope:"application"},"amp.anthropic.thinking.enabled":{type:"boolean",default:!0,description:"Enable Claude's extended thinking capabilities",scope:"application"},"amp.terminal.commands.hide":{type:"boolean",default:!0,description:"Whether to hide the integrated VS Code terminal by default when starting commands",scope:"application"},"amp.tools.stopTimeout":{type:"number",default:300,description:"How many seconds to wait before canceling a running tool.",scope:"application"},"amp.terminal.commands.nodeSpawn.loadProfile":{type:"string",enum:["always","never","daily"],default:"always",description:"Before running commands (including MCP servers), whether to load environment variables from the user's profile (.bashrc, .zshrc, .envrc) as visible from the workspace root directory.",scope:"application"},"amp.todos.enabled":{type:"boolean",default:!0,description:"Enable TODOs tracking for managing tasks",scope:"application"},"amp.hooks":{type:"array",scope:"window",description:"[Experimental] Hooks are event handlers that can react to specific conditions.",items:{type:"object",properties:{compatibilityDate:{type:"string",const:"2025-05-13",default:"2025-05-13",description:"The version of the hook schema that this value was written to conform to"},id:{type:"string",description:"A unique identifier for the hook",examples:["run-vitest-with-env-vars"]},description:{type:"string",description:"A description of the hook"},on:{oneOf:[{type:"object",properties:{event:{type:"string",const:"tool:pre-execute",default:"tool:pre-execute",description:"Trigger when a tool is about to be executed"},tool:{oneOf:[{type:"string",description:"Tool name to match (e.g., 'edit_file')"},{type:"array",items:{type:"string"},description:"Tool names to match"}],description:"Trigger for the given tool name(s)"},"input.contains":{oneOf:[{type:"string",description:"String pattern to match in the tool input"},{type:"array",items:{type:"string"},description:"String patterns to match in the tool input"}],description:"Trigger only when the tool input contains the given literal string or strings"}},required:["event","tool","input.contains"]},{type:"object",properties:{event:{type:"string",const:"tool:post-execute",default:"tool:post-execute",description:"Trigger after a tool has been executed"},tool:{oneOf:[{type:"string",description:"Tool name to match (e.g., 'edit_file')"},{type:"array",items:{type:"string"},description:"Tool names to match"}],description:"Trigger for the given tool name(s)"}},required:["event","tool"]}]},action:{oneOf:[{type:"object",properties:{type:{type:"string",const:"send-user-message",default:"send-user-message",description:"Send a user message to interrupt the agent and cancel the tool call in the `tool:pre-execute` trigger before it starts to run"},message:{type:"string",description:"The text of the message to send"}},required:["type","message"]},{type:"object",properties:{type:{type:"string",const:"redact-tool-input",default:"redact-tool-input",description:"Redact the tool input after execution. Only allowed with `tool:post-execute` event."},redactedInput:{type:"object",description:"The replacement input data to use instead of the original tool input (must be an object)"}},required:["type","redactedInput"]}]},if:{type:"boolean",description:"A condition that determines whether the hook should be executed",default:!0}},required:["compatibilityDate","id","on","action"]},default:[]},"amp.tab.enabled":{type:"boolean",default:!1,description:"Enable Amp Tab",scope:"application"},"amp.tab.verboseLogs":{type:"boolean",default:!1,description:"Enable verbose logging for Amp Tab",scope:"application"},"amp.debugLogs":{type:"boolean",default:!1,description:"Enable debug logging in the Amp output channel",scope:"application"},"amp.tab.disabledLanguages":{type:"array",items:{type:"string"},default:[],examples:["markdown","python"],description:"List of language IDs for which Amp Tab is disabled",scope:"application"},"amp.tab.disableOnComment":{type:"boolean",default:!1,description:"Disable Amp Tab completions on comment lines",scope:"application"},"amp.tab.autoImport.enabled":{type:"boolean",default:!0,description:"Enable auto import in Amp Tab",scope:"application"},"amp.tab.dimissCommandIds":{type:"array",items:{type:"string"},default:["extension.vim_escape","vim.escape","vscode-neovim.escape","vscode-neovim.escapeKey"],description:"Command IDs to run when Escape is pressed to dismiss an Amp Tab suggestion",scope:"application"},"amp.experimental.connections":{type:"boolean",default:!1,description:"Enable external connections to provide additional tools to Amp",scope:"application"},"amp.experimental.fuzzySearch.enabled":{type:"boolean",default:!1,description:"Enable new fuzzy file search implementation using core FuzzyService. Provides better performance and accuracy for large repositories, but may use more memory during indexing.",scope:"window"},"amp.ui.zoomLevel":{type:"number",default:1,description:"Zoom level for the Amp UI",scope:"application"},"amp.experimental.reviewTool":{type:"boolean",default:!1,description:"Experimental: Enable the summarize_git_diff tool.",scope:"application"},"amp.summary.provider":{type:"string",enum:["anthropic","gemini"],default:"gemini",description:"Experimental: change summary provider.",scope:"application"},"amp.experimental.commandApproval.enabled":{type:"boolean",default:!1,description:"Enable experimental command approval system",scope:"window"},"amp.experimental.commandApproval.allow":{type:"array",items:{type:"string"},default:[],description:"Exact command prefixes that are automatically approved without user confirmation",scope:"window"},"amp.experimental.commandApproval.deny":{type:"array",items:{type:"string"},default:[],description:"Exact command prefixes that are automatically denied without user confirmation",scope:"window"},"amp.git.commit.coauthor.enabled":{type:"boolean",default:!0,description:"Enable adding Amp as co-author in git commits",scope:"window"},"amp.git.commit.ampThread.enabled":{type:"boolean",default:!0,description:"Enable adding Amp-Thread trailer in git commits",scope:"window"}}},icons:{"amp-agent-file":{description:"Amp agent file",default:{fontPath:"resources/amp-icons.woff",fontCharacter:"\\0041"}}}},capabilities:{untrustedWorkspaces:{supported:"limited",description:"Amp only uses MCP servers from trusted workspaces because they execute code.",restrictedConfigurations:["amp.mcpServers","amp.url","amp.anthropic.baseURL","amp.commands.allowlist"]},virtualWorkspaces:{supported:!1,description:"Amp is not supported in virtual workspaces like GitHub.dev because Amp requires local file system access and terminal capabilities."}},dependencies:{"@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.57.2","@opentelemetry/core":"^1.30.1","@opentelemetry/exporter-logs-otlp-http":"^0.57.2","@opentelemetry/exporter-metrics-otlp-http":"^0.57.2","@opentelemetry/exporter-trace-otlp-http":"^0.57.2","@opentelemetry/resources":"^1.30.1","@opentelemetry/sdk-logs":"^0.57.2","@opentelemetry/sdk-metrics":"^1.30.1","@opentelemetry/sdk-node":"^0.57.2","@opentelemetry/sdk-trace-base":"^1.30.1","@opentelemetry/sdk-trace-node":"^1.30.1","@opentelemetry/semantic-conventions":"^1.34.0","@sourcegraph/amp-core":"workspace:*","@sourcegraph/observable":"workspace:*","@sourcegraph/amp-uri":"workspace:*","canvaskit-wasm":"^0.40.0","detect-indent":"^7.0.1","fast-json-stable-stringify":"^2.1.0","fast-myers-diff":"^3.2.0","fast-xml-parser":"^5.2.3",lodash:"^4.17.21","lru-cache":"^11.1.0","node-fetch":"^3.3.2",shiki:"1.26.1",uuid:"^11.1.0","vscode-languageserver-textdocument":"^1.0.12"},devDependencies:{"@sourcegraph/amp-web":"workspace:*","@types/jest-image-snapshot":"^6.4.0","@types/lodash":"^4.17.15","@types/uuid":"^10.0.0","@types/vscode":"^1.79.0","@vscode/test-electron":"^2.4.1","@vscode/test-web":"*","@vscode/vsce":"^3.2.2","cross-env":"^7.0.3","crypto-browserify":"^3.12.1","jest-image-snapshot":"^6.5.0","os-browserify":"^0.3.0","path-browserify":"^1.0.1","rollup-plugin-polyfill-node":"^0.13.0",tsx:"^4.19.4","vite-plugin-static-copy":"^3.0.0"}}});function Fh1(){let A=LzA["amp.tools.stopTimeout"].default;return A*1000}function TzA(){throw new Error("requireVscode() called outside VS Code")}var LzA;var Eh1=k1(()=>{qh1();LzA=Uh1.contributes.configuration.properties});function Hh1(A,Q){return new DA((B)=>{let J=setTimeout(D,Q);function D(){B.next({status:"error",error:{message:`Tool execution timed out after ${Q/1000} seconds`}}),B.complete()}function z(){if(J)clearTimeout(J);J=setTimeout(D,Q)}let Z=A.subscribe({next:(G)=>{z(),B.next(G)},error:(G)=>{if(J)clearTimeout(J),J=null;B.error(G)},complete:()=>{if(J)clearTimeout(J),J=null;B.complete()}});return()=>{if(J)clearTimeout(J),J=null;Z.unsubscribe()}})}var wh1=k1(()=>{P6()});function QQ(A){return["done","error","rejected-by-user","cancelled"].includes(A.status)}function RU(){let A=[],Q=new r2;function B(D,z){let Z=A.filter((G)=>G.spec.name===D);for(let G of Z)if(Zv(G.spec,z).enabled)return G;return}function J(D,z,Z){if(!D)throw new Error("spec is required");let G={spec:D,fn:Promise.resolve(z),preprocessArgs:Z};return A.push(G),Q.next(),{dispose:()=>{let X=A.indexOf(G);if(X!==-1)A.splice(X,1),Q.next()}}}return{registerTool({spec:D,fn:z,preprocessArgs:Z}){if(!z)return jzA;return J(D,z,Z)},tools:o4(e2,Q.pipe(k7(void 0))).pipe(L6(([D])=>{return A.map((z)=>({spec:z.spec,...Zv(z.spec,D)})).sort((z,Z)=>z.spec.name.localeCompare(Z.spec.name))})),invokeTool(D,z,Z){let G=performance.now(),X=()=>_zA.record(performance.now()-G,{toolName:D});if(D===ZB1&&z.args&&"invalid_tool_name"in z.args&&typeof z.args.invalid_tool_name==="string"){dl.add(1,{toolName:D,error:"invalid"});let Y=PzA(z.args.invalid_tool_name);return new DA((q)=>{q.error(new Error(Y))})}let K=B(D,Z.config);if(!K){let Y=A.filter((H)=>H.spec.name===D);if(Y.length===0)return dl.add(1,{toolName:D,error:"not_found"}),new DA((H)=>{H.error(new Error(`tool ${JSON.stringify(D)} not found`))});let q=Y[0],F=Zv(q.spec,Z.config);dl.add(1,{toolName:D,error:"disabled"});let E=F.enabled?"unknown":F.disabledReason;return new DA((H)=>{H.error(new Error(`tool ${JSON.stringify(D)} is disabled: ${E}`))})}return dl.add(1,{toolName:D}),e8(()=>K.fn).pipe(l9((Y)=>{if(K.spec.meta?.disableTimeout)return Y(z,Z);return Hh1(Y(z,Z),Fh1())}),NZ(()=>X()))},preprocessArgs(D,z,Z){let G=B(D,Z.config);if(!G||!G.preprocessArgs)return;let X=G.preprocessArgs;try{return X(z,Z)}catch(K){j1.error("preprocessArgs",{id:D,args:z,error:String(K)});return}},dispose(){}}}function Zv(A,Q){let B=Q.settings?.["tools.disable"]??[];if(B.includes(A.name))return{enabled:!1,disabledReason:"settings"};if(typeof A.source==="object"&&"mcp"in A.source){let J=Mh1(A.name);if(J&&A.source.mcp===J.server&&B.includes(J.tool))return{enabled:!1,disabledReason:"settings"}}if(A.source==="builtin"&&B.includes(`builtin:${A.name}`))return{enabled:!1,disabledReason:"settings"};if(A.name===c5||A.name===Oz){if(Q.settings?.["todos.enabled"])return{enabled:!0};return{enabled:!1,disabledReason:"feature-flag"}}if(A.name===CZ){if(Q.settings["jetbrains.enabled"])return{enabled:!0};return{enabled:!1,disabledReason:"feature-flag"}}return{enabled:!0}}function PzA(A){return`Invalid tool name ${JSON.stringify(A)}. Tool names must match the pattern ${GB1.toString()}. Try again with a valid tool name.`}function Mh1(A){let[,Q,B]=A.split(/mcp__([^ ]+)__([^ ]+)/);if(Q&&B)return{server:Q,tool:B};return}function Nh1(A){if(A.status==="in-progress"||A.status==="done"||A.status==="cancelled"||A.status==="error")return A.progress;return}function Ch1(A,Q,B=!0){let J=new Set(Q.map((z)=>z.spec.name));function D(z){if(J.has(z))return!0;if(B&&Mh1(z))return!0;return!1}return{registerTool(z){throw new Error("Tools should not be registered in a filtered tool service")},invokeTool(z,Z,G){if(!D(z))return new DA((X)=>{X.error(new Error(`tool ${JSON.stringify(z)} not allowed in filtered service`))});return A.invokeTool(z,Z,G)},preprocessArgs(z,Z,G){if(!D(z))return;return A.preprocessArgs?.(z,Z,G)},tools:A.tools.pipe(L6((z)=>z.filter((Z)=>D(Z.spec.name)))),dispose(){}}}var Wh1,jzA,ZB1="invalid_tool",GB1,Ih1,dl,_zA;var VD=k1(()=>{Wh1=hA(_R(),1);P6();l6();Eh1();AQ();wh1();jzA={dispose(){}};GB1=/^[a-zA-Z0-9_]{1,64}$/,Ih1=Wh1.metrics.getMeter("tool_service"),dl=Ih1.createCounter("tool_service.invocation_count",{description:"Number of tool invocations"}),_zA=Ih1.createHistogram("tool_service.invocation_latency",{description:"Latency of tool invocations",unit:"ms"})});var jh1=t((Lh1)=>{Object.defineProperty(Lh1,"__esModule",{value:!0});Lh1.calcSlices=Lh1.applyPatch=Lh1.calcPatch=Lh1.lcs=Lh1.diff=Lh1.diff_core=void 0;function SzA(A,Q){let{b:B,eq:J,stack_base:D}=A,{i:z,N:Z,j:G,M:X,Z:K,stack_top:Y}=A;for(;;)switch(Q){case 0:{A:while(Z>0&&X>0){B.fill(0,0,2*K);let q=Z-X,F=Z+X,E=F&1,H=z+Z-1,w=G+X-1,W=(F+E)/2,I;Q:for(let M=0;M<=W;M++){let N=2*Math.max(0,M-X)-M,V=M-2*Math.max(0,M-Z);for(let L=N;L<=V;L+=2){let T=B[L-1-K*Math.floor((L-1)/K)],R=B[L+1-K*Math.floor((L+1)/K)],j=L===-M||L!==M&&T<R?R:T+1,P=j-L,$=j,S=P;while($<Z&&S<X&&J(z+$,G+S))$++,S++;if(B[L-K*Math.floor(L/K)]=$,E===1&&(I=q-L)>=1-M&&I<M&&$+B[K+I-K*Math.floor(I/K)]>=Z)if(M>1||$!==j){D[Y++]=z+$,D[Y++]=Z-$,D[Y++]=G+S,D[Y++]=X-S,Z=j,X=P,K=2*(Math.min(Z,X)+1);continue A}else break Q}for(let L=N;L<=V;L+=2){let T=B[K+L-1-K*Math.floor((L-1)/K)],R=B[K+L+1-K*Math.floor((L+1)/K)],j=L===-M||L!==M&&T<R?R:T+1,P=j-L,$=j,S=P;while($<Z&&S<X&&J(H-$,w-S))$++,S++;if(B[K+L-K*Math.floor(L/K)]=$,E===0&&(I=q-L)>=-M&&I<=M&&$+B[I-K*Math.floor(I/K)]>=Z)if(M>0||$!==j){D[Y++]=z+Z-j,D[Y++]=j,D[Y++]=G+X-P,D[Y++]=P,Z=Z-$,X=X-S,K=2*(Math.min(Z,X)+1);continue A}else break Q}}if(Z===X)continue;if(X>Z)z+=Z,G+=Z,X-=Z,Z=0;else z+=X,G+=X,Z-=X,X=0;break}if(Z+X!==0)if(A.pxe===z||A.pye===G)A.pxe=z+Z,A.pye=G+X;else{let q=A.pxs;if(A.oxs=A.pxs,A.oxe=A.pxe,A.oys=A.pys,A.oye=A.pye,A.pxs=z,A.pxe=z+Z,A.pys=G,A.pye=G+X,q>=0)return A.i=z,A.N=Z,A.j=G,A.M=X,A.Z=K,A.stack_top=Y,1}}case 1:{if(Y===0)return 2;X=D[--Y],G=D[--Y],Z=D[--Y],z=D[--Y],K=2*(Math.min(Z,X)+1),Q=0}}}class Vh1{constructor(A){this.state=A,this.c=0,this.result={value:null,done:!1}}[Symbol.iterator](){return this}next(){let{state:A,result:Q}=this;if(this.c>1)return Q.done=!0,Q.value=void 0,Q;let B=SzA(A,this.c);if(this.c=B,B===1)return Q.value=[A.oxs,A.oxe,A.oys,A.oye],Q;if(A.pxs>=0)return Q.value=[A.pxs,A.pxe,A.pys,A.pye],Q;return Q.done=!0,Q.value=void 0,Q}}function Oh1(A,Q,B,J,D){let z=(Math.min(Q,J)+1)*2,Z=Q+J,G=new(Z<256?Uint8Array:Z<65536?Uint16Array:Uint32Array)(2*z);return new Vh1({i:A,N:Q,j:B,M:J,Z:z,b:G,eq:D,pxs:-1,pxe:-1,pys:-1,pye:-1,oxs:-1,oxe:-1,oys:-1,oye:-1,stack_top:0,stack_base:[]})}Lh1.diff_core=Oh1;function il(A,Q,B){let[J,D,z]=[0,A.length,Q.length];if(typeof B==="function"){while(J<D&&J<z&&B(J,J))J++;if(J===D&&J===z)return[][Symbol.iterator]();while(B(--D,--z)&&D>J&&z>J);}else{while(J<D&&J<z&&A[J]===Q[J])J++;if(J===D&&J===z)return[][Symbol.iterator]();while(A[--D]===Q[--z]&&D>J&&z>J);B=(Z,G)=>A[Z]===Q[G]}return Oh1(J,D+1-J,J,z+1-J,B)}Lh1.diff=il;class Rh1{constructor(A,Q){this.diff=A,this.N=Q,this.i=0,this.j=0}[Symbol.iterator](){return this}next(){let A=this.diff.next();if(A.done){let{i:G,j:X,N:K}=this;if(G<K)A.done=!1,A.value=[G,X,K-G],this.i=K;return A}let Q=A.value,B=Q[0],J=Q[1],D=Q[3],{i:z,j:Z}=this;if(z!==B)Q.length--,Q[0]=z,Q[1]=Z,Q[2]=B-z;return this.i=J,this.j=D,A}}function $zA(A,Q,B){return new Rh1(il(A,Q,B),A.length)}Lh1.lcs=$zA;function*vzA(A,Q,B){let J=ArrayBuffer.isView(A)?Uint8Array.prototype.subarray:A.slice;for(let D of il(A,Q,B))D[2]=J.call(Q,D[2],D[3]),yield D}Lh1.calcPatch=vzA;function*kzA(A,Q){let B=0,J=ArrayBuffer.isView(A)?Uint8Array.prototype.subarray:A.slice;for(let[D,z,Z]of Q){if(B<D)yield J.call(A,B,D);if(Z.length>0)yield Z;B=z}if(B<A.length)yield J.call(A,B)}Lh1.applyPatch=kzA;function*fzA(A,Q,B){let J=0,D=ArrayBuffer.isView(A)?Uint8Array.prototype.subarray:A.slice;for(let[z,Z,G,X]of il(A,Q,B)){if(J<z)yield[0,D.call(A,J,z)];if(z<Z)yield[-1,D.call(A,z,Z)];if(G<X)yield[1,D.call(Q,G,X)];J=Z}if(J<A.length)yield[0,A.slice(J)]}Lh1.calcSlices=fzA});function _h1(A,Q){if(A===void 0||Q===void 0||A===Q)return{added:0,deleted:0,changed:0};let B={added:0,deleted:0,changed:0};for(let[J,D,z,Z]of Ph1.diff(A.split(`
|
4
4
|
`),Q.split(`
|
5
5
|
`)))B.deleted+=D-J,B.added+=Z-z,B.changed+=Math.min(D-J,Z-z);return B}function Sh1(A){if(!A)return{totalFiles:0,createdFiles:0,totalAdded:0,totalRemoved:0,totalModified:0,revertedFiles:0,allReverted:!1};let Q=A.files.length,B=A.files.filter((X)=>X.created).length,J=A.files.filter((X)=>X.reverted).length,D=J===Q&&Q>0,z=0,Z=0,G=0;for(let X of A.files){if(X.reverted)continue;z+=X.diffStat.added,Z+=X.diffStat.removed,G+=X.diffStat.modified}return{totalFiles:Q,createdFiles:B,totalAdded:z,totalRemoved:Z,totalModified:G,revertedFiles:J,allReverted:D}}var Ph1;var XB1=k1(()=>{Ph1=hA(jh1(),1)});function pB(A,...Q){throw new Error(`[Immer] minified error nr: ${A}. Full error at: https://bit.ly/3cXEKWf`)}function VM(A){return!!A&&!!A[Rz]}function RH(A){if(!A)return!1;return yh1(A)||Array.isArray(A)||!!A[Gv]||!!A.constructor?.[Gv]||Uv(A)||Fv(A)}function yh1(A){if(!A||typeof A!=="object")return!1;let Q=CM(A);if(Q===null)return!0;let B=Object.hasOwnProperty.call(Q,"constructor")&&Q.constructor;if(B===Object)return!0;return typeof B=="function"&&Function.toString.call(B)===mzA}function Xv(A,Q){if(OM(A)===0)Reflect.ownKeys(A).forEach((B)=>{Q(B,A[B],A)});else A.forEach((B,J)=>Q(J,B,A))}function OM(A){let Q=A[Rz];return Q?Q.type_:Array.isArray(A)?1:Uv(A)?2:Fv(A)?3:0}function Kv(A,Q){return OM(A)===2?A.has(Q):Object.prototype.hasOwnProperty.call(A,Q)}function KB1(A,Q){return OM(A)===2?A.get(Q):A[Q]}function bh1(A,Q,B){let J=OM(A);if(J===2)A.set(Q,B);else if(J===3)A.add(B);else A[Q]=B}function uzA(A,Q){if(A===Q)return A!==0||1/A===1/Q;else return A!==A&&Q!==Q}function Uv(A){return A instanceof Map}function Fv(A){return A instanceof Set}function NM(A){return A.copy_||A.base_}function UB1(A,Q){if(Uv(A))return new Map(A);if(Fv(A))return new Set(A);if(Array.isArray(A))return Array.prototype.slice.call(A);let B=yh1(A);if(Q===!0||Q==="class_only"&&!B){let J=Object.getOwnPropertyDescriptors(A);delete J[Rz];let D=Reflect.ownKeys(J);for(let z=0;z<D.length;z++){let Z=D[z],G=J[Z];if(G.writable===!1)G.writable=!0,G.configurable=!0;if(G.get||G.set)J[Z]={configurable:!0,writable:!0,enumerable:G.enumerable,value:A[Z]}}return Object.create(CM(A),J)}else{let J=CM(A);if(J!==null&&B)return{...A};let D=Object.create(J);return Object.assign(D,A)}}function QY(A,Q=!1){if(nl(A)||VM(A)||!RH(A))return A;if(OM(A)>1)A.set=A.add=A.clear=A.delete=pzA;if(Object.freeze(A),Q)Object.entries(A).forEach(([B,J])=>QY(J,!0));return A}function pzA(){pB(2)}function nl(A){return Object.isFrozen(A)}function RM(A){let Q=FB1[A];if(!Q)pB(0,A);return Q}function czA(A,Q){if(!FB1[A])FB1[A]=Q}function gh1(){return Yv}function lzA(A,Q){return{drafts_:[],parent_:A,immer_:Q,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function $h1(A,Q){if(Q)RM("Patches"),A.patches_=[],A.inversePatches_=[],A.patchListener_=Q}function EB1(A){HB1(A),A.drafts_.forEach(dzA),A.drafts_=null}function HB1(A){if(A===Yv)Yv=A.parent_}function vh1(A){return Yv=lzA(Yv,A)}function dzA(A){let Q=A[Rz];if(Q.type_===0||Q.type_===1)Q.revoke_();else Q.revoked_=!0}function kh1(A,Q){Q.unfinalizedDrafts_=Q.drafts_.length;let B=Q.drafts_[0];if(A!==void 0&&A!==B){if(B[Rz].modified_)EB1(Q),pB(4);if(RH(A)){if(A=al(Q,A),!Q.parent_)rl(Q,A)}if(Q.patches_)RM("Patches").generateReplacementPatches_(B[Rz].base_,A,Q.patches_,Q.inversePatches_)}else A=al(Q,B,[]);if(EB1(Q),Q.patches_)Q.patchListener_(Q.patches_,Q.inversePatches_);return A!==IB1?A:void 0}function al(A,Q,B){if(nl(Q))return Q;let J=Q[Rz];if(!J)return Xv(Q,(D,z)=>fh1(A,J,Q,D,z,B)),Q;if(J.scope_!==A)return Q;if(!J.modified_)return rl(A,J.base_,!0),J.base_;if(!J.finalized_){J.finalized_=!0,J.scope_.unfinalizedDrafts_--;let D=J.copy_,z=D,Z=!1;if(J.type_===3)z=new Set(D),D.clear(),Z=!0;if(Xv(z,(G,X)=>fh1(A,J,D,G,X,B,Z)),rl(A,D,!1),B&&A.patches_)RM("Patches").generatePatches_(J,B,A.patches_,A.inversePatches_)}return J.copy_}function fh1(A,Q,B,J,D,z,Z){if(VM(D)){let G=z&&Q&&Q.type_!==3&&!Kv(Q.assigned_,J)?z.concat(J):void 0,X=al(A,D,G);if(bh1(B,J,X),VM(X))A.canAutoFreeze_=!1;else return}else if(Z)B.add(D);if(RH(D)&&!nl(D)){if(!A.immer_.autoFreeze_&&A.unfinalizedDrafts_<1)return;if(al(A,D),(!Q||!Q.scope_.parent_)&&typeof J!=="symbol"&&Object.prototype.propertyIsEnumerable.call(B,J))rl(A,D)}}function rl(A,Q,B=!1){if(!A.parent_&&A.immer_.autoFreeze_&&A.canAutoFreeze_)QY(Q,B)}function izA(A,Q){let B=Array.isArray(A),J={type_:B?1:0,scope_:Q?Q.scope_:gh1(),modified_:!1,finalized_:!1,assigned_:{},parent_:Q,base_:A,draft_:null,copy_:null,revoke_:null,isManual_:!1},D=J,z=MB1;if(B)D=[J],z=qv;let{revoke:Z,proxy:G}=Proxy.revocable(D,z);return J.draft_=G,J.revoke_=Z,G}function YB1(A,Q){let B=A[Rz];return(B?NM(B):A)[Q]}function azA(A,Q,B){let J=xh1(Q,B);return J?"value"in J?J.value:J.get?.call(A.draft_):void 0}function xh1(A,Q){if(!(Q in A))return;let B=CM(A);while(B){let J=Object.getOwnPropertyDescriptor(B,Q);if(J)return J;B=CM(B)}return}function wB1(A){if(!A.modified_){if(A.modified_=!0,A.parent_)wB1(A.parent_)}}function qB1(A){if(!A.copy_)A.copy_=UB1(A.base_,A.scope_.immer_.useStrictShallowCopy_)}function WB1(A,Q){let B=Uv(A)?RM("MapSet").proxyMap_(A,Q):Fv(A)?RM("MapSet").proxySet_(A,Q):izA(A,Q);return(Q?Q.scope_:gh1()).drafts_.push(B),B}function nzA(A){if(!VM(A))pB(10,A);return hh1(A)}function hh1(A){if(!RH(A)||nl(A))return A;let Q=A[Rz],B;if(Q){if(!Q.modified_)return Q.base_;Q.finalized_=!0,B=UB1(A,Q.scope_.immer_.useStrictShallowCopy_)}else B=UB1(A,!0);if(Xv(B,(J,D)=>{bh1(B,J,hh1(D))}),Q)Q.finalized_=!1;return B}function sl(){let Q="replace",B="add",J="remove";function D(F,E,H,w){switch(F.type_){case 0:case 2:return Z(F,E,H,w);case 1:return z(F,E,H,w);case 3:return G(F,E,H,w)}}function z(F,E,H,w){let{base_:W,assigned_:I}=F,M=F.copy_;if(M.length<W.length)[W,M]=[M,W],[H,w]=[w,H];for(let N=0;N<W.length;N++)if(I[N]&&M[N]!==W[N]){let V=E.concat([N]);H.push({op:Q,path:V,value:q(M[N])}),w.push({op:Q,path:V,value:q(W[N])})}for(let N=W.length;N<M.length;N++){let V=E.concat([N]);H.push({op:B,path:V,value:q(M[N])})}for(let N=M.length-1;W.length<=N;--N){let V=E.concat([N]);w.push({op:J,path:V})}}function Z(F,E,H,w){let{base_:W,copy_:I}=F;Xv(F.assigned_,(M,N)=>{let V=KB1(W,M),L=KB1(I,M),T=!N?J:Kv(W,M)?Q:B;if(V===L&&T===Q)return;let R=E.concat(M);H.push(T===J?{op:T,path:R}:{op:T,path:R,value:L}),w.push(T===B?{op:J,path:R}:T===J?{op:B,path:R,value:q(V)}:{op:Q,path:R,value:q(V)})})}function G(F,E,H,w){let{base_:W,copy_:I}=F,M=0;W.forEach((N)=>{if(!I.has(N)){let V=E.concat([M]);H.push({op:J,path:V,value:N}),w.unshift({op:B,path:V,value:N})}M++}),M=0,I.forEach((N)=>{if(!W.has(N)){let V=E.concat([M]);H.push({op:B,path:V,value:N}),w.unshift({op:J,path:V,value:N})}M++})}function X(F,E,H,w){H.push({op:Q,path:[],value:E===IB1?void 0:E}),w.push({op:Q,path:[],value:F})}function K(F,E){return E.forEach((H)=>{let{path:w,op:W}=H,I=F;for(let L=0;L<w.length-1;L++){let T=OM(I),R=w[L];if(typeof R!=="string"&&typeof R!=="number")R=""+R;if((T===0||T===1)&&(R==="__proto__"||R==="constructor"))pB(19);if(typeof I==="function"&&R==="prototype")pB(19);if(I=KB1(I,R),typeof I!=="object")pB(18,w.join("/"))}let M=OM(I),N=Y(H.value),V=w[w.length-1];switch(W){case Q:switch(M){case 2:return I.set(V,N);case 3:pB(16);default:return I[V]=N}case B:switch(M){case 1:return V==="-"?I.push(N):I.splice(V,0,N);case 2:return I.set(V,N);case 3:return I.add(N);default:return I[V]=N}case J:switch(M){case 1:return I.splice(V,1);case 2:return I.delete(V);case 3:return I.delete(H.value);default:return delete I[V]}default:pB(17,W)}}),F}function Y(F){if(!RH(F))return F;if(Array.isArray(F))return F.map(Y);if(Uv(F))return new Map(Array.from(F.entries()).map(([H,w])=>[H,Y(w)]));if(Fv(F))return new Set(Array.from(F).map(Y));let E=Object.create(CM(F));for(let H in F)E[H]=Y(F[H]);if(Kv(F,Gv))E[Gv]=F[Gv];return E}function q(F){if(VM(F))return Y(F);else return F}czA("Patches",{applyPatches_:K,generatePatches_:D,generateReplacementPatches_:X})}function W4(A){return A}function CB1(A){return A}var IB1,Gv,Rz,CM,mzA,FB1,Yv,MB1,qv,rzA=class{constructor(A){if(this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(Q,B,J)=>{if(typeof Q==="function"&&typeof B!=="function"){let z=B;B=Q;let Z=this;return function G(X=z,...K){return Z.produce(X,(Y)=>B.call(this,Y,...K))}}if(typeof B!=="function")pB(6);if(J!==void 0&&typeof J!=="function")pB(7);let D;if(RH(Q)){let z=vh1(this),Z=WB1(Q,void 0),G=!0;try{D=B(Z),G=!1}finally{if(G)EB1(z);else HB1(z)}return $h1(z,J),kh1(D,z)}else if(!Q||typeof Q!=="object"){if(D=B(Q),D===void 0)D=Q;if(D===IB1)D=void 0;if(this.autoFreeze_)QY(D,!0);if(J){let z=[],Z=[];RM("Patches").generateReplacementPatches_(Q,D,z,Z),J(z,Z)}return D}else pB(1,Q)},this.produceWithPatches=(Q,B)=>{if(typeof Q==="function")return(Z,...G)=>this.produceWithPatches(Z,(X)=>Q(X,...G));let J,D;return[this.produce(Q,B,(Z,G)=>{J=Z,D=G}),J,D]},typeof A?.autoFreeze==="boolean")this.setAutoFreeze(A.autoFreeze);if(typeof A?.useStrictShallowCopy==="boolean")this.setUseStrictShallowCopy(A.useStrictShallowCopy)}createDraft(A){if(!RH(A))pB(8);if(VM(A))A=nzA(A);let Q=vh1(this),B=WB1(A,void 0);return B[Rz].isManual_=!0,HB1(Q),B}finishDraft(A,Q){let B=A&&A[Rz];if(!B||!B.isManual_)pB(9);let{scope_:J}=B;return $h1(J,Q),kh1(void 0,J)}setAutoFreeze(A){this.autoFreeze_=A}setUseStrictShallowCopy(A){this.useStrictShallowCopy_=A}applyPatches(A,Q){let B;for(B=Q.length-1;B>=0;B--){let D=Q[B];if(D.path.length===0&&D.op==="replace"){A=D.value;break}}if(B>-1)Q=Q.slice(B+1);let J=RM("Patches").applyPatches_;if(VM(A))return J(A,Q);return this.produce(A,(D)=>J(D,Q))}},Lz,Ev,NB1,S22,$22,mh1,v22,k22;var BY=k1(()=>{IB1=Symbol.for("immer-nothing"),Gv=Symbol.for("immer-draftable"),Rz=Symbol.for("immer-state");CM=Object.getPrototypeOf;mzA=Object.prototype.constructor.toString();FB1={};MB1={get(A,Q){if(Q===Rz)return A;let B=NM(A);if(!Kv(B,Q))return azA(A,B,Q);let J=B[Q];if(A.finalized_||!RH(J))return J;if(J===YB1(A.base_,Q))return qB1(A),A.copy_[Q]=WB1(J,A);return J},has(A,Q){return Q in NM(A)},ownKeys(A){return Reflect.ownKeys(NM(A))},set(A,Q,B){let J=xh1(NM(A),Q);if(J?.set)return J.set.call(A.draft_,B),!0;if(!A.modified_){let D=YB1(NM(A),Q),z=D?.[Rz];if(z&&z.base_===B)return A.copy_[Q]=B,A.assigned_[Q]=!1,!0;if(uzA(B,D)&&(B!==void 0||Kv(A.base_,Q)))return!0;qB1(A),wB1(A)}if(A.copy_[Q]===B&&(B!==void 0||(Q in A.copy_))||Number.isNaN(B)&&Number.isNaN(A.copy_[Q]))return!0;return A.copy_[Q]=B,A.assigned_[Q]=!0,!0},deleteProperty(A,Q){if(YB1(A.base_,Q)!==void 0||Q in A.base_)A.assigned_[Q]=!1,qB1(A),wB1(A);else delete A.assigned_[Q];if(A.copy_)delete A.copy_[Q];return!0},getOwnPropertyDescriptor(A,Q){let B=NM(A),J=Reflect.getOwnPropertyDescriptor(B,Q);if(!J)return J;return{writable:!0,configurable:A.type_!==1||Q!=="length",enumerable:J.enumerable,value:B[Q]}},defineProperty(){pB(11)},getPrototypeOf(A){return CM(A.base_)},setPrototypeOf(){pB(12)}},qv={};Xv(MB1,(A,Q)=>{qv[A]=function(){return arguments[0]=arguments[0][0],Q.apply(this,arguments)}});qv.deleteProperty=function(A,Q){return qv.set.call(this,A,Q,void 0)};qv.set=function(A,Q,B){return MB1.set.call(this,A[0],Q,B,A[0])};Lz=new rzA,Ev=Lz.produce,NB1=Lz.produceWithPatches.bind(Lz),S22=Lz.setAutoFreeze.bind(Lz),$22=Lz.setUseStrictShallowCopy.bind(Lz),mh1=Lz.applyPatches.bind(Lz),v22=Lz.createDraft.bind(Lz),k22=Lz.finishDraft.bind(Lz)});function JY(){return`T-${crypto.randomUUID()}`}function bR(A){if(!A.startsWith("T-"))return!1;let Q=A.slice(2);return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(Q)}function uh1(){return`toolu_${crypto.randomUUID()}`}function ph1(A){return A.startsWith("toolu_")}function gR(A){for(let Q=A.messages.length-1;Q>=0;Q--){let B=A.messages[Q];if(B?.role==="info"){let J=B.content[0];if(J?.type==="summary"&&J?.summary.type==="message")return}if(B?.role==="assistant"&&B.usage)return B.usage}return A["~debug"]?.lastInferenceUsage}function I4(A,Q){for(let B of A.messages){if(B.role!=="assistant")continue;for(let J of B.content)if(J.type==="tool_use"&&J.id===Q)return J}return}function VB1(A,Q){for(let[B,J]of A.messages.entries()){if(J.role!=="assistant")continue;for(let[D,z]of J.content.entries())if(z.type==="tool_use"&&z.id===Q)return{message:J,messageIndex:B,block:z,blockIndex:D}}return null}function Hv(A,Q){for(let B of A.messages){if(B.role!=="user")continue;for(let J of B.content)if(J.type==="tool_result"&&J.toolUseID===Q)return J}return}function XX(A){return A.messages.filter((Q)=>Q.role==="user").flatMap((Q)=>Q.content).filter((Q)=>Q.type==="tool_result").reduce((Q,B)=>{return Q.set(B.toolUseID,B),Q},new Map)}function wv(A){if(A&&typeof A==="object"&&"threadID"in A){let Q=A.threadID;if(typeof Q==="string"&&bR(Q))return Q}return}function OB1(A){let Q=[],B=new Map;for(let J of A)if(J.role==="assistant"){for(let D of J.content)if(D.type==="tool_use"&&D.name===U5)B.set(D.id,D)}else if(J.role==="user"){for(let D of J.content)if(D.type==="tool_result"){let z=B.get(D.toolUseID);if(z){let Z=D.run,G=(Z.status==="in-progress"||Z.status==="cancelled"||Z.status==="done"||Z.status==="error")&&Z.progress?wv(Z.progress):void 0;if(G)Q.push({toolUseID:D.toolUseID,threadID:G,toolUse:z})}}}return Q}function ol(A){if(!A)return!1;if(A.role==="assistant")return A.state?.type==="cancelled";if(A.role==="user")return A.content.some((Q)=>Q.type==="tool_result"&&Q.run.status==="cancelled");return!1}function RB1(A){if(!A)return!1;return A.role==="info"}function szA(A){return A.replace(/u([0-9A-Fa-f]{4})(\s)/gi,(Q,B,J)=>{try{return String.fromCodePoint(parseInt(B,16))+J}catch{return`u${B}${J}`}})}function tl(A){for(let Q=A.messages.length-1;Q>=0;Q--){let B=A.messages[Q];if(B?.role==="info"){if(B.content.some((D)=>D.type==="summary"&&D.summary.type==="message"))break}if(B?.role!=="assistant"||!B.state||B.state.type!=="complete"||B.state.stopReason!=="tool_use")continue;for(let J of B.content)if(J.type==="tool_use"&&J.name===c5&&J.input){let D=J.input.todos;if(Array.isArray(D))return D;let z=J.input.content;if(typeof z==="string")return szA(z)}}return}function xR(A){return A.map((Q)=>Q.type==="text"?Q.text:null).filter((Q)=>Q!==null).join(`
|
6
6
|
|
@@ -327,7 +327,7 @@ Return only, in XML format and nothing else:
|
|
327
327
|
<reason>Brief explanation of risk factors (max 50 characters)</reason>
|
328
328
|
<to-allow>An exact-match prefix that the user can add to their allow list based on your analysis OR nothing for empty prefix</to-allow>
|
329
329
|
</task>
|
330
|
-
</risk>`;var A40=k1(()=>{P6();l6();AQ();CN();ugA=jF1});async function Q40(A,Q,B){if(!(B?.config?.["experimental.commandApproval.enabled"]??!0))return null;let D=B?.config?.["commandApproval.allow"]??[],z=B?.config?.["commandApproval.deny"]??[];try{if(agA.some((G)=>A.startsWith(G)))return{requiresConfirmation:!1,reason:"Built-in safe command",parts:[]};if(rgA.some((G)=>A.startsWith(G)))return{requiresConfirmation:!0,reason:"On built-in deny list",parts:[]};if(D.some((G)=>A.startsWith(G)))return{requiresConfirmation:!1,reason:"On allow list",parts:[]};if(z.some((G)=>A.startsWith(G)))return{requiresConfirmation:!0,reason:"On deny list",parts:[]};let Z=await ogA(A,Q,B?.thread?.id??JY());if(Z.requiresConfirmation)return{requiresConfirmation:!0,reason:Z.reason,toAllow:Z.toAllow,parts:[]};return{requiresConfirmation:!1,reason:Z.reason,parts:[]}}catch(Z){return j1.error("Experimental approval system failed",{cmd:A},Z),null}}async function ogA(A,Q,B){let J=await sgA(A,Q,B);if(!J)return{requiresConfirmation:!0,reason:"Risk assessment failed"};return{requiresConfirmation:J.requiresApproval,reason:J.reason,toAllow:J.toAllow}}var agA,rgA,ngA,sgA;var B40=k1(()=>{l6();BQ();A40();agA=["ls","dir","cat","head","tail","less","more","grep","egrep","fgrep","tree","file","wc","pwd","stat","du","df","ps","top","htop","echo","printenv","id","which","whereis","date","cal","uptime","free","ping","dig","nslookup","host","netstat","ss","lsof","ifconfig","ip","man","info","mkdir","touch","uname","whoami","go version","go env","go help","cargo version","cargo --version","cargo help","rustc --version","rustc --help","rustc --explain","javac --version","javac -version","javac -help","javac --help","dotnet --info","dotnet --version","dotnet --help","dotnet help","gcc --version","gcc -v","gcc --help","gcc -dumpversion","g++ --version","g++ -v","g++ --help","g++ -dumpversion","clang --version","clang --help","clang++ --version","clang++ --help","python -V","python --version","python -h","python --help","python3 -V","python3 --version","python3 -h","python3 --help","ruby -v","ruby --version","ruby -h","ruby --help","node -v","node --version","node -h","node --help","npm --help","npm --version","npm -v","npm help","yarn --help","yarn --version","yarn -v","yarn help","pnpm --help","pnpm --version","pnpm -v","pnpm help","pytest -h","pytest --help","pytest --version","jest --help","jest --version","mocha --help","mocha --version","make --version","make --help","docker --version","docker --help","docker version","docker help","git --version","git --help","git help","go test","go run","go build","go vet","go fmt","go list","cargo test","cargo run","cargo build","cargo check","cargo fmt","cargo tree","make -n","make --dry-run","mvn test","mvn verify","mvn dependency:tree","gradle tasks","gradle dependencies","gradle properties","dotnet test","dotnet list","npm list","npm ls","npm outdated","npm test","npm run","npm view","npm info","yarn list","yarn ls","yarn info","yarn test","yarn run","yarn why","pnpm list","pnpm ls","pnpm outdated","pnpm test","pnpm run","pytest --collect-only","jest --listTests","jest --showConfig","mocha --list","git status","git show","git diff","git grep","git branch","git tag","git remote -v","git rev-parse --is-inside-work-tree","git rev-parse --show-toplevel","git config --list","git log"],rgA=["dd","rm -rf /","rm -rf ~/"],ngA=e90,sgA=ngA});var D40=t((J40)=>{(()=>{var A={349:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.CircularList=void 0;let K=X(460),Y=X(844);class q extends Y.Disposable{constructor(F){super(),this._maxLength=F,this.onDeleteEmitter=this.register(new K.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new K.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new K.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(F){if(this._maxLength===F)return;let E=new Array(F);for(let H=0;H<Math.min(F,this.length);H++)E[H]=this._array[this._getCyclicIndex(H)];this._array=E,this._maxLength=F,this._startIndex=0}get length(){return this._length}set length(F){if(F>this._length)for(let E=this._length;E<F;E++)this._array[E]=void 0;this._length=F}get(F){return this._array[this._getCyclicIndex(F)]}set(F,E){this._array[this._getCyclicIndex(F)]=E}push(F){this._array[this._getCyclicIndex(this._length)]=F,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(F,E,...H){if(E){for(let w=F;w<this._length-E;w++)this._array[this._getCyclicIndex(w)]=this._array[this._getCyclicIndex(w+E)];this._length-=E,this.onDeleteEmitter.fire({index:F,amount:E})}for(let w=this._length-1;w>=F;w--)this._array[this._getCyclicIndex(w+H.length)]=this._array[this._getCyclicIndex(w)];for(let w=0;w<H.length;w++)this._array[this._getCyclicIndex(F+w)]=H[w];if(H.length&&this.onInsertEmitter.fire({index:F,amount:H.length}),this._length+H.length>this._maxLength){let w=this._length+H.length-this._maxLength;this._startIndex+=w,this._length=this._maxLength,this.onTrimEmitter.fire(w)}else this._length+=H.length}trimStart(F){F>this._length&&(F=this._length),this._startIndex+=F,this._length-=F,this.onTrimEmitter.fire(F)}shiftElements(F,E,H){if(!(E<=0)){if(F<0||F>=this._length)throw new Error("start argument out of range");if(F+H<0)throw new Error("Cannot shift elements in list beyond index 0");if(H>0){for(let W=E-1;W>=0;W--)this.set(F+W+H,this.get(F+W));let w=F+E+H-this._length;if(w>0)for(this._length+=w;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let w=0;w<E;w++)this.set(F+w+H,this.get(F+w))}}_getCyclicIndex(F){return(this._startIndex+F)%this._maxLength}}G.CircularList=q},439:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.clone=void 0,G.clone=function X(K,Y=5){if(typeof K!="object")return K;let q=Array.isArray(K)?[]:{};for(let F in K)q[F]=Y<=1?K[F]:K[F]&&X(K[F],Y-1);return q}},969:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.CoreTerminal=void 0;let K=X(844),Y=X(585),q=X(348),F=X(866),E=X(744),H=X(302),w=X(83),W=X(460),I=X(753),M=X(480),N=X(994),V=X(282),L=X(435),T=X(981),R=X(660),j=!1;class P extends K.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new W.EventEmitter),this._onScroll.event(($)=>{this._onScrollApi?.fire($.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($){for(let S in $)this.optionsService.options[S]=$[S]}constructor($){super(),this._windowsWrappingHeuristics=this.register(new K.MutableDisposable),this._onBinary=this.register(new W.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new W.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new W.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new W.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new W.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new W.EventEmitter),this._instantiationService=new q.InstantiationService,this.optionsService=this.register(new H.OptionsService($)),this._instantiationService.setService(Y.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(E.BufferService)),this._instantiationService.setService(Y.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(F.LogService)),this._instantiationService.setService(Y.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(w.CoreService)),this._instantiationService.setService(Y.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(I.CoreMouseService)),this._instantiationService.setService(Y.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(M.UnicodeService)),this._instantiationService.setService(Y.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(N.CharsetService),this._instantiationService.setService(Y.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(R.OscLinkService),this._instantiationService.setService(Y.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new L.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register(W.forwardEvent(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register(W.forwardEvent(this._bufferService.onResize,this._onResize)),this.register(W.forwardEvent(this.coreService.onData,this._onData)),this.register(W.forwardEvent(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom())),this.register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this.register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this.register(this._bufferService.onScroll((S)=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this.register(this._inputHandler.onScroll((S)=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this.register(new T.WriteBuffer((S,x)=>this._inputHandler.parse(S,x))),this.register(W.forwardEvent(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write($,S){this._writeBuffer.write($,S)}writeSync($,S){this._logService.logLevel<=Y.LogLevelEnum.WARN&&!j&&(this._logService.warn("writeSync is unreliable and will be removed soon."),j=!0),this._writeBuffer.writeSync($,S)}input($,S=!0){this.coreService.triggerDataEvent($,S)}resize($,S){isNaN($)||isNaN(S)||($=Math.max($,E.MINIMUM_COLS),S=Math.max(S,E.MINIMUM_ROWS),this._bufferService.resize($,S))}scroll($,S=!1){this._bufferService.scroll($,S)}scrollLines($,S,x){this._bufferService.scrollLines($,S,x)}scrollPages($){this.scrollLines($*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine($){let S=$-this._bufferService.buffer.ydisp;S!==0&&this.scrollLines(S)}registerEscHandler($,S){return this._inputHandler.registerEscHandler($,S)}registerDcsHandler($,S){return this._inputHandler.registerDcsHandler($,S)}registerCsiHandler($,S){return this._inputHandler.registerCsiHandler($,S)}registerOscHandler($,S){return this._inputHandler.registerOscHandler($,S)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let $=!1,S=this.optionsService.rawOptions.windowsPty;S&&S.buildNumber!==void 0&&S.buildNumber!==void 0?$=S.backend==="conpty"&&S.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&($=!0),$?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let $=[];$.push(this.onLineFeed(V.updateWindowsModeWrappedState.bind(null,this._bufferService))),$.push(this.registerCsiHandler({final:"H"},()=>(V.updateWindowsModeWrappedState(this._bufferService),!1))),this._windowsWrappingHeuristics.value=K.toDisposable(()=>{for(let S of $)S.dispose()})}}}G.CoreTerminal=P},460:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.runAndSubscribe=G.forwardEvent=G.EventEmitter=void 0,G.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=(X)=>{return this._listeners.push(X),{dispose:()=>{if(!this._disposed){for(let Y=0;Y<this._listeners.length;Y++)if(this._listeners[Y]===X)return void this._listeners.splice(Y,1)}}}}),this._event}fire(X,K){let Y=[];for(let q=0;q<this._listeners.length;q++)Y.push(this._listeners[q]);for(let q=0;q<Y.length;q++)Y[q].call(void 0,X,K)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},G.forwardEvent=function(X,K){return X((Y)=>K.fire(Y))},G.runAndSubscribe=function(X,K){return K(void 0),X((Y)=>K(Y))}},435:function(Z,G,X){var K=this&&this.__decorate||function(k,m,l,d){var e,n=arguments.length,z1=n<3?m:d===null?d=Object.getOwnPropertyDescriptor(m,l):d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")z1=Reflect.decorate(k,m,l,d);else for(var o=k.length-1;o>=0;o--)(e=k[o])&&(z1=(n<3?e(z1):n>3?e(m,l,z1):e(m,l))||z1);return n>3&&z1&&Object.defineProperty(m,l,z1),z1},Y=this&&this.__param||function(k,m){return function(l,d){m(l,d,k)}};Object.defineProperty(G,"__esModule",{value:!0}),G.InputHandler=G.WindowsOptionsReportType=void 0;let q=X(584),F=X(116),E=X(15),H=X(844),w=X(482),W=X(437),I=X(460),M=X(643),N=X(511),V=X(734),L=X(585),T=X(480),R=X(242),j=X(351),P=X(941),$={"(":0,")":1,"*":2,"+":3,"-":1,".":2},S=131072;function x(k,m){if(k>24)return m.setWinLines||!1;switch(k){case 1:return!!m.restoreWin;case 2:return!!m.minimizeWin;case 3:return!!m.setWinPosition;case 4:return!!m.setWinSizePixels;case 5:return!!m.raiseWin;case 6:return!!m.lowerWin;case 7:return!!m.refreshWin;case 8:return!!m.setWinSizeChars;case 9:return!!m.maximizeWin;case 10:return!!m.fullscreenWin;case 11:return!!m.getWinState;case 13:return!!m.getWinPosition;case 14:return!!m.getWinSizePixels;case 15:return!!m.getScreenSizePixels;case 16:return!!m.getCellSizePixels;case 18:return!!m.getWinSizeChars;case 19:return!!m.getScreenSizeChars;case 20:return!!m.getIconTitle;case 21:return!!m.getWinTitle;case 22:return!!m.pushTitle;case 23:return!!m.popTitle;case 24:return!!m.setWinLines}return!1}var u;(function(k){k[k.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",k[k.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(u||(G.WindowsOptionsReportType=u={}));let _=0;class f extends H.Disposable{getAttrData(){return this._curAttrData}constructor(k,m,l,d,e,n,z1,o,J1=new E.EscapeSequenceParser){super(),this._bufferService=k,this._charsetService=m,this._coreService=l,this._logService=d,this._optionsService=e,this._oscLinkService=n,this._coreMouseService=z1,this._unicodeService=o,this._parser=J1,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new w.StringToUtf32,this._utf8Decoder=new w.Utf8ToUtf32,this._workCell=new N.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=W.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=W.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new I.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new I.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new I.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new I.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new I.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new I.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new I.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new I.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new I.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new I.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new I.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new I.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new I.EventEmitter),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 v(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((D1)=>this._activeBuffer=D1.activeBuffer)),this._parser.setCsiHandlerFallback((D1,w1)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(D1),params:w1.toArray()})}),this._parser.setEscHandlerFallback((D1)=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(D1)})}),this._parser.setExecuteHandlerFallback((D1)=>{this._logService.debug("Unknown EXECUTE code: ",{code:D1})}),this._parser.setOscHandlerFallback((D1,w1,a)=>{this._logService.debug("Unknown OSC code: ",{identifier:D1,action:w1,data:a})}),this._parser.setDcsHandlerFallback((D1,w1,a)=>{w1==="HOOK"&&(a=a.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(D1),action:w1,payload:a})}),this._parser.setPrintHandler((D1,w1,a)=>this.print(D1,w1,a)),this._parser.registerCsiHandler({final:"@"},(D1)=>this.insertChars(D1)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(D1)=>this.scrollLeft(D1)),this._parser.registerCsiHandler({final:"A"},(D1)=>this.cursorUp(D1)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(D1)=>this.scrollRight(D1)),this._parser.registerCsiHandler({final:"B"},(D1)=>this.cursorDown(D1)),this._parser.registerCsiHandler({final:"C"},(D1)=>this.cursorForward(D1)),this._parser.registerCsiHandler({final:"D"},(D1)=>this.cursorBackward(D1)),this._parser.registerCsiHandler({final:"E"},(D1)=>this.cursorNextLine(D1)),this._parser.registerCsiHandler({final:"F"},(D1)=>this.cursorPrecedingLine(D1)),this._parser.registerCsiHandler({final:"G"},(D1)=>this.cursorCharAbsolute(D1)),this._parser.registerCsiHandler({final:"H"},(D1)=>this.cursorPosition(D1)),this._parser.registerCsiHandler({final:"I"},(D1)=>this.cursorForwardTab(D1)),this._parser.registerCsiHandler({final:"J"},(D1)=>this.eraseInDisplay(D1,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},(D1)=>this.eraseInDisplay(D1,!0)),this._parser.registerCsiHandler({final:"K"},(D1)=>this.eraseInLine(D1,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},(D1)=>this.eraseInLine(D1,!0)),this._parser.registerCsiHandler({final:"L"},(D1)=>this.insertLines(D1)),this._parser.registerCsiHandler({final:"M"},(D1)=>this.deleteLines(D1)),this._parser.registerCsiHandler({final:"P"},(D1)=>this.deleteChars(D1)),this._parser.registerCsiHandler({final:"S"},(D1)=>this.scrollUp(D1)),this._parser.registerCsiHandler({final:"T"},(D1)=>this.scrollDown(D1)),this._parser.registerCsiHandler({final:"X"},(D1)=>this.eraseChars(D1)),this._parser.registerCsiHandler({final:"Z"},(D1)=>this.cursorBackwardTab(D1)),this._parser.registerCsiHandler({final:"`"},(D1)=>this.charPosAbsolute(D1)),this._parser.registerCsiHandler({final:"a"},(D1)=>this.hPositionRelative(D1)),this._parser.registerCsiHandler({final:"b"},(D1)=>this.repeatPrecedingCharacter(D1)),this._parser.registerCsiHandler({final:"c"},(D1)=>this.sendDeviceAttributesPrimary(D1)),this._parser.registerCsiHandler({prefix:">",final:"c"},(D1)=>this.sendDeviceAttributesSecondary(D1)),this._parser.registerCsiHandler({final:"d"},(D1)=>this.linePosAbsolute(D1)),this._parser.registerCsiHandler({final:"e"},(D1)=>this.vPositionRelative(D1)),this._parser.registerCsiHandler({final:"f"},(D1)=>this.hVPosition(D1)),this._parser.registerCsiHandler({final:"g"},(D1)=>this.tabClear(D1)),this._parser.registerCsiHandler({final:"h"},(D1)=>this.setMode(D1)),this._parser.registerCsiHandler({prefix:"?",final:"h"},(D1)=>this.setModePrivate(D1)),this._parser.registerCsiHandler({final:"l"},(D1)=>this.resetMode(D1)),this._parser.registerCsiHandler({prefix:"?",final:"l"},(D1)=>this.resetModePrivate(D1)),this._parser.registerCsiHandler({final:"m"},(D1)=>this.charAttributes(D1)),this._parser.registerCsiHandler({final:"n"},(D1)=>this.deviceStatus(D1)),this._parser.registerCsiHandler({prefix:"?",final:"n"},(D1)=>this.deviceStatusPrivate(D1)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(D1)=>this.softReset(D1)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(D1)=>this.setCursorStyle(D1)),this._parser.registerCsiHandler({final:"r"},(D1)=>this.setScrollRegion(D1)),this._parser.registerCsiHandler({final:"s"},(D1)=>this.saveCursor(D1)),this._parser.registerCsiHandler({final:"t"},(D1)=>this.windowOptions(D1)),this._parser.registerCsiHandler({final:"u"},(D1)=>this.restoreCursor(D1)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(D1)=>this.insertColumns(D1)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(D1)=>this.deleteColumns(D1)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(D1)=>this.selectProtected(D1)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(D1)=>this.requestMode(D1,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(D1)=>this.requestMode(D1,!1)),this._parser.setExecuteHandler(q.C0.BEL,()=>this.bell()),this._parser.setExecuteHandler(q.C0.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(q.C0.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(q.C0.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(q.C0.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(q.C0.BS,()=>this.backspace()),this._parser.setExecuteHandler(q.C0.HT,()=>this.tab()),this._parser.setExecuteHandler(q.C0.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(q.C0.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(q.C1.IND,()=>this.index()),this._parser.setExecuteHandler(q.C1.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(q.C1.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new R.OscHandler((D1)=>(this.setTitle(D1),this.setIconName(D1),!0))),this._parser.registerOscHandler(1,new R.OscHandler((D1)=>this.setIconName(D1))),this._parser.registerOscHandler(2,new R.OscHandler((D1)=>this.setTitle(D1))),this._parser.registerOscHandler(4,new R.OscHandler((D1)=>this.setOrReportIndexedColor(D1))),this._parser.registerOscHandler(8,new R.OscHandler((D1)=>this.setHyperlink(D1))),this._parser.registerOscHandler(10,new R.OscHandler((D1)=>this.setOrReportFgColor(D1))),this._parser.registerOscHandler(11,new R.OscHandler((D1)=>this.setOrReportBgColor(D1))),this._parser.registerOscHandler(12,new R.OscHandler((D1)=>this.setOrReportCursorColor(D1))),this._parser.registerOscHandler(104,new R.OscHandler((D1)=>this.restoreIndexedColor(D1))),this._parser.registerOscHandler(110,new R.OscHandler((D1)=>this.restoreFgColor(D1))),this._parser.registerOscHandler(111,new R.OscHandler((D1)=>this.restoreBgColor(D1))),this._parser.registerOscHandler(112,new R.OscHandler((D1)=>this.restoreCursorColor(D1))),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 D1 in F.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:D1},()=>this.selectCharset("("+D1)),this._parser.registerEscHandler({intermediates:")",final:D1},()=>this.selectCharset(")"+D1)),this._parser.registerEscHandler({intermediates:"*",final:D1},()=>this.selectCharset("*"+D1)),this._parser.registerEscHandler({intermediates:"+",final:D1},()=>this.selectCharset("+"+D1)),this._parser.registerEscHandler({intermediates:"-",final:D1},()=>this.selectCharset("-"+D1)),this._parser.registerEscHandler({intermediates:".",final:D1},()=>this.selectCharset("."+D1)),this._parser.registerEscHandler({intermediates:"/",final:D1},()=>this.selectCharset("/"+D1));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler((D1)=>(this._logService.error("Parsing error: ",D1),D1)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new j.DcsHandler((D1,w1)=>this.requestStatusString(D1,w1)))}_preserveStack(k,m,l,d){this._parseStack.paused=!0,this._parseStack.cursorStartX=k,this._parseStack.cursorStartY=m,this._parseStack.decodedLength=l,this._parseStack.position=d}_logSlowResolvingAsync(k){this._logService.logLevel<=L.LogLevelEnum.WARN&&Promise.race([k,new Promise((m,l)=>setTimeout(()=>l("#SLOW_TIMEOUT"),5000))]).catch((m)=>{if(m!=="#SLOW_TIMEOUT")throw m;console.warn("async parser handler taking longer than 5000 ms")})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(k,m){let l,d=this._activeBuffer.x,e=this._activeBuffer.y,n=0,z1=this._parseStack.paused;if(z1){if(l=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,m))return this._logSlowResolvingAsync(l),l;d=this._parseStack.cursorStartX,e=this._parseStack.cursorStartY,this._parseStack.paused=!1,k.length>S&&(n=this._parseStack.position+S)}if(this._logService.logLevel<=L.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof k=="string"?` "${k}"`:` "${Array.prototype.map.call(k,(D1)=>String.fromCharCode(D1)).join("")}"`),typeof k=="string"?k.split("").map((D1)=>D1.charCodeAt(0)):k),this._parseBuffer.length<k.length&&this._parseBuffer.length<S&&(this._parseBuffer=new Uint32Array(Math.min(k.length,S))),z1||this._dirtyRowTracker.clearRange(),k.length>S)for(let D1=n;D1<k.length;D1+=S){let w1=D1+S<k.length?D1+S:k.length,a=typeof k=="string"?this._stringDecoder.decode(k.substring(D1,w1),this._parseBuffer):this._utf8Decoder.decode(k.subarray(D1,w1),this._parseBuffer);if(l=this._parser.parse(this._parseBuffer,a))return this._preserveStack(d,e,a,D1),this._logSlowResolvingAsync(l),l}else if(!z1){let D1=typeof k=="string"?this._stringDecoder.decode(k,this._parseBuffer):this._utf8Decoder.decode(k,this._parseBuffer);if(l=this._parser.parse(this._parseBuffer,D1))return this._preserveStack(d,e,D1,0),this._logSlowResolvingAsync(l),l}this._activeBuffer.x===d&&this._activeBuffer.y===e||this._onCursorMove.fire();let o=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),J1=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);J1<this._bufferService.rows&&this._onRequestRefreshRows.fire(Math.min(J1,this._bufferService.rows-1),Math.min(o,this._bufferService.rows-1))}print(k,m,l){let d,e,n=this._charsetService.charset,z1=this._optionsService.rawOptions.screenReaderMode,o=this._bufferService.cols,J1=this._coreService.decPrivateModes.wraparound,D1=this._coreService.modes.insertMode,w1=this._curAttrData,a=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&l-m>0&&a.getWidth(this._activeBuffer.x-1)===2&&a.setCellFromCodepoint(this._activeBuffer.x-1,0,1,w1);let r=this._parser.precedingJoinState;for(let s=m;s<l;++s){if(d=k[s],d<127&&n){let Y1=n[String.fromCharCode(d)];Y1&&(d=Y1.charCodeAt(0))}let Z1=this._unicodeService.charProperties(d,r);e=T.UnicodeService.extractWidth(Z1);let G1=T.UnicodeService.extractShouldJoin(Z1),X1=G1?T.UnicodeService.extractWidth(r):0;if(r=Z1,z1&&this._onA11yChar.fire(w.stringFromCodePoint(d)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+e-X1>o){if(J1){let Y1=a,L1=this._activeBuffer.x-X1;for(this._activeBuffer.x=X1,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),a=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),X1>0&&a instanceof W.BufferLine&&a.copyCellsFrom(Y1,L1,0,X1,!1);L1<o;)Y1.setCellFromCodepoint(L1++,0,1,w1)}else if(this._activeBuffer.x=o-1,e===2)continue}if(G1&&this._activeBuffer.x){let Y1=a.getWidth(this._activeBuffer.x-1)?1:2;a.addCodepointToCell(this._activeBuffer.x-Y1,d,e);for(let L1=e-X1;--L1>=0;)a.setCellFromCodepoint(this._activeBuffer.x++,0,0,w1)}else if(D1&&(a.insertCells(this._activeBuffer.x,e-X1,this._activeBuffer.getNullCell(w1)),a.getWidth(o-1)===2&&a.setCellFromCodepoint(o-1,M.NULL_CELL_CODE,M.NULL_CELL_WIDTH,w1)),a.setCellFromCodepoint(this._activeBuffer.x++,d,e,w1),e>0)for(;--e;)a.setCellFromCodepoint(this._activeBuffer.x++,0,0,w1)}this._parser.precedingJoinState=r,this._activeBuffer.x<o&&l-m>0&&a.getWidth(this._activeBuffer.x)===0&&!a.hasContent(this._activeBuffer.x)&&a.setCellFromCodepoint(this._activeBuffer.x,0,1,w1),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(k,m){return k.final!=="t"||k.prefix||k.intermediates?this._parser.registerCsiHandler(k,m):this._parser.registerCsiHandler(k,(l)=>!x(l.params[0],this._optionsService.rawOptions.windowOptions)||m(l))}registerDcsHandler(k,m){return this._parser.registerDcsHandler(k,new j.DcsHandler(m))}registerEscHandler(k,m){return this._parser.registerEscHandler(k,m)}registerOscHandler(k,m){return this._parser.registerOscHandler(k,new R.OscHandler(m))}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 k=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);k.hasWidth(this._activeBuffer.x)&&!k.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let k=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-k),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(k=this._bufferService.cols-1){this._activeBuffer.x=Math.min(k,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(k,m){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=k,this._activeBuffer.y=this._activeBuffer.scrollTop+m):(this._activeBuffer.x=k,this._activeBuffer.y=m),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(k,m){this._restrictCursor(),this._setCursor(this._activeBuffer.x+k,this._activeBuffer.y+m)}cursorUp(k){let m=this._activeBuffer.y-this._activeBuffer.scrollTop;return m>=0?this._moveCursor(0,-Math.min(m,k.params[0]||1)):this._moveCursor(0,-(k.params[0]||1)),!0}cursorDown(k){let m=this._activeBuffer.scrollBottom-this._activeBuffer.y;return m>=0?this._moveCursor(0,Math.min(m,k.params[0]||1)):this._moveCursor(0,k.params[0]||1),!0}cursorForward(k){return this._moveCursor(k.params[0]||1,0),!0}cursorBackward(k){return this._moveCursor(-(k.params[0]||1),0),!0}cursorNextLine(k){return this.cursorDown(k),this._activeBuffer.x=0,!0}cursorPrecedingLine(k){return this.cursorUp(k),this._activeBuffer.x=0,!0}cursorCharAbsolute(k){return this._setCursor((k.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(k){return this._setCursor(k.length>=2?(k.params[1]||1)-1:0,(k.params[0]||1)-1),!0}charPosAbsolute(k){return this._setCursor((k.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(k){return this._moveCursor(k.params[0]||1,0),!0}linePosAbsolute(k){return this._setCursor(this._activeBuffer.x,(k.params[0]||1)-1),!0}vPositionRelative(k){return this._moveCursor(0,k.params[0]||1),!0}hVPosition(k){return this.cursorPosition(k),!0}tabClear(k){let m=k.params[0];return m===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:m===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(k){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let m=k.params[0]||1;for(;m--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(k){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let m=k.params[0]||1;for(;m--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(k){let m=k.params[0];return m===1&&(this._curAttrData.bg|=536870912),m!==2&&m!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(k,m,l,d=!1,e=!1){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);n.replaceCells(m,l,this._activeBuffer.getNullCell(this._eraseAttrData()),e),d&&(n.isWrapped=!1)}_resetBufferLine(k,m=!1){let l=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);l&&(l.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),m),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+k),l.isWrapped=!1)}eraseInDisplay(k,m=!1){let l;switch(this._restrictCursor(this._bufferService.cols),k.params[0]){case 0:for(l=this._activeBuffer.y,this._dirtyRowTracker.markDirty(l),this._eraseInBufferLine(l++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,m);l<this._bufferService.rows;l++)this._resetBufferLine(l,m);this._dirtyRowTracker.markDirty(l);break;case 1:for(l=this._activeBuffer.y,this._dirtyRowTracker.markDirty(l),this._eraseInBufferLine(l,0,this._activeBuffer.x+1,!0,m),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(l+1).isWrapped=!1);l--;)this._resetBufferLine(l,m);this._dirtyRowTracker.markDirty(0);break;case 2:for(l=this._bufferService.rows,this._dirtyRowTracker.markDirty(l-1);l--;)this._resetBufferLine(l,m);this._dirtyRowTracker.markDirty(0);break;case 3:let d=this._activeBuffer.lines.length-this._bufferService.rows;d>0&&(this._activeBuffer.lines.trimStart(d),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-d,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-d,0),this._onScroll.fire(0))}return!0}eraseInLine(k,m=!1){switch(this._restrictCursor(this._bufferService.cols),k.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,m);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,m);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,m)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(k){this._restrictCursor();let m=k.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let l=this._activeBuffer.ybase+this._activeBuffer.y,d=this._bufferService.rows-1-this._activeBuffer.scrollBottom,e=this._bufferService.rows-1+this._activeBuffer.ybase-d+1;for(;m--;)this._activeBuffer.lines.splice(e-1,1),this._activeBuffer.lines.splice(l,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(k){this._restrictCursor();let m=k.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let l=this._activeBuffer.ybase+this._activeBuffer.y,d;for(d=this._bufferService.rows-1-this._activeBuffer.scrollBottom,d=this._bufferService.rows-1+this._activeBuffer.ybase-d;m--;)this._activeBuffer.lines.splice(l,1),this._activeBuffer.lines.splice(d,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(k){this._restrictCursor();let m=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return m&&(m.insertCells(this._activeBuffer.x,k.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(k){this._restrictCursor();let m=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return m&&(m.deleteCells(this._activeBuffer.x,k.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(k){let m=k.params[0]||1;for(;m--;)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(k){let m=k.params[0]||1;for(;m--;)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(W.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(k){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let m=k.params[0]||1;for(let l=this._activeBuffer.scrollTop;l<=this._activeBuffer.scrollBottom;++l){let d=this._activeBuffer.lines.get(this._activeBuffer.ybase+l);d.deleteCells(0,m,this._activeBuffer.getNullCell(this._eraseAttrData())),d.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(k){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let m=k.params[0]||1;for(let l=this._activeBuffer.scrollTop;l<=this._activeBuffer.scrollBottom;++l){let d=this._activeBuffer.lines.get(this._activeBuffer.ybase+l);d.insertCells(0,m,this._activeBuffer.getNullCell(this._eraseAttrData())),d.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(k){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let m=k.params[0]||1;for(let l=this._activeBuffer.scrollTop;l<=this._activeBuffer.scrollBottom;++l){let d=this._activeBuffer.lines.get(this._activeBuffer.ybase+l);d.insertCells(this._activeBuffer.x,m,this._activeBuffer.getNullCell(this._eraseAttrData())),d.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(k){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let m=k.params[0]||1;for(let l=this._activeBuffer.scrollTop;l<=this._activeBuffer.scrollBottom;++l){let d=this._activeBuffer.lines.get(this._activeBuffer.ybase+l);d.deleteCells(this._activeBuffer.x,m,this._activeBuffer.getNullCell(this._eraseAttrData())),d.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(k){this._restrictCursor();let m=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return m&&(m.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(k.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(k){let m=this._parser.precedingJoinState;if(!m)return!0;let l=k.params[0]||1,d=T.UnicodeService.extractWidth(m),e=this._activeBuffer.x-d,n=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(e),z1=new Uint32Array(n.length*l),o=0;for(let D1=0;D1<n.length;){let w1=n.codePointAt(D1)||0;z1[o++]=w1,D1+=w1>65535?2:1}let J1=o;for(let D1=1;D1<l;++D1)z1.copyWithin(J1,0,o),J1+=o;return this.print(z1,0,J1),!0}sendDeviceAttributesPrimary(k){return k.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(q.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(q.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(k){return k.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(q.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(q.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(k.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(q.C0.ESC+"[>83;40003;0c")),!0}_is(k){return(this._optionsService.rawOptions.termName+"").indexOf(k)===0}setMode(k){for(let m=0;m<k.length;m++)switch(k.params[m]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(k){for(let m=0;m<k.length;m++)switch(k.params[m]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,F.DEFAULT_CHARSET),this._charsetService.setgCharset(1,F.DEFAULT_CHARSET),this._charsetService.setgCharset(2,F.DEFAULT_CHARSET),this._charsetService.setgCharset(3,F.DEFAULT_CHARSET);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(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(k){for(let m=0;m<k.length;m++)switch(k.params[m]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(k){for(let m=0;m<k.length;m++)switch(k.params[m]){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:case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),k.params[m]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(k,m){let l=this._coreService.decPrivateModes,{activeProtocol:d,activeEncoding:e}=this._coreMouseService,n=this._coreService,{buffers:z1,cols:o}=this._bufferService,{active:J1,alt:D1}=z1,w1=this._optionsService.rawOptions,a=(G1)=>G1?1:2,r=k.params[0];return s=r,Z1=m?r===2?4:r===4?a(n.modes.insertMode):r===12?3:r===20?a(w1.convertEol):0:r===1?a(l.applicationCursorKeys):r===3?w1.windowOptions.setWinLines?o===80?2:o===132?1:0:0:r===6?a(l.origin):r===7?a(l.wraparound):r===8?3:r===9?a(d==="X10"):r===12?a(w1.cursorBlink):r===25?a(!n.isCursorHidden):r===45?a(l.reverseWraparound):r===66?a(l.applicationKeypad):r===67?4:r===1000?a(d==="VT200"):r===1002?a(d==="DRAG"):r===1003?a(d==="ANY"):r===1004?a(l.sendFocus):r===1005?4:r===1006?a(e==="SGR"):r===1015?4:r===1016?a(e==="SGR_PIXELS"):r===1048?1:r===47||r===1047||r===1049?a(J1===D1):r===2004?a(l.bracketedPasteMode):0,n.triggerDataEvent(`${q.C0.ESC}[${m?"":"?"}${s};${Z1}$y`),!0;var s,Z1}_updateAttrColor(k,m,l,d,e){return m===2?(k|=50331648,k&=-16777216,k|=V.AttributeData.fromColorRGB([l,d,e])):m===5&&(k&=-50331904,k|=33554432|255&l),k}_extractColor(k,m,l){let d=[0,0,-1,0,0,0],e=0,n=0;do{if(d[n+e]=k.params[m+n],k.hasSubParams(m+n)){let z1=k.getSubParams(m+n),o=0;do d[1]===5&&(e=1),d[n+o+1+e]=z1[o];while(++o<z1.length&&o+n+1+e<d.length);break}if(d[1]===5&&n+e>=2||d[1]===2&&n+e>=5)break;d[1]&&(e=1)}while(++n+m<k.length&&n+e<d.length);for(let z1=2;z1<d.length;++z1)d[z1]===-1&&(d[z1]=0);switch(d[0]){case 38:l.fg=this._updateAttrColor(l.fg,d[1],d[3],d[4],d[5]);break;case 48:l.bg=this._updateAttrColor(l.bg,d[1],d[3],d[4],d[5]);break;case 58:l.extended=l.extended.clone(),l.extended.underlineColor=this._updateAttrColor(l.extended.underlineColor,d[1],d[3],d[4],d[5])}return n}_processUnderline(k,m){m.extended=m.extended.clone(),(!~k||k>5)&&(k=1),m.extended.underlineStyle=k,m.fg|=268435456,k===0&&(m.fg&=-268435457),m.updateExtended()}_processSGR0(k){k.fg=W.DEFAULT_ATTR_DATA.fg,k.bg=W.DEFAULT_ATTR_DATA.bg,k.extended=k.extended.clone(),k.extended.underlineStyle=0,k.extended.underlineColor&=-67108864,k.updateExtended()}charAttributes(k){if(k.length===1&&k.params[0]===0)return this._processSGR0(this._curAttrData),!0;let m=k.length,l,d=this._curAttrData;for(let e=0;e<m;e++)l=k.params[e],l>=30&&l<=37?(d.fg&=-50331904,d.fg|=16777216|l-30):l>=40&&l<=47?(d.bg&=-50331904,d.bg|=16777216|l-40):l>=90&&l<=97?(d.fg&=-50331904,d.fg|=16777224|l-90):l>=100&&l<=107?(d.bg&=-50331904,d.bg|=16777224|l-100):l===0?this._processSGR0(d):l===1?d.fg|=134217728:l===3?d.bg|=67108864:l===4?(d.fg|=268435456,this._processUnderline(k.hasSubParams(e)?k.getSubParams(e)[0]:1,d)):l===5?d.fg|=536870912:l===7?d.fg|=67108864:l===8?d.fg|=1073741824:l===9?d.fg|=2147483648:l===2?d.bg|=134217728:l===21?this._processUnderline(2,d):l===22?(d.fg&=-134217729,d.bg&=-134217729):l===23?d.bg&=-67108865:l===24?(d.fg&=-268435457,this._processUnderline(0,d)):l===25?d.fg&=-536870913:l===27?d.fg&=-67108865:l===28?d.fg&=-1073741825:l===29?d.fg&=2147483647:l===39?(d.fg&=-67108864,d.fg|=16777215&W.DEFAULT_ATTR_DATA.fg):l===49?(d.bg&=-67108864,d.bg|=16777215&W.DEFAULT_ATTR_DATA.bg):l===38||l===48||l===58?e+=this._extractColor(k,e,d):l===53?d.bg|=1073741824:l===55?d.bg&=-1073741825:l===59?(d.extended=d.extended.clone(),d.extended.underlineColor=-1,d.updateExtended()):l===100?(d.fg&=-67108864,d.fg|=16777215&W.DEFAULT_ATTR_DATA.fg,d.bg&=-67108864,d.bg|=16777215&W.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",l);return!0}deviceStatus(k){switch(k.params[0]){case 5:this._coreService.triggerDataEvent(`${q.C0.ESC}[0n`);break;case 6:let m=this._activeBuffer.y+1,l=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${q.C0.ESC}[${m};${l}R`)}return!0}deviceStatusPrivate(k){if(k.params[0]===6){let m=this._activeBuffer.y+1,l=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${q.C0.ESC}[?${m};${l}R`)}return!0}softReset(k){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=W.DEFAULT_ATTR_DATA.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(k){let m=k.params[0]||1;switch(m){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}let l=m%2==1;return this._optionsService.options.cursorBlink=l,!0}setScrollRegion(k){let m=k.params[0]||1,l;return(k.length<2||(l=k.params[1])>this._bufferService.rows||l===0)&&(l=this._bufferService.rows),l>m&&(this._activeBuffer.scrollTop=m-1,this._activeBuffer.scrollBottom=l-1,this._setCursor(0,0)),!0}windowOptions(k){if(!x(k.params[0],this._optionsService.rawOptions.windowOptions))return!0;let m=k.length>1?k.params[1]:0;switch(k.params[0]){case 14:m!==2&&this._onRequestWindowsOptionsReport.fire(u.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(u.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${q.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:m!==0&&m!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),m!==0&&m!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:m!==0&&m!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),m!==0&&m!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(k){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(k){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(k){return this._windowTitle=k,this._onTitleChange.fire(k),!0}setIconName(k){return this._iconName=k,!0}setOrReportIndexedColor(k){let m=[],l=k.split(";");for(;l.length>1;){let d=l.shift(),e=l.shift();if(/^\d+$/.exec(d)){let n=parseInt(d);if(y(n))if(e==="?")m.push({type:0,index:n});else{let z1=P.parseColor(e);z1&&m.push({type:1,index:n,color:z1})}}}return m.length&&this._onColor.fire(m),!0}setHyperlink(k){let m=k.split(";");return!(m.length<2)&&(m[1]?this._createHyperlink(m[0],m[1]):!m[0]&&this._finishHyperlink())}_createHyperlink(k,m){this._getCurrentLinkId()&&this._finishHyperlink();let l=k.split(":"),d,e=l.findIndex((n)=>n.startsWith("id="));return e!==-1&&(d=l[e].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:d,uri:m}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(k,m){let l=k.split(";");for(let d=0;d<l.length&&!(m>=this._specialColors.length);++d,++m)if(l[d]==="?")this._onColor.fire([{type:0,index:this._specialColors[m]}]);else{let e=P.parseColor(l[d]);e&&this._onColor.fire([{type:1,index:this._specialColors[m],color:e}])}return!0}setOrReportFgColor(k){return this._setOrReportSpecialColor(k,0)}setOrReportBgColor(k){return this._setOrReportSpecialColor(k,1)}setOrReportCursorColor(k){return this._setOrReportSpecialColor(k,2)}restoreIndexedColor(k){if(!k)return this._onColor.fire([{type:2}]),!0;let m=[],l=k.split(";");for(let d=0;d<l.length;++d)if(/^\d+$/.exec(l[d])){let e=parseInt(l[d]);y(e)&&m.push({type:2,index:e})}return m.length&&this._onColor.fire(m),!0}restoreFgColor(k){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(k){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(k){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,F.DEFAULT_CHARSET),!0}selectCharset(k){return k.length!==2?(this.selectDefaultCharset(),!0):(k[0]==="/"||this._charsetService.setgCharset($[k[0]],F.CHARSETS[k[1]]||F.DEFAULT_CHARSET),!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 k=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,k,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=W.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=W.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(k){return this._charsetService.setgLevel(k),!0}screenAlignmentPattern(){let k=new N.CellData;k.content=4194373,k.fg=this._curAttrData.fg,k.bg=this._curAttrData.bg,this._setCursor(0,0);for(let m=0;m<this._bufferService.rows;++m){let l=this._activeBuffer.ybase+this._activeBuffer.y+m,d=this._activeBuffer.lines.get(l);d&&(d.fill(k),d.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(k,m){let l=this._bufferService.buffer,d=this._optionsService.rawOptions;return((e)=>(this._coreService.triggerDataEvent(`${q.C0.ESC}${e}${q.C0.ESC}\\`),!0))(k==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:k==='"p'?'P1$r61;1"p':k==="r"?`P1$r${l.scrollTop+1};${l.scrollBottom+1}r`:k==="m"?"P1$r0m":k===" q"?`P1$r${{block:2,underline:4,bar:6}[d.cursorStyle]-(d.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(k,m){this._dirtyRowTracker.markRangeDirty(k,m)}}G.InputHandler=f;let v=class{constructor(k){this._bufferService=k,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(k){k<this.start?this.start=k:k>this.end&&(this.end=k)}markRangeDirty(k,m){k>m&&(_=k,k=m,m=_),k<this.start&&(this.start=k),m>this.end&&(this.end=m)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function y(k){return 0<=k&&k<256}v=K([Y(0,L.IBufferService)],v)},844:(Z,G)=>{function X(K){for(let Y of K)Y.dispose();K.length=0}Object.defineProperty(G,"__esModule",{value:!0}),G.getDisposeArrayDisposable=G.disposeArray=G.toDisposable=G.MutableDisposable=G.Disposable=void 0,G.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(let K of this._disposables)K.dispose();this._disposables.length=0}register(K){return this._disposables.push(K),K}unregister(K){let Y=this._disposables.indexOf(K);Y!==-1&&this._disposables.splice(Y,1)}},G.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(K){this._isDisposed||K===this._value||(this._value?.dispose(),this._value=K)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},G.toDisposable=function(K){return{dispose:K}},G.disposeArray=X,G.getDisposeArrayDisposable=function(K){return{dispose:()=>X(K)}}},114:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.isChromeOS=G.isLinux=G.isWindows=G.isIphone=G.isIpad=G.isMac=G.getSafariVersion=G.isSafari=G.isLegacyEdge=G.isFirefox=G.isNode=void 0,G.isNode=typeof process!="undefined"&&"title"in process;let X=G.isNode?"node":navigator.userAgent,K=G.isNode?"node":navigator.platform;G.isFirefox=X.includes("Firefox"),G.isLegacyEdge=X.includes("Edge"),G.isSafari=/^((?!chrome|android).)*safari/i.test(X),G.getSafariVersion=function(){if(!G.isSafari)return 0;let Y=X.match(/Version\/(\d+)/);return Y===null||Y.length<2?0:parseInt(Y[1])},G.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(K),G.isIpad=K==="iPad",G.isIphone=K==="iPhone",G.isWindows=["Windows","Win16","Win32","WinCE"].includes(K),G.isLinux=K.indexOf("Linux")>=0,G.isChromeOS=/\bCrOS\b/.test(X)},226:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.DebouncedIdleTask=G.IdleTaskQueue=G.PriorityTaskQueue=void 0;let K=X(114);class Y{constructor(){this._tasks=[],this._i=0}enqueue(F){this._tasks.push(F),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(F){this._idleCallback=void 0;let E=0,H=0,w=F.timeRemaining(),W=0;for(;this._i<this._tasks.length;){if(E=Date.now(),this._tasks[this._i]()||this._i++,E=Math.max(1,Date.now()-E),H=Math.max(E,H),W=F.timeRemaining(),1.5*H>W)return w-E<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(w-E))}ms`),void this._start();w=W}this.clear()}}class q extends Y{_requestCallback(F){return setTimeout(()=>F(this._createDeadline(16)))}_cancelCallback(F){clearTimeout(F)}_createDeadline(F){let E=Date.now()+F;return{timeRemaining:()=>Math.max(0,E-Date.now())}}}G.PriorityTaskQueue=q,G.IdleTaskQueue=!K.isNode&&"requestIdleCallback"in window?class extends Y{_requestCallback(F){return requestIdleCallback(F)}_cancelCallback(F){cancelIdleCallback(F)}}:q,G.DebouncedIdleTask=class{constructor(){this._queue=new G.IdleTaskQueue}set(F){this._queue.clear(),this._queue.enqueue(F)}flush(){this._queue.flush()}}},282:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.updateWindowsModeWrappedState=void 0;let K=X(643);G.updateWindowsModeWrappedState=function(Y){let q=Y.buffer.lines.get(Y.buffer.ybase+Y.buffer.y-1),F=q?.get(Y.cols-1),E=Y.buffer.lines.get(Y.buffer.ybase+Y.buffer.y);E&&F&&(E.isWrapped=F[K.CHAR_DATA_CODE_INDEX]!==K.NULL_CELL_CODE&&F[K.CHAR_DATA_CODE_INDEX]!==K.WHITESPACE_CELL_CODE)}},734:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.ExtendedAttrs=G.AttributeData=void 0;class X{constructor(){this.fg=0,this.bg=0,this.extended=new K}static toColorRGB(Y){return[Y>>>16&255,Y>>>8&255,255&Y]}static fromColorRGB(Y){return(255&Y[0])<<16|(255&Y[1])<<8|255&Y[2]}clone(){let Y=new X;return Y.fg=this.fg,Y.bg=this.bg,Y.extended=this.extended.clone(),Y}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}G.AttributeData=X;class K{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(Y){this._ext=Y}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(Y){this._ext&=-469762049,this._ext|=Y<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(Y){this._ext&=-67108864,this._ext|=67108863&Y}get urlId(){return this._urlId}set urlId(Y){this._urlId=Y}get underlineVariantOffset(){let Y=(3758096384&this._ext)>>29;return Y<0?4294967288^Y:Y}set underlineVariantOffset(Y){this._ext&=536870911,this._ext|=Y<<29&3758096384}constructor(Y=0,q=0){this._ext=0,this._urlId=0,this._ext=Y,this._urlId=q}clone(){return new K(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}G.ExtendedAttrs=K},92:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.Buffer=G.MAX_BUFFER_SIZE=void 0;let K=X(349),Y=X(226),q=X(734),F=X(437),E=X(634),H=X(511),w=X(643),W=X(863),I=X(116);G.MAX_BUFFER_SIZE=4294967295,G.Buffer=class{constructor(M,N,V){this._hasScrollback=M,this._optionsService=N,this._bufferService=V,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=F.DEFAULT_ATTR_DATA.clone(),this.savedCharset=I.DEFAULT_CHARSET,this.markers=[],this._nullCell=H.CellData.fromCharData([0,w.NULL_CELL_CHAR,w.NULL_CELL_WIDTH,w.NULL_CELL_CODE]),this._whitespaceCell=H.CellData.fromCharData([0,w.WHITESPACE_CELL_CHAR,w.WHITESPACE_CELL_WIDTH,w.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new Y.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new K.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(M){return M?(this._nullCell.fg=M.fg,this._nullCell.bg=M.bg,this._nullCell.extended=M.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new q.ExtendedAttrs),this._nullCell}getWhitespaceCell(M){return M?(this._whitespaceCell.fg=M.fg,this._whitespaceCell.bg=M.bg,this._whitespaceCell.extended=M.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new q.ExtendedAttrs),this._whitespaceCell}getBlankLine(M,N){return new F.BufferLine(this._bufferService.cols,this.getNullCell(M),N)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let M=this.ybase+this.y-this.ydisp;return M>=0&&M<this._rows}_getCorrectBufferLength(M){if(!this._hasScrollback)return M;let N=M+this._optionsService.rawOptions.scrollback;return N>G.MAX_BUFFER_SIZE?G.MAX_BUFFER_SIZE:N}fillViewportRows(M){if(this.lines.length===0){M===void 0&&(M=F.DEFAULT_ATTR_DATA);let N=this._rows;for(;N--;)this.lines.push(this.getBlankLine(M))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new K.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(M,N){let V=this.getNullCell(F.DEFAULT_ATTR_DATA),L=0,T=this._getCorrectBufferLength(N);if(T>this.lines.maxLength&&(this.lines.maxLength=T),this.lines.length>0){if(this._cols<M)for(let j=0;j<this.lines.length;j++)L+=+this.lines.get(j).resize(M,V);let R=0;if(this._rows<N)for(let j=this._rows;j<N;j++)this.lines.length<N+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new F.BufferLine(M,V)):this.ybase>0&&this.lines.length<=this.ybase+this.y+R+1?(this.ybase--,R++,this.ydisp>0&&this.ydisp--):this.lines.push(new F.BufferLine(M,V)));else for(let j=this._rows;j>N;j--)this.lines.length>N+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(T<this.lines.maxLength){let j=this.lines.length-T;j>0&&(this.lines.trimStart(j),this.ybase=Math.max(this.ybase-j,0),this.ydisp=Math.max(this.ydisp-j,0),this.savedY=Math.max(this.savedY-j,0)),this.lines.maxLength=T}this.x=Math.min(this.x,M-1),this.y=Math.min(this.y,N-1),R&&(this.y+=R),this.savedX=Math.min(this.savedX,M-1),this.scrollTop=0}if(this.scrollBottom=N-1,this._isReflowEnabled&&(this._reflow(M,N),this._cols>M))for(let R=0;R<this.lines.length;R++)L+=+this.lines.get(R).resize(M,V);this._cols=M,this._rows=N,this._memoryCleanupQueue.clear(),L>0.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let M=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,M=!1);let N=0;for(;this._memoryCleanupPosition<this.lines.length;)if(N+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),N>100)return!0;return M}get _isReflowEnabled(){let M=this._optionsService.rawOptions.windowsPty;return M&&M.buildNumber?this._hasScrollback&&M.backend==="conpty"&&M.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(M,N){this._cols!==M&&(M>this._cols?this._reflowLarger(M,N):this._reflowSmaller(M,N))}_reflowLarger(M,N){let V=E.reflowLargerGetLinesToRemove(this.lines,this._cols,M,this.ybase+this.y,this.getNullCell(F.DEFAULT_ATTR_DATA));if(V.length>0){let L=E.reflowLargerCreateNewLayout(this.lines,V);E.reflowLargerApplyNewLayout(this.lines,L.layout),this._reflowLargerAdjustViewport(M,N,L.countRemoved)}}_reflowLargerAdjustViewport(M,N,V){let L=this.getNullCell(F.DEFAULT_ATTR_DATA),T=V;for(;T-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<N&&this.lines.push(new F.BufferLine(M,L))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-V,0)}_reflowSmaller(M,N){let V=this.getNullCell(F.DEFAULT_ATTR_DATA),L=[],T=0;for(let R=this.lines.length-1;R>=0;R--){let j=this.lines.get(R);if(!j||!j.isWrapped&&j.getTrimmedLength()<=M)continue;let P=[j];for(;j.isWrapped&&R>0;)j=this.lines.get(--R),P.unshift(j);let $=this.ybase+this.y;if($>=R&&$<R+P.length)continue;let S=P[P.length-1].getTrimmedLength(),x=E.reflowSmallerGetNewLineLengths(P,this._cols,M),u=x.length-P.length,_;_=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+u):Math.max(0,this.lines.length-this.lines.maxLength+u);let f=[];for(let d=0;d<u;d++){let e=this.getBlankLine(F.DEFAULT_ATTR_DATA,!0);f.push(e)}f.length>0&&(L.push({start:R+P.length+T,newLines:f}),T+=f.length),P.push(...f);let v=x.length-1,y=x[v];y===0&&(v--,y=x[v]);let k=P.length-u-1,m=S;for(;k>=0;){let d=Math.min(m,y);if(P[v]===void 0)break;if(P[v].copyCellsFrom(P[k],m-d,y-d,d,!0),y-=d,y===0&&(v--,y=x[v]),m-=d,m===0){k--;let e=Math.max(k,0);m=E.getWrappedLineTrimmedLength(P,e,this._cols)}}for(let d=0;d<P.length;d++)x[d]<M&&P[d].setCell(x[d],V);let l=u-_;for(;l-- >0;)this.ybase===0?this.y<N-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+T)-N&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+u,this.ybase+N-1)}if(L.length>0){let R=[],j=[];for(let v=0;v<this.lines.length;v++)j.push(this.lines.get(v));let P=this.lines.length,$=P-1,S=0,x=L[S];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+T);let u=0;for(let v=Math.min(this.lines.maxLength-1,P+T-1);v>=0;v--)if(x&&x.start>$+u){for(let y=x.newLines.length-1;y>=0;y--)this.lines.set(v--,x.newLines[y]);v++,R.push({index:$+1,amount:x.newLines.length}),u+=x.newLines.length,x=L[++S]}else this.lines.set(v,j[$--]);let _=0;for(let v=R.length-1;v>=0;v--)R[v].index+=_,this.lines.onInsertEmitter.fire(R[v]),_+=R[v].amount;let f=Math.max(0,P+T-this.lines.maxLength);f>0&&this.lines.onTrimEmitter.fire(f)}}translateBufferLineToString(M,N,V=0,L){let T=this.lines.get(M);return T?T.translateToString(N,V,L):""}getWrappedRangeForLine(M){let N=M,V=M;for(;N>0&&this.lines.get(N).isWrapped;)N--;for(;V+1<this.lines.length&&this.lines.get(V+1).isWrapped;)V++;return{first:N,last:V}}setupTabStops(M){for(M!=null?this.tabs[M]||(M=this.prevStop(M)):(this.tabs={},M=0);M<this._cols;M+=this._optionsService.rawOptions.tabStopWidth)this.tabs[M]=!0}prevStop(M){for(M==null&&(M=this.x);!this.tabs[--M]&&M>0;);return M>=this._cols?this._cols-1:M<0?0:M}nextStop(M){for(M==null&&(M=this.x);!this.tabs[++M]&&M<this._cols;);return M>=this._cols?this._cols-1:M<0?0:M}clearMarkers(M){this._isClearing=!0;for(let N=0;N<this.markers.length;N++)this.markers[N].line===M&&(this.markers[N].dispose(),this.markers.splice(N--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let M=0;M<this.markers.length;M++)this.markers[M].dispose(),this.markers.splice(M--,1);this._isClearing=!1}addMarker(M){let N=new W.Marker(M);return this.markers.push(N),N.register(this.lines.onTrim((V)=>{N.line-=V,N.line<0&&N.dispose()})),N.register(this.lines.onInsert((V)=>{N.line>=V.index&&(N.line+=V.amount)})),N.register(this.lines.onDelete((V)=>{N.line>=V.index&&N.line<V.index+V.amount&&N.dispose(),N.line>V.index&&(N.line-=V.amount)})),N.register(N.onDispose(()=>this._removeMarker(N))),N}_removeMarker(M){this._isClearing||this.markers.splice(this.markers.indexOf(M),1)}}},437:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.BufferLine=G.DEFAULT_ATTR_DATA=void 0;let K=X(734),Y=X(511),q=X(643),F=X(482);G.DEFAULT_ATTR_DATA=Object.freeze(new K.AttributeData);let E=0;class H{constructor(w,W,I=!1){this.isWrapped=I,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*w);let M=W||Y.CellData.fromCharData([0,q.NULL_CELL_CHAR,q.NULL_CELL_WIDTH,q.NULL_CELL_CODE]);for(let N=0;N<w;++N)this.setCell(N,M);this.length=w}get(w){let W=this._data[3*w+0],I=2097151&W;return[this._data[3*w+1],2097152&W?this._combined[w]:I?F.stringFromCodePoint(I):"",W>>22,2097152&W?this._combined[w].charCodeAt(this._combined[w].length-1):I]}set(w,W){this._data[3*w+1]=W[q.CHAR_DATA_ATTR_INDEX],W[q.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[w]=W[1],this._data[3*w+0]=2097152|w|W[q.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*w+0]=W[q.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|W[q.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(w){return this._data[3*w+0]>>22}hasWidth(w){return 12582912&this._data[3*w+0]}getFg(w){return this._data[3*w+1]}getBg(w){return this._data[3*w+2]}hasContent(w){return 4194303&this._data[3*w+0]}getCodePoint(w){let W=this._data[3*w+0];return 2097152&W?this._combined[w].charCodeAt(this._combined[w].length-1):2097151&W}isCombined(w){return 2097152&this._data[3*w+0]}getString(w){let W=this._data[3*w+0];return 2097152&W?this._combined[w]:2097151&W?F.stringFromCodePoint(2097151&W):""}isProtected(w){return 536870912&this._data[3*w+2]}loadCell(w,W){return E=3*w,W.content=this._data[E+0],W.fg=this._data[E+1],W.bg=this._data[E+2],2097152&W.content&&(W.combinedData=this._combined[w]),268435456&W.bg&&(W.extended=this._extendedAttrs[w]),W}setCell(w,W){2097152&W.content&&(this._combined[w]=W.combinedData),268435456&W.bg&&(this._extendedAttrs[w]=W.extended),this._data[3*w+0]=W.content,this._data[3*w+1]=W.fg,this._data[3*w+2]=W.bg}setCellFromCodepoint(w,W,I,M){268435456&M.bg&&(this._extendedAttrs[w]=M.extended),this._data[3*w+0]=W|I<<22,this._data[3*w+1]=M.fg,this._data[3*w+2]=M.bg}addCodepointToCell(w,W,I){let M=this._data[3*w+0];2097152&M?this._combined[w]+=F.stringFromCodePoint(W):2097151&M?(this._combined[w]=F.stringFromCodePoint(2097151&M)+F.stringFromCodePoint(W),M&=-2097152,M|=2097152):M=W|4194304,I&&(M&=-12582913,M|=I<<22),this._data[3*w+0]=M}insertCells(w,W,I){if((w%=this.length)&&this.getWidth(w-1)===2&&this.setCellFromCodepoint(w-1,0,1,I),W<this.length-w){let M=new Y.CellData;for(let N=this.length-w-W-1;N>=0;--N)this.setCell(w+W+N,this.loadCell(w+N,M));for(let N=0;N<W;++N)this.setCell(w+N,I)}else for(let M=w;M<this.length;++M)this.setCell(M,I);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,I)}deleteCells(w,W,I){if(w%=this.length,W<this.length-w){let M=new Y.CellData;for(let N=0;N<this.length-w-W;++N)this.setCell(w+N,this.loadCell(w+W+N,M));for(let N=this.length-W;N<this.length;++N)this.setCell(N,I)}else for(let M=w;M<this.length;++M)this.setCell(M,I);w&&this.getWidth(w-1)===2&&this.setCellFromCodepoint(w-1,0,1,I),this.getWidth(w)!==0||this.hasContent(w)||this.setCellFromCodepoint(w,0,1,I)}replaceCells(w,W,I,M=!1){if(M)for(w&&this.getWidth(w-1)===2&&!this.isProtected(w-1)&&this.setCellFromCodepoint(w-1,0,1,I),W<this.length&&this.getWidth(W-1)===2&&!this.isProtected(W)&&this.setCellFromCodepoint(W,0,1,I);w<W&&w<this.length;)this.isProtected(w)||this.setCell(w,I),w++;else for(w&&this.getWidth(w-1)===2&&this.setCellFromCodepoint(w-1,0,1,I),W<this.length&&this.getWidth(W-1)===2&&this.setCellFromCodepoint(W,0,1,I);w<W&&w<this.length;)this.setCell(w++,I)}resize(w,W){if(w===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;let I=3*w;if(w>this.length){if(this._data.buffer.byteLength>=4*I)this._data=new Uint32Array(this._data.buffer,0,I);else{let M=new Uint32Array(I);M.set(this._data),this._data=M}for(let M=this.length;M<w;++M)this.setCell(M,W)}else{this._data=this._data.subarray(0,I);let M=Object.keys(this._combined);for(let V=0;V<M.length;V++){let L=parseInt(M[V],10);L>=w&&delete this._combined[L]}let N=Object.keys(this._extendedAttrs);for(let V=0;V<N.length;V++){let L=parseInt(N[V],10);L>=w&&delete this._extendedAttrs[L]}}return this.length=w,4*I*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){let w=new Uint32Array(this._data.length);return w.set(this._data),this._data=w,1}return 0}fill(w,W=!1){if(W)for(let I=0;I<this.length;++I)this.isProtected(I)||this.setCell(I,w);else{this._combined={},this._extendedAttrs={};for(let I=0;I<this.length;++I)this.setCell(I,w)}}copyFrom(w){this.length!==w.length?this._data=new Uint32Array(w._data):this._data.set(w._data),this.length=w.length,this._combined={};for(let W in w._combined)this._combined[W]=w._combined[W];this._extendedAttrs={};for(let W in w._extendedAttrs)this._extendedAttrs[W]=w._extendedAttrs[W];this.isWrapped=w.isWrapped}clone(){let w=new H(0);w._data=new Uint32Array(this._data),w.length=this.length;for(let W in this._combined)w._combined[W]=this._combined[W];for(let W in this._extendedAttrs)w._extendedAttrs[W]=this._extendedAttrs[W];return w.isWrapped=this.isWrapped,w}getTrimmedLength(){for(let w=this.length-1;w>=0;--w)if(4194303&this._data[3*w+0])return w+(this._data[3*w+0]>>22);return 0}getNoBgTrimmedLength(){for(let w=this.length-1;w>=0;--w)if(4194303&this._data[3*w+0]||50331648&this._data[3*w+2])return w+(this._data[3*w+0]>>22);return 0}copyCellsFrom(w,W,I,M,N){let V=w._data;if(N)for(let T=M-1;T>=0;T--){for(let R=0;R<3;R++)this._data[3*(I+T)+R]=V[3*(W+T)+R];268435456&V[3*(W+T)+2]&&(this._extendedAttrs[I+T]=w._extendedAttrs[W+T])}else for(let T=0;T<M;T++){for(let R=0;R<3;R++)this._data[3*(I+T)+R]=V[3*(W+T)+R];268435456&V[3*(W+T)+2]&&(this._extendedAttrs[I+T]=w._extendedAttrs[W+T])}let L=Object.keys(w._combined);for(let T=0;T<L.length;T++){let R=parseInt(L[T],10);R>=W&&(this._combined[R-W+I]=w._combined[R])}}translateToString(w,W,I,M){W=W??0,I=I??this.length,w&&(I=Math.min(I,this.getTrimmedLength())),M&&(M.length=0);let N="";for(;W<I;){let V=this._data[3*W+0],L=2097151&V,T=2097152&V?this._combined[W]:L?F.stringFromCodePoint(L):q.WHITESPACE_CELL_CHAR;if(N+=T,M)for(let R=0;R<T.length;++R)M.push(W);W+=V>>22||1}return M&&M.push(W),N}}G.BufferLine=H},634:(Z,G)=>{function X(K,Y,q){if(Y===K.length-1)return K[Y].getTrimmedLength();let F=!K[Y].hasContent(q-1)&&K[Y].getWidth(q-1)===1,E=K[Y+1].getWidth(0)===2;return F&&E?q-1:q}Object.defineProperty(G,"__esModule",{value:!0}),G.getWrappedLineTrimmedLength=G.reflowSmallerGetNewLineLengths=G.reflowLargerApplyNewLayout=G.reflowLargerCreateNewLayout=G.reflowLargerGetLinesToRemove=void 0,G.reflowLargerGetLinesToRemove=function(K,Y,q,F,E){let H=[];for(let w=0;w<K.length-1;w++){let W=w,I=K.get(++W);if(!I.isWrapped)continue;let M=[K.get(w)];for(;W<K.length&&I.isWrapped;)M.push(I),I=K.get(++W);if(F>=w&&F<W){w+=M.length-1;continue}let N=0,V=X(M,N,Y),L=1,T=0;for(;L<M.length;){let j=X(M,L,Y),P=j-T,$=q-V,S=Math.min(P,$);M[N].copyCellsFrom(M[L],T,V,S,!1),V+=S,V===q&&(N++,V=0),T+=S,T===j&&(L++,T=0),V===0&&N!==0&&M[N-1].getWidth(q-1)===2&&(M[N].copyCellsFrom(M[N-1],q-1,V++,1,!1),M[N-1].setCell(q-1,E))}M[N].replaceCells(V,q,E);let R=0;for(let j=M.length-1;j>0&&(j>N||M[j].getTrimmedLength()===0);j--)R++;R>0&&(H.push(w+M.length-R),H.push(R)),w+=M.length-1}return H},G.reflowLargerCreateNewLayout=function(K,Y){let q=[],F=0,E=Y[F],H=0;for(let w=0;w<K.length;w++)if(E===w){let W=Y[++F];K.onDeleteEmitter.fire({index:w-H,amount:W}),w+=W-1,H+=W,E=Y[++F]}else q.push(w);return{layout:q,countRemoved:H}},G.reflowLargerApplyNewLayout=function(K,Y){let q=[];for(let F=0;F<Y.length;F++)q.push(K.get(Y[F]));for(let F=0;F<q.length;F++)K.set(F,q[F]);K.length=Y.length},G.reflowSmallerGetNewLineLengths=function(K,Y,q){let F=[],E=K.map((I,M)=>X(K,M,Y)).reduce((I,M)=>I+M),H=0,w=0,W=0;for(;W<E;){if(E-W<q){F.push(E-W);break}H+=q;let I=X(K,w,Y);H>I&&(H-=I,w++);let M=K[w].getWidth(H-1)===2;M&&H--;let N=M?q-1:q;F.push(N),W+=N}return F},G.getWrappedLineTrimmedLength=X},295:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.BufferSet=void 0;let K=X(460),Y=X(844),q=X(92);class F extends Y.Disposable{constructor(E,H){super(),this._optionsService=E,this._bufferService=H,this._onBufferActivate=this.register(new K.EventEmitter),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 q.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new q.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(E){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(E),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(E,H){this._normal.resize(E,H),this._alt.resize(E,H),this.setupTabStops(E)}setupTabStops(E){this._normal.setupTabStops(E),this._alt.setupTabStops(E)}}G.BufferSet=F},511:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.CellData=void 0;let K=X(482),Y=X(643),q=X(734);class F extends q.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new q.ExtendedAttrs,this.combinedData=""}static fromCharData(E){let H=new F;return H.setFromCharData(E),H}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?K.stringFromCodePoint(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(E){this.fg=E[Y.CHAR_DATA_ATTR_INDEX],this.bg=0;let H=!1;if(E[Y.CHAR_DATA_CHAR_INDEX].length>2)H=!0;else if(E[Y.CHAR_DATA_CHAR_INDEX].length===2){let w=E[Y.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=w&&w<=56319){let W=E[Y.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=W&&W<=57343?this.content=1024*(w-55296)+W-56320+65536|E[Y.CHAR_DATA_WIDTH_INDEX]<<22:H=!0}else H=!0}else this.content=E[Y.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|E[Y.CHAR_DATA_WIDTH_INDEX]<<22;H&&(this.combinedData=E[Y.CHAR_DATA_CHAR_INDEX],this.content=2097152|E[Y.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}G.CellData=F},643:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.WHITESPACE_CELL_CODE=G.WHITESPACE_CELL_WIDTH=G.WHITESPACE_CELL_CHAR=G.NULL_CELL_CODE=G.NULL_CELL_WIDTH=G.NULL_CELL_CHAR=G.CHAR_DATA_CODE_INDEX=G.CHAR_DATA_WIDTH_INDEX=G.CHAR_DATA_CHAR_INDEX=G.CHAR_DATA_ATTR_INDEX=G.DEFAULT_EXT=G.DEFAULT_ATTR=G.DEFAULT_COLOR=void 0,G.DEFAULT_COLOR=0,G.DEFAULT_ATTR=256|G.DEFAULT_COLOR<<9,G.DEFAULT_EXT=0,G.CHAR_DATA_ATTR_INDEX=0,G.CHAR_DATA_CHAR_INDEX=1,G.CHAR_DATA_WIDTH_INDEX=2,G.CHAR_DATA_CODE_INDEX=3,G.NULL_CELL_CHAR="",G.NULL_CELL_WIDTH=1,G.NULL_CELL_CODE=0,G.WHITESPACE_CELL_CHAR=" ",G.WHITESPACE_CELL_WIDTH=1,G.WHITESPACE_CELL_CODE=32},863:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.Marker=void 0;let K=X(460),Y=X(844);class q{get id(){return this._id}constructor(F){this.line=F,this.isDisposed=!1,this._disposables=[],this._id=q._nextId++,this._onDispose=this.register(new K.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),Y.disposeArray(this._disposables),this._disposables.length=0)}register(F){return this._disposables.push(F),F}}G.Marker=q,q._nextId=1},116:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.DEFAULT_CHARSET=G.CHARSETS=void 0,G.CHARSETS={},G.DEFAULT_CHARSET=G.CHARSETS.B,G.CHARSETS[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:"≥","{":"π","|":"≠","}":"£","~":"·"},G.CHARSETS.A={"#":"£"},G.CHARSETS.B=void 0,G.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},G.CHARSETS.C=G.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},G.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},G.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},G.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},G.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},G.CHARSETS.E=G.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},G.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},G.CHARSETS.H=G.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},G.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},584:(Z,G)=>{var X,K,Y;Object.defineProperty(G,"__esModule",{value:!0}),G.C1_ESCAPED=G.C1=G.C0=void 0,function(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=`
|
330
|
+
</risk>`;var A40=k1(()=>{P6();l6();AQ();CN();ugA=jF1});async function Q40(A,Q,B){if(!(B?.config?.["experimental.commandApproval.enabled"]??!1))return null;let D=B?.config?.["experimental.commandApproval.allow"]??[],z=B?.config?.["experimental.commandApproval.deny"]??[];try{if(agA.some((G)=>A.startsWith(G)))return{requiresConfirmation:!1,reason:"Built-in safe command",parts:[]};if(rgA.some((G)=>A.startsWith(G)))return{requiresConfirmation:!0,reason:"On built-in deny list",parts:[]};if(D.some((G)=>A.startsWith(G)))return{requiresConfirmation:!1,reason:"On allow list",parts:[]};if(z.some((G)=>A.startsWith(G)))return{requiresConfirmation:!0,reason:"On deny list",parts:[]};let Z=await ogA(A,Q,B?.thread?.id??JY());if(Z.requiresConfirmation)return{requiresConfirmation:!0,reason:Z.reason,toAllow:Z.toAllow,parts:[]};return{requiresConfirmation:!1,reason:Z.reason,parts:[]}}catch(Z){return j1.error("Experimental approval system failed",{cmd:A},Z),null}}async function ogA(A,Q,B){let J=await sgA(A,Q,B);if(!J)return{requiresConfirmation:!0,reason:"Risk assessment failed"};return{requiresConfirmation:J.requiresApproval,reason:J.reason,toAllow:J.toAllow}}var agA,rgA,ngA,sgA;var B40=k1(()=>{l6();BQ();A40();agA=["ls","dir","cat","head","tail","less","more","grep","egrep","fgrep","tree","file","wc","pwd","stat","du","df","ps","top","htop","echo","printenv","id","which","whereis","date","cal","uptime","free","ping","dig","nslookup","host","netstat","ss","lsof","ifconfig","ip","man","info","mkdir","touch","uname","whoami","go version","go env","go help","cargo version","cargo --version","cargo help","rustc --version","rustc --help","rustc --explain","javac --version","javac -version","javac -help","javac --help","dotnet --info","dotnet --version","dotnet --help","dotnet help","gcc --version","gcc -v","gcc --help","gcc -dumpversion","g++ --version","g++ -v","g++ --help","g++ -dumpversion","clang --version","clang --help","clang++ --version","clang++ --help","python -V","python --version","python -h","python --help","python3 -V","python3 --version","python3 -h","python3 --help","ruby -v","ruby --version","ruby -h","ruby --help","node -v","node --version","node -h","node --help","npm --help","npm --version","npm -v","npm help","yarn --help","yarn --version","yarn -v","yarn help","pnpm --help","pnpm --version","pnpm -v","pnpm help","pytest -h","pytest --help","pytest --version","jest --help","jest --version","mocha --help","mocha --version","make --version","make --help","docker --version","docker --help","docker version","docker help","git --version","git --help","git help","go test","go run","go build","go vet","go fmt","go list","cargo test","cargo run","cargo build","cargo check","cargo fmt","cargo tree","make -n","make --dry-run","mvn test","mvn verify","mvn dependency:tree","gradle tasks","gradle dependencies","gradle properties","dotnet test","dotnet list","npm list","npm ls","npm outdated","npm test","npm run","npm view","npm info","yarn list","yarn ls","yarn info","yarn test","yarn run","yarn why","pnpm list","pnpm ls","pnpm outdated","pnpm test","pnpm run","pytest --collect-only","jest --listTests","jest --showConfig","mocha --list","git status","git show","git diff","git grep","git branch","git tag","git remote -v","git rev-parse --is-inside-work-tree","git rev-parse --show-toplevel","git config --list","git log"],rgA=["dd","rm -rf /","rm -rf ~/"],ngA=e90,sgA=ngA});var D40=t((J40)=>{(()=>{var A={349:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.CircularList=void 0;let K=X(460),Y=X(844);class q extends Y.Disposable{constructor(F){super(),this._maxLength=F,this.onDeleteEmitter=this.register(new K.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new K.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new K.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(F){if(this._maxLength===F)return;let E=new Array(F);for(let H=0;H<Math.min(F,this.length);H++)E[H]=this._array[this._getCyclicIndex(H)];this._array=E,this._maxLength=F,this._startIndex=0}get length(){return this._length}set length(F){if(F>this._length)for(let E=this._length;E<F;E++)this._array[E]=void 0;this._length=F}get(F){return this._array[this._getCyclicIndex(F)]}set(F,E){this._array[this._getCyclicIndex(F)]=E}push(F){this._array[this._getCyclicIndex(this._length)]=F,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(F,E,...H){if(E){for(let w=F;w<this._length-E;w++)this._array[this._getCyclicIndex(w)]=this._array[this._getCyclicIndex(w+E)];this._length-=E,this.onDeleteEmitter.fire({index:F,amount:E})}for(let w=this._length-1;w>=F;w--)this._array[this._getCyclicIndex(w+H.length)]=this._array[this._getCyclicIndex(w)];for(let w=0;w<H.length;w++)this._array[this._getCyclicIndex(F+w)]=H[w];if(H.length&&this.onInsertEmitter.fire({index:F,amount:H.length}),this._length+H.length>this._maxLength){let w=this._length+H.length-this._maxLength;this._startIndex+=w,this._length=this._maxLength,this.onTrimEmitter.fire(w)}else this._length+=H.length}trimStart(F){F>this._length&&(F=this._length),this._startIndex+=F,this._length-=F,this.onTrimEmitter.fire(F)}shiftElements(F,E,H){if(!(E<=0)){if(F<0||F>=this._length)throw new Error("start argument out of range");if(F+H<0)throw new Error("Cannot shift elements in list beyond index 0");if(H>0){for(let W=E-1;W>=0;W--)this.set(F+W+H,this.get(F+W));let w=F+E+H-this._length;if(w>0)for(this._length+=w;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let w=0;w<E;w++)this.set(F+w+H,this.get(F+w))}}_getCyclicIndex(F){return(this._startIndex+F)%this._maxLength}}G.CircularList=q},439:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.clone=void 0,G.clone=function X(K,Y=5){if(typeof K!="object")return K;let q=Array.isArray(K)?[]:{};for(let F in K)q[F]=Y<=1?K[F]:K[F]&&X(K[F],Y-1);return q}},969:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.CoreTerminal=void 0;let K=X(844),Y=X(585),q=X(348),F=X(866),E=X(744),H=X(302),w=X(83),W=X(460),I=X(753),M=X(480),N=X(994),V=X(282),L=X(435),T=X(981),R=X(660),j=!1;class P extends K.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new W.EventEmitter),this._onScroll.event(($)=>{this._onScrollApi?.fire($.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($){for(let S in $)this.optionsService.options[S]=$[S]}constructor($){super(),this._windowsWrappingHeuristics=this.register(new K.MutableDisposable),this._onBinary=this.register(new W.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new W.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new W.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new W.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new W.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new W.EventEmitter),this._instantiationService=new q.InstantiationService,this.optionsService=this.register(new H.OptionsService($)),this._instantiationService.setService(Y.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(E.BufferService)),this._instantiationService.setService(Y.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(F.LogService)),this._instantiationService.setService(Y.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(w.CoreService)),this._instantiationService.setService(Y.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(I.CoreMouseService)),this._instantiationService.setService(Y.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(M.UnicodeService)),this._instantiationService.setService(Y.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(N.CharsetService),this._instantiationService.setService(Y.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(R.OscLinkService),this._instantiationService.setService(Y.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new L.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register(W.forwardEvent(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register(W.forwardEvent(this._bufferService.onResize,this._onResize)),this.register(W.forwardEvent(this.coreService.onData,this._onData)),this.register(W.forwardEvent(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom())),this.register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this.register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this.register(this._bufferService.onScroll((S)=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this.register(this._inputHandler.onScroll((S)=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this.register(new T.WriteBuffer((S,x)=>this._inputHandler.parse(S,x))),this.register(W.forwardEvent(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write($,S){this._writeBuffer.write($,S)}writeSync($,S){this._logService.logLevel<=Y.LogLevelEnum.WARN&&!j&&(this._logService.warn("writeSync is unreliable and will be removed soon."),j=!0),this._writeBuffer.writeSync($,S)}input($,S=!0){this.coreService.triggerDataEvent($,S)}resize($,S){isNaN($)||isNaN(S)||($=Math.max($,E.MINIMUM_COLS),S=Math.max(S,E.MINIMUM_ROWS),this._bufferService.resize($,S))}scroll($,S=!1){this._bufferService.scroll($,S)}scrollLines($,S,x){this._bufferService.scrollLines($,S,x)}scrollPages($){this.scrollLines($*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine($){let S=$-this._bufferService.buffer.ydisp;S!==0&&this.scrollLines(S)}registerEscHandler($,S){return this._inputHandler.registerEscHandler($,S)}registerDcsHandler($,S){return this._inputHandler.registerDcsHandler($,S)}registerCsiHandler($,S){return this._inputHandler.registerCsiHandler($,S)}registerOscHandler($,S){return this._inputHandler.registerOscHandler($,S)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let $=!1,S=this.optionsService.rawOptions.windowsPty;S&&S.buildNumber!==void 0&&S.buildNumber!==void 0?$=S.backend==="conpty"&&S.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&($=!0),$?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let $=[];$.push(this.onLineFeed(V.updateWindowsModeWrappedState.bind(null,this._bufferService))),$.push(this.registerCsiHandler({final:"H"},()=>(V.updateWindowsModeWrappedState(this._bufferService),!1))),this._windowsWrappingHeuristics.value=K.toDisposable(()=>{for(let S of $)S.dispose()})}}}G.CoreTerminal=P},460:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.runAndSubscribe=G.forwardEvent=G.EventEmitter=void 0,G.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=(X)=>{return this._listeners.push(X),{dispose:()=>{if(!this._disposed){for(let Y=0;Y<this._listeners.length;Y++)if(this._listeners[Y]===X)return void this._listeners.splice(Y,1)}}}}),this._event}fire(X,K){let Y=[];for(let q=0;q<this._listeners.length;q++)Y.push(this._listeners[q]);for(let q=0;q<Y.length;q++)Y[q].call(void 0,X,K)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},G.forwardEvent=function(X,K){return X((Y)=>K.fire(Y))},G.runAndSubscribe=function(X,K){return K(void 0),X((Y)=>K(Y))}},435:function(Z,G,X){var K=this&&this.__decorate||function(k,m,l,d){var e,n=arguments.length,z1=n<3?m:d===null?d=Object.getOwnPropertyDescriptor(m,l):d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")z1=Reflect.decorate(k,m,l,d);else for(var o=k.length-1;o>=0;o--)(e=k[o])&&(z1=(n<3?e(z1):n>3?e(m,l,z1):e(m,l))||z1);return n>3&&z1&&Object.defineProperty(m,l,z1),z1},Y=this&&this.__param||function(k,m){return function(l,d){m(l,d,k)}};Object.defineProperty(G,"__esModule",{value:!0}),G.InputHandler=G.WindowsOptionsReportType=void 0;let q=X(584),F=X(116),E=X(15),H=X(844),w=X(482),W=X(437),I=X(460),M=X(643),N=X(511),V=X(734),L=X(585),T=X(480),R=X(242),j=X(351),P=X(941),$={"(":0,")":1,"*":2,"+":3,"-":1,".":2},S=131072;function x(k,m){if(k>24)return m.setWinLines||!1;switch(k){case 1:return!!m.restoreWin;case 2:return!!m.minimizeWin;case 3:return!!m.setWinPosition;case 4:return!!m.setWinSizePixels;case 5:return!!m.raiseWin;case 6:return!!m.lowerWin;case 7:return!!m.refreshWin;case 8:return!!m.setWinSizeChars;case 9:return!!m.maximizeWin;case 10:return!!m.fullscreenWin;case 11:return!!m.getWinState;case 13:return!!m.getWinPosition;case 14:return!!m.getWinSizePixels;case 15:return!!m.getScreenSizePixels;case 16:return!!m.getCellSizePixels;case 18:return!!m.getWinSizeChars;case 19:return!!m.getScreenSizeChars;case 20:return!!m.getIconTitle;case 21:return!!m.getWinTitle;case 22:return!!m.pushTitle;case 23:return!!m.popTitle;case 24:return!!m.setWinLines}return!1}var u;(function(k){k[k.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",k[k.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(u||(G.WindowsOptionsReportType=u={}));let _=0;class f extends H.Disposable{getAttrData(){return this._curAttrData}constructor(k,m,l,d,e,n,z1,o,J1=new E.EscapeSequenceParser){super(),this._bufferService=k,this._charsetService=m,this._coreService=l,this._logService=d,this._optionsService=e,this._oscLinkService=n,this._coreMouseService=z1,this._unicodeService=o,this._parser=J1,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new w.StringToUtf32,this._utf8Decoder=new w.Utf8ToUtf32,this._workCell=new N.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=W.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=W.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new I.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new I.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new I.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new I.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new I.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new I.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new I.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new I.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new I.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new I.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new I.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new I.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new I.EventEmitter),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 v(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((D1)=>this._activeBuffer=D1.activeBuffer)),this._parser.setCsiHandlerFallback((D1,w1)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(D1),params:w1.toArray()})}),this._parser.setEscHandlerFallback((D1)=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(D1)})}),this._parser.setExecuteHandlerFallback((D1)=>{this._logService.debug("Unknown EXECUTE code: ",{code:D1})}),this._parser.setOscHandlerFallback((D1,w1,a)=>{this._logService.debug("Unknown OSC code: ",{identifier:D1,action:w1,data:a})}),this._parser.setDcsHandlerFallback((D1,w1,a)=>{w1==="HOOK"&&(a=a.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(D1),action:w1,payload:a})}),this._parser.setPrintHandler((D1,w1,a)=>this.print(D1,w1,a)),this._parser.registerCsiHandler({final:"@"},(D1)=>this.insertChars(D1)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(D1)=>this.scrollLeft(D1)),this._parser.registerCsiHandler({final:"A"},(D1)=>this.cursorUp(D1)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(D1)=>this.scrollRight(D1)),this._parser.registerCsiHandler({final:"B"},(D1)=>this.cursorDown(D1)),this._parser.registerCsiHandler({final:"C"},(D1)=>this.cursorForward(D1)),this._parser.registerCsiHandler({final:"D"},(D1)=>this.cursorBackward(D1)),this._parser.registerCsiHandler({final:"E"},(D1)=>this.cursorNextLine(D1)),this._parser.registerCsiHandler({final:"F"},(D1)=>this.cursorPrecedingLine(D1)),this._parser.registerCsiHandler({final:"G"},(D1)=>this.cursorCharAbsolute(D1)),this._parser.registerCsiHandler({final:"H"},(D1)=>this.cursorPosition(D1)),this._parser.registerCsiHandler({final:"I"},(D1)=>this.cursorForwardTab(D1)),this._parser.registerCsiHandler({final:"J"},(D1)=>this.eraseInDisplay(D1,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},(D1)=>this.eraseInDisplay(D1,!0)),this._parser.registerCsiHandler({final:"K"},(D1)=>this.eraseInLine(D1,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},(D1)=>this.eraseInLine(D1,!0)),this._parser.registerCsiHandler({final:"L"},(D1)=>this.insertLines(D1)),this._parser.registerCsiHandler({final:"M"},(D1)=>this.deleteLines(D1)),this._parser.registerCsiHandler({final:"P"},(D1)=>this.deleteChars(D1)),this._parser.registerCsiHandler({final:"S"},(D1)=>this.scrollUp(D1)),this._parser.registerCsiHandler({final:"T"},(D1)=>this.scrollDown(D1)),this._parser.registerCsiHandler({final:"X"},(D1)=>this.eraseChars(D1)),this._parser.registerCsiHandler({final:"Z"},(D1)=>this.cursorBackwardTab(D1)),this._parser.registerCsiHandler({final:"`"},(D1)=>this.charPosAbsolute(D1)),this._parser.registerCsiHandler({final:"a"},(D1)=>this.hPositionRelative(D1)),this._parser.registerCsiHandler({final:"b"},(D1)=>this.repeatPrecedingCharacter(D1)),this._parser.registerCsiHandler({final:"c"},(D1)=>this.sendDeviceAttributesPrimary(D1)),this._parser.registerCsiHandler({prefix:">",final:"c"},(D1)=>this.sendDeviceAttributesSecondary(D1)),this._parser.registerCsiHandler({final:"d"},(D1)=>this.linePosAbsolute(D1)),this._parser.registerCsiHandler({final:"e"},(D1)=>this.vPositionRelative(D1)),this._parser.registerCsiHandler({final:"f"},(D1)=>this.hVPosition(D1)),this._parser.registerCsiHandler({final:"g"},(D1)=>this.tabClear(D1)),this._parser.registerCsiHandler({final:"h"},(D1)=>this.setMode(D1)),this._parser.registerCsiHandler({prefix:"?",final:"h"},(D1)=>this.setModePrivate(D1)),this._parser.registerCsiHandler({final:"l"},(D1)=>this.resetMode(D1)),this._parser.registerCsiHandler({prefix:"?",final:"l"},(D1)=>this.resetModePrivate(D1)),this._parser.registerCsiHandler({final:"m"},(D1)=>this.charAttributes(D1)),this._parser.registerCsiHandler({final:"n"},(D1)=>this.deviceStatus(D1)),this._parser.registerCsiHandler({prefix:"?",final:"n"},(D1)=>this.deviceStatusPrivate(D1)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(D1)=>this.softReset(D1)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(D1)=>this.setCursorStyle(D1)),this._parser.registerCsiHandler({final:"r"},(D1)=>this.setScrollRegion(D1)),this._parser.registerCsiHandler({final:"s"},(D1)=>this.saveCursor(D1)),this._parser.registerCsiHandler({final:"t"},(D1)=>this.windowOptions(D1)),this._parser.registerCsiHandler({final:"u"},(D1)=>this.restoreCursor(D1)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(D1)=>this.insertColumns(D1)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(D1)=>this.deleteColumns(D1)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(D1)=>this.selectProtected(D1)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(D1)=>this.requestMode(D1,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(D1)=>this.requestMode(D1,!1)),this._parser.setExecuteHandler(q.C0.BEL,()=>this.bell()),this._parser.setExecuteHandler(q.C0.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(q.C0.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(q.C0.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(q.C0.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(q.C0.BS,()=>this.backspace()),this._parser.setExecuteHandler(q.C0.HT,()=>this.tab()),this._parser.setExecuteHandler(q.C0.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(q.C0.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(q.C1.IND,()=>this.index()),this._parser.setExecuteHandler(q.C1.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(q.C1.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new R.OscHandler((D1)=>(this.setTitle(D1),this.setIconName(D1),!0))),this._parser.registerOscHandler(1,new R.OscHandler((D1)=>this.setIconName(D1))),this._parser.registerOscHandler(2,new R.OscHandler((D1)=>this.setTitle(D1))),this._parser.registerOscHandler(4,new R.OscHandler((D1)=>this.setOrReportIndexedColor(D1))),this._parser.registerOscHandler(8,new R.OscHandler((D1)=>this.setHyperlink(D1))),this._parser.registerOscHandler(10,new R.OscHandler((D1)=>this.setOrReportFgColor(D1))),this._parser.registerOscHandler(11,new R.OscHandler((D1)=>this.setOrReportBgColor(D1))),this._parser.registerOscHandler(12,new R.OscHandler((D1)=>this.setOrReportCursorColor(D1))),this._parser.registerOscHandler(104,new R.OscHandler((D1)=>this.restoreIndexedColor(D1))),this._parser.registerOscHandler(110,new R.OscHandler((D1)=>this.restoreFgColor(D1))),this._parser.registerOscHandler(111,new R.OscHandler((D1)=>this.restoreBgColor(D1))),this._parser.registerOscHandler(112,new R.OscHandler((D1)=>this.restoreCursorColor(D1))),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 D1 in F.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:D1},()=>this.selectCharset("("+D1)),this._parser.registerEscHandler({intermediates:")",final:D1},()=>this.selectCharset(")"+D1)),this._parser.registerEscHandler({intermediates:"*",final:D1},()=>this.selectCharset("*"+D1)),this._parser.registerEscHandler({intermediates:"+",final:D1},()=>this.selectCharset("+"+D1)),this._parser.registerEscHandler({intermediates:"-",final:D1},()=>this.selectCharset("-"+D1)),this._parser.registerEscHandler({intermediates:".",final:D1},()=>this.selectCharset("."+D1)),this._parser.registerEscHandler({intermediates:"/",final:D1},()=>this.selectCharset("/"+D1));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler((D1)=>(this._logService.error("Parsing error: ",D1),D1)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new j.DcsHandler((D1,w1)=>this.requestStatusString(D1,w1)))}_preserveStack(k,m,l,d){this._parseStack.paused=!0,this._parseStack.cursorStartX=k,this._parseStack.cursorStartY=m,this._parseStack.decodedLength=l,this._parseStack.position=d}_logSlowResolvingAsync(k){this._logService.logLevel<=L.LogLevelEnum.WARN&&Promise.race([k,new Promise((m,l)=>setTimeout(()=>l("#SLOW_TIMEOUT"),5000))]).catch((m)=>{if(m!=="#SLOW_TIMEOUT")throw m;console.warn("async parser handler taking longer than 5000 ms")})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(k,m){let l,d=this._activeBuffer.x,e=this._activeBuffer.y,n=0,z1=this._parseStack.paused;if(z1){if(l=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,m))return this._logSlowResolvingAsync(l),l;d=this._parseStack.cursorStartX,e=this._parseStack.cursorStartY,this._parseStack.paused=!1,k.length>S&&(n=this._parseStack.position+S)}if(this._logService.logLevel<=L.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof k=="string"?` "${k}"`:` "${Array.prototype.map.call(k,(D1)=>String.fromCharCode(D1)).join("")}"`),typeof k=="string"?k.split("").map((D1)=>D1.charCodeAt(0)):k),this._parseBuffer.length<k.length&&this._parseBuffer.length<S&&(this._parseBuffer=new Uint32Array(Math.min(k.length,S))),z1||this._dirtyRowTracker.clearRange(),k.length>S)for(let D1=n;D1<k.length;D1+=S){let w1=D1+S<k.length?D1+S:k.length,a=typeof k=="string"?this._stringDecoder.decode(k.substring(D1,w1),this._parseBuffer):this._utf8Decoder.decode(k.subarray(D1,w1),this._parseBuffer);if(l=this._parser.parse(this._parseBuffer,a))return this._preserveStack(d,e,a,D1),this._logSlowResolvingAsync(l),l}else if(!z1){let D1=typeof k=="string"?this._stringDecoder.decode(k,this._parseBuffer):this._utf8Decoder.decode(k,this._parseBuffer);if(l=this._parser.parse(this._parseBuffer,D1))return this._preserveStack(d,e,D1,0),this._logSlowResolvingAsync(l),l}this._activeBuffer.x===d&&this._activeBuffer.y===e||this._onCursorMove.fire();let o=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),J1=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);J1<this._bufferService.rows&&this._onRequestRefreshRows.fire(Math.min(J1,this._bufferService.rows-1),Math.min(o,this._bufferService.rows-1))}print(k,m,l){let d,e,n=this._charsetService.charset,z1=this._optionsService.rawOptions.screenReaderMode,o=this._bufferService.cols,J1=this._coreService.decPrivateModes.wraparound,D1=this._coreService.modes.insertMode,w1=this._curAttrData,a=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&l-m>0&&a.getWidth(this._activeBuffer.x-1)===2&&a.setCellFromCodepoint(this._activeBuffer.x-1,0,1,w1);let r=this._parser.precedingJoinState;for(let s=m;s<l;++s){if(d=k[s],d<127&&n){let Y1=n[String.fromCharCode(d)];Y1&&(d=Y1.charCodeAt(0))}let Z1=this._unicodeService.charProperties(d,r);e=T.UnicodeService.extractWidth(Z1);let G1=T.UnicodeService.extractShouldJoin(Z1),X1=G1?T.UnicodeService.extractWidth(r):0;if(r=Z1,z1&&this._onA11yChar.fire(w.stringFromCodePoint(d)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+e-X1>o){if(J1){let Y1=a,L1=this._activeBuffer.x-X1;for(this._activeBuffer.x=X1,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),a=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),X1>0&&a instanceof W.BufferLine&&a.copyCellsFrom(Y1,L1,0,X1,!1);L1<o;)Y1.setCellFromCodepoint(L1++,0,1,w1)}else if(this._activeBuffer.x=o-1,e===2)continue}if(G1&&this._activeBuffer.x){let Y1=a.getWidth(this._activeBuffer.x-1)?1:2;a.addCodepointToCell(this._activeBuffer.x-Y1,d,e);for(let L1=e-X1;--L1>=0;)a.setCellFromCodepoint(this._activeBuffer.x++,0,0,w1)}else if(D1&&(a.insertCells(this._activeBuffer.x,e-X1,this._activeBuffer.getNullCell(w1)),a.getWidth(o-1)===2&&a.setCellFromCodepoint(o-1,M.NULL_CELL_CODE,M.NULL_CELL_WIDTH,w1)),a.setCellFromCodepoint(this._activeBuffer.x++,d,e,w1),e>0)for(;--e;)a.setCellFromCodepoint(this._activeBuffer.x++,0,0,w1)}this._parser.precedingJoinState=r,this._activeBuffer.x<o&&l-m>0&&a.getWidth(this._activeBuffer.x)===0&&!a.hasContent(this._activeBuffer.x)&&a.setCellFromCodepoint(this._activeBuffer.x,0,1,w1),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(k,m){return k.final!=="t"||k.prefix||k.intermediates?this._parser.registerCsiHandler(k,m):this._parser.registerCsiHandler(k,(l)=>!x(l.params[0],this._optionsService.rawOptions.windowOptions)||m(l))}registerDcsHandler(k,m){return this._parser.registerDcsHandler(k,new j.DcsHandler(m))}registerEscHandler(k,m){return this._parser.registerEscHandler(k,m)}registerOscHandler(k,m){return this._parser.registerOscHandler(k,new R.OscHandler(m))}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 k=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);k.hasWidth(this._activeBuffer.x)&&!k.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let k=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-k),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(k=this._bufferService.cols-1){this._activeBuffer.x=Math.min(k,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(k,m){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=k,this._activeBuffer.y=this._activeBuffer.scrollTop+m):(this._activeBuffer.x=k,this._activeBuffer.y=m),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(k,m){this._restrictCursor(),this._setCursor(this._activeBuffer.x+k,this._activeBuffer.y+m)}cursorUp(k){let m=this._activeBuffer.y-this._activeBuffer.scrollTop;return m>=0?this._moveCursor(0,-Math.min(m,k.params[0]||1)):this._moveCursor(0,-(k.params[0]||1)),!0}cursorDown(k){let m=this._activeBuffer.scrollBottom-this._activeBuffer.y;return m>=0?this._moveCursor(0,Math.min(m,k.params[0]||1)):this._moveCursor(0,k.params[0]||1),!0}cursorForward(k){return this._moveCursor(k.params[0]||1,0),!0}cursorBackward(k){return this._moveCursor(-(k.params[0]||1),0),!0}cursorNextLine(k){return this.cursorDown(k),this._activeBuffer.x=0,!0}cursorPrecedingLine(k){return this.cursorUp(k),this._activeBuffer.x=0,!0}cursorCharAbsolute(k){return this._setCursor((k.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(k){return this._setCursor(k.length>=2?(k.params[1]||1)-1:0,(k.params[0]||1)-1),!0}charPosAbsolute(k){return this._setCursor((k.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(k){return this._moveCursor(k.params[0]||1,0),!0}linePosAbsolute(k){return this._setCursor(this._activeBuffer.x,(k.params[0]||1)-1),!0}vPositionRelative(k){return this._moveCursor(0,k.params[0]||1),!0}hVPosition(k){return this.cursorPosition(k),!0}tabClear(k){let m=k.params[0];return m===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:m===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(k){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let m=k.params[0]||1;for(;m--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(k){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let m=k.params[0]||1;for(;m--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(k){let m=k.params[0];return m===1&&(this._curAttrData.bg|=536870912),m!==2&&m!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(k,m,l,d=!1,e=!1){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);n.replaceCells(m,l,this._activeBuffer.getNullCell(this._eraseAttrData()),e),d&&(n.isWrapped=!1)}_resetBufferLine(k,m=!1){let l=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);l&&(l.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),m),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+k),l.isWrapped=!1)}eraseInDisplay(k,m=!1){let l;switch(this._restrictCursor(this._bufferService.cols),k.params[0]){case 0:for(l=this._activeBuffer.y,this._dirtyRowTracker.markDirty(l),this._eraseInBufferLine(l++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,m);l<this._bufferService.rows;l++)this._resetBufferLine(l,m);this._dirtyRowTracker.markDirty(l);break;case 1:for(l=this._activeBuffer.y,this._dirtyRowTracker.markDirty(l),this._eraseInBufferLine(l,0,this._activeBuffer.x+1,!0,m),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(l+1).isWrapped=!1);l--;)this._resetBufferLine(l,m);this._dirtyRowTracker.markDirty(0);break;case 2:for(l=this._bufferService.rows,this._dirtyRowTracker.markDirty(l-1);l--;)this._resetBufferLine(l,m);this._dirtyRowTracker.markDirty(0);break;case 3:let d=this._activeBuffer.lines.length-this._bufferService.rows;d>0&&(this._activeBuffer.lines.trimStart(d),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-d,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-d,0),this._onScroll.fire(0))}return!0}eraseInLine(k,m=!1){switch(this._restrictCursor(this._bufferService.cols),k.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,m);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,m);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,m)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(k){this._restrictCursor();let m=k.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let l=this._activeBuffer.ybase+this._activeBuffer.y,d=this._bufferService.rows-1-this._activeBuffer.scrollBottom,e=this._bufferService.rows-1+this._activeBuffer.ybase-d+1;for(;m--;)this._activeBuffer.lines.splice(e-1,1),this._activeBuffer.lines.splice(l,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(k){this._restrictCursor();let m=k.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let l=this._activeBuffer.ybase+this._activeBuffer.y,d;for(d=this._bufferService.rows-1-this._activeBuffer.scrollBottom,d=this._bufferService.rows-1+this._activeBuffer.ybase-d;m--;)this._activeBuffer.lines.splice(l,1),this._activeBuffer.lines.splice(d,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(k){this._restrictCursor();let m=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return m&&(m.insertCells(this._activeBuffer.x,k.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(k){this._restrictCursor();let m=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return m&&(m.deleteCells(this._activeBuffer.x,k.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(k){let m=k.params[0]||1;for(;m--;)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(k){let m=k.params[0]||1;for(;m--;)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(W.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(k){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let m=k.params[0]||1;for(let l=this._activeBuffer.scrollTop;l<=this._activeBuffer.scrollBottom;++l){let d=this._activeBuffer.lines.get(this._activeBuffer.ybase+l);d.deleteCells(0,m,this._activeBuffer.getNullCell(this._eraseAttrData())),d.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(k){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let m=k.params[0]||1;for(let l=this._activeBuffer.scrollTop;l<=this._activeBuffer.scrollBottom;++l){let d=this._activeBuffer.lines.get(this._activeBuffer.ybase+l);d.insertCells(0,m,this._activeBuffer.getNullCell(this._eraseAttrData())),d.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(k){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let m=k.params[0]||1;for(let l=this._activeBuffer.scrollTop;l<=this._activeBuffer.scrollBottom;++l){let d=this._activeBuffer.lines.get(this._activeBuffer.ybase+l);d.insertCells(this._activeBuffer.x,m,this._activeBuffer.getNullCell(this._eraseAttrData())),d.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(k){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let m=k.params[0]||1;for(let l=this._activeBuffer.scrollTop;l<=this._activeBuffer.scrollBottom;++l){let d=this._activeBuffer.lines.get(this._activeBuffer.ybase+l);d.deleteCells(this._activeBuffer.x,m,this._activeBuffer.getNullCell(this._eraseAttrData())),d.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(k){this._restrictCursor();let m=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return m&&(m.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(k.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(k){let m=this._parser.precedingJoinState;if(!m)return!0;let l=k.params[0]||1,d=T.UnicodeService.extractWidth(m),e=this._activeBuffer.x-d,n=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(e),z1=new Uint32Array(n.length*l),o=0;for(let D1=0;D1<n.length;){let w1=n.codePointAt(D1)||0;z1[o++]=w1,D1+=w1>65535?2:1}let J1=o;for(let D1=1;D1<l;++D1)z1.copyWithin(J1,0,o),J1+=o;return this.print(z1,0,J1),!0}sendDeviceAttributesPrimary(k){return k.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(q.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(q.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(k){return k.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(q.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(q.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(k.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(q.C0.ESC+"[>83;40003;0c")),!0}_is(k){return(this._optionsService.rawOptions.termName+"").indexOf(k)===0}setMode(k){for(let m=0;m<k.length;m++)switch(k.params[m]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(k){for(let m=0;m<k.length;m++)switch(k.params[m]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,F.DEFAULT_CHARSET),this._charsetService.setgCharset(1,F.DEFAULT_CHARSET),this._charsetService.setgCharset(2,F.DEFAULT_CHARSET),this._charsetService.setgCharset(3,F.DEFAULT_CHARSET);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(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(k){for(let m=0;m<k.length;m++)switch(k.params[m]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(k){for(let m=0;m<k.length;m++)switch(k.params[m]){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:case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),k.params[m]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(k,m){let l=this._coreService.decPrivateModes,{activeProtocol:d,activeEncoding:e}=this._coreMouseService,n=this._coreService,{buffers:z1,cols:o}=this._bufferService,{active:J1,alt:D1}=z1,w1=this._optionsService.rawOptions,a=(G1)=>G1?1:2,r=k.params[0];return s=r,Z1=m?r===2?4:r===4?a(n.modes.insertMode):r===12?3:r===20?a(w1.convertEol):0:r===1?a(l.applicationCursorKeys):r===3?w1.windowOptions.setWinLines?o===80?2:o===132?1:0:0:r===6?a(l.origin):r===7?a(l.wraparound):r===8?3:r===9?a(d==="X10"):r===12?a(w1.cursorBlink):r===25?a(!n.isCursorHidden):r===45?a(l.reverseWraparound):r===66?a(l.applicationKeypad):r===67?4:r===1000?a(d==="VT200"):r===1002?a(d==="DRAG"):r===1003?a(d==="ANY"):r===1004?a(l.sendFocus):r===1005?4:r===1006?a(e==="SGR"):r===1015?4:r===1016?a(e==="SGR_PIXELS"):r===1048?1:r===47||r===1047||r===1049?a(J1===D1):r===2004?a(l.bracketedPasteMode):0,n.triggerDataEvent(`${q.C0.ESC}[${m?"":"?"}${s};${Z1}$y`),!0;var s,Z1}_updateAttrColor(k,m,l,d,e){return m===2?(k|=50331648,k&=-16777216,k|=V.AttributeData.fromColorRGB([l,d,e])):m===5&&(k&=-50331904,k|=33554432|255&l),k}_extractColor(k,m,l){let d=[0,0,-1,0,0,0],e=0,n=0;do{if(d[n+e]=k.params[m+n],k.hasSubParams(m+n)){let z1=k.getSubParams(m+n),o=0;do d[1]===5&&(e=1),d[n+o+1+e]=z1[o];while(++o<z1.length&&o+n+1+e<d.length);break}if(d[1]===5&&n+e>=2||d[1]===2&&n+e>=5)break;d[1]&&(e=1)}while(++n+m<k.length&&n+e<d.length);for(let z1=2;z1<d.length;++z1)d[z1]===-1&&(d[z1]=0);switch(d[0]){case 38:l.fg=this._updateAttrColor(l.fg,d[1],d[3],d[4],d[5]);break;case 48:l.bg=this._updateAttrColor(l.bg,d[1],d[3],d[4],d[5]);break;case 58:l.extended=l.extended.clone(),l.extended.underlineColor=this._updateAttrColor(l.extended.underlineColor,d[1],d[3],d[4],d[5])}return n}_processUnderline(k,m){m.extended=m.extended.clone(),(!~k||k>5)&&(k=1),m.extended.underlineStyle=k,m.fg|=268435456,k===0&&(m.fg&=-268435457),m.updateExtended()}_processSGR0(k){k.fg=W.DEFAULT_ATTR_DATA.fg,k.bg=W.DEFAULT_ATTR_DATA.bg,k.extended=k.extended.clone(),k.extended.underlineStyle=0,k.extended.underlineColor&=-67108864,k.updateExtended()}charAttributes(k){if(k.length===1&&k.params[0]===0)return this._processSGR0(this._curAttrData),!0;let m=k.length,l,d=this._curAttrData;for(let e=0;e<m;e++)l=k.params[e],l>=30&&l<=37?(d.fg&=-50331904,d.fg|=16777216|l-30):l>=40&&l<=47?(d.bg&=-50331904,d.bg|=16777216|l-40):l>=90&&l<=97?(d.fg&=-50331904,d.fg|=16777224|l-90):l>=100&&l<=107?(d.bg&=-50331904,d.bg|=16777224|l-100):l===0?this._processSGR0(d):l===1?d.fg|=134217728:l===3?d.bg|=67108864:l===4?(d.fg|=268435456,this._processUnderline(k.hasSubParams(e)?k.getSubParams(e)[0]:1,d)):l===5?d.fg|=536870912:l===7?d.fg|=67108864:l===8?d.fg|=1073741824:l===9?d.fg|=2147483648:l===2?d.bg|=134217728:l===21?this._processUnderline(2,d):l===22?(d.fg&=-134217729,d.bg&=-134217729):l===23?d.bg&=-67108865:l===24?(d.fg&=-268435457,this._processUnderline(0,d)):l===25?d.fg&=-536870913:l===27?d.fg&=-67108865:l===28?d.fg&=-1073741825:l===29?d.fg&=2147483647:l===39?(d.fg&=-67108864,d.fg|=16777215&W.DEFAULT_ATTR_DATA.fg):l===49?(d.bg&=-67108864,d.bg|=16777215&W.DEFAULT_ATTR_DATA.bg):l===38||l===48||l===58?e+=this._extractColor(k,e,d):l===53?d.bg|=1073741824:l===55?d.bg&=-1073741825:l===59?(d.extended=d.extended.clone(),d.extended.underlineColor=-1,d.updateExtended()):l===100?(d.fg&=-67108864,d.fg|=16777215&W.DEFAULT_ATTR_DATA.fg,d.bg&=-67108864,d.bg|=16777215&W.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",l);return!0}deviceStatus(k){switch(k.params[0]){case 5:this._coreService.triggerDataEvent(`${q.C0.ESC}[0n`);break;case 6:let m=this._activeBuffer.y+1,l=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${q.C0.ESC}[${m};${l}R`)}return!0}deviceStatusPrivate(k){if(k.params[0]===6){let m=this._activeBuffer.y+1,l=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${q.C0.ESC}[?${m};${l}R`)}return!0}softReset(k){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=W.DEFAULT_ATTR_DATA.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(k){let m=k.params[0]||1;switch(m){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}let l=m%2==1;return this._optionsService.options.cursorBlink=l,!0}setScrollRegion(k){let m=k.params[0]||1,l;return(k.length<2||(l=k.params[1])>this._bufferService.rows||l===0)&&(l=this._bufferService.rows),l>m&&(this._activeBuffer.scrollTop=m-1,this._activeBuffer.scrollBottom=l-1,this._setCursor(0,0)),!0}windowOptions(k){if(!x(k.params[0],this._optionsService.rawOptions.windowOptions))return!0;let m=k.length>1?k.params[1]:0;switch(k.params[0]){case 14:m!==2&&this._onRequestWindowsOptionsReport.fire(u.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(u.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${q.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:m!==0&&m!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),m!==0&&m!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:m!==0&&m!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),m!==0&&m!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(k){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(k){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(k){return this._windowTitle=k,this._onTitleChange.fire(k),!0}setIconName(k){return this._iconName=k,!0}setOrReportIndexedColor(k){let m=[],l=k.split(";");for(;l.length>1;){let d=l.shift(),e=l.shift();if(/^\d+$/.exec(d)){let n=parseInt(d);if(y(n))if(e==="?")m.push({type:0,index:n});else{let z1=P.parseColor(e);z1&&m.push({type:1,index:n,color:z1})}}}return m.length&&this._onColor.fire(m),!0}setHyperlink(k){let m=k.split(";");return!(m.length<2)&&(m[1]?this._createHyperlink(m[0],m[1]):!m[0]&&this._finishHyperlink())}_createHyperlink(k,m){this._getCurrentLinkId()&&this._finishHyperlink();let l=k.split(":"),d,e=l.findIndex((n)=>n.startsWith("id="));return e!==-1&&(d=l[e].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:d,uri:m}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(k,m){let l=k.split(";");for(let d=0;d<l.length&&!(m>=this._specialColors.length);++d,++m)if(l[d]==="?")this._onColor.fire([{type:0,index:this._specialColors[m]}]);else{let e=P.parseColor(l[d]);e&&this._onColor.fire([{type:1,index:this._specialColors[m],color:e}])}return!0}setOrReportFgColor(k){return this._setOrReportSpecialColor(k,0)}setOrReportBgColor(k){return this._setOrReportSpecialColor(k,1)}setOrReportCursorColor(k){return this._setOrReportSpecialColor(k,2)}restoreIndexedColor(k){if(!k)return this._onColor.fire([{type:2}]),!0;let m=[],l=k.split(";");for(let d=0;d<l.length;++d)if(/^\d+$/.exec(l[d])){let e=parseInt(l[d]);y(e)&&m.push({type:2,index:e})}return m.length&&this._onColor.fire(m),!0}restoreFgColor(k){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(k){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(k){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,F.DEFAULT_CHARSET),!0}selectCharset(k){return k.length!==2?(this.selectDefaultCharset(),!0):(k[0]==="/"||this._charsetService.setgCharset($[k[0]],F.CHARSETS[k[1]]||F.DEFAULT_CHARSET),!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 k=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,k,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=W.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=W.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(k){return this._charsetService.setgLevel(k),!0}screenAlignmentPattern(){let k=new N.CellData;k.content=4194373,k.fg=this._curAttrData.fg,k.bg=this._curAttrData.bg,this._setCursor(0,0);for(let m=0;m<this._bufferService.rows;++m){let l=this._activeBuffer.ybase+this._activeBuffer.y+m,d=this._activeBuffer.lines.get(l);d&&(d.fill(k),d.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(k,m){let l=this._bufferService.buffer,d=this._optionsService.rawOptions;return((e)=>(this._coreService.triggerDataEvent(`${q.C0.ESC}${e}${q.C0.ESC}\\`),!0))(k==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:k==='"p'?'P1$r61;1"p':k==="r"?`P1$r${l.scrollTop+1};${l.scrollBottom+1}r`:k==="m"?"P1$r0m":k===" q"?`P1$r${{block:2,underline:4,bar:6}[d.cursorStyle]-(d.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(k,m){this._dirtyRowTracker.markRangeDirty(k,m)}}G.InputHandler=f;let v=class{constructor(k){this._bufferService=k,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(k){k<this.start?this.start=k:k>this.end&&(this.end=k)}markRangeDirty(k,m){k>m&&(_=k,k=m,m=_),k<this.start&&(this.start=k),m>this.end&&(this.end=m)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function y(k){return 0<=k&&k<256}v=K([Y(0,L.IBufferService)],v)},844:(Z,G)=>{function X(K){for(let Y of K)Y.dispose();K.length=0}Object.defineProperty(G,"__esModule",{value:!0}),G.getDisposeArrayDisposable=G.disposeArray=G.toDisposable=G.MutableDisposable=G.Disposable=void 0,G.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(let K of this._disposables)K.dispose();this._disposables.length=0}register(K){return this._disposables.push(K),K}unregister(K){let Y=this._disposables.indexOf(K);Y!==-1&&this._disposables.splice(Y,1)}},G.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(K){this._isDisposed||K===this._value||(this._value?.dispose(),this._value=K)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},G.toDisposable=function(K){return{dispose:K}},G.disposeArray=X,G.getDisposeArrayDisposable=function(K){return{dispose:()=>X(K)}}},114:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.isChromeOS=G.isLinux=G.isWindows=G.isIphone=G.isIpad=G.isMac=G.getSafariVersion=G.isSafari=G.isLegacyEdge=G.isFirefox=G.isNode=void 0,G.isNode=typeof process!="undefined"&&"title"in process;let X=G.isNode?"node":navigator.userAgent,K=G.isNode?"node":navigator.platform;G.isFirefox=X.includes("Firefox"),G.isLegacyEdge=X.includes("Edge"),G.isSafari=/^((?!chrome|android).)*safari/i.test(X),G.getSafariVersion=function(){if(!G.isSafari)return 0;let Y=X.match(/Version\/(\d+)/);return Y===null||Y.length<2?0:parseInt(Y[1])},G.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(K),G.isIpad=K==="iPad",G.isIphone=K==="iPhone",G.isWindows=["Windows","Win16","Win32","WinCE"].includes(K),G.isLinux=K.indexOf("Linux")>=0,G.isChromeOS=/\bCrOS\b/.test(X)},226:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.DebouncedIdleTask=G.IdleTaskQueue=G.PriorityTaskQueue=void 0;let K=X(114);class Y{constructor(){this._tasks=[],this._i=0}enqueue(F){this._tasks.push(F),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(F){this._idleCallback=void 0;let E=0,H=0,w=F.timeRemaining(),W=0;for(;this._i<this._tasks.length;){if(E=Date.now(),this._tasks[this._i]()||this._i++,E=Math.max(1,Date.now()-E),H=Math.max(E,H),W=F.timeRemaining(),1.5*H>W)return w-E<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(w-E))}ms`),void this._start();w=W}this.clear()}}class q extends Y{_requestCallback(F){return setTimeout(()=>F(this._createDeadline(16)))}_cancelCallback(F){clearTimeout(F)}_createDeadline(F){let E=Date.now()+F;return{timeRemaining:()=>Math.max(0,E-Date.now())}}}G.PriorityTaskQueue=q,G.IdleTaskQueue=!K.isNode&&"requestIdleCallback"in window?class extends Y{_requestCallback(F){return requestIdleCallback(F)}_cancelCallback(F){cancelIdleCallback(F)}}:q,G.DebouncedIdleTask=class{constructor(){this._queue=new G.IdleTaskQueue}set(F){this._queue.clear(),this._queue.enqueue(F)}flush(){this._queue.flush()}}},282:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.updateWindowsModeWrappedState=void 0;let K=X(643);G.updateWindowsModeWrappedState=function(Y){let q=Y.buffer.lines.get(Y.buffer.ybase+Y.buffer.y-1),F=q?.get(Y.cols-1),E=Y.buffer.lines.get(Y.buffer.ybase+Y.buffer.y);E&&F&&(E.isWrapped=F[K.CHAR_DATA_CODE_INDEX]!==K.NULL_CELL_CODE&&F[K.CHAR_DATA_CODE_INDEX]!==K.WHITESPACE_CELL_CODE)}},734:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.ExtendedAttrs=G.AttributeData=void 0;class X{constructor(){this.fg=0,this.bg=0,this.extended=new K}static toColorRGB(Y){return[Y>>>16&255,Y>>>8&255,255&Y]}static fromColorRGB(Y){return(255&Y[0])<<16|(255&Y[1])<<8|255&Y[2]}clone(){let Y=new X;return Y.fg=this.fg,Y.bg=this.bg,Y.extended=this.extended.clone(),Y}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}G.AttributeData=X;class K{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(Y){this._ext=Y}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(Y){this._ext&=-469762049,this._ext|=Y<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(Y){this._ext&=-67108864,this._ext|=67108863&Y}get urlId(){return this._urlId}set urlId(Y){this._urlId=Y}get underlineVariantOffset(){let Y=(3758096384&this._ext)>>29;return Y<0?4294967288^Y:Y}set underlineVariantOffset(Y){this._ext&=536870911,this._ext|=Y<<29&3758096384}constructor(Y=0,q=0){this._ext=0,this._urlId=0,this._ext=Y,this._urlId=q}clone(){return new K(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}G.ExtendedAttrs=K},92:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.Buffer=G.MAX_BUFFER_SIZE=void 0;let K=X(349),Y=X(226),q=X(734),F=X(437),E=X(634),H=X(511),w=X(643),W=X(863),I=X(116);G.MAX_BUFFER_SIZE=4294967295,G.Buffer=class{constructor(M,N,V){this._hasScrollback=M,this._optionsService=N,this._bufferService=V,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=F.DEFAULT_ATTR_DATA.clone(),this.savedCharset=I.DEFAULT_CHARSET,this.markers=[],this._nullCell=H.CellData.fromCharData([0,w.NULL_CELL_CHAR,w.NULL_CELL_WIDTH,w.NULL_CELL_CODE]),this._whitespaceCell=H.CellData.fromCharData([0,w.WHITESPACE_CELL_CHAR,w.WHITESPACE_CELL_WIDTH,w.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new Y.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new K.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(M){return M?(this._nullCell.fg=M.fg,this._nullCell.bg=M.bg,this._nullCell.extended=M.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new q.ExtendedAttrs),this._nullCell}getWhitespaceCell(M){return M?(this._whitespaceCell.fg=M.fg,this._whitespaceCell.bg=M.bg,this._whitespaceCell.extended=M.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new q.ExtendedAttrs),this._whitespaceCell}getBlankLine(M,N){return new F.BufferLine(this._bufferService.cols,this.getNullCell(M),N)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let M=this.ybase+this.y-this.ydisp;return M>=0&&M<this._rows}_getCorrectBufferLength(M){if(!this._hasScrollback)return M;let N=M+this._optionsService.rawOptions.scrollback;return N>G.MAX_BUFFER_SIZE?G.MAX_BUFFER_SIZE:N}fillViewportRows(M){if(this.lines.length===0){M===void 0&&(M=F.DEFAULT_ATTR_DATA);let N=this._rows;for(;N--;)this.lines.push(this.getBlankLine(M))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new K.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(M,N){let V=this.getNullCell(F.DEFAULT_ATTR_DATA),L=0,T=this._getCorrectBufferLength(N);if(T>this.lines.maxLength&&(this.lines.maxLength=T),this.lines.length>0){if(this._cols<M)for(let j=0;j<this.lines.length;j++)L+=+this.lines.get(j).resize(M,V);let R=0;if(this._rows<N)for(let j=this._rows;j<N;j++)this.lines.length<N+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new F.BufferLine(M,V)):this.ybase>0&&this.lines.length<=this.ybase+this.y+R+1?(this.ybase--,R++,this.ydisp>0&&this.ydisp--):this.lines.push(new F.BufferLine(M,V)));else for(let j=this._rows;j>N;j--)this.lines.length>N+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(T<this.lines.maxLength){let j=this.lines.length-T;j>0&&(this.lines.trimStart(j),this.ybase=Math.max(this.ybase-j,0),this.ydisp=Math.max(this.ydisp-j,0),this.savedY=Math.max(this.savedY-j,0)),this.lines.maxLength=T}this.x=Math.min(this.x,M-1),this.y=Math.min(this.y,N-1),R&&(this.y+=R),this.savedX=Math.min(this.savedX,M-1),this.scrollTop=0}if(this.scrollBottom=N-1,this._isReflowEnabled&&(this._reflow(M,N),this._cols>M))for(let R=0;R<this.lines.length;R++)L+=+this.lines.get(R).resize(M,V);this._cols=M,this._rows=N,this._memoryCleanupQueue.clear(),L>0.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let M=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,M=!1);let N=0;for(;this._memoryCleanupPosition<this.lines.length;)if(N+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),N>100)return!0;return M}get _isReflowEnabled(){let M=this._optionsService.rawOptions.windowsPty;return M&&M.buildNumber?this._hasScrollback&&M.backend==="conpty"&&M.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(M,N){this._cols!==M&&(M>this._cols?this._reflowLarger(M,N):this._reflowSmaller(M,N))}_reflowLarger(M,N){let V=E.reflowLargerGetLinesToRemove(this.lines,this._cols,M,this.ybase+this.y,this.getNullCell(F.DEFAULT_ATTR_DATA));if(V.length>0){let L=E.reflowLargerCreateNewLayout(this.lines,V);E.reflowLargerApplyNewLayout(this.lines,L.layout),this._reflowLargerAdjustViewport(M,N,L.countRemoved)}}_reflowLargerAdjustViewport(M,N,V){let L=this.getNullCell(F.DEFAULT_ATTR_DATA),T=V;for(;T-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<N&&this.lines.push(new F.BufferLine(M,L))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-V,0)}_reflowSmaller(M,N){let V=this.getNullCell(F.DEFAULT_ATTR_DATA),L=[],T=0;for(let R=this.lines.length-1;R>=0;R--){let j=this.lines.get(R);if(!j||!j.isWrapped&&j.getTrimmedLength()<=M)continue;let P=[j];for(;j.isWrapped&&R>0;)j=this.lines.get(--R),P.unshift(j);let $=this.ybase+this.y;if($>=R&&$<R+P.length)continue;let S=P[P.length-1].getTrimmedLength(),x=E.reflowSmallerGetNewLineLengths(P,this._cols,M),u=x.length-P.length,_;_=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+u):Math.max(0,this.lines.length-this.lines.maxLength+u);let f=[];for(let d=0;d<u;d++){let e=this.getBlankLine(F.DEFAULT_ATTR_DATA,!0);f.push(e)}f.length>0&&(L.push({start:R+P.length+T,newLines:f}),T+=f.length),P.push(...f);let v=x.length-1,y=x[v];y===0&&(v--,y=x[v]);let k=P.length-u-1,m=S;for(;k>=0;){let d=Math.min(m,y);if(P[v]===void 0)break;if(P[v].copyCellsFrom(P[k],m-d,y-d,d,!0),y-=d,y===0&&(v--,y=x[v]),m-=d,m===0){k--;let e=Math.max(k,0);m=E.getWrappedLineTrimmedLength(P,e,this._cols)}}for(let d=0;d<P.length;d++)x[d]<M&&P[d].setCell(x[d],V);let l=u-_;for(;l-- >0;)this.ybase===0?this.y<N-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+T)-N&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+u,this.ybase+N-1)}if(L.length>0){let R=[],j=[];for(let v=0;v<this.lines.length;v++)j.push(this.lines.get(v));let P=this.lines.length,$=P-1,S=0,x=L[S];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+T);let u=0;for(let v=Math.min(this.lines.maxLength-1,P+T-1);v>=0;v--)if(x&&x.start>$+u){for(let y=x.newLines.length-1;y>=0;y--)this.lines.set(v--,x.newLines[y]);v++,R.push({index:$+1,amount:x.newLines.length}),u+=x.newLines.length,x=L[++S]}else this.lines.set(v,j[$--]);let _=0;for(let v=R.length-1;v>=0;v--)R[v].index+=_,this.lines.onInsertEmitter.fire(R[v]),_+=R[v].amount;let f=Math.max(0,P+T-this.lines.maxLength);f>0&&this.lines.onTrimEmitter.fire(f)}}translateBufferLineToString(M,N,V=0,L){let T=this.lines.get(M);return T?T.translateToString(N,V,L):""}getWrappedRangeForLine(M){let N=M,V=M;for(;N>0&&this.lines.get(N).isWrapped;)N--;for(;V+1<this.lines.length&&this.lines.get(V+1).isWrapped;)V++;return{first:N,last:V}}setupTabStops(M){for(M!=null?this.tabs[M]||(M=this.prevStop(M)):(this.tabs={},M=0);M<this._cols;M+=this._optionsService.rawOptions.tabStopWidth)this.tabs[M]=!0}prevStop(M){for(M==null&&(M=this.x);!this.tabs[--M]&&M>0;);return M>=this._cols?this._cols-1:M<0?0:M}nextStop(M){for(M==null&&(M=this.x);!this.tabs[++M]&&M<this._cols;);return M>=this._cols?this._cols-1:M<0?0:M}clearMarkers(M){this._isClearing=!0;for(let N=0;N<this.markers.length;N++)this.markers[N].line===M&&(this.markers[N].dispose(),this.markers.splice(N--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let M=0;M<this.markers.length;M++)this.markers[M].dispose(),this.markers.splice(M--,1);this._isClearing=!1}addMarker(M){let N=new W.Marker(M);return this.markers.push(N),N.register(this.lines.onTrim((V)=>{N.line-=V,N.line<0&&N.dispose()})),N.register(this.lines.onInsert((V)=>{N.line>=V.index&&(N.line+=V.amount)})),N.register(this.lines.onDelete((V)=>{N.line>=V.index&&N.line<V.index+V.amount&&N.dispose(),N.line>V.index&&(N.line-=V.amount)})),N.register(N.onDispose(()=>this._removeMarker(N))),N}_removeMarker(M){this._isClearing||this.markers.splice(this.markers.indexOf(M),1)}}},437:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.BufferLine=G.DEFAULT_ATTR_DATA=void 0;let K=X(734),Y=X(511),q=X(643),F=X(482);G.DEFAULT_ATTR_DATA=Object.freeze(new K.AttributeData);let E=0;class H{constructor(w,W,I=!1){this.isWrapped=I,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*w);let M=W||Y.CellData.fromCharData([0,q.NULL_CELL_CHAR,q.NULL_CELL_WIDTH,q.NULL_CELL_CODE]);for(let N=0;N<w;++N)this.setCell(N,M);this.length=w}get(w){let W=this._data[3*w+0],I=2097151&W;return[this._data[3*w+1],2097152&W?this._combined[w]:I?F.stringFromCodePoint(I):"",W>>22,2097152&W?this._combined[w].charCodeAt(this._combined[w].length-1):I]}set(w,W){this._data[3*w+1]=W[q.CHAR_DATA_ATTR_INDEX],W[q.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[w]=W[1],this._data[3*w+0]=2097152|w|W[q.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*w+0]=W[q.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|W[q.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(w){return this._data[3*w+0]>>22}hasWidth(w){return 12582912&this._data[3*w+0]}getFg(w){return this._data[3*w+1]}getBg(w){return this._data[3*w+2]}hasContent(w){return 4194303&this._data[3*w+0]}getCodePoint(w){let W=this._data[3*w+0];return 2097152&W?this._combined[w].charCodeAt(this._combined[w].length-1):2097151&W}isCombined(w){return 2097152&this._data[3*w+0]}getString(w){let W=this._data[3*w+0];return 2097152&W?this._combined[w]:2097151&W?F.stringFromCodePoint(2097151&W):""}isProtected(w){return 536870912&this._data[3*w+2]}loadCell(w,W){return E=3*w,W.content=this._data[E+0],W.fg=this._data[E+1],W.bg=this._data[E+2],2097152&W.content&&(W.combinedData=this._combined[w]),268435456&W.bg&&(W.extended=this._extendedAttrs[w]),W}setCell(w,W){2097152&W.content&&(this._combined[w]=W.combinedData),268435456&W.bg&&(this._extendedAttrs[w]=W.extended),this._data[3*w+0]=W.content,this._data[3*w+1]=W.fg,this._data[3*w+2]=W.bg}setCellFromCodepoint(w,W,I,M){268435456&M.bg&&(this._extendedAttrs[w]=M.extended),this._data[3*w+0]=W|I<<22,this._data[3*w+1]=M.fg,this._data[3*w+2]=M.bg}addCodepointToCell(w,W,I){let M=this._data[3*w+0];2097152&M?this._combined[w]+=F.stringFromCodePoint(W):2097151&M?(this._combined[w]=F.stringFromCodePoint(2097151&M)+F.stringFromCodePoint(W),M&=-2097152,M|=2097152):M=W|4194304,I&&(M&=-12582913,M|=I<<22),this._data[3*w+0]=M}insertCells(w,W,I){if((w%=this.length)&&this.getWidth(w-1)===2&&this.setCellFromCodepoint(w-1,0,1,I),W<this.length-w){let M=new Y.CellData;for(let N=this.length-w-W-1;N>=0;--N)this.setCell(w+W+N,this.loadCell(w+N,M));for(let N=0;N<W;++N)this.setCell(w+N,I)}else for(let M=w;M<this.length;++M)this.setCell(M,I);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,I)}deleteCells(w,W,I){if(w%=this.length,W<this.length-w){let M=new Y.CellData;for(let N=0;N<this.length-w-W;++N)this.setCell(w+N,this.loadCell(w+W+N,M));for(let N=this.length-W;N<this.length;++N)this.setCell(N,I)}else for(let M=w;M<this.length;++M)this.setCell(M,I);w&&this.getWidth(w-1)===2&&this.setCellFromCodepoint(w-1,0,1,I),this.getWidth(w)!==0||this.hasContent(w)||this.setCellFromCodepoint(w,0,1,I)}replaceCells(w,W,I,M=!1){if(M)for(w&&this.getWidth(w-1)===2&&!this.isProtected(w-1)&&this.setCellFromCodepoint(w-1,0,1,I),W<this.length&&this.getWidth(W-1)===2&&!this.isProtected(W)&&this.setCellFromCodepoint(W,0,1,I);w<W&&w<this.length;)this.isProtected(w)||this.setCell(w,I),w++;else for(w&&this.getWidth(w-1)===2&&this.setCellFromCodepoint(w-1,0,1,I),W<this.length&&this.getWidth(W-1)===2&&this.setCellFromCodepoint(W,0,1,I);w<W&&w<this.length;)this.setCell(w++,I)}resize(w,W){if(w===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;let I=3*w;if(w>this.length){if(this._data.buffer.byteLength>=4*I)this._data=new Uint32Array(this._data.buffer,0,I);else{let M=new Uint32Array(I);M.set(this._data),this._data=M}for(let M=this.length;M<w;++M)this.setCell(M,W)}else{this._data=this._data.subarray(0,I);let M=Object.keys(this._combined);for(let V=0;V<M.length;V++){let L=parseInt(M[V],10);L>=w&&delete this._combined[L]}let N=Object.keys(this._extendedAttrs);for(let V=0;V<N.length;V++){let L=parseInt(N[V],10);L>=w&&delete this._extendedAttrs[L]}}return this.length=w,4*I*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){let w=new Uint32Array(this._data.length);return w.set(this._data),this._data=w,1}return 0}fill(w,W=!1){if(W)for(let I=0;I<this.length;++I)this.isProtected(I)||this.setCell(I,w);else{this._combined={},this._extendedAttrs={};for(let I=0;I<this.length;++I)this.setCell(I,w)}}copyFrom(w){this.length!==w.length?this._data=new Uint32Array(w._data):this._data.set(w._data),this.length=w.length,this._combined={};for(let W in w._combined)this._combined[W]=w._combined[W];this._extendedAttrs={};for(let W in w._extendedAttrs)this._extendedAttrs[W]=w._extendedAttrs[W];this.isWrapped=w.isWrapped}clone(){let w=new H(0);w._data=new Uint32Array(this._data),w.length=this.length;for(let W in this._combined)w._combined[W]=this._combined[W];for(let W in this._extendedAttrs)w._extendedAttrs[W]=this._extendedAttrs[W];return w.isWrapped=this.isWrapped,w}getTrimmedLength(){for(let w=this.length-1;w>=0;--w)if(4194303&this._data[3*w+0])return w+(this._data[3*w+0]>>22);return 0}getNoBgTrimmedLength(){for(let w=this.length-1;w>=0;--w)if(4194303&this._data[3*w+0]||50331648&this._data[3*w+2])return w+(this._data[3*w+0]>>22);return 0}copyCellsFrom(w,W,I,M,N){let V=w._data;if(N)for(let T=M-1;T>=0;T--){for(let R=0;R<3;R++)this._data[3*(I+T)+R]=V[3*(W+T)+R];268435456&V[3*(W+T)+2]&&(this._extendedAttrs[I+T]=w._extendedAttrs[W+T])}else for(let T=0;T<M;T++){for(let R=0;R<3;R++)this._data[3*(I+T)+R]=V[3*(W+T)+R];268435456&V[3*(W+T)+2]&&(this._extendedAttrs[I+T]=w._extendedAttrs[W+T])}let L=Object.keys(w._combined);for(let T=0;T<L.length;T++){let R=parseInt(L[T],10);R>=W&&(this._combined[R-W+I]=w._combined[R])}}translateToString(w,W,I,M){W=W??0,I=I??this.length,w&&(I=Math.min(I,this.getTrimmedLength())),M&&(M.length=0);let N="";for(;W<I;){let V=this._data[3*W+0],L=2097151&V,T=2097152&V?this._combined[W]:L?F.stringFromCodePoint(L):q.WHITESPACE_CELL_CHAR;if(N+=T,M)for(let R=0;R<T.length;++R)M.push(W);W+=V>>22||1}return M&&M.push(W),N}}G.BufferLine=H},634:(Z,G)=>{function X(K,Y,q){if(Y===K.length-1)return K[Y].getTrimmedLength();let F=!K[Y].hasContent(q-1)&&K[Y].getWidth(q-1)===1,E=K[Y+1].getWidth(0)===2;return F&&E?q-1:q}Object.defineProperty(G,"__esModule",{value:!0}),G.getWrappedLineTrimmedLength=G.reflowSmallerGetNewLineLengths=G.reflowLargerApplyNewLayout=G.reflowLargerCreateNewLayout=G.reflowLargerGetLinesToRemove=void 0,G.reflowLargerGetLinesToRemove=function(K,Y,q,F,E){let H=[];for(let w=0;w<K.length-1;w++){let W=w,I=K.get(++W);if(!I.isWrapped)continue;let M=[K.get(w)];for(;W<K.length&&I.isWrapped;)M.push(I),I=K.get(++W);if(F>=w&&F<W){w+=M.length-1;continue}let N=0,V=X(M,N,Y),L=1,T=0;for(;L<M.length;){let j=X(M,L,Y),P=j-T,$=q-V,S=Math.min(P,$);M[N].copyCellsFrom(M[L],T,V,S,!1),V+=S,V===q&&(N++,V=0),T+=S,T===j&&(L++,T=0),V===0&&N!==0&&M[N-1].getWidth(q-1)===2&&(M[N].copyCellsFrom(M[N-1],q-1,V++,1,!1),M[N-1].setCell(q-1,E))}M[N].replaceCells(V,q,E);let R=0;for(let j=M.length-1;j>0&&(j>N||M[j].getTrimmedLength()===0);j--)R++;R>0&&(H.push(w+M.length-R),H.push(R)),w+=M.length-1}return H},G.reflowLargerCreateNewLayout=function(K,Y){let q=[],F=0,E=Y[F],H=0;for(let w=0;w<K.length;w++)if(E===w){let W=Y[++F];K.onDeleteEmitter.fire({index:w-H,amount:W}),w+=W-1,H+=W,E=Y[++F]}else q.push(w);return{layout:q,countRemoved:H}},G.reflowLargerApplyNewLayout=function(K,Y){let q=[];for(let F=0;F<Y.length;F++)q.push(K.get(Y[F]));for(let F=0;F<q.length;F++)K.set(F,q[F]);K.length=Y.length},G.reflowSmallerGetNewLineLengths=function(K,Y,q){let F=[],E=K.map((I,M)=>X(K,M,Y)).reduce((I,M)=>I+M),H=0,w=0,W=0;for(;W<E;){if(E-W<q){F.push(E-W);break}H+=q;let I=X(K,w,Y);H>I&&(H-=I,w++);let M=K[w].getWidth(H-1)===2;M&&H--;let N=M?q-1:q;F.push(N),W+=N}return F},G.getWrappedLineTrimmedLength=X},295:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.BufferSet=void 0;let K=X(460),Y=X(844),q=X(92);class F extends Y.Disposable{constructor(E,H){super(),this._optionsService=E,this._bufferService=H,this._onBufferActivate=this.register(new K.EventEmitter),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 q.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new q.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(E){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(E),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(E,H){this._normal.resize(E,H),this._alt.resize(E,H),this.setupTabStops(E)}setupTabStops(E){this._normal.setupTabStops(E),this._alt.setupTabStops(E)}}G.BufferSet=F},511:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.CellData=void 0;let K=X(482),Y=X(643),q=X(734);class F extends q.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new q.ExtendedAttrs,this.combinedData=""}static fromCharData(E){let H=new F;return H.setFromCharData(E),H}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?K.stringFromCodePoint(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(E){this.fg=E[Y.CHAR_DATA_ATTR_INDEX],this.bg=0;let H=!1;if(E[Y.CHAR_DATA_CHAR_INDEX].length>2)H=!0;else if(E[Y.CHAR_DATA_CHAR_INDEX].length===2){let w=E[Y.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=w&&w<=56319){let W=E[Y.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=W&&W<=57343?this.content=1024*(w-55296)+W-56320+65536|E[Y.CHAR_DATA_WIDTH_INDEX]<<22:H=!0}else H=!0}else this.content=E[Y.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|E[Y.CHAR_DATA_WIDTH_INDEX]<<22;H&&(this.combinedData=E[Y.CHAR_DATA_CHAR_INDEX],this.content=2097152|E[Y.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}G.CellData=F},643:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.WHITESPACE_CELL_CODE=G.WHITESPACE_CELL_WIDTH=G.WHITESPACE_CELL_CHAR=G.NULL_CELL_CODE=G.NULL_CELL_WIDTH=G.NULL_CELL_CHAR=G.CHAR_DATA_CODE_INDEX=G.CHAR_DATA_WIDTH_INDEX=G.CHAR_DATA_CHAR_INDEX=G.CHAR_DATA_ATTR_INDEX=G.DEFAULT_EXT=G.DEFAULT_ATTR=G.DEFAULT_COLOR=void 0,G.DEFAULT_COLOR=0,G.DEFAULT_ATTR=256|G.DEFAULT_COLOR<<9,G.DEFAULT_EXT=0,G.CHAR_DATA_ATTR_INDEX=0,G.CHAR_DATA_CHAR_INDEX=1,G.CHAR_DATA_WIDTH_INDEX=2,G.CHAR_DATA_CODE_INDEX=3,G.NULL_CELL_CHAR="",G.NULL_CELL_WIDTH=1,G.NULL_CELL_CODE=0,G.WHITESPACE_CELL_CHAR=" ",G.WHITESPACE_CELL_WIDTH=1,G.WHITESPACE_CELL_CODE=32},863:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.Marker=void 0;let K=X(460),Y=X(844);class q{get id(){return this._id}constructor(F){this.line=F,this.isDisposed=!1,this._disposables=[],this._id=q._nextId++,this._onDispose=this.register(new K.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),Y.disposeArray(this._disposables),this._disposables.length=0)}register(F){return this._disposables.push(F),F}}G.Marker=q,q._nextId=1},116:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.DEFAULT_CHARSET=G.CHARSETS=void 0,G.CHARSETS={},G.DEFAULT_CHARSET=G.CHARSETS.B,G.CHARSETS[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:"≥","{":"π","|":"≠","}":"£","~":"·"},G.CHARSETS.A={"#":"£"},G.CHARSETS.B=void 0,G.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},G.CHARSETS.C=G.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},G.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},G.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},G.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},G.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},G.CHARSETS.E=G.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},G.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},G.CHARSETS.H=G.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},G.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},584:(Z,G)=>{var X,K,Y;Object.defineProperty(G,"__esModule",{value:!0}),G.C1_ESCAPED=G.C1=G.C0=void 0,function(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=`
|
331
331
|
`,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=""}(X||(G.C0=X={})),function(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=""}(K||(G.C1=K={})),function(q){q.ST=`${X.ESC}\\`}(Y||(G.C1_ESCAPED=Y={}))},482:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.Utf8ToUtf32=G.StringToUtf32=G.utf32ToString=G.stringFromCodePoint=void 0,G.stringFromCodePoint=function(X){return X>65535?(X-=65536,String.fromCharCode(55296+(X>>10))+String.fromCharCode(X%1024+56320)):String.fromCharCode(X)},G.utf32ToString=function(X,K=0,Y=X.length){let q="";for(let F=K;F<Y;++F){let E=X[F];E>65535?(E-=65536,q+=String.fromCharCode(55296+(E>>10))+String.fromCharCode(E%1024+56320)):q+=String.fromCharCode(E)}return q},G.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(X,K){let Y=X.length;if(!Y)return 0;let q=0,F=0;if(this._interim){let E=X.charCodeAt(F++);56320<=E&&E<=57343?K[q++]=1024*(this._interim-55296)+E-56320+65536:(K[q++]=this._interim,K[q++]=E),this._interim=0}for(let E=F;E<Y;++E){let H=X.charCodeAt(E);if(55296<=H&&H<=56319){if(++E>=Y)return this._interim=H,q;let w=X.charCodeAt(E);56320<=w&&w<=57343?K[q++]=1024*(H-55296)+w-56320+65536:(K[q++]=H,K[q++]=w)}else H!==65279&&(K[q++]=H)}return q}},G.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(X,K){let Y=X.length;if(!Y)return 0;let q,F,E,H,w=0,W=0,I=0;if(this.interim[0]){let V=!1,L=this.interim[0];L&=(224&L)==192?31:(240&L)==224?15:7;let T,R=0;for(;(T=63&this.interim[++R])&&R<4;)L<<=6,L|=T;let j=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,P=j-R;for(;I<P;){if(I>=Y)return 0;if(T=X[I++],(192&T)!=128){I--,V=!0;break}this.interim[R++]=T,L<<=6,L|=63&T}V||(j===2?L<128?I--:K[w++]=L:j===3?L<2048||L>=55296&&L<=57343||L===65279||(K[w++]=L):L<65536||L>1114111||(K[w++]=L)),this.interim.fill(0)}let M=Y-4,N=I;for(;N<Y;){for(;!(!(N<M)||128&(q=X[N])||128&(F=X[N+1])||128&(E=X[N+2])||128&(H=X[N+3]));)K[w++]=q,K[w++]=F,K[w++]=E,K[w++]=H,N+=4;if(q=X[N++],q<128)K[w++]=q;else if((224&q)==192){if(N>=Y)return this.interim[0]=q,w;if(F=X[N++],(192&F)!=128){N--;continue}if(W=(31&q)<<6|63&F,W<128){N--;continue}K[w++]=W}else if((240&q)==224){if(N>=Y)return this.interim[0]=q,w;if(F=X[N++],(192&F)!=128){N--;continue}if(N>=Y)return this.interim[0]=q,this.interim[1]=F,w;if(E=X[N++],(192&E)!=128){N--;continue}if(W=(15&q)<<12|(63&F)<<6|63&E,W<2048||W>=55296&&W<=57343||W===65279)continue;K[w++]=W}else if((248&q)==240){if(N>=Y)return this.interim[0]=q,w;if(F=X[N++],(192&F)!=128){N--;continue}if(N>=Y)return this.interim[0]=q,this.interim[1]=F,w;if(E=X[N++],(192&E)!=128){N--;continue}if(N>=Y)return this.interim[0]=q,this.interim[1]=F,this.interim[2]=E,w;if(H=X[N++],(192&H)!=128){N--;continue}if(W=(7&q)<<18|(63&F)<<12|(63&E)<<6|63&H,W<65536||W>1114111)continue;K[w++]=W}}return w}}},225:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.UnicodeV6=void 0;let K=X(480),Y=[[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]],q=[[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]],F;G.UnicodeV6=class{constructor(){if(this.version="6",!F){F=new Uint8Array(65536),F.fill(1),F[0]=0,F.fill(0,1,32),F.fill(0,127,160),F.fill(2,4352,4448),F[9001]=2,F[9002]=2,F.fill(2,11904,42192),F[12351]=1,F.fill(2,44032,55204),F.fill(2,63744,64256),F.fill(2,65040,65050),F.fill(2,65072,65136),F.fill(2,65280,65377),F.fill(2,65504,65511);for(let E=0;E<Y.length;++E)F.fill(0,Y[E][0],Y[E][1]+1)}}wcwidth(E){return E<32?0:E<127?1:E<65536?F[E]:function(H,w){let W,I=0,M=w.length-1;if(H<w[0][0]||H>w[M][1])return!1;for(;M>=I;)if(W=I+M>>1,H>w[W][1])I=W+1;else{if(!(H<w[W][0]))return!0;M=W-1}return!1}(E,q)?0:E>=131072&&E<=196605||E>=196608&&E<=262141?2:1}charProperties(E,H){let w=this.wcwidth(E),W=w===0&&H!==0;if(W){let I=K.UnicodeService.extractWidth(H);I===0?W=!1:I>w&&(w=I)}return K.UnicodeService.createPropertyValue(0,w,W)}}},981:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.WriteBuffer=void 0;let K=X(460),Y=X(844);class q extends Y.Disposable{constructor(F){super(),this._action=F,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new K.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(F,E){if(E!==void 0&&this._syncCalls>E)return void(this._syncCalls=0);if(this._pendingData+=F.length,this._writeBuffer.push(F),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let H;for(this._isSyncWriting=!0;H=this._writeBuffer.shift();){this._action(H);let w=this._callbacks.shift();w&&w()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(F,E){if(this._pendingData>50000000)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=F.length,this._writeBuffer.push(F),this._callbacks.push(E),void this._innerWrite();setTimeout(()=>this._innerWrite())}this._pendingData+=F.length,this._writeBuffer.push(F),this._callbacks.push(E)}_innerWrite(F=0,E=!0){let H=F||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){let w=this._writeBuffer[this._bufferOffset],W=this._action(w,E);if(W){let M=(N)=>Date.now()-H>=12?setTimeout(()=>this._innerWrite(0,N)):this._innerWrite(H,N);return void W.catch((N)=>(queueMicrotask(()=>{throw N}),Promise.resolve(!1))).then(M)}let I=this._callbacks[this._bufferOffset];if(I&&I(),this._bufferOffset++,this._pendingData-=w.length,Date.now()-H>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(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()}}G.WriteBuffer=q},941:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.toRgbString=G.parseColor=void 0;let X=/^([\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})$/,K=/^[\da-f]+$/;function Y(q,F){let E=q.toString(16),H=E.length<2?"0"+E:E;switch(F){case 4:return E[0];case 8:return H;case 12:return(H+H).slice(0,3);default:return H+H}}G.parseColor=function(q){if(!q)return;let F=q.toLowerCase();if(F.indexOf("rgb:")===0){F=F.slice(4);let E=X.exec(F);if(E){let H=E[1]?15:E[4]?255:E[7]?4095:65535;return[Math.round(parseInt(E[1]||E[4]||E[7]||E[10],16)/H*255),Math.round(parseInt(E[2]||E[5]||E[8]||E[11],16)/H*255),Math.round(parseInt(E[3]||E[6]||E[9]||E[12],16)/H*255)]}}else if(F.indexOf("#")===0&&(F=F.slice(1),K.exec(F)&&[3,6,9,12].includes(F.length))){let E=F.length/3,H=[0,0,0];for(let w=0;w<3;++w){let W=parseInt(F.slice(E*w,E*w+E),16);H[w]=E===1?W<<4:E===2?W:E===3?W>>4:W>>8}return H}},G.toRgbString=function(q,F=16){let[E,H,w]=q;return`rgb:${Y(E,F)}/${Y(H,F)}/${Y(w,F)}`}},770:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.PAYLOAD_LIMIT=void 0,G.PAYLOAD_LIMIT=1e7},351:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.DcsHandler=G.DcsParser=void 0;let K=X(482),Y=X(742),q=X(770),F=[];G.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=F,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=F}registerHandler(H,w){this._handlers[H]===void 0&&(this._handlers[H]=[]);let W=this._handlers[H];return W.push(w),{dispose:()=>{let I=W.indexOf(w);I!==-1&&W.splice(I,1)}}}clearHandler(H){this._handlers[H]&&delete this._handlers[H]}setHandlerFallback(H){this._handlerFb=H}reset(){if(this._active.length)for(let H=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;H>=0;--H)this._active[H].unhook(!1);this._stack.paused=!1,this._active=F,this._ident=0}hook(H,w){if(this.reset(),this._ident=H,this._active=this._handlers[H]||F,this._active.length)for(let W=this._active.length-1;W>=0;W--)this._active[W].hook(w);else this._handlerFb(this._ident,"HOOK",w)}put(H,w,W){if(this._active.length)for(let I=this._active.length-1;I>=0;I--)this._active[I].put(H,w,W);else this._handlerFb(this._ident,"PUT",K.utf32ToString(H,w,W))}unhook(H,w=!0){if(this._active.length){let W=!1,I=this._active.length-1,M=!1;if(this._stack.paused&&(I=this._stack.loopPosition-1,W=w,M=this._stack.fallThrough,this._stack.paused=!1),!M&&W===!1){for(;I>=0&&(W=this._active[I].unhook(H),W!==!0);I--)if(W instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=I,this._stack.fallThrough=!1,W;I--}for(;I>=0;I--)if(W=this._active[I].unhook(!1),W instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=I,this._stack.fallThrough=!0,W}else this._handlerFb(this._ident,"UNHOOK",H);this._active=F,this._ident=0}};let E=new Y.Params;E.addParam(0),G.DcsHandler=class{constructor(H){this._handler=H,this._data="",this._params=E,this._hitLimit=!1}hook(H){this._params=H.length>1||H.params[0]?H.clone():E,this._data="",this._hitLimit=!1}put(H,w,W){this._hitLimit||(this._data+=K.utf32ToString(H,w,W),this._data.length>q.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(H){let w=!1;if(this._hitLimit)w=!1;else if(H&&(w=this._handler(this._data,this._params),w instanceof Promise))return w.then((W)=>(this._params=E,this._data="",this._hitLimit=!1,W));return this._params=E,this._data="",this._hitLimit=!1,w}}},15:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.EscapeSequenceParser=G.VT500_TRANSITION_TABLE=G.TransitionTable=void 0;let K=X(844),Y=X(742),q=X(242),F=X(351);class E{constructor(W){this.table=new Uint8Array(W)}setDefault(W,I){this.table.fill(W<<4|I)}add(W,I,M,N){this.table[I<<8|W]=M<<4|N}addMany(W,I,M,N){for(let V=0;V<W.length;V++)this.table[I<<8|W[V]]=M<<4|N}}G.TransitionTable=E;let H=160;G.VT500_TRANSITION_TABLE=function(){let W=new E(4095),I=Array.apply(null,Array(256)).map((R,j)=>j),M=(R,j)=>I.slice(R,j),N=M(32,127),V=M(0,24);V.push(25),V.push.apply(V,M(28,32));let L=M(0,14),T;for(T in W.setDefault(1,0),W.addMany(N,0,2,0),L)W.addMany([24,26,153,154],T,3,0),W.addMany(M(128,144),T,3,0),W.addMany(M(144,152),T,3,0),W.add(156,T,0,0),W.add(27,T,11,1),W.add(157,T,4,8),W.addMany([152,158,159],T,0,7),W.add(155,T,11,3),W.add(144,T,11,9);return W.addMany(V,0,3,0),W.addMany(V,1,3,1),W.add(127,1,0,1),W.addMany(V,8,0,8),W.addMany(V,3,3,3),W.add(127,3,0,3),W.addMany(V,4,3,4),W.add(127,4,0,4),W.addMany(V,6,3,6),W.addMany(V,5,3,5),W.add(127,5,0,5),W.addMany(V,2,3,2),W.add(127,2,0,2),W.add(93,1,4,8),W.addMany(N,8,5,8),W.add(127,8,5,8),W.addMany([156,27,24,26,7],8,6,0),W.addMany(M(28,32),8,0,8),W.addMany([88,94,95],1,0,7),W.addMany(N,7,0,7),W.addMany(V,7,0,7),W.add(156,7,0,0),W.add(127,7,0,7),W.add(91,1,11,3),W.addMany(M(64,127),3,7,0),W.addMany(M(48,60),3,8,4),W.addMany([60,61,62,63],3,9,4),W.addMany(M(48,60),4,8,4),W.addMany(M(64,127),4,7,0),W.addMany([60,61,62,63],4,0,6),W.addMany(M(32,64),6,0,6),W.add(127,6,0,6),W.addMany(M(64,127),6,0,0),W.addMany(M(32,48),3,9,5),W.addMany(M(32,48),5,9,5),W.addMany(M(48,64),5,0,6),W.addMany(M(64,127),5,7,0),W.addMany(M(32,48),4,9,5),W.addMany(M(32,48),1,9,2),W.addMany(M(32,48),2,9,2),W.addMany(M(48,127),2,10,0),W.addMany(M(48,80),1,10,0),W.addMany(M(81,88),1,10,0),W.addMany([89,90,92],1,10,0),W.addMany(M(96,127),1,10,0),W.add(80,1,11,9),W.addMany(V,9,0,9),W.add(127,9,0,9),W.addMany(M(28,32),9,0,9),W.addMany(M(32,48),9,9,12),W.addMany(M(48,60),9,8,10),W.addMany([60,61,62,63],9,9,10),W.addMany(V,11,0,11),W.addMany(M(32,128),11,0,11),W.addMany(M(28,32),11,0,11),W.addMany(V,10,0,10),W.add(127,10,0,10),W.addMany(M(28,32),10,0,10),W.addMany(M(48,60),10,8,10),W.addMany([60,61,62,63],10,0,11),W.addMany(M(32,48),10,9,12),W.addMany(V,12,0,12),W.add(127,12,0,12),W.addMany(M(28,32),12,0,12),W.addMany(M(32,48),12,9,12),W.addMany(M(48,64),12,0,11),W.addMany(M(64,127),12,12,13),W.addMany(M(64,127),10,12,13),W.addMany(M(64,127),9,12,13),W.addMany(V,13,13,13),W.addMany(N,13,13,13),W.add(127,13,0,13),W.addMany([27,156,24,26],13,14,0),W.add(H,0,2,0),W.add(H,8,5,8),W.add(H,6,0,6),W.add(H,11,0,11),W.add(H,13,13,13),W}();class w extends K.Disposable{constructor(W=G.VT500_TRANSITION_TABLE){super(),this._transitions=W,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new Y.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(I,M,N)=>{},this._executeHandlerFb=(I)=>{},this._csiHandlerFb=(I,M)=>{},this._escHandlerFb=(I)=>{},this._errorHandlerFb=(I)=>I,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register(K.toDisposable(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this.register(new q.OscParser),this._dcsParser=this.register(new F.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(W,I=[64,126]){let M=0;if(W.prefix){if(W.prefix.length>1)throw new Error("only one byte as prefix supported");if(M=W.prefix.charCodeAt(0),M&&60>M||M>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(W.intermediates){if(W.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let V=0;V<W.intermediates.length;++V){let L=W.intermediates.charCodeAt(V);if(32>L||L>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");M<<=8,M|=L}}if(W.final.length!==1)throw new Error("final must be a single byte");let N=W.final.charCodeAt(0);if(I[0]>N||N>I[1])throw new Error(`final must be in range ${I[0]} .. ${I[1]}`);return M<<=8,M|=N,M}identToString(W){let I=[];for(;W;)I.push(String.fromCharCode(255&W)),W>>=8;return I.reverse().join("")}setPrintHandler(W){this._printHandler=W}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(W,I){let M=this._identifier(W,[48,126]);this._escHandlers[M]===void 0&&(this._escHandlers[M]=[]);let N=this._escHandlers[M];return N.push(I),{dispose:()=>{let V=N.indexOf(I);V!==-1&&N.splice(V,1)}}}clearEscHandler(W){this._escHandlers[this._identifier(W,[48,126])]&&delete this._escHandlers[this._identifier(W,[48,126])]}setEscHandlerFallback(W){this._escHandlerFb=W}setExecuteHandler(W,I){this._executeHandlers[W.charCodeAt(0)]=I}clearExecuteHandler(W){this._executeHandlers[W.charCodeAt(0)]&&delete this._executeHandlers[W.charCodeAt(0)]}setExecuteHandlerFallback(W){this._executeHandlerFb=W}registerCsiHandler(W,I){let M=this._identifier(W);this._csiHandlers[M]===void 0&&(this._csiHandlers[M]=[]);let N=this._csiHandlers[M];return N.push(I),{dispose:()=>{let V=N.indexOf(I);V!==-1&&N.splice(V,1)}}}clearCsiHandler(W){this._csiHandlers[this._identifier(W)]&&delete this._csiHandlers[this._identifier(W)]}setCsiHandlerFallback(W){this._csiHandlerFb=W}registerDcsHandler(W,I){return this._dcsParser.registerHandler(this._identifier(W),I)}clearDcsHandler(W){this._dcsParser.clearHandler(this._identifier(W))}setDcsHandlerFallback(W){this._dcsParser.setHandlerFallback(W)}registerOscHandler(W,I){return this._oscParser.registerHandler(W,I)}clearOscHandler(W){this._oscParser.clearHandler(W)}setOscHandlerFallback(W){this._oscParser.setHandlerFallback(W)}setErrorHandler(W){this._errorHandler=W}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(W,I,M,N,V){this._parseStack.state=W,this._parseStack.handlers=I,this._parseStack.handlerPos=M,this._parseStack.transition=N,this._parseStack.chunkPos=V}parse(W,I,M){let N,V=0,L=0,T=0;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,T=this._parseStack.chunkPos+1;else{if(M===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");let R=this._parseStack.handlers,j=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(M===!1&&j>-1){for(;j>=0&&(N=R[j](this._params),N!==!0);j--)if(N instanceof Promise)return this._parseStack.handlerPos=j,N}this._parseStack.handlers=[];break;case 4:if(M===!1&&j>-1){for(;j>=0&&(N=R[j](),N!==!0);j--)if(N instanceof Promise)return this._parseStack.handlerPos=j,N}this._parseStack.handlers=[];break;case 6:if(V=W[this._parseStack.chunkPos],N=this._dcsParser.unhook(V!==24&&V!==26,M),N)return N;V===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(V=W[this._parseStack.chunkPos],N=this._oscParser.end(V!==24&&V!==26,M),N)return N;V===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,T=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let R=T;R<I;++R){switch(V=W[R],L=this._transitions.table[this.currentState<<8|(V<160?V:H)],L>>4){case 2:for(let x=R+1;;++x){if(x>=I||(V=W[x])<32||V>126&&V<H){this._printHandler(W,R,x),R=x-1;break}if(++x>=I||(V=W[x])<32||V>126&&V<H){this._printHandler(W,R,x),R=x-1;break}if(++x>=I||(V=W[x])<32||V>126&&V<H){this._printHandler(W,R,x),R=x-1;break}if(++x>=I||(V=W[x])<32||V>126&&V<H){this._printHandler(W,R,x),R=x-1;break}}break;case 3:this._executeHandlers[V]?this._executeHandlers[V]():this._executeHandlerFb(V),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:R,code:V,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let j=this._csiHandlers[this._collect<<8|V],P=j?j.length-1:-1;for(;P>=0&&(N=j[P](this._params),N!==!0);P--)if(N instanceof Promise)return this._preserveStack(3,j,P,L,R),N;P<0&&this._csiHandlerFb(this._collect<<8|V,this._params),this.precedingJoinState=0;break;case 8:do switch(V){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(V-48)}while(++R<I&&(V=W[R])>47&&V<60);R--;break;case 9:this._collect<<=8,this._collect|=V;break;case 10:let $=this._escHandlers[this._collect<<8|V],S=$?$.length-1:-1;for(;S>=0&&(N=$[S](),N!==!0);S--)if(N instanceof Promise)return this._preserveStack(4,$,S,L,R),N;S<0&&this._escHandlerFb(this._collect<<8|V),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|V,this._params);break;case 13:for(let x=R+1;;++x)if(x>=I||(V=W[x])===24||V===26||V===27||V>127&&V<H){this._dcsParser.put(W,R,x),R=x-1;break}break;case 14:if(N=this._dcsParser.unhook(V!==24&&V!==26),N)return this._preserveStack(6,[],0,L,R),N;V===27&&(L|=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 x=R+1;;x++)if(x>=I||(V=W[x])<32||V>127&&V<H){this._oscParser.put(W,R,x),R=x-1;break}break;case 6:if(N=this._oscParser.end(V!==24&&V!==26),N)return this._preserveStack(5,[],0,L,R),N;V===27&&(L|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&L}}}G.EscapeSequenceParser=w},242:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.OscHandler=G.OscParser=void 0;let K=X(770),Y=X(482),q=[];G.OscParser=class{constructor(){this._state=0,this._active=q,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(F,E){this._handlers[F]===void 0&&(this._handlers[F]=[]);let H=this._handlers[F];return H.push(E),{dispose:()=>{let w=H.indexOf(E);w!==-1&&H.splice(w,1)}}}clearHandler(F){this._handlers[F]&&delete this._handlers[F]}setHandlerFallback(F){this._handlerFb=F}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=q}reset(){if(this._state===2)for(let F=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;F>=0;--F)this._active[F].end(!1);this._stack.paused=!1,this._active=q,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||q,this._active.length)for(let F=this._active.length-1;F>=0;F--)this._active[F].start();else this._handlerFb(this._id,"START")}_put(F,E,H){if(this._active.length)for(let w=this._active.length-1;w>=0;w--)this._active[w].put(F,E,H);else this._handlerFb(this._id,"PUT",Y.utf32ToString(F,E,H))}start(){this.reset(),this._state=1}put(F,E,H){if(this._state!==3){if(this._state===1)for(;E<H;){let w=F[E++];if(w===59){this._state=2,this._start();break}if(w<48||57<w)return void(this._state=3);this._id===-1&&(this._id=0),this._id=10*this._id+w-48}this._state===2&&H-E>0&&this._put(F,E,H)}}end(F,E=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),this._active.length){let H=!1,w=this._active.length-1,W=!1;if(this._stack.paused&&(w=this._stack.loopPosition-1,H=E,W=this._stack.fallThrough,this._stack.paused=!1),!W&&H===!1){for(;w>=0&&(H=this._active[w].end(F),H!==!0);w--)if(H instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=w,this._stack.fallThrough=!1,H;w--}for(;w>=0;w--)if(H=this._active[w].end(!1),H instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=w,this._stack.fallThrough=!0,H}else this._handlerFb(this._id,"END",F);this._active=q,this._id=-1,this._state=0}}},G.OscHandler=class{constructor(F){this._handler=F,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(F,E,H){this._hitLimit||(this._data+=Y.utf32ToString(F,E,H),this._data.length>K.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(F){let E=!1;if(this._hitLimit)E=!1;else if(F&&(E=this._handler(this._data),E instanceof Promise))return E.then((H)=>(this._data="",this._hitLimit=!1,H));return this._data="",this._hitLimit=!1,E}}},742:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.Params=void 0;let X=2147483647;class K{static fromArray(Y){let q=new K;if(!Y.length)return q;for(let F=Array.isArray(Y[0])?1:0;F<Y.length;++F){let E=Y[F];if(Array.isArray(E))for(let H=0;H<E.length;++H)q.addSubParam(E[H]);else q.addParam(E)}return q}constructor(Y=32,q=32){if(this.maxLength=Y,this.maxSubParamsLength=q,q>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(Y),this.length=0,this._subParams=new Int32Array(q),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(Y),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){let Y=new K(this.maxLength,this.maxSubParamsLength);return Y.params.set(this.params),Y.length=this.length,Y._subParams.set(this._subParams),Y._subParamsLength=this._subParamsLength,Y._subParamsIdx.set(this._subParamsIdx),Y._rejectDigits=this._rejectDigits,Y._rejectSubDigits=this._rejectSubDigits,Y._digitIsSub=this._digitIsSub,Y}toArray(){let Y=[];for(let q=0;q<this.length;++q){Y.push(this.params[q]);let F=this._subParamsIdx[q]>>8,E=255&this._subParamsIdx[q];E-F>0&&Y.push(Array.prototype.slice.call(this._subParams,F,E))}return Y}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(Y){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(Y<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=Y>X?X:Y}}addSubParam(Y){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(Y<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=Y>X?X:Y,this._subParamsIdx[this.length-1]++}}hasSubParams(Y){return(255&this._subParamsIdx[Y])-(this._subParamsIdx[Y]>>8)>0}getSubParams(Y){let q=this._subParamsIdx[Y]>>8,F=255&this._subParamsIdx[Y];return F-q>0?this._subParams.subarray(q,F):null}getSubParamsAll(){let Y={};for(let q=0;q<this.length;++q){let F=this._subParamsIdx[q]>>8,E=255&this._subParamsIdx[q];E-F>0&&(Y[q]=this._subParams.slice(F,E))}return Y}addDigit(Y){let q;if(this._rejectDigits||!(q=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let F=this._digitIsSub?this._subParams:this.params,E=F[q-1];F[q-1]=~E?Math.min(10*E+Y,X):Y}}G.Params=K},741:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.AddonManager=void 0,G.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let X=this._addons.length-1;X>=0;X--)this._addons[X].instance.dispose()}loadAddon(X,K){let Y={instance:K,dispose:K.dispose,isDisposed:!1};this._addons.push(Y),K.dispose=()=>this._wrappedAddonDispose(Y),K.activate(X)}_wrappedAddonDispose(X){if(X.isDisposed)return;let K=-1;for(let Y=0;Y<this._addons.length;Y++)if(this._addons[Y]===X){K=Y;break}if(K===-1)throw new Error("Could not dispose an addon that has not been loaded");X.isDisposed=!0,X.dispose.apply(X.instance),this._addons.splice(K,1)}}},771:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.BufferApiView=void 0;let K=X(785),Y=X(511);G.BufferApiView=class{constructor(q,F){this._buffer=q,this.type=F}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 F=this._buffer.lines.get(q);if(F)return new K.BufferLineApiView(F)}getNullCell(){return new Y.CellData}}},785:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.BufferLineApiView=void 0;let K=X(511);G.BufferLineApiView=class{constructor(Y){this._line=Y}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(Y,q){if(!(Y<0||Y>=this._line.length))return q?(this._line.loadCell(Y,q),q):this._line.loadCell(Y,new K.CellData)}translateToString(Y,q,F){return this._line.translateToString(Y,q,F)}}},285:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.BufferNamespaceApi=void 0;let K=X(771),Y=X(460),q=X(844);class F extends q.Disposable{constructor(E){super(),this._core=E,this._onBufferChange=this.register(new Y.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new K.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new K.BufferApiView(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}}G.BufferNamespaceApi=F},975:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.ParserApi=void 0,G.ParserApi=class{constructor(X){this._core=X}registerCsiHandler(X,K){return this._core.registerCsiHandler(X,(Y)=>K(Y.toArray()))}addCsiHandler(X,K){return this.registerCsiHandler(X,K)}registerDcsHandler(X,K){return this._core.registerDcsHandler(X,(Y,q)=>K(Y,q.toArray()))}addDcsHandler(X,K){return this.registerDcsHandler(X,K)}registerEscHandler(X,K){return this._core.registerEscHandler(X,K)}addEscHandler(X,K){return this.registerEscHandler(X,K)}registerOscHandler(X,K){return this._core.registerOscHandler(X,K)}addOscHandler(X,K){return this.registerOscHandler(X,K)}}},90:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.UnicodeApi=void 0,G.UnicodeApi=class{constructor(X){this._core=X}register(X){this._core.unicodeService.register(X)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(X){this._core.unicodeService.activeVersion=X}}},744:function(Z,G,X){var K=this&&this.__decorate||function(W,I,M,N){var V,L=arguments.length,T=L<3?I:N===null?N=Object.getOwnPropertyDescriptor(I,M):N;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")T=Reflect.decorate(W,I,M,N);else for(var R=W.length-1;R>=0;R--)(V=W[R])&&(T=(L<3?V(T):L>3?V(I,M,T):V(I,M))||T);return L>3&&T&&Object.defineProperty(I,M,T),T},Y=this&&this.__param||function(W,I){return function(M,N){I(M,N,W)}};Object.defineProperty(G,"__esModule",{value:!0}),G.BufferService=G.MINIMUM_ROWS=G.MINIMUM_COLS=void 0;let q=X(460),F=X(844),E=X(295),H=X(585);G.MINIMUM_COLS=2,G.MINIMUM_ROWS=1;let w=G.BufferService=class extends F.Disposable{get buffer(){return this.buffers.active}constructor(W){super(),this.isUserScrolling=!1,this._onResize=this.register(new q.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new q.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(W.rawOptions.cols||0,G.MINIMUM_COLS),this.rows=Math.max(W.rawOptions.rows||0,G.MINIMUM_ROWS),this.buffers=this.register(new E.BufferSet(W,this))}resize(W,I){this.cols=W,this.rows=I,this.buffers.resize(W,I),this._onResize.fire({cols:W,rows:I})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(W,I=!1){let M=this.buffer,N;N=this._cachedBlankLine,N&&N.length===this.cols&&N.getFg(0)===W.fg&&N.getBg(0)===W.bg||(N=M.getBlankLine(W,I),this._cachedBlankLine=N),N.isWrapped=I;let V=M.ybase+M.scrollTop,L=M.ybase+M.scrollBottom;if(M.scrollTop===0){let T=M.lines.isFull;L===M.lines.length-1?T?M.lines.recycle().copyFrom(N):M.lines.push(N.clone()):M.lines.splice(L+1,0,N.clone()),T?this.isUserScrolling&&(M.ydisp=Math.max(M.ydisp-1,0)):(M.ybase++,this.isUserScrolling||M.ydisp++)}else{let T=L-V+1;M.lines.shiftElements(V+1,T-1,-1),M.lines.set(L,N.clone())}this.isUserScrolling||(M.ydisp=M.ybase),this._onScroll.fire(M.ydisp)}scrollLines(W,I,M){let N=this.buffer;if(W<0){if(N.ydisp===0)return;this.isUserScrolling=!0}else W+N.ydisp>=N.ybase&&(this.isUserScrolling=!1);let V=N.ydisp;N.ydisp=Math.max(Math.min(N.ydisp+W,N.ybase),0),V!==N.ydisp&&(I||this._onScroll.fire(N.ydisp))}};G.BufferService=w=K([Y(0,H.IOptionsService)],w)},994:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.CharsetService=void 0,G.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(X){this.glevel=X,this.charset=this._charsets[X]}setgCharset(X,K){this._charsets[X]=K,this.glevel===X&&(this.charset=K)}}},753:function(Z,G,X){var K=this&&this.__decorate||function(N,V,L,T){var R,j=arguments.length,P=j<3?V:T===null?T=Object.getOwnPropertyDescriptor(V,L):T;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")P=Reflect.decorate(N,V,L,T);else for(var $=N.length-1;$>=0;$--)(R=N[$])&&(P=(j<3?R(P):j>3?R(V,L,P):R(V,L))||P);return j>3&&P&&Object.defineProperty(V,L,P),P},Y=this&&this.__param||function(N,V){return function(L,T){V(L,T,N)}};Object.defineProperty(G,"__esModule",{value:!0}),G.CoreMouseService=void 0;let q=X(585),F=X(460),E=X(844),H={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:(N)=>N.button!==4&&N.action===1&&(N.ctrl=!1,N.alt=!1,N.shift=!1,!0)},VT200:{events:19,restrict:(N)=>N.action!==32},DRAG:{events:23,restrict:(N)=>N.action!==32||N.button!==3},ANY:{events:31,restrict:(N)=>!0}};function w(N,V){let L=(N.ctrl?16:0)|(N.shift?4:0)|(N.alt?8:0);return N.button===4?(L|=64,L|=N.action):(L|=3&N.button,4&N.button&&(L|=64),8&N.button&&(L|=128),N.action===32?L|=32:N.action!==0||V||(L|=3)),L}let W=String.fromCharCode,I={DEFAULT:(N)=>{let V=[w(N,!1)+32,N.col+32,N.row+32];return V[0]>255||V[1]>255||V[2]>255?"":`\x1B[M${W(V[0])}${W(V[1])}${W(V[2])}`},SGR:(N)=>{let V=N.action===0&&N.button!==4?"m":"M";return`\x1B[<${w(N,!0)};${N.col};${N.row}${V}`},SGR_PIXELS:(N)=>{let V=N.action===0&&N.button!==4?"m":"M";return`\x1B[<${w(N,!0)};${N.x};${N.y}${V}`}},M=G.CoreMouseService=class extends E.Disposable{constructor(N,V){super(),this._bufferService=N,this._coreService=V,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._onProtocolChange=this.register(new F.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(let L of Object.keys(H))this.addProtocol(L,H[L]);for(let L of Object.keys(I))this.addEncoding(L,I[L]);this.reset()}addProtocol(N,V){this._protocols[N]=V}addEncoding(N,V){this._encodings[N]=V}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(N){if(!this._protocols[N])throw new Error(`unknown protocol "${N}"`);this._activeProtocol=N,this._onProtocolChange.fire(this._protocols[N].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(N){if(!this._encodings[N])throw new Error(`unknown encoding "${N}"`);this._activeEncoding=N}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}triggerMouseEvent(N){if(N.col<0||N.col>=this._bufferService.cols||N.row<0||N.row>=this._bufferService.rows)return!1;if(N.button===4&&N.action===32)return!1;if(N.button===3&&N.action!==32)return!1;if(N.button!==4&&(N.action===2||N.action===3))return!1;if(N.col++,N.row++,N.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,N,this._activeEncoding==="SGR_PIXELS"))return!1;if(!this._protocols[this._activeProtocol].restrict(N))return!1;let V=this._encodings[this._activeEncoding](N);return V&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(V):this._coreService.triggerDataEvent(V,!0)),this._lastEvent=N,!0}explainEvents(N){return{down:!!(1&N),up:!!(2&N),drag:!!(4&N),move:!!(8&N),wheel:!!(16&N)}}_equalEvents(N,V,L){if(L){if(N.x!==V.x)return!1;if(N.y!==V.y)return!1}else{if(N.col!==V.col)return!1;if(N.row!==V.row)return!1}return N.button===V.button&&N.action===V.action&&N.ctrl===V.ctrl&&N.alt===V.alt&&N.shift===V.shift}};G.CoreMouseService=M=K([Y(0,q.IBufferService),Y(1,q.ICoreService)],M)},83:function(Z,G,X){var K=this&&this.__decorate||function(M,N,V,L){var T,R=arguments.length,j=R<3?N:L===null?L=Object.getOwnPropertyDescriptor(N,V):L;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")j=Reflect.decorate(M,N,V,L);else for(var P=M.length-1;P>=0;P--)(T=M[P])&&(j=(R<3?T(j):R>3?T(N,V,j):T(N,V))||j);return R>3&&j&&Object.defineProperty(N,V,j),j},Y=this&&this.__param||function(M,N){return function(V,L){N(V,L,M)}};Object.defineProperty(G,"__esModule",{value:!0}),G.CoreService=void 0;let q=X(439),F=X(460),E=X(844),H=X(585),w=Object.freeze({insertMode:!1}),W=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),I=G.CoreService=class extends E.Disposable{constructor(M,N,V){super(),this._bufferService=M,this._logService=N,this._optionsService=V,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new F.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new F.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new F.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new F.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=q.clone(w),this.decPrivateModes=q.clone(W)}reset(){this.modes=q.clone(w),this.decPrivateModes=q.clone(W)}triggerDataEvent(M,N=!1){if(this._optionsService.rawOptions.disableStdin)return;let V=this._bufferService.buffer;N&&this._optionsService.rawOptions.scrollOnUserInput&&V.ybase!==V.ydisp&&this._onRequestScrollToBottom.fire(),N&&this._onUserInput.fire(),this._logService.debug(`sending data "${M}"`,()=>M.split("").map((L)=>L.charCodeAt(0))),this._onData.fire(M)}triggerBinaryEvent(M){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${M}"`,()=>M.split("").map((N)=>N.charCodeAt(0))),this._onBinary.fire(M))}};G.CoreService=I=K([Y(0,H.IBufferService),Y(1,H.ILogService),Y(2,H.IOptionsService)],I)},348:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.InstantiationService=G.ServiceCollection=void 0;let K=X(585),Y=X(343);class q{constructor(...F){this._entries=new Map;for(let[E,H]of F)this.set(E,H)}set(F,E){let H=this._entries.get(F);return this._entries.set(F,E),H}forEach(F){for(let[E,H]of this._entries.entries())F(E,H)}has(F){return this._entries.has(F)}get(F){return this._entries.get(F)}}G.ServiceCollection=q,G.InstantiationService=class{constructor(){this._services=new q,this._services.set(K.IInstantiationService,this)}setService(F,E){this._services.set(F,E)}getService(F){return this._services.get(F)}createInstance(F,...E){let H=Y.getServiceDependencies(F).sort((I,M)=>I.index-M.index),w=[];for(let I of H){let M=this._services.get(I.id);if(!M)throw new Error(`[createInstance] ${F.name} depends on UNKNOWN service ${I.id}.`);w.push(M)}let W=H.length>0?H[0].index:E.length;if(E.length!==W)throw new Error(`[createInstance] First service dependency of ${F.name} at position ${W+1} conflicts with ${E.length} static arguments`);return new F(...[...E,...w])}}},866:function(Z,G,X){var K=this&&this.__decorate||function(W,I,M,N){var V,L=arguments.length,T=L<3?I:N===null?N=Object.getOwnPropertyDescriptor(I,M):N;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")T=Reflect.decorate(W,I,M,N);else for(var R=W.length-1;R>=0;R--)(V=W[R])&&(T=(L<3?V(T):L>3?V(I,M,T):V(I,M))||T);return L>3&&T&&Object.defineProperty(I,M,T),T},Y=this&&this.__param||function(W,I){return function(M,N){I(M,N,W)}};Object.defineProperty(G,"__esModule",{value:!0}),G.traceCall=G.setTraceLogger=G.LogService=void 0;let q=X(844),F=X(585),E={trace:F.LogLevelEnum.TRACE,debug:F.LogLevelEnum.DEBUG,info:F.LogLevelEnum.INFO,warn:F.LogLevelEnum.WARN,error:F.LogLevelEnum.ERROR,off:F.LogLevelEnum.OFF},H,w=G.LogService=class extends q.Disposable{get logLevel(){return this._logLevel}constructor(W){super(),this._optionsService=W,this._logLevel=F.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),H=this}_updateLogLevel(){this._logLevel=E[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(W){for(let I=0;I<W.length;I++)typeof W[I]=="function"&&(W[I]=W[I]())}_log(W,I,M){this._evalLazyOptionalParams(M),W.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+I,...M)}trace(W,...I){this._logLevel<=F.LogLevelEnum.TRACE&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,W,I)}debug(W,...I){this._logLevel<=F.LogLevelEnum.DEBUG&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,W,I)}info(W,...I){this._logLevel<=F.LogLevelEnum.INFO&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,W,I)}warn(W,...I){this._logLevel<=F.LogLevelEnum.WARN&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,W,I)}error(W,...I){this._logLevel<=F.LogLevelEnum.ERROR&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,W,I)}};G.LogService=w=K([Y(0,F.IOptionsService)],w),G.setTraceLogger=function(W){H=W},G.traceCall=function(W,I,M){if(typeof M.value!="function")throw new Error("not supported");let N=M.value;M.value=function(...V){if(H.logLevel!==F.LogLevelEnum.TRACE)return N.apply(this,V);H.trace(`GlyphRenderer#${N.name}(${V.map((T)=>JSON.stringify(T)).join(", ")})`);let L=N.apply(this,V);return H.trace(`GlyphRenderer#${N.name} return`,L),L}}},302:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.OptionsService=G.DEFAULT_OPTIONS=void 0;let K=X(460),Y=X(844),q=X(114);G.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1000,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rescaleOverlappingGlyphs:!1,rightClickSelectsWord:q.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};let F=["normal","bold","100","200","300","400","500","600","700","800","900"];class E extends Y.Disposable{constructor(H){super(),this._onOptionChange=this.register(new K.EventEmitter),this.onOptionChange=this._onOptionChange.event;let w={...G.DEFAULT_OPTIONS};for(let W in H)if(W in w)try{let I=H[W];w[W]=this._sanitizeAndValidateOption(W,I)}catch(I){console.error(I)}this.rawOptions=w,this.options={...w},this._setupOptions(),this.register(Y.toDisposable(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(H,w){return this.onOptionChange((W)=>{W===H&&w(this.rawOptions[H])})}onMultipleOptionChange(H,w){return this.onOptionChange((W)=>{H.indexOf(W)!==-1&&w()})}_setupOptions(){let H=(W)=>{if(!(W in G.DEFAULT_OPTIONS))throw new Error(`No option with key "${W}"`);return this.rawOptions[W]},w=(W,I)=>{if(!(W in G.DEFAULT_OPTIONS))throw new Error(`No option with key "${W}"`);I=this._sanitizeAndValidateOption(W,I),this.rawOptions[W]!==I&&(this.rawOptions[W]=I,this._onOptionChange.fire(W))};for(let W in this.rawOptions){let I={get:H.bind(this,W),set:w.bind(this,W)};Object.defineProperty(this.options,W,I)}}_sanitizeAndValidateOption(H,w){switch(H){case"cursorStyle":if(w||(w=G.DEFAULT_OPTIONS[H]),!function(W){return W==="block"||W==="underline"||W==="bar"}(w))throw new Error(`"${w}" is not a valid value for ${H}`);break;case"wordSeparator":w||(w=G.DEFAULT_OPTIONS[H]);break;case"fontWeight":case"fontWeightBold":if(typeof w=="number"&&1<=w&&w<=1000)break;w=F.includes(w)?w:G.DEFAULT_OPTIONS[H];break;case"cursorWidth":w=Math.floor(w);case"lineHeight":case"tabStopWidth":if(w<1)throw new Error(`${H} cannot be less than 1, value: ${w}`);break;case"minimumContrastRatio":w=Math.max(1,Math.min(21,Math.round(10*w)/10));break;case"scrollback":if((w=Math.min(w,4294967295))<0)throw new Error(`${H} cannot be less than 0, value: ${w}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(w<=0)throw new Error(`${H} cannot be less than or equal to 0, value: ${w}`);break;case"rows":case"cols":if(!w&&w!==0)throw new Error(`${H} must be numeric, value: ${w}`);break;case"windowsPty":w=w??{}}return w}}G.OptionsService=E},660:function(Z,G,X){var K=this&&this.__decorate||function(E,H,w,W){var I,M=arguments.length,N=M<3?H:W===null?W=Object.getOwnPropertyDescriptor(H,w):W;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")N=Reflect.decorate(E,H,w,W);else for(var V=E.length-1;V>=0;V--)(I=E[V])&&(N=(M<3?I(N):M>3?I(H,w,N):I(H,w))||N);return M>3&&N&&Object.defineProperty(H,w,N),N},Y=this&&this.__param||function(E,H){return function(w,W){H(w,W,E)}};Object.defineProperty(G,"__esModule",{value:!0}),G.OscLinkService=void 0;let q=X(585),F=G.OscLinkService=class{constructor(E){this._bufferService=E,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(E){let H=this._bufferService.buffer;if(E.id===void 0){let V=H.addMarker(H.ybase+H.y),L={data:E,id:this._nextId++,lines:[V]};return V.onDispose(()=>this._removeMarkerFromLink(L,V)),this._dataByLinkId.set(L.id,L),L.id}let w=E,W=this._getEntryIdKey(w),I=this._entriesWithId.get(W);if(I)return this.addLineToLink(I.id,H.ybase+H.y),I.id;let M=H.addMarker(H.ybase+H.y),N={id:this._nextId++,key:this._getEntryIdKey(w),data:w,lines:[M]};return M.onDispose(()=>this._removeMarkerFromLink(N,M)),this._entriesWithId.set(N.key,N),this._dataByLinkId.set(N.id,N),N.id}addLineToLink(E,H){let w=this._dataByLinkId.get(E);if(w&&w.lines.every((W)=>W.line!==H)){let W=this._bufferService.buffer.addMarker(H);w.lines.push(W),W.onDispose(()=>this._removeMarkerFromLink(w,W))}}getLinkData(E){return this._dataByLinkId.get(E)?.data}_getEntryIdKey(E){return`${E.id};;${E.uri}`}_removeMarkerFromLink(E,H){let w=E.lines.indexOf(H);w!==-1&&(E.lines.splice(w,1),E.lines.length===0&&(E.data.id!==void 0&&this._entriesWithId.delete(E.key),this._dataByLinkId.delete(E.id)))}};G.OscLinkService=F=K([Y(0,q.IBufferService)],F)},343:(Z,G)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.createDecorator=G.getServiceDependencies=G.serviceRegistry=void 0;let X="di$target",K="di$dependencies";G.serviceRegistry=new Map,G.getServiceDependencies=function(Y){return Y[K]||[]},G.createDecorator=function(Y){if(G.serviceRegistry.has(Y))return G.serviceRegistry.get(Y);let q=function(F,E,H){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(w,W,I){W[X]===W?W[K].push({id:w,index:I}):(W[K]=[{id:w,index:I}],W[X]=W)})(q,F,H)};return q.toString=()=>Y,G.serviceRegistry.set(Y,q),q}},585:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.IDecorationService=G.IUnicodeService=G.IOscLinkService=G.IOptionsService=G.ILogService=G.LogLevelEnum=G.IInstantiationService=G.ICharsetService=G.ICoreService=G.ICoreMouseService=G.IBufferService=void 0;let K=X(343);var Y;G.IBufferService=K.createDecorator("BufferService"),G.ICoreMouseService=K.createDecorator("CoreMouseService"),G.ICoreService=K.createDecorator("CoreService"),G.ICharsetService=K.createDecorator("CharsetService"),G.IInstantiationService=K.createDecorator("InstantiationService"),function(q){q[q.TRACE=0]="TRACE",q[q.DEBUG=1]="DEBUG",q[q.INFO=2]="INFO",q[q.WARN=3]="WARN",q[q.ERROR=4]="ERROR",q[q.OFF=5]="OFF"}(Y||(G.LogLevelEnum=Y={})),G.ILogService=K.createDecorator("LogService"),G.IOptionsService=K.createDecorator("OptionsService"),G.IOscLinkService=K.createDecorator("OscLinkService"),G.IUnicodeService=K.createDecorator("UnicodeService"),G.IDecorationService=K.createDecorator("DecorationService")},480:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.UnicodeService=void 0;let K=X(460),Y=X(225);class q{static extractShouldJoin(F){return(1&F)!=0}static extractWidth(F){return F>>1&3}static extractCharKind(F){return F>>3}static createPropertyValue(F,E,H=!1){return(16777215&F)<<3|(3&E)<<1|(H?1:0)}constructor(){this._providers=Object.create(null),this._active="",this._onChange=new K.EventEmitter,this.onChange=this._onChange.event;let F=new Y.UnicodeV6;this.register(F),this._active=F.version,this._activeProvider=F}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(F){if(!this._providers[F])throw new Error(`unknown Unicode version "${F}"`);this._active=F,this._activeProvider=this._providers[F],this._onChange.fire(F)}register(F){this._providers[F.version]=F}wcwidth(F){return this._activeProvider.wcwidth(F)}getStringCellWidth(F){let E=0,H=0,w=F.length;for(let W=0;W<w;++W){let I=F.charCodeAt(W);if(55296<=I&&I<=56319){if(++W>=w)return E+this.wcwidth(I);let V=F.charCodeAt(W);56320<=V&&V<=57343?I=1024*(I-55296)+V-56320+65536:E+=this.wcwidth(V)}let M=this.charProperties(I,H),N=q.extractWidth(M);q.extractShouldJoin(M)&&(N-=q.extractWidth(H)),E+=N,H=M}return E}charProperties(F,E){return this._activeProvider.charProperties(F,E)}}G.UnicodeService=q},781:(Z,G,X)=>{Object.defineProperty(G,"__esModule",{value:!0}),G.Terminal=void 0;let K=X(437),Y=X(969),q=X(460);class F extends Y.CoreTerminal{constructor(E={}){super(E),this._onBell=this.register(new q.EventEmitter),this.onBell=this._onBell.event,this._onCursorMove=this.register(new q.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onTitleChange=this.register(new q.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onA11yCharEmitter=this.register(new q.EventEmitter),this.onA11yChar=this._onA11yCharEmitter.event,this._onA11yTabEmitter=this.register(new q.EventEmitter),this.onA11yTab=this._onA11yTabEmitter.event,this._setup(),this.register(this._inputHandler.onRequestBell(()=>this.bell())),this.register(this._inputHandler.onRequestReset(()=>this.reset())),this.register(q.forwardEvent(this._inputHandler.onCursorMove,this._onCursorMove)),this.register(q.forwardEvent(this._inputHandler.onTitleChange,this._onTitleChange)),this.register(q.forwardEvent(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register(q.forwardEvent(this._inputHandler.onA11yTab,this._onA11yTabEmitter))}get buffer(){return this.buffers.active}get markers(){return this.buffer.markers}addMarker(E){if(this.buffer===this.buffers.normal)return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+E)}bell(){this._onBell.fire()}input(E,H=!0){this.coreService.triggerDataEvent(E,H)}resize(E,H){E===this.cols&&H===this.rows||super.resize(E,H)}clear(){if(this.buffer.ybase!==0||this.buffer.y!==0){this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let E=1;E<this.rows;E++)this.buffer.lines.push(this.buffer.getBlankLine(K.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0})}}reset(){this.options.rows=this.rows,this.options.cols=this.cols,this._setup(),super.reset()}}G.Terminal=F}},Q={};function B(Z){var G=Q[Z];if(G!==void 0)return G.exports;var X=Q[Z]={exports:{}};return A[Z].call(X.exports,X,X.exports,B),X.exports}var J={};(()=>{var Z=J;Object.defineProperty(Z,"__esModule",{value:!0}),Z.Terminal=void 0;let G=B(285),X=B(975),K=B(90),Y=B(781),q=B(741),F=B(844),E=["cols","rows"];class H extends F.Disposable{constructor(w){super(),this._core=this.register(new Y.Terminal(w)),this._addonManager=this.register(new q.AddonManager),this._publicOptions={...this._core.options};let W=(M)=>this._core.options[M],I=(M,N)=>{this._checkReadonlyOptions(M),this._core.options[M]=N};for(let M in this._core.options){Object.defineProperty(this._publicOptions,M,{get:()=>this._core.options[M],set:(V)=>{this._checkReadonlyOptions(M),this._core.options[M]=V}});let N={get:W.bind(this,M),set:I.bind(this,M)};Object.defineProperty(this._publicOptions,M,N)}}_checkReadonlyOptions(w){if(E.includes(w))throw new Error(`Option "${w}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.options.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onLineFeed(){return this._core.onLineFeed}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onTitleChange(){return this._core.onTitleChange}get parser(){return this._checkProposedApi(),this._parser||(this._parser=new X.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new K.UnicodeApi(this._core)}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._checkProposedApi(),this._buffer||(this._buffer=this.register(new G.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let w=this._core.coreService.decPrivateModes,W="none";switch(this._core.coreMouseService.activeProtocol){case"X10":W="x10";break;case"VT200":W="vt200";break;case"DRAG":W="drag";break;case"ANY":W="any"}return{applicationCursorKeysMode:w.applicationCursorKeys,applicationKeypadMode:w.applicationKeypad,bracketedPasteMode:w.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:W,originMode:w.origin,reverseWraparoundMode:w.reverseWraparound,sendFocusMode:w.sendFocus,wraparoundMode:w.wraparound}}get options(){return this._publicOptions}set options(w){for(let W in w)this._publicOptions[W]=w[W]}input(w,W=!0){this._core.input(w,W)}resize(w,W){this._verifyIntegers(w,W),this._core.resize(w,W)}registerMarker(w=0){return this._checkProposedApi(),this._verifyIntegers(w),this._core.addMarker(w)}addMarker(w){return this.registerMarker(w)}dispose(){super.dispose()}scrollLines(w){this._verifyIntegers(w),this._core.scrollLines(w)}scrollPages(w){this._verifyIntegers(w),this._core.scrollPages(w)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(w){this._verifyIntegers(w),this._core.scrollToLine(w)}clear(){this._core.clear()}write(w,W){this._core.write(w,W)}writeln(w,W){this._core.write(w),this._core.write(`\r
|
332
332
|
`,W)}reset(){this._core.reset()}loadAddon(w){this._addonManager.loadAddon(this,w)}_verifyIntegers(...w){for(let W of w)if(W===1/0||isNaN(W)||W%1!=0)throw new Error("This API only accepts integers")}}Z.Terminal=H})();var D=J40;for(var z in J)D[z]=J[z];J.__esModule&&Object.defineProperty(D,"__esModule",{value:!0})})()});function TN(A,Q,B=Q+"s"){return A===1?Q:B}function Z40(){return new z40.Terminal({cols:1000,rows:500,allowProposedApi:!0,convertEol:!0,scrollback:1e4,cursorBlink:!1})}function gF1(A,Q=tgA){let B=A.buffer.active,J=[],D=Math.max(0,Q.maxCharacterLength);for(let Z=0;Z<B.length;Z++){let G=B.getLine(Z);if(!G)continue;let X=G.translateToString(!1).trimEnd();if(X.trim().length===0&&J.at(-1)?.trim().length===0)continue;J.push(X)}let z=0;for(let Z=J.length-1;Z>0;Z--){let G=J[Z];if(z+=G.length,z>D){let K=Z,Y=`Truncated ${K} ${TN(K,"line")} above this point`,q=J.length-Z-1,F=q===1?"Below is the last line of the output":`Below are the last ${q} lines of the output`;return{output:[`--- ${Y}. ${F}. ---`,...J.slice(Z)].join(`
|
333
333
|
`),hidden_truncatedOutput:J.slice(0,Z).join(`
|
@@ -4457,7 +4457,7 @@ Please report this to https://github.com/markedjs/marked.`,A){let J="<p>An error
|
|
4457
4457
|
`)}printMarkdown(A,Q){return this.print(A,Q)}}var P1A=new T1A,_1A=new j1A;l6();import{exec as a_}from"node:child_process";function Yp(A="idle"){try{if(A==="idle"){if(process.platform==="darwin")a_("afplay /System/Library/Sounds/Submarine.aiff");else if(process.platform==="win32")a_("powershell [console]::beep(800,200)");else if(process.platform==="linux")a_("paplay /usr/share/sounds/freedesktop/stereo/message.oga || beep")}else if(A==="requires-user-input"){if(process.platform==="darwin")a_("afplay /System/Library/Sounds/Ping.aiff");else if(process.platform==="win32")a_("powershell [console]::beep(1000,300)");else if(process.platform==="linux")a_("paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga || beep -f 1000 -l 100")}}catch(Q){j1.error(`Failed to play notification sound (${A}):`,Q)}}l6();AQ();Lw();var ru6=!1;function S1A(A){let Q=0,B=async(X)=>{let K=Date.now();if(K-Q<2000)return;if(Q=K,J===!1)return;let Y=!1;try{Y=A.windowFocused?await A.windowFocused():!1}catch(q){j1.debug("Could not determine window focus state:",q)}if(Y&&!ru6)return;await A.playNotificationSound(X)},J=!0,D=e2.subscribe((X)=>{J=X.settings["notifications.enabled"]??!0}),z=A.notifyForSubagents??!0,Z=new Map,G=XQ.statuses.subscribe(async(X)=>{for(let[K,Y]of Object.entries(X)){if(!Y||Y.state!=="active"){Z.delete(K);continue}try{if((await A.threadService.get(K))?.mainThreadID&&!z)continue}catch(E){j1.debug("Failed to check thread for subagent status",{threadID:K,error:E})}let q=Y.inferenceState==="idle"&&Y.interactionState!=="tool-running",F=Z.get(K)??!0;if(Z.set(K,q),!F&&q)await B("idle");if(Y.interactionState==="user-tool-approval")await B("requires-user-input")}});return{unsubscribe(){G.unsubscribe(),D.unsubscribe(),Z.clear()}}}_4();P6();var a1A=hA(i1A(),1),{program:Ld2,createCommand:Td2,createArgument:jd2,createOption:Pd2,CommanderError:r1A,InvalidArgumentError:_d2,InvalidOptionArgumentError:Sd2,Command:Up,Argument:$d2,Option:M91,Help:vd2}=a1A.default;import{randomBytes as y02}from"node:crypto";import{mkdir as b02,readFile as g02,writeFile as x02}from"node:fs/promises";import wy1 from"node:path";import{stderr as s2,stdout as u4}from"node:process";import Pp6 from"os";import C91 from"path";var II=Pp6.homedir(),{env:KO}=process,r_=KO.XDG_DATA_HOME||(II?C91.join(II,".local","share"):void 0),N91=KO.XDG_CONFIG_HOME||(II?C91.join(II,".config"):void 0),n1A=KO.XDG_STATE_HOME||(II?C91.join(II,".local","state"):void 0),s1A=KO.XDG_CACHE_HOME||(II?C91.join(II,".cache"):void 0),bd2=KO.XDG_RUNTIME_DIR||void 0,_p6=(KO.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(r_)_p6.unshift(r_);var Sp6=(KO.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(N91)Sp6.unshift(N91);l6();var NO=hA(D8A(),1);import jn6 from"node:fs";import{homedir as Pn6}from"node:os";import yp from"node:path";var z8A=Object.keys(j1),Yk1=yp.join(s1A||yp.join(Pn6(),".cache"),"amp");function ZS(A){let Q=yp.join(Yk1,"logs"),B=A?.logFile||yp.join(Q,"cli.log"),J=A?.logLevel||"info";if(!z8A.includes(J))console.warn(`Invalid log level: ${J}. Using 'info' instead.`);try{jn6.mkdirSync(yp.dirname(B),{recursive:!0})}catch(z){console.error(`Failed to create log directory: ${z}`)}let D=NO.default.createLogger({level:z8A.includes(J)?J:"info",format:NO.default.format.combine(NO.default.format.timestamp(),NO.default.format.json(),NO.default.format.errors({stack:!0})),transports:[new NO.default.transports.File({filename:B})]});Tx1({error:D.error.bind(D),warn:D.warn.bind(D),info:D.info.bind(D),debug:D.debug.bind(D),audit:(z,...Z)=>D.info(z,{audit:!0,...Z[0]})})}aa();var _n6={keyPrefix:"amp.",includeEnvironmentVariables:!1,envPrefix:"AMP_"};function Z8A(A){if(A===null||A===void 0)return"";if(typeof A==="string")return A;if(typeof A==="boolean"||typeof A==="number")return String(A);if(typeof A==="object")return JSON.stringify(A);return String(A)}function Sn6(A,Q){let B={};for(let[J,D]of Object.entries(A))if(J.startsWith(Q))B[J]=D;return B}function $n6(A){let Q={};for(let[B,J]of Object.entries(process.env))if(B.startsWith(A)&&J!==void 0)Q[B]=J;return Q}async function G8A(A,Q={}){let B={..._n6,...Q},J=await A.getSettings(),D=Sn6(J,B.keyPrefix),z={};if(B.includeEnvironmentVariables&&typeof process!=="undefined"&&process.env)z=$n6(B.envPrefix);let Z=Object.keys(D).sort().map((X)=>{let K=D[X],Y=Z8A(K);return Y=ia(Y),{key:X,value:Y}}),G=Object.keys(z).sort().map((X)=>{let K=z[X],Y=Z8A(K);return Y=ia(Y),{key:X,value:Y}});return{settings:Z,environment:G}}_4();l6();import*as X8A from"node:child_process";import*as K8A from"node:fs/promises";import*as Y8A from"node:path";import{promisify as vn6}from"node:util";var qk1=vn6(X8A.exec);async function q8A(A){let Q={displayName:k2.basename(A)};if(!WM(A))return Q;Q.uri=A9(A);try{if(!await K8A.access(Y8A.join(A.fsPath,".git")).then(()=>!0).catch(()=>!1))return Q;let{stdout:J}=await qk1("git remote get-url origin",{cwd:A.fsPath}).catch(()=>({stdout:""}));if(!J.trim())return Q;let{stdout:D}=await qk1("git symbolic-ref HEAD",{cwd:A.fsPath}).catch(()=>({stdout:""})),{stdout:z}=await qk1("git rev-parse HEAD",{cwd:A.fsPath}).catch(()=>({stdout:""}));return{...Q,repository:{type:"git",url:fn6(J.trim()),ref:D.trim()||void 0,sha:z.trim()??void 0}}}catch(B){return j1.error("Error getting repository info:",B,{dir:A.fsPath}),Q}}function kn6(A){if(A.startsWith("http://")||A.startsWith("https://"))try{let Q=new URL(A);return Q.username="",Q.password="",Q.toString()}catch{}return A}function fn6(A){let Q=["github.com","gitlab.com","bitbucket.org"];A=kn6(A);let B=A.replace(/\.git$/,""),J=null,D=null,z=B.match(/^git@([^:]+)[:|/](.+)$/);if(z&&z[1]&&z[2])J=z[1],D=z[2];if(!J||!D){let Z=B.match(/^https?:\/\/([^/]+)\/(.+)$/);if(Z&&Z[1]&&Z[2])J=Z[1],D=Z[2]}if(!J||!D){let Z=B.match(/^([^:]+):(.+)$/);if(Z&&Z[1]&&Z[2])J=Z[1],D=Z[2]}if(J&&D&&Q.includes(J))return`https://${J}/${D}`;return A}LM();el();function U8A(){let A=Wv(),Q=pR();return{os:Q.os,osVersion:Q.osVersion,cpuArchitecture:Q.cpuArchitecture,webBrowser:Q.webBrowser,client:A.name,clientVersion:A.version,clientType:A.type}}_4();l6();$R();P6();var Uk1=Symbol("singleComment"),F8A=Symbol("multiComment");function yn6(){return""}function bn6(A,Q,B){return A.slice(Q,B).replace(/\S/g," ")}function gn6(A,Q){let B=Q-1,J=0;while(A[B]==="\\")B-=1,J+=1;return Boolean(J%2)}var xn6={trailingCommas:!1,whitespace:!0};function s91(A,Q=xn6){if(typeof A!=="string")throw new TypeError(`Expected argument \`jsonString\` to be a \`string\`, got \`${typeof A}\``);let{trailingCommas:B=!1,whitespace:J=!0}=Q,D=J?bn6:yn6,z=!1,Z=!1,G=0,X="",K="",Y=-1;for(let q=0;q<A.length;q++){let F=A[q],E=A[q+1];if(!F)continue;if(!Z&&F==='"'){if(!gn6(A,q))z=!z}if(z)continue;if(!Z&&F+E==="//")X+=A.slice(G,q),G=q,Z=Uk1,q++;else if(Z===Uk1&&F+E===`\r
|
4458
4458
|
`){q++,Z=!1,X+=D(A,G,q),G=q;continue}else if(Z===Uk1&&F===`
|
4459
4459
|
`)Z=!1,X+=D(A,G,q),G=q;else if(!Z&&F+E==="/*"){X+=A.slice(G,q),G=q,Z=F8A,q++;continue}else if(Z===F8A&&F+E==="*/"){q++,Z=!1,X+=D(A,G,q+1),G=q+1;continue}else if(B&&!Z){if(Y!==-1){if(F==="}"||F==="]")X+=A.slice(G,q),K+=D(X,0,1)+X.slice(1),X="",G=q,Y=-1;else if(F!==" "&&F!=="\t"&&F!=="\r"&&F!==`
|
4460
|
-
`)X+=A.slice(G,q),G=q,Y=-1}else if(F===",")K+=X+A.slice(G,q),X="",G=q,Y=q}}return K+X+(Z?D(A.slice(G)):A.slice(G))}function E8A(A,Q){try{return JSON.parse(A)}catch{return JSON.parse(s91(A,{...Q,trailingCommas:!0}))}}import LI from"node:fs/promises";import{homedir as H8A,tmpdir as hn6}from"node:os";import pq from"node:path";var w8A=pq.join(r_||pq.join(H8A(),".local/share"),"amp"),TI=pq.join(N91||pq.join(H8A(),".config"),"amp","settings.json"),Fk1="secrets.json",o91=pq.join(w8A,Fk1);function bp(A){let Q=A?.settingsFile??TI,B=new r2,J;async function D(){try{let G=pq.dirname(Q);await LI.mkdir(G,{recursive:!0})}catch(G){throw j1.error(`Failed to create config directory: ${G}`),G}}async function z(){if(J)return J;try{await D();let G=await LI.readFile(Q,"utf-8"),X;try{X=E8A(G)}catch(Y){throw new Error(`Invalid JSON in settings file ${Q}: ${Y} (content of settings file: "${G}")`)}let K={};for(let[Y,q]of Object.entries(X))if(Y.startsWith("amp.")){let F=Y.substring(4);K[F]=q}return K.cacheDirectory=Yk1,J=K,K}catch(G){if(G.code==="ENOENT")return J={},J;throw j1.error(`Failed to read settings: ${G}`),G}}async function Z(G){try{await D();let X={};for(let[q,F]of Object.entries(G))X[`amp.${q}`]=F;let K=await LI.mkdtemp(pq.join(hn6(),"amp-settings-")),Y=pq.join(K,"settings.json");await LI.writeFile(Y,JSON.stringify(X,null,2),"utf-8"),await LI.rename(Y,Q),J=G}catch(X){throw j1.error(`Failed to write settings: ${X}`),X}}return{async get(G){return(await z())[G]},async set(G,X,K){if(K==="workspace")throw new Error(`Unsupported target: ${K}`);let Y=await z();Y[G]=X,await Z(Y),B.next([G])},async delete(G,X){if(X==="workspace")throw new Error(`Unsupported target: ${X}`);let K=await z();delete K[G],await Z(K),B.next([G])},async keys(){let G=await z();return Object.keys(G)},changes:B}}function gp(A){let Q=A?.dataDir||w8A,B=new r2,J;async function D(){try{await LI.mkdir(Q,{recursive:!0})}catch(G){throw j1.error(`Failed to create data directory: ${G}`),G}}async function z(){if(J)return J;try{await D();let G=A?.dataDir?pq.join(Q,Fk1):o91,X=await LI.readFile(G,"utf-8");return J=JSON.parse(X),J}catch(G){if(G.code==="ENOENT")return J={},J;throw j1.error(`Failed to read secrets: ${G}`),G}}async function Z(G){try{await D();let X=A?.dataDir?pq.join(Q,Fk1):o91;await LI.writeFile(X,JSON.stringify(G,null,2),"utf-8"),J=G}catch(X){throw j1.error(`Failed to write secrets: ${X}`),X}}return{async get(G,X){let K=await z(),Y=lQ1(X);return K[`${G}@${Y}`]},async set(G,X,K){let Y=lQ1(K),q=`${G}@${Y}`,F=await z();F[q]=X,await Z(F),B.next(q)},changes:B}}class Ek1{async getSettings(){let A=bp(),Q=await A.keys(),B={};for(let J of Q){let D=await A.get(J);if(D!==void 0)B[`amp.${J}`]=D}return B}getObservable(){return null}}async function CO(){let A=new Ek1,Q=await G8A(A,{includeEnvironmentVariables:!0});return{trees:await Promise.all([process.cwd()].map((B)=>q8A(v2.file(B)))),platform:{...U8A(),config:Q}}}var W8A={url:{value:"https://ampcode.com",visible:!1,description:"The Amp server URL to connect to"},"anthropic.thinking.enabled":{value:!1,visible:!1,description:"Enable Claude thinking process output for debugging"},"anthropic.interleavedThinking.enabled":{value:!1,visible:!1,description:"Enable interleaved thinking for Claude 4 models (allows reasoning between tool calls)"},"anthropic.temperature":{value:1,visible:!1,description:"Temperature setting for Anthropic models (0.0 = deterministic, 1.0 = creative). Note: Only takes effect when thinking is disabled. Internal use only."},"notifications.enabled":{value:!0,visible:!0,description:"Enable system sound notifications when agent completes tasks"},"todos.enabled":{value:!0,visible:!1,description:"Enable TODO tracking and management features"},mcpServers:{value:{filesystem:{command:"npx",args:["@modelcontextprotocol/server-filesystem","/path/to/allowed/dir"]}},visible:!0,description:"Model Context Protocol servers to connect to for additional tools"},"tools.disable":{value:["browser_navigate","builtin:edit_file"],visible:!0,description:"Array of tool names to disable. Use 'builtin:toolname' to disable only the builtin tool with that name (allowing an MCP server to provide a tool by that name)."},"tools.stopTimeout":{value:300,visible:!1,description:"Timeout for stopping tools"},cacheDirectory:{value:void 0,visible:!1,description:"Directory to use for caching logs or storing other files"},"commands.allowlist":{value:["git status","ls -la","npm run build"],visible:!1,description:"Array of shell commands that can be executed without confirmation"},"commands.strict":{value:!1,visible:!1,description:"Enable strict command validation. When disabled, certain commands like Bazel get relaxed path validation."},dangerouslyAllowAll:{value:!1,visible:!0,description:"Disable all command confirmation prompts (agent will execute all commands without asking)"},submitOnEnter:{value:!0,visible:!1,description:"Whether to submit messages on Enter (true) or require Ctrl+Enter (false)"},"terminal.commands.hide":{value:!1,visible:!1,description:"Hide terminal command output from the user"},"terminal.commands.nodeSpawn.loadProfile":{value:"daily",visible:!1,description:"How often to load shell profile in node-spawn mode (always, daily, never)"},"terminal.commands.nodeSpawn.detachedLogsDirectory":{value:void 0,visible:!1,description:"Directory to store detached logs in node-spawn mode"},"tab.enabled":{value:!0,visible:!1,description:"Enable tab completion features"},"tab.disabledLanguages":{value:[],visible:!1,description:"List of language IDs for which tab completion is disabled"},"tab.disableOnComment":{value:!1,visible:!1,description:"Dsiable tab completion on comment lines"},"tab.autoImport.enabled":{value:!1,visible:!1,description:"Enable auto-import feature for tab completion"},"tab.dimissCommandIds":{value:["extension.vim_escape","vim.escape","vscode-neovim.escape","vscode-neovim.escapeKey"],visible:!1,description:"Command IDs to execute when escape key is pressed in modal editors"},"tab.verboseLogs":{value:!1,visible:!1,description:"Enable verbose logging for tab completion"},debugLogs:{value:!1,visible:!1,description:"Enable debug logging output"},hooks:{value:[],visible:!1,description:"Custom hooks for extending Amp functionality"},"gemini.enabled":{value:!1,visible:!1,description:"Whether to use Gemini 2.5 pro as the primary model"},"anthropic.provider":{value:"anthropic",visible:!1,description:'Which provider to use for Anthropic Claude inference: "anthropic" or "vertex"'},"experimental.fuzzySearch.enabled":{value:!1,visible:!1,description:"Enable new fuzzy file search implementation using core FuzzyService. Provides better performance and accuracy for large repositories, but may use more memory during indexing."},"experimental.run_javascript.enabled":{value:!1,visible:!1,description:"Whether to enable the experimental run_javascript tool"},"commandApproval.allow":{value:[],visible:!0,description:"Prefixes of allowed command lines (no approval asked)"},"commandApproval.deny":{value:[],visible:!0,description:"Prefixes of risky command lines (will always ask approval)"},"experimental.commandApproval.enabled":{value:!0,visible:!1,description:"Whether to use the new command approval system (default: yes)"},"experimental.commandApproval.allow":{value:[],visible:!1,description:"Prefixes of allowed command lines (no approval asked)"},"experimental.commandApproval.deny":{value:[],visible:!1,description:"Prefixes of risky command lines (will always ask approval)"},"jetbrains.enabled":{value:!1,visible:!1,description:"Enable integrated support for JetBrains-based IDE through the official JetBrains MCP plugin. When this setting is enabled, Amp will automatically try to include the currently open file and selected text (if any) before sending messages."},"experimental.reviewTool":{value:!1,visible:!1,description:"Experimental: Enable the summarize_git_diff tool."},"experimental.tools":{value:[],visible:!1,description:"Enable experimental tools by name. Available tools: chat_llm"},"summary.provider":{value:"gemini",visible:!1,description:"Summary provider to use (anthropic or gemini)"},"git.commit.coauthor.enabled":{value:!0,visible:!0,description:"Enable adding Amp as co-author in git commits"},"git.commit.ampThread.enabled":{value:!0,visible:!0,description:"Enable adding Amp-Thread trailer in git commits"},"updates.autoUpdate.enabled":{value:!0,visible:!0,description:"Enable automatic updates of the Amp CLI"}},mn6=Object.fromEntries(Object.entries(W8A).filter(([,A])=>A.visible).map(([A,Q])=>[`amp.${A}`,Q.value])),xp={examples:[{description:"Start an interactive session:",command:"amp"},{description:"Run a command in a non-interactive session:",command:'echo "commit all my unstaged changes" | amp'},{description:"Run from a prompt file in a non-interactive session and store output in a file:",command:"amp < prompt.txt > output.txt"}],configuration:{description:`Amp can be configured using a JSON settings file located at ${TI}. All settings use the "amp." prefix.`,sampleConfig:JSON.stringify(mn6,null,2),keyDescriptions:Object.entries(W8A).filter(([,A])=>A.visible).map(([A,Q])=>({key:`amp.${A}`,description:Q.description}))}};P6();function Hk1(A,Q=un6){let B=new r2;function J(D){let z=Q[D];return z?process.env[z]:void 0}return{async get(D,z){let Z=J(D);return Z!==void 0?Z:A.get(D,z)},async set(D,z,Z){if(J(D)!==void 0)return;await A.set(D,z,Z),B.next(`${D}@${Z}`)},changes:MZ(A.changes,B)}}var un6={apiKey:"AMP_API_KEY"};l6();import{stderr as VO}from"node:process";var I8A=Buffer.from([1]),M8A=Buffer.from([2]),hp=Buffer.from([3]),wk1=Buffer.from([4]),N8A=Buffer.from([5]),C8A=Buffer.from([6]),V8A=Buffer.from([8]),O8A=Buffer.from([11]),R8A=Buffer.from([12]),L8A=Buffer.from([14]),T8A=Buffer.from([16]),j8A=Buffer.from([21]),P8A=Buffer.from([23]),_8A=Buffer.from([25]),S8A=Buffer.from([7]),$8A=Buffer.from([15]),v8A=Buffer.from([17]),k8A=Buffer.from([18]),f8A=Buffer.from([19]),y8A=Buffer.from([20]),b8A=Buffer.from([22]),g8A=Buffer.from([24]),x8A=Buffer.from([26]),mp=Buffer.from([27]),h8A=Buffer.from([13]),m8A=Buffer.from([10]),u8A=Buffer.from([127]),p8A=Buffer.from([9]),c8A=Buffer.from([27,91,90]),l8A=Buffer.from([27,91,65]),d8A=Buffer.from([27,91,66]),i8A=Buffer.from([27,91,67]),a8A=Buffer.from([27,91,68]),r8A=Buffer.from([27,91,49,59,50,65]),n8A=Buffer.from([27,91,49,59,50,66]),s8A=Buffer.from([27,91,49,59,50,67]),o8A=Buffer.from([27,91,49,59,50,68]),t8A=Buffer.from([27,91,53,126]),e8A=Buffer.from([27,91,54,126]),A9A=Buffer.from([27,91,72]),Q9A=Buffer.from([27,91,70]),B9A=Buffer.from([27,91,49,126]),J9A=Buffer.from([27,91,52,126]),D9A=Buffer.from([27,91,55,126]),z9A=Buffer.from([27,91,56,126]),Z9A=Buffer.from([27,91,51,126]),G9A=Buffer.from([27,91,50,126]),X9A=Buffer.from([27,91,71]),zr2=Buffer.from([27,91,49,48,126]),Zr2=Buffer.from([27,91,49,49,126]),Gr2=Buffer.from([27,91,49,50,126]),Xr2=Buffer.from([27,91,49,51,126]),Kr2=Buffer.from([27,91,49,52,126]),Yr2=Buffer.from([27,91,49,53,126]),qr2=Buffer.from([27,91,49,55,126]),Ur2=Buffer.from([27,91,49,56,126]),Fr2=Buffer.from([27,91,49,57,126]),Er2=Buffer.from([27,91,50,48,126]),Hr2=Buffer.from([27,91,50,49,126]),wr2=Buffer.from([27,91,50,51,126]),Wr2=Buffer.from([27,91,50,52,126]),Ir2=Buffer.from([27,91,50,53,126]),Mr2=Buffer.from([27,91,50,54,126]),Nr2=Buffer.from([27,91,50,56,126]),Cr2=Buffer.from([27,91,50,57,126]),Vr2=Buffer.from([27,91,51,49,126]),Or2=Buffer.from([27,91,51,50,126]),Rr2=Buffer.from([27,91,51,51,126]),Lr2=Buffer.from([27,91,51,52,126]),Tr2=Buffer.from([27,79,80]),jr2=Buffer.from([27,79,81]),Pr2=Buffer.from([27,79,82]),_r2=Buffer.from([27,79,83]),Sr2=Buffer.from([27,91,49,80]),$r2=Buffer.from([27,91,49,81]),vr2=Buffer.from([27,91,49,82]),kr2=Buffer.from([27,91,49,83]),K9A=Buffer.from([27,102]),Y9A=Buffer.from([27,98]),q9A=Buffer.from([27,100]),U9A=Buffer.from([27,127]),F9A=Buffer.from([27,91,49,59,51,65]),E9A=Buffer.from([27,91,49,59,51,66]),H9A=Buffer.from([27,91,49,59,53,65]),w9A=Buffer.from([27,91,49,59,53,66]),W9A=Buffer.from([27,91,49,59,53,68]),I9A=Buffer.from([27,91,49,59,53,67]),M9A=Buffer.from([27,91,49,50,55,59,53,117]),N9A=Buffer.from([27,91,50,55,59,50,59,49,51,126]),Wk1=Buffer.from([27,91,50,55,59,53,59,49,51,126]),Ik1=Buffer.from([27,91,50,55,59,56,59,49,51,126]),D2={ESC:Buffer.from([27,91,50,55,117]),CTRL_A:Buffer.from([27,91,57,55,59,53,117]),CTRL_B:Buffer.from([27,91,57,56,59,53,117]),CTRL_C:Buffer.from([27,91,57,57,59,53,117]),CTRL_D:Buffer.from([27,91,49,48,48,59,53,117]),CTRL_E:Buffer.from([27,91,49,48,49,59,53,117]),CTRL_F:Buffer.from([27,91,49,48,50,59,53,117]),CTRL_H:Buffer.from([27,91,49,48,52,59,53,117]),CTRL_K:Buffer.from([27,91,49,48,55,59,53,117]),CTRL_L:Buffer.from([27,91,49,48,56,59,53,117]),CTRL_N:Buffer.from([27,91,49,49,48,59,53,117]),CTRL_P:Buffer.from([27,91,49,49,50,59,53,117]),CTRL_U:Buffer.from([27,91,49,49,55,59,53,117]),CTRL_W:Buffer.from([27,91,49,49,57,59,53,117]),CTRL_Y:Buffer.from([27,91,49,50,49,59,53,117]),CTRL_G:Buffer.from([27,91,49,48,51,59,53,117]),CTRL_O:Buffer.from([27,91,49,49,49,59,53,117]),CTRL_Q:Buffer.from([27,91,49,49,51,59,53,117]),CTRL_R:Buffer.from([27,91,49,49,52,59,53,117]),CTRL_S:Buffer.from([27,91,49,49,53,59,53,117]),CTRL_T:Buffer.from([27,91,49,49,54,59,53,117]),CTRL_V:Buffer.from([27,91,49,49,56,59,53,117]),CTRL_X:Buffer.from([27,91,49,50,48,59,53,117]),CTRL_Z:Buffer.from([27,91,49,50,50,59,53,117]),ALT_B:Buffer.from([27,91,57,56,59,51,117]),ALT_F:Buffer.from([27,91,49,48,50,59,51,117]),ALT_D:Buffer.from([27,91,49,48,48,59,51,117]),ALT_BACKSPACE:Buffer.from([27,91,49,50,55,59,51,117]),ALT_ARROW_UP:Buffer.from([27,91,49,59,51,65]),ALT_ARROW_DOWN:Buffer.from([27,91,49,59,51,66]),CTRL_ARROW_UP:Buffer.from([27,91,49,59,53,65]),CTRL_ARROW_DOWN:Buffer.from([27,91,49,59,53,66]),CTRL_ARROW_LEFT:Buffer.from([27,91,49,59,53,68]),CTRL_ARROW_RIGHT:Buffer.from([27,91,49,59,53,67]),CTRL_BACKSPACE:Buffer.from([27,91,49,50,55,59,53,117]),SHIFT_BACKSPACE:Buffer.from([27,91,49,50,55,59,50,117]),SHIFT_TAB:Buffer.from([27,91,57,59,50,117]),SHIFT_ENTER:Buffer.from([27,91,49,51,59,50,117]),CTRL_ENTER:Buffer.from([27,91,49,51,59,53,117]),PAGE_UP:Buffer.from([27,91,53,117]),PAGE_DOWN:Buffer.from([27,91,54,117]),HOME:Buffer.from([27,91,72,117]),END:Buffer.from([27,91,70,117]),DEL:Buffer.from([27,91,81,117]),enable(){process.stderr.write("\x1B[=1u")},disable(){process.stderr.write("\x1B[=0u"),process.stderr.write("\x1B[<u")}};var hG={unknownCommand:(A)=>`Unknown command "${A}". Run 'amp --help' for the full list.`,badFlag:(A)=>`Invalid flag "${A}". See 'amp --help' for valid options.`,notLoggedIn:"Not logged in. Run 'amp login' to authenticate.",authExpired:"API key expired. Run 'amp login' to refresh.",networkTimeout:"Network timeout. Check your connection or proxy settings and retry.",networkOffline:"Cannot reach Amp servers. Are you offline?",threadNotFound:(A)=>`Thread ${A} not found or you don't have access. Verify the ID.`,invalidThreadId:"Invalid thread ID format.",internalBug:"Unexpected error inside Amp CLI. Run with AMP_DEBUG=1 or 'amp doctor' and attach the bundle.",nodeVersion:(A)=>`Amp CLI requires Node.js v20+. Current version: ${A}`};class XZ extends Error{userMessage;exitCode;suggestion;constructor(A,Q=1,B){super(A);this.userMessage=A;this.exitCode=Q;this.suggestion=B;this.name="AmpError"}}function pn6(A){if(!(A instanceof Error))return!1;let Q=A.message.toLowerCase()+(A.stack||"").toLowerCase();return["thread","threadservice","threadsync","threadworker","threadhistory","threadsummary","thread-"].some((J)=>Q.includes(J))}function OO(){try{j1.debug(`[DEBUG] cleanupTerminal() called
|
4460
|
+
`)X+=A.slice(G,q),G=q,Y=-1}else if(F===",")K+=X+A.slice(G,q),X="",G=q,Y=q}}return K+X+(Z?D(A.slice(G)):A.slice(G))}function E8A(A,Q){try{return JSON.parse(A)}catch{return JSON.parse(s91(A,{...Q,trailingCommas:!0}))}}import LI from"node:fs/promises";import{homedir as H8A,tmpdir as hn6}from"node:os";import pq from"node:path";var w8A=pq.join(r_||pq.join(H8A(),".local/share"),"amp"),TI=pq.join(N91||pq.join(H8A(),".config"),"amp","settings.json"),Fk1="secrets.json",o91=pq.join(w8A,Fk1);function bp(A){let Q=A?.settingsFile??TI,B=new r2,J;async function D(){try{let G=pq.dirname(Q);await LI.mkdir(G,{recursive:!0})}catch(G){throw j1.error(`Failed to create config directory: ${G}`),G}}async function z(){if(J)return J;try{await D();let G=await LI.readFile(Q,"utf-8"),X;try{X=E8A(G)}catch(Y){throw new Error(`Invalid JSON in settings file ${Q}: ${Y} (content of settings file: "${G}")`)}let K={};for(let[Y,q]of Object.entries(X))if(Y.startsWith("amp.")){let F=Y.substring(4);K[F]=q}return K.cacheDirectory=Yk1,J=K,K}catch(G){if(G.code==="ENOENT")return J={},J;throw j1.error(`Failed to read settings: ${G}`),G}}async function Z(G){try{await D();let X={};for(let[q,F]of Object.entries(G))X[`amp.${q}`]=F;let K=await LI.mkdtemp(pq.join(hn6(),"amp-settings-")),Y=pq.join(K,"settings.json");await LI.writeFile(Y,JSON.stringify(X,null,2),"utf-8"),await LI.rename(Y,Q),J=G}catch(X){throw j1.error(`Failed to write settings: ${X}`),X}}return{async get(G){return(await z())[G]},async set(G,X,K){if(K==="workspace")throw new Error(`Unsupported target: ${K}`);let Y=await z();Y[G]=X,await Z(Y),B.next([G])},async delete(G,X){if(X==="workspace")throw new Error(`Unsupported target: ${X}`);let K=await z();delete K[G],await Z(K),B.next([G])},async keys(){let G=await z();return Object.keys(G)},changes:B}}function gp(A){let Q=A?.dataDir||w8A,B=new r2,J;async function D(){try{await LI.mkdir(Q,{recursive:!0})}catch(G){throw j1.error(`Failed to create data directory: ${G}`),G}}async function z(){if(J)return J;try{await D();let G=A?.dataDir?pq.join(Q,Fk1):o91,X=await LI.readFile(G,"utf-8");return J=JSON.parse(X),J}catch(G){if(G.code==="ENOENT")return J={},J;throw j1.error(`Failed to read secrets: ${G}`),G}}async function Z(G){try{await D();let X=A?.dataDir?pq.join(Q,Fk1):o91;await LI.writeFile(X,JSON.stringify(G,null,2),"utf-8"),J=G}catch(X){throw j1.error(`Failed to write secrets: ${X}`),X}}return{async get(G,X){let K=await z(),Y=lQ1(X);return K[`${G}@${Y}`]},async set(G,X,K){let Y=lQ1(K),q=`${G}@${Y}`,F=await z();F[q]=X,await Z(F),B.next(q)},changes:B}}class Ek1{async getSettings(){let A=bp(),Q=await A.keys(),B={};for(let J of Q){let D=await A.get(J);if(D!==void 0)B[`amp.${J}`]=D}return B}getObservable(){return null}}async function CO(){let A=new Ek1,Q=await G8A(A,{includeEnvironmentVariables:!0});return{trees:await Promise.all([process.cwd()].map((B)=>q8A(v2.file(B)))),platform:{...U8A(),config:Q}}}var W8A={url:{value:"https://ampcode.com",visible:!1,description:"The Amp server URL to connect to"},"anthropic.thinking.enabled":{value:!1,visible:!1,description:"Enable Claude thinking process output for debugging"},"anthropic.interleavedThinking.enabled":{value:!1,visible:!1,description:"Enable interleaved thinking for Claude 4 models (allows reasoning between tool calls)"},"anthropic.temperature":{value:1,visible:!1,description:"Temperature setting for Anthropic models (0.0 = deterministic, 1.0 = creative). Note: Only takes effect when thinking is disabled. Internal use only."},"notifications.enabled":{value:!0,visible:!0,description:"Enable system sound notifications when agent completes tasks"},"todos.enabled":{value:!0,visible:!1,description:"Enable TODO tracking and management features"},mcpServers:{value:{filesystem:{command:"npx",args:["@modelcontextprotocol/server-filesystem","/path/to/allowed/dir"]}},visible:!0,description:"Model Context Protocol servers to connect to for additional tools"},"tools.disable":{value:["browser_navigate","builtin:edit_file"],visible:!0,description:"Array of tool names to disable. Use 'builtin:toolname' to disable only the builtin tool with that name (allowing an MCP server to provide a tool by that name)."},"tools.stopTimeout":{value:300,visible:!1,description:"Timeout for stopping tools"},cacheDirectory:{value:void 0,visible:!1,description:"Directory to use for caching logs or storing other files"},"commands.allowlist":{value:["git status","ls -la","npm run build"],visible:!0,description:"Array of shell commands that can be executed without confirmation"},"commands.strict":{value:!1,visible:!0,description:"Enable strict command validation. When disabled, certain commands like Bazel get relaxed path validation."},dangerouslyAllowAll:{value:!1,visible:!0,description:"Disable all command confirmation prompts (agent will execute all commands without asking)"},submitOnEnter:{value:!0,visible:!1,description:"Whether to submit messages on Enter (true) or require Ctrl+Enter (false)"},"terminal.commands.hide":{value:!1,visible:!1,description:"Hide terminal command output from the user"},"terminal.commands.nodeSpawn.loadProfile":{value:"daily",visible:!1,description:"How often to load shell profile in node-spawn mode (always, daily, never)"},"terminal.commands.nodeSpawn.detachedLogsDirectory":{value:void 0,visible:!1,description:"Directory to store detached logs in node-spawn mode"},"tab.enabled":{value:!0,visible:!1,description:"Enable tab completion features"},"tab.disabledLanguages":{value:[],visible:!1,description:"List of language IDs for which tab completion is disabled"},"tab.disableOnComment":{value:!1,visible:!1,description:"Dsiable tab completion on comment lines"},"tab.autoImport.enabled":{value:!1,visible:!1,description:"Enable auto-import feature for tab completion"},"tab.dimissCommandIds":{value:["extension.vim_escape","vim.escape","vscode-neovim.escape","vscode-neovim.escapeKey"],visible:!1,description:"Command IDs to execute when escape key is pressed in modal editors"},"tab.verboseLogs":{value:!1,visible:!1,description:"Enable verbose logging for tab completion"},debugLogs:{value:!1,visible:!1,description:"Enable debug logging output"},hooks:{value:[],visible:!1,description:"Custom hooks for extending Amp functionality"},"gemini.enabled":{value:!1,visible:!1,description:"Whether to use Gemini 2.5 pro as the primary model"},"anthropic.provider":{value:"anthropic",visible:!1,description:'Which provider to use for Anthropic Claude inference: "anthropic" or "vertex"'},"experimental.fuzzySearch.enabled":{value:!1,visible:!1,description:"Enable new fuzzy file search implementation using core FuzzyService. Provides better performance and accuracy for large repositories, but may use more memory during indexing."},"experimental.run_javascript.enabled":{value:!1,visible:!1,description:"Whether to enable the experimental run_javascript tool"},"experimental.commandApproval.enabled":{value:!1,visible:!1,description:"Enable experimental command approval strategies for bash commands"},"experimental.commandApproval.allow":{value:[],visible:!1,description:"Prefixes of allowed command lines (no approval asked)"},"experimental.commandApproval.deny":{value:[],visible:!1,description:"Prefixes of risky command lines (will always ask approval)"},"jetbrains.enabled":{value:!1,visible:!1,description:"Enable integrated support for JetBrains-based IDE through the official JetBrains MCP plugin. When this setting is enabled, Amp will automatically try to include the currently open file and selected text (if any) before sending messages."},"experimental.reviewTool":{value:!1,visible:!1,description:"Experimental: Enable the summarize_git_diff tool."},"experimental.tools":{value:[],visible:!1,description:"Enable experimental tools by name. Available tools: chat_llm"},"summary.provider":{value:"gemini",visible:!1,description:"Summary provider to use (anthropic or gemini)"},"git.commit.coauthor.enabled":{value:!0,visible:!0,description:"Enable adding Amp as co-author in git commits"},"git.commit.ampThread.enabled":{value:!0,visible:!0,description:"Enable adding Amp-Thread trailer in git commits"},"updates.autoUpdate.enabled":{value:!0,visible:!0,description:"Enable automatic updates of the Amp CLI"}},mn6=Object.fromEntries(Object.entries(W8A).filter(([,A])=>A.visible).map(([A,Q])=>[`amp.${A}`,Q.value])),xp={examples:[{description:"Start an interactive session:",command:"amp"},{description:"Run a command in a non-interactive session:",command:'echo "commit all my unstaged changes" | amp'},{description:"Run from a prompt file in a non-interactive session and store output in a file:",command:"amp < prompt.txt > output.txt"}],configuration:{description:`Amp can be configured using a JSON settings file located at ${TI}. All settings use the "amp." prefix.`,sampleConfig:JSON.stringify(mn6,null,2),keyDescriptions:Object.entries(W8A).filter(([,A])=>A.visible).map(([A,Q])=>({key:`amp.${A}`,description:Q.description}))}};P6();function Hk1(A,Q=un6){let B=new r2;function J(D){let z=Q[D];return z?process.env[z]:void 0}return{async get(D,z){let Z=J(D);return Z!==void 0?Z:A.get(D,z)},async set(D,z,Z){if(J(D)!==void 0)return;await A.set(D,z,Z),B.next(`${D}@${Z}`)},changes:MZ(A.changes,B)}}var un6={apiKey:"AMP_API_KEY"};l6();import{stderr as VO}from"node:process";var I8A=Buffer.from([1]),M8A=Buffer.from([2]),hp=Buffer.from([3]),wk1=Buffer.from([4]),N8A=Buffer.from([5]),C8A=Buffer.from([6]),V8A=Buffer.from([8]),O8A=Buffer.from([11]),R8A=Buffer.from([12]),L8A=Buffer.from([14]),T8A=Buffer.from([16]),j8A=Buffer.from([21]),P8A=Buffer.from([23]),_8A=Buffer.from([25]),S8A=Buffer.from([7]),$8A=Buffer.from([15]),v8A=Buffer.from([17]),k8A=Buffer.from([18]),f8A=Buffer.from([19]),y8A=Buffer.from([20]),b8A=Buffer.from([22]),g8A=Buffer.from([24]),x8A=Buffer.from([26]),mp=Buffer.from([27]),h8A=Buffer.from([13]),m8A=Buffer.from([10]),u8A=Buffer.from([127]),p8A=Buffer.from([9]),c8A=Buffer.from([27,91,90]),l8A=Buffer.from([27,91,65]),d8A=Buffer.from([27,91,66]),i8A=Buffer.from([27,91,67]),a8A=Buffer.from([27,91,68]),r8A=Buffer.from([27,91,49,59,50,65]),n8A=Buffer.from([27,91,49,59,50,66]),s8A=Buffer.from([27,91,49,59,50,67]),o8A=Buffer.from([27,91,49,59,50,68]),t8A=Buffer.from([27,91,53,126]),e8A=Buffer.from([27,91,54,126]),A9A=Buffer.from([27,91,72]),Q9A=Buffer.from([27,91,70]),B9A=Buffer.from([27,91,49,126]),J9A=Buffer.from([27,91,52,126]),D9A=Buffer.from([27,91,55,126]),z9A=Buffer.from([27,91,56,126]),Z9A=Buffer.from([27,91,51,126]),G9A=Buffer.from([27,91,50,126]),X9A=Buffer.from([27,91,71]),zr2=Buffer.from([27,91,49,48,126]),Zr2=Buffer.from([27,91,49,49,126]),Gr2=Buffer.from([27,91,49,50,126]),Xr2=Buffer.from([27,91,49,51,126]),Kr2=Buffer.from([27,91,49,52,126]),Yr2=Buffer.from([27,91,49,53,126]),qr2=Buffer.from([27,91,49,55,126]),Ur2=Buffer.from([27,91,49,56,126]),Fr2=Buffer.from([27,91,49,57,126]),Er2=Buffer.from([27,91,50,48,126]),Hr2=Buffer.from([27,91,50,49,126]),wr2=Buffer.from([27,91,50,51,126]),Wr2=Buffer.from([27,91,50,52,126]),Ir2=Buffer.from([27,91,50,53,126]),Mr2=Buffer.from([27,91,50,54,126]),Nr2=Buffer.from([27,91,50,56,126]),Cr2=Buffer.from([27,91,50,57,126]),Vr2=Buffer.from([27,91,51,49,126]),Or2=Buffer.from([27,91,51,50,126]),Rr2=Buffer.from([27,91,51,51,126]),Lr2=Buffer.from([27,91,51,52,126]),Tr2=Buffer.from([27,79,80]),jr2=Buffer.from([27,79,81]),Pr2=Buffer.from([27,79,82]),_r2=Buffer.from([27,79,83]),Sr2=Buffer.from([27,91,49,80]),$r2=Buffer.from([27,91,49,81]),vr2=Buffer.from([27,91,49,82]),kr2=Buffer.from([27,91,49,83]),K9A=Buffer.from([27,102]),Y9A=Buffer.from([27,98]),q9A=Buffer.from([27,100]),U9A=Buffer.from([27,127]),F9A=Buffer.from([27,91,49,59,51,65]),E9A=Buffer.from([27,91,49,59,51,66]),H9A=Buffer.from([27,91,49,59,53,65]),w9A=Buffer.from([27,91,49,59,53,66]),W9A=Buffer.from([27,91,49,59,53,68]),I9A=Buffer.from([27,91,49,59,53,67]),M9A=Buffer.from([27,91,49,50,55,59,53,117]),N9A=Buffer.from([27,91,50,55,59,50,59,49,51,126]),Wk1=Buffer.from([27,91,50,55,59,53,59,49,51,126]),Ik1=Buffer.from([27,91,50,55,59,56,59,49,51,126]),D2={ESC:Buffer.from([27,91,50,55,117]),CTRL_A:Buffer.from([27,91,57,55,59,53,117]),CTRL_B:Buffer.from([27,91,57,56,59,53,117]),CTRL_C:Buffer.from([27,91,57,57,59,53,117]),CTRL_D:Buffer.from([27,91,49,48,48,59,53,117]),CTRL_E:Buffer.from([27,91,49,48,49,59,53,117]),CTRL_F:Buffer.from([27,91,49,48,50,59,53,117]),CTRL_H:Buffer.from([27,91,49,48,52,59,53,117]),CTRL_K:Buffer.from([27,91,49,48,55,59,53,117]),CTRL_L:Buffer.from([27,91,49,48,56,59,53,117]),CTRL_N:Buffer.from([27,91,49,49,48,59,53,117]),CTRL_P:Buffer.from([27,91,49,49,50,59,53,117]),CTRL_U:Buffer.from([27,91,49,49,55,59,53,117]),CTRL_W:Buffer.from([27,91,49,49,57,59,53,117]),CTRL_Y:Buffer.from([27,91,49,50,49,59,53,117]),CTRL_G:Buffer.from([27,91,49,48,51,59,53,117]),CTRL_O:Buffer.from([27,91,49,49,49,59,53,117]),CTRL_Q:Buffer.from([27,91,49,49,51,59,53,117]),CTRL_R:Buffer.from([27,91,49,49,52,59,53,117]),CTRL_S:Buffer.from([27,91,49,49,53,59,53,117]),CTRL_T:Buffer.from([27,91,49,49,54,59,53,117]),CTRL_V:Buffer.from([27,91,49,49,56,59,53,117]),CTRL_X:Buffer.from([27,91,49,50,48,59,53,117]),CTRL_Z:Buffer.from([27,91,49,50,50,59,53,117]),ALT_B:Buffer.from([27,91,57,56,59,51,117]),ALT_F:Buffer.from([27,91,49,48,50,59,51,117]),ALT_D:Buffer.from([27,91,49,48,48,59,51,117]),ALT_BACKSPACE:Buffer.from([27,91,49,50,55,59,51,117]),ALT_ARROW_UP:Buffer.from([27,91,49,59,51,65]),ALT_ARROW_DOWN:Buffer.from([27,91,49,59,51,66]),CTRL_ARROW_UP:Buffer.from([27,91,49,59,53,65]),CTRL_ARROW_DOWN:Buffer.from([27,91,49,59,53,66]),CTRL_ARROW_LEFT:Buffer.from([27,91,49,59,53,68]),CTRL_ARROW_RIGHT:Buffer.from([27,91,49,59,53,67]),CTRL_BACKSPACE:Buffer.from([27,91,49,50,55,59,53,117]),SHIFT_BACKSPACE:Buffer.from([27,91,49,50,55,59,50,117]),SHIFT_TAB:Buffer.from([27,91,57,59,50,117]),SHIFT_ENTER:Buffer.from([27,91,49,51,59,50,117]),CTRL_ENTER:Buffer.from([27,91,49,51,59,53,117]),PAGE_UP:Buffer.from([27,91,53,117]),PAGE_DOWN:Buffer.from([27,91,54,117]),HOME:Buffer.from([27,91,72,117]),END:Buffer.from([27,91,70,117]),DEL:Buffer.from([27,91,81,117]),enable(){process.stderr.write("\x1B[=1u")},disable(){process.stderr.write("\x1B[=0u"),process.stderr.write("\x1B[<u")}};var hG={unknownCommand:(A)=>`Unknown command "${A}". Run 'amp --help' for the full list.`,badFlag:(A)=>`Invalid flag "${A}". See 'amp --help' for valid options.`,notLoggedIn:"Not logged in. Run 'amp login' to authenticate.",authExpired:"API key expired. Run 'amp login' to refresh.",networkTimeout:"Network timeout. Check your connection or proxy settings and retry.",networkOffline:"Cannot reach Amp servers. Are you offline?",threadNotFound:(A)=>`Thread ${A} not found or you don't have access. Verify the ID.`,invalidThreadId:"Invalid thread ID format.",internalBug:"Unexpected error inside Amp CLI. Run with AMP_DEBUG=1 or 'amp doctor' and attach the bundle.",nodeVersion:(A)=>`Amp CLI requires Node.js v20+. Current version: ${A}`};class XZ extends Error{userMessage;exitCode;suggestion;constructor(A,Q=1,B){super(A);this.userMessage=A;this.exitCode=Q;this.suggestion=B;this.name="AmpError"}}function pn6(A){if(!(A instanceof Error))return!1;let Q=A.message.toLowerCase()+(A.stack||"").toLowerCase();return["thread","threadservice","threadsync","threadworker","threadhistory","threadsummary","thread-"].some((J)=>Q.includes(J))}function OO(){try{j1.debug(`[DEBUG] cleanupTerminal() called
|
4461
4461
|
`),D2.disable(),VO.write("\x1B[?25h")}catch(A){}}function cn6(A){if(A instanceof XZ)return{message:A.userMessage,suggestion:A.suggestion};if(A instanceof r1A)return{message:A.message};if(A instanceof Error){let Q=A.message.toLowerCase();if(Q.includes("401")||Q.includes("unauthorized"))return{message:hG.notLoggedIn};if(Q.includes("403")||Q.includes("forbidden"))return{message:hG.authExpired};if(Q.includes("timeout")||Q.includes("etimedout"))return{message:hG.networkTimeout};if(Q.includes("enotfound")||Q.includes("econnrefused"))return{message:hG.networkOffline};if(Q.includes("thread")&&Q.includes("not found"))return{message:"Thread not found or you don't have access."};if(Q.includes("fetch failed")||Q.includes("failed to fetch"))return{message:hG.networkOffline}}return{message:hG.internalBug}}function GS(A,Q,B){let J=process.env.AMP_DEBUG==="1"||process.argv.includes("--debug");j1.error("CLI Error",Q);let{message:D,suggestion:z}=cn6(Q);if(VO.write(A.printer.print("✖ ",{foreground:"red",style:"bold"})+D+`
|
4462
4462
|
`),z)VO.write(A.printer.print(" ",{foreground:"blue"})+z+`
|
4463
4463
|
`);let Z=!(Q instanceof XZ),G=B||pn6(Q);if(Z&&G){let K=`Use 'amp threads share${B?` ${B}`:""} --support' to share this with the Amp team.`;VO.write(A.printer.print(" ",{foreground:"yellow"})+K+`
|
@@ -4541,7 +4541,7 @@ ${B.join(`
|
|
4541
4541
|
`)}function w4A(A,Q,B,J){let D=Q.map((X)=>{let K=X.range?`(L${X.range.type==="full"?X.range.start.line:X.range.start.line})`:"",Y=X.severity||"info",q=Y==="error"?"red":Y==="warning"?"yellow":"gray",F=J&&B.includeFilePaths?cs6.relative(J,X.path):X.path,E=B.includeFilePaths?`${F}${K!==""?" ":""}${K}`:K,H=A.print(X.message,{foreground:q});return{location:E,messageFormatted:H,filePathLength:B.includeFilePaths?0:iE(E)}}),Z=Math.max(...D.map((X)=>X.filePathLength),1)+2;return D.map((X)=>{let K=" ".repeat(Math.max(0,Z-X.filePathLength));return`${X.location}${K}${X.messageFormatted}`}).join(`
|
4542
4542
|
`)}Nf();function is6(A,Q){if(A.state!=="active")return{type:"idle"};let B=dq(Q);if(B)return B;let J=[];for(let D of Q.messages)if(D.role==="user"){for(let z of D.content)if(z.type==="tool_result"&&z.run.status==="in-progress")J.push(z)}if(J.length>0){let D=J[0],z=I4(Q,D.toolUseID);if(z){let Z=J.slice(1).map((G)=>{return I4(Q,G.toolUseID)?.name||"tool"}).filter(Boolean);return Y41(z.name,J.length,Date.now(),z.input,Z.length>0?Z:void 0)}}return{type:"idle"}}class ck1{dependencies;subthreads=new Map;nextAgentNumber=1;events=new r2;constructor(A){this.dependencies=A}get events$(){return this.events}async trackSubthread(A,Q,B){if(this.subthreads.has(A))return;try{let J=await XQ.getOrCreateForThread({configService:this.dependencies.configService,threadService:this.dependencies.threadService,toolService:this.dependencies.toolService,getThreadEnvironment:CO,threadSummaryService:this.dependencies.threadSummaryService,createFileSystem:()=>iB,threadHistoryService:this.dependencies.threadHistoryService,mcpService:this.dependencies.mcpService,createFileChangeTrackerForThread:(G)=>{return eM(new FY(iB),iB,G)}},A);await J.resume();let D=this.nextAgentNumber++,z={threadID:A,worker:J,agentNumber:D,printedMessageIndexes:new Set,printedToolRuns:new Set,requestedToolConfirmations:new Set,taskDescription:Q,isCompleted:!1};if(this.subthreads.set(A,z),Q&&B)this.events.next({type:"subagent-started",subThreadID:A,agentNumber:D,taskDescription:Q,taskPrompt:B});J.status.subscribe(async(G)=>{if(!z.isCompleted){if(G.state==="active"&&G.inferenceState==="cancelled"){z.isCompleted=!0,this.events.next({type:"subagent-cancelled",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task cancelled"});return}if(G.state==="active"&&G.ephemeralError){z.isCompleted=!0,this.events.next({type:"subagent-error",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task failed",error:G.ephemeralError.message||"Unknown error occurred"});return}try{let X=await H6(this.dependencies.threadService.observe(A)),K=is6(G,X);if(this.events.next({type:"subagent-status",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Running task",agentState:K}),G.state==="active"){let Y=[];for(let q of X.messages)if(q.role==="user"){for(let F of q.content)if(F.type==="tool_result")Y.push(F)}for(let q of Y){let F=I4(X,q.toolUseID);if(F){let E=`${A}-${F.id}`;if(!z.toolStartTimes)z.toolStartTimes=new Map;if(!z.toolStartTimes.has(E))z.toolStartTimes.set(E,Date.now());let H;switch(q.run.status){case"in-progress":case"blocked-on-user":case"queued":H="running";break;case"done":H="completed";break;case"cancelled":case"rejected-by-user":case"cancellation-requested":H="cancelled";break;case"error":H="error";break}this.events.next({type:"tool-status",toolUse:F,status:H,startTime:z.toolStartTimes.get(E),subthreadID:A})}}}}catch(X){j1.error(`Failed to get thread for status update: ${A}`,X)}}}),CH(this.dependencies.threadService.observe(A)).observable.subscribe((G)=>{let X=P5(G,"assistant");if(ol(X)&&!z.isCompleted){z.isCompleted=!0,this.events.next({type:"subagent-cancelled",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task cancelled"});return}if(X?.state.type==="error"&&!z.isCompleted){z.isCompleted=!0,this.events.next({type:"subagent-error",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task failed",error:X.state.error.message||"Unknown error occurred"});return}for(let F of G.messages)if(F.role==="user"){for(let E of F.content)if(E.type==="tool_result"){let H=I4(G,E.toolUseID);if(H&&!z.printedToolRuns.has(E.toolUseID)){let w=E.run.status==="done"?"completed":E.run.status==="error"?"error":E.run.status==="cancelled"?"cancelled":void 0;if(w){z.printedToolRuns.add(E.toolUseID);let W=`${A}-${H.id}`,I=z.toolStartTimes?.get(W);if(this.events.next({type:"tool-status",toolUse:H,status:w,startTime:I,endTime:Date.now(),subthreadID:A}),z.toolStartTimes)z.toolStartTimes.delete(W)}}}}let Y=P5(G,"user")?.content.filter((F)=>F.type==="tool_result"&&F.run.status==="blocked-on-user")??[];if(Y.length>0&&!z.isCompleted){let F=[];for(let E of Y){let H=I4(G,E.toolUseID);if(H&&H.name===Z4&&E.run.status==="blocked-on-user"&&E.userInput===void 0&&!z.requestedToolConfirmations.has(E.toolUseID))F.push({useBlock:H,toAllow:E.run.toAllow}),z.requestedToolConfirmations.add(E.toolUseID)}if(F.length>0)this.events.next({type:"subthread-tool-request",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Running task",tools:F})}if(X?.state.type==="complete"&&X.state.stopReason==="end_turn"&&!z.isCompleted){z.isCompleted=!0;let F=X.content.filter((E)=>E.type==="text").map((E)=>E.text).join(`
|
4543
4543
|
|
4544
|
-
`);this.events.next({type:"subagent-finished",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task completed",result:F})}if(!z.isCompleted){let F=KS(G,z.printedMessageIndexes,z.printedToolRuns);if(F.blocks.length>0)this.events.next({type:"subthread-message",subThreadID:A,agentNumber:z.agentNumber,blocks:F.blocks})}}),j1.debug(`Started tracking subthread ${A}`)}catch(J){j1.error(`Failed to track subthread ${A}`,J)}}scanForTaskToolSubthreads(A){for(let Q of A.messages)if(Q.role==="user"){for(let B of Q.content)if(B.type==="tool_result"){let J=I4(A,B.toolUseID);if(J?.name===U5&&(B.run.status==="in-progress"||B.run.status==="done"||B.run.status==="cancelled")){let D="progress"in B.run?B.run.progress:void 0,z=wv(D);if(z)this.trackSubthread(z,J.input?.description,J.input?.prompt).catch((Z)=>{j1.error(`Failed to track Task tool subthread ${z}`,Z)})}}}}async handleToolConfirmations(A,Q){let B=this.subthreads.get(A);if(!B){j1.error(`No tracker found for subthread ${A}`);return}j1.info(`Sending tool confirmations to subthread ${A}`,{toolCount:Q.size,responses:Array.from(Q.entries()).map(([J,D])=>({id:J,accepted:D}))});for(let[J,D]of Q)j1.info("Sending tool confirmation to subthread worker",{subThreadID:A,toolUseID:J,accepted:D}),await B.worker.handle({type:"user:tool-input",toolUse:J,value:{accepted:D}})}dispose(){for(let A of this.subthreads.values())A.worker.dispose();this.subthreads.clear(),this.events.complete()}}l6();vU();Nf();BQ();Lw();P6();l6();Mb();function W4A(A){return!A.some((Q)=>Q.type==="project"||Q.type==="parent")}Uw1();import{readdir as as6}from"node:fs/promises";import{homedir as rs6}from"node:os";async function I4A(A,Q){let B=await jo(A,Q);return j1.debug("guidanceFiles",{guidanceFiles:B.map((D)=>({...D,content:`(${D.content.length} bytes)`}))}),{shouldGenerate:await ns6()&&W4A(B)}}async function ns6(){let A=process.cwd(),Q=rs6();if(A===Q)return!1;try{return(await as6(A)).length>0}catch{return!1}}async function M4A(A){await A.handle({type:"user:message",message:{content:[{type:"text",text:vD0}]}})}l6();function ip(A,Q){return(B,J)=>{let D=Q(B,J);if(J.type!=="tick")j1.debug("Transition",{name:A,before:B,event:J,after:D});return D}}ca();ak1();async function O4A({threadSyncService:A,configService:Q,threadService:B,threadHistoryService:J,mcpService:D,fileWatcher:z,fuzzyServer:Z,threadSummaryService:G,settingsStorage:X,threadStorage:K,toolService:Y,subthreadTracker:q,notificationService:F},{threadID:E,isContinued:H,ui:w}){let W=new Set,I=CH(B.observe(E)),M=new Set,N=new Map;await H6(I.observable);let V=await XQ.getOrCreateForThread({configService:Q,threadService:B,toolService:Y,getThreadEnvironment:CO,threadSummaryService:G,createFileSystem:()=>iB,threadHistoryService:J,mcpService:D,createFileChangeTrackerForThread:(v)=>{return eM(new FY(iB),iB,v)}},E);await V.resume().catch((v)=>{j1.error("Initial resume",v)});let L=V.status.pipe(L6((v)=>{return{type:"worker-state",status:v}})),T=I.observable.pipe(L6((v)=>{return{type:"thread-state",thread:v}})),R=new r2,j=new r2,P=w(DA.from(j)).pipe(L6((v)=>({type:"ui-input",input:v}))),$=q.events$.pipe(L6((v)=>v)),S=eR.pipe(L6((v)=>({type:"jetbrains-status",jetbrainsState:v}))),x=MZ(L,T,MZ(R,P,$,S)),u=new r2;async function _(){j.next({type:"state",state:{type:"shutting-down"}}),await A.sync().catch((v)=>{j1.error("Thread sync error",v,{threadID:E})}),q.dispose(),V.dispose(),A.dispose(),B.dispose(),await D.dispose(),z[Symbol.dispose](),Z.dispose(),F.unsubscribe(),j.complete(),u.next()}let f=x.pipe(NZ(()=>{_()})).pipe(vl(ip("threadSession",function(v,y){function k(e){j1.info(`Processing user message: ${e.slice(0,50)}${e.length>50?"...":""}`);let n="tokenUsage"in v?v.tokenUsage:void 0;if(n&&n.used/n.maxAvailable>U41.CRITICAL)return j1.info("Blocking message at worker boundary - critical token usage"),j.next({type:"confirm",confirmation:{type:"compaction",severity:"critical"}}),{type:"confirming-compaction",severity:"critical",tokenUsage:v.tokenUsage,compactionPromptState:"final",updateState:"updateState"in v?v.updateState:"none",toolConfirmationStatus:"toolConfirmationStatus"in v?v.toolConfirmationStatus:new Map,currentAssistantMessageIndex:("currentAssistantMessageIndex"in v?v.currentAssistantMessageIndex:null)??null,hasBeenIdle:"hasBeenIdle"in v?v.hasBeenIdle:!1,threadTitle:"threadTitle"in v?v.threadTitle:null,confirmationQueue:"confirmationQueue"in v?v.confirmationQueue:[]};V.handle({type:"user:message",message:{content:[{type:"text",text:e}]}}).then(()=>{A.sync().catch((o)=>{j1.error("Thread sync after submit error",o,{threadID:E})})}).catch((o)=>{j1.error("Handle user message failed",o)}),j.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}});let z1=I.value.last;if(z1){let o=dq(z1);if(o)j.next({type:"state",state:o})}return{...v,type:"awaiting-agent",displayedError:null}}async function m(){j.next({type:"state",state:{type:"compacting"}});let e=await G.summarizeThread(E);await V.handle({type:"summary:created",summary:{type:"internal",summary:e.summary}})}function l(){if(v.type==="awaiting-user-message")return j1.debug("already accepting, ignoring event",{state:v,event:y}),v;let e="tokenUsage"in v?v.tokenUsage:void 0;if(A.sync().catch((n)=>{j1.error("Thread sync error",n,{threadID:E})}),e&&v.type!=="confirming-compaction"&&v.type!=="compacting"){let n=e.used/e.maxAvailable,z1=void 0,o=v.compactionPromptState;if(n>U41.CRITICAL)z1="critical",o="final";else if(n>U41.WARNING&&v.compactionPromptState==="none")z1="moderate",o="first";else if(n>U41.SEVERE&&v.compactionPromptState==="first")z1="severe",o="final";if(z1)return j.next({type:"confirm",confirmation:{type:"compaction",severity:z1}}),{type:"confirming-compaction",severity:z1,tokenUsage:v.tokenUsage,compactionPromptState:o,updateState:v.updateState,toolConfirmationStatus:v.toolConfirmationStatus,currentAssistantMessageIndex:v.currentAssistantMessageIndex,hasBeenIdle:v.hasBeenIdle,threadTitle:v.threadTitle,confirmationQueue:v.confirmationQueue}}if(j.next({type:"accept-message",initial:!v.hasBeenIdle&&!H}),v.type==="awaiting-agent")v.cancelledWithMessage=void 0;if(e)j.next({type:"token-usage",tokenUsage:e});return{...v,type:"awaiting-user-message",hasBeenIdle:!0,tokenUsage:e??null}}async function d(e){if(e.length>0){j1.info(`Updating allowlist with ${e.length} entries`,{entries:e});try{if((await X.get("experimental.commandApproval.enabled","global")??!0)===!0){let o=[...await X.get("commandApproval.allow","global")??[],...e];await X.set("commandApproval.allow",o,"global"),j1.info("Updated experimental command approval allow list",{newEntries:e,totalEntries:o.length})}else{let o=[...await X.get("commands.allowlist","global")??[],...e];await X.set("commands.allowlist",o,"global"),j1.info("Updated regular commands allowlist",{newEntries:e,totalEntries:o.length})}}catch(n){j1.error("Failed to update allowlist",n)}}}if(v.type==="closing")return v;if(y.type==="thread-state"){let e=y.thread.title||null;if(v.threadTitle!==e&&e!==null)j.next({type:"thread-title",title:e});if(q.scanForTaskToolSubthreads(y.thread),H&&W.size===0&&y.thread.messages.length>0){let o=KS(y.thread,W,M);if(o.blocks.length>0)j.next({type:"messages",blocks:o.blocks})}let n=v.tokenUsage,z1=gR(y.thread);if(z1)n={used:z1.totalInputTokens,maxAvailable:z1.maxInputTokens},j.next({type:"token-usage",tokenUsage:n});if(v.type==="awaiting-user-confirmation")if(y.thread.messages.at(-1)?.content.some((o)=>o.type==="tool_result"&&(o.run.status==="in-progress"||o.run.status==="done"))){let o=dq(y.thread);if(o)j.next({type:"state",state:o});else j.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}});return{...v,type:"awaiting-agent",displayedError:null,tokenUsage:n}}else{let o=P5(y.thread,"user")?.content.filter((J1)=>J1.type==="tool_result"&&J1.run.status==="blocked-on-user")??[];if(o.length>0){j1.info(`Found ${o.length} blocked tools in awaiting-user-confirmation`,{toolIDs:o.map((w1)=>w1.toolUseID)});let J1=P5(y.thread,"assistant"),D1=new Set(J1?.content.filter((w1)=>w1.type==="tool_use").map((w1)=>w1.id)??[]);for(let w1 of o){if(!D1.has(w1.toolUseID))continue;let a=I4(y.thread,w1.toolUseID);if(a&&a.name===Z4)return v.toolConfirmationStatus.set(w1.toolUseID,"awaiting"),j1.info("Added blocked tool to confirmation tracking",{toolUseID:w1.toolUseID}),j.next({type:"tool-status",toolUse:a,status:"blocked-on-user",startTime:Date.now()}),j.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:a,toAllow:w1.run.status==="blocked-on-user"?w1.run.toAllow:void 0}]}}),{...v,type:"collecting-tool-confirmations",currentToolID:w1.toolUseID,tokenUsage:n}}}return{...v,type:"awaiting-user-confirmation",tokenUsage:n}}if(v.type==="awaiting-agent"||v.type==="compacting"){let o=y.thread.messages.at(-1),J1=KS(y.thread,W,M),D1=J1.blocks;if(o?.role==="assistant"&&o.state.type==="streaming"&&J1.blocks.length===0){D1=[{type:"message",data:[y.thread.messages.length-1,o]}];let Y1=dq(y.thread);if(Y1)j.next({type:"state",state:Y1})}if(D1.length>0){for(let X1 of D1)if(X1.type==="toolResult"){let[Y1,L1]=X1.data,N1=L1.run.status==="done"?"completed":L1.run.status==="error"?"error":L1.run.status==="cancelled"?"cancelled":"running";if(N1!=="running")j.next({type:"tool-status",toolUse:Y1,status:N1,startTime:N.get(Y1.id),endTime:Date.now()}),N.delete(Y1.id)}j.next({type:"messages",blocks:D1})}if(y.thread.messages.at(-1)?.content.some((X1)=>X1.type==="summary"))return{...l(),tokenUsage:null,compactionPromptState:"none"};if(o?.role==="assistant"&&o.state.type==="complete"&&o.state.stopReason==="end_turn"){j.next({type:"state",state:{type:"idle"}});let X1=l();return{...X1,tokenUsage:n??X1.tokenUsage}}let w1=P5(y.thread,"assistant"),a=w1?y.thread.messages.indexOf(w1):null;if(a!==null&&a!==v.currentAssistantMessageIndex)j1.info("New assistant message detected, clearing tool confirmations",{oldIndex:v.currentAssistantMessageIndex,newIndex:a,previousToolCount:v.toolConfirmationStatus.size}),v.toolConfirmationStatus.clear(),v.currentAssistantMessageIndex=a;let r=P5(y.thread,"user")?.content.filter((X1)=>X1.type==="tool_result"&&X1.run.status==="blocked-on-user")??[];if(r.length>0)j1.info(`Found ${r.length} blocked tools`,{toolIDs:r.map((X1)=>X1.toolUseID),currentState:v.type});let s=new Set(w1?.content.filter((X1)=>X1.type==="tool_use").map((X1)=>X1.id)??[]),Z1=!1;for(let X1 of r){if(!s.has(X1.toolUseID))continue;let Y1=I4(y.thread,X1.toolUseID),L1=v.toolConfirmationStatus.get(X1.toolUseID);if(Y1&&Y1.name===Z4&&X1.run.status==="blocked-on-user"&&L1===void 0){if(v.toolConfirmationStatus.set(X1.toolUseID,"awaiting"),Z1=!0,j1.info("Added new tool to confirmation tracking",{toolUseID:X1.toolUseID,toolName:Y1.name}),!N.has(Y1.id))N.set(Y1.id,Date.now());j.next({type:"tool-status",toolUse:Y1,status:"blocked-on-user",startTime:N.get(Y1.id)})}}let G1=Array.from(v.toolConfirmationStatus.entries()).filter(([X1,Y1])=>Y1==="awaiting");if(G1.length>0){let[X1]=G1[0],Y1=r.find((N1)=>N1.toolUseID===X1),L1=Y1?I4(y.thread,Y1.toolUseID):null;if(Y1&&L1)return j1.info(`Starting tool confirmation process for ${G1.length} tools (hasNewTools: ${Z1})`,{firstToolID:X1,toolName:L1.name,currentState:v.type}),j.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:L1,toAllow:Y1.run.status==="blocked-on-user"?Y1.run.toAllow:void 0}]}}),{...v,type:"collecting-tool-confirmations",currentToolID:X1,tokenUsage:n}}}}else if(y.type==="worker-state"){if(v.type==="awaiting-user-confirmation"&&y.status.state==="active"&&y.status.ephemeralError)return v;if(v.type==="collecting-tool-confirmations")return j1.info("Already collecting tool confirmations, ignoring worker-state event"),v;let e=I.value.last?.messages.at(-1),n=v.tokenUsage;if(y.status.state==="active"){let z1=I.value.last;if(z1){let o=gR(z1);if(o)n={used:o.totalInputTokens,maxAvailable:o.maxInputTokens},j.next({type:"token-usage",tokenUsage:n})}}if(v.type==="confirming-compaction"||v.type==="compacting")return{...v,tokenUsage:n};switch(y.status.state){case"initial":if(v.type==="initializing")return v;return l();case"active":if(y.status.ephemeralError)if(y.status.ephemeralError.message.includes(G41)){if(v.type==="out-of-credits")return v;return j.next({type:"confirm",confirmation:{type:"out-of-credits"}}),{...v,type:"out-of-credits",tokenUsage:n}}else if(TO(y.status.ephemeralError))return j1.info("Context limit error, triggering compaction",{error:y.status.ephemeralError,tokenUsage:n}),j.next({type:"confirm",confirmation:{type:"compaction",severity:"critical"}}),{type:"confirming-compaction",severity:"critical",tokenUsage:v.tokenUsage,compactionPromptState:v.compactionPromptState,updateState:v.updateState,toolConfirmationStatus:v.toolConfirmationStatus,currentAssistantMessageIndex:v.currentAssistantMessageIndex,hasBeenIdle:v.hasBeenIdle,threadTitle:v.threadTitle,confirmationQueue:v.confirmationQueue};else if(y.status.ephemeralError.message.includes("401 unauthorized"))return j.next({type:"error",error:{type:"unauthorized"},retryable:!1}),f.unsubscribe(),{...v,type:"closing"};else{let z1=y.status.ephemeralError.message;if(j1.error("Ephemeral error",{error:z1}),v.type==="awaiting-agent"&&v.displayedError!==z1)return j.next({type:"error",error:{type:"other",error:z1},retryable:!1}),{...v,type:"awaiting-user-confirmation",tokenUsage:n};else return v}switch(y.status.inferenceState){case"running":{let z1=I.value.last;if(z1){let o=dq(z1);if(o)j.next({type:"state",state:o});else j.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}})}else j.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}})}if(v.type==="initializing")return{...v,tokenUsage:n};return{...v,type:"awaiting-agent",displayedError:null,tokenUsage:n};case"cancelled":if(v.type==="initializing")return{...v,tokenUsage:n};if(j.next({type:"cancelled"}),j.next({type:"state",state:{type:"idle"}}),v.type==="awaiting-agent"&&v.cancelledWithMessage)return v.cancelledWithMessage=void 0,{...v,tokenUsage:n};else return{...l(),tokenUsage:n};case"idle":if(v.type==="initializing")return{...v,tokenUsage:n};if(e?.content.some((z1)=>z1.type==="tool_result"&&z1.run.status==="blocked-on-user"))return{...v,type:"awaiting-user-confirmation",tokenUsage:n};else if(I.value.last?.messages.some((z1)=>z1.role==="user"&&z1.content.some((o)=>o.type==="tool_result"&&o.run.status==="in-progress"))??!1){let z1=I.value.last?.messages.flatMap((J1)=>J1.content).filter((J1)=>J1.type==="tool_result"&&("run"in J1)&&("status"in J1.run)&&J1.run.status==="in-progress"),o=z1?.length??0;if(o>0){for(let a of z1||[]){let r=I4(I.value.last,a.toolUseID);if(r){if(!N.has(a.toolUseID))N.set(a.toolUseID,Date.now());j.next({type:"tool-status",toolUse:r,status:"running",startTime:N.get(a.toolUseID)})}}let J1=o===1&&z1?.[0]&&I.value.last?I4(I.value.last,z1[0].toolUseID):void 0,D1=o>1&&z1&&I.value.last?z1.slice(1,Math.min(4,z1.length)).map((a)=>{return I4(I.value.last,a.toolUseID)?.name||"tool"}).filter(Boolean):void 0,w1=J1?Y41(J1.name,o,Date.now(),J1.input,D1):{type:"running-tools",toolCount:o,startTime:Date.now(),queuedTools:D1};j.next({type:"state",state:w1})}else{let J1=I.value.last;if(J1){let D1=dq(J1);if(D1)j.next({type:"state",state:D1});else j.next({type:"state",state:{type:"idle"}})}else j.next({type:"state",state:{type:"idle"}})}return{...v,type:"awaiting-agent",displayedError:null,tokenUsage:n}}else if(e?.role==="assistant"&&e.state.type==="complete"&&e.state.stopReason==="end_turn")return j.next({type:"state",state:{type:"idle"}}),{...l(),tokenUsage:n}}}}else if(y.type==="batch-tool-confirmations-complete")if(v.type==="collecting-tool-confirmations"&&v.subthreadContext)return j1.info("Sending batch tool confirmations to subthread",{subThreadID:v.subthreadContext.subThreadID,toolCount:y.responses.size,responses:Array.from(y.responses.entries()).map(([e,n])=>({id:e,accepted:n}))}),q.handleToolConfirmations(v.subthreadContext.subThreadID,y.responses).catch((e)=>{j1.error("Failed to send subthread tool confirmations",e)}),j1.info("Transitioning to awaiting-agent after sending subthread confirmations"),j.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...v,type:"awaiting-agent",displayedError:null};else return j1.info("Sending batch tool confirmations to worker",{toolCount:y.responses.size,responses:Array.from(y.responses.entries()).map(([e,n])=>({id:e,accepted:n}))}),y.responses.forEach((e,n)=>{j1.info("Sending individual tool confirmation to worker",{toolUseID:n,accepted:e}),V.handle({type:"user:tool-input",toolUse:n,value:{accepted:e}}),v.toolConfirmationStatus.set(n,"sent")}),j1.info("Transitioning to awaiting-agent after sending batch confirmations"),j.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...v,type:"awaiting-agent",displayedError:null};else if(y.type==="summary:created"){let e=I.value.last;if(e){let n=gR(e);if(n){let z1={used:n.totalInputTokens,maxAvailable:n.maxInputTokens},o=v.type==="compacting"?v.preCompactionTokenUsage:null;if(o){let J1=o.used,D1=z1.used,w1=J1-D1,a=J1>0?w1/J1*100:0;if(w1<=0)j1.warn("Compaction did not reduce token usage",{preUsed:J1,postUsed:D1,reduction:w1,threadID:E});else if(a<10)j1.warn("Compaction reduction was minimal",{preUsed:J1,postUsed:D1,reduction:w1,reductionPercent:a.toFixed(1),threadID:E});else j1.info("Compaction successful",{preUsed:J1,postUsed:D1,reduction:w1,reductionPercent:a.toFixed(1),threadID:E})}else j1.warn("No pre-compaction token usage available for validation",{threadID:E});j.next({type:"token-usage",tokenUsage:z1})}}return l()}else if(y.type==="compaction-result")if(y.result)return l();else return j.next({type:"error",error:{type:"other",error:"Compaction failed"},retryable:!1}),j.next({type:"confirm",confirmation:{type:"compaction",severity:y.severity}}),{...v,type:"confirming-compaction",severity:y.severity};else if(y.type==="update-start-updating")return{...v,updateState:"updating"};else if(y.type==="update-result")if(y.success)return setTimeout(()=>{R.next({type:"clear-update-status"})},1e4),{...v,updateState:"success"};else return setTimeout(()=>{R.next({type:"clear-update-status"})},1e4),{...v,updateState:"error"};else if(y.type==="clear-update-status")return{...v,updateState:"none"};else if(y.type==="agent-file-check-complete"){if(v.type==="checking-agent-file")if(y.shouldGenerate)return j.next({type:"confirm",confirmation:{type:"agent-file-creation"}}),{...v,type:"confirming-agent-file-creation"};else return l()}else if(y.type==="tool-status")return j.next({type:"tool-status",toolUse:y.toolUse,status:y.status,startTime:y.startTime,endTime:y.endTime,subthreadID:y.subthreadID}),v;else if(y.type==="subagent-started"){if(v.type==="initializing")return v;return j.next({type:"subagent-started",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}),v}else if(y.type==="subagent-status")return j.next({type:"subagent-status",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,agentState:y.agentState}),v;else if(y.type==="subthread-message"){if(y.blocks.length>0)j.next({type:"subthread-messages",subThreadID:y.subThreadID,blocks:y.blocks});return v}else if(y.type==="historic-thread"){if(v.type!=="initializing")throw new Error(`Historic thread event received in unexpected state: ${v.type}`);if(H&&W.size===0&&y.messages.length>0){let n=KS({id:E,messages:y.messages},W,M);if(n.blocks.length>0)j.next({type:"messages",blocks:n.blocks})}let e={...v,hasThread:!0};if(e.hasUI&&e.hasThread)return l();return e}else if(y.type==="subagent-finished")return j.next({type:"subagent-finished",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,result:y.result}),v;else if(y.type==="subagent-cancelled")return j.next({type:"subagent-cancelled",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}),v;else if(y.type==="subagent-error")return j.next({type:"subagent-error",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,error:y.error}),v;else if(y.type==="subthread-tool-request"){if(y.tools.length>0){if(j1.info(`Received tool confirmation request from subthread ${y.subThreadID}`,{subThreadID:y.subThreadID,agentNumber:y.agentNumber,toolCount:y.tools.length,tools:y.tools.map((e)=>e.useBlock.name),queueLength:v.confirmationQueue.length}),v.type==="collecting-tool-confirmations"||v.confirmationQueue.length>0)return j1.info("Queueing tool confirmation request",{subThreadID:y.subThreadID,agentNumber:y.agentNumber,currentQueueLength:v.confirmationQueue.length}),{...v,confirmationQueue:[...v.confirmationQueue,{type:"subthread-tool-request",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,tools:y.tools}]};return j.next({type:"confirm",confirmation:{type:"tool-use",tools:y.tools,subthreadID:y.subThreadID,agentNumber:y.agentNumber}}),{...v,type:"collecting-tool-confirmations",currentToolID:y.tools[0]?.useBlock.id||null,subthreadContext:{subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}}}return v}else if(y.type==="jetbrains-status")return j.next({type:"jetbrains-status",jetbrainsState:y.jetbrainsState}),v;else if(y.input.type==="initialized")if(v.type==="initializing"){let e={...v,hasUI:!0};if(e.hasUI&&e.hasThread)if(I.value.last?.messages.length===0)return j1.info("Checking agent file status"),I4A({filesystem:iB,configService:Q,threadService:B},I.value.last).then((z1)=>{R.next({type:"agent-file-check-complete",shouldGenerate:z1.shouldGenerate})}).catch((z1)=>{j1.error("Agent file check failed",z1),R.next({type:"agent-file-check-complete",shouldGenerate:!1})}),{...v,type:"checking-agent-file"};else return l();return e}else throw new Error(`UI initialized event received in unexpected state: ${v.type}`);else if(y.input.type==="message"){let{message:e}=y.input;return k(e)}else if(y.input.type==="interrupt")if(v.type==="awaiting-agent"){if(j.next({type:"cancelled"}),XQ.cancel(E),y.input.message)v.cancelledWithMessage=y.input.message;return v}else return v;else if(y.input.type==="exit")return f.unsubscribe(),{...v,type:"closing"};else if(y.input.type==="retry")return XQ.retry(E),{...v,type:"awaiting-agent",displayedError:null};else{if(v.type==="out-of-credits"&&y.input.confirmation.type==="out-of-credits")XQ.retry(E);else if(v.type==="confirming-compaction"&&y.input.confirmation.type==="compaction")if(y.input.allow){let e="tokenUsage"in v?v.tokenUsage:void 0;return j.next({type:"state",state:{type:"compacting"}}),m().then(()=>{j1.info("Compaction completed successfully",{preCompactionTokenUsage:e}),R.next({type:"compaction-result",result:!0,severity:v.severity})}).catch((n)=>{j1.error("Compaction failed",n),R.next({type:"compaction-result",result:!1,severity:v.severity})}),{...v,type:"compacting",preCompactionTokenUsage:e}}else return j1.info("Compaction cancelled"),l();else if(v.type==="collecting-tool-confirmations"&&y.input.confirmation.type==="tool-use"){if(!v.currentToolID)return j1.error("No current tool ID in collecting-tool-confirmations state"),v;if(j1.info(`Received confirmation for tool: ${y.input.allow?"accepted":"rejected"}`,{toolUseID:v.currentToolID,subthreadID:y.input.confirmation.subthreadID}),y.input.confirmation.subthreadID&&v.subthreadContext){j1.info("Sending tool confirmation to subthread",{subThreadID:v.subthreadContext.subThreadID,toolUseID:v.currentToolID,accepted:y.input.allow});let o=new Map([[v.currentToolID,y.input.allow]]);if(q.handleToolConfirmations(v.subthreadContext.subThreadID,o).catch((J1)=>{j1.error("Failed to send subthread tool confirmation",J1)}),v.confirmationQueue.length>0){let J1=v.confirmationQueue[0],D1=v.confirmationQueue.slice(1);return j1.info("Processing next queued confirmation request",{subThreadID:J1.subThreadID,agentNumber:J1.agentNumber,remainingQueueLength:D1.length}),j.next({type:"confirm",confirmation:{type:"tool-use",tools:J1.tools,subthreadID:J1.subThreadID,agentNumber:J1.agentNumber}}),{...v,type:"collecting-tool-confirmations",currentToolID:J1.tools[0]?.useBlock.id||null,subthreadContext:{subThreadID:J1.subThreadID,agentNumber:J1.agentNumber,taskDescription:J1.taskDescription},confirmationQueue:D1}}return j1.info("Transitioning to awaiting-agent after sending subthread confirmation"),j.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...v,type:"awaiting-agent",displayedError:null}}v.toolConfirmationStatus.set(v.currentToolID,y.input.allow?"confirmed":"rejected"),d(y.input.confirmation.addToAllowList);let e=Array.from(v.toolConfirmationStatus.entries()).filter(([o,J1])=>J1==="awaiting");if(e.length>0){let[o]=e[0];if(!I.value.isSet)return j1.error("Thread not available for finding next tool"),v;let w1=(I.value.last.messages.at(-1)?.content.filter((r)=>r.type==="tool_result"&&r.run.status==="blocked-on-user")??[]).find((r)=>r.toolUseID===o),a=w1?I4(I.value.last,w1.toolUseID):null;if(w1&&a)return j1.info(`Asking confirmation for next tool: ${a.name}`,{toolUseID:o,remainingCount:e.length}),j.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:a,toAllow:w1.run.status==="blocked-on-user"?w1.run.toAllow:void 0}]}}),{...v,currentToolID:o}}let n=Array.from(v.toolConfirmationStatus.entries()).filter(([o,J1])=>J1==="confirmed"||J1==="rejected");j1.info("All tool confirmations collected, sending batch response",{totalTools:n.length,responses:n.map(([o,J1])=>({id:o,accepted:J1==="confirmed"}))});let z1=new Map(n.map(([o,J1])=>[o,J1==="confirmed"]));return R.next({type:"batch-tool-confirmations-complete",responses:z1}),j.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...v,type:"awaiting-agent",displayedError:null}}else if(y.input.confirmation.type==="agent-file-creation"&&v.type==="confirming-agent-file-creation")if(y.input.allow)return M4A(V).catch((e)=>{j1.error("Agent file generation failed",e)}),j.next({type:"state",state:{type:"generating-agent-file"}}),{...v,type:"awaiting-agent",displayedError:null};else return l();return v}return v}),{type:"initializing",hasUI:!1,hasThread:!1,tokenUsage:null,compactionPromptState:"none",updateState:"none",toolConfirmationStatus:new Map,currentAssistantMessageIndex:null,hasBeenIdle:!1,threadTitle:null,confirmationQueue:[]})).subscribe({error:(v)=>{j1.error("Error in state machine",v),_()}});if(H)K.get(E).then((v)=>{if(v)j1.info("Sending historic messages for initialization",{threadId:E,messageCount:v.messages.length}),R.next({type:"historic-thread",messages:v.messages});else j1.info("Sending empty messages for continued thread without stored messages",{threadId:E}),R.next({type:"historic-thread",messages:[]})});else j1.info("Sending empty messages for new thread initialization",{threadId:E}),R.next({type:"historic-thread",messages:[]});return Qo6(R,Q).catch((v)=>{j1.debug("Update check startup failed",v)}),await H6(u)}async function Qo6(A,Q){if(await Q.get("updates.autoUpdate.enabled")===!1)return;try{let J=await p3("0.0.1753196536-g67ace8");if(J.hasUpdate&&J.latestVersion)A.next({type:"update-start-updating"}),setTimeout(async()=>{try{await ik1(J.latestVersion),A.next({type:"update-result",success:!0,version:J.latestVersion})}catch(D){j1.info("Update failed",D),A.next({type:"update-result",success:!1,version:J.latestVersion})}},100);else j1.info("No update available")}catch(J){j1.debug("Update check failed",J)}}var U41={WARNING:0.8,SEVERE:0.9,CRITICAL:0.98};import{Stream as fe6}from"node:stream";import A51 from"node:process";var j7A=hA(O8(),1);import ke6 from"node:process";function y4A(A,Q,{signal:B,edges:J}={}){let D=void 0,z=null,Z=J!=null&&J.includes("leading"),G=J==null||J.includes("trailing"),X=()=>{if(z!==null)A.apply(D,z),D=void 0,z=null},K=()=>{if(G)X();E()},Y=null,q=()=>{if(Y!=null)clearTimeout(Y);Y=setTimeout(()=>{Y=null,K()},Q)},F=()=>{if(Y!==null)clearTimeout(Y),Y=null},E=()=>{F(),D=void 0,z=null},H=()=>{F(),X()},w=function(...W){if(B?.aborted)return;D=this,z=W;let I=Y==null;if(q(),Z&&I)X()};return w.schedule=q,w.cancel=E,w.flush=H,B?.addEventListener("abort",E,{once:!0}),w}function b4A(A,Q=0,B={}){if(typeof B!=="object")B={};let{signal:J,leading:D=!1,trailing:z=!0,maxWait:Z}=B,G=Array(2);if(D)G[0]="leading";if(z)G[1]="trailing";let X=void 0,K=null,Y=y4A(function(...E){X=A.apply(this,E),K=null},Q,{signal:J,edges:G}),q=function(...E){if(Z!=null){if(K===null)K=Date.now();if(Date.now()-K>=Z)return X=A.apply(this,E),K=Date.now(),Y.cancel(),Y.schedule(),X}return Y.apply(this,E),X},F=()=>{return Y.flush(),X};return q.cancel=Y.cancel,q.flush=F,q}function E41(A,Q=0,B={}){if(typeof B!=="object")B={};let{leading:J=!0,trailing:D=!0,signal:z}=B;return b4A(A,Q,{leading:J,trailing:D,signal:z,maxWait:Q})}import{env as ap}from"node:process";var Jt6=ap.CI!=="0"&&ap.CI!=="false"&&(("CI"in ap)||("CONTINUOUS_INTEGRATION"in ap)||Object.keys(ap).some((A)=>A.startsWith("CI_"))),PO=Jt6;var Dt6=(A)=>{let Q=new Set;do for(let B of Reflect.ownKeys(A))Q.add([A,B]);while((A=Reflect.getPrototypeOf(A))&&A!==Object.prototype);return Q};function Af1(A,{include:Q,exclude:B}={}){let J=(D)=>{let z=(Z)=>typeof Z==="string"?D===Z:Z.test(D);if(Q)return Q.some(z);if(B)return!B.some(z);return!0};for(let[D,z]of Dt6(A.constructor.prototype)){if(z==="constructor"||!J(z))continue;let Z=Reflect.getOwnPropertyDescriptor(D,z);if(Z&&typeof Z.value==="function")A[z]=A[z].bind(A)}return A}var P7A=hA(Jf1(),1);import{PassThrough as p4A}from"node:stream";var c4A=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],Df1={},zt6=(A)=>{let Q=new p4A,B=new p4A;Q.write=(D)=>{A("stdout",D)},B.write=(D)=>{A("stderr",D)};let J=new console.Console(Q,B);for(let D of c4A)Df1[D]=console[D],console[D]=J[D];return()=>{for(let D of c4A)console[D]=Df1[D];Df1={}}},l4A=zt6;var zf1=32;var Zf1=0,M41=0;var Zt6=(()=>{var A=import.meta.url;return function(Q){Q=Q||{};var B;B||(B=typeof Q!=="undefined"?Q:{});var J,D;B.ready=new Promise(function(q1,$1){J=q1,D=$1});var z=Object.assign({},B),Z="";typeof document!="undefined"&&document.currentScript&&(Z=document.currentScript.src),A&&(Z=A),Z.indexOf("blob:")!==0?Z=Z.substr(0,Z.replace(/[?#].*/,"").lastIndexOf("/")+1):Z="";var G=B.print||console.log.bind(console),X=B.printErr||console.warn.bind(console);Object.assign(B,z),z=null;var K;B.wasmBinary&&(K=B.wasmBinary);var Y=B.noExitRuntime||!0;typeof WebAssembly!="object"&&v("no native wasm support detected");var q,F=!1;function E(q1,$1,W0){W0=$1+W0;for(var N0="";!($1>=W0);){var v0=q1[$1++];if(!v0)break;if(v0&128){var s0=q1[$1++]&63;if((v0&224)==192)N0+=String.fromCharCode((v0&31)<<6|s0);else{var FA=q1[$1++]&63;v0=(v0&240)==224?(v0&15)<<12|s0<<6|FA:(v0&7)<<18|s0<<12|FA<<6|q1[$1++]&63,65536>v0?N0+=String.fromCharCode(v0):(v0-=65536,N0+=String.fromCharCode(55296|v0>>10,56320|v0&1023))}}else N0+=String.fromCharCode(v0)}return N0}var H,w,W,I,M,N,V,L,T;function R(){var q1=q.buffer;H=q1,B.HEAP8=w=new Int8Array(q1),B.HEAP16=I=new Int16Array(q1),B.HEAP32=N=new Int32Array(q1),B.HEAPU8=W=new Uint8Array(q1),B.HEAPU16=M=new Uint16Array(q1),B.HEAPU32=V=new Uint32Array(q1),B.HEAPF32=L=new Float32Array(q1),B.HEAPF64=T=new Float64Array(q1)}var j,P=[],$=[],S=[];function x(){var q1=B.preRun.shift();P.unshift(q1)}var u=0,_=null,f=null;function v(q1){if(B.onAbort)B.onAbort(q1);throw q1="Aborted("+q1+")",X(q1),F=!0,q1=new WebAssembly.RuntimeError(q1+". Build with -sASSERTIONS for more info."),D(q1),q1}function y(q1){return q1.startsWith("data:application/octet-stream;base64,")}var k="data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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";if(!y(k)){var m=k;k=B.locateFile?B.locateFile(m,Z):Z+m}function l(){var q1=k;try{if(q1==k&&K)return new Uint8Array(K);if(y(q1))try{var $1=dA(q1.slice(37)),W0=new Uint8Array($1.length);for(q1=0;q1<$1.length;++q1)W0[q1]=$1.charCodeAt(q1);var N0=W0}catch(s0){throw Error("Converting base64 string to bytes failed.")}else N0=void 0;var v0=N0;if(v0)return v0;throw"both async and sync fetching of the wasm failed"}catch(s0){v(s0)}}function d(){return K||typeof fetch!="function"?Promise.resolve().then(function(){return l()}):fetch(k,{credentials:"same-origin"}).then(function(q1){if(!q1.ok)throw"failed to load wasm binary file at '"+k+"'";return q1.arrayBuffer()}).catch(function(){return l()})}function e(q1){for(;0<q1.length;)q1.shift()(B)}function n(q1){if(q1===void 0)return"_unknown";q1=q1.replace(/[^a-zA-Z0-9_]/g,"$");var $1=q1.charCodeAt(0);return 48<=$1&&57>=$1?"_"+q1:q1}function z1(q1,$1){return q1=n(q1),function(){return $1.apply(this,arguments)}}var o=[{},{value:void 0},{value:null},{value:!0},{value:!1}],J1=[];function D1(q1){var $1=Error,W0=z1(q1,function(N0){this.name=q1,this.message=N0,N0=Error(N0).stack,N0!==void 0&&(this.stack=this.toString()+`
|
4544
|
+
`);this.events.next({type:"subagent-finished",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task completed",result:F})}if(!z.isCompleted){let F=KS(G,z.printedMessageIndexes,z.printedToolRuns);if(F.blocks.length>0)this.events.next({type:"subthread-message",subThreadID:A,agentNumber:z.agentNumber,blocks:F.blocks})}}),j1.debug(`Started tracking subthread ${A}`)}catch(J){j1.error(`Failed to track subthread ${A}`,J)}}scanForTaskToolSubthreads(A){for(let Q of A.messages)if(Q.role==="user"){for(let B of Q.content)if(B.type==="tool_result"){let J=I4(A,B.toolUseID);if(J?.name===U5&&(B.run.status==="in-progress"||B.run.status==="done"||B.run.status==="cancelled")){let D="progress"in B.run?B.run.progress:void 0,z=wv(D);if(z)this.trackSubthread(z,J.input?.description,J.input?.prompt).catch((Z)=>{j1.error(`Failed to track Task tool subthread ${z}`,Z)})}}}}async handleToolConfirmations(A,Q){let B=this.subthreads.get(A);if(!B){j1.error(`No tracker found for subthread ${A}`);return}j1.info(`Sending tool confirmations to subthread ${A}`,{toolCount:Q.size,responses:Array.from(Q.entries()).map(([J,D])=>({id:J,accepted:D}))});for(let[J,D]of Q)j1.info("Sending tool confirmation to subthread worker",{subThreadID:A,toolUseID:J,accepted:D}),await B.worker.handle({type:"user:tool-input",toolUse:J,value:{accepted:D}})}dispose(){for(let A of this.subthreads.values())A.worker.dispose();this.subthreads.clear(),this.events.complete()}}l6();vU();Nf();BQ();Lw();P6();l6();Mb();function W4A(A){return!A.some((Q)=>Q.type==="project"||Q.type==="parent")}Uw1();import{readdir as as6}from"node:fs/promises";import{homedir as rs6}from"node:os";async function I4A(A,Q){let B=await jo(A,Q);return j1.debug("guidanceFiles",{guidanceFiles:B.map((D)=>({...D,content:`(${D.content.length} bytes)`}))}),{shouldGenerate:await ns6()&&W4A(B)}}async function ns6(){let A=process.cwd(),Q=rs6();if(A===Q)return!1;try{return(await as6(A)).length>0}catch{return!1}}async function M4A(A){await A.handle({type:"user:message",message:{content:[{type:"text",text:vD0}]}})}l6();function ip(A,Q){return(B,J)=>{let D=Q(B,J);if(J.type!=="tick")j1.debug("Transition",{name:A,before:B,event:J,after:D});return D}}ca();ak1();async function O4A({threadSyncService:A,configService:Q,threadService:B,threadHistoryService:J,mcpService:D,fileWatcher:z,fuzzyServer:Z,threadSummaryService:G,settingsStorage:X,threadStorage:K,toolService:Y,subthreadTracker:q,notificationService:F},{threadID:E,isContinued:H,ui:w}){let W=new Set,I=CH(B.observe(E)),M=new Set,N=new Map;await H6(I.observable);let V=await XQ.getOrCreateForThread({configService:Q,threadService:B,toolService:Y,getThreadEnvironment:CO,threadSummaryService:G,createFileSystem:()=>iB,threadHistoryService:J,mcpService:D,createFileChangeTrackerForThread:(v)=>{return eM(new FY(iB),iB,v)}},E);await V.resume().catch((v)=>{j1.error("Initial resume",v)});let L=V.status.pipe(L6((v)=>{return{type:"worker-state",status:v}})),T=I.observable.pipe(L6((v)=>{return{type:"thread-state",thread:v}})),R=new r2,j=new r2,P=w(DA.from(j)).pipe(L6((v)=>({type:"ui-input",input:v}))),$=q.events$.pipe(L6((v)=>v)),S=eR.pipe(L6((v)=>({type:"jetbrains-status",jetbrainsState:v}))),x=MZ(L,T,MZ(R,P,$,S)),u=new r2;async function _(){j.next({type:"state",state:{type:"shutting-down"}}),await A.sync().catch((v)=>{j1.error("Thread sync error",v,{threadID:E})}),q.dispose(),V.dispose(),A.dispose(),B.dispose(),await D.dispose(),z[Symbol.dispose](),Z.dispose(),F.unsubscribe(),j.complete(),u.next()}let f=x.pipe(NZ(()=>{_()})).pipe(vl(ip("threadSession",function(v,y){function k(e){j1.info(`Processing user message: ${e.slice(0,50)}${e.length>50?"...":""}`);let n="tokenUsage"in v?v.tokenUsage:void 0;if(n&&n.used/n.maxAvailable>U41.CRITICAL)return j1.info("Blocking message at worker boundary - critical token usage"),j.next({type:"confirm",confirmation:{type:"compaction",severity:"critical"}}),{type:"confirming-compaction",severity:"critical",tokenUsage:v.tokenUsage,compactionPromptState:"final",updateState:"updateState"in v?v.updateState:"none",toolConfirmationStatus:"toolConfirmationStatus"in v?v.toolConfirmationStatus:new Map,currentAssistantMessageIndex:("currentAssistantMessageIndex"in v?v.currentAssistantMessageIndex:null)??null,hasBeenIdle:"hasBeenIdle"in v?v.hasBeenIdle:!1,threadTitle:"threadTitle"in v?v.threadTitle:null,confirmationQueue:"confirmationQueue"in v?v.confirmationQueue:[]};V.handle({type:"user:message",message:{content:[{type:"text",text:e}]}}).then(()=>{A.sync().catch((o)=>{j1.error("Thread sync after submit error",o,{threadID:E})})}).catch((o)=>{j1.error("Handle user message failed",o)}),j.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}});let z1=I.value.last;if(z1){let o=dq(z1);if(o)j.next({type:"state",state:o})}return{...v,type:"awaiting-agent",displayedError:null}}async function m(){j.next({type:"state",state:{type:"compacting"}});let e=await G.summarizeThread(E);await V.handle({type:"summary:created",summary:{type:"internal",summary:e.summary}})}function l(){if(v.type==="awaiting-user-message")return j1.debug("already accepting, ignoring event",{state:v,event:y}),v;let e="tokenUsage"in v?v.tokenUsage:void 0;if(A.sync().catch((n)=>{j1.error("Thread sync error",n,{threadID:E})}),e&&v.type!=="confirming-compaction"&&v.type!=="compacting"){let n=e.used/e.maxAvailable,z1=void 0,o=v.compactionPromptState;if(n>U41.CRITICAL)z1="critical",o="final";else if(n>U41.WARNING&&v.compactionPromptState==="none")z1="moderate",o="first";else if(n>U41.SEVERE&&v.compactionPromptState==="first")z1="severe",o="final";if(z1)return j.next({type:"confirm",confirmation:{type:"compaction",severity:z1}}),{type:"confirming-compaction",severity:z1,tokenUsage:v.tokenUsage,compactionPromptState:o,updateState:v.updateState,toolConfirmationStatus:v.toolConfirmationStatus,currentAssistantMessageIndex:v.currentAssistantMessageIndex,hasBeenIdle:v.hasBeenIdle,threadTitle:v.threadTitle,confirmationQueue:v.confirmationQueue}}if(j.next({type:"accept-message",initial:!v.hasBeenIdle&&!H}),v.type==="awaiting-agent")v.cancelledWithMessage=void 0;if(e)j.next({type:"token-usage",tokenUsage:e});return{...v,type:"awaiting-user-message",hasBeenIdle:!0,tokenUsage:e??null}}async function d(e){if(e.length>0){j1.info(`Updating allowlist with ${e.length} entries`,{entries:e});try{if(await X.get("experimental.commandApproval.enabled","global")===!0){let o=[...await X.get("experimental.commandApproval.allow","global")??[],...e];await X.set("experimental.commandApproval.allow",o,"global"),j1.info("Updated experimental command approval allow list",{newEntries:e,totalEntries:o.length})}else{let o=[...await X.get("commands.allowlist","global")??[],...e];await X.set("commands.allowlist",o,"global"),j1.info("Updated regular commands allowlist",{newEntries:e,totalEntries:o.length})}}catch(n){j1.error("Failed to update allowlist",n)}}}if(v.type==="closing")return v;if(y.type==="thread-state"){let e=y.thread.title||null;if(v.threadTitle!==e&&e!==null)j.next({type:"thread-title",title:e});if(q.scanForTaskToolSubthreads(y.thread),H&&W.size===0&&y.thread.messages.length>0){let o=KS(y.thread,W,M);if(o.blocks.length>0)j.next({type:"messages",blocks:o.blocks})}let n=v.tokenUsage,z1=gR(y.thread);if(z1)n={used:z1.totalInputTokens,maxAvailable:z1.maxInputTokens},j.next({type:"token-usage",tokenUsage:n});if(v.type==="awaiting-user-confirmation")if(y.thread.messages.at(-1)?.content.some((o)=>o.type==="tool_result"&&(o.run.status==="in-progress"||o.run.status==="done"))){let o=dq(y.thread);if(o)j.next({type:"state",state:o});else j.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}});return{...v,type:"awaiting-agent",displayedError:null,tokenUsage:n}}else{let o=P5(y.thread,"user")?.content.filter((J1)=>J1.type==="tool_result"&&J1.run.status==="blocked-on-user")??[];if(o.length>0){j1.info(`Found ${o.length} blocked tools in awaiting-user-confirmation`,{toolIDs:o.map((w1)=>w1.toolUseID)});let J1=P5(y.thread,"assistant"),D1=new Set(J1?.content.filter((w1)=>w1.type==="tool_use").map((w1)=>w1.id)??[]);for(let w1 of o){if(!D1.has(w1.toolUseID))continue;let a=I4(y.thread,w1.toolUseID);if(a&&a.name===Z4)return v.toolConfirmationStatus.set(w1.toolUseID,"awaiting"),j1.info("Added blocked tool to confirmation tracking",{toolUseID:w1.toolUseID}),j.next({type:"tool-status",toolUse:a,status:"blocked-on-user",startTime:Date.now()}),j.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:a,toAllow:w1.run.status==="blocked-on-user"?w1.run.toAllow:void 0}]}}),{...v,type:"collecting-tool-confirmations",currentToolID:w1.toolUseID,tokenUsage:n}}}return{...v,type:"awaiting-user-confirmation",tokenUsage:n}}if(v.type==="awaiting-agent"||v.type==="compacting"){let o=y.thread.messages.at(-1),J1=KS(y.thread,W,M),D1=J1.blocks;if(o?.role==="assistant"&&o.state.type==="streaming"&&J1.blocks.length===0){D1=[{type:"message",data:[y.thread.messages.length-1,o]}];let Y1=dq(y.thread);if(Y1)j.next({type:"state",state:Y1})}if(D1.length>0){for(let X1 of D1)if(X1.type==="toolResult"){let[Y1,L1]=X1.data,N1=L1.run.status==="done"?"completed":L1.run.status==="error"?"error":L1.run.status==="cancelled"?"cancelled":"running";if(N1!=="running")j.next({type:"tool-status",toolUse:Y1,status:N1,startTime:N.get(Y1.id),endTime:Date.now()}),N.delete(Y1.id)}j.next({type:"messages",blocks:D1})}if(y.thread.messages.at(-1)?.content.some((X1)=>X1.type==="summary"))return{...l(),tokenUsage:null,compactionPromptState:"none"};if(o?.role==="assistant"&&o.state.type==="complete"&&o.state.stopReason==="end_turn"){j.next({type:"state",state:{type:"idle"}});let X1=l();return{...X1,tokenUsage:n??X1.tokenUsage}}let w1=P5(y.thread,"assistant"),a=w1?y.thread.messages.indexOf(w1):null;if(a!==null&&a!==v.currentAssistantMessageIndex)j1.info("New assistant message detected, clearing tool confirmations",{oldIndex:v.currentAssistantMessageIndex,newIndex:a,previousToolCount:v.toolConfirmationStatus.size}),v.toolConfirmationStatus.clear(),v.currentAssistantMessageIndex=a;let r=P5(y.thread,"user")?.content.filter((X1)=>X1.type==="tool_result"&&X1.run.status==="blocked-on-user")??[];if(r.length>0)j1.info(`Found ${r.length} blocked tools`,{toolIDs:r.map((X1)=>X1.toolUseID),currentState:v.type});let s=new Set(w1?.content.filter((X1)=>X1.type==="tool_use").map((X1)=>X1.id)??[]),Z1=!1;for(let X1 of r){if(!s.has(X1.toolUseID))continue;let Y1=I4(y.thread,X1.toolUseID),L1=v.toolConfirmationStatus.get(X1.toolUseID);if(Y1&&Y1.name===Z4&&X1.run.status==="blocked-on-user"&&L1===void 0){if(v.toolConfirmationStatus.set(X1.toolUseID,"awaiting"),Z1=!0,j1.info("Added new tool to confirmation tracking",{toolUseID:X1.toolUseID,toolName:Y1.name}),!N.has(Y1.id))N.set(Y1.id,Date.now());j.next({type:"tool-status",toolUse:Y1,status:"blocked-on-user",startTime:N.get(Y1.id)})}}let G1=Array.from(v.toolConfirmationStatus.entries()).filter(([X1,Y1])=>Y1==="awaiting");if(G1.length>0){let[X1]=G1[0],Y1=r.find((N1)=>N1.toolUseID===X1),L1=Y1?I4(y.thread,Y1.toolUseID):null;if(Y1&&L1)return j1.info(`Starting tool confirmation process for ${G1.length} tools (hasNewTools: ${Z1})`,{firstToolID:X1,toolName:L1.name,currentState:v.type}),j.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:L1,toAllow:Y1.run.status==="blocked-on-user"?Y1.run.toAllow:void 0}]}}),{...v,type:"collecting-tool-confirmations",currentToolID:X1,tokenUsage:n}}}}else if(y.type==="worker-state"){if(v.type==="awaiting-user-confirmation"&&y.status.state==="active"&&y.status.ephemeralError)return v;if(v.type==="collecting-tool-confirmations")return j1.info("Already collecting tool confirmations, ignoring worker-state event"),v;let e=I.value.last?.messages.at(-1),n=v.tokenUsage;if(y.status.state==="active"){let z1=I.value.last;if(z1){let o=gR(z1);if(o)n={used:o.totalInputTokens,maxAvailable:o.maxInputTokens},j.next({type:"token-usage",tokenUsage:n})}}if(v.type==="confirming-compaction"||v.type==="compacting")return{...v,tokenUsage:n};switch(y.status.state){case"initial":if(v.type==="initializing")return v;return l();case"active":if(y.status.ephemeralError)if(y.status.ephemeralError.message.includes(G41)){if(v.type==="out-of-credits")return v;return j.next({type:"confirm",confirmation:{type:"out-of-credits"}}),{...v,type:"out-of-credits",tokenUsage:n}}else if(TO(y.status.ephemeralError))return j1.info("Context limit error, triggering compaction",{error:y.status.ephemeralError,tokenUsage:n}),j.next({type:"confirm",confirmation:{type:"compaction",severity:"critical"}}),{type:"confirming-compaction",severity:"critical",tokenUsage:v.tokenUsage,compactionPromptState:v.compactionPromptState,updateState:v.updateState,toolConfirmationStatus:v.toolConfirmationStatus,currentAssistantMessageIndex:v.currentAssistantMessageIndex,hasBeenIdle:v.hasBeenIdle,threadTitle:v.threadTitle,confirmationQueue:v.confirmationQueue};else if(y.status.ephemeralError.message.includes("401 unauthorized"))return j.next({type:"error",error:{type:"unauthorized"},retryable:!1}),f.unsubscribe(),{...v,type:"closing"};else{let z1=y.status.ephemeralError.message;if(j1.error("Ephemeral error",{error:z1}),v.type==="awaiting-agent"&&v.displayedError!==z1)return j.next({type:"error",error:{type:"other",error:z1},retryable:!1}),{...v,type:"awaiting-user-confirmation",tokenUsage:n};else return v}switch(y.status.inferenceState){case"running":{let z1=I.value.last;if(z1){let o=dq(z1);if(o)j.next({type:"state",state:o});else j.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}})}else j.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}})}if(v.type==="initializing")return{...v,tokenUsage:n};return{...v,type:"awaiting-agent",displayedError:null,tokenUsage:n};case"cancelled":if(v.type==="initializing")return{...v,tokenUsage:n};if(j.next({type:"cancelled"}),j.next({type:"state",state:{type:"idle"}}),v.type==="awaiting-agent"&&v.cancelledWithMessage)return v.cancelledWithMessage=void 0,{...v,tokenUsage:n};else return{...l(),tokenUsage:n};case"idle":if(v.type==="initializing")return{...v,tokenUsage:n};if(e?.content.some((z1)=>z1.type==="tool_result"&&z1.run.status==="blocked-on-user"))return{...v,type:"awaiting-user-confirmation",tokenUsage:n};else if(I.value.last?.messages.some((z1)=>z1.role==="user"&&z1.content.some((o)=>o.type==="tool_result"&&o.run.status==="in-progress"))??!1){let z1=I.value.last?.messages.flatMap((J1)=>J1.content).filter((J1)=>J1.type==="tool_result"&&("run"in J1)&&("status"in J1.run)&&J1.run.status==="in-progress"),o=z1?.length??0;if(o>0){for(let a of z1||[]){let r=I4(I.value.last,a.toolUseID);if(r){if(!N.has(a.toolUseID))N.set(a.toolUseID,Date.now());j.next({type:"tool-status",toolUse:r,status:"running",startTime:N.get(a.toolUseID)})}}let J1=o===1&&z1?.[0]&&I.value.last?I4(I.value.last,z1[0].toolUseID):void 0,D1=o>1&&z1&&I.value.last?z1.slice(1,Math.min(4,z1.length)).map((a)=>{return I4(I.value.last,a.toolUseID)?.name||"tool"}).filter(Boolean):void 0,w1=J1?Y41(J1.name,o,Date.now(),J1.input,D1):{type:"running-tools",toolCount:o,startTime:Date.now(),queuedTools:D1};j.next({type:"state",state:w1})}else{let J1=I.value.last;if(J1){let D1=dq(J1);if(D1)j.next({type:"state",state:D1});else j.next({type:"state",state:{type:"idle"}})}else j.next({type:"state",state:{type:"idle"}})}return{...v,type:"awaiting-agent",displayedError:null,tokenUsage:n}}else if(e?.role==="assistant"&&e.state.type==="complete"&&e.state.stopReason==="end_turn")return j.next({type:"state",state:{type:"idle"}}),{...l(),tokenUsage:n}}}}else if(y.type==="batch-tool-confirmations-complete")if(v.type==="collecting-tool-confirmations"&&v.subthreadContext)return j1.info("Sending batch tool confirmations to subthread",{subThreadID:v.subthreadContext.subThreadID,toolCount:y.responses.size,responses:Array.from(y.responses.entries()).map(([e,n])=>({id:e,accepted:n}))}),q.handleToolConfirmations(v.subthreadContext.subThreadID,y.responses).catch((e)=>{j1.error("Failed to send subthread tool confirmations",e)}),j1.info("Transitioning to awaiting-agent after sending subthread confirmations"),j.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...v,type:"awaiting-agent",displayedError:null};else return j1.info("Sending batch tool confirmations to worker",{toolCount:y.responses.size,responses:Array.from(y.responses.entries()).map(([e,n])=>({id:e,accepted:n}))}),y.responses.forEach((e,n)=>{j1.info("Sending individual tool confirmation to worker",{toolUseID:n,accepted:e}),V.handle({type:"user:tool-input",toolUse:n,value:{accepted:e}}),v.toolConfirmationStatus.set(n,"sent")}),j1.info("Transitioning to awaiting-agent after sending batch confirmations"),j.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...v,type:"awaiting-agent",displayedError:null};else if(y.type==="summary:created"){let e=I.value.last;if(e){let n=gR(e);if(n){let z1={used:n.totalInputTokens,maxAvailable:n.maxInputTokens},o=v.type==="compacting"?v.preCompactionTokenUsage:null;if(o){let J1=o.used,D1=z1.used,w1=J1-D1,a=J1>0?w1/J1*100:0;if(w1<=0)j1.warn("Compaction did not reduce token usage",{preUsed:J1,postUsed:D1,reduction:w1,threadID:E});else if(a<10)j1.warn("Compaction reduction was minimal",{preUsed:J1,postUsed:D1,reduction:w1,reductionPercent:a.toFixed(1),threadID:E});else j1.info("Compaction successful",{preUsed:J1,postUsed:D1,reduction:w1,reductionPercent:a.toFixed(1),threadID:E})}else j1.warn("No pre-compaction token usage available for validation",{threadID:E});j.next({type:"token-usage",tokenUsage:z1})}}return l()}else if(y.type==="compaction-result")if(y.result)return l();else return j.next({type:"error",error:{type:"other",error:"Compaction failed"},retryable:!1}),j.next({type:"confirm",confirmation:{type:"compaction",severity:y.severity}}),{...v,type:"confirming-compaction",severity:y.severity};else if(y.type==="update-start-updating")return{...v,updateState:"updating"};else if(y.type==="update-result")if(y.success)return setTimeout(()=>{R.next({type:"clear-update-status"})},1e4),{...v,updateState:"success"};else return setTimeout(()=>{R.next({type:"clear-update-status"})},1e4),{...v,updateState:"error"};else if(y.type==="clear-update-status")return{...v,updateState:"none"};else if(y.type==="agent-file-check-complete"){if(v.type==="checking-agent-file")if(y.shouldGenerate)return j.next({type:"confirm",confirmation:{type:"agent-file-creation"}}),{...v,type:"confirming-agent-file-creation"};else return l()}else if(y.type==="tool-status")return j.next({type:"tool-status",toolUse:y.toolUse,status:y.status,startTime:y.startTime,endTime:y.endTime,subthreadID:y.subthreadID}),v;else if(y.type==="subagent-started"){if(v.type==="initializing")return v;return j.next({type:"subagent-started",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}),v}else if(y.type==="subagent-status")return j.next({type:"subagent-status",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,agentState:y.agentState}),v;else if(y.type==="subthread-message"){if(y.blocks.length>0)j.next({type:"subthread-messages",subThreadID:y.subThreadID,blocks:y.blocks});return v}else if(y.type==="historic-thread"){if(v.type!=="initializing")throw new Error(`Historic thread event received in unexpected state: ${v.type}`);if(H&&W.size===0&&y.messages.length>0){let n=KS({id:E,messages:y.messages},W,M);if(n.blocks.length>0)j.next({type:"messages",blocks:n.blocks})}let e={...v,hasThread:!0};if(e.hasUI&&e.hasThread)return l();return e}else if(y.type==="subagent-finished")return j.next({type:"subagent-finished",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,result:y.result}),v;else if(y.type==="subagent-cancelled")return j.next({type:"subagent-cancelled",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}),v;else if(y.type==="subagent-error")return j.next({type:"subagent-error",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,error:y.error}),v;else if(y.type==="subthread-tool-request"){if(y.tools.length>0){if(j1.info(`Received tool confirmation request from subthread ${y.subThreadID}`,{subThreadID:y.subThreadID,agentNumber:y.agentNumber,toolCount:y.tools.length,tools:y.tools.map((e)=>e.useBlock.name),queueLength:v.confirmationQueue.length}),v.type==="collecting-tool-confirmations"||v.confirmationQueue.length>0)return j1.info("Queueing tool confirmation request",{subThreadID:y.subThreadID,agentNumber:y.agentNumber,currentQueueLength:v.confirmationQueue.length}),{...v,confirmationQueue:[...v.confirmationQueue,{type:"subthread-tool-request",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,tools:y.tools}]};return j.next({type:"confirm",confirmation:{type:"tool-use",tools:y.tools,subthreadID:y.subThreadID,agentNumber:y.agentNumber}}),{...v,type:"collecting-tool-confirmations",currentToolID:y.tools[0]?.useBlock.id||null,subthreadContext:{subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}}}return v}else if(y.type==="jetbrains-status")return j.next({type:"jetbrains-status",jetbrainsState:y.jetbrainsState}),v;else if(y.input.type==="initialized")if(v.type==="initializing"){let e={...v,hasUI:!0};if(e.hasUI&&e.hasThread)if(I.value.last?.messages.length===0)return j1.info("Checking agent file status"),I4A({filesystem:iB,configService:Q,threadService:B},I.value.last).then((z1)=>{R.next({type:"agent-file-check-complete",shouldGenerate:z1.shouldGenerate})}).catch((z1)=>{j1.error("Agent file check failed",z1),R.next({type:"agent-file-check-complete",shouldGenerate:!1})}),{...v,type:"checking-agent-file"};else return l();return e}else throw new Error(`UI initialized event received in unexpected state: ${v.type}`);else if(y.input.type==="message"){let{message:e}=y.input;return k(e)}else if(y.input.type==="interrupt")if(v.type==="awaiting-agent"){if(j.next({type:"cancelled"}),XQ.cancel(E),y.input.message)v.cancelledWithMessage=y.input.message;return v}else return v;else if(y.input.type==="exit")return f.unsubscribe(),{...v,type:"closing"};else if(y.input.type==="retry")return XQ.retry(E),{...v,type:"awaiting-agent",displayedError:null};else{if(v.type==="out-of-credits"&&y.input.confirmation.type==="out-of-credits")XQ.retry(E);else if(v.type==="confirming-compaction"&&y.input.confirmation.type==="compaction")if(y.input.allow){let e="tokenUsage"in v?v.tokenUsage:void 0;return j.next({type:"state",state:{type:"compacting"}}),m().then(()=>{j1.info("Compaction completed successfully",{preCompactionTokenUsage:e}),R.next({type:"compaction-result",result:!0,severity:v.severity})}).catch((n)=>{j1.error("Compaction failed",n),R.next({type:"compaction-result",result:!1,severity:v.severity})}),{...v,type:"compacting",preCompactionTokenUsage:e}}else return j1.info("Compaction cancelled"),l();else if(v.type==="collecting-tool-confirmations"&&y.input.confirmation.type==="tool-use"){if(!v.currentToolID)return j1.error("No current tool ID in collecting-tool-confirmations state"),v;if(j1.info(`Received confirmation for tool: ${y.input.allow?"accepted":"rejected"}`,{toolUseID:v.currentToolID,subthreadID:y.input.confirmation.subthreadID}),y.input.confirmation.subthreadID&&v.subthreadContext){j1.info("Sending tool confirmation to subthread",{subThreadID:v.subthreadContext.subThreadID,toolUseID:v.currentToolID,accepted:y.input.allow});let o=new Map([[v.currentToolID,y.input.allow]]);if(q.handleToolConfirmations(v.subthreadContext.subThreadID,o).catch((J1)=>{j1.error("Failed to send subthread tool confirmation",J1)}),v.confirmationQueue.length>0){let J1=v.confirmationQueue[0],D1=v.confirmationQueue.slice(1);return j1.info("Processing next queued confirmation request",{subThreadID:J1.subThreadID,agentNumber:J1.agentNumber,remainingQueueLength:D1.length}),j.next({type:"confirm",confirmation:{type:"tool-use",tools:J1.tools,subthreadID:J1.subThreadID,agentNumber:J1.agentNumber}}),{...v,type:"collecting-tool-confirmations",currentToolID:J1.tools[0]?.useBlock.id||null,subthreadContext:{subThreadID:J1.subThreadID,agentNumber:J1.agentNumber,taskDescription:J1.taskDescription},confirmationQueue:D1}}return j1.info("Transitioning to awaiting-agent after sending subthread confirmation"),j.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...v,type:"awaiting-agent",displayedError:null}}v.toolConfirmationStatus.set(v.currentToolID,y.input.allow?"confirmed":"rejected"),d(y.input.confirmation.addToAllowList);let e=Array.from(v.toolConfirmationStatus.entries()).filter(([o,J1])=>J1==="awaiting");if(e.length>0){let[o]=e[0];if(!I.value.isSet)return j1.error("Thread not available for finding next tool"),v;let w1=(I.value.last.messages.at(-1)?.content.filter((r)=>r.type==="tool_result"&&r.run.status==="blocked-on-user")??[]).find((r)=>r.toolUseID===o),a=w1?I4(I.value.last,w1.toolUseID):null;if(w1&&a)return j1.info(`Asking confirmation for next tool: ${a.name}`,{toolUseID:o,remainingCount:e.length}),j.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:a,toAllow:w1.run.status==="blocked-on-user"?w1.run.toAllow:void 0}]}}),{...v,currentToolID:o}}let n=Array.from(v.toolConfirmationStatus.entries()).filter(([o,J1])=>J1==="confirmed"||J1==="rejected");j1.info("All tool confirmations collected, sending batch response",{totalTools:n.length,responses:n.map(([o,J1])=>({id:o,accepted:J1==="confirmed"}))});let z1=new Map(n.map(([o,J1])=>[o,J1==="confirmed"]));return R.next({type:"batch-tool-confirmations-complete",responses:z1}),j.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...v,type:"awaiting-agent",displayedError:null}}else if(y.input.confirmation.type==="agent-file-creation"&&v.type==="confirming-agent-file-creation")if(y.input.allow)return M4A(V).catch((e)=>{j1.error("Agent file generation failed",e)}),j.next({type:"state",state:{type:"generating-agent-file"}}),{...v,type:"awaiting-agent",displayedError:null};else return l();return v}return v}),{type:"initializing",hasUI:!1,hasThread:!1,tokenUsage:null,compactionPromptState:"none",updateState:"none",toolConfirmationStatus:new Map,currentAssistantMessageIndex:null,hasBeenIdle:!1,threadTitle:null,confirmationQueue:[]})).subscribe({error:(v)=>{j1.error("Error in state machine",v),_()}});if(H)K.get(E).then((v)=>{if(v)j1.info("Sending historic messages for initialization",{threadId:E,messageCount:v.messages.length}),R.next({type:"historic-thread",messages:v.messages});else j1.info("Sending empty messages for continued thread without stored messages",{threadId:E}),R.next({type:"historic-thread",messages:[]})});else j1.info("Sending empty messages for new thread initialization",{threadId:E}),R.next({type:"historic-thread",messages:[]});return Qo6(R,Q).catch((v)=>{j1.debug("Update check startup failed",v)}),await H6(u)}async function Qo6(A,Q){if(await Q.get("updates.autoUpdate.enabled")===!1)return;try{let J=await p3("0.0.1753200087-g855bbc");if(J.hasUpdate&&J.latestVersion)A.next({type:"update-start-updating"}),setTimeout(async()=>{try{await ik1(J.latestVersion),A.next({type:"update-result",success:!0,version:J.latestVersion})}catch(D){j1.info("Update failed",D),A.next({type:"update-result",success:!1,version:J.latestVersion})}},100);else j1.info("No update available")}catch(J){j1.debug("Update check failed",J)}}var U41={WARNING:0.8,SEVERE:0.9,CRITICAL:0.98};import{Stream as fe6}from"node:stream";import A51 from"node:process";var j7A=hA(O8(),1);import ke6 from"node:process";function y4A(A,Q,{signal:B,edges:J}={}){let D=void 0,z=null,Z=J!=null&&J.includes("leading"),G=J==null||J.includes("trailing"),X=()=>{if(z!==null)A.apply(D,z),D=void 0,z=null},K=()=>{if(G)X();E()},Y=null,q=()=>{if(Y!=null)clearTimeout(Y);Y=setTimeout(()=>{Y=null,K()},Q)},F=()=>{if(Y!==null)clearTimeout(Y),Y=null},E=()=>{F(),D=void 0,z=null},H=()=>{F(),X()},w=function(...W){if(B?.aborted)return;D=this,z=W;let I=Y==null;if(q(),Z&&I)X()};return w.schedule=q,w.cancel=E,w.flush=H,B?.addEventListener("abort",E,{once:!0}),w}function b4A(A,Q=0,B={}){if(typeof B!=="object")B={};let{signal:J,leading:D=!1,trailing:z=!0,maxWait:Z}=B,G=Array(2);if(D)G[0]="leading";if(z)G[1]="trailing";let X=void 0,K=null,Y=y4A(function(...E){X=A.apply(this,E),K=null},Q,{signal:J,edges:G}),q=function(...E){if(Z!=null){if(K===null)K=Date.now();if(Date.now()-K>=Z)return X=A.apply(this,E),K=Date.now(),Y.cancel(),Y.schedule(),X}return Y.apply(this,E),X},F=()=>{return Y.flush(),X};return q.cancel=Y.cancel,q.flush=F,q}function E41(A,Q=0,B={}){if(typeof B!=="object")B={};let{leading:J=!0,trailing:D=!0,signal:z}=B;return b4A(A,Q,{leading:J,trailing:D,signal:z,maxWait:Q})}import{env as ap}from"node:process";var Jt6=ap.CI!=="0"&&ap.CI!=="false"&&(("CI"in ap)||("CONTINUOUS_INTEGRATION"in ap)||Object.keys(ap).some((A)=>A.startsWith("CI_"))),PO=Jt6;var Dt6=(A)=>{let Q=new Set;do for(let B of Reflect.ownKeys(A))Q.add([A,B]);while((A=Reflect.getPrototypeOf(A))&&A!==Object.prototype);return Q};function Af1(A,{include:Q,exclude:B}={}){let J=(D)=>{let z=(Z)=>typeof Z==="string"?D===Z:Z.test(D);if(Q)return Q.some(z);if(B)return!B.some(z);return!0};for(let[D,z]of Dt6(A.constructor.prototype)){if(z==="constructor"||!J(z))continue;let Z=Reflect.getOwnPropertyDescriptor(D,z);if(Z&&typeof Z.value==="function")A[z]=A[z].bind(A)}return A}var P7A=hA(Jf1(),1);import{PassThrough as p4A}from"node:stream";var c4A=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],Df1={},zt6=(A)=>{let Q=new p4A,B=new p4A;Q.write=(D)=>{A("stdout",D)},B.write=(D)=>{A("stderr",D)};let J=new console.Console(Q,B);for(let D of c4A)Df1[D]=console[D],console[D]=J[D];return()=>{for(let D of c4A)console[D]=Df1[D];Df1={}}},l4A=zt6;var zf1=32;var Zf1=0,M41=0;var Zt6=(()=>{var A=import.meta.url;return function(Q){Q=Q||{};var B;B||(B=typeof Q!=="undefined"?Q:{});var J,D;B.ready=new Promise(function(q1,$1){J=q1,D=$1});var z=Object.assign({},B),Z="";typeof document!="undefined"&&document.currentScript&&(Z=document.currentScript.src),A&&(Z=A),Z.indexOf("blob:")!==0?Z=Z.substr(0,Z.replace(/[?#].*/,"").lastIndexOf("/")+1):Z="";var G=B.print||console.log.bind(console),X=B.printErr||console.warn.bind(console);Object.assign(B,z),z=null;var K;B.wasmBinary&&(K=B.wasmBinary);var Y=B.noExitRuntime||!0;typeof WebAssembly!="object"&&v("no native wasm support detected");var q,F=!1;function E(q1,$1,W0){W0=$1+W0;for(var N0="";!($1>=W0);){var v0=q1[$1++];if(!v0)break;if(v0&128){var s0=q1[$1++]&63;if((v0&224)==192)N0+=String.fromCharCode((v0&31)<<6|s0);else{var FA=q1[$1++]&63;v0=(v0&240)==224?(v0&15)<<12|s0<<6|FA:(v0&7)<<18|s0<<12|FA<<6|q1[$1++]&63,65536>v0?N0+=String.fromCharCode(v0):(v0-=65536,N0+=String.fromCharCode(55296|v0>>10,56320|v0&1023))}}else N0+=String.fromCharCode(v0)}return N0}var H,w,W,I,M,N,V,L,T;function R(){var q1=q.buffer;H=q1,B.HEAP8=w=new Int8Array(q1),B.HEAP16=I=new Int16Array(q1),B.HEAP32=N=new Int32Array(q1),B.HEAPU8=W=new Uint8Array(q1),B.HEAPU16=M=new Uint16Array(q1),B.HEAPU32=V=new Uint32Array(q1),B.HEAPF32=L=new Float32Array(q1),B.HEAPF64=T=new Float64Array(q1)}var j,P=[],$=[],S=[];function x(){var q1=B.preRun.shift();P.unshift(q1)}var u=0,_=null,f=null;function v(q1){if(B.onAbort)B.onAbort(q1);throw q1="Aborted("+q1+")",X(q1),F=!0,q1=new WebAssembly.RuntimeError(q1+". Build with -sASSERTIONS for more info."),D(q1),q1}function y(q1){return q1.startsWith("data:application/octet-stream;base64,")}var k="data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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";if(!y(k)){var m=k;k=B.locateFile?B.locateFile(m,Z):Z+m}function l(){var q1=k;try{if(q1==k&&K)return new Uint8Array(K);if(y(q1))try{var $1=dA(q1.slice(37)),W0=new Uint8Array($1.length);for(q1=0;q1<$1.length;++q1)W0[q1]=$1.charCodeAt(q1);var N0=W0}catch(s0){throw Error("Converting base64 string to bytes failed.")}else N0=void 0;var v0=N0;if(v0)return v0;throw"both async and sync fetching of the wasm failed"}catch(s0){v(s0)}}function d(){return K||typeof fetch!="function"?Promise.resolve().then(function(){return l()}):fetch(k,{credentials:"same-origin"}).then(function(q1){if(!q1.ok)throw"failed to load wasm binary file at '"+k+"'";return q1.arrayBuffer()}).catch(function(){return l()})}function e(q1){for(;0<q1.length;)q1.shift()(B)}function n(q1){if(q1===void 0)return"_unknown";q1=q1.replace(/[^a-zA-Z0-9_]/g,"$");var $1=q1.charCodeAt(0);return 48<=$1&&57>=$1?"_"+q1:q1}function z1(q1,$1){return q1=n(q1),function(){return $1.apply(this,arguments)}}var o=[{},{value:void 0},{value:null},{value:!0},{value:!1}],J1=[];function D1(q1){var $1=Error,W0=z1(q1,function(N0){this.name=q1,this.message=N0,N0=Error(N0).stack,N0!==void 0&&(this.stack=this.toString()+`
|
4545
4545
|
`+N0.replace(/^Error(:[^\n]*)?\n/,""))});return W0.prototype=Object.create($1.prototype),W0.prototype.constructor=W0,W0.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},W0}var w1=void 0;function a(q1){throw new w1(q1)}var r=(q1)=>{return q1||a("Cannot use deleted val. handle = "+q1),o[q1].value},s=(q1)=>{switch(q1){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var $1=J1.length?J1.pop():o.length;return o[$1]={ga:1,value:q1},$1}},Z1=void 0,G1=void 0;function X1(q1){for(var $1="";W[q1];)$1+=G1[W[q1++]];return $1}var Y1=[];function L1(){for(;Y1.length;){var q1=Y1.pop();q1.M.$=!1,q1.delete()}}var N1=void 0,R1={};function I1(q1,$1){for($1===void 0&&a("ptr should not be undefined");q1.R;)$1=q1.ba($1),q1=q1.R;return $1}var H1={};function r1(q1){q1=wA(q1);var $1=X1(q1);return b6(q1),$1}function n1(q1,$1){var W0=H1[q1];return W0===void 0&&a($1+" has unknown type "+r1(q1)),W0}function K0(){}var o1=!1;function A0(q1){--q1.count.value,q1.count.value===0&&(q1.T?q1.U.W(q1.T):q1.P.N.W(q1.O))}function b1(q1,$1,W0){if($1===W0)return q1;if(W0.R===void 0)return null;return q1=b1(q1,$1,W0.R),q1===null?null:W0.na(q1)}var E1={};function g1(q1,$1){return $1=I1(q1,$1),R1[$1]}var P1=void 0;function y1(q1){throw new P1(q1)}function F1(q1,$1){return $1.P&&$1.O||y1("makeClassHandle requires ptr and ptrType"),!!$1.U!==!!$1.T&&y1("Both smartPtrType and smartPtr must be specified"),$1.count={value:1},h1(Object.create(q1,{M:{value:$1}}))}function h1(q1){if(typeof FinalizationRegistry==="undefined")return h1=($1)=>$1,q1;return o1=new FinalizationRegistry(($1)=>{A0($1.M)}),h1=($1)=>{var W0=$1.M;return W0.T&&o1.register($1,{M:W0},$1),$1},K0=($1)=>{o1.unregister($1)},h1(q1)}var C1={};function u1(q1){for(;q1.length;){var $1=q1.pop();q1.pop()($1)}}function i1(q1){return this.fromWireType(N[q1>>2])}var Q0={},D0={};function z0(q1,$1,W0){function N0(t0){t0=W0(t0),t0.length!==q1.length&&y1("Mismatched type converter count");for(var _A=0;_A<q1.length;++_A)J0(q1[_A],t0[_A])}q1.forEach(function(t0){D0[t0]=$1});var v0=Array($1.length),s0=[],FA=0;$1.forEach((t0,_A)=>{H1.hasOwnProperty(t0)?v0[_A]=H1[t0]:(s0.push(t0),Q0.hasOwnProperty(t0)||(Q0[t0]=[]),Q0[t0].push(()=>{v0[_A]=H1[t0],++FA,FA===s0.length&&N0(v0)}))}),s0.length===0&&N0(v0)}function p0(q1){switch(q1){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+q1)}}function J0(q1,$1,W0={}){if(!("argPackAdvance"in $1))throw new TypeError("registerType registeredInstance requires argPackAdvance");var N0=$1.name;if(q1||a('type "'+N0+'" must have a positive integer typeid pointer'),H1.hasOwnProperty(q1)){if(W0.ua)return;a("Cannot register type '"+N0+"' twice")}H1[q1]=$1,delete D0[q1],Q0.hasOwnProperty(q1)&&($1=Q0[q1],delete Q0[q1],$1.forEach((v0)=>v0()))}function e0(q1){a(q1.M.P.N.name+" instance already deleted")}function JA(){}function o0(q1,$1,W0){if(q1[$1].S===void 0){var N0=q1[$1];q1[$1]=function(){return q1[$1].S.hasOwnProperty(arguments.length)||a("Function '"+W0+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+q1[$1].S+")!"),q1[$1].S[arguments.length].apply(this,arguments)},q1[$1].S=[],q1[$1].S[N0.Z]=N0}}function IA(q1,$1){B.hasOwnProperty(q1)?(a("Cannot register public name '"+q1+"' twice"),o0(B,q1,q1),B.hasOwnProperty(void 0)&&a("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),B[q1].S[void 0]=$1):B[q1]=$1}function GA(q1,$1,W0,N0,v0,s0,FA,t0){this.name=q1,this.constructor=$1,this.X=W0,this.W=N0,this.R=v0,this.pa=s0,this.ba=FA,this.na=t0,this.ja=[]}function zA(q1,$1,W0){for(;$1!==W0;)$1.ba||a("Expected null or instance of "+W0.name+", got an instance of "+$1.name),q1=$1.ba(q1),$1=$1.R;return q1}function l0(q1,$1){if($1===null)return this.ea&&a("null is not a valid "+this.name),0;return $1.M||a('Cannot pass "'+d0($1)+'" as a '+this.name),$1.M.O||a("Cannot pass deleted object as a pointer of type "+this.name),zA($1.M.O,$1.M.P.N,this.N)}function EA(q1,$1){if($1===null){if(this.ea&&a("null is not a valid "+this.name),this.da){var W0=this.fa();return q1!==null&&q1.push(this.W,W0),W0}return 0}if($1.M||a('Cannot pass "'+d0($1)+'" as a '+this.name),$1.M.O||a("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&$1.M.P.ca&&a("Cannot convert argument of type "+($1.M.U?$1.M.U.name:$1.M.P.name)+" to parameter type "+this.name),W0=zA($1.M.O,$1.M.P.N,this.N),this.da)switch($1.M.T===void 0&&a("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:$1.M.U===this?W0=$1.M.T:a("Cannot convert argument of type "+($1.M.U?$1.M.U.name:$1.M.P.name)+" to parameter type "+this.name);break;case 1:W0=$1.M.T;break;case 2:if($1.M.U===this)W0=$1.M.T;else{var N0=$1.clone();W0=this.xa(W0,s(function(){N0.delete()})),q1!==null&&q1.push(this.W,W0)}break;default:a("Unsupporting sharing policy")}return W0}function UA(q1,$1){if($1===null)return this.ea&&a("null is not a valid "+this.name),0;return $1.M||a('Cannot pass "'+d0($1)+'" as a '+this.name),$1.M.O||a("Cannot pass deleted object as a pointer of type "+this.name),$1.M.P.ca&&a("Cannot convert argument of type "+$1.M.P.name+" to parameter type "+this.name),zA($1.M.O,$1.M.P.N,this.N)}function a0(q1,$1,W0,N0){this.name=q1,this.N=$1,this.ea=W0,this.ca=N0,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,$1.R!==void 0?this.toWireType=EA:(this.toWireType=N0?l0:UA,this.V=null)}function xA(q1,$1){B.hasOwnProperty(q1)||y1("Replacing nonexistant public symbol"),B[q1]=$1,B[q1].Z=void 0}function LA(q1,$1){var W0=[];return function(){if(W0.length=0,Object.assign(W0,arguments),q1.includes("j")){var N0=B["dynCall_"+q1];N0=W0&&W0.length?N0.apply(null,[$1].concat(W0)):N0.call(null,$1)}else N0=j.get($1).apply(null,W0);return N0}}function d1(q1,$1){q1=X1(q1);var W0=q1.includes("j")?LA(q1,$1):j.get($1);return typeof W0!="function"&&a("unknown function pointer with signature "+q1+": "+$1),W0}var v1=void 0;function a1(q1,$1){function W0(s0){v0[s0]||H1[s0]||(D0[s0]?D0[s0].forEach(W0):(N0.push(s0),v0[s0]=!0))}var N0=[],v0={};throw $1.forEach(W0),new v1(q1+": "+N0.map(r1).join([", "]))}function G0(q1,$1,W0,N0,v0){var s0=$1.length;2>s0&&a("argTypes array size mismatch! Must at least get return value and 'this' types!");var FA=$1[1]!==null&&W0!==null,t0=!1;for(W0=1;W0<$1.length;++W0)if($1[W0]!==null&&$1[W0].V===void 0){t0=!0;break}var _A=$1[0].name!=="void",vA=s0-2,rA=Array(vA),t6=[],X8=[];return function(){if(arguments.length!==vA&&a("function "+q1+" called with "+arguments.length+" arguments, expected "+vA+" args!"),X8.length=0,t6.length=FA?2:1,t6[0]=v0,FA){var j9=$1[1].toWireType(X8,this);t6[1]=j9}for(var a6=0;a6<vA;++a6)rA[a6]=$1[a6+2].toWireType(X8,arguments[a6]),t6.push(rA[a6]);if(a6=N0.apply(null,t6),t0)u1(X8);else for(var s9=FA?1:2;s9<$1.length;s9++){var p9=s9===1?j9:rA[s9-2];$1[s9].V!==null&&$1[s9].V(p9)}return j9=_A?$1[0].fromWireType(a6):void 0,j9}}function e1(q1,$1){for(var W0=[],N0=0;N0<q1;N0++)W0.push(V[$1+4*N0>>2]);return W0}function BA(q1){4<q1&&--o[q1].ga===0&&(o[q1]=void 0,J1.push(q1))}function d0(q1){if(q1===null)return"null";var $1=typeof q1;return $1==="object"||$1==="array"||$1==="function"?q1.toString():""+q1}function V6(q1,$1){switch($1){case 2:return function(W0){return this.fromWireType(L[W0>>2])};case 3:return function(W0){return this.fromWireType(T[W0>>3])};default:throw new TypeError("Unknown float type: "+q1)}}function w6(q1,$1,W0){switch($1){case 0:return W0?function(N0){return w[N0]}:function(N0){return W[N0]};case 1:return W0?function(N0){return I[N0>>1]}:function(N0){return M[N0>>1]};case 2:return W0?function(N0){return N[N0>>2]}:function(N0){return V[N0>>2]};default:throw new TypeError("Unknown integer type: "+q1)}}function $6(q1,$1){for(var W0="",N0=0;!(N0>=$1/2);++N0){var v0=I[q1+2*N0>>1];if(v0==0)break;W0+=String.fromCharCode(v0)}return W0}function eA(q1,$1,W0){if(W0===void 0&&(W0=2147483647),2>W0)return 0;W0-=2;var N0=$1;W0=W0<2*q1.length?W0/2:q1.length;for(var v0=0;v0<W0;++v0)I[$1>>1]=q1.charCodeAt(v0),$1+=2;return I[$1>>1]=0,$1-N0}function s6(q1){return 2*q1.length}function HA(q1,$1){for(var W0=0,N0="";!(W0>=$1/4);){var v0=N[q1+4*W0>>2];if(v0==0)break;++W0,65536<=v0?(v0-=65536,N0+=String.fromCharCode(55296|v0>>10,56320|v0&1023)):N0+=String.fromCharCode(v0)}return N0}function t1(q1,$1,W0){if(W0===void 0&&(W0=2147483647),4>W0)return 0;var N0=$1;W0=N0+W0-4;for(var v0=0;v0<q1.length;++v0){var s0=q1.charCodeAt(v0);if(55296<=s0&&57343>=s0){var FA=q1.charCodeAt(++v0);s0=65536+((s0&1023)<<10)|FA&1023}if(N[$1>>2]=s0,$1+=4,$1+4>W0)break}return N[$1>>2]=0,$1-N0}function c0(q1){for(var $1=0,W0=0;W0<q1.length;++W0){var N0=q1.charCodeAt(W0);55296<=N0&&57343>=N0&&++W0,$1+=4}return $1}var KA={};function D6(q1){var $1=KA[q1];return $1===void 0?X1(q1):$1}var C2=[];function V2(q1){var $1=C2.length;return C2.push(q1),$1}function H2(q1,$1){for(var W0=Array(q1),N0=0;N0<q1;++N0)W0[N0]=n1(V[$1+4*N0>>2],"parameter "+N0);return W0}var o6=[],o2=[null,[],[]];w1=B.BindingError=D1("BindingError"),B.count_emval_handles=function(){for(var q1=0,$1=5;$1<o.length;++$1)o[$1]!==void 0&&++q1;return q1},B.get_first_emval=function(){for(var q1=5;q1<o.length;++q1)if(o[q1]!==void 0)return o[q1];return null},Z1=B.PureVirtualError=D1("PureVirtualError");for(var u6=Array(256),y6=0;256>y6;++y6)u6[y6]=String.fromCharCode(y6);G1=u6,B.getInheritedInstanceCount=function(){return Object.keys(R1).length},B.getLiveInheritedInstances=function(){var q1=[],$1;for($1 in R1)R1.hasOwnProperty($1)&&q1.push(R1[$1]);return q1},B.flushPendingDeletes=L1,B.setDelayFunction=function(q1){N1=q1,Y1.length&&N1&&N1(L1)},P1=B.InternalError=D1("InternalError"),JA.prototype.isAliasOf=function(q1){if(!(this instanceof JA&&q1 instanceof JA))return!1;var $1=this.M.P.N,W0=this.M.O,N0=q1.M.P.N;for(q1=q1.M.O;$1.R;)W0=$1.ba(W0),$1=$1.R;for(;N0.R;)q1=N0.ba(q1),N0=N0.R;return $1===N0&&W0===q1},JA.prototype.clone=function(){if(this.M.O||e0(this),this.M.aa)return this.M.count.value+=1,this;var q1=h1,$1=Object,W0=$1.create,N0=Object.getPrototypeOf(this),v0=this.M;return q1=q1(W0.call($1,N0,{M:{value:{count:v0.count,$:v0.$,aa:v0.aa,O:v0.O,P:v0.P,T:v0.T,U:v0.U}}})),q1.M.count.value+=1,q1.M.$=!1,q1},JA.prototype.delete=function(){this.M.O||e0(this),this.M.$&&!this.M.aa&&a("Object already scheduled for deletion"),K0(this),A0(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},JA.prototype.isDeleted=function(){return!this.M.O},JA.prototype.deleteLater=function(){return this.M.O||e0(this),this.M.$&&!this.M.aa&&a("Object already scheduled for deletion"),Y1.push(this),Y1.length===1&&N1&&N1(L1),this.M.$=!0,this},a0.prototype.qa=function(q1){return this.ka&&(q1=this.ka(q1)),q1},a0.prototype.ha=function(q1){this.W&&this.W(q1)},a0.prototype.argPackAdvance=8,a0.prototype.readValueFromPointer=i1,a0.prototype.deleteObject=function(q1){if(q1!==null)q1.delete()},a0.prototype.fromWireType=function(q1){function $1(){return this.da?F1(this.N.X,{P:this.wa,O:W0,U:this,T:q1}):F1(this.N.X,{P:this,O:q1})}var W0=this.qa(q1);if(!W0)return this.ha(q1),null;var N0=g1(this.N,W0);if(N0!==void 0){if(N0.M.count.value===0)return N0.M.O=W0,N0.M.T=q1,N0.clone();return N0=N0.clone(),this.ha(q1),N0}if(N0=this.N.pa(W0),N0=E1[N0],!N0)return $1.call(this);N0=this.ca?N0.la:N0.pointerType;var v0=b1(W0,this.N,N0.N);return v0===null?$1.call(this):this.da?F1(N0.N.X,{P:N0,O:v0,U:this,T:q1}):F1(N0.N.X,{P:N0,O:v0})},v1=B.UnboundTypeError=D1("UnboundTypeError");var dA=typeof atob=="function"?atob:function(q1){var $1="",W0=0;q1=q1.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var N0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(q1.charAt(W0++)),v0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(q1.charAt(W0++)),s0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(q1.charAt(W0++)),FA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(q1.charAt(W0++));N0=N0<<2|v0>>4,v0=(v0&15)<<4|s0>>2;var t0=(s0&3)<<6|FA;$1+=String.fromCharCode(N0),s0!==64&&($1+=String.fromCharCode(v0)),FA!==64&&($1+=String.fromCharCode(t0))}while(W0<q1.length);return $1},MA={l:function(q1,$1,W0,N0){v("Assertion failed: "+(q1?E(W,q1):"")+", at: "+[$1?$1?E(W,$1):"":"unknown filename",W0,N0?N0?E(W,N0):"":"unknown function"])},q:function(q1,$1,W0){q1=X1(q1),$1=n1($1,"wrapper"),W0=r(W0);var N0=[].slice,v0=$1.N,s0=v0.X,FA=v0.R.X,t0=v0.R.constructor;q1=z1(q1,function(){v0.R.ja.forEach(function(vA){if(this[vA]===FA[vA])throw new Z1("Pure virtual function "+vA+" must be implemented in JavaScript")}.bind(this)),Object.defineProperty(this,"__parent",{value:s0}),this.__construct.apply(this,N0.call(arguments))}),s0.__construct=function(){this===s0&&a("Pass correct 'this' to __construct");var vA=t0.implement.apply(void 0,[this].concat(N0.call(arguments)));K0(vA);var rA=vA.M;vA.notifyOnDestruction(),rA.aa=!0,Object.defineProperties(this,{M:{value:rA}}),h1(this),vA=rA.O,vA=I1(v0,vA),R1.hasOwnProperty(vA)?a("Tried to register registered instance: "+vA):R1[vA]=this},s0.__destruct=function(){this===s0&&a("Pass correct 'this' to __destruct"),K0(this);var vA=this.M.O;vA=I1(v0,vA),R1.hasOwnProperty(vA)?delete R1[vA]:a("Tried to unregister unregistered instance: "+vA)},q1.prototype=Object.create(s0);for(var _A in W0)q1.prototype[_A]=W0[_A];return s(q1)},j:function(q1){var $1=C1[q1];delete C1[q1];var{fa:W0,W:N0,ia:v0}=$1,s0=v0.map((FA)=>FA.ta).concat(v0.map((FA)=>FA.za));z0([q1],s0,(FA)=>{var t0={};return v0.forEach((_A,vA)=>{var rA=FA[vA],t6=_A.ra,X8=_A.sa,j9=FA[vA+v0.length],a6=_A.ya,s9=_A.Aa;t0[_A.oa]={read:(p9)=>rA.fromWireType(t6(X8,p9)),write:(p9,c9)=>{var p4=[];a6(s9,p9,j9.toWireType(p4,c9)),u1(p4)}}}),[{name:$1.name,fromWireType:function(_A){var vA={},rA;for(rA in t0)vA[rA]=t0[rA].read(_A);return N0(_A),vA},toWireType:function(_A,vA){for(var rA in t0)if(!(rA in vA))throw new TypeError('Missing field: "'+rA+'"');var t6=W0();for(rA in t0)t0[rA].write(t6,vA[rA]);return _A!==null&&_A.push(N0,t6),t6},argPackAdvance:8,readValueFromPointer:i1,V:N0}]})},v:function(){},B:function(q1,$1,W0,N0,v0){var s0=p0(W0);$1=X1($1),J0(q1,{name:$1,fromWireType:function(FA){return!!FA},toWireType:function(FA,t0){return t0?N0:v0},argPackAdvance:8,readValueFromPointer:function(FA){if(W0===1)var t0=w;else if(W0===2)t0=I;else if(W0===4)t0=N;else throw new TypeError("Unknown boolean type size: "+$1);return this.fromWireType(t0[FA>>s0])},V:null})},f:function(q1,$1,W0,N0,v0,s0,FA,t0,_A,vA,rA,t6,X8){rA=X1(rA),s0=d1(v0,s0),t0&&(t0=d1(FA,t0)),vA&&(vA=d1(_A,vA)),X8=d1(t6,X8);var j9=n(rA);IA(j9,function(){a1("Cannot construct "+rA+" due to unbound types",[N0])}),z0([q1,$1,W0],N0?[N0]:[],function(a6){if(a6=a6[0],N0)var s9=a6.N,p9=s9.X;else p9=JA.prototype;a6=z1(j9,function(){if(Object.getPrototypeOf(this)!==c9)throw new w1("Use 'new' to construct "+rA);if(p4.Y===void 0)throw new w1(rA+" has no accessible constructor");var h5=p4.Y[arguments.length];if(h5===void 0)throw new w1("Tried to invoke ctor of "+rA+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(p4.Y).toString()+") parameters instead!");return h5.apply(this,arguments)});var c9=Object.create(p9,{constructor:{value:a6}});a6.prototype=c9;var p4=new GA(rA,a6,c9,X8,s9,s0,t0,vA);s9=new a0(rA,p4,!0,!1),p9=new a0(rA+"*",p4,!1,!1);var qZ=new a0(rA+" const*",p4,!1,!0);return E1[q1]={pointerType:p9,la:qZ},xA(j9,a6),[s9,p9,qZ]})},d:function(q1,$1,W0,N0,v0,s0,FA){var t0=e1(W0,N0);$1=X1($1),s0=d1(v0,s0),z0([],[q1],function(_A){function vA(){a1("Cannot call "+rA+" due to unbound types",t0)}_A=_A[0];var rA=_A.name+"."+$1;$1.startsWith("@@")&&($1=Symbol[$1.substring(2)]);var t6=_A.N.constructor;return t6[$1]===void 0?(vA.Z=W0-1,t6[$1]=vA):(o0(t6,$1,rA),t6[$1].S[W0-1]=vA),z0([],t0,function(X8){return X8=G0(rA,[X8[0],null].concat(X8.slice(1)),null,s0,FA),t6[$1].S===void 0?(X8.Z=W0-1,t6[$1]=X8):t6[$1].S[W0-1]=X8,[]}),[]})},p:function(q1,$1,W0,N0,v0,s0){0<$1||v();var FA=e1($1,W0);v0=d1(N0,v0),z0([],[q1],function(t0){t0=t0[0];var _A="constructor "+t0.name;if(t0.N.Y===void 0&&(t0.N.Y=[]),t0.N.Y[$1-1]!==void 0)throw new w1("Cannot register multiple constructors with identical number of parameters ("+($1-1)+") for class '"+t0.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return t0.N.Y[$1-1]=()=>{a1("Cannot construct "+t0.name+" due to unbound types",FA)},z0([],FA,function(vA){return vA.splice(1,0,null),t0.N.Y[$1-1]=G0(_A,vA,null,v0,s0),[]}),[]})},a:function(q1,$1,W0,N0,v0,s0,FA,t0){var _A=e1(W0,N0);$1=X1($1),s0=d1(v0,s0),z0([],[q1],function(vA){function rA(){a1("Cannot call "+t6+" due to unbound types",_A)}vA=vA[0];var t6=vA.name+"."+$1;$1.startsWith("@@")&&($1=Symbol[$1.substring(2)]),t0&&vA.N.ja.push($1);var X8=vA.N.X,j9=X8[$1];return j9===void 0||j9.S===void 0&&j9.className!==vA.name&&j9.Z===W0-2?(rA.Z=W0-2,rA.className=vA.name,X8[$1]=rA):(o0(X8,$1,t6),X8[$1].S[W0-2]=rA),z0([],_A,function(a6){return a6=G0(t6,a6,vA,s0,FA),X8[$1].S===void 0?(a6.Z=W0-2,X8[$1]=a6):X8[$1].S[W0-2]=a6,[]}),[]})},A:function(q1,$1){$1=X1($1),J0(q1,{name:$1,fromWireType:function(W0){var N0=r(W0);return BA(W0),N0},toWireType:function(W0,N0){return s(N0)},argPackAdvance:8,readValueFromPointer:i1,V:null})},n:function(q1,$1,W0){W0=p0(W0),$1=X1($1),J0(q1,{name:$1,fromWireType:function(N0){return N0},toWireType:function(N0,v0){return v0},argPackAdvance:8,readValueFromPointer:V6($1,W0),V:null})},e:function(q1,$1,W0,N0,v0){$1=X1($1),v0===-1&&(v0=4294967295),v0=p0(W0);var s0=(t0)=>t0;if(N0===0){var FA=32-8*W0;s0=(t0)=>t0<<FA>>>FA}W0=$1.includes("unsigned")?function(t0,_A){return _A>>>0}:function(t0,_A){return _A},J0(q1,{name:$1,fromWireType:s0,toWireType:W0,argPackAdvance:8,readValueFromPointer:w6($1,v0,N0!==0),V:null})},b:function(q1,$1,W0){function N0(s0){s0>>=2;var FA=V;return new v0(H,FA[s0+1],FA[s0])}var v0=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][$1];W0=X1(W0),J0(q1,{name:W0,fromWireType:N0,argPackAdvance:8,readValueFromPointer:N0},{ua:!0})},o:function(q1,$1){$1=X1($1);var W0=$1==="std::string";J0(q1,{name:$1,fromWireType:function(N0){var v0=V[N0>>2],s0=N0+4;if(W0)for(var FA=s0,t0=0;t0<=v0;++t0){var _A=s0+t0;if(t0==v0||W[_A]==0){if(FA=FA?E(W,FA,_A-FA):"",vA===void 0)var vA=FA;else vA+=String.fromCharCode(0),vA+=FA;FA=_A+1}}else{vA=Array(v0);for(t0=0;t0<v0;++t0)vA[t0]=String.fromCharCode(W[s0+t0]);vA=vA.join("")}return b6(N0),vA},toWireType:function(N0,v0){v0 instanceof ArrayBuffer&&(v0=new Uint8Array(v0));var s0,FA=typeof v0=="string";if(FA||v0 instanceof Uint8Array||v0 instanceof Uint8ClampedArray||v0 instanceof Int8Array||a("Cannot pass non-string to std::string"),W0&&FA){var t0=0;for(s0=0;s0<v0.length;++s0){var _A=v0.charCodeAt(s0);127>=_A?t0++:2047>=_A?t0+=2:55296<=_A&&57343>=_A?(t0+=4,++s0):t0+=3}s0=t0}else s0=v0.length;if(t0=n0(4+s0+1),_A=t0+4,V[t0>>2]=s0,W0&&FA){if(FA=_A,_A=s0+1,s0=W,0<_A){_A=FA+_A-1;for(var vA=0;vA<v0.length;++vA){var rA=v0.charCodeAt(vA);if(55296<=rA&&57343>=rA){var t6=v0.charCodeAt(++vA);rA=65536+((rA&1023)<<10)|t6&1023}if(127>=rA){if(FA>=_A)break;s0[FA++]=rA}else{if(2047>=rA){if(FA+1>=_A)break;s0[FA++]=192|rA>>6}else{if(65535>=rA){if(FA+2>=_A)break;s0[FA++]=224|rA>>12}else{if(FA+3>=_A)break;s0[FA++]=240|rA>>18,s0[FA++]=128|rA>>12&63}s0[FA++]=128|rA>>6&63}s0[FA++]=128|rA&63}}s0[FA]=0}}else if(FA)for(FA=0;FA<s0;++FA)vA=v0.charCodeAt(FA),255<vA&&(b6(_A),a("String has UTF-16 code units that do not fit in 8 bits")),W[_A+FA]=vA;else for(FA=0;FA<s0;++FA)W[_A+FA]=v0[FA];return N0!==null&&N0.push(b6,t0),t0},argPackAdvance:8,readValueFromPointer:i1,V:function(N0){b6(N0)}})},i:function(q1,$1,W0){if(W0=X1(W0),$1===2)var N0=$6,v0=eA,s0=s6,FA=()=>M,t0=1;else $1===4&&(N0=HA,v0=t1,s0=c0,FA=()=>V,t0=2);J0(q1,{name:W0,fromWireType:function(_A){for(var vA=V[_A>>2],rA=FA(),t6,X8=_A+4,j9=0;j9<=vA;++j9){var a6=_A+4+j9*$1;if(j9==vA||rA[a6>>t0]==0)X8=N0(X8,a6-X8),t6===void 0?t6=X8:(t6+=String.fromCharCode(0),t6+=X8),X8=a6+$1}return b6(_A),t6},toWireType:function(_A,vA){typeof vA!="string"&&a("Cannot pass non-string to C++ string type "+W0);var rA=s0(vA),t6=n0(4+rA+$1);return V[t6>>2]=rA>>t0,v0(vA,t6+4,rA+$1),_A!==null&&_A.push(b6,t6),t6},argPackAdvance:8,readValueFromPointer:i1,V:function(_A){b6(_A)}})},k:function(q1,$1,W0,N0,v0,s0){C1[q1]={name:X1($1),fa:d1(W0,N0),W:d1(v0,s0),ia:[]}},h:function(q1,$1,W0,N0,v0,s0,FA,t0,_A,vA){C1[q1].ia.push({oa:X1($1),ta:W0,ra:d1(N0,v0),sa:s0,za:FA,ya:d1(t0,_A),Aa:vA})},C:function(q1,$1){$1=X1($1),J0(q1,{va:!0,name:$1,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(q1,$1,W0,N0,v0){q1=C2[q1],$1=r($1),W0=D6(W0);var s0=[];return V[N0>>2]=s(s0),q1($1,W0,s0,v0)},t:function(q1,$1,W0,N0){q1=C2[q1],$1=r($1),W0=D6(W0),q1($1,W0,null,N0)},g:BA,m:function(q1,$1){var W0=H2(q1,$1),N0=W0[0];$1=N0.name+"_$"+W0.slice(1).map(function(FA){return FA.name}).join("_")+"$";var v0=o6[$1];if(v0!==void 0)return v0;var s0=Array(q1-1);return v0=V2((FA,t0,_A,vA)=>{for(var rA=0,t6=0;t6<q1-1;++t6)s0[t6]=W0[t6+1].readValueFromPointer(vA+rA),rA+=W0[t6+1].argPackAdvance;FA=FA[t0].apply(FA,s0);for(t6=0;t6<q1-1;++t6)W0[t6+1].ma&&W0[t6+1].ma(s0[t6]);if(!N0.va)return N0.toWireType(_A,FA)}),o6[$1]=v0},D:function(q1){4<q1&&(o[q1].ga+=1)},r:function(q1){var $1=r(q1);u1($1),BA(q1)},c:function(){v("")},x:function(q1,$1,W0){W.copyWithin(q1,$1,$1+W0)},w:function(q1){var $1=W.length;if(q1>>>=0,2147483648<q1)return!1;for(var W0=1;4>=W0;W0*=2){var N0=$1*(1+0.2/W0);N0=Math.min(N0,q1+100663296);var v0=Math;N0=Math.max(q1,N0),v0=v0.min.call(v0,2147483648,N0+(65536-N0%65536)%65536);A:{try{q.grow(v0-H.byteLength+65535>>>16),R();var s0=1;break A}catch(FA){}s0=void 0}if(s0)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(q1,$1,W0,N0){for(var v0=0,s0=0;s0<W0;s0++){var FA=V[$1>>2],t0=V[$1+4>>2];$1+=8;for(var _A=0;_A<t0;_A++){var vA=W[FA+_A],rA=o2[q1];vA===0||vA===10?((q1===1?G:X)(E(rA,0)),rA.length=0):rA.push(vA)}v0+=t0}return V[N0>>2]=v0,0}};(function(){function q1(v0){B.asm=v0.exports,q=B.asm.E,R(),j=B.asm.J,$.unshift(B.asm.F),u--,B.monitorRunDependencies&&B.monitorRunDependencies(u),u==0&&(_!==null&&(clearInterval(_),_=null),f&&(v0=f,f=null,v0()))}function $1(v0){q1(v0.instance)}function W0(v0){return d().then(function(s0){return WebAssembly.instantiate(s0,N0)}).then(function(s0){return s0}).then(v0,function(s0){X("failed to asynchronously prepare wasm: "+s0),v(s0)})}var N0={a:MA};if(u++,B.monitorRunDependencies&&B.monitorRunDependencies(u),B.instantiateWasm)try{return B.instantiateWasm(N0,q1)}catch(v0){X("Module.instantiateWasm callback failed with error: "+v0),D(v0)}return function(){return K||typeof WebAssembly.instantiateStreaming!="function"||y(k)||typeof fetch!="function"?W0($1):fetch(k,{credentials:"same-origin"}).then(function(v0){return WebAssembly.instantiateStreaming(v0,N0).then($1,function(s0){return X("wasm streaming compile failed: "+s0),X("falling back to ArrayBuffer instantiation"),W0($1)})})}().catch(D),{}})(),B.___wasm_call_ctors=function(){return(B.___wasm_call_ctors=B.asm.F).apply(null,arguments)};var wA=B.___getTypeName=function(){return(wA=B.___getTypeName=B.asm.G).apply(null,arguments)};B.__embind_initialize_bindings=function(){return(B.__embind_initialize_bindings=B.asm.H).apply(null,arguments)};var n0=B._malloc=function(){return(n0=B._malloc=B.asm.I).apply(null,arguments)},b6=B._free=function(){return(b6=B._free=B.asm.K).apply(null,arguments)};B.dynCall_jiji=function(){return(B.dynCall_jiji=B.asm.L).apply(null,arguments)};var p1;f=function q1(){p1||B4(),p1||(f=q1)};function B4(){function q1(){if(!p1&&(p1=!0,B.calledRun=!0,!F)){if(e($),J(B),B.onRuntimeInitialized)B.onRuntimeInitialized();if(B.postRun)for(typeof B.postRun=="function"&&(B.postRun=[B.postRun]);B.postRun.length;){var $1=B.postRun.shift();S.unshift($1)}e(S)}}if(!(0<u)){if(B.preRun)for(typeof B.preRun=="function"&&(B.preRun=[B.preRun]);B.preRun.length;)x();e(P),0<u||(B.setStatus?(B.setStatus("Running..."),setTimeout(function(){setTimeout(function(){B.setStatus("")},1),q1()},1)):q1())}}if(B.preInit)for(typeof B.preInit=="function"&&(B.preInit=[B.preInit]);0<B.preInit.length;)B.preInit.pop()();return B4(),Q.ready}})(),d4A=Zt6;var aE=function(A){return A[A.Auto=0]="Auto",A[A.FlexStart=1]="FlexStart",A[A.Center=2]="Center",A[A.FlexEnd=3]="FlexEnd",A[A.Stretch=4]="Stretch",A[A.Baseline=5]="Baseline",A[A.SpaceBetween=6]="SpaceBetween",A[A.SpaceAround=7]="SpaceAround",A[A.SpaceEvenly=8]="SpaceEvenly",A}({}),i4A=function(A){return A[A.BorderBox=0]="BorderBox",A[A.ContentBox=1]="ContentBox",A}({}),a4A=function(A){return A[A.Width=0]="Width",A[A.Height=1]="Height",A}({}),np=function(A){return A[A.Inherit=0]="Inherit",A[A.LTR=1]="LTR",A[A.RTL=2]="RTL",A}({}),Gf1=function(A){return A[A.Flex=0]="Flex",A[A.None=1]="None",A[A.Contents=2]="Contents",A}({}),rE=function(A){return A[A.Left=0]="Left",A[A.Top=1]="Top",A[A.Right=2]="Right",A[A.Bottom=3]="Bottom",A[A.Start=4]="Start",A[A.End=5]="End",A[A.Horizontal=6]="Horizontal",A[A.Vertical=7]="Vertical",A[A.All=8]="All",A}({}),HS=function(A){return A[A.None=0]="None",A[A.StretchFlexBasis=1]="StretchFlexBasis",A[A.AbsolutePositionWithoutInsetsExcludesPadding=2]="AbsolutePositionWithoutInsetsExcludesPadding",A[A.AbsolutePercentAgainstInnerSize=4]="AbsolutePercentAgainstInnerSize",A[A.All=2147483647]="All",A[A.Classic=2147483646]="Classic",A}({}),Gt6=function(A){return A[A.WebFlexBasis=0]="WebFlexBasis",A}({}),N41=function(A){return A[A.Column=0]="Column",A[A.ColumnReverse=1]="ColumnReverse",A[A.Row=2]="Row",A[A.RowReverse=3]="RowReverse",A}({}),Xf1=function(A){return A[A.Column=0]="Column",A[A.Row=1]="Row",A[A.All=2]="All",A}({}),wS=function(A){return A[A.FlexStart=0]="FlexStart",A[A.Center=1]="Center",A[A.FlexEnd=2]="FlexEnd",A[A.SpaceBetween=3]="SpaceBetween",A[A.SpaceAround=4]="SpaceAround",A[A.SpaceEvenly=5]="SpaceEvenly",A}({}),WS=function(A){return A[A.Error=0]="Error",A[A.Warn=1]="Warn",A[A.Info=2]="Info",A[A.Debug=3]="Debug",A[A.Verbose=4]="Verbose",A[A.Fatal=5]="Fatal",A}({}),Kf1=function(A){return A[A.Undefined=0]="Undefined",A[A.Exactly=1]="Exactly",A[A.AtMost=2]="AtMost",A}({}),r4A=function(A){return A[A.Default=0]="Default",A[A.Text=1]="Text",A}({}),Yf1=function(A){return A[A.Visible=0]="Visible",A[A.Hidden=1]="Hidden",A[A.Scroll=2]="Scroll",A}({}),qf1=function(A){return A[A.Static=0]="Static",A[A.Relative=1]="Relative",A[A.Absolute=2]="Absolute",A}({}),kK=function(A){return A[A.Undefined=0]="Undefined",A[A.Point=1]="Point",A[A.Percent=2]="Percent",A[A.Auto=3]="Auto",A}({}),Uf1=function(A){return A[A.NoWrap=0]="NoWrap",A[A.Wrap=1]="Wrap",A[A.WrapReverse=2]="WrapReverse",A}({}),Xt6={ALIGN_AUTO:aE.Auto,ALIGN_FLEX_START:aE.FlexStart,ALIGN_CENTER:aE.Center,ALIGN_FLEX_END:aE.FlexEnd,ALIGN_STRETCH:aE.Stretch,ALIGN_BASELINE:aE.Baseline,ALIGN_SPACE_BETWEEN:aE.SpaceBetween,ALIGN_SPACE_AROUND:aE.SpaceAround,ALIGN_SPACE_EVENLY:aE.SpaceEvenly,BOX_SIZING_BORDER_BOX:i4A.BorderBox,BOX_SIZING_CONTENT_BOX:i4A.ContentBox,DIMENSION_WIDTH:a4A.Width,DIMENSION_HEIGHT:a4A.Height,DIRECTION_INHERIT:np.Inherit,DIRECTION_LTR:np.LTR,DIRECTION_RTL:np.RTL,DISPLAY_FLEX:Gf1.Flex,DISPLAY_NONE:Gf1.None,DISPLAY_CONTENTS:Gf1.Contents,EDGE_LEFT:rE.Left,EDGE_TOP:rE.Top,EDGE_RIGHT:rE.Right,EDGE_BOTTOM:rE.Bottom,EDGE_START:rE.Start,EDGE_END:rE.End,EDGE_HORIZONTAL:rE.Horizontal,EDGE_VERTICAL:rE.Vertical,EDGE_ALL:rE.All,ERRATA_NONE:HS.None,ERRATA_STRETCH_FLEX_BASIS:HS.StretchFlexBasis,ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING:HS.AbsolutePositionWithoutInsetsExcludesPadding,ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE:HS.AbsolutePercentAgainstInnerSize,ERRATA_ALL:HS.All,ERRATA_CLASSIC:HS.Classic,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:Gt6.WebFlexBasis,FLEX_DIRECTION_COLUMN:N41.Column,FLEX_DIRECTION_COLUMN_REVERSE:N41.ColumnReverse,FLEX_DIRECTION_ROW:N41.Row,FLEX_DIRECTION_ROW_REVERSE:N41.RowReverse,GUTTER_COLUMN:Xf1.Column,GUTTER_ROW:Xf1.Row,GUTTER_ALL:Xf1.All,JUSTIFY_FLEX_START:wS.FlexStart,JUSTIFY_CENTER:wS.Center,JUSTIFY_FLEX_END:wS.FlexEnd,JUSTIFY_SPACE_BETWEEN:wS.SpaceBetween,JUSTIFY_SPACE_AROUND:wS.SpaceAround,JUSTIFY_SPACE_EVENLY:wS.SpaceEvenly,LOG_LEVEL_ERROR:WS.Error,LOG_LEVEL_WARN:WS.Warn,LOG_LEVEL_INFO:WS.Info,LOG_LEVEL_DEBUG:WS.Debug,LOG_LEVEL_VERBOSE:WS.Verbose,LOG_LEVEL_FATAL:WS.Fatal,MEASURE_MODE_UNDEFINED:Kf1.Undefined,MEASURE_MODE_EXACTLY:Kf1.Exactly,MEASURE_MODE_AT_MOST:Kf1.AtMost,NODE_TYPE_DEFAULT:r4A.Default,NODE_TYPE_TEXT:r4A.Text,OVERFLOW_VISIBLE:Yf1.Visible,OVERFLOW_HIDDEN:Yf1.Hidden,OVERFLOW_SCROLL:Yf1.Scroll,POSITION_TYPE_STATIC:qf1.Static,POSITION_TYPE_RELATIVE:qf1.Relative,POSITION_TYPE_ABSOLUTE:qf1.Absolute,UNIT_UNDEFINED:kK.Undefined,UNIT_POINT:kK.Point,UNIT_PERCENT:kK.Percent,UNIT_AUTO:kK.Auto,WRAP_NO_WRAP:Uf1.NoWrap,WRAP_WRAP:Uf1.Wrap,WRAP_WRAP_REVERSE:Uf1.WrapReverse},n4A=Xt6;function Ff1(A){function Q(D,z,Z){let G=D[z];D[z]=function(){for(var X=arguments.length,K=new Array(X),Y=0;Y<X;Y++)K[Y]=arguments[Y];return Z.call(this,G,...K)}}for(let D of["setPosition","setMargin","setFlexBasis","setWidth","setHeight","setMinWidth","setMinHeight","setMaxWidth","setMaxHeight","setPadding","setGap"]){let z={[kK.Point]:A.Node.prototype[D],[kK.Percent]:A.Node.prototype[`${D}Percent`],[kK.Auto]:A.Node.prototype[`${D}Auto`]};Q(A.Node.prototype,D,function(Z){for(var G=arguments.length,X=new Array(G>1?G-1:0),K=1;K<G;K++)X[K-1]=arguments[K];let Y=X.pop(),q,F;if(Y==="auto")q=kK.Auto,F=void 0;else if(typeof Y==="object")q=Y.unit,F=Y.valueOf();else if(q=typeof Y==="string"&&Y.endsWith("%")?kK.Percent:kK.Point,F=parseFloat(Y),Y!==void 0&&!Number.isNaN(Y)&&Number.isNaN(F))throw new Error(`Invalid value ${Y} for ${D}`);if(!z[q])throw new Error(`Failed to execute "${D}": Unsupported unit '${Y}'`);if(F!==void 0)return z[q].call(this,...X,F);else return z[q].call(this,...X)})}function B(D){return A.MeasureCallback.implement({measure:function(){let{width:z,height:Z}=D(...arguments);return{width:z??NaN,height:Z??NaN}}})}Q(A.Node.prototype,"setMeasureFunc",function(D,z){if(z)return D.call(this,B(z));else return this.unsetMeasureFunc()});function J(D){return A.DirtiedCallback.implement({dirtied:D})}return Q(A.Node.prototype,"setDirtiedFunc",function(D,z){D.call(this,J(z))}),Q(A.Config.prototype,"free",function(){A.Config.destroy(this)}),Q(A.Node,"create",(D,z)=>{return z?A.Node.createWithConfig(z):A.Node.createDefault()}),Q(A.Node.prototype,"free",function(){A.Node.destroy(this)}),Q(A.Node.prototype,"freeRecursive",function(){for(let D=0,z=this.getChildCount();D<z;++D)this.getChild(0).freeRecursive();this.free()}),Q(A.Node.prototype,"calculateLayout",function(D){let z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,Z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,G=arguments.length>3&&arguments[3]!==void 0?arguments[3]:np.LTR;return D.call(this,z,Z,G)}),{Config:A.Config,Node:A.Node,...n4A}}var Kt6=Ff1(await d4A()),f6=Kt6;var $5A=hA(Z5A(),1);import ut6 from"node:process";var v5A=hA(O8(),1);ul();function G5A(A){return A===161||A===164||A===167||A===168||A===170||A===173||A===174||A>=176&&A<=180||A>=182&&A<=186||A>=188&&A<=191||A===198||A===208||A===215||A===216||A>=222&&A<=225||A===230||A>=232&&A<=234||A===236||A===237||A===240||A===242||A===243||A>=247&&A<=250||A===252||A===254||A===257||A===273||A===275||A===283||A===294||A===295||A===299||A>=305&&A<=307||A===312||A>=319&&A<=322||A===324||A>=328&&A<=331||A===333||A===338||A===339||A===358||A===359||A===363||A===462||A===464||A===466||A===468||A===470||A===472||A===474||A===476||A===593||A===609||A===708||A===711||A>=713&&A<=715||A===717||A===720||A>=728&&A<=731||A===733||A===735||A>=768&&A<=879||A>=913&&A<=929||A>=931&&A<=937||A>=945&&A<=961||A>=963&&A<=969||A===1025||A>=1040&&A<=1103||A===1105||A===8208||A>=8211&&A<=8214||A===8216||A===8217||A===8220||A===8221||A>=8224&&A<=8226||A>=8228&&A<=8231||A===8240||A===8242||A===8243||A===8245||A===8251||A===8254||A===8308||A===8319||A>=8321&&A<=8324||A===8364||A===8451||A===8453||A===8457||A===8467||A===8470||A===8481||A===8482||A===8486||A===8491||A===8531||A===8532||A>=8539&&A<=8542||A>=8544&&A<=8555||A>=8560&&A<=8569||A===8585||A>=8592&&A<=8601||A===8632||A===8633||A===8658||A===8660||A===8679||A===8704||A===8706||A===8707||A===8711||A===8712||A===8715||A===8719||A===8721||A===8725||A===8730||A>=8733&&A<=8736||A===8739||A===8741||A>=8743&&A<=8748||A===8750||A>=8756&&A<=8759||A===8764||A===8765||A===8776||A===8780||A===8786||A===8800||A===8801||A>=8804&&A<=8807||A===8810||A===8811||A===8814||A===8815||A===8834||A===8835||A===8838||A===8839||A===8853||A===8857||A===8869||A===8895||A===8978||A>=9312&&A<=9449||A>=9451&&A<=9547||A>=9552&&A<=9587||A>=9600&&A<=9615||A>=9618&&A<=9621||A===9632||A===9633||A>=9635&&A<=9641||A===9650||A===9651||A===9654||A===9655||A===9660||A===9661||A===9664||A===9665||A>=9670&&A<=9672||A===9675||A>=9678&&A<=9681||A>=9698&&A<=9701||A===9711||A===9733||A===9734||A===9737||A===9742||A===9743||A===9756||A===9758||A===9792||A===9794||A===9824||A===9825||A>=9827&&A<=9829||A>=9831&&A<=9834||A===9836||A===9837||A===9839||A===9886||A===9887||A===9919||A>=9926&&A<=9933||A>=9935&&A<=9939||A>=9941&&A<=9953||A===9955||A===9960||A===9961||A>=9963&&A<=9969||A===9972||A>=9974&&A<=9977||A===9979||A===9980||A===9982||A===9983||A===10045||A>=10102&&A<=10111||A>=11094&&A<=11097||A>=12872&&A<=12879||A>=57344&&A<=63743||A>=65024&&A<=65039||A===65533||A>=127232&&A<=127242||A>=127248&&A<=127277||A>=127280&&A<=127337||A>=127344&&A<=127373||A===127375||A===127376||A>=127387&&A<=127404||A>=917760&&A<=917999||A>=983040&&A<=1048573||A>=1048576&&A<=1114109}function X5A(A){return A===12288||A>=65281&&A<=65376||A>=65504&&A<=65510}function K5A(A){return A>=4352&&A<=4447||A===8986||A===8987||A===9001||A===9002||A>=9193&&A<=9196||A===9200||A===9203||A===9725||A===9726||A===9748||A===9749||A>=9776&&A<=9783||A>=9800&&A<=9811||A===9855||A>=9866&&A<=9871||A===9875||A===9889||A===9898||A===9899||A===9917||A===9918||A===9924||A===9925||A===9934||A===9940||A===9962||A===9970||A===9971||A===9973||A===9978||A===9981||A===9989||A===9994||A===9995||A===10024||A===10060||A===10062||A>=10067&&A<=10069||A===10071||A>=10133&&A<=10135||A===10160||A===10175||A===11035||A===11036||A===11088||A===11093||A>=11904&&A<=11929||A>=11931&&A<=12019||A>=12032&&A<=12245||A>=12272&&A<=12287||A>=12289&&A<=12350||A>=12353&&A<=12438||A>=12441&&A<=12543||A>=12549&&A<=12591||A>=12593&&A<=12686||A>=12688&&A<=12773||A>=12783&&A<=12830||A>=12832&&A<=12871||A>=12880&&A<=42124||A>=42128&&A<=42182||A>=43360&&A<=43388||A>=44032&&A<=55203||A>=63744&&A<=64255||A>=65040&&A<=65049||A>=65072&&A<=65106||A>=65108&&A<=65126||A>=65128&&A<=65131||A>=94176&&A<=94180||A===94192||A===94193||A>=94208&&A<=100343||A>=100352&&A<=101589||A>=101631&&A<=101640||A>=110576&&A<=110579||A>=110581&&A<=110587||A===110589||A===110590||A>=110592&&A<=110882||A===110898||A>=110928&&A<=110930||A===110933||A>=110948&&A<=110951||A>=110960&&A<=111355||A>=119552&&A<=119638||A>=119648&&A<=119670||A===126980||A===127183||A===127374||A>=127377&&A<=127386||A>=127488&&A<=127490||A>=127504&&A<=127547||A>=127552&&A<=127560||A===127568||A===127569||A>=127584&&A<=127589||A>=127744&&A<=127776||A>=127789&&A<=127797||A>=127799&&A<=127868||A>=127870&&A<=127891||A>=127904&&A<=127946||A>=127951&&A<=127955||A>=127968&&A<=127984||A===127988||A>=127992&&A<=128062||A===128064||A>=128066&&A<=128252||A>=128255&&A<=128317||A>=128331&&A<=128334||A>=128336&&A<=128359||A===128378||A===128405||A===128406||A===128420||A>=128507&&A<=128591||A>=128640&&A<=128709||A===128716||A>=128720&&A<=128722||A>=128725&&A<=128727||A>=128732&&A<=128735||A===128747||A===128748||A>=128756&&A<=128764||A>=128992&&A<=129003||A===129008||A>=129292&&A<=129338||A>=129340&&A<=129349||A>=129351&&A<=129535||A>=129648&&A<=129660||A>=129664&&A<=129673||A>=129679&&A<=129734||A>=129742&&A<=129756||A>=129759&&A<=129769||A>=129776&&A<=129784||A>=131072&&A<=196605||A>=196608&&A<=262141}function Et6(A){if(!Number.isSafeInteger(A))throw new TypeError(`Expected a code point, got \`${typeof A}\`.`)}function T41(A,{ambiguousAsWide:Q=!1}={}){if(Et6(A),X5A(A)||K5A(A)||Q&&G5A(A))return 2;return 1}var Y5A=hA(zB1(),1),Ht6=new Intl.Segmenter,wt6=/^\p{Default_Ignorable_Code_Point}$/u;function EJ(A,Q={}){if(typeof A!=="string"||A.length===0)return 0;let{ambiguousIsNarrow:B=!0,countAnsiEscapeCodes:J=!1}=Q;if(!J)A=MM(A);if(A.length===0)return 0;let D=0,z={ambiguousAsWide:!B};for(let{segment:Z}of Ht6.segment(A)){let G=Z.codePointAt(0);if(G<=31||G>=127&&G<=159)continue;if(G>=8203&&G<=8207||G===65279)continue;if(G>=768&&G<=879||G>=6832&&G<=6911||G>=7616&&G<=7679||G>=8400&&G<=8447||G>=65056&&G<=65071)continue;if(G>=55296&&G<=57343)continue;if(G>=65024&&G<=65039)continue;if(wt6.test(Z))continue;if(Y5A.default().test(Z)){D+=2;continue}D+=T41(G,z)}return D}function $O(A){let Q=0;for(let B of A.split(`
|
4546
4546
|
`))Q=Math.max(Q,EJ(B));return Q}var q5A={},Wt6=(A)=>{if(A.length===0)return{width:0,height:0};let Q=q5A[A];if(Q)return Q;let B=$O(A),J=A.split(`
|
4547
4547
|
`).length;return q5A[A]={width:B,height:J},{width:B,height:J}},Sf1=Wt6;ul();var U5A=(A=0)=>(Q)=>`\x1B[${Q+A}m`,F5A=(A=0)=>(Q)=>`\x1B[${38+A};5;${Q}m`,E5A=(A=0)=>(Q,B,J)=>`\x1B[${38+A};2;${Q};${B};${J}m`,V5={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},ro2=Object.keys(V5.modifier),It6=Object.keys(V5.color),Mt6=Object.keys(V5.bgColor),no2=[...It6,...Mt6];function Nt6(){let A=new Map;for(let[Q,B]of Object.entries(V5)){for(let[J,D]of Object.entries(B))V5[J]={open:`\x1B[${D[0]}m`,close:`\x1B[${D[1]}m`},B[J]=V5[J],A.set(D[0],D[1]);Object.defineProperty(V5,Q,{value:B,enumerable:!1})}return Object.defineProperty(V5,"codes",{value:A,enumerable:!1}),V5.color.close="\x1B[39m",V5.bgColor.close="\x1B[49m",V5.color.ansi=U5A(),V5.color.ansi256=F5A(),V5.color.ansi16m=E5A(),V5.bgColor.ansi=U5A(10),V5.bgColor.ansi256=F5A(10),V5.bgColor.ansi16m=E5A(10),Object.defineProperties(V5,{rgbToAnsi256:{value:(Q,B,J)=>{if(Q===B&&B===J){if(Q<8)return 16;if(Q>248)return 231;return Math.round((Q-8)/247*24)+232}return 16+36*Math.round(Q/255*5)+6*Math.round(B/255*5)+Math.round(J/255*5)},enumerable:!1},hexToRgb:{value:(Q)=>{let B=/[a-f\d]{6}|[a-f\d]{3}/i.exec(Q.toString(16));if(!B)return[0,0,0];let[J]=B;if(J.length===3)J=[...J].map((z)=>z+z).join("");let D=Number.parseInt(J,16);return[D>>16&255,D>>8&255,D&255]},enumerable:!1},hexToAnsi256:{value:(Q)=>V5.rgbToAnsi256(...V5.hexToRgb(Q)),enumerable:!1},ansi256ToAnsi:{value:(Q)=>{if(Q<8)return 30+Q;if(Q<16)return 90+(Q-8);let B,J,D;if(Q>=232)B=((Q-232)*10+8)/255,J=B,D=B;else{Q-=16;let G=Q%36;B=Math.floor(Q/36)/5,J=Math.floor(G/6)/5,D=G%6/5}let z=Math.max(B,J,D)*2;if(z===0)return 30;let Z=30+(Math.round(D)<<2|Math.round(J)<<1|Math.round(B));if(z===2)Z+=60;return Z},enumerable:!1},rgbToAnsi:{value:(Q,B,J)=>V5.ansi256ToAnsi(V5.rgbToAnsi256(Q,B,J)),enumerable:!1},hexToAnsi:{value:(Q)=>V5.ansi256ToAnsi(V5.hexToAnsi256(Q)),enumerable:!1}}),V5}var Ct6=Nt6(),O5=Ct6;var P41=new Set(["\x1B",""]),Vt6=39,vf1="\x07",W5A="[",Ot6="]",I5A="m",j41=`${Ot6}8;;`,H5A=(A)=>`${P41.values().next().value}${W5A}${A}${I5A}`,w5A=(A)=>`${P41.values().next().value}${j41}${A}${vf1}`,Rt6=(A)=>A.split(" ").map((Q)=>EJ(Q)),$f1=(A,Q,B)=>{let J=[...Q],D=!1,z=!1,Z=EJ(MM(A.at(-1)));for(let[G,X]of J.entries()){let K=EJ(X);if(Z+K<=B)A[A.length-1]+=X;else A.push(X),Z=0;if(P41.has(X))D=!0,z=J.slice(G+1,G+1+j41.length).join("")===j41;if(D){if(z){if(X===vf1)D=!1,z=!1}else if(X===I5A)D=!1;continue}if(Z+=K,Z===B&&G<J.length-1)A.push(""),Z=0}if(!Z&&A.at(-1).length>0&&A.length>1)A[A.length-2]+=A.pop()},Lt6=(A)=>{let Q=A.split(" "),B=Q.length;while(B>0){if(EJ(Q[B-1])>0)break;B--}if(B===Q.length)return A;return Q.slice(0,B).join(" ")+Q.slice(B).join("")},Tt6=(A,Q,B={})=>{if(B.trim!==!1&&A.trim()==="")return"";let J="",D,z,Z=Rt6(A),G=[""];for(let[q,F]of A.split(" ").entries()){if(B.trim!==!1)G[G.length-1]=G.at(-1).trimStart();let E=EJ(G.at(-1));if(q!==0){if(E>=Q&&(B.wordWrap===!1||B.trim===!1))G.push(""),E=0;if(E>0||B.trim===!1)G[G.length-1]+=" ",E++}if(B.hard&&Z[q]>Q){let H=Q-E,w=1+Math.floor((Z[q]-H-1)/Q);if(Math.floor((Z[q]-1)/Q)<w)G.push("");$f1(G,F,Q);continue}if(E+Z[q]>Q&&E>0&&Z[q]>0){if(B.wordWrap===!1&&E<Q){$f1(G,F,Q);continue}G.push("")}if(E+Z[q]>Q&&B.wordWrap===!1){$f1(G,F,Q);continue}G[G.length-1]+=F}if(B.trim!==!1)G=G.map((q)=>Lt6(q));let X=G.join(`
|
@@ -4597,10 +4597,10 @@ ${Y}`}else G=z.map((X)=>` ${X}`).join(`
|
|
4597
4597
|
`))D.push({value:"always",label:"Yes, always (add command to allowlist in your settings)"});else D.push({value:"always",label:`Yes, always (add "${P0.bold(z)}" to allowlist in your settings)`})}else D.push({value:"always",label:"Always (add to allowlist)"});return D.push({value:"no",label:"No"}),D}case"compaction":return[{value:"yes",label:"Yes"},...A.severity!=="critical"?[{value:"no",label:"No"}]:[]];case"out-of-credits":case"agent-file-creation":return[{value:"yes",label:"Yes"},{value:"no",label:"No"}]}}function ZQA({currentConfirmation:A,onConfirmationResponse:Q,debugInStorybook:B}){return S0(PA,{flexGrow:1,width:"100%",children:S0(RS,{title:DQA(A),options:zQA(A),onSelect:Q,borderColor:"yellow",width:"100%",debugInStorybook:B})})}var HQA=hA(O8(),1),YZ=hA(LS(),1);var YQA=hA(LS(),1),U51=Object.freeze({content:"",startPosition:0,endPosition:0});function q51(A,Q,B=0){if(A==="")return{width:Q,lines:[{...U51,startPosition:B,endPosition:B}],originalInput:A};let J=A.split(`
|
4598
4598
|
`),D=[],z=B;for(let Z=0;Z<J.length;Z++){let G=J[Z],X=YQA.default(G),{lines:K,position:Y}=J02(X,Q,z);D.push(...D02(K)),z=Y+1}return{width:Q,lines:D,originalInput:A}}function J02(A,Q,B){let J=B;if(A.length===0)return{lines:[{...U51,startPosition:J,endPosition:J}],position:J};let D=[],z=0;while(z<A.length){let Z=z02(A,Q,z),G=A.slice(z,Z),X=G.length;D.push({content:G.join(""),startPosition:J,endPosition:J+X}),J+=X,z=Z}return{lines:D,position:J}}function D02(A){if(A.length===0)return[];let Q=A[A.length-1],B={...Q,content:Q.content+" ",endPosition:Q.endPosition+1};return[...A.slice(0,-1),B]}function z02(A,Q,B){let J=B+Q;if(J<A.length){let D=Z02(A,B,J);if(D!==-1)J=D+1}return J}function Z02(A,Q,B){for(let J=B-1;J>=Q;J--)if(A[J]===" ")return J;return-1}function qQA(A,Q,B){let J=A.lines[Q];if(!J)return A.originalInput.length;if(B>=J.content.length)return J.endPosition-1;return J.startPosition+B}function TS(A,Q){if(A.lines.length===0)return{line:0,column:0};for(let D=0;D<A.lines.length;D++){let z=A.lines[D];if(Q>=z.startPosition&&Q<z.endPosition){let Z=Q-z.startPosition;return{line:D,column:Z}}}let B=A.lines.length-1,J=A.lines[B];return{line:B,column:J.endPosition-J.startPosition}}function UQA(A,Q){if(!Q)return A;let{lines:B,width:J,originalInput:D}=A;if(B.length===0)return q51(Q,J);let z=B.slice(0,-1),Z=B.at(-1),G=D.slice(Z.startPosition,Z.endPosition),X=q51(G+Q,J,Z.startPosition);return{width:J,lines:[...z,...X.lines],originalInput:D+Q}}var wQA=/\s/,G02=Object.freeze({width:1,lines:[U51],originalInput:""}),X02={input:"",cursorIndex:0,deletedText:[],width:0,virtualLines:G02},WQA=()=>{return HQA.useReducer(K02,X02)},F51=(A)=>wQA.test(A),FQA=(A)=>!wQA.test(A),jS=(A)=>A===`
|
4599
4599
|
`,K02=(A,Q)=>{switch(Q.type){case"set-width":{if(A.width===Q.width)return A;let B=IQA(A.input,Q.width);return{...A,width:Q.width,virtualLines:B}}case"set-input":return qc(A,Q.input);case"insert-text":{let{input:B,cursorIndex:J,virtualLines:D}=A,{text:z}=Q;if(J===YZ.default(B).length){let X=UQA(D,z);return{...A,input:X.originalInput,cursorIndex:J+YZ.default(z).length,virtualLines:X}}let Z=Yy1(B,J,J,z),G=J+YZ.default(z).length;return qc(A,Z,G)}case"replace-text":{let{startPos:B,endPos:J,replacement:D}=Q,z=Yy1(A.input,B,J,D),Z=B+YZ.default(D).length;return qc(A,z,Z)}case"move-cursor":{let B=YZ.default(A.input).length;if(Q.direction==="left")return eE(A,Math.max(0,A.cursorIndex-1));else if(Q.direction==="right")return eE(A,Math.min(B,A.cursorIndex+1));else if(Q.direction==="up")return EQA(A,-1);else return EQA(A,1)}case"jump-to-beginning":return eE(A,0);case"jump-to-end":return eE(A,YZ.default(A.input).length);case"jump-to-start-of-line":{let B=_S({...A,cursorIndex:A.cursorIndex-1},jS);return eE(A,B+1)}case"jump-to-end-of-line":{let B=PS({...A,cursorIndex:A.cursorIndex+1},jS);return eE(A,B)}case"jump-to-prev-word":{let B=_S(A,FQA),J=_S({...A,cursorIndex:B+1},F51);return eE(A,J+1)}case"jump-to-next-word":{let B=YZ.default(A.input),J=PS({...A},F51),D=PS({...A,cursorIndex:J},FQA);return eE(A,Math.min(D,B.length))}case"remove-text":{let{from:B,to:J}=Q;return kO(A,B,J)}case"delete-to-end-of-line":{let B=PS(A,jS);return kO(A,A.cursorIndex,B)}case"delete-to-beginning-of-line":{let B=_S(A,jS);return kO(A,B+1,A.cursorIndex)}case"delete-whole-line":{let B=_S({...A,cursorIndex:A.cursorIndex},jS),J=PS({...A,cursorIndex:A.cursorIndex-1},jS),D=Math.max(B,0);return kO(A,D,J)}case"delete-word-backward":{let B=_S({...A,cursorIndex:A.cursorIndex-1},F51);return kO(A,B+1,A.cursorIndex)}case"delete-word-forward":{let B=PS(A,F51);return kO(A,A.cursorIndex,B)}case"clear":return{...qc(A,"",0),deletedText:[]}}},IQA=(A,Q)=>{if(Q<=0)return{width:1,lines:[],originalInput:""};return q51(A,Q-1)},eE=(A,Q)=>{return{...A,cursorIndex:Q}},qc=(A,Q,B)=>{let J=B??YZ.default(Q).length,D=IQA(Q,A.width);return{...A,input:Q,cursorIndex:J,virtualLines:D}},Y02=(A,Q)=>{return Q?[Q,...A.deletedText.slice(0,9)]:A.deletedText},Yy1=(A,Q,B,J="")=>{let D=YZ.default(A);return D.slice(0,Q).join("")+J+D.slice(B).join("")},PS=(A,Q)=>{let B=YZ.default(A.input);for(let J=A.cursorIndex+1;J<B.length;J++)if(Q(B[J]))return J;return B.length},_S=(A,Q)=>{let B=YZ.default(A.input);for(let J=A.cursorIndex-1;J>=0;J--)if(Q(B[J]))return J;return-1},EQA=(A,Q)=>{let{cursorIndex:B,virtualLines:J}=A,{line:D,column:z}=TS(J,B),Z=qQA(J,D+Q,z);return eE(A,Z)},kO=(A,Q,B)=>{if(Q===B)return A;if(Q>B)return kO(A,B,Q);let J=YZ.default.substr(A.input,Q,B-Q),D=Yy1(A.input,Q,B);return{...qc(A,D,Q),deletedText:Y02(A,J)}};function MQA({error:A,onResponse:Q,ampURL:B}){let J=()=>{if(X41(A))return{title:"Unauthorized.",description:"Check your API key."};else if(TO(A))return{title:"Context window limit reached.",description:"You can compact the thread to reduce its size by summarizing it and starting with a fresh context window."};else if(K41(A))return{title:"Model provider overloaded.",description:"Try again in a few seconds."};else if(E4A(A)){let X=new URL("/pay",B).toString();return{title:"Insufficient credit balance.",description:`Visit ${P0.blue(X)} to buy more credits and continue using Amp.`}}else return{title:"Error",description:A.message}},D=()=>{let X=[{value:"retry",label:"Retry"},{value:"dismiss",label:"Dismiss"}];if(TO(A))return[{value:"compact",label:"Compact thread"},{value:"dismiss",label:"Dismiss"}];return X},z=(X)=>{return X?Q(X):Q("dismiss")},{title:Z,description:G}=J();return S0(PA,{flexGrow:1,width:"100%",children:S0(RS,{title:P0.red(Z),body:G,options:D(),onSelect:z,borderColor:"default",hideDismissalMessage:!0,width:"100%"})})}var vI=hA(O8(),1);var E51=hA(O8(),1);function SS(){let{stdout:A}=Zc(),[Q,B]=E51.useState([A.columns,A.rows]);return E51.useEffect(()=>{let J=()=>B([A.columns,A.rows]);return A.on("resize",J),()=>{A.off("resize",J)}},[A]),Q}function qy1(A){let Q=[];return Q.push(`${P0.blue("∴")} ${P0.bold("Thinking")}`),Q.push(...A.split(`
|
4600
|
-
`).map((B)=>` ${P0.dim(B)}`)),Q}function H51({thinking:A}){return S0(PA,{flexDirection:"column",children:qy1(A).map((Q,B)=>S0(PA,{children:S0(uA,{children:Q})},B))})}function q02(A){let Q=A.filter((D)=>D.role!=="assistant"||D.state.type==="complete"),B=[],J=[];for(let D of Q)if(J.push(D),D.role==="assistant"){if(D.state.type==="complete"&&D.state.stopReason==="end_turn")B.push([...J]),J=[]}else if(D.role==="info")B.push([...J]),J=[];if(J.length>0)B.push(J);return B}function U02(A){return A.some((Q)=>{return Q.content.some((B)=>{if(B.type==="text")return B.text.trim()!=="";return B.type==="tool_use"||B.type==="tool_result"||B.type==="thinking"})})}function F02(A){let Q=[],B=new Map;A.forEach((D)=>{D.content.forEach((z)=>{if(z.type==="tool_use")B.set(z.id,z)})});let J=[];return A.forEach((D)=>{D.content.forEach((z)=>{if(z.type==="text"&&z.text.trim()!=="")J.push({content:z,message:D,type:"text"});else if(z.type==="tool_result")J.push({content:z,message:D,type:"tool_result"});else if(z.type==="thinking")J.push({content:z,message:D,type:"thinking"})})}),J.forEach((D,z)=>{if(z>0)Q.push(" ");if(D.type==="text")Q.push(...d7A(D.content.text,D.message.role));else if(D.type==="tool_result"){let Z=B.get(D.content.toolUseID);if(Z){let G=G51(Z,D.content,!0);Q.push(...G)}}else{let Z=qy1(D.content.thinking);Q.push(...Z)}}),Q.map((D)=>D||" ")}function NQA({threadName:A,messages:Q,onExit:B}){let J=vI.useMemo(()=>q02(Q),[Q]),[D,z]=SS(),Z=vI.useMemo(()=>{let I=[];for(let M=0;M<J.length;M++){let N=J[M];if(N&&U02(N))I.push(M)}return I},[J]),G=(I)=>{if(Z.length<=0)return[];let M=Z[I];if(M===void 0)return["[Error: Invalid turn index]"];let N=J[M];if(!N)return["[Error: Turn not found]"];try{return F02(N)}catch(V){return["[Error: Failed to render this turn]"]}},X=Math.max(0,Z.length-1),[K,Y]=vI.useState(X),[q,F]=vI.useState(0),E=z-5,H=G(K);vI.useEffect(()=>{F(0)},[K]),tE((I,M)=>{if(I==="q"||M.ctrlC||M.ctrl&&I==="r"){B();return}let N=H;if(M.ctrl&&I==="[")Y((V)=>Math.max(0,V-1));else if(M.ctrl&&I==="]")Y((V)=>Math.min(Z.length-1,V+1));else if(I==="h"||M.leftArrow)Y((V)=>Math.max(0,V-1));else if(I==="l"||M.rightArrow)Y((V)=>Math.min(Z.length-1,V+1));switch(I){case" ":F((V)=>{let L=Math.max(0,N.length-E);return Math.min(L,V+E)});break;case"b":F((V)=>Math.max(0,V-E));break;case"d":F((V)=>{let L=Math.max(0,N.length-E);return Math.min(L,V+Math.floor(E/2))});break;case"u":F((V)=>Math.max(0,V-Math.floor(E/2)));break;case"j":F((V)=>{let L=Math.max(0,H.length-E);return Math.min(L,V+1)});break;case"k":F((V)=>Math.max(0,V-1));break;case"g":F(0);break;case"G":F(()=>{return Math.max(0,H.length-E)});break}if(M.upArrow)F((V)=>Math.max(0,V-1));else if(M.downArrow)F((V)=>{let L=Math.max(0,H.length-E);return Math.min(L,V+1)});else if(M.home)F(0);else if(M.end)F(()=>{return Math.max(0,H.length-E)})});let w=Math.max(0,H.length-E),W=w>0?Math.round(q/w*100):100;return E2(PA,{flexDirection:"column",width:D,height:z-1,flexGrow:0,flexShrink:0,children:[S0(PA,{marginBottom:1,children:E2(uA,{bold:!0,children:[A," – Turn ",K+1,"/",Z.length]})}),S0(PA,{flexDirection:"column",height:E,flexGrow:0,flexShrink:1,children:H.length>0?Array.from({length:E},(I,M)=>{let N=q+M,V=N<H.length?H[N]:null;return S0(PA,{flexShrink:0,children:S0(uA,{wrap:"truncate",children:V||" "})},M)}):S0(PA,{children:S0(uA,{dimColor:!0,italic:!0,children:"No content to display"})})}),E2(PA,{marginTop:1,flexGrow:0,flexShrink:0,flexDirection:"row",children:[S0(PA,{flexGrow:1,children:E2(uA,{dimColor:!0,children:["Lines ",q+1,"-",Math.min(q+E,H.length)," (",W,"%)"]})}),S0(PA,{flexGrow:0,children:S0(uA,{dimColor:!0,wrap:"truncate",children:"Space/b: page • j/k: line • g/G: top/bottom • h/l: turns • q: quit"})})]})]})}l6();var XD=hA(O8(),1),$S=hA(LS(),1);function CQA({onSubmit:A,history:Q,disabled:B=!1,viewState:J,todosBoxRef:D,editorState:z,editorDispatch:Z}){let G=XD.useRef(null),[X]=SS(),{onWordHighlight:K,ignore:Y,completionSelected:q,hasCompletions:F}=D51(),{input:E,cursorIndex:H,deletedText:w,virtualLines:W}=z;XD.useEffect(()=>{if(G.current){let{width:$}=Gc(G.current);Z({type:"set-width",width:$})}},[X,Z]);let[I,M]=XD.useState(null),N=I!==null,V=XD.useMemo(()=>TS(W,H),[H,W]),L=XD.useCallback(()=>{if(!N)M(E);let $=Q.previous();if($!==null)Z({type:"set-input",input:$})},[Q,N,E,Z]),T=XD.useCallback(()=>{if(!N)M(E);let $=Q.next();if($!==null)Z({type:"set-input",input:$});else if(I!==null)Z({type:"set-input",input:I}),M(null),Q.reset()},[Q,N,I,E,Z]),R=XD.useCallback(()=>{if(!I)return;Z({type:"set-input",input:I}),M(null),Q.reset()},[I,Q,Z]),j=XD.useMemo(()=>E02(E,H),[E,H]);XD.useEffect(()=>K(j?.word||""),[j,K]),XD.useEffect(()=>{let $=q.subscribe((S)=>{if(!j)return;Z({type:"replace-text",startPos:j.start,endPos:j.end,replacement:`@${S} `})});return()=>$.unsubscribe()},[q,j,Z]),tE(($,S)=>{if(B)return;if($&&$.length>1&&$!=="\x1B[27;2;13~"&&$!=="[27;2;13~"&&$!=="\x1B[13;2u"&&!$.match(/^\u001b\[\d+;\d+u$/)){j1.info("Handling multi-line paste - inserting raw content",{keyInput:JSON.stringify($),cursorIndex:H,inputLength:E.length});let u=$.replace(/\r\n/g,`
|
4600
|
+
`).map((B)=>` ${P0.dim(B)}`)),Q}function H51({thinking:A}){return S0(PA,{flexDirection:"column",children:qy1(A).map((Q,B)=>S0(PA,{children:S0(uA,{children:Q})},B))})}function q02(A){let Q=A.filter((D)=>D.role!=="assistant"||D.state.type==="complete"),B=[],J=[];for(let D of Q)if(J.push(D),D.role==="assistant"){if(D.state.type==="complete"&&D.state.stopReason==="end_turn")B.push([...J]),J=[]}else if(D.role==="info")B.push([...J]),J=[];if(J.length>0)B.push(J);return B}function U02(A){return A.some((Q)=>{return Q.content.some((B)=>{if(B.type==="text")return B.text.trim()!=="";return B.type==="tool_use"||B.type==="tool_result"||B.type==="thinking"})})}function F02(A){let Q=[],B=new Map;A.forEach((D)=>{D.content.forEach((z)=>{if(z.type==="tool_use")B.set(z.id,z)})});let J=[];return A.forEach((D)=>{D.content.forEach((z)=>{if(z.type==="text"&&z.text.trim()!=="")J.push({content:z,message:D,type:"text"});else if(z.type==="tool_result")J.push({content:z,message:D,type:"tool_result"});else if(z.type==="thinking")J.push({content:z,message:D,type:"thinking"})})}),J.forEach((D,z)=>{if(z>0)Q.push(" ");if(D.type==="text")Q.push(...d7A(D.content.text,D.message.role));else if(D.type==="tool_result"){let Z=B.get(D.content.toolUseID);if(Z){let G=G51(Z,D.content,!0);Q.push(...G)}}else{let Z=qy1(D.content.thinking);Q.push(...Z)}}),Q.map((D)=>D||" ")}function NQA({threadName:A,messages:Q,onExit:B}){let J=vI.useMemo(()=>q02(Q),[Q]),[D,z]=SS(),Z=vI.useMemo(()=>{let I=[];for(let M=0;M<J.length;M++){let N=J[M];if(N&&U02(N))I.push(M)}return I},[J]),G=(I)=>{if(Z.length<=0)return[];let M=Z[I];if(M===void 0)return["[Error: Invalid turn index]"];let N=J[M];if(!N)return["[Error: Turn not found]"];try{return F02(N)}catch(V){return["[Error: Failed to render this turn]"]}},X=Math.max(0,Z.length-1),[K,Y]=vI.useState(X),[q,F]=vI.useState(0),E=z-5,H=G(K);vI.useEffect(()=>{F(0)},[K]),tE((I,M)=>{if(I==="q"||M.ctrlC||M.ctrl&&I==="r"){B();return}let N=H;if(M.ctrl&&I==="[")Y((V)=>Math.max(0,V-1));else if(M.ctrl&&I==="]")Y((V)=>Math.min(Z.length-1,V+1));else if(I==="h"||M.leftArrow)Y((V)=>Math.max(0,V-1));else if(I==="l"||M.rightArrow)Y((V)=>Math.min(Z.length-1,V+1));switch(I){case" ":F((V)=>{let L=Math.max(0,N.length-E);return Math.min(L,V+E)});break;case"b":F((V)=>Math.max(0,V-E));break;case"d":F((V)=>{let L=Math.max(0,N.length-E);return Math.min(L,V+Math.floor(E/2))});break;case"u":F((V)=>Math.max(0,V-Math.floor(E/2)));break;case"j":F((V)=>{let L=Math.max(0,H.length-E);return Math.min(L,V+1)});break;case"k":F((V)=>Math.max(0,V-1));break;case"g":F(0);break;case"G":F(()=>{return Math.max(0,H.length-E)});break}if(M.upArrow)F((V)=>Math.max(0,V-1));else if(M.downArrow)F((V)=>{let L=Math.max(0,H.length-E);return Math.min(L,V+1)});else if(M.home)F(0);else if(M.end)F(()=>{return Math.max(0,H.length-E)})});let w=Math.max(0,H.length-E),W=w>0?Math.round(q/w*100):100;return E2(PA,{flexDirection:"column",width:D,height:z-1,flexGrow:0,flexShrink:0,children:[S0(PA,{marginBottom:1,children:E2(uA,{bold:!0,children:[A," – Turn ",K+1,"/",Z.length]})}),S0(PA,{flexDirection:"column",height:E,flexGrow:0,flexShrink:1,children:H.length>0?Array.from({length:E},(I,M)=>{let N=q+M,V=N<H.length?H[N]:null;return S0(PA,{flexShrink:0,children:S0(uA,{wrap:"truncate",children:V||" "})},M)}):S0(PA,{children:S0(uA,{dimColor:!0,italic:!0,children:"No content to display"})})}),E2(PA,{marginTop:1,flexGrow:0,flexShrink:0,flexDirection:"row",children:[S0(PA,{flexGrow:1,children:E2(uA,{dimColor:!0,children:["Lines ",q+1,"-",Math.min(q+E,H.length)," (",W,"%)"]})}),S0(PA,{flexGrow:0,children:S0(uA,{dimColor:!0,wrap:"truncate",children:"Space/b: page • j/k: line • g/G: top/bottom • h/l: turns • q: quit"})})]})]})}l6();var XD=hA(O8(),1),$S=hA(LS(),1);function CQA({onSubmit:A,history:Q,disabled:B=!1,viewState:J,todosBoxRef:D,editorState:z,editorDispatch:Z}){let G=XD.useRef(null),[X]=SS(),{onWordHighlight:K,ignore:Y,completionSelected:q,hasCompletions:F}=D51(),{input:E,cursorIndex:H,deletedText:w,virtualLines:W}=z;XD.useEffect(()=>{if(G.current){let{width:$}=Gc(G.current);Z({type:"set-width",width:$})}},[X,Z,D.current,G.current]);let[I,M]=XD.useState(null),N=I!==null,V=XD.useMemo(()=>TS(W,H),[H,W]),L=XD.useCallback(()=>{if(!N)M(E);let $=Q.previous();if($!==null)Z({type:"set-input",input:$})},[Q,N,E,Z]),T=XD.useCallback(()=>{if(!N)M(E);let $=Q.next();if($!==null)Z({type:"set-input",input:$});else if(I!==null)Z({type:"set-input",input:I}),M(null),Q.reset()},[Q,N,I,E,Z]),R=XD.useCallback(()=>{if(!I)return;Z({type:"set-input",input:I}),M(null),Q.reset()},[I,Q,Z]),j=XD.useMemo(()=>E02(E,H),[E,H]);XD.useEffect(()=>K(j?.word||""),[j,K]),XD.useEffect(()=>{let $=q.subscribe((S)=>{if(!j)return;Z({type:"replace-text",startPos:j.start,endPos:j.end,replacement:`@${S} `})});return()=>$.unsubscribe()},[q,j,Z]),tE(($,S)=>{if(B)return;if($&&$.length>1&&$!=="\x1B[27;2;13~"&&$!=="[27;2;13~"&&$!=="\x1B[13;2u"&&!$.match(/^\u001b\[\d+;\d+u$/)){j1.info("Handling multi-line paste - inserting raw content",{keyInput:JSON.stringify($),cursorIndex:H,inputLength:E.length});let u=$.replace(/\r\n/g,`
|
4601
4601
|
`).replace(/\r/g,`
|
4602
4602
|
`).replace(/\t/g," ");j1.info("Normalized input",{normalizedInput:JSON.stringify(u)}),Z({type:"insert-text",text:u});return}if(S.pageUp){L();return}if(S.pageDown){T();return}if(S.upArrow||S.ctrl&&$==="p"){if(F)return;if(TS(W,H).line===0){L();return}Z({type:"move-cursor",direction:"up"});return}if(S.downArrow||S.ctrl&&$==="n"){if(F)return;if(TS(W,H).line===W.lines.length-1){T();return}Z({type:"move-cursor",direction:"down"});return}if(S.escape){if(F){Y();return}if(N)R();else if(E.trim().length===0)return;else{if(J.state==="active"&&J.inferenceState==="running")return;Z({type:"set-input",input:""})}return}if(S.super&&S.leftArrow||S.ctrl&&$==="a"){Z({type:"jump-to-start-of-line"});return}if(S.super&&S.rightArrow||S.ctrl&&$==="e"){Z({type:"jump-to-end-of-line"});return}if(S.alt&&S.rightArrow){Z({type:"jump-to-next-word"});return}if(S.alt&&S.leftArrow){Z({type:"jump-to-prev-word"});return}if(S.leftArrow||S.ctrl&&$==="b"){Z({type:"move-cursor",direction:"left"});return}if(S.rightArrow||S.ctrl&&$==="f"){Z({type:"move-cursor",direction:"right"});return}if(S.home){Z({type:"jump-to-beginning"});return}if(S.end){Z({type:"jump-to-end"});return}if(S.ctrl&&S.backspace||S.alt&&S.backspace||S.ctrl&&$==="w"){Z({type:"delete-word-backward"});return}if(S.super&&S.backspace){Z({type:"delete-whole-line"});return}if(S.ctrl&&$==="u"){Z({type:"delete-to-beginning-of-line"});return}if(S.ctrl&&$==="k"){Z({type:"delete-to-end-of-line"});return}if(S.ctrl&&$==="d"||S.delete){if(H<$S.default(E).length)Z({type:"remove-text",from:H,to:H+1});return}if(S.alt&&$==="d"){Z({type:"delete-word-forward"});return}if(S.backspace||S.ctrl&&$==="h"){if(H>0)Z({type:"remove-text",from:H-1,to:H});return}if(S.ctrl&&$==="y"){if(w.length>0){let u=w[0];Z({type:"insert-text",text:u})}return}let x=S.return&&(S.shift||S.meta||S.ctrl||S.alt)||!S.return&&$==="\r"||$==="\x1B[27;2;13~"||$==="[27;2;13~"||$==="\x1B[13;2u";if(j1.debug("Modified Enter detection",{isModifiedEnter:x,"key.return":S.return,"key.shift":S.shift,"key.meta":S.meta,"key.ctrl":S.ctrl,keyInput:JSON.stringify($),hasContent:E.trim().length>0}),x){if(F)return;Z({type:"insert-text",text:`
|
4603
|
-
`});return}if(S.return&&!S.shift&&!S.meta&&!S.ctrl){if(F)return;if(E.trim().length>0)P(E.trim());else return;return}if(!S.ctrl&&!S.meta&&!S.tab&&$)Z({type:"insert-text",text:$})});let P=async($)=>{M(null),Q.add($),Q.reset();try{A($)}catch(S){j1.error("Failed to submit message",S)}};return S0(PA,{flexDirection:"column",width:"100%",flexGrow:1,flexShrink:0,ref:G,children:W.lines.map(($,S)=>S0(PA,{flexShrink:0,flexDirection:"row",children:S0(PA,{flexGrow:1,flexShrink:0,width:"100%",children:S===V.line?E2(Xc,{children:[S0(uA,{dimColor:B,children:$S.default.substr($.content,0,V.column)||""}),S0(uA,{inverse:!B,dimColor:B,children:$S.default($.content)[V.column]??" "}),S0(uA,{dimColor:B,children:$S.default.substr($.content,V.column+1)||""})]}):S0(uA,{dimColor:B,children:$.content||" "})})},S))})}function E02(A,Q){let B=$S.default(A),J=Q,D=Q;while(J>0&&/\S/.test(B[J-1]||""))J--;while(D<B.length&&/\S/.test(B[D]||""))D++;let z=B.slice(J,D).join("");if(!z.trim())return null;return{word:z,start:J,end:D}}var vS=hA(O8(),1);vU();var w51=hA(O8(),1);function VQA(){let[A,Q]=w51.useState(null);return w51.useEffect(()=>{let B=eR.subscribe(Q);return()=>{B.unsubscribe()}},[]),{jetbrainsState:A}}XB1();var Uy1=hA(O8(),1);function OQA({viewState:A}){let Q=Uy1.useMemo(()=>{return A.state==="active"?A.fileChanges:void 0},[A]),B=Uy1.useMemo(()=>Sh1(Q),[Q]);if(!Q||B.totalFiles===0)return null;let J=B.totalFiles-B.revertedFiles;return E2(PA,{gap:1,children:[E2(uA,{dimColor:!0,children:[J," ",J===1?"file":"files"," changed"]}),(B.totalAdded>0||B.totalModified>0||B.totalRemoved>0)&&E2(uA,{children:[E2(uA,{color:"green",children:["+",B.totalAdded]}),E2(uA,{color:"yellow",children:[" ~",B.totalModified]}),E2(uA,{color:"red",children:[" -",B.totalRemoved]})]})]})}import RQA from"node:path";function LQA({jetbrainsStatus:A}){if(!A||!A.enabled)return null;let Q=process.cwd(),B=A.productName&&A.openFile&&A.workspace===Q,J;if(!A.productName)J=" IDE Not Running. To fix this problem, start your JetBrains IDE, exit this session and run `amp threads continue`.";else if(!A.workspace&&!A.openFile)J=" No Open File. To fix this problem, open a project and open a file in your JetBrains IDE.";else if(!A.workspace&&A.openFile){let D=RQA.basename(A.openFile);if(A.openFile.includes("!/"))J=` External File Open. The open file '${A.openFile}' does not belong to your project root. To fix this problem, open a file in your project sources and try again.`;else J=` Project Detection Failed. Failed to map your open file '${D}' to a project root directory. Please note that multi-root projects are not supported at the moment. Please report a bug on https://ampcode.com/discord and include relevant logs from ~/.cache/amp/logs/cli.log`}else if(!A.openFile)J=" No Open File. To fix this problem, open a file in your project.";else if(A.workspace!==Q)J=` Project Mismatch. The currently open project "${A.workspace}" does not match the working directory of Amp CLI ("${Q}").`;return S0(PA,{gap:B?1:2,children:E2(uA,{color:B?"green":"red",children:[B?"✓":"×"," ",A.productName??"JetBrains"," ",B?"• "+RQA.basename(A.openFile??""):J]})})}var W51=hA(O8(),1);function TQA(){let[A,Q]=W51.useState(0);W51.useEffect(()=>{let D=setInterval(()=>{Q((z)=>z+1)},200);return()=>clearInterval(D)},[]);let B=[{char:"∿",dim:!1},{char:"∾",dim:!1},{char:"∽",dim:!1},{char:"≋",dim:!1},{char:"≈",dim:!1},{char:"∼",dim:!1}],J=B[A%B.length];return S0(uA,{dimColor:J.dim,children:J.char})}var H02=0.8,w02=0.9;function jQA({tokenUsage:A}){let Q=A.totalInputTokens/A.maxInputTokens,B=Math.round(Q*100),J=Math.max(0,Math.min(B,100)),D="▁▂▃▄▅▆▇█",z=Math.floor(J*8/100),G="▁▂▃▄▅▆▇█"[Math.max(0,Math.min(z,7))],X=`${J}% ┃${G}┃`,K,Y=PQA(Q);if(Y==="danger")K="red";else if(Y==="warning")K="yellow";return S0(uA,{color:K,children:X})}function PQA(A){if(A>=w02)return"danger";else if(A>=H02)return"warning";return!1}function _QA(A){let Q=A.totalInputTokens/A.maxInputTokens;return PQA(Q)}function SQA({threadViewState:A,tokenUsage:Q,waitingForConfirmation:B,showingEphemeralError:J}){if(!A||A.state!=="active")return null;let D=null,z=Q?_QA(Q):!1,Z=!1;if(A.summaryState==="summarizing")D="Compacting...";else if(A.inferenceState==="running")D="Running inference...";else if(A.interactionState==="tool-running")D="Running tools...";else if(!J&&z==="warning")D="Context window is almost full. Ctrl-O to compact thread.",Z=!0;else if(!J&&z==="danger")D="Context window is close to full. Ctrl-O to compact thread.",Z=!0;if(!D)return null;let G=()=>{if(A.inferenceState==="running"&&A.interactionState!=="tool-running")return"blueBright";if(A.interactionState==="tool-running")return"greenBright";return"default"},X=()=>{if(Z&&z==="warning")return"yellow";if(Z&&z==="danger")return"red";if(A.inferenceState==="cancelled")return"dim";return"default"},K=A.inferenceState!=="cancelled"&&!Z&&!B;return E2(PA,{flexDirection:"row",gap:1,children:[K&&S0(uA,{color:G(),children:S0(TQA,{})}),S0(uA,{italic:!Z&&A.inferenceState==="cancelled",color:X(),children:D})]})}function $QA({view:A,threadViewState:Q,threadTokenUsage:B,hasCompletedMessages:J,width:D}){let{jetbrainsState:z}=VQA(),Z=vS.useRef(null),{stdout:G}=Zc(),[X,K]=vS.useState(G.columns);vS.useEffect(()=>{if(Z.current){let{width:F}=Gc(Z.current);K(F)}},[]);let Y=D||X,q=Y&&Y<60;return E2(PA,{gap:2,marginLeft:2,ref:Z,children:[E2(PA,{flexGrow:1,flexDirection:"row",gap:2,children:[S0(SQA,{threadViewState:Q,tokenUsage:B,waitingForConfirmation:A==="confirming"||A==="ephemeral-error",showingEphemeralError:A==="ephemeral-error"}),E2(PA,{children:[A==="confirming-exit"&&S0(uA,{dimColor:!0,children:"Ctrl+C again to exit"}),J&&A==="running"&&!q&&S0(uA,{dimColor:!0,children:"Ctrl+R to expand"})]})]}),E2(PA,{flexGrow:0,gap:2,children:[S0(LQA,{jetbrainsStatus:z}),!q&&S0(OQA,{viewState:Q}),B&&S0(jQA,{tokenUsage:B})]})]})}l6();P0.level=1;var W02={code:P0.white,codespan:P0.white,blockquote:P0.gray.italic,html:P0.gray,heading:P0.bold,firstHeading:P0.bold,hr:P0.reset,table:P0.reset,paragraph:P0.reset,strong:P0.bold,em:P0.italic,del:P0.dim.gray.strikethrough,link:P0.cyan,href:P0.cyan,text:P0.reset,unescape:!0,emoji:!0,width:80,showSectionPrefix:!0,reflowText:!1,tab:4,tableOptions:{wordWrap:!0,wrapOnWordBoundary:!1,style:{head:["bold"],border:["grey"],compact:!1}}},I02={keyword:P0.bold,built_in:P0.dim,type:P0.dim,literal:P0.italic,number:P0.reset,regexp:P0.dim.italic,string:P0.dim,subst:P0.reset,symbol:P0.reset,class:P0.bold,function:P0.reset,title:P0.reset,params:P0.reset,comment:P0.dim.italic,doctag:P0.dim.italic,meta:P0.dim,"meta-keyword":P0.reset,"meta-string":P0.reset,section:P0.reset,tag:P0.dim,name:P0.bold,"builtin-name":P0.reset,attr:P0.dim,attribute:P0.reset,variable:P0.reset,bullet:P0.reset,code:P0.reset,emphasis:P0.italic,strong:P0.bold,formula:P0.reset,link:P0.underline,quote:P0.reset,"selector-tag":P0.reset,"selector-id":P0.reset,"selector-class":P0.reset,"selector-attr":P0.reset,"selector-pseudo":P0.reset,"template-tag":P0.reset,"template-variable":P0.reset,addition:P0.bold.underline,deletion:P0.dim.strikethrough,default:P0.reset};w9.use(q91({...W02,reflowText:!1},{ignoreIllegals:!0,theme:I02}));function I51({children:A}){let Q;try{Q=w9(A,{async:!1}).trimEnd()}catch(B){j1.error("Markdown rendering failed",B,{input:A}),Q=A}return S0(uA,{children:Q})}function vQA({message:A}){let Q=A.content.filter((B)=>B.type==="thinking"||B.type==="text");if(!Q.length)return null;return S0(PA,{flexDirection:"column",marginBottom:1,children:Q.map((B,J)=>{let D=J>0?1:0;if(B.type==="thinking")return S0(H51,{thinking:B.thinking},J);else return S0(PA,{marginTop:D,children:S0(I51,{children:B.text})},J);return null})})}function kQA({message:A,marginTop:Q=0}){if(!A.content.some((D)=>D.type==="text"||D.type==="thinking"||D.type==="summary"&&D.summary.type==="message"))return null;let J=A.role==="assistant"&&A.state.type==="cancelled";return E2(PA,{flexDirection:"column",gap:1,marginTop:Q,children:[A.content.map((D,z)=>{if(D.type==="text")switch(A.role){case"assistant":return S0(PA,{flexDirection:"column",children:S0(I51,{children:D.text})},z);case"user":return S0(PA,{borderStyle:"bold",borderColor:"green",borderLeft:!0,borderTop:!1,borderBottom:!1,borderRight:!1,paddingLeft:1,children:S0(uA,{color:"green",italic:!0,children:D.text})},z)}else if(D.type==="thinking")return S0(H51,{thinking:D.thinking},z);else if(D.type==="summary"&&D.summary.type==="message")return S0(PA,{children:E2(uA,{color:"grey",italic:!0,children:["Summary: ",D.summary.summary]})},z);else return null}),J&&S0(PA,{children:S0(uA,{italic:!0,dimColor:!0,children:"Cancelled"})})]})}function fQA({todos:A}){if(!Array.isArray(A)||A.length===0)return null;return E2(PA,{borderStyle:"round",borderColor:"dim",paddingX:1,flexDirection:"column",flexGrow:1,flexShrink:0,children:[S0(PA,{children:S0(uA,{dimColor:!0,bold:!0,children:"TODOs"})}),A.map((Q,B)=>S0(PA,{gap:1,children:E2(uA,{dimColor:!0,wrap:"truncate",children:[S0(uA,{children:"• "}),S0(uA,{bold:Q.status==="in-progress",strikethrough:Q.status==="completed",children:Q.content})]})},Q.id))]})}BQ();VD();var M51=hA(O8(),1);VD();function yQA(A){let Q=[],B=new Map;for(let J of A.messages)for(let D of J.content)if(D.type==="tool_use")B.set(D.id,D);else if(D.type==="tool_result"){let z=B.get(D.toolUseID);if(z&&!QQ(D.run))Q.push({toolUse:z,toolRun:D.run})}return Q}function bQA(A,Q){let B=A.messages.at(-1);if(B?.content.some((D)=>D.type==="tool_result"&&D.run.status==="blocked-on-user"))return{type:"idle"};if(Q.filter((D)=>D.toolRun.status==="in-progress").length>0)return{type:"running-tools",startTime:Date.now()};let J=dq(A);if(J)return J;if(B&&B.role==="assistant"&&B.state.type==="complete"&&B.state.stopReason==="end_turn")return{type:"idle"};return{type:"idle"}}function M02(A,Q){switch(Q.type){case"subthread-patch":{let{thread:B,subthread:J}=Q,D=yQA(B),z=A.subagents[J.threadID]??{subThreadID:B.id,agentNumber:J.sequenceNumber,taskDescription:J.toolUse.input?.description||"Task",isCompleted:!1,agentState:{type:"idle"}},Z=bQA(B,D),G=z.agentState===Z?z:{...z,agentState:Z},X={...A.tools};return Object.entries(X).forEach(([K,Y])=>{if(Y.subthreadID===B.id&&QQ(Y.toolRun))delete X[K]}),D.forEach(({toolUse:K,toolRun:Y})=>{X[K.id]={id:K.id,subthreadID:B.id,toolRun:Y,toolUse:K}}),{subagents:{...A.subagents,[J.threadID]:G},tools:X,transcript:A.transcript,viewState:A.viewState,streamingAssistantMessage:A.streamingAssistantMessage,todosList:A.todosList,mainThread:A.mainThread}}case"main-thread-patch":{let{thread:B,subthreads:J,workerStatus:D}=Q,z=XX(B),Z={...A.subagents};for(let F of J){let E=Z[F.threadID];if(!E)continue;let{isCompleted:H,result:w}=V02(z,F.toolUse.id);Z[F.threadID]={...E,isCompleted:H,result:w||E.result}}let G=N02(A.transcript,B),X=Ib(B,D),K=C02(B),Y=tl({messages:B.messages}),q=Array.isArray(Y)?Y:[];return{...A,subagents:Z,transcript:G,viewState:X,streamingAssistantMessage:K,todosList:q,mainThread:B}}case"worker-status-change":{if(!A.mainThread)return A;let B=Ib(A.mainThread,Q.workerStatus);if(B===A.viewState)return A;return{...A,viewState:B}}default:return A}}function gQA(A,Q){let[B,J]=M51.useReducer(M02,{subagents:{},tools:{},transcript:{items:[],activeTools:[]},viewState:{state:"initial",interactionState:!1},streamingAssistantMessage:null,todosList:[],mainThread:null});return M51.useEffect(()=>{let D=new Map,z=[],Z={state:"initial"},G=A.observePatches(Q.thread.id).pipe(LB1()).subscribe((Y)=>{J({type:"main-thread-patch",thread:Y,subthreads:z,workerStatus:Z})}),X=Q.status.subscribe((Y)=>{Z=Y,J({type:"worker-status-change",workerStatus:Y})}),K=Q.subthreads.subscribe((Y)=>{z=Y;for(let q of Y){if(D.has(q.toolUse.id))continue;let F=A.observePatches(q.threadID).pipe(LB1()).subscribe((E)=>{J({type:"subthread-patch",thread:E,subthread:q})});D.set(q.toolUse.id,F)}});return()=>{G.unsubscribe(),X.unsubscribe(),K.unsubscribe(),D.forEach((Y)=>Y.unsubscribe())}},[A,Q]),{transcript:B.transcript,subagents:Object.values(B.subagents),subagentActiveTools:Object.values(B.tools).map((D)=>({toolUse:D.toolUse,toolRun:D.toolRun,subthreadID:D.subthreadID})),viewState:B.viewState,streamingAssistantMessage:B.streamingAssistantMessage,todosList:B.todosList,mainThread:B.mainThread}}function N02(A,Q){let B=[],J=[...A.items],D=new Set;for(let Z of A.items)D.add(Z.id);let z=new Set;for(let[Z,G]of Q.messages.entries())switch(G.role){case"assistant":if(G.state.type==="streaming"){for(let X of G.content)if(X.type==="tool_use")z.add(X.id);continue}if(!D.has(`assistant-${Z}`))J.push({type:"message",id:`assistant-${Z}`,message:G});break;case"info":if(!D.has(`info-${Z}`))J.push({type:"message",id:`info-${Z}`,message:G});break;case"user":if(!D.has(`user-${Z}`))J.push({type:"message",id:`user-${Z}`,message:G});for(let X of G.content)if(X.type==="tool_result"){let K=I4(Q,X.toolUseID);if(!K)throw new Error(`(bug) tool use ${X.toolUseID} not found`);if(z.has(X.toolUseID)||!QQ(X.run)){if(K.name!==U5)B.push({toolUse:K,toolRun:X.run});continue}if(!D.has(X.toolUseID))J.push({type:"toolResult",id:X.toolUseID,toolUse:K,toolResult:X})}break}return{items:J,activeTools:B}}function C02(A){let Q=P5(A,"assistant");return Q?.state.type==="streaming"?Q:null}function V02(A,Q){let B=A.get(Q),J=(B&&QQ(B.run))??!1,D=B&&B.run,z=D&&D.status==="done"?D.result:void 0;return{isCompleted:J,result:z}}var N51=hA(O8(),1);function xQA(){return S0(PA,{flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:3,marginLeft:4,children:S0(PA,{children:S0(uA,{color:"green",bold:!0,children:"Welcome to Amp"})})})}function hQA(){let[A,Q]=N51.useState(0),B=["Amp","AMP","AmP","amP","aMP","AMp"];return N51.useEffect(()=>{let J=setInterval(()=>{Q((D)=>(D+1)%B.length)},50);return()=>clearInterval(J)},[B.length]),S0(PA,{flexDirection:"column",alignItems:"flex-start",justifyContent:"center",minHeight:3,marginLeft:4,children:S0(PA,{children:E2(uA,{color:"green",bold:!0,children:["Welcome to ",B[A]]})})})}var O02=200;function mQA({threadService:A,history:Q,worker:B,sendToolConfirmation:J,sendUserMessage:D,exit:z,cancel:Z,ampURL:G}){let[X]=SS(),{viewState:K,subagents:Y,subagentActiveTools:q,transcript:F,streamingAssistantMessage:E,todosList:H,mainThread:w}=gQA(A,B),W=SQ.useMemo(()=>E?F.items.concat({id:"streaming-assistant",type:"message",message:E}):F.items,[E,F.items]),I=w?.title||"Untitled",M=SQ.useMemo(()=>w?gR(w):void 0,[w]);SQ.useEffect(()=>{if(w?.title){let J1=process.cwd().replace(process.env.HOME||"","~");process.stdout.write(`\x1B]0;amp - ${w.title} - ${J1}\x07`)}},[w?.title]);let N=SQ.useRef(new r2),[V,L]=SQ.useState({baseView:"running",rerendering:!1,resizeCounter:0,dismissedEphemeralError:null}),T=SQ.useRef(null),R=SQ.useRef(null),[j,P]=WQA(),$=SQ.useCallback(()=>{L((J1)=>({...J1,rerendering:!0})),process.stdout.write("\x1B[2J\x1B[3J\x1B[H"),N.current.next()},[L,N]),S=SQ.useCallback((J1)=>{P({type:"clear"}),D(J1)},[P,D]);SQ.useEffect(()=>{return process.stdout.on("resize",$),()=>{process.stdout.off("resize",$)}},[$]),SQ.useEffect(()=>{let J1=N.current.pipe(jJ(O02)).subscribe(()=>{L((D1)=>({...D1,rerendering:!1,resizeCounter:D1.resizeCounter+1}))});return()=>{J1.unsubscribe()}},[N,L]),SQ.useEffect(()=>{let J1=N.current,D1=T.current;return()=>{if(J1.complete(),D1)clearTimeout(D1)}},[N]);let x=[...F.activeTools,...q],u=x.filter((J1)=>J1.toolRun.status==="blocked-on-user"),_=SQ.useMemo(()=>JQA(u),[u]),{hasCompletions:f,completions:v,selectCompletion:y}=D51(),k=SQ.useMemo(()=>{if(K.state!=="active"||!K.ephemeralError)return null;if(V.dismissedEphemeralError===K.ephemeralError)return null;return K.ephemeralError},[K,V.dismissedEphemeralError]),m=k!==null?"ephemeral-error":_!==null?"confirming":f?"picking-file":V.baseView,l=(J1)=>{if(!_||_.type!=="tool-use")return;if(_.tools.length>0){let D1=_.tools[0],w1=Array.from(J1==="always"?D1.toAllow??[]:[]);J(D1.useBlock.id,J1==="yes"||J1==="always",w1,_.subthreadID)}},d=(J1)=>{switch(J1){case"compact":L((D1)=>({...D1,dismissedEphemeralError:null})),B.summarizeThread();break;case"dismiss":L((D1)=>({...D1,dismissedEphemeralError:k}));break;case"retry":L((D1)=>({...D1,dismissedEphemeralError:null})),B.retry();break;default:j1.warn("action:",{action:J1})}};tE((J1,D1)=>{if(D1.ctrlC){if(V.baseView==="confirming-exit"){if(T.current)clearTimeout(T.current),T.current=null;z()}else{if(L((a)=>({...a,baseView:"confirming-exit"})),T.current)clearTimeout(T.current);let w1=setTimeout(()=>{L((a)=>({...a,baseView:"running"})),T.current=null},1000);T.current=w1}return}if(m==="expanded-view"||m==="confirming"||m==="ephemeral-error")return;if(D1.escape)if(m==="picking-file")return;else Z();else if(D1.ctrl&&J1.toLowerCase()==="r")L((w1)=>({...w1,baseView:"expanded-view"}));else if(D1.ctrl&&J1.toLowerCase()==="o")B.summarizeThread();else if(D1.ctrlL)$()});let e=X>100,n=V.rerendering&&F.items.length===0?1:"auto",z1="resize-key"+V.resizeCounter,o=[{type:"welcome",id:"welcome"},...F.items];if(V.baseView==="expanded-view"){let J1=W.filter((D1)=>D1.type==="message").map((D1)=>D1.message);return S0(NQA,{threadName:I,messages:J1,onExit:()=>L((D1)=>({...D1,baseView:"running"}))})}return E2(PA,{flexDirection:"column",minHeight:"100%",flexGrow:1,height:n,children:[S0(Q51,{items:o,children:(J1,D1)=>{if(J1.type==="welcome")return S0(xQA,{},"welcome");let w1=D1===0?0:1;return J1.type==="message"?S0(kQA,{message:J1.message,marginTop:w1},J1.id):S0(i7A,{toolUse:J1.toolUse,toolResult:J1.toolResult,marginTop:w1},J1.id)}},z1),E2(PA,{flexDirection:"column",marginTop:o.length>1?1:0,children:[E&&S0(vQA,{message:E}),S0(p7A,{activeTools:x,subagents:Y}),E2(PA,{flexDirection:e?"row-reverse":"column",children:[H.length>0&&S0(PA,{ref:R,flexGrow:0,flexShrink:0,width:e?"50%":"100%",children:S0(fQA,{todos:H})}),m==="ephemeral-error"&&k?S0(MQA,{error:k,onResponse:d,ampURL:G}):m==="confirming"&&_?S0(ZQA,{currentConfirmation:_,onConfirmationResponse:l}):S0(PA,{flexGrow:1,borderStyle:"round",paddingX:1,children:S0(CQA,{onSubmit:S,history:Q,disabled:m==="confirming"||m==="ephemeral-error"||K.state==="active"&&K.summaryState==="summarizing",viewState:K,todosBoxRef:R,editorState:j,editorDispatch:P})})]}),S0($QA,{view:m,threadViewState:K,threadTokenUsage:M,hasCompletedMessages:F.items.length>0}),S0(R02,{completions:v.options,onSelect:y})]})]})}function R02({completions:A,onSelect:Q}){let B=Math.min(10),J=A.slice(0,B).map((z)=>({value:z,label:z}));if(J.length===0)return null;return S0(PA,{marginBottom:1,children:S0(RS,{title:"Insert file name:",options:J,onSelect:(z)=>{if(z===null)return;let Z=A.find((G)=>G===z);if(!Z)return;Q(Z)}})})}function uQA(A){let{worker:Q,threadID:B,settingsStorage:J,pipedInput:D,workerDeps:z,fuzzyServer:Z}=A,[G,X]=fK.useState(!1),K=fK.useCallback((H,w,W,I)=>{return L02(H,w,W,I,J,Q,z)},[J,Q,z]),Y=fK.useCallback(async(H)=>{await Q.handle({type:"user:message",message:{content:[{type:"text",text:H}]}})},[Q]),{exit:q}=Dy1(),F=fK.useCallback(()=>{XQ.cancel(B)},[B]);fK.useEffect(()=>{let H=setTimeout(()=>{X(!0)},500);return()=>clearTimeout(H)},[]);let E=fK.useRef(!1);if(fK.useEffect(()=>{if(E.current)return;if(D)E.current=!0,Y(D),X(!0)},[D,Y]),!G)return S0(hQA,{});return S0(y7A,{fuzzyServer:Z,children:S0(mQA,{history:A.history,threadService:A.threadService,worker:Q,sendToolConfirmation:K,sendUserMessage:Y,exit:q,cancel:F,ampURL:A.ampURL})})}async function L02(A,Q,B,J,D,z,Z){let G=B&&B.length>0||!1;if(B&&B.length>0)await H6(e2).then((K)=>K.settings["experimental.commandApproval.enabled"]??!0?"commandApproval.allow":"commands.allowlist").then((K)=>{D.get(K,"global").then((Y)=>{let q=[...Y??[],...B];return D.set(K,q,"global")}).catch((Y)=>{j1.error("Failed to update allowlist",Y)})});let X={type:"user:tool-input",toolUse:A,value:{accepted:Q||G}};if(J)(await XQ.getOrCreateForThread(Z,J)).handle(X);else z.handle(X)}global.React=Fy1.default;function pQA(A){return P0.level=1,Jy1(Fy1.default.createElement(uQA,{...A}),{patchConsole:!0,exitOnCtrlC:!1,stdout:A.stdout,stdin:A.stdin}).waitUntilExit().then(()=>{let{threadID:B,ampURL:J}=A,D=`${J.replace(/\/$/,"")}/threads/${B}`;A.stdout.write(`
|
4603
|
+
`});return}if(S.return&&!S.shift&&!S.meta&&!S.ctrl){if(F)return;if(E.trim().length>0)P(E.trim());else return;return}if(!S.ctrl&&!S.meta&&!S.tab&&$)Z({type:"insert-text",text:$})});let P=async($)=>{M(null),Q.add($),Q.reset();try{A($)}catch(S){j1.error("Failed to submit message",S)}};return S0(PA,{flexDirection:"column",width:"100%",flexGrow:1,flexShrink:0,ref:G,children:W.lines.map(($,S)=>S0(PA,{flexShrink:0,flexDirection:"row",children:S0(PA,{flexGrow:1,flexShrink:0,width:"100%",children:S===V.line?E2(Xc,{children:[S0(uA,{dimColor:B,children:$S.default.substr($.content,0,V.column)||""}),S0(uA,{inverse:!B,dimColor:B,children:$S.default($.content)[V.column]??" "}),S0(uA,{dimColor:B,children:$S.default.substr($.content,V.column+1)||""})]}):S0(uA,{dimColor:B,children:$.content||" "})})},S))})}function E02(A,Q){let B=$S.default(A),J=Q,D=Q;while(J>0&&/\S/.test(B[J-1]||""))J--;while(D<B.length&&/\S/.test(B[D]||""))D++;let z=B.slice(J,D).join("");if(!z.trim())return null;return{word:z,start:J,end:D}}var vS=hA(O8(),1);vU();var w51=hA(O8(),1);function VQA(){let[A,Q]=w51.useState(null);return w51.useEffect(()=>{let B=eR.subscribe(Q);return()=>{B.unsubscribe()}},[]),{jetbrainsState:A}}XB1();var Uy1=hA(O8(),1);function OQA({viewState:A}){let Q=Uy1.useMemo(()=>{return A.state==="active"?A.fileChanges:void 0},[A]),B=Uy1.useMemo(()=>Sh1(Q),[Q]);if(!Q||B.totalFiles===0)return null;let J=B.totalFiles-B.revertedFiles;return E2(PA,{gap:1,children:[E2(uA,{dimColor:!0,children:[J," ",J===1?"file":"files"," changed"]}),(B.totalAdded>0||B.totalModified>0||B.totalRemoved>0)&&E2(uA,{children:[E2(uA,{color:"green",children:["+",B.totalAdded]}),E2(uA,{color:"yellow",children:[" ~",B.totalModified]}),E2(uA,{color:"red",children:[" -",B.totalRemoved]})]})]})}import RQA from"node:path";function LQA({jetbrainsStatus:A}){if(!A||!A.enabled)return null;let Q=process.cwd(),B=A.productName&&A.openFile&&A.workspace===Q,J;if(!A.productName)J=" IDE Not Running. To fix this problem, start your JetBrains IDE, exit this session and run `amp threads continue`.";else if(!A.workspace&&!A.openFile)J=" No Open File. To fix this problem, open a project and open a file in your JetBrains IDE.";else if(!A.workspace&&A.openFile){let D=RQA.basename(A.openFile);if(A.openFile.includes("!/"))J=` External File Open. The open file '${A.openFile}' does not belong to your project root. To fix this problem, open a file in your project sources and try again.`;else J=` Project Detection Failed. Failed to map your open file '${D}' to a project root directory. Please note that multi-root projects are not supported at the moment. Please report a bug on https://ampcode.com/discord and include relevant logs from ~/.cache/amp/logs/cli.log`}else if(!A.openFile)J=" No Open File. To fix this problem, open a file in your project.";else if(A.workspace!==Q)J=` Project Mismatch. The currently open project "${A.workspace}" does not match the working directory of Amp CLI ("${Q}").`;return S0(PA,{gap:B?1:2,children:E2(uA,{color:B?"green":"red",children:[B?"✓":"×"," ",A.productName??"JetBrains"," ",B?"• "+RQA.basename(A.openFile??""):J]})})}var W51=hA(O8(),1);function TQA(){let[A,Q]=W51.useState(0);W51.useEffect(()=>{let D=setInterval(()=>{Q((z)=>z+1)},200);return()=>clearInterval(D)},[]);let B=[{char:"∿",dim:!1},{char:"∾",dim:!1},{char:"∽",dim:!1},{char:"≋",dim:!1},{char:"≈",dim:!1},{char:"∼",dim:!1}],J=B[A%B.length];return S0(uA,{dimColor:J.dim,children:J.char})}var H02=0.8,w02=0.9;function jQA({tokenUsage:A}){let Q=A.totalInputTokens/A.maxInputTokens,B=Math.round(Q*100),J=Math.max(0,Math.min(B,100)),D="▁▂▃▄▅▆▇█",z=Math.floor(J*8/100),G="▁▂▃▄▅▆▇█"[Math.max(0,Math.min(z,7))],X=`${J}% ┃${G}┃`,K,Y=PQA(Q);if(Y==="danger")K="red";else if(Y==="warning")K="yellow";return S0(uA,{color:K,children:X})}function PQA(A){if(A>=w02)return"danger";else if(A>=H02)return"warning";return!1}function _QA(A){let Q=A.totalInputTokens/A.maxInputTokens;return PQA(Q)}function SQA({threadViewState:A,tokenUsage:Q,waitingForConfirmation:B,showingEphemeralError:J}){if(!A||A.state!=="active")return null;let D=null,z=Q?_QA(Q):!1,Z=!1;if(A.summaryState==="summarizing")D="Compacting...";else if(A.inferenceState==="running")D="Running inference...";else if(A.interactionState==="tool-running")D="Running tools...";else if(!J&&z==="warning")D="Context window is almost full. Ctrl-O to compact thread.",Z=!0;else if(!J&&z==="danger")D="Context window is close to full. Ctrl-O to compact thread.",Z=!0;if(!D)return null;let G=()=>{if(A.inferenceState==="running"&&A.interactionState!=="tool-running")return"blueBright";if(A.interactionState==="tool-running")return"greenBright";return"default"},X=()=>{if(Z&&z==="warning")return"yellow";if(Z&&z==="danger")return"red";if(A.inferenceState==="cancelled")return"dim";return"default"},K=A.inferenceState!=="cancelled"&&!Z&&!B;return E2(PA,{flexDirection:"row",gap:1,children:[K&&S0(uA,{color:G(),children:S0(TQA,{})}),S0(uA,{italic:!Z&&A.inferenceState==="cancelled",color:X(),children:D})]})}function $QA({view:A,threadViewState:Q,threadTokenUsage:B,hasCompletedMessages:J,width:D}){let{jetbrainsState:z}=VQA(),Z=vS.useRef(null),{stdout:G}=Zc(),[X,K]=vS.useState(G.columns);vS.useEffect(()=>{if(Z.current){let{width:F}=Gc(Z.current);K(F)}},[]);let Y=D||X,q=Y&&Y<60;return E2(PA,{gap:2,marginLeft:2,ref:Z,children:[E2(PA,{flexGrow:1,flexDirection:"row",gap:2,children:[S0(SQA,{threadViewState:Q,tokenUsage:B,waitingForConfirmation:A==="confirming"||A==="ephemeral-error",showingEphemeralError:A==="ephemeral-error"}),E2(PA,{children:[A==="confirming-exit"&&S0(uA,{dimColor:!0,children:"Ctrl+C again to exit"}),J&&A==="running"&&!q&&S0(uA,{dimColor:!0,children:"Ctrl+R to expand"})]})]}),E2(PA,{flexGrow:0,gap:2,children:[S0(LQA,{jetbrainsStatus:z}),!q&&S0(OQA,{viewState:Q}),B&&S0(jQA,{tokenUsage:B})]})]})}l6();P0.level=1;var W02={code:P0.white,codespan:P0.white,blockquote:P0.gray.italic,html:P0.gray,heading:P0.bold,firstHeading:P0.bold,hr:P0.reset,table:P0.reset,paragraph:P0.reset,strong:P0.bold,em:P0.italic,del:P0.dim.gray.strikethrough,link:P0.cyan,href:P0.cyan,text:P0.reset,unescape:!0,emoji:!0,width:80,showSectionPrefix:!0,reflowText:!1,tab:4,tableOptions:{wordWrap:!0,wrapOnWordBoundary:!1,style:{head:["bold"],border:["grey"],compact:!1}}},I02={keyword:P0.bold,built_in:P0.dim,type:P0.dim,literal:P0.italic,number:P0.reset,regexp:P0.dim.italic,string:P0.dim,subst:P0.reset,symbol:P0.reset,class:P0.bold,function:P0.reset,title:P0.reset,params:P0.reset,comment:P0.dim.italic,doctag:P0.dim.italic,meta:P0.dim,"meta-keyword":P0.reset,"meta-string":P0.reset,section:P0.reset,tag:P0.dim,name:P0.bold,"builtin-name":P0.reset,attr:P0.dim,attribute:P0.reset,variable:P0.reset,bullet:P0.reset,code:P0.reset,emphasis:P0.italic,strong:P0.bold,formula:P0.reset,link:P0.underline,quote:P0.reset,"selector-tag":P0.reset,"selector-id":P0.reset,"selector-class":P0.reset,"selector-attr":P0.reset,"selector-pseudo":P0.reset,"template-tag":P0.reset,"template-variable":P0.reset,addition:P0.bold.underline,deletion:P0.dim.strikethrough,default:P0.reset};w9.use(q91({...W02,reflowText:!1},{ignoreIllegals:!0,theme:I02}));function I51({children:A}){let Q;try{Q=w9(A,{async:!1}).trimEnd()}catch(B){j1.error("Markdown rendering failed",B,{input:A}),Q=A}return S0(uA,{children:Q})}function vQA({message:A}){let Q=A.content.filter((B)=>B.type==="thinking"||B.type==="text");if(!Q.length)return null;return S0(PA,{flexDirection:"column",marginBottom:1,children:Q.map((B,J)=>{let D=J>0?1:0;if(B.type==="thinking")return S0(H51,{thinking:B.thinking},J);else return S0(PA,{marginTop:D,children:S0(I51,{children:B.text})},J);return null})})}function kQA({message:A,marginTop:Q=0}){if(!A.content.some((D)=>D.type==="text"||D.type==="thinking"||D.type==="summary"&&D.summary.type==="message"))return null;let J=A.role==="assistant"&&A.state.type==="cancelled";return E2(PA,{flexDirection:"column",gap:1,marginTop:Q,children:[A.content.map((D,z)=>{if(D.type==="text")switch(A.role){case"assistant":return S0(PA,{flexDirection:"column",children:S0(I51,{children:D.text})},z);case"user":return S0(PA,{borderStyle:"bold",borderColor:"green",borderLeft:!0,borderTop:!1,borderBottom:!1,borderRight:!1,paddingLeft:1,children:S0(uA,{color:"green",italic:!0,children:D.text})},z)}else if(D.type==="thinking")return S0(H51,{thinking:D.thinking},z);else if(D.type==="summary"&&D.summary.type==="message")return S0(PA,{children:E2(uA,{color:"grey",italic:!0,children:["Summary: ",D.summary.summary]})},z);else return null}),J&&S0(PA,{children:S0(uA,{italic:!0,dimColor:!0,children:"Cancelled"})})]})}function fQA({todos:A}){if(!Array.isArray(A)||A.length===0)return null;return E2(PA,{borderStyle:"round",borderColor:"dim",paddingX:1,flexDirection:"column",flexGrow:1,flexShrink:0,children:[S0(PA,{children:S0(uA,{dimColor:!0,bold:!0,children:"TODOs"})}),A.map((Q,B)=>S0(PA,{gap:1,children:E2(uA,{dimColor:!0,wrap:"truncate",children:[S0(uA,{children:"• "}),S0(uA,{bold:Q.status==="in-progress",strikethrough:Q.status==="completed",children:Q.content})]})},Q.id))]})}BQ();VD();var M51=hA(O8(),1);VD();function yQA(A){let Q=[],B=new Map;for(let J of A.messages)for(let D of J.content)if(D.type==="tool_use")B.set(D.id,D);else if(D.type==="tool_result"){let z=B.get(D.toolUseID);if(z&&!QQ(D.run))Q.push({toolUse:z,toolRun:D.run})}return Q}function bQA(A,Q){let B=A.messages.at(-1);if(B?.content.some((D)=>D.type==="tool_result"&&D.run.status==="blocked-on-user"))return{type:"idle"};if(Q.filter((D)=>D.toolRun.status==="in-progress").length>0)return{type:"running-tools",startTime:Date.now()};let J=dq(A);if(J)return J;if(B&&B.role==="assistant"&&B.state.type==="complete"&&B.state.stopReason==="end_turn")return{type:"idle"};return{type:"idle"}}function M02(A,Q){switch(Q.type){case"subthread-patch":{let{thread:B,subthread:J}=Q,D=yQA(B),z=A.subagents[J.threadID]??{subThreadID:B.id,agentNumber:J.sequenceNumber,taskDescription:J.toolUse.input?.description||"Task",isCompleted:!1,agentState:{type:"idle"}},Z=bQA(B,D),G=z.agentState===Z?z:{...z,agentState:Z},X={...A.tools};return Object.entries(X).forEach(([K,Y])=>{if(Y.subthreadID===B.id&&QQ(Y.toolRun))delete X[K]}),D.forEach(({toolUse:K,toolRun:Y})=>{X[K.id]={id:K.id,subthreadID:B.id,toolRun:Y,toolUse:K}}),{subagents:{...A.subagents,[J.threadID]:G},tools:X,transcript:A.transcript,viewState:A.viewState,streamingAssistantMessage:A.streamingAssistantMessage,todosList:A.todosList,mainThread:A.mainThread}}case"main-thread-patch":{let{thread:B,subthreads:J,workerStatus:D}=Q,z=XX(B),Z={...A.subagents};for(let F of J){let E=Z[F.threadID];if(!E)continue;let{isCompleted:H,result:w}=V02(z,F.toolUse.id);Z[F.threadID]={...E,isCompleted:H,result:w||E.result}}let G=N02(A.transcript,B),X=Ib(B,D),K=C02(B),Y=tl({messages:B.messages}),q=Array.isArray(Y)?Y:[];return{...A,subagents:Z,transcript:G,viewState:X,streamingAssistantMessage:K,todosList:q,mainThread:B}}case"worker-status-change":{if(!A.mainThread)return A;let B=Ib(A.mainThread,Q.workerStatus);if(B===A.viewState)return A;return{...A,viewState:B}}default:return A}}function gQA(A,Q){let[B,J]=M51.useReducer(M02,{subagents:{},tools:{},transcript:{items:[],activeTools:[]},viewState:{state:"initial",interactionState:!1},streamingAssistantMessage:null,todosList:[],mainThread:null});return M51.useEffect(()=>{let D=new Map,z=[],Z={state:"initial"},G=A.observePatches(Q.thread.id).pipe(LB1()).subscribe((Y)=>{J({type:"main-thread-patch",thread:Y,subthreads:z,workerStatus:Z})}),X=Q.status.subscribe((Y)=>{Z=Y,J({type:"worker-status-change",workerStatus:Y})}),K=Q.subthreads.subscribe((Y)=>{z=Y;for(let q of Y){if(D.has(q.toolUse.id))continue;let F=A.observePatches(q.threadID).pipe(LB1()).subscribe((E)=>{J({type:"subthread-patch",thread:E,subthread:q})});D.set(q.toolUse.id,F)}});return()=>{G.unsubscribe(),X.unsubscribe(),K.unsubscribe(),D.forEach((Y)=>Y.unsubscribe())}},[A,Q]),{transcript:B.transcript,subagents:Object.values(B.subagents),subagentActiveTools:Object.values(B.tools).map((D)=>({toolUse:D.toolUse,toolRun:D.toolRun,subthreadID:D.subthreadID})),viewState:B.viewState,streamingAssistantMessage:B.streamingAssistantMessage,todosList:B.todosList,mainThread:B.mainThread}}function N02(A,Q){let B=[],J=[...A.items],D=new Set;for(let Z of A.items)D.add(Z.id);let z=new Set;for(let[Z,G]of Q.messages.entries())switch(G.role){case"assistant":if(G.state.type==="streaming"){for(let X of G.content)if(X.type==="tool_use")z.add(X.id);continue}if(!D.has(`assistant-${Z}`))J.push({type:"message",id:`assistant-${Z}`,message:G});break;case"info":if(!D.has(`info-${Z}`))J.push({type:"message",id:`info-${Z}`,message:G});break;case"user":if(!D.has(`user-${Z}`))J.push({type:"message",id:`user-${Z}`,message:G});for(let X of G.content)if(X.type==="tool_result"){let K=I4(Q,X.toolUseID);if(!K)throw new Error(`(bug) tool use ${X.toolUseID} not found`);if(z.has(X.toolUseID)||!QQ(X.run)){if(K.name!==U5)B.push({toolUse:K,toolRun:X.run});continue}if(!D.has(X.toolUseID))J.push({type:"toolResult",id:X.toolUseID,toolUse:K,toolResult:X})}break}return{items:J,activeTools:B}}function C02(A){let Q=P5(A,"assistant");return Q?.state.type==="streaming"?Q:null}function V02(A,Q){let B=A.get(Q),J=(B&&QQ(B.run))??!1,D=B&&B.run,z=D&&D.status==="done"?D.result:void 0;return{isCompleted:J,result:z}}var N51=hA(O8(),1);function xQA(){return S0(PA,{flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:3,marginLeft:4,children:S0(PA,{children:S0(uA,{color:"green",bold:!0,children:"Welcome to Amp"})})})}function hQA(){let[A,Q]=N51.useState(0),B=["Amp","AMP","AmP","amP","aMP","AMp"];return N51.useEffect(()=>{let J=setInterval(()=>{Q((D)=>(D+1)%B.length)},50);return()=>clearInterval(J)},[B.length]),S0(PA,{flexDirection:"column",alignItems:"flex-start",justifyContent:"center",minHeight:3,marginLeft:4,children:S0(PA,{children:E2(uA,{color:"green",bold:!0,children:["Welcome to ",B[A]]})})})}var O02=200;function mQA({threadService:A,history:Q,worker:B,sendToolConfirmation:J,sendUserMessage:D,exit:z,cancel:Z,ampURL:G}){let[X]=SS(),{viewState:K,subagents:Y,subagentActiveTools:q,transcript:F,streamingAssistantMessage:E,todosList:H,mainThread:w}=gQA(A,B),W=SQ.useMemo(()=>E?F.items.concat({id:"streaming-assistant",type:"message",message:E}):F.items,[E,F.items]),I=w?.title||"Untitled",M=SQ.useMemo(()=>w?gR(w):void 0,[w]);SQ.useEffect(()=>{if(w?.title){let J1=process.cwd().replace(process.env.HOME||"","~");process.stdout.write(`\x1B]0;amp - ${w.title} - ${J1}\x07`)}},[w?.title]);let N=SQ.useRef(new r2),[V,L]=SQ.useState({baseView:"running",rerendering:!1,resizeCounter:0,dismissedEphemeralError:null}),T=SQ.useRef(null),R=SQ.useRef(null),[j,P]=WQA(),$=SQ.useCallback(()=>{L((J1)=>({...J1,rerendering:!0})),process.stdout.write("\x1B[2J\x1B[3J\x1B[H"),N.current.next()},[L,N]),S=SQ.useCallback((J1)=>{P({type:"clear"}),D(J1)},[P,D]);SQ.useEffect(()=>{return process.stdout.on("resize",$),()=>{process.stdout.off("resize",$)}},[$]),SQ.useEffect(()=>{let J1=N.current.pipe(jJ(O02)).subscribe(()=>{L((D1)=>({...D1,rerendering:!1,resizeCounter:D1.resizeCounter+1}))});return()=>{J1.unsubscribe()}},[N,L]),SQ.useEffect(()=>{let J1=N.current,D1=T.current;return()=>{if(J1.complete(),D1)clearTimeout(D1)}},[N]);let x=[...F.activeTools,...q],u=x.filter((J1)=>J1.toolRun.status==="blocked-on-user"),_=SQ.useMemo(()=>JQA(u),[u]),{hasCompletions:f,completions:v,selectCompletion:y}=D51(),k=SQ.useMemo(()=>{if(K.state!=="active"||!K.ephemeralError)return null;if(V.dismissedEphemeralError===K.ephemeralError)return null;return K.ephemeralError},[K,V.dismissedEphemeralError]),m=k!==null?"ephemeral-error":_!==null?"confirming":f?"picking-file":V.baseView,l=(J1)=>{if(!_||_.type!=="tool-use")return;if(_.tools.length>0){let D1=_.tools[0],w1=Array.from(J1==="always"?D1.toAllow??[]:[]);J(D1.useBlock.id,J1==="yes"||J1==="always",w1,_.subthreadID)}},d=(J1)=>{switch(J1){case"compact":L((D1)=>({...D1,dismissedEphemeralError:null})),B.summarizeThread();break;case"dismiss":L((D1)=>({...D1,dismissedEphemeralError:k}));break;case"retry":L((D1)=>({...D1,dismissedEphemeralError:null})),B.retry();break;default:j1.warn("action:",{action:J1})}};tE((J1,D1)=>{if(D1.ctrlC){if(V.baseView==="confirming-exit"){if(T.current)clearTimeout(T.current),T.current=null;z()}else{if(L((a)=>({...a,baseView:"confirming-exit"})),T.current)clearTimeout(T.current);let w1=setTimeout(()=>{L((a)=>({...a,baseView:"running"})),T.current=null},1000);T.current=w1}return}if(m==="expanded-view"||m==="confirming"||m==="ephemeral-error")return;if(D1.escape)if(m==="picking-file")return;else Z();else if(D1.ctrl&&J1.toLowerCase()==="r")L((w1)=>({...w1,baseView:"expanded-view"}));else if(D1.ctrl&&J1.toLowerCase()==="o")B.summarizeThread();else if(D1.ctrlL)$()});let e=X>100,n=V.rerendering&&F.items.length===0?1:"auto",z1="resize-key"+V.resizeCounter,o=[{type:"welcome",id:"welcome"},...F.items];if(V.baseView==="expanded-view"){let J1=W.filter((D1)=>D1.type==="message").map((D1)=>D1.message);return S0(NQA,{threadName:I,messages:J1,onExit:()=>L((D1)=>({...D1,baseView:"running"}))})}return E2(PA,{flexDirection:"column",minHeight:"100%",flexGrow:1,height:n,children:[S0(Q51,{items:o,children:(J1,D1)=>{if(J1.type==="welcome")return S0(xQA,{},"welcome");let w1=D1===0?0:1;return J1.type==="message"?S0(kQA,{message:J1.message,marginTop:w1},J1.id):S0(i7A,{toolUse:J1.toolUse,toolResult:J1.toolResult,marginTop:w1},J1.id)}},z1),E2(PA,{flexDirection:"column",marginTop:o.length>1?1:0,children:[E&&S0(vQA,{message:E}),S0(p7A,{activeTools:x,subagents:Y}),E2(PA,{flexDirection:e?"row-reverse":"column",children:[H.length>0&&S0(PA,{ref:R,flexGrow:0,flexShrink:0,width:e?"50%":"100%",children:S0(fQA,{todos:H})}),m==="ephemeral-error"&&k?S0(MQA,{error:k,onResponse:d,ampURL:G}):m==="confirming"&&_?S0(ZQA,{currentConfirmation:_,onConfirmationResponse:l}):S0(PA,{flexGrow:1,borderStyle:"round",paddingX:1,children:S0(CQA,{onSubmit:S,history:Q,disabled:m==="confirming"||m==="ephemeral-error"||K.state==="active"&&K.summaryState==="summarizing",viewState:K,todosBoxRef:R,editorState:j,editorDispatch:P})})]}),S0($QA,{view:m,threadViewState:K,threadTokenUsage:M,hasCompletedMessages:F.items.length>0}),S0(R02,{completions:v.options,onSelect:y})]})]})}function R02({completions:A,onSelect:Q}){let B=Math.min(10),J=A.slice(0,B).map((z)=>({value:z,label:z}));if(J.length===0)return null;return S0(PA,{marginBottom:1,children:S0(RS,{title:"Insert file name:",options:J,onSelect:(z)=>{if(z===null)return;let Z=A.find((G)=>G===z);if(!Z)return;Q(Z)}})})}function uQA(A){let{worker:Q,threadID:B,settingsStorage:J,pipedInput:D,workerDeps:z,fuzzyServer:Z}=A,[G,X]=fK.useState(!1),K=fK.useCallback((H,w,W,I)=>{return L02(H,w,W,I,J,Q,z)},[J,Q,z]),Y=fK.useCallback(async(H)=>{await Q.handle({type:"user:message",message:{content:[{type:"text",text:H}]}})},[Q]),{exit:q}=Dy1(),F=fK.useCallback(()=>{XQ.cancel(B)},[B]);fK.useEffect(()=>{let H=setTimeout(()=>{X(!0)},500);return()=>clearTimeout(H)},[]);let E=fK.useRef(!1);if(fK.useEffect(()=>{if(E.current)return;if(D)E.current=!0,Y(D),X(!0)},[D,Y]),!G)return S0(hQA,{});return S0(y7A,{fuzzyServer:Z,children:S0(mQA,{history:A.history,threadService:A.threadService,worker:Q,sendToolConfirmation:K,sendUserMessage:Y,exit:q,cancel:F,ampURL:A.ampURL})})}async function L02(A,Q,B,J,D,z,Z){let G=B&&B.length>0||!1;if(B&&B.length>0)await H6(e2).then((K)=>K.settings["experimental.commandApproval.enabled"]?"experimental.commandApproval.allow":"commands.allowlist").then((K)=>{D.get(K,"global").then((Y)=>{let q=[...Y??[],...B];return D.set(K,q,"global")}).catch((Y)=>{j1.error("Failed to update allowlist",Y)})});let X={type:"user:tool-input",toolUse:A,value:{accepted:Q||G}};if(J)(await XQ.getOrCreateForThread(Z,J)).handle(X);else z.handle(X)}global.React=Fy1.default;function pQA(A){return P0.level=1,Jy1(Fy1.default.createElement(uQA,{...A}),{patchConsole:!0,exitOnCtrlC:!1,stdout:A.stdout,stdin:A.stdin}).waitUntilExit().then(()=>{let{threadID:B,ampURL:J}=A,D=`${J.replace(/\/$/,"")}/threads/${B}`;A.stdout.write(`
|
4604
4604
|
`),A.stdout.write(`${P0.dim("Thread:")} ${D}
|
4605
4605
|
`),A.stdout.write(`${P0.dim("Continue this thread with:")} \`amp threads continue ${B}\`
|
4606
4606
|
`)})}l6();Mb();P6();function cQA(A){return A.replace(/ /g,"\\ ")}P6();var h6=hA(LS(),1);import{isDeepStrictEqual as T02}from"util";l6();var dQA=hA(LS(),1);pl();var lQA={state:"off",initializing:!1,clearScreen:!1,lines:[],cursorLine:0,cursorColumn:0,deletedText:[],screenColumns:0,screenRows:0,lastChar:"",isProcessingPaste:!1,completions:[],status:{left:"",right:null},selectedCompletionIndex:0,currentHistoryContent:"",isNavigatingHistory:!1,lastCompletionQuery:"",threadStatus:null,subagents:[],hidden:!1,ignoreNextInput:!1,forceRedraw:!1,subagentPrompt:null,currentMention:null};class iQA{printer;prompt;writer;previousState=null;currentTerminalLine=0;currentTerminalColumn=0;positionStack=[];constructor(A,Q,B){this.printer=A;this.prompt=Q;this.writer=B}forceRender(A){let Q=A||this.previousState||lQA,{redrawsRequired:B}=this.renderDiffStrings("",this.generateUIString(Q));if(B)this.showCursor();let J=this.getVisualCursorPosition(Q);this.moveCursorToPosition(J.line,J.column)}anchor(){this.currentTerminalLine=0}deleteFromTerminal(A){let Q=this.generateUIString(A).split(`
|
@@ -4668,7 +4668,7 @@ Visit `+D.print(new URL("/pay",G).toString(),{foreground:"blue",style:"bold"})+`
|
|
4668
4668
|
`);let j=`${G.replace(/\/$/,"")}/threads/${z}`;return H.append(D.print(`Thread: ${j}`,{foreground:"gray"})+`
|
4669
4669
|
`+D.print(`Continue this thread with: 'amp threads continue ${z}'`,{foreground:"gray"})+`
|
4670
4670
|
`),{...T,type:"shutting-down"}}}return T}}return T}),{type:"initializing",tokenUsage:null,updateState:"none",hasSentPipedInput:!1})).subscribe({error:(T)=>{OO(),j1.error("Error in terminal UI:",T),B.write(D.print(T.toString(),{foreground:"red"})+`
|
4671
|
-
`),E.next({type:"exit"})}}),DA.from(E)}}var f02="> ";var Wy1=wy1.join(n1A||wy1.join(process.env.HOME||process.cwd(),".local","state"),"amp","last-thread-id");async function Iy1(A){try{await b02(wy1.dirname(Wy1),{recursive:!0}),await x02(Wy1,A,"utf-8")}catch(Q){j1.debug("Failed to save last thread ID",Q)}}async function XBA(){try{return(await g02(Wy1,"utf-8")).trim()}catch(A){return null}}async function h02(A){let Q=await mQ(`/api/threads/${A}`);if(!Q.ok){let B=await Q.text();if(Q.status===404||B.includes("not found"))throw new XZ(hG.threadNotFound(A));throw new XZ(`Failed to load thread ${A}`,1,`Use 'amp threads share ${A} --support' to share this with the Amp team if this persists.`)}return await Q.json()}var YBA=process.env.TERMINAL_EMULATOR?.includes("JetBrains")??!1,m02=[{name:"notifications",long:"notifications",type:"flag",description:(A)=>`${A?"Enable":"Disable"} sound notifications (enabled by default when interactive)`},{name:"color",long:"color",type:"flag",description:(A)=>`${A?"Enable":"Disable"} color output (enabled by default if stdout and stderr are sent to a TTY)`},{name:"settingsFile",long:"settings-file",type:"option",description:`Custom settings file path (overrides the default location ${TI})`},{name:"logLevel",long:"log-level",type:"option",description:`Set log level (${Object.keys(j1).join(", ")})`},{name:"logFile",long:"log-file",type:"option",description:"Set log file location"},{name:"format",long:"format",type:"option",default:"ui",description:"output using the standard or new-ui. Options: `ui`, `new-ui`",choices:["ui","jsonl","new-ui"],hidden:!0},{name:"dangerouslyAllowAll",long:"dangerously-allow-all",type:"switch",default:!1,description:"Disable all command confirmation prompts (agent will execute all commands without asking)"},{name:"jetbrains",long:"jetbrains",type:"flag",default:YBA,description:(A)=>A?"Enable JetBrains integration. Requires the JetBrains MCP plugin to be installed and you must start Amp in the same directory as your JetBrains project. When enabled, Amp automatically includes your open JetBrains file and text selection with every message, just like it does in VS Code.":"Disable JetBrains integration.",hidden:!0}];function u02(A,Q){let B=Q.args[0],J=Q.commands.map((z)=>z.name());if(B&&!B.includes(" ")&&B.length<30&&!/[./\\]/.test(B)){let z=J.filter((G)=>B.includes(G)||G.includes(B)),Z="Run amp --help for a list of available commands.";if(z.length>0)Z=`Did you mean: ${z.join(", ")}? Or run amp --help for all commands.`;throw new XZ(hG.unknownCommand(B),1,Z)}}async function yS(A,Q){ZS({logLevel:Q.logLevel||process.env.AMP_LOG_LEVEL,logFile:Q.logFile||process.env.AMP_LOG_FILE}),nh1("0.0.
|
4671
|
+
`),E.next({type:"exit"})}}),DA.from(E)}}var f02="> ";var Wy1=wy1.join(n1A||wy1.join(process.env.HOME||process.cwd(),".local","state"),"amp","last-thread-id");async function Iy1(A){try{await b02(wy1.dirname(Wy1),{recursive:!0}),await x02(Wy1,A,"utf-8")}catch(Q){j1.debug("Failed to save last thread ID",Q)}}async function XBA(){try{return(await g02(Wy1,"utf-8")).trim()}catch(A){return null}}async function h02(A){let Q=await mQ(`/api/threads/${A}`);if(!Q.ok){let B=await Q.text();if(Q.status===404||B.includes("not found"))throw new XZ(hG.threadNotFound(A));throw new XZ(`Failed to load thread ${A}`,1,`Use 'amp threads share ${A} --support' to share this with the Amp team if this persists.`)}return await Q.json()}var YBA=process.env.TERMINAL_EMULATOR?.includes("JetBrains")??!1,m02=[{name:"notifications",long:"notifications",type:"flag",description:(A)=>`${A?"Enable":"Disable"} sound notifications (enabled by default when interactive)`},{name:"color",long:"color",type:"flag",description:(A)=>`${A?"Enable":"Disable"} color output (enabled by default if stdout and stderr are sent to a TTY)`},{name:"settingsFile",long:"settings-file",type:"option",description:`Custom settings file path (overrides the default location ${TI})`},{name:"logLevel",long:"log-level",type:"option",description:`Set log level (${Object.keys(j1).join(", ")})`},{name:"logFile",long:"log-file",type:"option",description:"Set log file location"},{name:"format",long:"format",type:"option",default:"ui",description:"output using the standard or new-ui. Options: `ui`, `new-ui`",choices:["ui","jsonl","new-ui"],hidden:!0},{name:"dangerouslyAllowAll",long:"dangerously-allow-all",type:"switch",default:!1,description:"Disable all command confirmation prompts (agent will execute all commands without asking)"},{name:"jetbrains",long:"jetbrains",type:"flag",default:YBA,description:(A)=>A?"Enable JetBrains integration. Requires the JetBrains MCP plugin to be installed and you must start Amp in the same directory as your JetBrains project. When enabled, Amp automatically includes your open JetBrains file and text selection with every message, just like it does in VS Code.":"Disable JetBrains integration.",hidden:!0}];function u02(A,Q){let B=Q.args[0],J=Q.commands.map((z)=>z.name());if(B&&!B.includes(" ")&&B.length<30&&!/[./\\]/.test(B)){let z=J.filter((G)=>B.includes(G)||G.includes(B)),Z="Run amp --help for a list of available commands.";if(z.length>0)Z=`Did you mean: ${z.join(", ")}? Or run amp --help for all commands.`;throw new XZ(hG.unknownCommand(B),1,Z)}}async function yS(A,Q){ZS({logLevel:Q.logLevel||process.env.AMP_LOG_LEVEL,logFile:Q.logFile||process.env.AMP_LOG_FILE}),nh1("0.0.1753200087-g855bbc");let B=Q.settingsFile??process.env.AMP_SETTINGS_FILE;j1.info("Using settings file",{settingsFile:B});let J=Hk1(gp()),D=bp({settingsFile:B}),z=jB1({storage:D,secretStorage:J,workspaceRoots:DA.of([v2.file(process.cwd())]),defaultAmpURL:A.ampURL}),Z=RU(),G=qr1({configService:z,toolService:Z});try{await G.initialized}catch(L){j1.warn("Failed to wait for MCP servers, continuing anyway:",L)}let X=await H6(e2);if(Q.dangerouslyAllowAll)X.settings.dangerouslyAllowAll=!0;if(Q.jetbrains){if(X.settings["jetbrains.enabled"]=!0,eR.subscribe((T)=>{j1.info("jetbrains-status",T)}),await A3(),!await np1()){if(YBA)s2.write(A.printer.print("Error: ",{foreground:"red",style:"bold"})+"JetBrains integration failed. Try again with `amp --no-jetbrains` or see setup: https://ampcode.com/manual#jetbrains");else s2.write(A.printer.print("Error: ",{foreground:"red",style:"bold"})+"Cannot connect to JetBrains IDE. Check setup: https://ampcode.com/manual#jetbrains");process.exit(1)}}let K=X.settings["experimental.reviewTool"]??!1,Y=X.settings["experimental.tools"]??[];$_1(Z,!1,K,Y);let q,F;if(A.isInteractiveMode){q=f9A(X.settings,process.cwd()),await q.start();try{await y9A(q,process.cwd())}catch(L){j1.error("Failed to index files for fuzzy completion",L)}F=b9A(q,process.cwd())}else q=new class{async start(){}async query(){return[]}dispose(){}},F={[Symbol.dispose]:()=>{}};if(!await J.get("apiKey",A.ampURL)){if(u4.write(`No API key found. Starting login flow...
|
4672
4672
|
`),!await p02(A,J))process.exit(1)}let E=ar1(),H=new sK1(E),w=new aK1(E),W=new _F1(H),I=new ck1({configService:z,threadService:H,toolService:Z,threadSummaryService:W,threadHistoryService:w,mcpService:G}),M=Q.notifications!==void 0?Q.notifications:A.isInteractiveMode,N=S1A({playNotificationSound:async(L)=>{if(M)Yp(L)},windowFocused:()=>Promise.resolve(!1),threadService:H,notifyForSubagents:!1});j1.info("Starting Amp background services");let V=_90({threadService:H,threadHistoryService:w,isExtensionDevelopment:!1});return{configService:z,toolService:Z,mcpService:G,threadService:H,threadHistoryService:w,threadSummaryService:W,threadSyncService:V,threadStorage:E,secretStorage:J,settingsStorage:D,fileWatcher:F,fuzzyServer:q,subthreadTracker:I,notificationService:N}}async function p02(A,Q){if(A.isInteractiveMode){if(await lq("Would you like to log in to Amp?",["(y)es","(n)o"])!="y")return u4.write(`Login cancelled. Run the command again to retry.
|
4673
4673
|
`),!1}return await qBA(A,Q)}async function qBA(A,Q){let B=y02(32).toString("hex"),J=await G4A(A.ampURL,B);u4.write(`If your browser doesn't open automatically, visit:
|
4674
4674
|
|
@@ -4683,8 +4683,8 @@ ${A.printer.print(J,{foreground:"blue",style:"bold"})}
|
|
4683
4683
|
Login successful! You can now use the Amp CLI.
|
4684
4684
|
`),!0}catch(D){return s2.write(`
|
4685
4685
|
Login failed: ${D instanceof Error?D.message:String(D)}
|
4686
|
-
`),!1}}var c02=new Set(["fuzzy-server"]);function l02(A){let Q=new Up().name("amp").description("AI-powered coding assistant").option("--visibility <visibility>","Set thread visibility (private, public, team)").configureOutput({writeErr:()=>{}});Q.exitOverride((X)=>{if(X.code==="commander.help"||X.code==="commander.version"||X.exitCode===0)OO(),process.exit(0);let K=X.originalError??X;GS(A,K)}),Q.option("-V, --version","output the version number",()=>{if(A.isTTY)u4.write(`0.0.
|
4687
|
-
`);else u4.write(`0.0.
|
4686
|
+
`),!1}}var c02=new Set(["fuzzy-server"]);function l02(A){let Q=new Up().name("amp").description("AI-powered coding assistant").option("--visibility <visibility>","Set thread visibility (private, public, team)").configureOutput({writeErr:()=>{}});Q.exitOverride((X)=>{if(X.code==="commander.help"||X.code==="commander.version"||X.exitCode===0)OO(),process.exit(0);let K=X.originalError??X;GS(A,K)}),Q.option("-V, --version","output the version number",()=>{if(A.isTTY)u4.write(`0.0.1753200087-g855bbc ${A.printer.print("(released 2025-07-22T16:07:35.171Z)",{foreground:"gray"})}
|
4687
|
+
`);else u4.write(`0.0.1753200087-g855bbc (released 2025-07-22T16:07:35.171Z)
|
4688
4688
|
`);process.exit(0)}),Q.addHelpText("after",(()=>{let X="";X+=A.printer.print("Environment variables:",{style:"bold"})+`
|
4689
4689
|
|
4690
4690
|
`,X+=" "+A.printer.print("AMP_API_KEY",{foreground:"green"})+` API key for Amp (see https://ampcode.com/settings)
|
@@ -4773,7 +4773,7 @@ Summary: ${V}
|
|
4773
4773
|
`),s2.write(`Secrets have been automatically redacted, but please review the file before attaching
|
4774
4774
|
`),s2.write(`it to support requests. Learn more at https://ampcode.com/manual/appendix#support-bundles
|
4775
4775
|
`),process.exit(0)}catch(K){s2.write(A.printer.print("Error generating support bundle: ",{foreground:"red"})+`${K instanceof Error?K.message:String(K)}
|
4776
|
-
`),process.exit(1)}}),Q.addCommand(z);let Z=new Up("update").description("Update Amp CLI to the latest version").option("--version <version>","Update to a specific version").option("--log-level <value>","Set log level (error, warn, info, debug, audit)").option("--log-file <value>","Set log file location").allowUnknownOption(!1);Z.action(async(X)=>{try{let K=KD(X);ZS({logLevel:X.logLevel,logFile:X.logFile});let{update:Y}=await Promise.resolve().then(() => (ak1(),V4A)),{checkNpmUpdate:q}=await Promise.resolve().then(() => (ca(),nr1)),F="0.0.
|
4776
|
+
`),process.exit(1)}}),Q.addCommand(z);let Z=new Up("update").description("Update Amp CLI to the latest version").option("--version <version>","Update to a specific version").option("--log-level <value>","Set log level (error, warn, info, debug, audit)").option("--log-file <value>","Set log file location").allowUnknownOption(!1);Z.action(async(X)=>{try{let K=KD(X);ZS({logLevel:X.logLevel,logFile:X.logFile});let{update:Y}=await Promise.resolve().then(() => (ak1(),V4A)),{checkNpmUpdate:q}=await Promise.resolve().then(() => (ca(),nr1)),F="0.0.1753200087-g855bbc";if(X.version)s2.write(K.printer.print(`Updating to version ${X.version}...`,{foreground:"blue"})+`
|
4777
4777
|
`),await Y(X.version),s2.write(K.printer.print(`✓ Successfully updated to version ${X.version}`,{foreground:"green"})+`
|
4778
4778
|
`);else{s2.write(K.printer.print("Checking for updates...",{foreground:"blue"})+`
|
4779
4779
|
`);let E=await q(F);if(!E.hasUpdate)s2.write(K.printer.print("✓ Amp CLI is already up to date.",{foreground:"green"})+`
|