@sourcegraph/amp 0.0.1752124573-gb6c104 → 0.0.1752148945-gd8844f
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 +6 -6
- 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 cJA}from"node:module";var hJA=Object.create;var{getPrototypeOf:mJA,defineProperty:vQ1,getOwnPropertyNames:uJA}=Object;var pJA=Object.prototype.hasOwnProperty;var K6=(A,Q,B)=>{B=A!=null?hJA(mJA(A)):{};let J=Q||!A||!A.__esModule?vQ1(B,"default",{value:A,enumerable:!0}):B;for(let D of uJA(A))if(!pJA.call(J,D))vQ1(J,D,{get:()=>A[D],enumerable:!0});return J};var B1=(A,Q)=>()=>(Q||A((Q={exports:{}}).exports,Q),Q.exports);var K2=(A,Q)=>{for(var B in Q)vQ1(A,B,{get:Q[B],enumerable:!0,configurable:!0,set:(J)=>Q[B]=()=>J})};var g1=(A,Q)=>()=>(A&&(Q=A(A=0)),Q);var c0=cJA(import.meta.url);var Zb1=B1((Db1)=>{Object.defineProperty(Db1,"__esModule",{value:!0});Db1._globalThis=void 0;Db1._globalThis=typeof globalThis==="object"?globalThis:global});var Xb1=B1((iV)=>{var dJA=iV&&iV.__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]}),lJA=iV&&iV.__exportStar||function(A,Q){for(var B in A)if(B!=="default"&&!Object.prototype.hasOwnProperty.call(Q,B))dJA(Q,A,B)};Object.defineProperty(iV,"__esModule",{value:!0});lJA(Zb1(),iV)});var Kb1=B1((aV)=>{var iJA=aV&&aV.__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]}),aJA=aV&&aV.__exportStar||function(A,Q){for(var B in A)if(B!=="default"&&!Object.prototype.hasOwnProperty.call(Q,B))iJA(Q,A,B)};Object.defineProperty(aV,"__esModule",{value:!0});aJA(Xb1(),aV)});var kQ1=B1((Gb1)=>{Object.defineProperty(Gb1,"__esModule",{value:!0});Gb1.VERSION=void 0;Gb1.VERSION="1.9.0"});var Hb1=B1((Fb1)=>{Object.defineProperty(Fb1,"__esModule",{value:!0});Fb1.isCompatible=Fb1._makeCompatibilityCheck=void 0;var nJA=kQ1(),qb1=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function Ub1(A){let Q=new Set([A]),B=new Set,J=A.match(qb1);if(!J)return()=>!1;let D={major:+J[1],minor:+J[2],patch:+J[3],prerelease:J[4]};if(D.prerelease!=null)return function X(K){return K===A};function z(X){return B.add(X),!1}function Z(X){return Q.add(X),!0}return function X(K){if(Q.has(K))return!0;if(B.has(K))return!1;let G=K.match(qb1);if(!G)return z(K);let Y={major:+G[1],minor:+G[2],patch:+G[3],prerelease:G[4]};if(Y.prerelease!=null)return z(K);if(D.major!==Y.major)return z(K);if(D.major===0){if(D.minor===Y.minor&&D.patch<=Y.patch)return Z(K);return z(K)}if(D.minor<=Y.minor)return Z(K);return z(K)}}Fb1._makeCompatibilityCheck=Ub1;Fb1.isCompatible=Ub1(nJA.VERSION)});var nV=B1((wb1)=>{Object.defineProperty(wb1,"__esModule",{value:!0});wb1.unregisterGlobal=wb1.getGlobal=wb1.registerGlobal=void 0;var sJA=Kb1(),qj=kQ1(),oJA=Hb1(),tJA=qj.VERSION.split(".")[0],uf=Symbol.for(`opentelemetry.js.api.${tJA}`),pf=sJA._globalThis;function eJA(A,Q,B,J=!1){var D;let z=pf[uf]=(D=pf[uf])!==null&&D!==void 0?D:{version:qj.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!==qj.VERSION){let Z=new Error(`@opentelemetry/api: Registration of version v${z.version} for ${A} does not match previously registered API v${qj.VERSION}`);return B.error(Z.stack||Z.message),!1}return z[A]=Q,B.debug(`@opentelemetry/api: Registered a global for ${A} v${qj.VERSION}.`),!0}wb1.registerGlobal=eJA;function ADA(A){var Q,B;let J=(Q=pf[uf])===null||Q===void 0?void 0:Q.version;if(!J||!oJA.isCompatible(J))return;return(B=pf[uf])===null||B===void 0?void 0:B[A]}wb1.getGlobal=ADA;function QDA(A,Q){Q.debug(`@opentelemetry/api: Unregistering a global for ${A} v${qj.VERSION}.`);let B=pf[uf];if(B)delete B[A]}wb1.unregisterGlobal=QDA});var Cb1=B1((Ib1)=>{Object.defineProperty(Ib1,"__esModule",{value:!0});Ib1.DiagComponentLogger=void 0;var DDA=nV();class Mb1{constructor(A){this._namespace=A.namespace||"DiagComponentLogger"}debug(...A){return cf("debug",this._namespace,A)}error(...A){return cf("error",this._namespace,A)}info(...A){return cf("info",this._namespace,A)}warn(...A){return cf("warn",this._namespace,A)}verbose(...A){return cf("verbose",this._namespace,A)}}Ib1.DiagComponentLogger=Mb1;function cf(A,Q,B){let J=DDA.getGlobal("diag");if(!J)return;return B.unshift(Q),J[A](...B)}});var Gi=B1((Vb1)=>{Object.defineProperty(Vb1,"__esModule",{value:!0});Vb1.DiagLogLevel=void 0;var zDA;(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"})(zDA=Vb1.DiagLogLevel||(Vb1.DiagLogLevel={}))});var Lb1=B1((Ob1)=>{Object.defineProperty(Ob1,"__esModule",{value:!0});Ob1.createLogLevelDiagLogger=void 0;var VH=Gi();function ZDA(A,Q){if(A<VH.DiagLogLevel.NONE)A=VH.DiagLogLevel.NONE;else if(A>VH.DiagLogLevel.ALL)A=VH.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",VH.DiagLogLevel.ERROR),warn:B("warn",VH.DiagLogLevel.WARN),info:B("info",VH.DiagLogLevel.INFO),debug:B("debug",VH.DiagLogLevel.DEBUG),verbose:B("verbose",VH.DiagLogLevel.VERBOSE)}}Ob1.createLogLevelDiagLogger=ZDA});var rV=B1((jb1)=>{Object.defineProperty(jb1,"__esModule",{value:!0});jb1.DiagAPI=void 0;var XDA=Cb1(),KDA=Lb1(),Tb1=Gi(),Yi=nV(),GDA="diag";class yQ1{constructor(){function A(J){return function(...D){let z=Yi.getGlobal("diag");if(!z)return;return z[J](...D)}}let Q=this,B=(J,D={logLevel:Tb1.DiagLogLevel.INFO})=>{var z,Z,X;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 K=Yi.getGlobal("diag"),G=KDA.createLogLevelDiagLogger((Z=D.logLevel)!==null&&Z!==void 0?Z:Tb1.DiagLogLevel.INFO,J);if(K&&!D.suppressOverrideMessage){let Y=(X=new Error().stack)!==null&&X!==void 0?X:"<failed to generate stacktrace>";K.warn(`Current logger will be overwritten from ${Y}`),G.warn(`Current logger will overwrite one already registered from ${Y}`)}return Yi.registerGlobal("diag",G,Q,!0)};Q.setLogger=B,Q.disable=()=>{Yi.unregisterGlobal(GDA,Q)},Q.createComponentLogger=(J)=>{return new XDA.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 yQ1;return this._instance}}jb1.DiagAPI=yQ1});var $b1=B1((_b1)=>{Object.defineProperty(_b1,"__esModule",{value:!0});_b1.BaggageImpl=void 0;class Uj{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 Uj(this._entries);return B._entries.set(A,Q),B}removeEntry(A){let Q=new Uj(this._entries);return Q._entries.delete(A),Q}removeEntries(...A){let Q=new Uj(this._entries);for(let B of A)Q._entries.delete(B);return Q}clear(){return new Uj}}_b1.BaggageImpl=Uj});var fb1=B1((vb1)=>{Object.defineProperty(vb1,"__esModule",{value:!0});vb1.baggageEntryMetadataSymbol=void 0;vb1.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")});var bQ1=B1((yb1)=>{Object.defineProperty(yb1,"__esModule",{value:!0});yb1.baggageEntryMetadataFromString=yb1.createBaggage=void 0;var YDA=rV(),qDA=$b1(),UDA=fb1(),FDA=YDA.DiagAPI.instance();function EDA(A={}){return new qDA.BaggageImpl(new Map(Object.entries(A)))}yb1.createBaggage=EDA;function HDA(A){if(typeof A!=="string")FDA.error(`Cannot create baggage metadata from unknown type: ${typeof A}`),A="";return{__TYPE__:UDA.baggageEntryMetadataSymbol,toString(){return A}}}yb1.baggageEntryMetadataFromString=HDA});var df=B1((xb1)=>{Object.defineProperty(xb1,"__esModule",{value:!0});xb1.ROOT_CONTEXT=xb1.createContextKey=void 0;function WDA(A){return Symbol.for(A)}xb1.createContextKey=WDA;class qi{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 qi(Q._currentContext);return D._currentContext.set(B,J),D},Q.deleteValue=(B)=>{let J=new qi(Q._currentContext);return J._currentContext.delete(B),J}}}xb1.ROOT_CONTEXT=new qi});var pb1=B1((mb1)=>{Object.defineProperty(mb1,"__esModule",{value:!0});mb1.DiagConsoleLogger=void 0;var xQ1=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class hb1{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<xQ1.length;Q++)this[xQ1[Q].n]=A(xQ1[Q].c)}}mb1.DiagConsoleLogger=hb1});var iQ1=B1((cb1)=>{Object.defineProperty(cb1,"__esModule",{value:!0});cb1.createNoopMeter=cb1.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=cb1.NOOP_OBSERVABLE_GAUGE_METRIC=cb1.NOOP_OBSERVABLE_COUNTER_METRIC=cb1.NOOP_UP_DOWN_COUNTER_METRIC=cb1.NOOP_HISTOGRAM_METRIC=cb1.NOOP_GAUGE_METRIC=cb1.NOOP_COUNTER_METRIC=cb1.NOOP_METER=cb1.NoopObservableUpDownCounterMetric=cb1.NoopObservableGaugeMetric=cb1.NoopObservableCounterMetric=cb1.NoopObservableMetric=cb1.NoopHistogramMetric=cb1.NoopGaugeMetric=cb1.NoopUpDownCounterMetric=cb1.NoopCounterMetric=cb1.NoopMetric=cb1.NoopMeter=void 0;class gQ1{constructor(){}createGauge(A,Q){return cb1.NOOP_GAUGE_METRIC}createHistogram(A,Q){return cb1.NOOP_HISTOGRAM_METRIC}createCounter(A,Q){return cb1.NOOP_COUNTER_METRIC}createUpDownCounter(A,Q){return cb1.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(A,Q){return cb1.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(A,Q){return cb1.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(A,Q){return cb1.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(A,Q){}removeBatchObservableCallback(A){}}cb1.NoopMeter=gQ1;class Fj{}cb1.NoopMetric=Fj;class hQ1 extends Fj{add(A,Q){}}cb1.NoopCounterMetric=hQ1;class mQ1 extends Fj{add(A,Q){}}cb1.NoopUpDownCounterMetric=mQ1;class uQ1 extends Fj{record(A,Q){}}cb1.NoopGaugeMetric=uQ1;class pQ1 extends Fj{record(A,Q){}}cb1.NoopHistogramMetric=pQ1;class lf{addCallback(A){}removeCallback(A){}}cb1.NoopObservableMetric=lf;class cQ1 extends lf{}cb1.NoopObservableCounterMetric=cQ1;class dQ1 extends lf{}cb1.NoopObservableGaugeMetric=dQ1;class lQ1 extends lf{}cb1.NoopObservableUpDownCounterMetric=lQ1;cb1.NOOP_METER=new gQ1;cb1.NOOP_COUNTER_METRIC=new hQ1;cb1.NOOP_GAUGE_METRIC=new uQ1;cb1.NOOP_HISTOGRAM_METRIC=new pQ1;cb1.NOOP_UP_DOWN_COUNTER_METRIC=new mQ1;cb1.NOOP_OBSERVABLE_COUNTER_METRIC=new cQ1;cb1.NOOP_OBSERVABLE_GAUGE_METRIC=new dQ1;cb1.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new lQ1;function IDA(){return cb1.NOOP_METER}cb1.createNoopMeter=IDA});var Ax1=B1((eb1)=>{Object.defineProperty(eb1,"__esModule",{value:!0});eb1.ValueType=void 0;var SDA;(function(A){A[A.INT=0]="INT",A[A.DOUBLE=1]="DOUBLE"})(SDA=eb1.ValueType||(eb1.ValueType={}))});var nQ1=B1((Qx1)=>{Object.defineProperty(Qx1,"__esModule",{value:!0});Qx1.defaultTextMapSetter=Qx1.defaultTextMapGetter=void 0;Qx1.defaultTextMapGetter={get(A,Q){if(A==null)return;return A[Q]},keys(A){if(A==null)return[];return Object.keys(A)}};Qx1.defaultTextMapSetter={set(A,Q,B){if(A==null)return;A[Q]=B}}});var Zx1=B1((Dx1)=>{Object.defineProperty(Dx1,"__esModule",{value:!0});Dx1.NoopContextManager=void 0;var vDA=df();class Jx1{active(){return vDA.ROOT_CONTEXT}with(A,Q,B,...J){return Q.call(B,...J)}bind(A,Q){return Q}enable(){return this}disable(){return this}}Dx1.NoopContextManager=Jx1});var af=B1((Kx1)=>{Object.defineProperty(Kx1,"__esModule",{value:!0});Kx1.ContextAPI=void 0;var kDA=Zx1(),rQ1=nV(),Xx1=rV(),sQ1="context",fDA=new kDA.NoopContextManager;class oQ1{constructor(){}static getInstance(){if(!this._instance)this._instance=new oQ1;return this._instance}setGlobalContextManager(A){return rQ1.registerGlobal(sQ1,A,Xx1.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 rQ1.getGlobal(sQ1)||fDA}disable(){this._getContextManager().disable(),rQ1.unregisterGlobal(sQ1,Xx1.DiagAPI.instance())}}Kx1.ContextAPI=oQ1});var eQ1=B1((Yx1)=>{Object.defineProperty(Yx1,"__esModule",{value:!0});Yx1.TraceFlags=void 0;var yDA;(function(A){A[A.NONE=0]="NONE",A[A.SAMPLED=1]="SAMPLED"})(yDA=Yx1.TraceFlags||(Yx1.TraceFlags={}))});var Ui=B1((qx1)=>{Object.defineProperty(qx1,"__esModule",{value:!0});qx1.INVALID_SPAN_CONTEXT=qx1.INVALID_TRACEID=qx1.INVALID_SPANID=void 0;var bDA=eQ1();qx1.INVALID_SPANID="0000000000000000";qx1.INVALID_TRACEID="00000000000000000000000000000000";qx1.INVALID_SPAN_CONTEXT={traceId:qx1.INVALID_TRACEID,spanId:qx1.INVALID_SPANID,traceFlags:bDA.TraceFlags.NONE}});var Fi=B1((wx1)=>{Object.defineProperty(wx1,"__esModule",{value:!0});wx1.NonRecordingSpan=void 0;var xDA=Ui();class Hx1{constructor(A=xDA.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){}}wx1.NonRecordingSpan=Hx1});var BB1=B1((Ix1)=>{Object.defineProperty(Ix1,"__esModule",{value:!0});Ix1.getSpanContext=Ix1.setSpanContext=Ix1.deleteSpan=Ix1.setSpan=Ix1.getActiveSpan=Ix1.getSpan=void 0;var gDA=df(),hDA=Fi(),mDA=af(),AB1=gDA.createContextKey("OpenTelemetry Context Key SPAN");function QB1(A){return A.getValue(AB1)||void 0}Ix1.getSpan=QB1;function uDA(){return QB1(mDA.ContextAPI.getInstance().active())}Ix1.getActiveSpan=uDA;function Mx1(A,Q){return A.setValue(AB1,Q)}Ix1.setSpan=Mx1;function pDA(A){return A.deleteValue(AB1)}Ix1.deleteSpan=pDA;function cDA(A,Q){return Mx1(A,new hDA.NonRecordingSpan(Q))}Ix1.setSpanContext=cDA;function dDA(A){var Q;return(Q=QB1(A))===null||Q===void 0?void 0:Q.spanContext()}Ix1.getSpanContext=dDA});var Ei=B1((Rx1)=>{Object.defineProperty(Rx1,"__esModule",{value:!0});Rx1.wrapSpanContext=Rx1.isSpanContextValid=Rx1.isValidSpanId=Rx1.isValidTraceId=void 0;var Cx1=Ui(),sDA=Fi(),oDA=/^([0-9a-f]{32})$/i,tDA=/^[0-9a-f]{16}$/i;function Vx1(A){return oDA.test(A)&&A!==Cx1.INVALID_TRACEID}Rx1.isValidTraceId=Vx1;function Ox1(A){return tDA.test(A)&&A!==Cx1.INVALID_SPANID}Rx1.isValidSpanId=Ox1;function eDA(A){return Vx1(A.traceId)&&Ox1(A.spanId)}Rx1.isSpanContextValid=eDA;function AzA(A){return new sDA.NonRecordingSpan(A)}Rx1.wrapSpanContext=AzA});var zB1=B1((Px1)=>{Object.defineProperty(Px1,"__esModule",{value:!0});Px1.NoopTracer=void 0;var DzA=af(),Tx1=BB1(),JB1=Fi(),zzA=Ei(),DB1=DzA.ContextAPI.getInstance();class jx1{startSpan(A,Q,B=DB1.active()){if(Boolean(Q===null||Q===void 0?void 0:Q.root))return new JB1.NonRecordingSpan;let D=B&&Tx1.getSpanContext(B);if(ZzA(D)&&zzA.isSpanContextValid(D))return new JB1.NonRecordingSpan(D);else return new JB1.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 X=z!==null&&z!==void 0?z:DB1.active(),K=this.startSpan(A,D,X),G=Tx1.setSpan(X,K);return DB1.with(G,Z,void 0,K)}}Px1.NoopTracer=jx1;function ZzA(A){return typeof A==="object"&&typeof A.spanId==="string"&&typeof A.traceId==="string"&&typeof A.traceFlags==="number"}});var ZB1=B1(($x1)=>{Object.defineProperty($x1,"__esModule",{value:!0});$x1.ProxyTracer=void 0;var XzA=zB1(),KzA=new XzA.NoopTracer;class Sx1{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 KzA;return this._delegate=A,this._delegate}}$x1.ProxyTracer=Sx1});var bx1=B1((fx1)=>{Object.defineProperty(fx1,"__esModule",{value:!0});fx1.NoopTracerProvider=void 0;var GzA=zB1();class kx1{getTracer(A,Q,B){return new GzA.NoopTracer}}fx1.NoopTracerProvider=kx1});var XB1=B1((gx1)=>{Object.defineProperty(gx1,"__esModule",{value:!0});gx1.ProxyTracerProvider=void 0;var YzA=ZB1(),qzA=bx1(),UzA=new qzA.NoopTracerProvider;class xx1{getTracer(A,Q,B){var J;return(J=this.getDelegateTracer(A,Q,B))!==null&&J!==void 0?J:new YzA.ProxyTracer(this,A,Q,B)}getDelegate(){var A;return(A=this._delegate)!==null&&A!==void 0?A:UzA}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)}}gx1.ProxyTracerProvider=xx1});var ux1=B1((mx1)=>{Object.defineProperty(mx1,"__esModule",{value:!0});mx1.SamplingDecision=void 0;var FzA;(function(A){A[A.NOT_RECORD=0]="NOT_RECORD",A[A.RECORD=1]="RECORD",A[A.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"})(FzA=mx1.SamplingDecision||(mx1.SamplingDecision={}))});var cx1=B1((px1)=>{Object.defineProperty(px1,"__esModule",{value:!0});px1.SpanKind=void 0;var EzA;(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"})(EzA=px1.SpanKind||(px1.SpanKind={}))});var lx1=B1((dx1)=>{Object.defineProperty(dx1,"__esModule",{value:!0});dx1.SpanStatusCode=void 0;var HzA;(function(A){A[A.UNSET=0]="UNSET",A[A.OK=1]="OK",A[A.ERROR=2]="ERROR"})(HzA=dx1.SpanStatusCode||(dx1.SpanStatusCode={}))});var nx1=B1((ix1)=>{Object.defineProperty(ix1,"__esModule",{value:!0});ix1.validateValue=ix1.validateKey=void 0;var qB1="[_0-9a-z-*/]",wzA=`[a-z]${qB1}{0,255}`,WzA=`[a-z0-9]${qB1}{0,240}@[a-z]${qB1}{0,13}`,MzA=new RegExp(`^(?:${wzA}|${WzA})$`),IzA=/^[ -~]{0,255}[!-~]$/,NzA=/,|=/;function CzA(A){return MzA.test(A)}ix1.validateKey=CzA;function VzA(A){return IzA.test(A)&&!NzA.test(A)}ix1.validateValue=VzA});var Qg1=B1((ex1)=>{Object.defineProperty(ex1,"__esModule",{value:!0});ex1.TraceStateImpl=void 0;var rx1=nx1(),sx1=32,RzA=512,ox1=",",tx1="=";class UB1{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+tx1+this.get(Q)),A},[]).join(ox1)}_parse(A){if(A.length>RzA)return;if(this._internalState=A.split(ox1).reverse().reduce((Q,B)=>{let J=B.trim(),D=J.indexOf(tx1);if(D!==-1){let z=J.slice(0,D),Z=J.slice(D+1,B.length);if(rx1.validateKey(z)&&rx1.validateValue(Z))Q.set(z,Z)}return Q},new Map),this._internalState.size>sx1)this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,sx1))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let A=new UB1;return A._internalState=new Map(this._internalState),A}}ex1.TraceStateImpl=UB1});var Dg1=B1((Bg1)=>{Object.defineProperty(Bg1,"__esModule",{value:!0});Bg1.createTraceState=void 0;var LzA=Qg1();function TzA(A){return new LzA.TraceStateImpl(A)}Bg1.createTraceState=TzA});var Xg1=B1((zg1)=>{Object.defineProperty(zg1,"__esModule",{value:!0});zg1.context=void 0;var jzA=af();zg1.context=jzA.ContextAPI.getInstance()});var Yg1=B1((Kg1)=>{Object.defineProperty(Kg1,"__esModule",{value:!0});Kg1.diag=void 0;var PzA=rV();Kg1.diag=PzA.DiagAPI.instance()});var Fg1=B1((qg1)=>{Object.defineProperty(qg1,"__esModule",{value:!0});qg1.NOOP_METER_PROVIDER=qg1.NoopMeterProvider=void 0;var _zA=iQ1();class FB1{getMeter(A,Q,B){return _zA.NOOP_METER}}qg1.NoopMeterProvider=FB1;qg1.NOOP_METER_PROVIDER=new FB1});var Wg1=B1((Hg1)=>{Object.defineProperty(Hg1,"__esModule",{value:!0});Hg1.MetricsAPI=void 0;var $zA=Fg1(),EB1=nV(),Eg1=rV(),HB1="metrics";class wB1{constructor(){}static getInstance(){if(!this._instance)this._instance=new wB1;return this._instance}setGlobalMeterProvider(A){return EB1.registerGlobal(HB1,A,Eg1.DiagAPI.instance())}getMeterProvider(){return EB1.getGlobal(HB1)||$zA.NOOP_METER_PROVIDER}getMeter(A,Q,B){return this.getMeterProvider().getMeter(A,Q,B)}disable(){EB1.unregisterGlobal(HB1,Eg1.DiagAPI.instance())}}Hg1.MetricsAPI=wB1});var Ng1=B1((Mg1)=>{Object.defineProperty(Mg1,"__esModule",{value:!0});Mg1.metrics=void 0;var vzA=Wg1();Mg1.metrics=vzA.MetricsAPI.getInstance()});var Rg1=B1((Vg1)=>{Object.defineProperty(Vg1,"__esModule",{value:!0});Vg1.NoopTextMapPropagator=void 0;class Cg1{inject(A,Q){}extract(A,Q){return A}fields(){return[]}}Vg1.NoopTextMapPropagator=Cg1});var Pg1=B1((Tg1)=>{Object.defineProperty(Tg1,"__esModule",{value:!0});Tg1.deleteBaggage=Tg1.setBaggage=Tg1.getActiveBaggage=Tg1.getBaggage=void 0;var kzA=af(),fzA=df(),WB1=fzA.createContextKey("OpenTelemetry Baggage Key");function Lg1(A){return A.getValue(WB1)||void 0}Tg1.getBaggage=Lg1;function yzA(){return Lg1(kzA.ContextAPI.getInstance().active())}Tg1.getActiveBaggage=yzA;function bzA(A,Q){return A.setValue(WB1,Q)}Tg1.setBaggage=bzA;function xzA(A){return A.deleteValue(WB1)}Tg1.deleteBaggage=xzA});var kg1=B1(($g1)=>{Object.defineProperty($g1,"__esModule",{value:!0});$g1.PropagationAPI=void 0;var MB1=nV(),uzA=Rg1(),_g1=nQ1(),Hi=Pg1(),pzA=bQ1(),Sg1=rV(),IB1="propagation",czA=new uzA.NoopTextMapPropagator;class NB1{constructor(){this.createBaggage=pzA.createBaggage,this.getBaggage=Hi.getBaggage,this.getActiveBaggage=Hi.getActiveBaggage,this.setBaggage=Hi.setBaggage,this.deleteBaggage=Hi.deleteBaggage}static getInstance(){if(!this._instance)this._instance=new NB1;return this._instance}setGlobalPropagator(A){return MB1.registerGlobal(IB1,A,Sg1.DiagAPI.instance())}inject(A,Q,B=_g1.defaultTextMapSetter){return this._getGlobalPropagator().inject(A,Q,B)}extract(A,Q,B=_g1.defaultTextMapGetter){return this._getGlobalPropagator().extract(A,Q,B)}fields(){return this._getGlobalPropagator().fields()}disable(){MB1.unregisterGlobal(IB1,Sg1.DiagAPI.instance())}_getGlobalPropagator(){return MB1.getGlobal(IB1)||czA}}$g1.PropagationAPI=NB1});var bg1=B1((fg1)=>{Object.defineProperty(fg1,"__esModule",{value:!0});fg1.propagation=void 0;var dzA=kg1();fg1.propagation=dzA.PropagationAPI.getInstance()});var pg1=B1((mg1)=>{Object.defineProperty(mg1,"__esModule",{value:!0});mg1.TraceAPI=void 0;var CB1=nV(),xg1=XB1(),gg1=Ei(),Ej=BB1(),hg1=rV(),VB1="trace";class OB1{constructor(){this._proxyTracerProvider=new xg1.ProxyTracerProvider,this.wrapSpanContext=gg1.wrapSpanContext,this.isSpanContextValid=gg1.isSpanContextValid,this.deleteSpan=Ej.deleteSpan,this.getSpan=Ej.getSpan,this.getActiveSpan=Ej.getActiveSpan,this.getSpanContext=Ej.getSpanContext,this.setSpan=Ej.setSpan,this.setSpanContext=Ej.setSpanContext}static getInstance(){if(!this._instance)this._instance=new OB1;return this._instance}setGlobalTracerProvider(A){let Q=CB1.registerGlobal(VB1,this._proxyTracerProvider,hg1.DiagAPI.instance());if(Q)this._proxyTracerProvider.setDelegate(A);return Q}getTracerProvider(){return CB1.getGlobal(VB1)||this._proxyTracerProvider}getTracer(A,Q){return this.getTracerProvider().getTracer(A,Q)}disable(){CB1.unregisterGlobal(VB1,hg1.DiagAPI.instance()),this._proxyTracerProvider=new xg1.ProxyTracerProvider}}mg1.TraceAPI=OB1});var lg1=B1((cg1)=>{Object.defineProperty(cg1,"__esModule",{value:!0});cg1.trace=void 0;var lzA=pg1();cg1.trace=lzA.TraceAPI.getInstance()});var Hj=B1((r4)=>{Object.defineProperty(r4,"__esModule",{value:!0});r4.trace=r4.propagation=r4.metrics=r4.diag=r4.context=r4.INVALID_SPAN_CONTEXT=r4.INVALID_TRACEID=r4.INVALID_SPANID=r4.isValidSpanId=r4.isValidTraceId=r4.isSpanContextValid=r4.createTraceState=r4.TraceFlags=r4.SpanStatusCode=r4.SpanKind=r4.SamplingDecision=r4.ProxyTracerProvider=r4.ProxyTracer=r4.defaultTextMapSetter=r4.defaultTextMapGetter=r4.ValueType=r4.createNoopMeter=r4.DiagLogLevel=r4.DiagConsoleLogger=r4.ROOT_CONTEXT=r4.createContextKey=r4.baggageEntryMetadataFromString=void 0;var izA=bQ1();Object.defineProperty(r4,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return izA.baggageEntryMetadataFromString}});var ig1=df();Object.defineProperty(r4,"createContextKey",{enumerable:!0,get:function(){return ig1.createContextKey}});Object.defineProperty(r4,"ROOT_CONTEXT",{enumerable:!0,get:function(){return ig1.ROOT_CONTEXT}});var azA=pb1();Object.defineProperty(r4,"DiagConsoleLogger",{enumerable:!0,get:function(){return azA.DiagConsoleLogger}});var nzA=Gi();Object.defineProperty(r4,"DiagLogLevel",{enumerable:!0,get:function(){return nzA.DiagLogLevel}});var rzA=iQ1();Object.defineProperty(r4,"createNoopMeter",{enumerable:!0,get:function(){return rzA.createNoopMeter}});var szA=Ax1();Object.defineProperty(r4,"ValueType",{enumerable:!0,get:function(){return szA.ValueType}});var ag1=nQ1();Object.defineProperty(r4,"defaultTextMapGetter",{enumerable:!0,get:function(){return ag1.defaultTextMapGetter}});Object.defineProperty(r4,"defaultTextMapSetter",{enumerable:!0,get:function(){return ag1.defaultTextMapSetter}});var ozA=ZB1();Object.defineProperty(r4,"ProxyTracer",{enumerable:!0,get:function(){return ozA.ProxyTracer}});var tzA=XB1();Object.defineProperty(r4,"ProxyTracerProvider",{enumerable:!0,get:function(){return tzA.ProxyTracerProvider}});var ezA=ux1();Object.defineProperty(r4,"SamplingDecision",{enumerable:!0,get:function(){return ezA.SamplingDecision}});var AZA=cx1();Object.defineProperty(r4,"SpanKind",{enumerable:!0,get:function(){return AZA.SpanKind}});var QZA=lx1();Object.defineProperty(r4,"SpanStatusCode",{enumerable:!0,get:function(){return QZA.SpanStatusCode}});var BZA=eQ1();Object.defineProperty(r4,"TraceFlags",{enumerable:!0,get:function(){return BZA.TraceFlags}});var JZA=Dg1();Object.defineProperty(r4,"createTraceState",{enumerable:!0,get:function(){return JZA.createTraceState}});var RB1=Ei();Object.defineProperty(r4,"isSpanContextValid",{enumerable:!0,get:function(){return RB1.isSpanContextValid}});Object.defineProperty(r4,"isValidTraceId",{enumerable:!0,get:function(){return RB1.isValidTraceId}});Object.defineProperty(r4,"isValidSpanId",{enumerable:!0,get:function(){return RB1.isValidSpanId}});var LB1=Ui();Object.defineProperty(r4,"INVALID_SPANID",{enumerable:!0,get:function(){return LB1.INVALID_SPANID}});Object.defineProperty(r4,"INVALID_TRACEID",{enumerable:!0,get:function(){return LB1.INVALID_TRACEID}});Object.defineProperty(r4,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return LB1.INVALID_SPAN_CONTEXT}});var ng1=Xg1();Object.defineProperty(r4,"context",{enumerable:!0,get:function(){return ng1.context}});var rg1=Yg1();Object.defineProperty(r4,"diag",{enumerable:!0,get:function(){return rg1.diag}});var sg1=Ng1();Object.defineProperty(r4,"metrics",{enumerable:!0,get:function(){return sg1.metrics}});var og1=bg1();Object.defineProperty(r4,"propagation",{enumerable:!0,get:function(){return og1.propagation}});var tg1=lg1();Object.defineProperty(r4,"trace",{enumerable:!0,get:function(){return tg1.trace}});r4.default={context:ng1.context,diag:rg1.diag,metrics:sg1.metrics,propagation:og1.propagation,trace:tg1.trace}});function XZA(){return ZZA}function Ah1(A){wj=A}var eg1,ZZA=!1,KZA,wj,GZA,k1;var w2=g1(()=>{eg1=K6(Hj(),1);KZA={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(XZA())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=eg1.trace.getActiveSpan();if(J){let D=J.spanContext();if(D.traceId)B.traceId=D.traceId,B.spanId=D.spanId}console.info(A,B)}},wj=KZA;GZA={error:(A,...Q)=>wj.error(A,...Q),warn:(A,...Q)=>wj.warn(A,...Q),info:(A,...Q)=>wj.info(A,...Q),debug:(A,...Q)=>wj.debug(A,...Q),audit:(A,...Q)=>wj.audit(A,...Q)},k1=GZA});function TB1(A){let Q=typeof A==="string"?A:A.toString();return Q===LX||Q===LX.slice(0,-1)}function jB1(A){return TB1(A)?LX:A}var YZA,LX,qZA,aA2;var Wj=g1(()=>{YZA=new URL("https://ampcode.com/"),LX=YZA.toString(),qZA=new URL("https://api.anthropic.com/"),aA2=qZA.toString()});function wi(A){Promise.resolve().then(()=>{try{A()}catch(Q){console.error(Q)}})}function Qh1(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 _B1(A){A._observer=void 0,A._queue=void 0,A._state="closed"}function UZA(A){let Q=A._queue;if(!Q)return;A._queue=void 0,A._state="ready";for(let B of Q)if(Bh1(A,B.type,B.value),A._state==="closed")break}function Bh1(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(_B1(A),J&&typeof J.error==="function")J.error(B);else throw B;break;case"complete":if(_B1(A),J&&typeof J.complete==="function")J.complete();break}}catch(D){console.error("notifySubscription",D)}if(A._state==="closed")Qh1(A);else if(A._state==="running")A._state="ready"}function PB1(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}],wi(()=>UZA(A));return}Bh1(A,Q,B)}class Jh1{_cleanup;_observer;_queue;_state;constructor(A,Q){this._cleanup=void 0,this._observer=A,this._queue=void 0,this._state="initializing";let B=new Dh1(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")_B1(this),Qh1(this)}}class Dh1{_subscription;constructor(A){this._subscription=A}get closed(){return this._subscription._state==="closed"}next(A){PB1(this._subscription,"next",A)}error(A){PB1(this._subscription,"error",A)}complete(){PB1(this._subscription,"complete")}}function w7(A){if(typeof A==="function")A();else if(A&&typeof A.unsubscribe==="function")A.unsubscribe()}class nf{_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 wA;var rf=g1(()=>{if(!Symbol.observable)Symbol.observable=Symbol("observable");wA=class wA{_subscriber;constructor(A){if(!(this instanceof wA))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 Jh1(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:wA;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 wA)return D;return new Q((z)=>D.subscribe(z))}let J=A[Symbol.iterator];if(typeof J==="function")return new Q((D)=>{wi(()=>{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)=>{wi(()=>{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:wA)((B)=>{wi(()=>{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 K8,eQ;var Wi=g1(()=>{rf();K8=class K8 extends wA{_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()}};eQ=class eQ extends K8{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 zh1(){let A=new Set,Q=new eQ(A);return{add(B){A.add(B),Q.next(A)},delete(B){A.delete(B),Q.next(A)},set:A,observable:Q}}function Zh1(){let A=new Map,Q=new eQ(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 Xh1=g1(()=>{Wi()});function Mi(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)=>Mi(z,Q[Z]));let D=new Set([...Object.keys(A),...Object.keys(Q)]);for(let z of D)if(!Mi(A[z],Q[z]))return!1;return!0}function SB1(A){return{dispose:A.unsubscribe.bind(A)}}async function d6(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 OH(A,Q){return new Promise((B,J)=>{let D,z=!1,Z=A.subscribe({next:(X)=>{D=X,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 RH(A){return new wA((Q)=>{A.then((B)=>{Q.next(B),Q.complete()}).catch((B)=>{Q.error(B)})})}function X4(A){return new wA((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 Gh1(){let A=null,Q=[];return{observable:new wA((D)=>{let z=A?A.subscribe(D):null,Z={observer:D,subscription:z};return Q.push(Z),()=>{Z.subscription?.unsubscribe();let X=Q.indexOf(Z);if(X!==-1)Q.splice(X,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 wA((B)=>{let J=new nf(B),D=0,z=Q.subscribe({complete(){J.complete()},error(Z){J.error(Z)},next(Z){J.schedule(async(X)=>{let K=await A(Z,D);D++,X(K)})}});return()=>w7(z)})}}function Yh1(A){return new wA((Q)=>{let B=0,J=setInterval(()=>{Q.next(B++)},A);return()=>clearInterval(J)})}function uK(...A){return new wA((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()=>{qh1(J)}})}function N5(...A){if(A.length===0)return FZA;return new wA((Q)=>{let B=new Array(A.length),J=new Array(A.length).fill(0),D=new Array(A.length).fill(!1),z=0,Z=[],X=new nf(Q);for(let K=0;K<A.length;K++){let G=A[K];Z.push(G.subscribe({next(Y){B[K]=Y,D[K]=!0;let q=++J[K];if(D.every(Boolean))X.schedule(async(F)=>{if(J[K]===q)F([...B])})},error(Y){X.error(Y)},complete(){if(z++,z===A.length)X.complete()}}))}return()=>{qh1(Z)}})}function Mj(A,Q){return new wA((B)=>{let J=(D)=>{B.next(D)};return A.addListener(Q,J),()=>{A.removeListener(Q,J),B.complete()}})}function Ij(A,Q){if(typeof A!=="function")throw new TypeError(A+" is not a function");let B=arguments.length>1;return(J)=>new wA((D)=>{let z=!1,Z=Q,X=J.subscribe({next(K){let G=!z;if(z=!0,!G||B)try{Z=A(Z,K)}catch(Y){D.error(Y);return}else Z=K},error(K){D.error(K)},complete(){if(!z&&!B){D.error(new TypeError("Cannot reduce an empty sequence"));return}D.next(Z),D.complete()}});return()=>w7(X)})}function GJ(A){let B=A?.shouldCountRefs??!0,J=EZA++,D=(z,...Z)=>{};return(z)=>{let Z=new K8,X=null,K=!1,G,Y=0;return new wA((q)=>{if(Y++,K)D("new subscriber, emitting buffered value",G),q.next(G);else D("new subscriber, no buffered value to emit");if(!X)X=z.subscribe({next:(E)=>{K=!0,G=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(X)w7(X),X=null;K=!1}}})}}function qh1(A){for(let Q of A)if(Q)w7(Q)}function qZ(A){return(Q)=>{return new wA((B)=>{let J,D=Q.subscribe({next(z){J=z,B.next(z)},error(z){B.error(z)},complete(){B.complete()}});return()=>{w7(D),A(J)}})}}function jD(A=Mi){return(Q)=>{return new wA((B)=>{let J=Kh1,D=new nf(B),z=Q.subscribe({complete(){D.complete()},error(Z){D.error(Z)},next(Z){D.schedule(async(X)=>{if(J===Kh1||!A(J,Z))J=Z,X(Z)})}});return()=>w7(z)})}}function TH(A){return HZA(typeof A==="function"?{next:A}:A)}function HZA(A){return(Q)=>new wA((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()=>w7(D)})}function TQ(A){return(Q)=>new wA((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)w7(J)}})}function $B1(A){return(Q)=>new wA((B)=>{let J=0,D=Q.subscribe({next(z){if(J<A){if(B.next(z),J++,J===A)B.complete(),w7(D)}},error(z){B.error(z)},complete(){B.complete()}});return()=>{w7(D)}})}function y4(A){return(Q)=>{return new wA((B)=>{let J=0,D=null,z=!1,Z=()=>{if(z&&!D)B.complete()},X=Q.subscribe({next(K){if(D)w7(D),D=null;D=A(K,J++).subscribe({next(Y){B.next(Y)},error(Y){B.error(Y)},complete(){D=null,Z()}})},error(K){B.error(K)},complete(){z=!0,Z()}});return()=>{if(w7(X),D)w7(D)}})}}function xM(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 TX(A){return(Q)=>new wA((B)=>{let J=null,D=null,z=!1,Z=Q.subscribe({next:(X)=>{if(D=X,z=!0,J===null)J=setTimeout(()=>{if(z)B.next(D),z=!1;J=null},A)},error:(X)=>B.error(X),complete:()=>{if(J!==null)clearTimeout(J);if(z)B.next(D);B.complete()}});return()=>{if(w7(Z),J!==null)clearTimeout(J)}})}function vB1(A,Q){if(!Q.leading||!Q.trailing)throw new Error("leading and trailing must be true");return(B)=>new wA((J)=>{let D=0,z=null,Z=null,X=!1,K=B.subscribe({next:(G)=>{let Y=Date.now();if(Z=G,X=!0,Y-D>=A)J.next(G),D=Y,X=!1;else if(z===null)z=setTimeout(()=>{if(X)J.next(Z),D=Date.now(),X=!1;z=null},A-(Y-D));if(D===0)J.next(G),D=Y,X=!1},error:(G)=>J.error(G),complete:()=>{if(z!==null)clearTimeout(z);if(X)J.next(Z);J.complete()}});return()=>{if(w7(K),z!==null)clearTimeout(z)}})}function sf(...A){return new wA((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)w7(J)}})}function sV(A){return(Q)=>new wA((B)=>{let J=0,D=!1,z=null,Z=Q.subscribe({next(X){try{let K=A(X,J++);if(z)w7(z);z=K.subscribe({next(G){B.next(G)},error(G){B.error(G)},complete(){if(z=null,D&&!z)B.complete()}})}catch(K){B.error(K)}},error(X){B.error(X)},complete(){if(D=!0,!z)B.complete()}});return()=>{if(w7(Z),z)w7(z)}})}function Ii({onSubscribe:A,onUnsubscribe:Q}){return(B)=>new wA((J)=>{A?.();let D=B.subscribe(J);return()=>{w7(D),Q?.()}})}function kY(A){return(Q)=>wA.from(Q).pipe(y4((B)=>X4((J)=>A(B,J))))}function gM(A){return(Q)=>new wA((B)=>{let J,D=Q.subscribe({next(z){B.next(z)},error(z){try{J=A(z).subscribe({next(X){B.next(X)},error(X){B.error(X)},complete(){B.complete()}})}catch(Z){B.error(Z)}},complete(){B.complete()}});return()=>{if(w7(D),J)w7(J)}})}function e7(A){return(Q)=>{return new wA((B)=>{let J=Q.subscribe({next(D){if(A(D))B.next(D)},error(D){B.error(D)},complete(){B.complete()}});return()=>w7(J)})}}var FZA,LH,D62,EZA=0,Kh1;var kB1=g1(()=>{rf();Wi();FZA=new wA((A)=>{A.complete()}),LH=new wA(()=>{});D62=Symbol("noInitialValue");Kh1={}});function Ni(A,Q){return(B)=>{return wA.from(B).pipe(y4((J)=>J===cU?wA.of(cU):A(J).pipe(gM((D)=>wA.of(D instanceof Error?D:new Error(D))),TQ(cU))),GJ(Q))}}function wZA(){return(A)=>wA.from(A).pipe(e7((Q)=>Q!==cU))}async function Uh1(A,Q){let B=await d6(wA.from(A).pipe(wZA()),Q);if(B instanceof Error)throw B;return B}var cU;var Fh1=g1(()=>{rf();kB1();cU=Symbol.for("@@pendingOperation")});var i6=g1(()=>{Xh1();rf();Fh1();kB1();Wi()});function Hh1(A){Eh1.setSource(A.pipe(GJ()),!1)}var Eh1,_8;var LB=g1(()=>{i6();Eh1=Gh1();_8=Eh1.observable});function wh1(){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 Wh1(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&&!WZA.test(A.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(A.path){if(A.authority){if(!MZA.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(IZA.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 NZA(A,Q){if(!A&&!Q)return"file";return A}function CZA(A,Q){switch(A){case"https":case"http":case"file":if(!Q)Q=fY;else if(Q[0]!==fY)Q=fY+Q;break}return Q}class L8{static isUri(A){if(A instanceof L8)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||C5,this.authority=A.authority||C5,this.path=A.path||C5,this.query=A.query||C5,this.fragment=A.fragment||C5,this.platform=A.platform;else this.scheme=NZA(A,z),this.authority=Q||C5,this.path=CZA(this.scheme,B||C5),this.query=J||C5,this.fragment=D||C5,this.platform=Z,Wh1(this,z)}get fsPath(){return Vh1(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=C5;if(B===void 0)B=this.authority;else if(B===null)B=C5;if(J===void 0)J=this.path;else if(J===null)J=C5;if(D===void 0)D=this.query;else if(D===null)D=C5;if(z===void 0)z=this.fragment;else if(z===null)z=C5;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 oV(Q,B,J,D,z,!1,Z)}static parse(A,Q=!1){let B=VZA.exec(A);if(!B)return new oV(C5,C5,C5,C5,C5);return new oV(B[2]||C5,Ci(B[4]||C5),Ci(B[5]||C5),Ci(B[7]||C5),Ci(B[9]||C5),Q)}static file(A,Q=wh1()){let B=C5;if(Q==="windows")A=A.replace(/\\/g,fY);if(A[0]===fY&&A[1]===fY){let J=A.indexOf(fY,2);if(J===-1)B=A.substring(2),A=fY;else B=A.substring(2,J),A=A.substring(J)||fY}return new oV("file",B,A,C5,C5,!1,Q)}static from(A){let Q=new oV(A.scheme,A.authority,A.path,A.query,A.fragment,!0,A.platform);return Wh1(Q,!0),Q}toString(A=!1){return fB1(this,A)}toJSON(){return this}static revive(A){if(!A)return A;if(A instanceof L8)return A;let Q=new oV(A),B=A;return Q._formatted=B.external,Q._fsPath=B._sep===Nh1(Q.platform)?B.fsPath:null,Q}}function Nh1(A){return A==="windows"?1:void 0}function Mh1(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=Ch1[z];if(Z!==void 0)J+=Z;else J+=encodeURIComponent(A.charAt(D))}}return J!==void 0?J:A}function OZA(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+=Ch1[J]}else if(Q!==void 0)Q+=A[B]}return Q!==void 0?Q:A}function Vh1(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 fB1(A,Q){let B=!Q?Mh1:OZA,J="",{scheme:D,authority:z,path:Z,query:X,fragment:K}=A;if(D)J+=D,J+=":";if(z||D==="file")J+=fY,J+=fY;if(z){let G=z.indexOf("@");if(G!==-1){let Y=z.substring(0,G);if(z=z.substring(G+1),G=Y.lastIndexOf(":"),G===-1)J+=B(Y,!1,!1);else J+=B(Y.substring(0,G),!1,!1),J+=":",J+=B(Y.substring(G+1),!1,!0);J+="@"}if(z=z.toLowerCase(),G=z.lastIndexOf(":"),G===-1)J+=B(z,!1,!0);else J+=B(z.substring(0,G),!1,!0),J+=z.substring(G)}if(Z){if(Z.length>=3&&Z.charCodeAt(0)===47&&Z.charCodeAt(2)===58){let G=Z.charCodeAt(1);if(G>=65&&G<=90)Z=`/${String.fromCharCode(G+32)}:${Z.substring(3)}`}else if(Z.length>=2&&Z.charCodeAt(1)===58){let G=Z.charCodeAt(0);if(G>=65&&G<=90)Z=`${String.fromCharCode(G+32)}:${Z.substring(2)}`}J+=B(Z,!0,!1)}if(X)J+="?",J+=B(X,!1,!1);if(K)J+="#",J+=!Q?Mh1(K,!1,!1):K;return J}function Oh1(A){try{return decodeURIComponent(A)}catch{if(A.length>3)return A.substring(0,3)+Oh1(A.substring(3));else return A}}function Ci(A){if(!A.match(Ih1))return A;return A.replace(Ih1,(Q)=>Oh1(Q))}function hM(A){return A.scheme==="file"}function yB1(A){return L8.parse(A)}function X5(A){return A.toString()}function wz(A){if(typeof A==="string"||A instanceof URL)return L8.parse(A.toString());return A}var WZA,MZA,IZA,C5="",fY="/",VZA,oV,Ch1,Ih1;var bB1=g1(()=>{WZA=/^\w[\w\d+.-]*$/,MZA=/^\//,IZA=/^\/\//;VZA=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;oV=class oV extends L8{_formatted=null;_fsPath=null;get fsPath(){if(!this._fsPath)this._fsPath=Vh1(this,!1);return this._fsPath}toString(A=!1){if(!A){if(!this._formatted)this._formatted=fB1(this,!1);return this._formatted}return fB1(this,!0)}toJSON(){let A={};if(this._fsPath)A.fsPath=this._fsPath,A._sep=Nh1(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}};Ch1={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"};Ih1=/(%[0-9A-Za-z][0-9A-Za-z])+/g});function xB1(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 of(A){let Q=A.replace(/\/+$/,"");if(!Q)return"";let B=Q.lastIndexOf("/");return B===-1?Q:Q.slice(B+1)}function Vi(...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 Rh1(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),X=Q===B?[""]:Q.split(B),K=0;while(K<Z.length&&K<X.length&&z(Z[K],X[K]))K++;let G=Z.length-K,Y=[];for(let q=0;q<G;q++)Y.push("..");return Y.push(...X.slice(K)),Y.join(J)}function Lh1(A){let Q=of(A.replace(/\/+$/,"")),B=Q.lastIndexOf(".");if(B===0||B===-1)return"";return Q.slice(B)}function RZA(A,...Q){return A=wz(A),A.with({path:Vi(A.path,...Q)})}function LZA(A,...Q){let B=A.path,J=!1;if(B[0]!==Oi)B=Oi+B,J=!0;let D=B;for(let z of Q)if(z.startsWith("/"))D=Vi(z);else D=Vi(D,z);if(D!=="/"&&D.endsWith("/"))D=D.replace(/\/+$/,"");if(J&&D[0]===Oi&&!A.authority)D=D.substring(1);return A.with({path:D})}function TZA(A){if(A=wz(A),A.path.length===0||A.path===Oi)return A;let Q=xB1(A.path);if(Q.length===1&&Q===".")Q="";return A.with({path:Q})}function jZA(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 PZA(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 Rh1(A.path,Q.path,B,B)}function _ZA(A,Q){let B=X5(A),J=X5(Q);if(B.startsWith("file:///")&&J.startsWith("file:///"))return Th1(B)===Th1(J);return B===J}function Th1(A){return A.replace(/^file:\/\/\/([A-Za-z]):/,(Q)=>`file:///${Q.toLowerCase()}:`)}var Oi="/",C8;var gB1=g1(()=>{bB1();C8={joinPath:RZA,resolvePath:LZA,dirname:TZA,basename:(A)=>of(A.path),extname:(A)=>Lh1(A.path),hasPrefix:jZA,relativePath:PZA,equalURIs:_ZA}});var y7=g1(()=>{bB1();gB1()});function mB1(A,Q){let B=SZA(A,Q);return typeof B==="string"?B:B.toString()}function SZA(A,Q,B=!0){if(!Q)Q=$ZA();let{workspaceFolders:J,isWindows:D,homeDir:z}=Q,Z=typeof A==="string"?L8.parse(A):L8.from(A),X=B&&J.length>=2;for(let K of J){let G=wz(K);if(C8.hasPrefix(Z,G)){let Y=G.path.endsWith("/")?G.path.slice(0,-1):G.path,q=X?of(G.path)+(D?"\\":"/"):"";return hB1(q+Z.path.slice(Y.length+1),D,Z.scheme)}}if(Z?.scheme==="file"){if(z){let K=wz(z);if(C8.hasPrefix(Z,K)){let G=K.path.endsWith("/")?K.path.slice(0,-1):K.path,Y=Z.path.slice(G.length+1);return hB1("~"+(D?"\\":"/")+Y,D,Z.scheme)}}return hB1(Z.fsPath,D,Z.scheme)}return Z}function hB1(A,Q,B){return Q&&B==="file"?A.replaceAll("/","\\"):A}function jh1(A){let Q=Ri;return Ri=A,Q}function $ZA(){if(Ri)return Ri;throw new Error("must call setDisplayPathEnvInfo before calling displayPath() and related functions")}var Ri=null;var uB1=g1(()=>{y7();gB1()});function tf({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 tV(A){if(typeof A!=="string")throw new TypeError(`Expected a \`string\`, got \`${typeof A}\``);return A.replace(vZA,"")}var vZA;var Li=g1(()=>{vZA=tf()});var _h1=B1((x62,pB1)=>{var mM={};if(typeof pB1=="undefined")window.eastasianwidth=mM;else pB1.exports=mM;mM.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"};mM.characterLength=function(A){var Q=this.eastAsianWidth(A);if(Q=="F"||Q=="W"||Q=="A")return 2;else return 1};function Ph1(A){return A.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}mM.length=function(A){var Q=Ph1(A),B=0;for(var J=0;J<Q.length;J++)B=B+this.characterLength(Q[J]);return B};mM.slice=function(A,Q,B){if(textLen=mM.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=Ph1(A);for(var Z=0;Z<z.length;Z++){var X=z[Z],K=mM.length(X);if(D>=Q-(K==2?1:0))if(D+K<=B)J+=X;else break;D+=K}return J}});var cB1=B1((g62,Sh1)=>{Sh1.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 PD(A,Q){if(typeof A!=="string"||A.length===0)return 0;if(Q={ambiguousIsNarrow:!0,countAnsiEscapeCodes:!1,...Q},!Q.countAnsiEscapeCodes)A=tV(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(vh1.default().test(D)){J+=2;continue}switch($h1.default.eastAsianWidth(D)){case"F":case"W":{J+=2;break}case"A":{J+=B;break}default:J+=1}}return J}var $h1,vh1;var Ti=g1(()=>{Li();$h1=K6(_h1(),1),vh1=K6(cB1(),1)});function ji(A,Q,B,J="..."){if(Q<=B)return A;let D=B-J.length,z=0,Z=0,X=0;for(let K=0;K<A.length;K++)if(A[K]==="\x1B"||A[K]==="\x1B"){let G=K+1;while(G<A.length&&A[G-1]!=="m")G++;K=G-1}else{let G=PD(A[K]);if(z=z+G,z===D){Z=K;break}else if(z>D){Z=X;break}else X=K}if(Z>0)return A.substring(0,Z+1)+J;return A}var kh1=g1(()=>{Ti()});var jQ="todo_write",pK="todo_read",kZA=({args:A},Q)=>{return X4(async()=>{return{status:"done",result:JSON.stringify(A.todos)}})},fZA=(A,Q)=>{return X4(async()=>{let B=Q.todos;if(Array.isArray(B))return{status:"done",result:B};else if(typeof B==="string")return{status:"done",result:B};else return{status:"done",result:[]}})},fh1,yh1;var eV=g1(()=>{i6();fh1={spec:{name:jQ,description:"Update the todo list for the current session. To be used proactively and often to track progress and pending tasks.",inputSchema:{type:"object",properties:{todos:{type:"array",description:"The list of todo items. This replaces any existing todos.",items:{type:"object",properties:{id:{type:"string",description:"Unique identifier for the todo item"},content:{type:"string",description:"The content/description of the todo item"},status:{type:"string",enum:["completed","in-progress","todo"],description:"The current status of the todo item"},priority:{type:"string",enum:["medium","low","high"],description:"The priority level of the todo item"}},required:["id","content","status","priority"]}}},required:["todos"]},source:"builtin"},fn:kZA},yh1={spec:{name:pK,description:"Read the current todo list for the session",inputSchema:{type:"object",properties:{},required:[]},source:"builtin"},fn:fZA}});var xh1;var bh1=g1(()=>{xh1={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 && pnpm run -s _build:extension:web && concurrently 'pnpm run -s _build:debugger' 'pnpm run -s _build:web'","build:production":"pnpm run -s _build:extension:production && pnpm run -s _build:extension:web: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:extension:web":"vite build --config vite.web.config.mts","_build:extension:web:production":"cross-env NODE_ENV=production vite build --config vite.web.config.mts","_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",browser:"./dist/extension.web.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"}],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 && !editorHasSelection"},{command:"amp.tab.dismiss",key:"escape",when:"editorTextFocus && amp.activated && amp.tab.active && !amp.nextCursorSuggested && !suggestWidgetVisible && !editorHasSelection"},{command:"amp.nextCursor.accept",key:"tab",when:"editorTextFocus && amp.activated && amp.nextCursorSuggested && !editorHasSelection"},{command:"amp.nextCursor.discard",key:"escape",when:"editorTextFocus && amp.activated && amp.nextCursorSuggested && !suggestWidgetVisible && !editorHasSelection"},{command:"amp.autoImport.accept",key:"tab",when:"editorTextFocus && amp.activated && config.amp.tab.enabled && amp.autoImportSuggested && !editorHasSelection"},{command:"amp.autoImport.discard",key:"escape",when:"editorTextFocus && amp.activated && config.amp.tab.enabled && amp.autoImportSuggested && !editorHasSelection"}],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.
|
3
|
+
import{createRequire as cJA}from"node:module";var hJA=Object.create;var{getPrototypeOf:mJA,defineProperty:vQ1,getOwnPropertyNames:uJA}=Object;var pJA=Object.prototype.hasOwnProperty;var K6=(A,Q,B)=>{B=A!=null?hJA(mJA(A)):{};let J=Q||!A||!A.__esModule?vQ1(B,"default",{value:A,enumerable:!0}):B;for(let D of uJA(A))if(!pJA.call(J,D))vQ1(J,D,{get:()=>A[D],enumerable:!0});return J};var B1=(A,Q)=>()=>(Q||A((Q={exports:{}}).exports,Q),Q.exports);var K2=(A,Q)=>{for(var B in Q)vQ1(A,B,{get:Q[B],enumerable:!0,configurable:!0,set:(J)=>Q[B]=()=>J})};var g1=(A,Q)=>()=>(A&&(Q=A(A=0)),Q);var c0=cJA(import.meta.url);var Zb1=B1((Db1)=>{Object.defineProperty(Db1,"__esModule",{value:!0});Db1._globalThis=void 0;Db1._globalThis=typeof globalThis==="object"?globalThis:global});var Xb1=B1((iV)=>{var dJA=iV&&iV.__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]}),lJA=iV&&iV.__exportStar||function(A,Q){for(var B in A)if(B!=="default"&&!Object.prototype.hasOwnProperty.call(Q,B))dJA(Q,A,B)};Object.defineProperty(iV,"__esModule",{value:!0});lJA(Zb1(),iV)});var Kb1=B1((aV)=>{var iJA=aV&&aV.__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]}),aJA=aV&&aV.__exportStar||function(A,Q){for(var B in A)if(B!=="default"&&!Object.prototype.hasOwnProperty.call(Q,B))iJA(Q,A,B)};Object.defineProperty(aV,"__esModule",{value:!0});aJA(Xb1(),aV)});var kQ1=B1((Gb1)=>{Object.defineProperty(Gb1,"__esModule",{value:!0});Gb1.VERSION=void 0;Gb1.VERSION="1.9.0"});var Hb1=B1((Fb1)=>{Object.defineProperty(Fb1,"__esModule",{value:!0});Fb1.isCompatible=Fb1._makeCompatibilityCheck=void 0;var nJA=kQ1(),qb1=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function Ub1(A){let Q=new Set([A]),B=new Set,J=A.match(qb1);if(!J)return()=>!1;let D={major:+J[1],minor:+J[2],patch:+J[3],prerelease:J[4]};if(D.prerelease!=null)return function X(K){return K===A};function z(X){return B.add(X),!1}function Z(X){return Q.add(X),!0}return function X(K){if(Q.has(K))return!0;if(B.has(K))return!1;let G=K.match(qb1);if(!G)return z(K);let Y={major:+G[1],minor:+G[2],patch:+G[3],prerelease:G[4]};if(Y.prerelease!=null)return z(K);if(D.major!==Y.major)return z(K);if(D.major===0){if(D.minor===Y.minor&&D.patch<=Y.patch)return Z(K);return z(K)}if(D.minor<=Y.minor)return Z(K);return z(K)}}Fb1._makeCompatibilityCheck=Ub1;Fb1.isCompatible=Ub1(nJA.VERSION)});var nV=B1((wb1)=>{Object.defineProperty(wb1,"__esModule",{value:!0});wb1.unregisterGlobal=wb1.getGlobal=wb1.registerGlobal=void 0;var sJA=Kb1(),qj=kQ1(),oJA=Hb1(),tJA=qj.VERSION.split(".")[0],uf=Symbol.for(`opentelemetry.js.api.${tJA}`),pf=sJA._globalThis;function eJA(A,Q,B,J=!1){var D;let z=pf[uf]=(D=pf[uf])!==null&&D!==void 0?D:{version:qj.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!==qj.VERSION){let Z=new Error(`@opentelemetry/api: Registration of version v${z.version} for ${A} does not match previously registered API v${qj.VERSION}`);return B.error(Z.stack||Z.message),!1}return z[A]=Q,B.debug(`@opentelemetry/api: Registered a global for ${A} v${qj.VERSION}.`),!0}wb1.registerGlobal=eJA;function ADA(A){var Q,B;let J=(Q=pf[uf])===null||Q===void 0?void 0:Q.version;if(!J||!oJA.isCompatible(J))return;return(B=pf[uf])===null||B===void 0?void 0:B[A]}wb1.getGlobal=ADA;function QDA(A,Q){Q.debug(`@opentelemetry/api: Unregistering a global for ${A} v${qj.VERSION}.`);let B=pf[uf];if(B)delete B[A]}wb1.unregisterGlobal=QDA});var Cb1=B1((Ib1)=>{Object.defineProperty(Ib1,"__esModule",{value:!0});Ib1.DiagComponentLogger=void 0;var DDA=nV();class Mb1{constructor(A){this._namespace=A.namespace||"DiagComponentLogger"}debug(...A){return cf("debug",this._namespace,A)}error(...A){return cf("error",this._namespace,A)}info(...A){return cf("info",this._namespace,A)}warn(...A){return cf("warn",this._namespace,A)}verbose(...A){return cf("verbose",this._namespace,A)}}Ib1.DiagComponentLogger=Mb1;function cf(A,Q,B){let J=DDA.getGlobal("diag");if(!J)return;return B.unshift(Q),J[A](...B)}});var Gi=B1((Vb1)=>{Object.defineProperty(Vb1,"__esModule",{value:!0});Vb1.DiagLogLevel=void 0;var zDA;(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"})(zDA=Vb1.DiagLogLevel||(Vb1.DiagLogLevel={}))});var Lb1=B1((Ob1)=>{Object.defineProperty(Ob1,"__esModule",{value:!0});Ob1.createLogLevelDiagLogger=void 0;var VH=Gi();function ZDA(A,Q){if(A<VH.DiagLogLevel.NONE)A=VH.DiagLogLevel.NONE;else if(A>VH.DiagLogLevel.ALL)A=VH.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",VH.DiagLogLevel.ERROR),warn:B("warn",VH.DiagLogLevel.WARN),info:B("info",VH.DiagLogLevel.INFO),debug:B("debug",VH.DiagLogLevel.DEBUG),verbose:B("verbose",VH.DiagLogLevel.VERBOSE)}}Ob1.createLogLevelDiagLogger=ZDA});var rV=B1((jb1)=>{Object.defineProperty(jb1,"__esModule",{value:!0});jb1.DiagAPI=void 0;var XDA=Cb1(),KDA=Lb1(),Tb1=Gi(),Yi=nV(),GDA="diag";class yQ1{constructor(){function A(J){return function(...D){let z=Yi.getGlobal("diag");if(!z)return;return z[J](...D)}}let Q=this,B=(J,D={logLevel:Tb1.DiagLogLevel.INFO})=>{var z,Z,X;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 K=Yi.getGlobal("diag"),G=KDA.createLogLevelDiagLogger((Z=D.logLevel)!==null&&Z!==void 0?Z:Tb1.DiagLogLevel.INFO,J);if(K&&!D.suppressOverrideMessage){let Y=(X=new Error().stack)!==null&&X!==void 0?X:"<failed to generate stacktrace>";K.warn(`Current logger will be overwritten from ${Y}`),G.warn(`Current logger will overwrite one already registered from ${Y}`)}return Yi.registerGlobal("diag",G,Q,!0)};Q.setLogger=B,Q.disable=()=>{Yi.unregisterGlobal(GDA,Q)},Q.createComponentLogger=(J)=>{return new XDA.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 yQ1;return this._instance}}jb1.DiagAPI=yQ1});var $b1=B1((_b1)=>{Object.defineProperty(_b1,"__esModule",{value:!0});_b1.BaggageImpl=void 0;class Uj{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 Uj(this._entries);return B._entries.set(A,Q),B}removeEntry(A){let Q=new Uj(this._entries);return Q._entries.delete(A),Q}removeEntries(...A){let Q=new Uj(this._entries);for(let B of A)Q._entries.delete(B);return Q}clear(){return new Uj}}_b1.BaggageImpl=Uj});var fb1=B1((vb1)=>{Object.defineProperty(vb1,"__esModule",{value:!0});vb1.baggageEntryMetadataSymbol=void 0;vb1.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")});var bQ1=B1((yb1)=>{Object.defineProperty(yb1,"__esModule",{value:!0});yb1.baggageEntryMetadataFromString=yb1.createBaggage=void 0;var YDA=rV(),qDA=$b1(),UDA=fb1(),FDA=YDA.DiagAPI.instance();function EDA(A={}){return new qDA.BaggageImpl(new Map(Object.entries(A)))}yb1.createBaggage=EDA;function HDA(A){if(typeof A!=="string")FDA.error(`Cannot create baggage metadata from unknown type: ${typeof A}`),A="";return{__TYPE__:UDA.baggageEntryMetadataSymbol,toString(){return A}}}yb1.baggageEntryMetadataFromString=HDA});var df=B1((xb1)=>{Object.defineProperty(xb1,"__esModule",{value:!0});xb1.ROOT_CONTEXT=xb1.createContextKey=void 0;function WDA(A){return Symbol.for(A)}xb1.createContextKey=WDA;class qi{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 qi(Q._currentContext);return D._currentContext.set(B,J),D},Q.deleteValue=(B)=>{let J=new qi(Q._currentContext);return J._currentContext.delete(B),J}}}xb1.ROOT_CONTEXT=new qi});var pb1=B1((mb1)=>{Object.defineProperty(mb1,"__esModule",{value:!0});mb1.DiagConsoleLogger=void 0;var xQ1=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class hb1{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<xQ1.length;Q++)this[xQ1[Q].n]=A(xQ1[Q].c)}}mb1.DiagConsoleLogger=hb1});var iQ1=B1((cb1)=>{Object.defineProperty(cb1,"__esModule",{value:!0});cb1.createNoopMeter=cb1.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=cb1.NOOP_OBSERVABLE_GAUGE_METRIC=cb1.NOOP_OBSERVABLE_COUNTER_METRIC=cb1.NOOP_UP_DOWN_COUNTER_METRIC=cb1.NOOP_HISTOGRAM_METRIC=cb1.NOOP_GAUGE_METRIC=cb1.NOOP_COUNTER_METRIC=cb1.NOOP_METER=cb1.NoopObservableUpDownCounterMetric=cb1.NoopObservableGaugeMetric=cb1.NoopObservableCounterMetric=cb1.NoopObservableMetric=cb1.NoopHistogramMetric=cb1.NoopGaugeMetric=cb1.NoopUpDownCounterMetric=cb1.NoopCounterMetric=cb1.NoopMetric=cb1.NoopMeter=void 0;class gQ1{constructor(){}createGauge(A,Q){return cb1.NOOP_GAUGE_METRIC}createHistogram(A,Q){return cb1.NOOP_HISTOGRAM_METRIC}createCounter(A,Q){return cb1.NOOP_COUNTER_METRIC}createUpDownCounter(A,Q){return cb1.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(A,Q){return cb1.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(A,Q){return cb1.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(A,Q){return cb1.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(A,Q){}removeBatchObservableCallback(A){}}cb1.NoopMeter=gQ1;class Fj{}cb1.NoopMetric=Fj;class hQ1 extends Fj{add(A,Q){}}cb1.NoopCounterMetric=hQ1;class mQ1 extends Fj{add(A,Q){}}cb1.NoopUpDownCounterMetric=mQ1;class uQ1 extends Fj{record(A,Q){}}cb1.NoopGaugeMetric=uQ1;class pQ1 extends Fj{record(A,Q){}}cb1.NoopHistogramMetric=pQ1;class lf{addCallback(A){}removeCallback(A){}}cb1.NoopObservableMetric=lf;class cQ1 extends lf{}cb1.NoopObservableCounterMetric=cQ1;class dQ1 extends lf{}cb1.NoopObservableGaugeMetric=dQ1;class lQ1 extends lf{}cb1.NoopObservableUpDownCounterMetric=lQ1;cb1.NOOP_METER=new gQ1;cb1.NOOP_COUNTER_METRIC=new hQ1;cb1.NOOP_GAUGE_METRIC=new uQ1;cb1.NOOP_HISTOGRAM_METRIC=new pQ1;cb1.NOOP_UP_DOWN_COUNTER_METRIC=new mQ1;cb1.NOOP_OBSERVABLE_COUNTER_METRIC=new cQ1;cb1.NOOP_OBSERVABLE_GAUGE_METRIC=new dQ1;cb1.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new lQ1;function IDA(){return cb1.NOOP_METER}cb1.createNoopMeter=IDA});var Ax1=B1((eb1)=>{Object.defineProperty(eb1,"__esModule",{value:!0});eb1.ValueType=void 0;var SDA;(function(A){A[A.INT=0]="INT",A[A.DOUBLE=1]="DOUBLE"})(SDA=eb1.ValueType||(eb1.ValueType={}))});var nQ1=B1((Qx1)=>{Object.defineProperty(Qx1,"__esModule",{value:!0});Qx1.defaultTextMapSetter=Qx1.defaultTextMapGetter=void 0;Qx1.defaultTextMapGetter={get(A,Q){if(A==null)return;return A[Q]},keys(A){if(A==null)return[];return Object.keys(A)}};Qx1.defaultTextMapSetter={set(A,Q,B){if(A==null)return;A[Q]=B}}});var Zx1=B1((Dx1)=>{Object.defineProperty(Dx1,"__esModule",{value:!0});Dx1.NoopContextManager=void 0;var vDA=df();class Jx1{active(){return vDA.ROOT_CONTEXT}with(A,Q,B,...J){return Q.call(B,...J)}bind(A,Q){return Q}enable(){return this}disable(){return this}}Dx1.NoopContextManager=Jx1});var af=B1((Kx1)=>{Object.defineProperty(Kx1,"__esModule",{value:!0});Kx1.ContextAPI=void 0;var kDA=Zx1(),rQ1=nV(),Xx1=rV(),sQ1="context",fDA=new kDA.NoopContextManager;class oQ1{constructor(){}static getInstance(){if(!this._instance)this._instance=new oQ1;return this._instance}setGlobalContextManager(A){return rQ1.registerGlobal(sQ1,A,Xx1.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 rQ1.getGlobal(sQ1)||fDA}disable(){this._getContextManager().disable(),rQ1.unregisterGlobal(sQ1,Xx1.DiagAPI.instance())}}Kx1.ContextAPI=oQ1});var eQ1=B1((Yx1)=>{Object.defineProperty(Yx1,"__esModule",{value:!0});Yx1.TraceFlags=void 0;var yDA;(function(A){A[A.NONE=0]="NONE",A[A.SAMPLED=1]="SAMPLED"})(yDA=Yx1.TraceFlags||(Yx1.TraceFlags={}))});var Ui=B1((qx1)=>{Object.defineProperty(qx1,"__esModule",{value:!0});qx1.INVALID_SPAN_CONTEXT=qx1.INVALID_TRACEID=qx1.INVALID_SPANID=void 0;var bDA=eQ1();qx1.INVALID_SPANID="0000000000000000";qx1.INVALID_TRACEID="00000000000000000000000000000000";qx1.INVALID_SPAN_CONTEXT={traceId:qx1.INVALID_TRACEID,spanId:qx1.INVALID_SPANID,traceFlags:bDA.TraceFlags.NONE}});var Fi=B1((wx1)=>{Object.defineProperty(wx1,"__esModule",{value:!0});wx1.NonRecordingSpan=void 0;var xDA=Ui();class Hx1{constructor(A=xDA.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){}}wx1.NonRecordingSpan=Hx1});var BB1=B1((Ix1)=>{Object.defineProperty(Ix1,"__esModule",{value:!0});Ix1.getSpanContext=Ix1.setSpanContext=Ix1.deleteSpan=Ix1.setSpan=Ix1.getActiveSpan=Ix1.getSpan=void 0;var gDA=df(),hDA=Fi(),mDA=af(),AB1=gDA.createContextKey("OpenTelemetry Context Key SPAN");function QB1(A){return A.getValue(AB1)||void 0}Ix1.getSpan=QB1;function uDA(){return QB1(mDA.ContextAPI.getInstance().active())}Ix1.getActiveSpan=uDA;function Mx1(A,Q){return A.setValue(AB1,Q)}Ix1.setSpan=Mx1;function pDA(A){return A.deleteValue(AB1)}Ix1.deleteSpan=pDA;function cDA(A,Q){return Mx1(A,new hDA.NonRecordingSpan(Q))}Ix1.setSpanContext=cDA;function dDA(A){var Q;return(Q=QB1(A))===null||Q===void 0?void 0:Q.spanContext()}Ix1.getSpanContext=dDA});var Ei=B1((Rx1)=>{Object.defineProperty(Rx1,"__esModule",{value:!0});Rx1.wrapSpanContext=Rx1.isSpanContextValid=Rx1.isValidSpanId=Rx1.isValidTraceId=void 0;var Cx1=Ui(),sDA=Fi(),oDA=/^([0-9a-f]{32})$/i,tDA=/^[0-9a-f]{16}$/i;function Vx1(A){return oDA.test(A)&&A!==Cx1.INVALID_TRACEID}Rx1.isValidTraceId=Vx1;function Ox1(A){return tDA.test(A)&&A!==Cx1.INVALID_SPANID}Rx1.isValidSpanId=Ox1;function eDA(A){return Vx1(A.traceId)&&Ox1(A.spanId)}Rx1.isSpanContextValid=eDA;function AzA(A){return new sDA.NonRecordingSpan(A)}Rx1.wrapSpanContext=AzA});var zB1=B1((Px1)=>{Object.defineProperty(Px1,"__esModule",{value:!0});Px1.NoopTracer=void 0;var DzA=af(),Tx1=BB1(),JB1=Fi(),zzA=Ei(),DB1=DzA.ContextAPI.getInstance();class jx1{startSpan(A,Q,B=DB1.active()){if(Boolean(Q===null||Q===void 0?void 0:Q.root))return new JB1.NonRecordingSpan;let D=B&&Tx1.getSpanContext(B);if(ZzA(D)&&zzA.isSpanContextValid(D))return new JB1.NonRecordingSpan(D);else return new JB1.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 X=z!==null&&z!==void 0?z:DB1.active(),K=this.startSpan(A,D,X),G=Tx1.setSpan(X,K);return DB1.with(G,Z,void 0,K)}}Px1.NoopTracer=jx1;function ZzA(A){return typeof A==="object"&&typeof A.spanId==="string"&&typeof A.traceId==="string"&&typeof A.traceFlags==="number"}});var ZB1=B1(($x1)=>{Object.defineProperty($x1,"__esModule",{value:!0});$x1.ProxyTracer=void 0;var XzA=zB1(),KzA=new XzA.NoopTracer;class Sx1{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 KzA;return this._delegate=A,this._delegate}}$x1.ProxyTracer=Sx1});var bx1=B1((fx1)=>{Object.defineProperty(fx1,"__esModule",{value:!0});fx1.NoopTracerProvider=void 0;var GzA=zB1();class kx1{getTracer(A,Q,B){return new GzA.NoopTracer}}fx1.NoopTracerProvider=kx1});var XB1=B1((gx1)=>{Object.defineProperty(gx1,"__esModule",{value:!0});gx1.ProxyTracerProvider=void 0;var YzA=ZB1(),qzA=bx1(),UzA=new qzA.NoopTracerProvider;class xx1{getTracer(A,Q,B){var J;return(J=this.getDelegateTracer(A,Q,B))!==null&&J!==void 0?J:new YzA.ProxyTracer(this,A,Q,B)}getDelegate(){var A;return(A=this._delegate)!==null&&A!==void 0?A:UzA}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)}}gx1.ProxyTracerProvider=xx1});var ux1=B1((mx1)=>{Object.defineProperty(mx1,"__esModule",{value:!0});mx1.SamplingDecision=void 0;var FzA;(function(A){A[A.NOT_RECORD=0]="NOT_RECORD",A[A.RECORD=1]="RECORD",A[A.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"})(FzA=mx1.SamplingDecision||(mx1.SamplingDecision={}))});var cx1=B1((px1)=>{Object.defineProperty(px1,"__esModule",{value:!0});px1.SpanKind=void 0;var EzA;(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"})(EzA=px1.SpanKind||(px1.SpanKind={}))});var lx1=B1((dx1)=>{Object.defineProperty(dx1,"__esModule",{value:!0});dx1.SpanStatusCode=void 0;var HzA;(function(A){A[A.UNSET=0]="UNSET",A[A.OK=1]="OK",A[A.ERROR=2]="ERROR"})(HzA=dx1.SpanStatusCode||(dx1.SpanStatusCode={}))});var nx1=B1((ix1)=>{Object.defineProperty(ix1,"__esModule",{value:!0});ix1.validateValue=ix1.validateKey=void 0;var qB1="[_0-9a-z-*/]",wzA=`[a-z]${qB1}{0,255}`,WzA=`[a-z0-9]${qB1}{0,240}@[a-z]${qB1}{0,13}`,MzA=new RegExp(`^(?:${wzA}|${WzA})$`),IzA=/^[ -~]{0,255}[!-~]$/,NzA=/,|=/;function CzA(A){return MzA.test(A)}ix1.validateKey=CzA;function VzA(A){return IzA.test(A)&&!NzA.test(A)}ix1.validateValue=VzA});var Qg1=B1((ex1)=>{Object.defineProperty(ex1,"__esModule",{value:!0});ex1.TraceStateImpl=void 0;var rx1=nx1(),sx1=32,RzA=512,ox1=",",tx1="=";class UB1{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+tx1+this.get(Q)),A},[]).join(ox1)}_parse(A){if(A.length>RzA)return;if(this._internalState=A.split(ox1).reverse().reduce((Q,B)=>{let J=B.trim(),D=J.indexOf(tx1);if(D!==-1){let z=J.slice(0,D),Z=J.slice(D+1,B.length);if(rx1.validateKey(z)&&rx1.validateValue(Z))Q.set(z,Z)}return Q},new Map),this._internalState.size>sx1)this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,sx1))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let A=new UB1;return A._internalState=new Map(this._internalState),A}}ex1.TraceStateImpl=UB1});var Dg1=B1((Bg1)=>{Object.defineProperty(Bg1,"__esModule",{value:!0});Bg1.createTraceState=void 0;var LzA=Qg1();function TzA(A){return new LzA.TraceStateImpl(A)}Bg1.createTraceState=TzA});var Xg1=B1((zg1)=>{Object.defineProperty(zg1,"__esModule",{value:!0});zg1.context=void 0;var jzA=af();zg1.context=jzA.ContextAPI.getInstance()});var Yg1=B1((Kg1)=>{Object.defineProperty(Kg1,"__esModule",{value:!0});Kg1.diag=void 0;var PzA=rV();Kg1.diag=PzA.DiagAPI.instance()});var Fg1=B1((qg1)=>{Object.defineProperty(qg1,"__esModule",{value:!0});qg1.NOOP_METER_PROVIDER=qg1.NoopMeterProvider=void 0;var _zA=iQ1();class FB1{getMeter(A,Q,B){return _zA.NOOP_METER}}qg1.NoopMeterProvider=FB1;qg1.NOOP_METER_PROVIDER=new FB1});var Wg1=B1((Hg1)=>{Object.defineProperty(Hg1,"__esModule",{value:!0});Hg1.MetricsAPI=void 0;var $zA=Fg1(),EB1=nV(),Eg1=rV(),HB1="metrics";class wB1{constructor(){}static getInstance(){if(!this._instance)this._instance=new wB1;return this._instance}setGlobalMeterProvider(A){return EB1.registerGlobal(HB1,A,Eg1.DiagAPI.instance())}getMeterProvider(){return EB1.getGlobal(HB1)||$zA.NOOP_METER_PROVIDER}getMeter(A,Q,B){return this.getMeterProvider().getMeter(A,Q,B)}disable(){EB1.unregisterGlobal(HB1,Eg1.DiagAPI.instance())}}Hg1.MetricsAPI=wB1});var Ng1=B1((Mg1)=>{Object.defineProperty(Mg1,"__esModule",{value:!0});Mg1.metrics=void 0;var vzA=Wg1();Mg1.metrics=vzA.MetricsAPI.getInstance()});var Rg1=B1((Vg1)=>{Object.defineProperty(Vg1,"__esModule",{value:!0});Vg1.NoopTextMapPropagator=void 0;class Cg1{inject(A,Q){}extract(A,Q){return A}fields(){return[]}}Vg1.NoopTextMapPropagator=Cg1});var Pg1=B1((Tg1)=>{Object.defineProperty(Tg1,"__esModule",{value:!0});Tg1.deleteBaggage=Tg1.setBaggage=Tg1.getActiveBaggage=Tg1.getBaggage=void 0;var kzA=af(),fzA=df(),WB1=fzA.createContextKey("OpenTelemetry Baggage Key");function Lg1(A){return A.getValue(WB1)||void 0}Tg1.getBaggage=Lg1;function yzA(){return Lg1(kzA.ContextAPI.getInstance().active())}Tg1.getActiveBaggage=yzA;function bzA(A,Q){return A.setValue(WB1,Q)}Tg1.setBaggage=bzA;function xzA(A){return A.deleteValue(WB1)}Tg1.deleteBaggage=xzA});var kg1=B1(($g1)=>{Object.defineProperty($g1,"__esModule",{value:!0});$g1.PropagationAPI=void 0;var MB1=nV(),uzA=Rg1(),_g1=nQ1(),Hi=Pg1(),pzA=bQ1(),Sg1=rV(),IB1="propagation",czA=new uzA.NoopTextMapPropagator;class NB1{constructor(){this.createBaggage=pzA.createBaggage,this.getBaggage=Hi.getBaggage,this.getActiveBaggage=Hi.getActiveBaggage,this.setBaggage=Hi.setBaggage,this.deleteBaggage=Hi.deleteBaggage}static getInstance(){if(!this._instance)this._instance=new NB1;return this._instance}setGlobalPropagator(A){return MB1.registerGlobal(IB1,A,Sg1.DiagAPI.instance())}inject(A,Q,B=_g1.defaultTextMapSetter){return this._getGlobalPropagator().inject(A,Q,B)}extract(A,Q,B=_g1.defaultTextMapGetter){return this._getGlobalPropagator().extract(A,Q,B)}fields(){return this._getGlobalPropagator().fields()}disable(){MB1.unregisterGlobal(IB1,Sg1.DiagAPI.instance())}_getGlobalPropagator(){return MB1.getGlobal(IB1)||czA}}$g1.PropagationAPI=NB1});var bg1=B1((fg1)=>{Object.defineProperty(fg1,"__esModule",{value:!0});fg1.propagation=void 0;var dzA=kg1();fg1.propagation=dzA.PropagationAPI.getInstance()});var pg1=B1((mg1)=>{Object.defineProperty(mg1,"__esModule",{value:!0});mg1.TraceAPI=void 0;var CB1=nV(),xg1=XB1(),gg1=Ei(),Ej=BB1(),hg1=rV(),VB1="trace";class OB1{constructor(){this._proxyTracerProvider=new xg1.ProxyTracerProvider,this.wrapSpanContext=gg1.wrapSpanContext,this.isSpanContextValid=gg1.isSpanContextValid,this.deleteSpan=Ej.deleteSpan,this.getSpan=Ej.getSpan,this.getActiveSpan=Ej.getActiveSpan,this.getSpanContext=Ej.getSpanContext,this.setSpan=Ej.setSpan,this.setSpanContext=Ej.setSpanContext}static getInstance(){if(!this._instance)this._instance=new OB1;return this._instance}setGlobalTracerProvider(A){let Q=CB1.registerGlobal(VB1,this._proxyTracerProvider,hg1.DiagAPI.instance());if(Q)this._proxyTracerProvider.setDelegate(A);return Q}getTracerProvider(){return CB1.getGlobal(VB1)||this._proxyTracerProvider}getTracer(A,Q){return this.getTracerProvider().getTracer(A,Q)}disable(){CB1.unregisterGlobal(VB1,hg1.DiagAPI.instance()),this._proxyTracerProvider=new xg1.ProxyTracerProvider}}mg1.TraceAPI=OB1});var lg1=B1((cg1)=>{Object.defineProperty(cg1,"__esModule",{value:!0});cg1.trace=void 0;var lzA=pg1();cg1.trace=lzA.TraceAPI.getInstance()});var Hj=B1((r4)=>{Object.defineProperty(r4,"__esModule",{value:!0});r4.trace=r4.propagation=r4.metrics=r4.diag=r4.context=r4.INVALID_SPAN_CONTEXT=r4.INVALID_TRACEID=r4.INVALID_SPANID=r4.isValidSpanId=r4.isValidTraceId=r4.isSpanContextValid=r4.createTraceState=r4.TraceFlags=r4.SpanStatusCode=r4.SpanKind=r4.SamplingDecision=r4.ProxyTracerProvider=r4.ProxyTracer=r4.defaultTextMapSetter=r4.defaultTextMapGetter=r4.ValueType=r4.createNoopMeter=r4.DiagLogLevel=r4.DiagConsoleLogger=r4.ROOT_CONTEXT=r4.createContextKey=r4.baggageEntryMetadataFromString=void 0;var izA=bQ1();Object.defineProperty(r4,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return izA.baggageEntryMetadataFromString}});var ig1=df();Object.defineProperty(r4,"createContextKey",{enumerable:!0,get:function(){return ig1.createContextKey}});Object.defineProperty(r4,"ROOT_CONTEXT",{enumerable:!0,get:function(){return ig1.ROOT_CONTEXT}});var azA=pb1();Object.defineProperty(r4,"DiagConsoleLogger",{enumerable:!0,get:function(){return azA.DiagConsoleLogger}});var nzA=Gi();Object.defineProperty(r4,"DiagLogLevel",{enumerable:!0,get:function(){return nzA.DiagLogLevel}});var rzA=iQ1();Object.defineProperty(r4,"createNoopMeter",{enumerable:!0,get:function(){return rzA.createNoopMeter}});var szA=Ax1();Object.defineProperty(r4,"ValueType",{enumerable:!0,get:function(){return szA.ValueType}});var ag1=nQ1();Object.defineProperty(r4,"defaultTextMapGetter",{enumerable:!0,get:function(){return ag1.defaultTextMapGetter}});Object.defineProperty(r4,"defaultTextMapSetter",{enumerable:!0,get:function(){return ag1.defaultTextMapSetter}});var ozA=ZB1();Object.defineProperty(r4,"ProxyTracer",{enumerable:!0,get:function(){return ozA.ProxyTracer}});var tzA=XB1();Object.defineProperty(r4,"ProxyTracerProvider",{enumerable:!0,get:function(){return tzA.ProxyTracerProvider}});var ezA=ux1();Object.defineProperty(r4,"SamplingDecision",{enumerable:!0,get:function(){return ezA.SamplingDecision}});var AZA=cx1();Object.defineProperty(r4,"SpanKind",{enumerable:!0,get:function(){return AZA.SpanKind}});var QZA=lx1();Object.defineProperty(r4,"SpanStatusCode",{enumerable:!0,get:function(){return QZA.SpanStatusCode}});var BZA=eQ1();Object.defineProperty(r4,"TraceFlags",{enumerable:!0,get:function(){return BZA.TraceFlags}});var JZA=Dg1();Object.defineProperty(r4,"createTraceState",{enumerable:!0,get:function(){return JZA.createTraceState}});var RB1=Ei();Object.defineProperty(r4,"isSpanContextValid",{enumerable:!0,get:function(){return RB1.isSpanContextValid}});Object.defineProperty(r4,"isValidTraceId",{enumerable:!0,get:function(){return RB1.isValidTraceId}});Object.defineProperty(r4,"isValidSpanId",{enumerable:!0,get:function(){return RB1.isValidSpanId}});var LB1=Ui();Object.defineProperty(r4,"INVALID_SPANID",{enumerable:!0,get:function(){return LB1.INVALID_SPANID}});Object.defineProperty(r4,"INVALID_TRACEID",{enumerable:!0,get:function(){return LB1.INVALID_TRACEID}});Object.defineProperty(r4,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return LB1.INVALID_SPAN_CONTEXT}});var ng1=Xg1();Object.defineProperty(r4,"context",{enumerable:!0,get:function(){return ng1.context}});var rg1=Yg1();Object.defineProperty(r4,"diag",{enumerable:!0,get:function(){return rg1.diag}});var sg1=Ng1();Object.defineProperty(r4,"metrics",{enumerable:!0,get:function(){return sg1.metrics}});var og1=bg1();Object.defineProperty(r4,"propagation",{enumerable:!0,get:function(){return og1.propagation}});var tg1=lg1();Object.defineProperty(r4,"trace",{enumerable:!0,get:function(){return tg1.trace}});r4.default={context:ng1.context,diag:rg1.diag,metrics:sg1.metrics,propagation:og1.propagation,trace:tg1.trace}});function XZA(){return ZZA}function Ah1(A){wj=A}var eg1,ZZA=!1,KZA,wj,GZA,k1;var w2=g1(()=>{eg1=K6(Hj(),1);KZA={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(XZA())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=eg1.trace.getActiveSpan();if(J){let D=J.spanContext();if(D.traceId)B.traceId=D.traceId,B.spanId=D.spanId}console.info(A,B)}},wj=KZA;GZA={error:(A,...Q)=>wj.error(A,...Q),warn:(A,...Q)=>wj.warn(A,...Q),info:(A,...Q)=>wj.info(A,...Q),debug:(A,...Q)=>wj.debug(A,...Q),audit:(A,...Q)=>wj.audit(A,...Q)},k1=GZA});function TB1(A){let Q=typeof A==="string"?A:A.toString();return Q===LX||Q===LX.slice(0,-1)}function jB1(A){return TB1(A)?LX:A}var YZA,LX,qZA,aA2;var Wj=g1(()=>{YZA=new URL("https://ampcode.com/"),LX=YZA.toString(),qZA=new URL("https://api.anthropic.com/"),aA2=qZA.toString()});function wi(A){Promise.resolve().then(()=>{try{A()}catch(Q){console.error(Q)}})}function Qh1(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 _B1(A){A._observer=void 0,A._queue=void 0,A._state="closed"}function UZA(A){let Q=A._queue;if(!Q)return;A._queue=void 0,A._state="ready";for(let B of Q)if(Bh1(A,B.type,B.value),A._state==="closed")break}function Bh1(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(_B1(A),J&&typeof J.error==="function")J.error(B);else throw B;break;case"complete":if(_B1(A),J&&typeof J.complete==="function")J.complete();break}}catch(D){console.error("notifySubscription",D)}if(A._state==="closed")Qh1(A);else if(A._state==="running")A._state="ready"}function PB1(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}],wi(()=>UZA(A));return}Bh1(A,Q,B)}class Jh1{_cleanup;_observer;_queue;_state;constructor(A,Q){this._cleanup=void 0,this._observer=A,this._queue=void 0,this._state="initializing";let B=new Dh1(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")_B1(this),Qh1(this)}}class Dh1{_subscription;constructor(A){this._subscription=A}get closed(){return this._subscription._state==="closed"}next(A){PB1(this._subscription,"next",A)}error(A){PB1(this._subscription,"error",A)}complete(){PB1(this._subscription,"complete")}}function w7(A){if(typeof A==="function")A();else if(A&&typeof A.unsubscribe==="function")A.unsubscribe()}class nf{_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 wA;var rf=g1(()=>{if(!Symbol.observable)Symbol.observable=Symbol("observable");wA=class wA{_subscriber;constructor(A){if(!(this instanceof wA))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 Jh1(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:wA;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 wA)return D;return new Q((z)=>D.subscribe(z))}let J=A[Symbol.iterator];if(typeof J==="function")return new Q((D)=>{wi(()=>{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)=>{wi(()=>{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:wA)((B)=>{wi(()=>{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 K8,eQ;var Wi=g1(()=>{rf();K8=class K8 extends wA{_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()}};eQ=class eQ extends K8{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 zh1(){let A=new Set,Q=new eQ(A);return{add(B){A.add(B),Q.next(A)},delete(B){A.delete(B),Q.next(A)},set:A,observable:Q}}function Zh1(){let A=new Map,Q=new eQ(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 Xh1=g1(()=>{Wi()});function Mi(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)=>Mi(z,Q[Z]));let D=new Set([...Object.keys(A),...Object.keys(Q)]);for(let z of D)if(!Mi(A[z],Q[z]))return!1;return!0}function SB1(A){return{dispose:A.unsubscribe.bind(A)}}async function d6(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 OH(A,Q){return new Promise((B,J)=>{let D,z=!1,Z=A.subscribe({next:(X)=>{D=X,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 RH(A){return new wA((Q)=>{A.then((B)=>{Q.next(B),Q.complete()}).catch((B)=>{Q.error(B)})})}function X4(A){return new wA((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 Gh1(){let A=null,Q=[];return{observable:new wA((D)=>{let z=A?A.subscribe(D):null,Z={observer:D,subscription:z};return Q.push(Z),()=>{Z.subscription?.unsubscribe();let X=Q.indexOf(Z);if(X!==-1)Q.splice(X,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 wA((B)=>{let J=new nf(B),D=0,z=Q.subscribe({complete(){J.complete()},error(Z){J.error(Z)},next(Z){J.schedule(async(X)=>{let K=await A(Z,D);D++,X(K)})}});return()=>w7(z)})}}function Yh1(A){return new wA((Q)=>{let B=0,J=setInterval(()=>{Q.next(B++)},A);return()=>clearInterval(J)})}function uK(...A){return new wA((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()=>{qh1(J)}})}function N5(...A){if(A.length===0)return FZA;return new wA((Q)=>{let B=new Array(A.length),J=new Array(A.length).fill(0),D=new Array(A.length).fill(!1),z=0,Z=[],X=new nf(Q);for(let K=0;K<A.length;K++){let G=A[K];Z.push(G.subscribe({next(Y){B[K]=Y,D[K]=!0;let q=++J[K];if(D.every(Boolean))X.schedule(async(F)=>{if(J[K]===q)F([...B])})},error(Y){X.error(Y)},complete(){if(z++,z===A.length)X.complete()}}))}return()=>{qh1(Z)}})}function Mj(A,Q){return new wA((B)=>{let J=(D)=>{B.next(D)};return A.addListener(Q,J),()=>{A.removeListener(Q,J),B.complete()}})}function Ij(A,Q){if(typeof A!=="function")throw new TypeError(A+" is not a function");let B=arguments.length>1;return(J)=>new wA((D)=>{let z=!1,Z=Q,X=J.subscribe({next(K){let G=!z;if(z=!0,!G||B)try{Z=A(Z,K)}catch(Y){D.error(Y);return}else Z=K},error(K){D.error(K)},complete(){if(!z&&!B){D.error(new TypeError("Cannot reduce an empty sequence"));return}D.next(Z),D.complete()}});return()=>w7(X)})}function GJ(A){let B=A?.shouldCountRefs??!0,J=EZA++,D=(z,...Z)=>{};return(z)=>{let Z=new K8,X=null,K=!1,G,Y=0;return new wA((q)=>{if(Y++,K)D("new subscriber, emitting buffered value",G),q.next(G);else D("new subscriber, no buffered value to emit");if(!X)X=z.subscribe({next:(E)=>{K=!0,G=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(X)w7(X),X=null;K=!1}}})}}function qh1(A){for(let Q of A)if(Q)w7(Q)}function qZ(A){return(Q)=>{return new wA((B)=>{let J,D=Q.subscribe({next(z){J=z,B.next(z)},error(z){B.error(z)},complete(){B.complete()}});return()=>{w7(D),A(J)}})}}function jD(A=Mi){return(Q)=>{return new wA((B)=>{let J=Kh1,D=new nf(B),z=Q.subscribe({complete(){D.complete()},error(Z){D.error(Z)},next(Z){D.schedule(async(X)=>{if(J===Kh1||!A(J,Z))J=Z,X(Z)})}});return()=>w7(z)})}}function TH(A){return HZA(typeof A==="function"?{next:A}:A)}function HZA(A){return(Q)=>new wA((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()=>w7(D)})}function TQ(A){return(Q)=>new wA((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)w7(J)}})}function $B1(A){return(Q)=>new wA((B)=>{let J=0,D=Q.subscribe({next(z){if(J<A){if(B.next(z),J++,J===A)B.complete(),w7(D)}},error(z){B.error(z)},complete(){B.complete()}});return()=>{w7(D)}})}function y4(A){return(Q)=>{return new wA((B)=>{let J=0,D=null,z=!1,Z=()=>{if(z&&!D)B.complete()},X=Q.subscribe({next(K){if(D)w7(D),D=null;D=A(K,J++).subscribe({next(Y){B.next(Y)},error(Y){B.error(Y)},complete(){D=null,Z()}})},error(K){B.error(K)},complete(){z=!0,Z()}});return()=>{if(w7(X),D)w7(D)}})}}function xM(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 TX(A){return(Q)=>new wA((B)=>{let J=null,D=null,z=!1,Z=Q.subscribe({next:(X)=>{if(D=X,z=!0,J===null)J=setTimeout(()=>{if(z)B.next(D),z=!1;J=null},A)},error:(X)=>B.error(X),complete:()=>{if(J!==null)clearTimeout(J);if(z)B.next(D);B.complete()}});return()=>{if(w7(Z),J!==null)clearTimeout(J)}})}function vB1(A,Q){if(!Q.leading||!Q.trailing)throw new Error("leading and trailing must be true");return(B)=>new wA((J)=>{let D=0,z=null,Z=null,X=!1,K=B.subscribe({next:(G)=>{let Y=Date.now();if(Z=G,X=!0,Y-D>=A)J.next(G),D=Y,X=!1;else if(z===null)z=setTimeout(()=>{if(X)J.next(Z),D=Date.now(),X=!1;z=null},A-(Y-D));if(D===0)J.next(G),D=Y,X=!1},error:(G)=>J.error(G),complete:()=>{if(z!==null)clearTimeout(z);if(X)J.next(Z);J.complete()}});return()=>{if(w7(K),z!==null)clearTimeout(z)}})}function sf(...A){return new wA((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)w7(J)}})}function sV(A){return(Q)=>new wA((B)=>{let J=0,D=!1,z=null,Z=Q.subscribe({next(X){try{let K=A(X,J++);if(z)w7(z);z=K.subscribe({next(G){B.next(G)},error(G){B.error(G)},complete(){if(z=null,D&&!z)B.complete()}})}catch(K){B.error(K)}},error(X){B.error(X)},complete(){if(D=!0,!z)B.complete()}});return()=>{if(w7(Z),z)w7(z)}})}function Ii({onSubscribe:A,onUnsubscribe:Q}){return(B)=>new wA((J)=>{A?.();let D=B.subscribe(J);return()=>{w7(D),Q?.()}})}function kY(A){return(Q)=>wA.from(Q).pipe(y4((B)=>X4((J)=>A(B,J))))}function gM(A){return(Q)=>new wA((B)=>{let J,D=Q.subscribe({next(z){B.next(z)},error(z){try{J=A(z).subscribe({next(X){B.next(X)},error(X){B.error(X)},complete(){B.complete()}})}catch(Z){B.error(Z)}},complete(){B.complete()}});return()=>{if(w7(D),J)w7(J)}})}function e7(A){return(Q)=>{return new wA((B)=>{let J=Q.subscribe({next(D){if(A(D))B.next(D)},error(D){B.error(D)},complete(){B.complete()}});return()=>w7(J)})}}var FZA,LH,D62,EZA=0,Kh1;var kB1=g1(()=>{rf();Wi();FZA=new wA((A)=>{A.complete()}),LH=new wA(()=>{});D62=Symbol("noInitialValue");Kh1={}});function Ni(A,Q){return(B)=>{return wA.from(B).pipe(y4((J)=>J===cU?wA.of(cU):A(J).pipe(gM((D)=>wA.of(D instanceof Error?D:new Error(D))),TQ(cU))),GJ(Q))}}function wZA(){return(A)=>wA.from(A).pipe(e7((Q)=>Q!==cU))}async function Uh1(A,Q){let B=await d6(wA.from(A).pipe(wZA()),Q);if(B instanceof Error)throw B;return B}var cU;var Fh1=g1(()=>{rf();kB1();cU=Symbol.for("@@pendingOperation")});var i6=g1(()=>{Xh1();rf();Fh1();kB1();Wi()});function Hh1(A){Eh1.setSource(A.pipe(GJ()),!1)}var Eh1,_8;var LB=g1(()=>{i6();Eh1=Gh1();_8=Eh1.observable});function wh1(){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 Wh1(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&&!WZA.test(A.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(A.path){if(A.authority){if(!MZA.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(IZA.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 NZA(A,Q){if(!A&&!Q)return"file";return A}function CZA(A,Q){switch(A){case"https":case"http":case"file":if(!Q)Q=fY;else if(Q[0]!==fY)Q=fY+Q;break}return Q}class L8{static isUri(A){if(A instanceof L8)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||C5,this.authority=A.authority||C5,this.path=A.path||C5,this.query=A.query||C5,this.fragment=A.fragment||C5,this.platform=A.platform;else this.scheme=NZA(A,z),this.authority=Q||C5,this.path=CZA(this.scheme,B||C5),this.query=J||C5,this.fragment=D||C5,this.platform=Z,Wh1(this,z)}get fsPath(){return Vh1(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=C5;if(B===void 0)B=this.authority;else if(B===null)B=C5;if(J===void 0)J=this.path;else if(J===null)J=C5;if(D===void 0)D=this.query;else if(D===null)D=C5;if(z===void 0)z=this.fragment;else if(z===null)z=C5;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 oV(Q,B,J,D,z,!1,Z)}static parse(A,Q=!1){let B=VZA.exec(A);if(!B)return new oV(C5,C5,C5,C5,C5);return new oV(B[2]||C5,Ci(B[4]||C5),Ci(B[5]||C5),Ci(B[7]||C5),Ci(B[9]||C5),Q)}static file(A,Q=wh1()){let B=C5;if(Q==="windows")A=A.replace(/\\/g,fY);if(A[0]===fY&&A[1]===fY){let J=A.indexOf(fY,2);if(J===-1)B=A.substring(2),A=fY;else B=A.substring(2,J),A=A.substring(J)||fY}return new oV("file",B,A,C5,C5,!1,Q)}static from(A){let Q=new oV(A.scheme,A.authority,A.path,A.query,A.fragment,!0,A.platform);return Wh1(Q,!0),Q}toString(A=!1){return fB1(this,A)}toJSON(){return this}static revive(A){if(!A)return A;if(A instanceof L8)return A;let Q=new oV(A),B=A;return Q._formatted=B.external,Q._fsPath=B._sep===Nh1(Q.platform)?B.fsPath:null,Q}}function Nh1(A){return A==="windows"?1:void 0}function Mh1(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=Ch1[z];if(Z!==void 0)J+=Z;else J+=encodeURIComponent(A.charAt(D))}}return J!==void 0?J:A}function OZA(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+=Ch1[J]}else if(Q!==void 0)Q+=A[B]}return Q!==void 0?Q:A}function Vh1(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 fB1(A,Q){let B=!Q?Mh1:OZA,J="",{scheme:D,authority:z,path:Z,query:X,fragment:K}=A;if(D)J+=D,J+=":";if(z||D==="file")J+=fY,J+=fY;if(z){let G=z.indexOf("@");if(G!==-1){let Y=z.substring(0,G);if(z=z.substring(G+1),G=Y.lastIndexOf(":"),G===-1)J+=B(Y,!1,!1);else J+=B(Y.substring(0,G),!1,!1),J+=":",J+=B(Y.substring(G+1),!1,!0);J+="@"}if(z=z.toLowerCase(),G=z.lastIndexOf(":"),G===-1)J+=B(z,!1,!0);else J+=B(z.substring(0,G),!1,!0),J+=z.substring(G)}if(Z){if(Z.length>=3&&Z.charCodeAt(0)===47&&Z.charCodeAt(2)===58){let G=Z.charCodeAt(1);if(G>=65&&G<=90)Z=`/${String.fromCharCode(G+32)}:${Z.substring(3)}`}else if(Z.length>=2&&Z.charCodeAt(1)===58){let G=Z.charCodeAt(0);if(G>=65&&G<=90)Z=`${String.fromCharCode(G+32)}:${Z.substring(2)}`}J+=B(Z,!0,!1)}if(X)J+="?",J+=B(X,!1,!1);if(K)J+="#",J+=!Q?Mh1(K,!1,!1):K;return J}function Oh1(A){try{return decodeURIComponent(A)}catch{if(A.length>3)return A.substring(0,3)+Oh1(A.substring(3));else return A}}function Ci(A){if(!A.match(Ih1))return A;return A.replace(Ih1,(Q)=>Oh1(Q))}function hM(A){return A.scheme==="file"}function yB1(A){return L8.parse(A)}function X5(A){return A.toString()}function wz(A){if(typeof A==="string"||A instanceof URL)return L8.parse(A.toString());return A}var WZA,MZA,IZA,C5="",fY="/",VZA,oV,Ch1,Ih1;var bB1=g1(()=>{WZA=/^\w[\w\d+.-]*$/,MZA=/^\//,IZA=/^\/\//;VZA=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;oV=class oV extends L8{_formatted=null;_fsPath=null;get fsPath(){if(!this._fsPath)this._fsPath=Vh1(this,!1);return this._fsPath}toString(A=!1){if(!A){if(!this._formatted)this._formatted=fB1(this,!1);return this._formatted}return fB1(this,!0)}toJSON(){let A={};if(this._fsPath)A.fsPath=this._fsPath,A._sep=Nh1(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}};Ch1={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"};Ih1=/(%[0-9A-Za-z][0-9A-Za-z])+/g});function xB1(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 of(A){let Q=A.replace(/\/+$/,"");if(!Q)return"";let B=Q.lastIndexOf("/");return B===-1?Q:Q.slice(B+1)}function Vi(...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 Rh1(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),X=Q===B?[""]:Q.split(B),K=0;while(K<Z.length&&K<X.length&&z(Z[K],X[K]))K++;let G=Z.length-K,Y=[];for(let q=0;q<G;q++)Y.push("..");return Y.push(...X.slice(K)),Y.join(J)}function Lh1(A){let Q=of(A.replace(/\/+$/,"")),B=Q.lastIndexOf(".");if(B===0||B===-1)return"";return Q.slice(B)}function RZA(A,...Q){return A=wz(A),A.with({path:Vi(A.path,...Q)})}function LZA(A,...Q){let B=A.path,J=!1;if(B[0]!==Oi)B=Oi+B,J=!0;let D=B;for(let z of Q)if(z.startsWith("/"))D=Vi(z);else D=Vi(D,z);if(D!=="/"&&D.endsWith("/"))D=D.replace(/\/+$/,"");if(J&&D[0]===Oi&&!A.authority)D=D.substring(1);return A.with({path:D})}function TZA(A){if(A=wz(A),A.path.length===0||A.path===Oi)return A;let Q=xB1(A.path);if(Q.length===1&&Q===".")Q="";return A.with({path:Q})}function jZA(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 PZA(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 Rh1(A.path,Q.path,B,B)}function _ZA(A,Q){let B=X5(A),J=X5(Q);if(B.startsWith("file:///")&&J.startsWith("file:///"))return Th1(B)===Th1(J);return B===J}function Th1(A){return A.replace(/^file:\/\/\/([A-Za-z]):/,(Q)=>`file:///${Q.toLowerCase()}:`)}var Oi="/",C8;var gB1=g1(()=>{bB1();C8={joinPath:RZA,resolvePath:LZA,dirname:TZA,basename:(A)=>of(A.path),extname:(A)=>Lh1(A.path),hasPrefix:jZA,relativePath:PZA,equalURIs:_ZA}});var y7=g1(()=>{bB1();gB1()});function mB1(A,Q){let B=SZA(A,Q);return typeof B==="string"?B:B.toString()}function SZA(A,Q,B=!0){if(!Q)Q=$ZA();let{workspaceFolders:J,isWindows:D,homeDir:z}=Q,Z=typeof A==="string"?L8.parse(A):L8.from(A),X=B&&J.length>=2;for(let K of J){let G=wz(K);if(C8.hasPrefix(Z,G)){let Y=G.path.endsWith("/")?G.path.slice(0,-1):G.path,q=X?of(G.path)+(D?"\\":"/"):"";return hB1(q+Z.path.slice(Y.length+1),D,Z.scheme)}}if(Z?.scheme==="file"){if(z){let K=wz(z);if(C8.hasPrefix(Z,K)){let G=K.path.endsWith("/")?K.path.slice(0,-1):K.path,Y=Z.path.slice(G.length+1);return hB1("~"+(D?"\\":"/")+Y,D,Z.scheme)}}return hB1(Z.fsPath,D,Z.scheme)}return Z}function hB1(A,Q,B){return Q&&B==="file"?A.replaceAll("/","\\"):A}function jh1(A){let Q=Ri;return Ri=A,Q}function $ZA(){if(Ri)return Ri;throw new Error("must call setDisplayPathEnvInfo before calling displayPath() and related functions")}var Ri=null;var uB1=g1(()=>{y7();gB1()});function tf({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 tV(A){if(typeof A!=="string")throw new TypeError(`Expected a \`string\`, got \`${typeof A}\``);return A.replace(vZA,"")}var vZA;var Li=g1(()=>{vZA=tf()});var _h1=B1((x62,pB1)=>{var mM={};if(typeof pB1=="undefined")window.eastasianwidth=mM;else pB1.exports=mM;mM.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"};mM.characterLength=function(A){var Q=this.eastAsianWidth(A);if(Q=="F"||Q=="W"||Q=="A")return 2;else return 1};function Ph1(A){return A.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}mM.length=function(A){var Q=Ph1(A),B=0;for(var J=0;J<Q.length;J++)B=B+this.characterLength(Q[J]);return B};mM.slice=function(A,Q,B){if(textLen=mM.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=Ph1(A);for(var Z=0;Z<z.length;Z++){var X=z[Z],K=mM.length(X);if(D>=Q-(K==2?1:0))if(D+K<=B)J+=X;else break;D+=K}return J}});var cB1=B1((g62,Sh1)=>{Sh1.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 PD(A,Q){if(typeof A!=="string"||A.length===0)return 0;if(Q={ambiguousIsNarrow:!0,countAnsiEscapeCodes:!1,...Q},!Q.countAnsiEscapeCodes)A=tV(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(vh1.default().test(D)){J+=2;continue}switch($h1.default.eastAsianWidth(D)){case"F":case"W":{J+=2;break}case"A":{J+=B;break}default:J+=1}}return J}var $h1,vh1;var Ti=g1(()=>{Li();$h1=K6(_h1(),1),vh1=K6(cB1(),1)});function ji(A,Q,B,J="..."){if(Q<=B)return A;let D=B-J.length,z=0,Z=0,X=0;for(let K=0;K<A.length;K++)if(A[K]==="\x1B"||A[K]==="\x1B"){let G=K+1;while(G<A.length&&A[G-1]!=="m")G++;K=G-1}else{let G=PD(A[K]);if(z=z+G,z===D){Z=K;break}else if(z>D){Z=X;break}else X=K}if(Z>0)return A.substring(0,Z+1)+J;return A}var kh1=g1(()=>{Ti()});var jQ="todo_write",pK="todo_read",kZA=({args:A},Q)=>{return X4(async()=>{return{status:"done",result:JSON.stringify(A.todos)}})},fZA=(A,Q)=>{return X4(async()=>{let B=Q.todos;if(Array.isArray(B))return{status:"done",result:B};else if(typeof B==="string")return{status:"done",result:B};else return{status:"done",result:[]}})},fh1,yh1;var eV=g1(()=>{i6();fh1={spec:{name:jQ,description:"Update the todo list for the current session. To be used proactively and often to track progress and pending tasks.",inputSchema:{type:"object",properties:{todos:{type:"array",description:"The list of todo items. This replaces any existing todos.",items:{type:"object",properties:{id:{type:"string",description:"Unique identifier for the todo item"},content:{type:"string",description:"The content/description of the todo item"},status:{type:"string",enum:["completed","in-progress","todo"],description:"The current status of the todo item"},priority:{type:"string",enum:["medium","low","high"],description:"The priority level of the todo item"}},required:["id","content","status","priority"]}}},required:["todos"]},source:"builtin"},fn:kZA},yh1={spec:{name:pK,description:"Read the current todo list for the session",inputSchema:{type:"object",properties:{},required:[]},source:"builtin"},fn:fZA}});var xh1;var bh1=g1(()=>{xh1={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 && pnpm run -s _build:extension:web && concurrently 'pnpm run -s _build:debugger' 'pnpm run -s _build:web'","build:production":"pnpm run -s _build:extension:production && pnpm run -s _build:extension:web: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:extension:web":"vite build --config vite.web.config.mts","_build:extension:web:production":"cross-env NODE_ENV=production vite build --config vite.web.config.mts","_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",browser:"./dist/extension.web.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 && !editorHasSelection"},{command:"amp.tab.dismiss",key:"escape",when:"editorTextFocus && amp.activated && amp.tab.active && !amp.nextCursorSuggested && !suggestWidgetVisible && !editorHasSelection"},{command:"amp.nextCursor.accept",key:"tab",when:"editorTextFocus && amp.activated && amp.nextCursorSuggested && !editorHasSelection"},{command:"amp.nextCursor.discard",key:"escape",when:"editorTextFocus && amp.activated && amp.nextCursorSuggested && !suggestWidgetVisible && !editorHasSelection"},{command:"amp.autoImport.accept",key:"tab",when:"editorTextFocus && amp.activated && config.amp.tab.enabled && amp.autoImportSuggested && !editorHasSelection"},{command:"amp.autoImport.discard",key:"escape",when:"editorTextFocus && amp.activated && config.amp.tab.enabled && amp.autoImportSuggested && !editorHasSelection"}],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.
|
4
4
|
|
5
5
|
If any of the array items is "*", all commands will be run without user confirmation (DANGER: USE AT YOUR OWN RISK).`,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.terminal.commands.environment":{type:"string",default:"vscode-terminal",enum:["vscode-terminal","node-spawn"],description:"What environment to use when running terminal 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.vscodeTerminal.shellPath":{type:"string",default:null,description:"A path to a custom shell executable to be used in the terminal. When null, uses the default integrated terminal profile from the setting 'Terminal > Integrated > Default Profile'",scope:"application"},"amp.terminal.commands.vscodeTerminal.shellArgs":{type:"array",items:{type:"string"},default:null,description:"Args for the custom shell executable. Only used when 'amp.terminal.commands.vscodeTerminal.shellPath' is set.",scope:"application"},"amp.terminal.commands.vscodeTerminal.detachTimeout":{type:"number",default:90,description:"How many seconds to wait before detaching a running command to continue the conversation. The command continues to run in the background. This setting only has an effect when using the vscode-terminal environment.",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.experimental.connections":{type:"boolean",default:!1,description:"Enable external connections to provide additional tools to Amp",scope:"application"},"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 gh1(){let A=bZA["amp.tools.stopTimeout"].default;return A*1000}function xZA(){throw new Error("requireVscode() called outside VS Code")}var bZA;var hh1=g1(()=>{bh1();bZA=xh1.contributes.configuration.properties});function mh1(A,Q){return new wA((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:(X)=>{z(),B.next(X)},error:(X)=>{if(J)clearTimeout(J),J=null;B.error(X)},complete:()=>{if(J)clearTimeout(J),J=null;B.complete()}});return()=>{if(J)clearTimeout(J),J=null;Z.unsubscribe()}})}var uh1=g1(()=>{i6()});var ph1,yY="get_diagnostics",Pi;var uM=g1(()=>{ph1=["error","warning","info","hint"],Pi={spec:{name:yY,description:"Get the diagnostics (errors, warnings, etc.) for a file or directory (prefer running for directories rather than files one by one!) Output is shown in the UI so do not repeat/summarize the diagnostics.",inputSchema:{type:"object",properties:{path:{type:"string",description:"The path to the file or directory to get the diagnostics for"}},required:["path"]},source:"builtin"},fn:null}});function YJ(A){return["done","error","rejected-by-user","cancelled"].includes(A.status)}function bY(){let A=[],Q=new K8;function B(D,z){let Z=A.filter((X)=>X.spec.name===D);for(let X of Z)if(ef(X.spec,z).enabled)return X;return}function J(D,z,Z){if(!D)throw new Error("spec is required");let X={spec:D,fn:Promise.resolve(z),preprocessArgs:Z};return A.push(X),Q.next(),{dispose:()=>{let K=A.indexOf(X);if(K!==-1)A.splice(K,1),Q.next()}}}return{registerTool({spec:D,fn:z,preprocessArgs:Z}){if(!z)return gZA;return J(D,z,Z)},tools:N5(_8,Q.pipe(TQ(void 0))).pipe(l6(([D])=>{return A.map((z)=>({spec:z.spec,...ef(z.spec,D)})).sort((z,Z)=>z.spec.name.localeCompare(Z.spec.name))})),invokeTool(D,z,Z){let X=performance.now(),K=()=>mZA.record(performance.now()-X,{toolName:D});if(D===dB1&&z.args&&"invalid_tool_name"in z.args&&typeof z.args.invalid_tool_name==="string"){_i.add(1,{toolName:D,error:"invalid"});let Y=hZA(z.args.invalid_tool_name);return new wA((q)=>{q.error(new Error(Y))})}let G=B(D,Z.config);if(!G){let Y=A.filter((H)=>H.spec.name===D);if(Y.length===0)return _i.add(1,{toolName:D,error:"not_found"}),new wA((H)=>{H.error(new Error(`tool ${JSON.stringify(D)} not found`))});let q=Y[0],F=ef(q.spec,Z.config);_i.add(1,{toolName:D,error:"disabled"});let E=F.enabled?"unknown":F.disabledReason;return new wA((H)=>{H.error(new Error(`tool ${JSON.stringify(D)} is disabled: ${E}`))})}return _i.add(1,{toolName:D}),X4(()=>G.fn).pipe(y4((Y)=>{if(G.spec.meta?.disableTimeout)return Y(z,Z);return mh1(Y(z,Z),gh1())}),qZ(()=>K()))},preprocessArgs(D,z,Z){let X=B(D,Z.config);if(!X||!X.preprocessArgs)return;let K=X.preprocessArgs;try{return K(z,Z)}catch(G){k1.error("preprocessArgs",{id:D,args:z,error:String(G)});return}},dispose(){}}}function ef(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=uZA(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===jQ||A.name===pK){if(Q.settings?.["todos.enabled"])return{enabled:!0};return{enabled:!1,disabledReason:"feature-flag"}}if(A.name===yY){if(Q.settings["jetbrains.enabled"])return{enabled:!0};return{enabled:!1,disabledReason:"feature-flag"}}return{enabled:!0}}function hZA(A){return`Invalid tool name ${JSON.stringify(A)}. Tool names must match the pattern ${lB1.toString()}. Try again with a valid tool name.`}function uZA(A){let[,Q,B]=A.split(/mcp__([^ ]+)__([^ ]+)/);if(Q&&B)return{server:Q,tool:B};return}function lh1(A){if(A.status==="in-progress"||A.status==="done"||A.status==="cancelled"||A.status==="error")return A.progress;return}var ch1,gZA,dB1="invalid_tool",lB1,dh1,_i,mZA;var UZ=g1(()=>{ch1=K6(Hj(),1);i6();w2();hh1();LB();uh1();uM();eV();gZA={dispose(){}};lB1=/^[a-zA-Z0-9_]{1,64}$/,dh1=ch1.metrics.getMeter("tool_service"),_i=dh1.createCounter("tool_service.invocation_count",{description:"Number of tool invocations"}),mZA=dh1.createHistogram("tool_service.invocation_latency",{description:"Latency of tool invocations",unit:"ms"})});function _D(A,...Q){throw new Error(`[Immer] minified error nr: ${A}. Full error at: https://bit.ly/3cXEKWf`)}function BO(A){return!!A&&!!A[jX]}function pM(A){if(!A)return!1;return sh1(A)||Array.isArray(A)||!!A[Ay]||!!A.constructor?.[Ay]||zy(A)||Zy(A)}function sh1(A){if(!A||typeof A!=="object")return!1;let Q=QO(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)===pZA}function Qy(A,Q){if(JO(A)===0)Reflect.ownKeys(A).forEach((B)=>{Q(B,A[B],A)});else A.forEach((B,J)=>Q(J,B,A))}function JO(A){let Q=A[jX];return Q?Q.type_:Array.isArray(A)?1:zy(A)?2:Zy(A)?3:0}function By(A,Q){return JO(A)===2?A.has(Q):Object.prototype.hasOwnProperty.call(A,Q)}function iB1(A,Q){return JO(A)===2?A.get(Q):A[Q]}function oh1(A,Q,B){let J=JO(A);if(J===2)A.set(Q,B);else if(J===3)A.add(B);else A[Q]=B}function cZA(A,Q){if(A===Q)return A!==0||1/A===1/Q;else return A!==A&&Q!==Q}function zy(A){return A instanceof Map}function Zy(A){return A instanceof Set}function AO(A){return A.copy_||A.base_}function rB1(A,Q){if(zy(A))return new Map(A);if(Zy(A))return new Set(A);if(Array.isArray(A))return Array.prototype.slice.call(A);let B=sh1(A);if(Q===!0||Q==="class_only"&&!B){let J=Object.getOwnPropertyDescriptors(A);delete J[jX];let D=Reflect.ownKeys(J);for(let z=0;z<D.length;z++){let Z=D[z],X=J[Z];if(X.writable===!1)X.writable=!0,X.configurable=!0;if(X.get||X.set)J[Z]={configurable:!0,writable:!0,enumerable:X.enumerable,value:A[Z]}}return Object.create(QO(A),J)}else{let J=QO(A);if(J!==null&&B)return{...A};let D=Object.create(J);return Object.assign(D,A)}}function zO(A,Q=!1){if(ki(A)||BO(A)||!pM(A))return A;if(JO(A)>1)A.set=A.add=A.clear=A.delete=dZA;if(Object.freeze(A),Q)Object.entries(A).forEach(([B,J])=>zO(J,!0));return A}function dZA(){_D(2)}function ki(A){return Object.isFrozen(A)}function DO(A){let Q=sB1[A];if(!Q)_D(0,A);return Q}function lZA(A,Q){if(!sB1[A])sB1[A]=Q}function th1(){return Jy}function iZA(A,Q){return{drafts_:[],parent_:A,immer_:Q,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function ih1(A,Q){if(Q)DO("Patches"),A.patches_=[],A.inversePatches_=[],A.patchListener_=Q}function oB1(A){tB1(A),A.drafts_.forEach(aZA),A.drafts_=null}function tB1(A){if(A===Jy)Jy=A.parent_}function ah1(A){return Jy=iZA(Jy,A)}function aZA(A){let Q=A[jX];if(Q.type_===0||Q.type_===1)Q.revoke_();else Q.revoked_=!0}function nh1(A,Q){Q.unfinalizedDrafts_=Q.drafts_.length;let B=Q.drafts_[0];if(A!==void 0&&A!==B){if(B[jX].modified_)oB1(Q),_D(4);if(pM(A)){if(A=Si(Q,A),!Q.parent_)$i(Q,A)}if(Q.patches_)DO("Patches").generateReplacementPatches_(B[jX].base_,A,Q.patches_,Q.inversePatches_)}else A=Si(Q,B,[]);if(oB1(Q),Q.patches_)Q.patchListener_(Q.patches_,Q.inversePatches_);return A!==QJ1?A:void 0}function Si(A,Q,B){if(ki(Q))return Q;let J=Q[jX];if(!J)return Qy(Q,(D,z)=>rh1(A,J,Q,D,z,B)),Q;if(J.scope_!==A)return Q;if(!J.modified_)return $i(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(Qy(z,(X,K)=>rh1(A,J,D,X,K,B,Z)),$i(A,D,!1),B&&A.patches_)DO("Patches").generatePatches_(J,B,A.patches_,A.inversePatches_)}return J.copy_}function rh1(A,Q,B,J,D,z,Z){if(BO(D)){let X=z&&Q&&Q.type_!==3&&!By(Q.assigned_,J)?z.concat(J):void 0,K=Si(A,D,X);if(oh1(B,J,K),BO(K))A.canAutoFreeze_=!1;else return}else if(Z)B.add(D);if(pM(D)&&!ki(D)){if(!A.immer_.autoFreeze_&&A.unfinalizedDrafts_<1)return;if(Si(A,D),(!Q||!Q.scope_.parent_)&&typeof J!=="symbol"&&Object.prototype.propertyIsEnumerable.call(B,J))$i(A,D)}}function $i(A,Q,B=!1){if(!A.parent_&&A.immer_.autoFreeze_&&A.canAutoFreeze_)zO(Q,B)}function nZA(A,Q){let B=Array.isArray(A),J={type_:B?1:0,scope_:Q?Q.scope_:th1(),modified_:!1,finalized_:!1,assigned_:{},parent_:Q,base_:A,draft_:null,copy_:null,revoke_:null,isManual_:!1},D=J,z=BJ1;if(B)D=[J],z=Dy;let{revoke:Z,proxy:X}=Proxy.revocable(D,z);return J.draft_=X,J.revoke_=Z,X}function aB1(A,Q){let B=A[jX];return(B?AO(B):A)[Q]}function rZA(A,Q,B){let J=eh1(Q,B);return J?"value"in J?J.value:J.get?.call(A.draft_):void 0}function eh1(A,Q){if(!(Q in A))return;let B=QO(A);while(B){let J=Object.getOwnPropertyDescriptor(B,Q);if(J)return J;B=QO(B)}return}function eB1(A){if(!A.modified_){if(A.modified_=!0,A.parent_)eB1(A.parent_)}}function nB1(A){if(!A.copy_)A.copy_=rB1(A.base_,A.scope_.immer_.useStrictShallowCopy_)}function AJ1(A,Q){let B=zy(A)?DO("MapSet").proxyMap_(A,Q):Zy(A)?DO("MapSet").proxySet_(A,Q):nZA(A,Q);return(Q?Q.scope_:th1()).drafts_.push(B),B}function oZA(A){if(!BO(A))_D(10,A);return Am1(A)}function Am1(A){if(!pM(A)||ki(A))return A;let Q=A[jX],B;if(Q){if(!Q.modified_)return Q.base_;Q.finalized_=!0,B=rB1(A,Q.scope_.immer_.useStrictShallowCopy_)}else B=rB1(A,!0);if(Qy(B,(J,D)=>{oh1(B,J,Am1(D))}),Q)Q.finalized_=!1;return B}function fi(){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 X(F,E,H,w)}}function z(F,E,H,w){let{base_:W,assigned_:M}=F,I=F.copy_;if(I.length<W.length)[W,I]=[I,W],[H,w]=[w,H];for(let N=0;N<W.length;N++)if(M[N]&&I[N]!==W[N]){let V=E.concat([N]);H.push({op:Q,path:V,value:q(I[N])}),w.push({op:Q,path:V,value:q(W[N])})}for(let N=W.length;N<I.length;N++){let V=E.concat([N]);H.push({op:B,path:V,value:q(I[N])})}for(let N=I.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_:M}=F;Qy(F.assigned_,(I,N)=>{let V=iB1(W,I),T=iB1(M,I),j=!N?J:By(W,I)?Q:B;if(V===T&&j===Q)return;let R=E.concat(I);H.push(j===J?{op:j,path:R}:{op:j,path:R,value:T}),w.push(j===B?{op:J,path:R}:j===J?{op:B,path:R,value:q(V)}:{op:Q,path:R,value:q(V)})})}function X(F,E,H,w){let{base_:W,copy_:M}=F,I=0;W.forEach((N)=>{if(!M.has(N)){let V=E.concat([I]);H.push({op:J,path:V,value:N}),w.unshift({op:B,path:V,value:N})}I++}),I=0,M.forEach((N)=>{if(!W.has(N)){let V=E.concat([I]);H.push({op:B,path:V,value:N}),w.unshift({op:J,path:V,value:N})}I++})}function K(F,E,H,w){H.push({op:Q,path:[],value:E===QJ1?void 0:E}),w.push({op:Q,path:[],value:F})}function G(F,E){return E.forEach((H)=>{let{path:w,op:W}=H,M=F;for(let T=0;T<w.length-1;T++){let j=JO(M),R=w[T];if(typeof R!=="string"&&typeof R!=="number")R=""+R;if((j===0||j===1)&&(R==="__proto__"||R==="constructor"))_D(19);if(typeof M==="function"&&R==="prototype")_D(19);if(M=iB1(M,R),typeof M!=="object")_D(18,w.join("/"))}let I=JO(M),N=Y(H.value),V=w[w.length-1];switch(W){case Q:switch(I){case 2:return M.set(V,N);case 3:_D(16);default:return M[V]=N}case B:switch(I){case 1:return V==="-"?M.push(N):M.splice(V,0,N);case 2:return M.set(V,N);case 3:return M.add(N);default:return M[V]=N}case J:switch(I){case 1:return M.splice(V,1);case 2:return M.delete(V);case 3:return M.delete(H.value);default:return delete M[V]}default:_D(17,W)}}),F}function Y(F){if(!pM(F))return F;if(Array.isArray(F))return F.map(Y);if(zy(F))return new Map(Array.from(F.entries()).map(([H,w])=>[H,Y(w)]));if(Zy(F))return new Set(Array.from(F).map(Y));let E=Object.create(QO(F));for(let H in F)E[H]=Y(F[H]);if(By(F,Ay))E[Ay]=F[Ay];return E}function q(F){if(BO(F))return Y(F);else return F}lZA("Patches",{applyPatches_:G,generatePatches_:D,generateReplacementPatches_:K})}function s4(A){return A}function DJ1(A){return A}var QJ1,Ay,jX,QO,pZA,sB1,Jy,BJ1,Dy,sZA=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 X(K=z,...G){return Z.produce(K,(Y)=>B.call(this,Y,...G))}}if(typeof B!=="function")_D(6);if(J!==void 0&&typeof J!=="function")_D(7);let D;if(pM(Q)){let z=ah1(this),Z=AJ1(Q,void 0),X=!0;try{D=B(Z),X=!1}finally{if(X)oB1(z);else tB1(z)}return ih1(z,J),nh1(D,z)}else if(!Q||typeof Q!=="object"){if(D=B(Q),D===void 0)D=Q;if(D===QJ1)D=void 0;if(this.autoFreeze_)zO(D,!0);if(J){let z=[],Z=[];DO("Patches").generateReplacementPatches_(Q,D,z,Z),J(z,Z)}return D}else _D(1,Q)},this.produceWithPatches=(Q,B)=>{if(typeof Q==="function")return(Z,...X)=>this.produceWithPatches(Z,(K)=>Q(K,...X));let J,D;return[this.produce(Q,B,(Z,X)=>{J=Z,D=X}),J,D]},typeof A?.autoFreeze==="boolean")this.setAutoFreeze(A.autoFreeze);if(typeof A?.useStrictShallowCopy==="boolean")this.setUseStrictShallowCopy(A.useStrictShallowCopy)}createDraft(A){if(!pM(A))_D(8);if(BO(A))A=oZA(A);let Q=ah1(this),B=AJ1(A,void 0);return B[jX].isManual_=!0,tB1(Q),B}finishDraft(A,Q){let B=A&&A[jX];if(!B||!B.isManual_)_D(9);let{scope_:J}=B;return ih1(J,Q),nh1(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=DO("Patches").applyPatches_;if(BO(A))return J(A,Q);return this.produce(A,(D)=>J(D,Q))}},PX,Xy,JJ1,z22,Z22,tZA,X22,K22;var xY=g1(()=>{QJ1=Symbol.for("immer-nothing"),Ay=Symbol.for("immer-draftable"),jX=Symbol.for("immer-state");QO=Object.getPrototypeOf;pZA=Object.prototype.constructor.toString();sB1={};BJ1={get(A,Q){if(Q===jX)return A;let B=AO(A);if(!By(B,Q))return rZA(A,B,Q);let J=B[Q];if(A.finalized_||!pM(J))return J;if(J===aB1(A.base_,Q))return nB1(A),A.copy_[Q]=AJ1(J,A);return J},has(A,Q){return Q in AO(A)},ownKeys(A){return Reflect.ownKeys(AO(A))},set(A,Q,B){let J=eh1(AO(A),Q);if(J?.set)return J.set.call(A.draft_,B),!0;if(!A.modified_){let D=aB1(AO(A),Q),z=D?.[jX];if(z&&z.base_===B)return A.copy_[Q]=B,A.assigned_[Q]=!1,!0;if(cZA(B,D)&&(B!==void 0||By(A.base_,Q)))return!0;nB1(A),eB1(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(aB1(A.base_,Q)!==void 0||Q in A.base_)A.assigned_[Q]=!1,nB1(A),eB1(A);else delete A.assigned_[Q];if(A.copy_)delete A.copy_[Q];return!0},getOwnPropertyDescriptor(A,Q){let B=AO(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(){_D(11)},getPrototypeOf(A){return QO(A.base_)},setPrototypeOf(){_D(12)}},Dy={};Qy(BJ1,(A,Q)=>{Dy[A]=function(){return arguments[0]=arguments[0][0],Q.apply(this,arguments)}});Dy.deleteProperty=function(A,Q){return Dy.set.call(this,A,Q,void 0)};Dy.set=function(A,Q,B){return BJ1.set.call(this,A[0],Q,B,A[0])};PX=new sZA,Xy=PX.produce,JJ1=PX.produceWithPatches.bind(PX),z22=PX.setAutoFreeze.bind(PX),Z22=PX.setUseStrictShallowCopy.bind(PX),tZA=PX.applyPatches.bind(PX),X22=PX.createDraft.bind(PX),K22=PX.finishDraft.bind(PX)});function gY(){return`T-${crypto.randomUUID()}`}function Nj(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 Qm1(){return`toolu_${crypto.randomUUID()}`}function Cj(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 o4(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 zJ1(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 Ky(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 jH(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 cM(A){if(A&&typeof A==="object"&&"threadID"in A){let Q=A.threadID;if(typeof Q==="string"&&Nj(Q))return Q}return}function yi(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 ZJ1(A){if(!A)return!1;return A.role==="info"}function eZA(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 bi(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===jQ&&J.input){let D=J.input.todos;if(Array.isArray(D))return D;let z=J.input.content;if(typeof z==="string")return eZA(z)}}return}function Vj(A){return A.map((Q)=>Q.type==="text"?Q.text:null).filter((Q)=>Q!==null).join(`
|
6
6
|
|
@@ -4532,7 +4532,7 @@ ${B.join(`
|
|
4532
4532
|
`)}function L4A(A,Q,B,J){let D=Q.map((K)=>{let G=K.range?`(L${K.range.type==="full"?K.range.start.line:K.range.start.line})`:"",Y=K.severity||"info",q=Y==="error"?"red":Y==="warning"?"yellow":"gray",F=J&&B.includeFilePaths?Mo6.relative(J,K.path):K.path,E=B.includeFilePaths?`${F}${G!==""?" ":""}${G}`:G,H=A.print(K.message,{foreground:q});return{location:E,messageFormatted:H,filePathLength:B.includeFilePaths?0:lW(E)}}),Z=Math.max(...D.map((K)=>K.filePathLength),1)+2;return D.map((K)=>{let G=" ".repeat(Math.max(0,Z-K.filePathLength));return`${K.location}${G}${K.messageFormatted}`}).join(`
|
4533
4533
|
`)}function Co6(A,Q){if(A.state!=="active")return{type:"idle"};let B=KU(Q);if(B)return B;if(A.state==="active"){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=o4(Q,D.toolUseID);if(z){let Z=J.slice(1).map((X)=>{return o4(Q,X.toolUseID)?.name||"tool"}).filter(Boolean);return a51(z.name,J.length,Date.now(),z.input,Z.length>0?Z:void 0)}}}return{type:"idle"}}class Mf1{dependencies;subthreads=new Map;nextAgentNumber=1;events=new K8;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 vB.getOrCreateForThread({configService:this.dependencies.configService,threadService:this.dependencies.threadService,toolService:this.dependencies.toolService,getThreadEnvironment:nC,systemPromptService:this.dependencies.systemPromptService,threadSummaryService:this.dependencies.threadSummaryService,createFileSystem:await TO,threadHistoryService:this.dependencies.threadHistoryService,mcpService:this.dependencies.mcpService},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(X)=>{if(!z.isCompleted){if(X.state==="active"&&X.inferenceState==="cancelled"){z.isCompleted=!0,this.events.next({type:"subagent-cancelled",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task cancelled"});return}if(X.state==="active"&&X.ephemeralError){z.isCompleted=!0,this.events.next({type:"subagent-error",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task failed",error:X.ephemeralError.message||"Unknown error occurred"});return}try{let K=await d6(this.dependencies.threadService.observe(A).pipe(e7((G)=>G!==void 0)));if(K){let G=Co6(X,K);if(this.events.next({type:"subagent-status",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Running task",agentState:G}),X.state==="active"){let Y=[];for(let q of K.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=o4(K,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(K){k1.error(`Failed to get thread for status update: ${A}`,K)}}}),xM(this.dependencies.threadService.observe(A).pipe(e7((X)=>X!==void 0))).observable.subscribe((X)=>{if(!X)return;let K=PQ(X,"assistant");if(yi(K)&&!z.isCompleted){z.isCompleted=!0,this.events.next({type:"subagent-cancelled",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task cancelled"});return}if(K?.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:K.state.error.message||"Unknown error occurred"});return}for(let F of X.messages)if(F.role==="user"){for(let E of F.content)if(E.type==="tool_result"){let H=o4(X,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}`,M=z.toolStartTimes?.get(W);if(this.events.next({type:"tool-status",toolUse:H,status:w,startTime:M,endTime:Date.now(),subthreadID:A}),z.toolStartTimes)z.toolStartTimes.delete(W)}}}}let Y=PQ(X,"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=o4(X,E.toolUseID);if(H&&H.name===b4&&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(K?.state.type==="complete"&&K?.state.stopReason==="end_turn"&&!z.isCompleted){z.isCompleted=!0;let F=K.content.filter((E)=>E.type==="text").map((E)=>E.text).join(`
|
4534
4534
|
|
4535
|
-
`);this.events.next({type:"subagent-finished",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task completed",result:F})}if(!z.isCompleted){let F=lk(X,z.printedMessageIndexes,z.printedToolRuns);if(F.blocks.length>0)this.events.next({type:"subthread-message",subThreadID:A,agentNumber:z.agentNumber,blocks:F.blocks})}}),k1.debug(`Started tracking subthread ${A}`)}catch(J){k1.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=o4(A,B.toolUseID);if(J?.name===h5&&(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=cM(D);if(z)this.trackSubthread(z,J.input?.description,J.input?.prompt).catch((Z)=>{k1.error(`Failed to track Task tool subthread ${z}`,Z)})}}}}async handleToolConfirmations(A,Q){let B=this.subthreads.get(A);if(!B){k1.error(`No tracker found for subthread ${A}`);return}k1.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)k1.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()}}w2();yH();Mb();var T4A="Out of credits";qJ();QN();pX();i6();Vc();Yh();import{readdir as Vo6}from"node:fs/promises";import{homedir as Oo6}from"node:os";async function j4A(A,Q){let J=!(await L91(A,Q)).some((z)=>z.type==="project"),D=await Ro6();return{shouldGenerate:J&&D}}async function Ro6(){let A=process.cwd(),Q=Oo6();if(A===Q)return!1;try{return(await Vo6(A)).length>0}catch{return!1}}async function P4A(A){await A.handle({type:"user:message",message:{content:[{type:"text",text:Zm0}]}})}w2();function ZT(A,Q){return(B,J)=>{let D=Q(B,J);if(J.type!=="tick")k1.debug("Transition",{name:A,before:B,event:J,after:D});return D}}Vf1();async function f4A({threadSyncService:A,configService:Q,threadService:B,threadHistoryService:J,mcpService:D,fileWatcher:z,fuzzyServer:Z,summaryService:X,settingsStorage:K,threadStorage:G,toolService:Y,systemPromptService:q,subthreadTracker:F,notificationService:E},{threadID:H,isContinued:w,ui:W}){let M=new Set,I=xM(B.observe(H).pipe(e7((S)=>S!==void 0))),N=new Set,V=new Map;await d6(I.observable);let T=await TO,j=await vB.getOrCreateForThread({configService:Q,threadService:B,toolService:Y,getThreadEnvironment:nC,systemPromptService:q,threadSummaryService:X,createFileSystem:T,threadHistoryService:J,mcpService:D},H);await j.resume().catch((S)=>{k1.error("Initial resume",S)});let R=j.status.pipe(l6((S)=>{return{type:"worker-state",status:S}})),P=I.observable.pipe(l6((S)=>{return{type:"thread-state",thread:S}})),_=new K8,v=new K8,k=W(wA.from(v)).pipe(l6((S)=>({type:"ui-input",input:S}))),m=F.events$.pipe(l6((S)=>S)),d=gj.pipe(l6((S)=>({type:"jetbrains-status",jetbrainsState:S}))),$=uK(R,P,uK(_,k,m,d)),b=new K8;async function x(){if(v.next({type:"state",state:{type:"shutting-down"}}),await A?.sync().catch((S)=>{k1.error("Thread sync error",S,{threadID:H})}),F.dispose(),j.dispose(),A)A.dispose();B.dispose(),await D.dispose(),z[Symbol.dispose](),Z.dispose(),E.unsubscribe(),v.complete(),b.next()}let u=$.pipe(qZ(()=>{x()})).pipe(Ij(ZT("threadSession",function(S,y){function l(Q1){k1.info(`Processing user message: ${Q1.slice(0,50)}${Q1.length>50?"...":""}`);let A1="tokenUsage"in S?S.tokenUsage:void 0;if(A1&&A1.used/A1.maxAvailable>r51.CRITICAL)return k1.info("Blocking message at worker boundary - critical token usage"),v.next({type:"confirm",confirmation:{type:"compaction",severity:"critical"}}),{type:"confirming-compaction",severity:"critical",tokenUsage:S.tokenUsage,compactionPromptState:"final",updateState:"updateState"in S?S.updateState:"none",toolConfirmationStatus:"toolConfirmationStatus"in S?S.toolConfirmationStatus:new Map,currentAssistantMessageIndex:("currentAssistantMessageIndex"in S?S.currentAssistantMessageIndex:null)??null,hasBeenIdle:"hasBeenIdle"in S?S.hasBeenIdle:!1,threadTitle:"threadTitle"in S?S.threadTitle:null,confirmationQueue:"confirmationQueue"in S?S.confirmationQueue:[]};j.handle({type:"user:message",message:{content:[{type:"text",text:Q1}]}}).then(()=>{if(A)A.sync().catch((Z1)=>{k1.error("Thread sync after submit error",Z1,{threadID:H})})}).catch((Z1)=>{k1.error("Handle user message failed",Z1)}),v.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}});let X1=I.value.last;if(X1){let Z1=KU(X1);if(Z1)v.next({type:"state",state:Z1})}return{...S,type:"awaiting-agent",displayedError:null}}async function a(){v.next({type:"state",state:{type:"compacting"}});let Q1=await X.summarizeThread(H);await j.handle({type:"summary:created",summary:{type:"internal",summary:Q1.summary}})}function z1(){if(S.type==="awaiting-user-message")return k1.debug("already accepting, ignoring event",{state:S,event:y}),S;let Q1="tokenUsage"in S?S.tokenUsage:void 0;if(A?.sync()?.catch((A1)=>{k1.error("Thread sync error",A1,{threadID:H})}),Q1&&S.type!=="confirming-compaction"&&S.type!=="compacting"){let A1=Q1.used/Q1.maxAvailable,X1=void 0,Z1=S.compactionPromptState;if(A1>r51.CRITICAL)X1="critical",Z1="final";else if(A1>r51.WARNING&&S.compactionPromptState==="none")X1="moderate",Z1="first";else if(A1>r51.SEVERE&&S.compactionPromptState==="first")X1="severe",Z1="final";if(X1)return v.next({type:"confirm",confirmation:{type:"compaction",severity:X1}}),{type:"confirming-compaction",severity:X1,tokenUsage:S.tokenUsage,compactionPromptState:Z1,updateState:S.updateState,toolConfirmationStatus:S.toolConfirmationStatus,currentAssistantMessageIndex:S.currentAssistantMessageIndex,hasBeenIdle:S.hasBeenIdle,threadTitle:S.threadTitle,confirmationQueue:S.confirmationQueue}}if(v.next({type:"accept-message",initial:!S.hasBeenIdle&&!w}),S.type==="awaiting-agent")S.cancelledWithMessage=void 0;if(Q1)v.next({type:"token-usage",tokenUsage:Q1});return{...S,type:"awaiting-user-message",hasBeenIdle:!0,tokenUsage:Q1??null}}async function t(Q1){if(Q1.length>0){k1.info(`Updating allowlist with ${Q1.length} entries`,{entries:Q1});try{if(await K.get("experimental.commandApproval.enabled","global")===!0){let Z1=[...await K.get("experimental.commandApproval.allow","global")??[],...Q1];await K.set("experimental.commandApproval.allow",Z1,"global"),k1.info("Updated experimental command approval allow list",{newEntries:Q1,totalEntries:Z1.length})}else{let Z1=[...await K.get("commands.allowlist","global")??[],...Q1];await K.set("commands.allowlist",Z1,"global"),k1.info("Updated regular commands allowlist",{newEntries:Q1,totalEntries:Z1.length})}}catch(A1){k1.error("Failed to update allowlist",A1)}}}if(S.type==="closing")return S;if(y.type==="thread-state"){let Q1=y.thread.title||null;if(S.threadTitle!==Q1&&Q1!==null)v.next({type:"thread-title",title:Q1});if(F.scanForTaskToolSubthreads(y.thread),w&&M.size===0&&y.thread.messages.length>0){let X1=lk(y.thread,M,N);if(X1.blocks.length>0)v.next({type:"messages",blocks:X1.blocks})}let A1=S.tokenUsage;if(y.thread){let X1=Cj(y.thread);if(X1)A1={used:X1.totalInputTokens,maxAvailable:X1.maxInputTokens},v.next({type:"token-usage",tokenUsage:A1})}if(S.type==="awaiting-user-confirmation")if(y.thread.messages.at(-1)?.content.some((X1)=>X1.type==="tool_result"&&(X1.run.status==="in-progress"||X1.run.status==="done"))){let X1=KU(y.thread);if(X1)v.next({type:"state",state:X1});else v.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}});return{...S,type:"awaiting-agent",displayedError:null,tokenUsage:A1}}else{let X1=PQ(y.thread,"user")?.content.filter((Z1)=>Z1.type==="tool_result"&&Z1.run.status==="blocked-on-user")??[];if(X1.length>0){k1.info(`Found ${X1.length} blocked tools in awaiting-user-confirmation`,{toolIDs:X1.map((r)=>r.toolUseID)});let Z1=PQ(y.thread,"assistant"),N1=new Set(Z1?.content.filter((r)=>r.type==="tool_use").map((r)=>r.id)??[]);for(let r of X1){if(!N1.has(r.toolUseID))continue;let s=o4(y.thread,r.toolUseID);if(s&&s.name===b4)return S.toolConfirmationStatus.set(r.toolUseID,"awaiting"),k1.info("Added blocked tool to confirmation tracking",{toolUseID:r.toolUseID}),v.next({type:"tool-status",toolUse:s,status:"blocked-on-user",startTime:Date.now()}),v.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:s,toAllow:r.run.status==="blocked-on-user"?r.run.toAllow:void 0}]}}),{...S,type:"collecting-tool-confirmations",currentToolID:r.toolUseID,tokenUsage:A1}}}return{...S,type:"awaiting-user-confirmation",tokenUsage:A1}}if(S.type==="awaiting-agent"||S.type==="compacting"){let X1=y.thread.messages.at(-1),Z1=lk(y.thread,M,N),N1=Z1.blocks;if(X1?.role==="assistant"&&X1.state.type==="streaming"&&Z1.blocks.length===0){N1=[{type:"message",data:[y.thread.messages.length-1,X1]}];let _1=KU(y.thread);if(_1)v.next({type:"state",state:_1})}if(N1.length>0){for(let q1 of N1)if(q1.type==="toolResult"){let[_1,O1]=q1.data,j1=O1.run.status==="done"?"completed":O1.run.status==="error"?"error":O1.run.status==="cancelled"?"cancelled":"running";if(j1!=="running")v.next({type:"tool-status",toolUse:_1,status:j1,startTime:V.get(_1.id),endTime:Date.now()}),V.delete(_1.id)}v.next({type:"messages",blocks:N1})}if(y.thread.messages.at(-1)?.content.some((q1)=>q1.type==="summary"))return{...z1(),tokenUsage:null,compactionPromptState:"none"};if(X1?.role==="assistant"&&X1?.state.type==="complete"&&X1?.state.stopReason==="end_turn"){v.next({type:"state",state:{type:"idle"}});let q1=z1();return{...q1,tokenUsage:A1??q1.tokenUsage}}if(!I)throw new Error("unexpected: thread is required when waiting for tool input");let r=PQ(y.thread,"assistant"),s=r?y.thread.messages.indexOf(r):null;if(s!==null&&s!==S.currentAssistantMessageIndex)k1.info("New assistant message detected, clearing tool confirmations",{oldIndex:S.currentAssistantMessageIndex,newIndex:s,previousToolCount:S.toolConfirmationStatus.size}),S.toolConfirmationStatus.clear(),S.currentAssistantMessageIndex=s;let e=PQ(y.thread,"user")?.content.filter((q1)=>q1.type==="tool_result"&&q1.run.status==="blocked-on-user")??[];if(e.length>0)k1.info(`Found ${e.length} blocked tools`,{toolIDs:e.map((q1)=>q1.toolUseID),currentState:S.type});let G1=new Set(r?.content.filter((q1)=>q1.type==="tool_use").map((q1)=>q1.id)??[]),Y1=!1;for(let q1 of e){if(!G1.has(q1.toolUseID))continue;let _1=o4(y.thread,q1.toolUseID),O1=S.toolConfirmationStatus.get(q1.toolUseID);if(_1&&_1.name===b4&&q1.run.status==="blocked-on-user"&&O1===void 0){if(S.toolConfirmationStatus.set(q1.toolUseID,"awaiting"),Y1=!0,k1.info("Added new tool to confirmation tracking",{toolUseID:q1.toolUseID,toolName:_1.name}),!V.has(_1.id))V.set(_1.id,Date.now());v.next({type:"tool-status",toolUse:_1,status:"blocked-on-user",startTime:V.get(_1.id)})}}let F1=Array.from(S.toolConfirmationStatus.entries()).filter(([q1,_1])=>_1==="awaiting");if(F1.length>0){let[q1]=F1[0],_1=e.find((j1)=>j1.toolUseID===q1),O1=_1?o4(y.thread,_1.toolUseID):null;if(_1&&O1)return k1.info(`Starting tool confirmation process for ${F1.length} tools (hasNewTools: ${Y1})`,{firstToolID:q1,toolName:O1.name,currentState:S.type}),v.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:O1,toAllow:_1.run.status==="blocked-on-user"?_1.run.toAllow:void 0}]}}),{...S,type:"collecting-tool-confirmations",currentToolID:q1,tokenUsage:A1}}}}else if(y.type==="worker-state"){if(S.type==="awaiting-user-confirmation"&&y.status.state==="active"&&y.status.ephemeralError)return S;if(S.type==="collecting-tool-confirmations")return k1.info("Already collecting tool confirmations, ignoring worker-state event"),S;let Q1=I.value.last?.messages.at(-1),A1=S.tokenUsage;if(y.status.state==="active"){let X1=I.value.last;if(X1){let Z1=Cj(X1);if(Z1)A1={used:Z1.totalInputTokens,maxAvailable:Z1.maxInputTokens},v.next({type:"token-usage",tokenUsage:A1})}}if(S.type==="confirming-compaction"||S.type==="compacting")return{...S,tokenUsage:A1};switch(y.status.state){case"initial":if(S.type==="initializing")return S;return z1();case"active":if(y.status.ephemeralError)if(y.status.ephemeralError.message.includes(T4A)){if(S.type==="out-of-credits")return S;return v.next({type:"confirm",confirmation:{type:"out-of-credits"}}),{...S,type:"out-of-credits",tokenUsage:A1}}else if(i51(y.status.ephemeralError))return k1.info("Context limit error, triggering compaction",{error:y.status.ephemeralError,tokenUsage:A1}),v.next({type:"confirm",confirmation:{type:"compaction",severity:"critical"}}),{type:"confirming-compaction",severity:"critical",tokenUsage:S.tokenUsage,compactionPromptState:S.compactionPromptState,updateState:S.updateState,toolConfirmationStatus:S.toolConfirmationStatus,currentAssistantMessageIndex:S.currentAssistantMessageIndex,hasBeenIdle:S.hasBeenIdle,threadTitle:S.threadTitle,confirmationQueue:S.confirmationQueue};else if(y.status.ephemeralError.message.includes("401 unauthorized"))return v.next({type:"error",error:{type:"unauthorized"},retryable:!1}),u.unsubscribe(),{...S,type:"closing"};else{let X1=y.status.ephemeralError.message;if(k1.error("Ephemeral error",{error:X1}),S.type==="awaiting-agent"&&S.displayedError!==X1)return v.next({type:"error",error:{type:"other",error:X1},retryable:!1}),{...S,type:"awaiting-user-confirmation",tokenUsage:A1};else return S}switch(y.status.inferenceState){case"running":{let X1=I.value.last;if(X1){let Z1=KU(X1);if(Z1)v.next({type:"state",state:Z1});else v.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}})}else v.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}})}if(S.type==="initializing")return{...S,tokenUsage:A1};return{...S,type:"awaiting-agent",displayedError:null,tokenUsage:A1};case"cancelled":if(S.type==="initializing")return{...S,tokenUsage:A1};if(v.next({type:"cancelled"}),v.next({type:"state",state:{type:"idle"}}),S.type==="awaiting-agent"&&S.cancelledWithMessage)return S.cancelledWithMessage=void 0,{...S,tokenUsage:A1};else return{...z1(),tokenUsage:A1};case"idle":if(S.type==="initializing")return{...S,tokenUsage:A1};if(Q1?.content.some((X1)=>X1.type==="tool_result"&&X1.run.status==="blocked-on-user"))return{...S,type:"awaiting-user-confirmation",tokenUsage:A1};else if(I.value.last?.messages.some((X1)=>X1.role==="user"&&X1.content.some((Z1)=>Z1.type==="tool_result"&&Z1.run.status==="in-progress"))??!1){let X1=I.value.last?.messages.flatMap((N1)=>N1.content).filter((N1)=>N1.type==="tool_result"&&("run"in N1)&&("status"in N1.run)&&N1.run.status==="in-progress"),Z1=X1?.length??0;if(Z1>0){for(let e of X1||[]){let G1=o4(I.value.last,e.toolUseID);if(G1){if(!V.has(e.toolUseID))V.set(e.toolUseID,Date.now());v.next({type:"tool-status",toolUse:G1,status:"running",startTime:V.get(e.toolUseID)})}}let N1=Z1===1&&X1?.[0]&&I.value.last?o4(I.value.last,X1[0].toolUseID):void 0,r=Z1>1&&X1&&I.value.last?X1.slice(1,Math.min(4,X1.length)).map((e)=>{return o4(I.value.last,e.toolUseID)?.name||"tool"}).filter(Boolean):void 0,s=N1?a51(N1.name,Z1,Date.now(),N1.input,r):{type:"running-tools",toolCount:Z1,startTime:Date.now(),queuedTools:r};v.next({type:"state",state:s})}else{let N1=I.value.last;if(N1){let r=KU(N1);if(r)v.next({type:"state",state:r});else v.next({type:"state",state:{type:"idle"}})}else v.next({type:"state",state:{type:"idle"}})}return{...S,type:"awaiting-agent",displayedError:null,tokenUsage:A1}}else if(Q1?.role==="assistant"&&Q1?.state.type==="complete"&&Q1?.state.stopReason==="end_turn")return v.next({type:"state",state:{type:"idle"}}),{...z1(),tokenUsage:A1}}}}else if(y.type==="batch-tool-confirmations-complete")if(S.type==="collecting-tool-confirmations"&&S.subthreadContext)return k1.info("Sending batch tool confirmations to subthread",{subThreadID:S.subthreadContext.subThreadID,toolCount:y.responses.size,responses:Array.from(y.responses.entries()).map(([Q1,A1])=>({id:Q1,accepted:A1}))}),F.handleToolConfirmations(S.subthreadContext.subThreadID,y.responses).catch((Q1)=>{k1.error("Failed to send subthread tool confirmations",Q1)}),k1.info("Transitioning to awaiting-agent after sending subthread confirmations"),v.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null};else return k1.info("Sending batch tool confirmations to worker",{toolCount:y.responses.size,responses:Array.from(y.responses.entries()).map(([Q1,A1])=>({id:Q1,accepted:A1}))}),y.responses.forEach((Q1,A1)=>{k1.info("Sending individual tool confirmation to worker",{toolUseID:A1,accepted:Q1}),j.handle({type:"user:tool-input",toolUse:A1,value:{accepted:Q1}}),S.toolConfirmationStatus.set(A1,"sent")}),k1.info("Transitioning to awaiting-agent after sending batch confirmations"),v.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null};else if(y.type==="summary:created"){let Q1=I.value.last;if(Q1){let A1=Cj(Q1);if(A1){let X1={used:A1.totalInputTokens,maxAvailable:A1.maxInputTokens},Z1=S.type==="compacting"?S.preCompactionTokenUsage:null;if(Z1){let N1=Z1.used,r=X1.used,s=N1-r,e=N1>0?s/N1*100:0;if(s<=0)k1.warn("Compaction did not reduce token usage",{preUsed:N1,postUsed:r,reduction:s,threadID:H});else if(e<10)k1.warn("Compaction reduction was minimal",{preUsed:N1,postUsed:r,reduction:s,reductionPercent:e.toFixed(1),threadID:H});else k1.info("Compaction successful",{preUsed:N1,postUsed:r,reduction:s,reductionPercent:e.toFixed(1),threadID:H})}else k1.warn("No pre-compaction token usage available for validation",{threadID:H});v.next({type:"token-usage",tokenUsage:X1})}}return z1()}else if(y.type==="compaction-result")if(y.result)return z1();else return v.next({type:"error",error:{type:"other",error:"Compaction failed"},retryable:!1}),v.next({type:"confirm",confirmation:{type:"compaction",severity:y.severity}}),{...S,type:"confirming-compaction",severity:y.severity};else if(y.type==="update-start-updating")return{...S,updateState:"updating"};else if(y.type==="update-result")if(y.success)return setTimeout(()=>{_.next({type:"clear-update-status"})},1e4),{...S,updateState:"success"};else return setTimeout(()=>{_.next({type:"clear-update-status"})},1e4),{...S,updateState:"error"};else if(y.type==="clear-update-status")return{...S,updateState:"none"};else if(y.type==="agent-file-check-complete"){if(S.type==="checking-agent-file")if(y.shouldGenerate)return v.next({type:"confirm",confirmation:{type:"agent-file-creation"}}),{...S,type:"confirming-agent-file-creation"};else return z1()}else if(y.type==="tool-status")return v.next({type:"tool-status",toolUse:y.toolUse,status:y.status,startTime:y.startTime,endTime:y.endTime,subthreadID:y.subthreadID}),S;else if(y.type==="subagent-started"){if(S.type==="initializing")return S;return v.next({type:"subagent-started",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}),S}else if(y.type==="subagent-status")return v.next({type:"subagent-status",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,agentState:y.agentState}),S;else if(y.type==="subthread-message"){if(y.blocks.length>0)v.next({type:"subthread-messages",subThreadID:y.subThreadID,blocks:y.blocks});return S}else if(y.type==="historic-thread"){if(S.type!=="initializing")throw new Error(`Historic thread event received in unexpected state: ${S.type}`);if(w&&M.size===0&&y.messages.length>0){let A1=lk({id:H,messages:y.messages},M,N);if(A1.blocks.length>0)v.next({type:"messages",blocks:A1.blocks})}let Q1={...S,hasThread:!0};if(Q1.hasUI&&Q1.hasThread)return z1();return Q1}else if(y.type==="subagent-finished")return v.next({type:"subagent-finished",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,result:y.result}),S;else if(y.type==="subagent-cancelled")return v.next({type:"subagent-cancelled",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}),S;else if(y.type==="subagent-error")return v.next({type:"subagent-error",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,error:y.error}),S;else if(y.type==="subthread-tool-request"){if(y.tools.length>0){if(k1.info(`Received tool confirmation request from subthread ${y.subThreadID}`,{subThreadID:y.subThreadID,agentNumber:y.agentNumber,toolCount:y.tools.length,tools:y.tools.map((Q1)=>Q1.useBlock.name),queueLength:S.confirmationQueue.length}),S.type==="collecting-tool-confirmations"||S.confirmationQueue.length>0)return k1.info("Queueing tool confirmation request",{subThreadID:y.subThreadID,agentNumber:y.agentNumber,currentQueueLength:S.confirmationQueue.length}),{...S,confirmationQueue:[...S.confirmationQueue,{type:"subthread-tool-request",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,tools:y.tools}]};return v.next({type:"confirm",confirmation:{type:"tool-use",tools:y.tools,subthreadID:y.subThreadID,agentNumber:y.agentNumber}}),{...S,type:"collecting-tool-confirmations",currentToolID:y.tools[0]?.useBlock.id||null,subthreadContext:{subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}}}return S}else if(y.type==="jetbrains-status")return v.next({type:"jetbrains-status",jetbrainsState:y.jetbrainsState}),S;else if(y.type==="ui-input"){if(y.input.type==="initialized")if(S.type==="initializing"){let Q1={...S,hasUI:!0};if(Q1.hasUI&&Q1.hasThread)if(I.value.last?.messages.length===0)return k1.info("Checking agent file status"),j4A({filesystem:T(H),configService:Q,threadService:B},I.value.last).then((X1)=>{_.next({type:"agent-file-check-complete",shouldGenerate:X1.shouldGenerate})}).catch((X1)=>{k1.error("Agent file check failed",X1),_.next({type:"agent-file-check-complete",shouldGenerate:!1})}),{...S,type:"checking-agent-file"};else return z1();return Q1}else throw new Error(`UI initialized event received in unexpected state: ${S.type}`);else if(y.input.type=="message"){let{message:Q1}=y.input;return l(Q1)}else if(y.input.type==="interrupt")if(S.type==="awaiting-agent"){if(v.next({type:"cancelled"}),vB.cancel(H),y.input.message)S.cancelledWithMessage=y.input.message;return S}else return S;else if(y.input.type==="exit")return u.unsubscribe(),{...S,type:"closing"};else if(y.input.type==="retry")return vB.retry(H),{...S,type:"awaiting-agent",displayedError:null};else if(y.input.type==="confirmation"){if(S.type==="out-of-credits"&&y.input.confirmation.type==="out-of-credits")vB.retry(H);else if(S.type==="confirming-compaction"&&y.input.confirmation.type==="compaction")if(y.input.allow){let Q1="tokenUsage"in S?S.tokenUsage:void 0;return v.next({type:"state",state:{type:"compacting"}}),a().then(()=>{k1.info("Compaction completed successfully",{preCompactionTokenUsage:Q1}),_.next({type:"compaction-result",result:!0,severity:S.severity})}).catch((A1)=>{k1.error("Compaction failed",A1),_.next({type:"compaction-result",result:!1,severity:S.severity})}),{...S,type:"compacting",preCompactionTokenUsage:Q1}}else return k1.info("Compaction cancelled"),z1();else if(S.type==="collecting-tool-confirmations"&&y.input.confirmation.type==="tool-use"){if(!S.currentToolID)return k1.error("No current tool ID in collecting-tool-confirmations state"),S;if(k1.info(`Received confirmation for tool: ${y.input.allow?"accepted":"rejected"}`,{toolUseID:S.currentToolID,subthreadID:y.input.confirmation.subthreadID}),y.input.confirmation.subthreadID&&S.subthreadContext){k1.info("Sending tool confirmation to subthread",{subThreadID:S.subthreadContext.subThreadID,toolUseID:S.currentToolID,accepted:y.input.allow});let Z1=new Map([[S.currentToolID,y.input.allow]]);if(F.handleToolConfirmations(S.subthreadContext.subThreadID,Z1).catch((N1)=>{k1.error("Failed to send subthread tool confirmation",N1)}),S.confirmationQueue.length>0){let N1=S.confirmationQueue[0],r=S.confirmationQueue.slice(1);return k1.info("Processing next queued confirmation request",{subThreadID:N1.subThreadID,agentNumber:N1.agentNumber,remainingQueueLength:r.length}),v.next({type:"confirm",confirmation:{type:"tool-use",tools:N1.tools,subthreadID:N1.subThreadID,agentNumber:N1.agentNumber}}),{...S,type:"collecting-tool-confirmations",currentToolID:N1.tools[0]?.useBlock.id||null,subthreadContext:{subThreadID:N1.subThreadID,agentNumber:N1.agentNumber,taskDescription:N1.taskDescription},confirmationQueue:r}}return k1.info("Transitioning to awaiting-agent after sending subthread confirmation"),v.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null}}S.toolConfirmationStatus.set(S.currentToolID,y.input.allow?"confirmed":"rejected"),t(y.input.confirmation.addToAllowList);let Q1=Array.from(S.toolConfirmationStatus.entries()).filter(([Z1,N1])=>N1==="awaiting");if(Q1.length>0){let[Z1]=Q1[0];if(!I.value.isSet)return k1.error("Thread not available for finding next tool"),S;let s=(I.value.last.messages.at(-1)?.content.filter((G1)=>G1.type==="tool_result"&&G1.run.status==="blocked-on-user")??[]).find((G1)=>G1.toolUseID===Z1),e=s?o4(I.value.last,s.toolUseID):null;if(s&&e)return k1.info(`Asking confirmation for next tool: ${e.name}`,{toolUseID:Z1,remainingCount:Q1.length}),v.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:e,toAllow:s.run.status==="blocked-on-user"?s.run.toAllow:void 0}]}}),{...S,currentToolID:Z1}}let A1=Array.from(S.toolConfirmationStatus.entries()).filter(([Z1,N1])=>N1==="confirmed"||N1==="rejected");k1.info("All tool confirmations collected, sending batch response",{totalTools:A1.length,responses:A1.map(([Z1,N1])=>({id:Z1,accepted:N1==="confirmed"}))});let X1=new Map(A1.map(([Z1,N1])=>[Z1,N1==="confirmed"]));return _.next({type:"batch-tool-confirmations-complete",responses:X1}),v.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null}}else if(y.input.confirmation.type==="agent-file-creation"&&S.type==="confirming-agent-file-creation")if(y.input.allow)return P4A(j).catch((Q1)=>{k1.error("Agent file generation failed",Q1)}),v.next({type:"state",state:{type:"generating-agent-file"}}),{...S,type:"awaiting-agent",displayedError:null};else return z1();return S}}return S}),{type:"initializing",hasUI:!1,hasThread:!1,tokenUsage:null,compactionPromptState:"none",updateState:"none",toolConfirmationStatus:new Map,currentAssistantMessageIndex:null,hasBeenIdle:!1,threadTitle:null,confirmationQueue:[]})).subscribe({error:(S)=>{k1.error("Error in state machine",S),x()}});if(w)G.get(H).then((S)=>{if(S&&S.messages)k1.info("Sending historic messages for initialization",{threadId:H,messageCount:S.messages.length}),_.next({type:"historic-thread",messages:S.messages});else k1.info("Sending empty messages for continued thread without stored messages",{threadId:H}),_.next({type:"historic-thread",messages:[]})});else k1.info("Sending empty messages for new thread initialization",{threadId:H}),_.next({type:"historic-thread",messages:[]});return _o6(_).catch((S)=>{k1.debug("Update check startup failed",S)}),await d6(b)}async function _o6(A){try{let Q=await If1("0.0.1752124573-gb6c104");if(Q.hasUpdate&&Q.latestVersion)A.next({type:"update-start-updating"}),setTimeout(async()=>{try{await Cf1(Q.latestVersion),A.next({type:"update-result",success:!0,version:Q.latestVersion})}catch(B){k1.info("Update failed",B),A.next({type:"update-result",success:!1,version:Q.latestVersion})}},100);else k1.info("No update available")}catch(Q){k1.debug("Update check failed",Q)}}var r51={WARNING:0.8,SEVERE:0.9,CRITICAL:0.98};w2();LB();QN();i6();import{Stream as K12}from"node:stream";import x71 from"node:process";var g7A=K6(W9(),1);import X12 from"node:process";function i4A(A,Q,{signal:B,edges:J}={}){let D=void 0,z=null,Z=J!=null&&J.includes("leading"),X=J==null||J.includes("trailing"),K=()=>{if(z!==null)A.apply(D,z),D=void 0,z=null},G=()=>{if(X)K();E()},Y=null,q=()=>{if(Y!=null)clearTimeout(Y);Y=setTimeout(()=>{Y=null,G()},Q)},F=()=>{if(Y!==null)clearTimeout(Y),Y=null},E=()=>{F(),D=void 0,z=null},H=()=>{F(),K()},w=function(...W){if(B?.aborted)return;D=this,z=W;let M=Y==null;if(q(),Z&&M)K()};return w.schedule=q,w.cancel=E,w.flush=H,B?.addEventListener("abort",E,{once:!0}),w}function a4A(A,Q=0,B={}){if(typeof B!=="object")B={};let{signal:J,leading:D=!1,trailing:z=!0,maxWait:Z}=B,X=Array(2);if(D)X[0]="leading";if(z)X[1]="trailing";let K=void 0,G=null,Y=i4A(function(...E){K=A.apply(this,E),G=null},Q,{signal:J,edges:X}),q=function(...E){if(Z!=null){if(G===null)G=Date.now();if(Date.now()-G>=Z)return K=A.apply(this,E),G=Date.now(),Y.cancel(),Y.schedule(),K}return Y.apply(this,E),K},F=()=>{return Y.flush(),K};return q.cancel=Y.cancel,q.flush=F,q}function o51(A,Q=0,B={}){if(typeof B!=="object")B={};let{leading:J=!0,trailing:D=!0,signal:z}=B;return a4A(A,Q,{leading:J,trailing:D,signal:z,maxWait:Q})}import{env as ml}from"node:process";var $t6=ml.CI!=="0"&&ml.CI!=="false"&&(("CI"in ml)||("CONTINUOUS_INTEGRATION"in ml)||Object.keys(ml).some((A)=>A.startsWith("CI_"))),XT=$t6;var vt6=(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 _f1(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 vt6(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 h7A=K6(vf1(),1);import{PassThrough as e4A}from"node:stream";var A5A=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],kf1={},kt6=(A)=>{let Q=new e4A,B=new e4A;Q.write=(D)=>{A("stdout",D)},B.write=(D)=>{A("stderr",D)};let J=new console.Console(Q,B);for(let D of A5A)kf1[D]=console[D],console[D]=J[D];return()=>{for(let D of A5A)console[D]=kf1[D];kf1={}}},Q5A=kt6;var ff1=32;var yf1=0,B71=0;var ft6=(()=>{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(E1,x1){J=E1,D=x1});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 X=B.print||console.log.bind(console),K=B.printErr||console.warn.bind(console);Object.assign(B,z),z=null;var G;B.wasmBinary&&(G=B.wasmBinary);var Y=B.noExitRuntime||!0;typeof WebAssembly!="object"&&x("no native wasm support detected");var q,F=!1;function E(E1,x1,R0){R0=x1+R0;for(var _0="";!(x1>=R0);){var u0=E1[x1++];if(!u0)break;if(u0&128){var XA=E1[x1++]&63;if((u0&224)==192)_0+=String.fromCharCode((u0&31)<<6|XA);else{var jA=E1[x1++]&63;u0=(u0&240)==224?(u0&15)<<12|XA<<6|jA:(u0&7)<<18|XA<<12|jA<<6|E1[x1++]&63,65536>u0?_0+=String.fromCharCode(u0):(u0-=65536,_0+=String.fromCharCode(55296|u0>>10,56320|u0&1023))}}else _0+=String.fromCharCode(u0)}return _0}var H,w,W,M,I,N,V,T,j;function R(){var E1=q.buffer;H=E1,B.HEAP8=w=new Int8Array(E1),B.HEAP16=M=new Int16Array(E1),B.HEAP32=N=new Int32Array(E1),B.HEAPU8=W=new Uint8Array(E1),B.HEAPU16=I=new Uint16Array(E1),B.HEAPU32=V=new Uint32Array(E1),B.HEAPF32=T=new Float32Array(E1),B.HEAPF64=j=new Float64Array(E1)}var P,_=[],v=[],k=[];function m(){var E1=B.preRun.shift();_.unshift(E1)}var d=0,$=null,b=null;function x(E1){if(B.onAbort)B.onAbort(E1);throw E1="Aborted("+E1+")",K(E1),F=!0,E1=new WebAssembly.RuntimeError(E1+". Build with -sASSERTIONS for more info."),D(E1),E1}function u(E1){return E1.startsWith("data:application/octet-stream;base64,")}var S="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/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIAIAELBQBBpDsLaQECfyMAQRBrIgYkACABIAAoAgQiB0EBdWohASAAKAIAIQAgBiABIAIgAyAEIAUgB0EBcQR/IAEoAgAgAGooAgAFIAALERAAQRAQHiIAIAYpAwg3AwggACAGKQMANwMAIAZBEGokACAACwUAQaA7Cx0AIAAoAgAiACAALQAAQfcBcUEIQQAgARtyOgAAC6oBAgJ/AX0jAEEQayICJAAgACgCACEAIAFB/wFxIgNBBkkEQAJ/AkACQAJAIANBBGsOAgABAgsgAEHUA2ogAC0AiANBA3FBAkYNAhogAEHMA2oMAgsgAEHMA2ogAC0AiANBA3FBAkYNARogAEHUA2oMAQsgACABQf8BcUECdGpBzANqCyoCACEEIAJBEGokACAEuw8LIAJB7hA2AgAgAEEFQdglIAIQLBAkAAuqAQICfwF9IwBBEGsiAiQAIAAoAgAhACABQf8BcSIDQQZJBEACfwJAAkACQCADQQRrDgIAAQILIABBxANqIAAtAIgDQQNxQQJGDQIaIABBvANqDAILIABBvANqIAAtAIgDQQNxQQJGDQEaIABBxANqDAELIAAgAUH/AXFBAnRqQbwDagsqAgAhBCACQRBqJAAgBLsPCyACQe4QNgIAIABBBUHYJSACECwQJAALqgECAn8BfSMAQRBrIgIkACAAKAIAIQAgAUH/AXEiA0EGSQRAAn8CQAJAAkAgA0EEaw4CAAECCyAAQbQDaiAALQCIA0EDcUECRg0CGiAAQawDagwCCyAAQawDaiAALQCIA0EDcUECRg0BGiAAQbQDagwBCyAAIAFB/wFxQQJ0akGsA2oLKgIAIQQgAkEQaiQAIAS7DwsgAkHuEDYCACAAQQVB2CUgAhAsECQAC08AIAAgASgCACIBKgKcA7s5AwAgACABKgKkA7s5AwggACABKgKgA7s5AxAgACABKgKoA7s5AxggACABKgKMA7s5AyAgACABKgKQA7s5AygLDAAgACgCACoCkAO7CwwAIAAoAgAqAowDuwsMACAAKAIAKgKoA7sLDAAgACgCACoCoAO7CwwAIAAoAgAqAqQDuwsMACAAKAIAKgKcA7sL6AMCBH0FfyMAQUBqIgokACAAKAIAIQAgCkEIakEAQTgQKhpB8DpB8DooAgBBAWo2AgAgABB4IAAtABRBA3EiCCADQQEgA0H/AXEbIAgbIQkgAEEUaiEIIAG2IQQgACoC+AMhBQJ9AkACQAJAIAAtAPwDQQFrDgIBAAILIAUgBJRDCtcjPJQhBQsgBUMAAAAAYEUNACAAIAlB/wFxQQAgBCAEEDEgCEECQQEgBBAiIAhBAkEBIAQQIZKSDAELIAggCUH/AXFBACAEIAQQLSIFIAVbBEBBAiELIAggCUH/AXFBACAEIAQQLQwBCyAEIARcIQsgBAshByACtiEFIAAqAoAEIQYgACAHAn0CQAJAAkAgAC0AhARBAWsOAgEAAgsgBiAFlEMK1yM8lCEGCyAGQwAAAABgRQ0AIAAgCUH/AXFBASAFIAQQMSAIQQBBASAEECIgCEEAQQEgBBAhkpIMAQsgCCAJQf8BcSIJQQEgBSAEEC0iBiAGWwRAQQIhDCAIIAlBASAFIAQQLQwBCyAFIAVcIQwgBQsgA0H/AXEgCyAMIAQgBUEBQQAgCkEIakEAQfA6KAIAED0EQCAAIAAtAIgDQQNxIAQgBRB2IABEAAAAAAAAAABEAAAAAAAAAAAQcwsgCkFAayQACw0AIAAoAgAtAABBAXELFQAgACgCACIAIAAtAABB/gFxOgAACxAAIAAoAgAtAABBBHFBAnYLegECfyMAQRBrIgEkACAAKAIAIgAoAggEQANAIAAtAAAiAkEEcUUEQCAAIAJBBHI6AAAgACgCECICBEAgACACEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQELCyABQRBqJAAPCyABQYAINgIAIABBBUHYJSABECwQJAALLgEBfyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALIAAoAgBBADYCEAsXACAAKAIEKAIIIgAgACgCACgCCBEAAAsuAQF/IAAoAgghAiAAIAE2AgggAgRAIAIgAigCACgCBBEAAAsgACgCAEEFNgIQCz4BAX8gACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIAIgBBADYCCCAAIAAtAABB7wFxOgAAC0kBAX8jAEEQayIGJAAgBiABKAIEKAIEIgEgAiADIAQgBSABKAIAKAIIERAAIAAgBisDALY4AgAgACAGKwMItjgCBCAGQRBqJAALcwECfyMAQRBrIgIkACAAKAIEIQMgACABNgIEIAMEQCADIAMoAgAoAgQRAAALIAAoAgAiACgC6AMgACgC7ANHBEAgAkH5IzYCACAAQQVB2CUgAhAsECQACyAAQQQ2AgggACAALQAAQRByOgAAIAJBEGokAAs8AQF/AkAgACgCACIAKALsAyAAKALoAyIAa0ECdSABTQ0AIAAgAUECdGooAgAiAEUNACAAKAIEIQILIAILGQAgACgCACgC5AMiAEUEQEEADwsgACgCBAsXACAAKAIAIgAoAuwDIAAoAugDa0ECdQuOAwEDfyMAQdACayICJAACQCAAKAIAIgAoAuwDIAAoAugDRg0AIAEoAgAiAygC5AMhASAAIAMQb0UNACAAIAFGBEAgAkEIakEAQcQCECoaIAJBADoAGCACQgA3AxAgAkGAgID+BzYCDCACQRxqQQBBxAEQKhogAkHgAWohBCACQSBqIQEDQCABQoCAgPyLgIDAv383AhAgAUKBgICAEDcCCCABQoCAgPyLgIDAv383AgAgAUEYaiIBIARHDQALIAJCgICA/IuAgMC/fzcD8AEgAkKBgICAEDcD6AEgAkKAgID8i4CAwL9/NwPgASACQoCAgP6HgIDg/wA3AoQCIAJCgICA/oeAgOD/ADcC/AEgAiACLQD4AUH4AXE6APgBIAJBjAJqQQBBwAAQKhogA0GYAWogAkEIakHEAhArGiADQQA2AuQDCwNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIAJB0AJqJAAL4AcBCH8jAEHQAGsiByQAIAAoAgAhAAJAAkAgASgCACIIKALkA0UEQCAAKAIIDQEgCC0AF0EQdEGAgDBxQYCAIEYEQCAAIAAoAuADQQFqNgLgAwsgACgC6AMiASACQQJ0aiEGAkAgACgC7AMiBCAAQfADaiIDKAIAIgVJBEAgBCAGRgRAIAYgCDYCACAAIAZBBGo2AuwDDAILIAQgBCICQQRrIgFLBEADQCACIAEoAgA2AgAgAkEEaiECIAFBBGoiASAESQ0ACwsgACACNgLsAyAGQQRqIgEgBEcEQCAEIAQgAWsiAUF8cWsgBiABEDMaCyAGIAg2AgAMAQsgBCABa0ECdUEBaiIEQYCAgIAETw0DAkAgB0EgakH/////AyAFIAFrIgFBAXUiBSAEIAQgBUkbIAFB/P///wdPGyACIAMQSiIDKAIIIgIgAygCDEcNACADKAIEIgEgAygCACIESwRAIAMgASABIARrQQJ1QQFqQX5tQQJ0IgRqIAEgAiABayIBEDMgAWoiAjYCCCADIAMoAgQgBGo2AgQMAQsgB0E4akEBIAIgBGtBAXUgAiAERhsiASABQQJ2IAMoAhAQSiIFKAIIIQQCfyADKAIIIgIgAygCBCIBRgRAIAQhAiABDAELIAQgAiABa2ohAgNAIAQgASgCADYCACABQQRqIQEgBEEEaiIEIAJHDQALIAMoAgghASADKAIECyEEIAMoAgAhCSADIAUoAgA2AgAgBSAJNgIAIAMgBSgCBDYCBCAFIAQ2AgQgAyACNgIIIAUgATYCCCADKAIMIQogAyAFKAIMNgIMIAUgCjYCDCABIARHBEAgBSABIAQgAWtBA2pBfHFqNgIICyAJRQ0AIAkQIyADKAIIIQILIAIgCDYCACADIAMoAghBBGo2AgggAyADKAIEIAYgACgC6AMiAWsiAmsgASACEDM2AgQgAygCCCAGIAAoAuwDIAZrIgQQMyEGIAAoAugDIQEgACADKAIENgLoAyADIAE2AgQgACgC7AMhAiAAIAQgBmo2AuwDIAMgAjYCCCAAKALwAyEEIAAgAygCDDYC8AMgAyABNgIAIAMgBDYCDCABIAJHBEAgAyACIAEgAmtBA2pBfHFqNgIICyABRQ0AIAEQIwsgCCAANgLkAwNAIAAtAAAiAUEEcUUEQCAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQELCyAHQdAAaiQADwsgB0HEIzYCECAAQQVB2CUgB0EQahAsECQACyAHQckkNgIAIABBBUHYJSAHECwQJAALEAIACxAAIAAoAgAtAABBAnFBAXYLWQIBfwF9IwBBEGsiAiQAIAJBCGogACgCACIAQfwAaiAAIAFB/wFxQQF0ai8BaBAfQwAAwH8hAwJAAkAgAi0ADA4EAQAAAQALIAIqAgghAwsgAkEQaiQAIAMLTgEBfyMAQRBrIgMkACADQQhqIAEoAgAiAUH8AGogASACQf8BcUEBdGovAUQQHyADLQAMIQEgACADKgIIuzkDCCAAIAE2AgAgA0EQaiQAC14CAX8BfCMAQRBrIgIkACACQQhqIAAoAgAiAEH8AGogACABQf8BcUEBdGovAVYQH0QAAAAAAAD4fyEDAkACQCACLQAMDgQBAAABAAsgAioCCLshAwsgAkEQaiQAIAMLJAEBfUMAAMB/IAAoAgAiAEH8AGogAC8BehAgIgEgASABXBu7C0QBAX8jAEEQayICJAAgAkEIaiABKAIAIgFB/ABqIAEvAXgQHyACLQAMIQEgACACKgIIuzkDCCAAIAE2AgAgAkEQaiQAC0QBAX8jAEEQayICJAAgAkEIaiABKAIAIgFB/ABqIAEvAXYQHyACLQAMIQEgACACKgIIuzkDCCAAIAE2AgAgAkEQaiQAC0QBAX8jAEEQayICJAAgAkEIaiABKAIAIgFB/ABqIAEvAXQQHyACLQAMIQEgACACKgIIuzkDCCAAIAE2AgAgAkEQaiQAC0QBAX8jAEEQayICJAAgAkEIaiABKAIAIgFB/ABqIAEvAXIQHyACLQAMIQEgACACKgIIuzkDCCAAIAE2AgAgAkEQaiQAC0QBAX8jAEEQayICJAAgAkEIaiABKAIAIgFB/ABqIAEvAXAQHyACLQAMIQEgACACKgIIuzkDCCAAIAE2AgAgAkEQaiQAC0QBAX8jAEEQayICJAAgAkEIaiABKAIAIgFB/ABqIAEvAW4QHyACLQAMIQEgACACKgIIuzkDCCAAIAE2AgAgAkEQaiQAC0gCAX8BfQJ9IAAoAgAiAEH8AGoiASAALwEcECAiAiACXARAQwAAgD9DAAAAACAAKAL0Ay0ACEEBcRsMAQsgASAALwEcECALuws2AgF/AX0gACgCACIAQfwAaiIBIAAvARoQICICIAJcBEBEAAAAAAAAAAAPCyABIAAvARoQILsLRAEBfyMAQRBrIgIkACACQQhqIAEoAgAiAUH8AGogAS8BHhAfIAItAAwhASAAIAIqAgi7OQMIIAAgATYCACACQRBqJAALEAAgACgCAC0AF0ECdkEDcQsNACAAKAIALQAXQQNxC04BAX8jAEEQayIDJAAgA0EIaiABKAIAIgFB/ABqIAEgAkH/AXFBAXRqLwEgEB8gAy0ADCEBIAAgAyoCCLs5AwggACABNgIAIANBEGokAAsQACAAKAIALQAUQQR2QQdxCw0AIAAoAgAvABVBDnYLDQAgACgCAC0AFEEDcQsQACAAKAIALQAUQQJ2QQNxCw0AIAAoAgAvABZBD3ELEAAgACgCAC8AFUEEdkEPcQsNACAAKAIALwAVQQ9xC04BAX8jAEEQayIDJAAgA0EIaiABKAIAIgFB/ABqIAEgAkH/AXFBAXRqLwEyEB8gAy0ADCEBIAAgAyoCCLs5AwggACABNgIAIANBEGokAAsQACAAKAIALwAVQQx2QQNxCxAAIAAoAgAtABdBBHZBAXELgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIgBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQiAEgBEEQaiQAC3EBAX8CQCAAKAIAIgAtAAAiAkECcUEBdiABRg0AIAAgAkH9AXFBAkEAIAEbcjoAAANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLC4EBAgN/AX0jAEEQayIDJAAgACgCACEEAn0gArYiBiAGXARAQQAhAEMAAMB/DAELQQBBAiAGQwAAgH9bIAZDAACA/1tyIgUbIQBDAADAfyAGIAUbCyEGIAMgADoADCADIAY4AgggAyADKQMINwMAIAQgAUH/AXEgAxCOASADQRBqJAALeQIBfQJ/IwBBEGsiBCQAIAAoAgAhBSAEAn8gArYiAyADXARAQwAAwH8hA0EADAELQwAAwH8gAyADQwAAgH9bIANDAACA/1tyIgAbIQMgAEULOgAMIAQgAzgCCCAEIAQpAwg3AwAgBSABQf8BcSAEEI4BIARBEGokAAv5AQICfQR/IwBBEGsiBSQAIAAoAgAhAAJ/IAK2IgMgA1wEQEMAAMB/IQNBAAwBC0MAAMB/IAMgA0MAAIB/WyADQwAAgP9bciIGGyEDIAZFCyEGQQEhByAFQQhqIABB/ABqIgggACABQf8BcUEBdGpB1gBqIgEvAQAQHwJAAkAgAyAFKgIIIgRcBH8gBCAEWw0BIAMgA1wFIAcLRQ0AIAUtAAwgBkYNAQsgCCABIAMgBhA5A0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsgBUEQaiQAC7UBAgN/An0CQCAAKAIAIgBB/ABqIgMgAEH6AGoiAi8BABAgIgYgAbYiBVsNACAFIAVbIgRFIAYgBlxxDQACQCAEIAVDAAAAAFsgBYtDAACAf1tyRXFFBEAgAiACLwEAQfj/A3E7AQAMAQsgAyACIAVBAxBMCwNAIAAtAAAiAkEEcQ0BIAAgAkEEcjoAACAAKAIQIgIEQCAAIAIRAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLC3wCA38BfSMAQRBrIgIkACAAKAIAIQMCfSABtiIFIAVcBEBBACEAQwAAwH8MAQtBAEECIAVDAACAf1sgBUMAAID/W3IiBBshAEMAAMB/IAUgBBsLIQUgAiAAOgAMIAIgBTgCCCACIAIpAwg3AwAgA0EBIAIQVSACQRBqJAALdAIBfQJ/IwBBEGsiAyQAIAAoAgAhBCADAn8gAbYiAiACXARAQwAAwH8hAkEADAELQwAAwH8gAiACQwAAgH9bIAJDAACA/1tyIgAbIQIgAEULOgAMIAMgAjgCCCADIAMpAwg3AwAgBEEBIAMQVSADQRBqJAALfAIDfwF9IwBBEGsiAiQAIAAoAgAhAwJ9IAG2IgUgBVwEQEEAIQBDAADAfwwBC0EAQQIgBUMAAIB/WyAFQwAAgP9bciIEGyEAQwAAwH8gBSAEGwshBSACIAA6AAwgAiAFOAIIIAIgAikDCDcDACADQQAgAhBVIAJBEGokAAt0AgF9An8jAEEQayIDJAAgACgCACEEIAMCfyABtiICIAJcBEBDAADAfyECQQAMAQtDAADAfyACIAJDAACAf1sgAkMAAID/W3IiABshAiAARQs6AAwgAyACOAIIIAMgAykDCDcDACAEQQAgAxBVIANBEGokAAt8AgN/AX0jAEEQayICJAAgACgCACEDAn0gAbYiBSAFXARAQQAhAEMAAMB/DAELQQBBAiAFQwAAgH9bIAVDAACA/1tyIgQbIQBDAADAfyAFIAQbCyEFIAIgADoADCACIAU4AgggAiACKQMINwMAIANBASACEFYgAkEQaiQAC3QCAX0CfyMAQRBrIgMkACAAKAIAIQQgAwJ/IAG2IgIgAlwEQEMAAMB/IQJBAAwBC0MAAMB/IAIgAkMAAIB/WyACQwAAgP9bciIAGyECIABFCzoADCADIAI4AgggAyADKQMINwMAIARBASADEFYgA0EQaiQAC3wCA38BfSMAQRBrIgIkACAAKAIAIQMCfSABtiIFIAVcBEBBACEAQwAAwH8MAQtBAEECIAVDAACAf1sgBUMAAID/W3IiBBshAEMAAMB/IAUgBBsLIQUgAiAAOgAMIAIgBTgCCCACIAIpAwg3AwAgA0EAIAIQViACQRBqJAALdAIBfQJ/IwBBEGsiAyQAIAAoAgAhBCADAn8gAbYiAiACXARAQwAAwH8hAkEADAELQwAAwH8gAiACQwAAgH9bIAJDAACA/1tyIgAbIQIgAEULOgAMIAMgAjgCCCADIAMpAwg3AwAgBEEAIAMQViADQRBqJAALPwEBfyMAQRBrIgEkACAAKAIAIQAgAUEDOgAMIAFBgICA/gc2AgggASABKQMINwMAIABBASABEEYgAUEQaiQAC3wCA38BfSMAQRBrIgIkACAAKAIAIQMCfSABtiIFIAVcBEBBACEAQwAAwH8MAQtBAEECIAVDAACAf1sgBUMAAID/W3IiBBshAEMAAMB/IAUgBBsLIQUgAiAAOgAMIAIgBTgCCCACIAIpAwg3AwAgA0EBIAIQRiACQRBqJAALdAIBfQJ/IwBBEGsiAyQAIAAoAgAhBCADAn8gAbYiAiACXARAQwAAwH8hAkEADAELQwAAwH8gAiACQwAAgH9bIAJDAACA/1tyIgAbIQIgAEULOgAMIAMgAjgCCCADIAMpAwg3AwAgBEEBIAMQRiADQRBqJAALPwEBfyMAQRBrIgEkACAAKAIAIQAgAUEDOgAMIAFBgICA/gc2AgggASABKQMINwMAIABBACABEEYgAUEQaiQAC3wCA38BfSMAQRBrIgIkACAAKAIAIQMCfSABtiIFIAVcBEBBACEAQwAAwH8MAQtBAEECIAVDAACAf1sgBUMAAID/W3IiBBshAEMAAMB/IAUgBBsLIQUgAiAAOgAMIAIgBTgCCCACIAIpAwg3AwAgA0EAIAIQRiACQRBqJAALdAIBfQJ/IwBBEGsiAyQAIAAoAgAhBCADAn8gAbYiAiACXARAQwAAwH8hAkEADAELQwAAwH8gAiACQwAAgH9bIAJDAACA/1tyIgAbIQIgAEULOgAMIAMgAjgCCCADIAMpAwg3AwAgBEEAIAMQRiADQRBqJAALoAECA38CfQJAIAAoAgAiAEH8AGoiAyAAQRxqIgIvAQAQICIGIAG2IgVbDQAgBSAFWyIERSAGIAZccQ0AAkAgBEUEQCACIAIvAQBB+P8DcTsBAAwBCyADIAIgBUEDEEwLA0AgAC0AACICQQRxDQEgACACQQRyOgAAIAAoAhAiAgRAIAAgAhEAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsLoAECA38CfQJAIAAoAgAiAEH8AGoiAyAAQRpqIgIvAQAQICIGIAG2IgVbDQAgBSAFWyIERSAGIAZccQ0AAkAgBEUEQCACIAIvAQBB+P8DcTsBAAwBCyADIAIgBUEDEEwLA0AgAC0AACICQQRxDQEgACACQQRyOgAAIAAoAhAiAgRAIAAgAhEAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsLPQEBfyMAQRBrIgEkACAAKAIAIQAgAUEDOgAMIAFBgICA/gc2AgggASABKQMINwMAIAAgARBrIAFBEGokAAt6AgN/AX0jAEEQayICJAAgACgCACEDAn0gAbYiBSAFXARAQQAhAEMAAMB/DAELQQBBAiAFQwAAgH9bIAVDAACA/1tyIgQbIQBDAADAfyAFIAQbCyEFIAIgADoADCACIAU4AgggAiACKQMINwMAIAMgAhBrIAJBEGokAAtyAgF9An8jAEEQayIDJAAgACgCACEEIAMCfyABtiICIAJcBEBDAADAfyECQQAMAQtDAADAfyACIAJDAACAf1sgAkMAAID/W3IiABshAiAARQs6AAwgAyACOAIIIAMgAykDCDcDACAEIAMQayADQRBqJAALoAECA38CfQJAIAAoAgAiAEH8AGoiAyAAQRhqIgIvAQAQICIGIAG2IgVbDQAgBSAFWyIERSAGIAZccQ0AAkAgBEUEQCACIAIvAQBB+P8DcTsBAAwBCyADIAIgBUEDEEwLA0AgAC0AACICQQRxDQEgACACQQRyOgAAIAAoAhAiAgRAIAAgAhEAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsLkAEBAX8CQCAAKAIAIgBBF2otAAAiAkECdkEDcSABQf8BcUYNACAAIAAvABUgAkEQdHIiAjsAFSAAIAJB///PB3EgAUEDcUESdHJBEHY6ABcDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCwuNAQEBfwJAIAAoAgAiAEEXai0AACICQQNxIAFB/wFxRg0AIAAgAC8AFSACQRB0ciICOwAVIAAgAkH///MHcSABQQNxQRB0ckEQdjoAFwNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLC0MBAX8jAEEQayICJAAgACgCACEAIAJBAzoADCACQYCAgP4HNgIIIAIgAikDCDcDACAAIAFB/wFxIAIQZSACQRBqJAALgAECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEGUgA0EQaiQAC3gCAX0CfyMAQRBrIgQkACAAKAIAIQUgBAJ/IAK2IgMgA1wEQEMAAMB/IQNBAAwBC0MAAMB/IAMgA0MAAIB/WyADQwAAgP9bciIAGyEDIABFCzoADCAEIAM4AgggBCAEKQMINwMAIAUgAUH/AXEgBBBlIARBEGokAAt3AQF/AkAgACgCACIALQAUIgJBBHZBB3EgAUH/AXFGDQAgACACQY8BcSABQQR0QfAAcXI6ABQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCwuJAQEBfwJAIAFB/wFxIAAoAgAiAC8AFSICQQ52Rg0AIABBF2ogAiAALQAXQRB0ciICQRB2OgAAIAAgAkH//wBxIAFBDnRyOwAVA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsLcAEBfwJAIAAoAgAiAC0AFCICQQNxIAFB/wFxRg0AIAAgAkH8AXEgAUEDcXI6ABQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCwt2AQF/AkAgACgCACIALQAUIgJBAnZBA3EgAUH/AXFGDQAgACACQfMBcSABQQJ0QQxxcjoAFANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLC48BAQF/AkAgACgCACIALwAVIgJBCHZBD3EgAUH/AXFGDQAgAEEXaiACIAAtABdBEHRyIgJBEHY6AAAgACACQf/hA3EgAUEPcUEIdHI7ABUDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCwuPAQEBfwJAIAFB/wFxIAAoAgAiAC8AFSAAQRdqLQAAQRB0ciICQfABcUEEdkYNACAAIAJBEHY6ABcgACACQY/+A3EgAUEEdEHwAXFyOwAVA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsLhwEBAX8CQCAAKAIAIgAvABUgAEEXai0AAEEQdHIiAkEPcSABQf8BcUYNACAAIAJBEHY6ABcgACACQfD/A3EgAUEPcXI7ABUDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCwtDAQF/IwBBEGsiAiQAIAAoAgAhACACQQM6AAwgAkGAgID+BzYCCCACIAIpAwg3AwAgACABQf8BcSACEGcgAkEQaiQAC4ABAgN/AX0jAEEQayIDJAAgACgCACEEAn0gArYiBiAGXARAQQAhAEMAAMB/DAELQQBBAiAGQwAAgH9bIAZDAACA/1tyIgUbIQBDAADAfyAGIAUbCyEGIAMgADoADCADIAY4AgggAyADKQMINwMAIAQgAUH/AXEgAxBnIANBEGokAAt4AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQZyAEQRBqJAALjwEBAX8CQCAAKAIAIgAvABUiAkEMdkEDcSABQf8BcUYNACAAQRdqIAIgAC0AF0EQdHIiAkEQdjoAACAAIAJB/58DcSABQQNxQQx0cjsAFQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLC5ABAQF/AkAgACgCACIAQRdqLQAAIgJBBHZBAXEgAUH/AXFGDQAgACAALwAVIAJBEHRyIgI7ABUgACACQf//vwdxIAFBAXFBFHRyQRB2OgAXA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsL9g0CCH8CfSMAQRBrIgIkAAJAAkAgASgCACIFLQAUIAAoAgAiAS0AFHNB/wBxDQAgBS8AFSAFLQAXQRB0ciABLwAVIAEtABdBEHRyc0H//z9xDQAgBUH8AGohByABQfwAaiEIAkAgAS8AGCIAQQdxRQRAIAUtABhBB3FFDQELIAggABAgIgogByAFLwAYECAiC1sNACAKIApbIAsgC1tyDQELAkAgAS8AGiIAQQdxRQRAIAUtABpBB3FFDQELIAggABAgIgogByAFLwAaECAiC1sNACAKIApbIAsgC1tyDQELAkAgAS8AHCIAQQdxRQRAIAUtABxBB3FFDQELIAggABAgIgogByAFLwAcECAiC1sNACAKIApbIAsgC1tyDQELAkAgAS8AHiIAQQdxRQRAIAUtAB5BB3FFDQELIAJBCGogCCAAEB8gAiAHIAUvAB4QH0EBIQAgAioCCCIKIAIqAgAiC1wEfyAKIApbDQIgCyALXAUgAAtFDQEgAi0ADCACLQAERw0BCyAFQSBqIQAgAUEgaiEGA0ACQCAGIANBAXRqLwAAIgRBB3FFBEAgAC0AAEEHcUUNAQsgAkEIaiAIIAQQHyACIAcgAC8AABAfQQEhBCACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSAEC0UNAiACLQAMIAItAARHDQILIABBAmohACADQQFqIgNBCUcNAAsgBUEyaiEAIAFBMmohBkEAIQMDQAJAIAYgA0EBdGovAAAiBEEHcUUEQCAALQAAQQdxRQ0BCyACQQhqIAggBBAfIAIgByAALwAAEB9BASEEIAIqAggiCiACKgIAIgtcBH8gCiAKWw0DIAsgC1wFIAQLRQ0CIAItAAwgAi0ABEcNAgsgAEECaiEAIANBAWoiA0EJRw0ACyAFQcQAaiEAIAFBxABqIQZBACEDA0ACQCAGIANBAXRqLwAAIgRBB3FFBEAgAC0AAEEHcUUNAQsgAkEIaiAIIAQQHyACIAcgAC8AABAfQQEhBCACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSAEC0UNAiACLQAMIAItAARHDQILIABBAmohACADQQFqIgNBCUcNAAsgBUHWAGohACABQdYAaiEGQQAhAwNAAkAgBiADQQF0ai8AACIEQQdxRQRAIAAtAABBB3FFDQELIAJBCGogCCAEEB8gAiAHIAAvAAAQH0EBIQQgAioCCCIKIAIqAgAiC1wEfyAKIApbDQMgCyALXAUgBAtFDQIgAi0ADCACLQAERw0CCyAAQQJqIQAgA0EBaiIDQQlHDQALIAVB6ABqIQAgAUHoAGohBkEAIQMDQAJAIAYgA0EBdGovAAAiBEEHcUUEQCAALQAAQQdxRQ0BCyACQQhqIAggBBAfIAIgByAALwAAEB9BASEEIAIqAggiCiACKgIAIgtcBH8gCiAKWw0DIAsgC1wFIAQLRQ0CIAItAAwgAi0ABEcNAgsgAEECaiEAIANBAWoiA0EDRw0ACyAFQe4AaiEAIAFB7gBqIQlBACEEQQAhAwNAAkAgCSADQQF0ai8AACIGQQdxRQRAIAAtAABBB3FFDQELIAJBCGogCCAGEB8gAiAHIAAvAAAQH0EBIQMgAioCCCIKIAIqAgAiC1wEfyAKIApbDQMgCyALXAUgAwtFDQIgAi0ADCACLQAERw0CCyAAQQJqIQBBASEDIAQhBkEBIQQgBkUNAAsgBUHyAGohACABQfIAaiEJQQAhBEEAIQMDQAJAIAkgA0EBdGovAAAiBkEHcUUEQCAALQAAQQdxRQ0BCyACQQhqIAggBhAfIAIgByAALwAAEB9BASEDIAIqAggiCiACKgIAIgtcBH8gCiAKWw0DIAsgC1wFIAMLRQ0CIAItAAwgAi0ABEcNAgsgAEECaiEAQQEhAyAEIQZBASEEIAZFDQALIAVB9gBqIQAgAUH2AGohCUEAIQRBACEDA0ACQCAJIANBAXRqLwAAIgZBB3FFBEAgAC0AAEEHcUUNAQsgAkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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";if(!u(S)){var y=S;S=B.locateFile?B.locateFile(y,Z):Z+y}function l(){var E1=S;try{if(E1==S&&G)return new Uint8Array(G);if(u(E1))try{var x1=B6(E1.slice(37)),R0=new Uint8Array(x1.length);for(E1=0;E1<x1.length;++E1)R0[E1]=x1.charCodeAt(E1);var _0=R0}catch(XA){throw Error("Converting base64 string to bytes failed.")}else _0=void 0;var u0=_0;if(u0)return u0;throw"both async and sync fetching of the wasm failed"}catch(XA){x(XA)}}function a(){return G||typeof fetch!="function"?Promise.resolve().then(function(){return l()}):fetch(S,{credentials:"same-origin"}).then(function(E1){if(!E1.ok)throw"failed to load wasm binary file at '"+S+"'";return E1.arrayBuffer()}).catch(function(){return l()})}function z1(E1){for(;0<E1.length;)E1.shift()(B)}function t(E1){if(E1===void 0)return"_unknown";E1=E1.replace(/[^a-zA-Z0-9_]/g,"$");var x1=E1.charCodeAt(0);return 48<=x1&&57>=x1?"_"+E1:E1}function Q1(E1,x1){return E1=t(E1),function(){return x1.apply(this,arguments)}}var A1=[{},{value:void 0},{value:null},{value:!0},{value:!1}],X1=[];function Z1(E1){var x1=Error,R0=Q1(E1,function(_0){this.name=E1,this.message=_0,_0=Error(_0).stack,_0!==void 0&&(this.stack=this.toString()+`
|
4535
|
+
`);this.events.next({type:"subagent-finished",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task completed",result:F})}if(!z.isCompleted){let F=lk(X,z.printedMessageIndexes,z.printedToolRuns);if(F.blocks.length>0)this.events.next({type:"subthread-message",subThreadID:A,agentNumber:z.agentNumber,blocks:F.blocks})}}),k1.debug(`Started tracking subthread ${A}`)}catch(J){k1.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=o4(A,B.toolUseID);if(J?.name===h5&&(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=cM(D);if(z)this.trackSubthread(z,J.input?.description,J.input?.prompt).catch((Z)=>{k1.error(`Failed to track Task tool subthread ${z}`,Z)})}}}}async handleToolConfirmations(A,Q){let B=this.subthreads.get(A);if(!B){k1.error(`No tracker found for subthread ${A}`);return}k1.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)k1.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()}}w2();yH();Mb();var T4A="Out of credits";qJ();QN();pX();i6();Vc();Yh();import{readdir as Vo6}from"node:fs/promises";import{homedir as Oo6}from"node:os";async function j4A(A,Q){let J=!(await L91(A,Q)).some((z)=>z.type==="project"),D=await Ro6();return{shouldGenerate:J&&D}}async function Ro6(){let A=process.cwd(),Q=Oo6();if(A===Q)return!1;try{return(await Vo6(A)).length>0}catch{return!1}}async function P4A(A){await A.handle({type:"user:message",message:{content:[{type:"text",text:Zm0}]}})}w2();function ZT(A,Q){return(B,J)=>{let D=Q(B,J);if(J.type!=="tick")k1.debug("Transition",{name:A,before:B,event:J,after:D});return D}}Vf1();async function f4A({threadSyncService:A,configService:Q,threadService:B,threadHistoryService:J,mcpService:D,fileWatcher:z,fuzzyServer:Z,summaryService:X,settingsStorage:K,threadStorage:G,toolService:Y,systemPromptService:q,subthreadTracker:F,notificationService:E},{threadID:H,isContinued:w,ui:W}){let M=new Set,I=xM(B.observe(H).pipe(e7((S)=>S!==void 0))),N=new Set,V=new Map;await d6(I.observable);let T=await TO,j=await vB.getOrCreateForThread({configService:Q,threadService:B,toolService:Y,getThreadEnvironment:nC,systemPromptService:q,threadSummaryService:X,createFileSystem:T,threadHistoryService:J,mcpService:D},H);await j.resume().catch((S)=>{k1.error("Initial resume",S)});let R=j.status.pipe(l6((S)=>{return{type:"worker-state",status:S}})),P=I.observable.pipe(l6((S)=>{return{type:"thread-state",thread:S}})),_=new K8,v=new K8,k=W(wA.from(v)).pipe(l6((S)=>({type:"ui-input",input:S}))),m=F.events$.pipe(l6((S)=>S)),d=gj.pipe(l6((S)=>({type:"jetbrains-status",jetbrainsState:S}))),$=uK(R,P,uK(_,k,m,d)),b=new K8;async function x(){if(v.next({type:"state",state:{type:"shutting-down"}}),await A?.sync().catch((S)=>{k1.error("Thread sync error",S,{threadID:H})}),F.dispose(),j.dispose(),A)A.dispose();B.dispose(),await D.dispose(),z[Symbol.dispose](),Z.dispose(),E.unsubscribe(),v.complete(),b.next()}let u=$.pipe(qZ(()=>{x()})).pipe(Ij(ZT("threadSession",function(S,y){function l(Q1){k1.info(`Processing user message: ${Q1.slice(0,50)}${Q1.length>50?"...":""}`);let A1="tokenUsage"in S?S.tokenUsage:void 0;if(A1&&A1.used/A1.maxAvailable>r51.CRITICAL)return k1.info("Blocking message at worker boundary - critical token usage"),v.next({type:"confirm",confirmation:{type:"compaction",severity:"critical"}}),{type:"confirming-compaction",severity:"critical",tokenUsage:S.tokenUsage,compactionPromptState:"final",updateState:"updateState"in S?S.updateState:"none",toolConfirmationStatus:"toolConfirmationStatus"in S?S.toolConfirmationStatus:new Map,currentAssistantMessageIndex:("currentAssistantMessageIndex"in S?S.currentAssistantMessageIndex:null)??null,hasBeenIdle:"hasBeenIdle"in S?S.hasBeenIdle:!1,threadTitle:"threadTitle"in S?S.threadTitle:null,confirmationQueue:"confirmationQueue"in S?S.confirmationQueue:[]};j.handle({type:"user:message",message:{content:[{type:"text",text:Q1}]}}).then(()=>{if(A)A.sync().catch((Z1)=>{k1.error("Thread sync after submit error",Z1,{threadID:H})})}).catch((Z1)=>{k1.error("Handle user message failed",Z1)}),v.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}});let X1=I.value.last;if(X1){let Z1=KU(X1);if(Z1)v.next({type:"state",state:Z1})}return{...S,type:"awaiting-agent",displayedError:null}}async function a(){v.next({type:"state",state:{type:"compacting"}});let Q1=await X.summarizeThread(H);await j.handle({type:"summary:created",summary:{type:"internal",summary:Q1.summary}})}function z1(){if(S.type==="awaiting-user-message")return k1.debug("already accepting, ignoring event",{state:S,event:y}),S;let Q1="tokenUsage"in S?S.tokenUsage:void 0;if(A?.sync()?.catch((A1)=>{k1.error("Thread sync error",A1,{threadID:H})}),Q1&&S.type!=="confirming-compaction"&&S.type!=="compacting"){let A1=Q1.used/Q1.maxAvailable,X1=void 0,Z1=S.compactionPromptState;if(A1>r51.CRITICAL)X1="critical",Z1="final";else if(A1>r51.WARNING&&S.compactionPromptState==="none")X1="moderate",Z1="first";else if(A1>r51.SEVERE&&S.compactionPromptState==="first")X1="severe",Z1="final";if(X1)return v.next({type:"confirm",confirmation:{type:"compaction",severity:X1}}),{type:"confirming-compaction",severity:X1,tokenUsage:S.tokenUsage,compactionPromptState:Z1,updateState:S.updateState,toolConfirmationStatus:S.toolConfirmationStatus,currentAssistantMessageIndex:S.currentAssistantMessageIndex,hasBeenIdle:S.hasBeenIdle,threadTitle:S.threadTitle,confirmationQueue:S.confirmationQueue}}if(v.next({type:"accept-message",initial:!S.hasBeenIdle&&!w}),S.type==="awaiting-agent")S.cancelledWithMessage=void 0;if(Q1)v.next({type:"token-usage",tokenUsage:Q1});return{...S,type:"awaiting-user-message",hasBeenIdle:!0,tokenUsage:Q1??null}}async function t(Q1){if(Q1.length>0){k1.info(`Updating allowlist with ${Q1.length} entries`,{entries:Q1});try{if(await K.get("experimental.commandApproval.enabled","global")===!0){let Z1=[...await K.get("experimental.commandApproval.allow","global")??[],...Q1];await K.set("experimental.commandApproval.allow",Z1,"global"),k1.info("Updated experimental command approval allow list",{newEntries:Q1,totalEntries:Z1.length})}else{let Z1=[...await K.get("commands.allowlist","global")??[],...Q1];await K.set("commands.allowlist",Z1,"global"),k1.info("Updated regular commands allowlist",{newEntries:Q1,totalEntries:Z1.length})}}catch(A1){k1.error("Failed to update allowlist",A1)}}}if(S.type==="closing")return S;if(y.type==="thread-state"){let Q1=y.thread.title||null;if(S.threadTitle!==Q1&&Q1!==null)v.next({type:"thread-title",title:Q1});if(F.scanForTaskToolSubthreads(y.thread),w&&M.size===0&&y.thread.messages.length>0){let X1=lk(y.thread,M,N);if(X1.blocks.length>0)v.next({type:"messages",blocks:X1.blocks})}let A1=S.tokenUsage;if(y.thread){let X1=Cj(y.thread);if(X1)A1={used:X1.totalInputTokens,maxAvailable:X1.maxInputTokens},v.next({type:"token-usage",tokenUsage:A1})}if(S.type==="awaiting-user-confirmation")if(y.thread.messages.at(-1)?.content.some((X1)=>X1.type==="tool_result"&&(X1.run.status==="in-progress"||X1.run.status==="done"))){let X1=KU(y.thread);if(X1)v.next({type:"state",state:X1});else v.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}});return{...S,type:"awaiting-agent",displayedError:null,tokenUsage:A1}}else{let X1=PQ(y.thread,"user")?.content.filter((Z1)=>Z1.type==="tool_result"&&Z1.run.status==="blocked-on-user")??[];if(X1.length>0){k1.info(`Found ${X1.length} blocked tools in awaiting-user-confirmation`,{toolIDs:X1.map((r)=>r.toolUseID)});let Z1=PQ(y.thread,"assistant"),N1=new Set(Z1?.content.filter((r)=>r.type==="tool_use").map((r)=>r.id)??[]);for(let r of X1){if(!N1.has(r.toolUseID))continue;let s=o4(y.thread,r.toolUseID);if(s&&s.name===b4)return S.toolConfirmationStatus.set(r.toolUseID,"awaiting"),k1.info("Added blocked tool to confirmation tracking",{toolUseID:r.toolUseID}),v.next({type:"tool-status",toolUse:s,status:"blocked-on-user",startTime:Date.now()}),v.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:s,toAllow:r.run.status==="blocked-on-user"?r.run.toAllow:void 0}]}}),{...S,type:"collecting-tool-confirmations",currentToolID:r.toolUseID,tokenUsage:A1}}}return{...S,type:"awaiting-user-confirmation",tokenUsage:A1}}if(S.type==="awaiting-agent"||S.type==="compacting"){let X1=y.thread.messages.at(-1),Z1=lk(y.thread,M,N),N1=Z1.blocks;if(X1?.role==="assistant"&&X1.state.type==="streaming"&&Z1.blocks.length===0){N1=[{type:"message",data:[y.thread.messages.length-1,X1]}];let _1=KU(y.thread);if(_1)v.next({type:"state",state:_1})}if(N1.length>0){for(let q1 of N1)if(q1.type==="toolResult"){let[_1,O1]=q1.data,j1=O1.run.status==="done"?"completed":O1.run.status==="error"?"error":O1.run.status==="cancelled"?"cancelled":"running";if(j1!=="running")v.next({type:"tool-status",toolUse:_1,status:j1,startTime:V.get(_1.id),endTime:Date.now()}),V.delete(_1.id)}v.next({type:"messages",blocks:N1})}if(y.thread.messages.at(-1)?.content.some((q1)=>q1.type==="summary"))return{...z1(),tokenUsage:null,compactionPromptState:"none"};if(X1?.role==="assistant"&&X1?.state.type==="complete"&&X1?.state.stopReason==="end_turn"){v.next({type:"state",state:{type:"idle"}});let q1=z1();return{...q1,tokenUsage:A1??q1.tokenUsage}}if(!I)throw new Error("unexpected: thread is required when waiting for tool input");let r=PQ(y.thread,"assistant"),s=r?y.thread.messages.indexOf(r):null;if(s!==null&&s!==S.currentAssistantMessageIndex)k1.info("New assistant message detected, clearing tool confirmations",{oldIndex:S.currentAssistantMessageIndex,newIndex:s,previousToolCount:S.toolConfirmationStatus.size}),S.toolConfirmationStatus.clear(),S.currentAssistantMessageIndex=s;let e=PQ(y.thread,"user")?.content.filter((q1)=>q1.type==="tool_result"&&q1.run.status==="blocked-on-user")??[];if(e.length>0)k1.info(`Found ${e.length} blocked tools`,{toolIDs:e.map((q1)=>q1.toolUseID),currentState:S.type});let G1=new Set(r?.content.filter((q1)=>q1.type==="tool_use").map((q1)=>q1.id)??[]),Y1=!1;for(let q1 of e){if(!G1.has(q1.toolUseID))continue;let _1=o4(y.thread,q1.toolUseID),O1=S.toolConfirmationStatus.get(q1.toolUseID);if(_1&&_1.name===b4&&q1.run.status==="blocked-on-user"&&O1===void 0){if(S.toolConfirmationStatus.set(q1.toolUseID,"awaiting"),Y1=!0,k1.info("Added new tool to confirmation tracking",{toolUseID:q1.toolUseID,toolName:_1.name}),!V.has(_1.id))V.set(_1.id,Date.now());v.next({type:"tool-status",toolUse:_1,status:"blocked-on-user",startTime:V.get(_1.id)})}}let F1=Array.from(S.toolConfirmationStatus.entries()).filter(([q1,_1])=>_1==="awaiting");if(F1.length>0){let[q1]=F1[0],_1=e.find((j1)=>j1.toolUseID===q1),O1=_1?o4(y.thread,_1.toolUseID):null;if(_1&&O1)return k1.info(`Starting tool confirmation process for ${F1.length} tools (hasNewTools: ${Y1})`,{firstToolID:q1,toolName:O1.name,currentState:S.type}),v.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:O1,toAllow:_1.run.status==="blocked-on-user"?_1.run.toAllow:void 0}]}}),{...S,type:"collecting-tool-confirmations",currentToolID:q1,tokenUsage:A1}}}}else if(y.type==="worker-state"){if(S.type==="awaiting-user-confirmation"&&y.status.state==="active"&&y.status.ephemeralError)return S;if(S.type==="collecting-tool-confirmations")return k1.info("Already collecting tool confirmations, ignoring worker-state event"),S;let Q1=I.value.last?.messages.at(-1),A1=S.tokenUsage;if(y.status.state==="active"){let X1=I.value.last;if(X1){let Z1=Cj(X1);if(Z1)A1={used:Z1.totalInputTokens,maxAvailable:Z1.maxInputTokens},v.next({type:"token-usage",tokenUsage:A1})}}if(S.type==="confirming-compaction"||S.type==="compacting")return{...S,tokenUsage:A1};switch(y.status.state){case"initial":if(S.type==="initializing")return S;return z1();case"active":if(y.status.ephemeralError)if(y.status.ephemeralError.message.includes(T4A)){if(S.type==="out-of-credits")return S;return v.next({type:"confirm",confirmation:{type:"out-of-credits"}}),{...S,type:"out-of-credits",tokenUsage:A1}}else if(i51(y.status.ephemeralError))return k1.info("Context limit error, triggering compaction",{error:y.status.ephemeralError,tokenUsage:A1}),v.next({type:"confirm",confirmation:{type:"compaction",severity:"critical"}}),{type:"confirming-compaction",severity:"critical",tokenUsage:S.tokenUsage,compactionPromptState:S.compactionPromptState,updateState:S.updateState,toolConfirmationStatus:S.toolConfirmationStatus,currentAssistantMessageIndex:S.currentAssistantMessageIndex,hasBeenIdle:S.hasBeenIdle,threadTitle:S.threadTitle,confirmationQueue:S.confirmationQueue};else if(y.status.ephemeralError.message.includes("401 unauthorized"))return v.next({type:"error",error:{type:"unauthorized"},retryable:!1}),u.unsubscribe(),{...S,type:"closing"};else{let X1=y.status.ephemeralError.message;if(k1.error("Ephemeral error",{error:X1}),S.type==="awaiting-agent"&&S.displayedError!==X1)return v.next({type:"error",error:{type:"other",error:X1},retryable:!1}),{...S,type:"awaiting-user-confirmation",tokenUsage:A1};else return S}switch(y.status.inferenceState){case"running":{let X1=I.value.last;if(X1){let Z1=KU(X1);if(Z1)v.next({type:"state",state:Z1});else v.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}})}else v.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}})}if(S.type==="initializing")return{...S,tokenUsage:A1};return{...S,type:"awaiting-agent",displayedError:null,tokenUsage:A1};case"cancelled":if(S.type==="initializing")return{...S,tokenUsage:A1};if(v.next({type:"cancelled"}),v.next({type:"state",state:{type:"idle"}}),S.type==="awaiting-agent"&&S.cancelledWithMessage)return S.cancelledWithMessage=void 0,{...S,tokenUsage:A1};else return{...z1(),tokenUsage:A1};case"idle":if(S.type==="initializing")return{...S,tokenUsage:A1};if(Q1?.content.some((X1)=>X1.type==="tool_result"&&X1.run.status==="blocked-on-user"))return{...S,type:"awaiting-user-confirmation",tokenUsage:A1};else if(I.value.last?.messages.some((X1)=>X1.role==="user"&&X1.content.some((Z1)=>Z1.type==="tool_result"&&Z1.run.status==="in-progress"))??!1){let X1=I.value.last?.messages.flatMap((N1)=>N1.content).filter((N1)=>N1.type==="tool_result"&&("run"in N1)&&("status"in N1.run)&&N1.run.status==="in-progress"),Z1=X1?.length??0;if(Z1>0){for(let e of X1||[]){let G1=o4(I.value.last,e.toolUseID);if(G1){if(!V.has(e.toolUseID))V.set(e.toolUseID,Date.now());v.next({type:"tool-status",toolUse:G1,status:"running",startTime:V.get(e.toolUseID)})}}let N1=Z1===1&&X1?.[0]&&I.value.last?o4(I.value.last,X1[0].toolUseID):void 0,r=Z1>1&&X1&&I.value.last?X1.slice(1,Math.min(4,X1.length)).map((e)=>{return o4(I.value.last,e.toolUseID)?.name||"tool"}).filter(Boolean):void 0,s=N1?a51(N1.name,Z1,Date.now(),N1.input,r):{type:"running-tools",toolCount:Z1,startTime:Date.now(),queuedTools:r};v.next({type:"state",state:s})}else{let N1=I.value.last;if(N1){let r=KU(N1);if(r)v.next({type:"state",state:r});else v.next({type:"state",state:{type:"idle"}})}else v.next({type:"state",state:{type:"idle"}})}return{...S,type:"awaiting-agent",displayedError:null,tokenUsage:A1}}else if(Q1?.role==="assistant"&&Q1?.state.type==="complete"&&Q1?.state.stopReason==="end_turn")return v.next({type:"state",state:{type:"idle"}}),{...z1(),tokenUsage:A1}}}}else if(y.type==="batch-tool-confirmations-complete")if(S.type==="collecting-tool-confirmations"&&S.subthreadContext)return k1.info("Sending batch tool confirmations to subthread",{subThreadID:S.subthreadContext.subThreadID,toolCount:y.responses.size,responses:Array.from(y.responses.entries()).map(([Q1,A1])=>({id:Q1,accepted:A1}))}),F.handleToolConfirmations(S.subthreadContext.subThreadID,y.responses).catch((Q1)=>{k1.error("Failed to send subthread tool confirmations",Q1)}),k1.info("Transitioning to awaiting-agent after sending subthread confirmations"),v.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null};else return k1.info("Sending batch tool confirmations to worker",{toolCount:y.responses.size,responses:Array.from(y.responses.entries()).map(([Q1,A1])=>({id:Q1,accepted:A1}))}),y.responses.forEach((Q1,A1)=>{k1.info("Sending individual tool confirmation to worker",{toolUseID:A1,accepted:Q1}),j.handle({type:"user:tool-input",toolUse:A1,value:{accepted:Q1}}),S.toolConfirmationStatus.set(A1,"sent")}),k1.info("Transitioning to awaiting-agent after sending batch confirmations"),v.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null};else if(y.type==="summary:created"){let Q1=I.value.last;if(Q1){let A1=Cj(Q1);if(A1){let X1={used:A1.totalInputTokens,maxAvailable:A1.maxInputTokens},Z1=S.type==="compacting"?S.preCompactionTokenUsage:null;if(Z1){let N1=Z1.used,r=X1.used,s=N1-r,e=N1>0?s/N1*100:0;if(s<=0)k1.warn("Compaction did not reduce token usage",{preUsed:N1,postUsed:r,reduction:s,threadID:H});else if(e<10)k1.warn("Compaction reduction was minimal",{preUsed:N1,postUsed:r,reduction:s,reductionPercent:e.toFixed(1),threadID:H});else k1.info("Compaction successful",{preUsed:N1,postUsed:r,reduction:s,reductionPercent:e.toFixed(1),threadID:H})}else k1.warn("No pre-compaction token usage available for validation",{threadID:H});v.next({type:"token-usage",tokenUsage:X1})}}return z1()}else if(y.type==="compaction-result")if(y.result)return z1();else return v.next({type:"error",error:{type:"other",error:"Compaction failed"},retryable:!1}),v.next({type:"confirm",confirmation:{type:"compaction",severity:y.severity}}),{...S,type:"confirming-compaction",severity:y.severity};else if(y.type==="update-start-updating")return{...S,updateState:"updating"};else if(y.type==="update-result")if(y.success)return setTimeout(()=>{_.next({type:"clear-update-status"})},1e4),{...S,updateState:"success"};else return setTimeout(()=>{_.next({type:"clear-update-status"})},1e4),{...S,updateState:"error"};else if(y.type==="clear-update-status")return{...S,updateState:"none"};else if(y.type==="agent-file-check-complete"){if(S.type==="checking-agent-file")if(y.shouldGenerate)return v.next({type:"confirm",confirmation:{type:"agent-file-creation"}}),{...S,type:"confirming-agent-file-creation"};else return z1()}else if(y.type==="tool-status")return v.next({type:"tool-status",toolUse:y.toolUse,status:y.status,startTime:y.startTime,endTime:y.endTime,subthreadID:y.subthreadID}),S;else if(y.type==="subagent-started"){if(S.type==="initializing")return S;return v.next({type:"subagent-started",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}),S}else if(y.type==="subagent-status")return v.next({type:"subagent-status",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,agentState:y.agentState}),S;else if(y.type==="subthread-message"){if(y.blocks.length>0)v.next({type:"subthread-messages",subThreadID:y.subThreadID,blocks:y.blocks});return S}else if(y.type==="historic-thread"){if(S.type!=="initializing")throw new Error(`Historic thread event received in unexpected state: ${S.type}`);if(w&&M.size===0&&y.messages.length>0){let A1=lk({id:H,messages:y.messages},M,N);if(A1.blocks.length>0)v.next({type:"messages",blocks:A1.blocks})}let Q1={...S,hasThread:!0};if(Q1.hasUI&&Q1.hasThread)return z1();return Q1}else if(y.type==="subagent-finished")return v.next({type:"subagent-finished",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,result:y.result}),S;else if(y.type==="subagent-cancelled")return v.next({type:"subagent-cancelled",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}),S;else if(y.type==="subagent-error")return v.next({type:"subagent-error",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,error:y.error}),S;else if(y.type==="subthread-tool-request"){if(y.tools.length>0){if(k1.info(`Received tool confirmation request from subthread ${y.subThreadID}`,{subThreadID:y.subThreadID,agentNumber:y.agentNumber,toolCount:y.tools.length,tools:y.tools.map((Q1)=>Q1.useBlock.name),queueLength:S.confirmationQueue.length}),S.type==="collecting-tool-confirmations"||S.confirmationQueue.length>0)return k1.info("Queueing tool confirmation request",{subThreadID:y.subThreadID,agentNumber:y.agentNumber,currentQueueLength:S.confirmationQueue.length}),{...S,confirmationQueue:[...S.confirmationQueue,{type:"subthread-tool-request",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,tools:y.tools}]};return v.next({type:"confirm",confirmation:{type:"tool-use",tools:y.tools,subthreadID:y.subThreadID,agentNumber:y.agentNumber}}),{...S,type:"collecting-tool-confirmations",currentToolID:y.tools[0]?.useBlock.id||null,subthreadContext:{subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}}}return S}else if(y.type==="jetbrains-status")return v.next({type:"jetbrains-status",jetbrainsState:y.jetbrainsState}),S;else if(y.type==="ui-input"){if(y.input.type==="initialized")if(S.type==="initializing"){let Q1={...S,hasUI:!0};if(Q1.hasUI&&Q1.hasThread)if(I.value.last?.messages.length===0)return k1.info("Checking agent file status"),j4A({filesystem:T(H),configService:Q,threadService:B},I.value.last).then((X1)=>{_.next({type:"agent-file-check-complete",shouldGenerate:X1.shouldGenerate})}).catch((X1)=>{k1.error("Agent file check failed",X1),_.next({type:"agent-file-check-complete",shouldGenerate:!1})}),{...S,type:"checking-agent-file"};else return z1();return Q1}else throw new Error(`UI initialized event received in unexpected state: ${S.type}`);else if(y.input.type=="message"){let{message:Q1}=y.input;return l(Q1)}else if(y.input.type==="interrupt")if(S.type==="awaiting-agent"){if(v.next({type:"cancelled"}),vB.cancel(H),y.input.message)S.cancelledWithMessage=y.input.message;return S}else return S;else if(y.input.type==="exit")return u.unsubscribe(),{...S,type:"closing"};else if(y.input.type==="retry")return vB.retry(H),{...S,type:"awaiting-agent",displayedError:null};else if(y.input.type==="confirmation"){if(S.type==="out-of-credits"&&y.input.confirmation.type==="out-of-credits")vB.retry(H);else if(S.type==="confirming-compaction"&&y.input.confirmation.type==="compaction")if(y.input.allow){let Q1="tokenUsage"in S?S.tokenUsage:void 0;return v.next({type:"state",state:{type:"compacting"}}),a().then(()=>{k1.info("Compaction completed successfully",{preCompactionTokenUsage:Q1}),_.next({type:"compaction-result",result:!0,severity:S.severity})}).catch((A1)=>{k1.error("Compaction failed",A1),_.next({type:"compaction-result",result:!1,severity:S.severity})}),{...S,type:"compacting",preCompactionTokenUsage:Q1}}else return k1.info("Compaction cancelled"),z1();else if(S.type==="collecting-tool-confirmations"&&y.input.confirmation.type==="tool-use"){if(!S.currentToolID)return k1.error("No current tool ID in collecting-tool-confirmations state"),S;if(k1.info(`Received confirmation for tool: ${y.input.allow?"accepted":"rejected"}`,{toolUseID:S.currentToolID,subthreadID:y.input.confirmation.subthreadID}),y.input.confirmation.subthreadID&&S.subthreadContext){k1.info("Sending tool confirmation to subthread",{subThreadID:S.subthreadContext.subThreadID,toolUseID:S.currentToolID,accepted:y.input.allow});let Z1=new Map([[S.currentToolID,y.input.allow]]);if(F.handleToolConfirmations(S.subthreadContext.subThreadID,Z1).catch((N1)=>{k1.error("Failed to send subthread tool confirmation",N1)}),S.confirmationQueue.length>0){let N1=S.confirmationQueue[0],r=S.confirmationQueue.slice(1);return k1.info("Processing next queued confirmation request",{subThreadID:N1.subThreadID,agentNumber:N1.agentNumber,remainingQueueLength:r.length}),v.next({type:"confirm",confirmation:{type:"tool-use",tools:N1.tools,subthreadID:N1.subThreadID,agentNumber:N1.agentNumber}}),{...S,type:"collecting-tool-confirmations",currentToolID:N1.tools[0]?.useBlock.id||null,subthreadContext:{subThreadID:N1.subThreadID,agentNumber:N1.agentNumber,taskDescription:N1.taskDescription},confirmationQueue:r}}return k1.info("Transitioning to awaiting-agent after sending subthread confirmation"),v.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null}}S.toolConfirmationStatus.set(S.currentToolID,y.input.allow?"confirmed":"rejected"),t(y.input.confirmation.addToAllowList);let Q1=Array.from(S.toolConfirmationStatus.entries()).filter(([Z1,N1])=>N1==="awaiting");if(Q1.length>0){let[Z1]=Q1[0];if(!I.value.isSet)return k1.error("Thread not available for finding next tool"),S;let s=(I.value.last.messages.at(-1)?.content.filter((G1)=>G1.type==="tool_result"&&G1.run.status==="blocked-on-user")??[]).find((G1)=>G1.toolUseID===Z1),e=s?o4(I.value.last,s.toolUseID):null;if(s&&e)return k1.info(`Asking confirmation for next tool: ${e.name}`,{toolUseID:Z1,remainingCount:Q1.length}),v.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:e,toAllow:s.run.status==="blocked-on-user"?s.run.toAllow:void 0}]}}),{...S,currentToolID:Z1}}let A1=Array.from(S.toolConfirmationStatus.entries()).filter(([Z1,N1])=>N1==="confirmed"||N1==="rejected");k1.info("All tool confirmations collected, sending batch response",{totalTools:A1.length,responses:A1.map(([Z1,N1])=>({id:Z1,accepted:N1==="confirmed"}))});let X1=new Map(A1.map(([Z1,N1])=>[Z1,N1==="confirmed"]));return _.next({type:"batch-tool-confirmations-complete",responses:X1}),v.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null}}else if(y.input.confirmation.type==="agent-file-creation"&&S.type==="confirming-agent-file-creation")if(y.input.allow)return P4A(j).catch((Q1)=>{k1.error("Agent file generation failed",Q1)}),v.next({type:"state",state:{type:"generating-agent-file"}}),{...S,type:"awaiting-agent",displayedError:null};else return z1();return S}}return S}),{type:"initializing",hasUI:!1,hasThread:!1,tokenUsage:null,compactionPromptState:"none",updateState:"none",toolConfirmationStatus:new Map,currentAssistantMessageIndex:null,hasBeenIdle:!1,threadTitle:null,confirmationQueue:[]})).subscribe({error:(S)=>{k1.error("Error in state machine",S),x()}});if(w)G.get(H).then((S)=>{if(S&&S.messages)k1.info("Sending historic messages for initialization",{threadId:H,messageCount:S.messages.length}),_.next({type:"historic-thread",messages:S.messages});else k1.info("Sending empty messages for continued thread without stored messages",{threadId:H}),_.next({type:"historic-thread",messages:[]})});else k1.info("Sending empty messages for new thread initialization",{threadId:H}),_.next({type:"historic-thread",messages:[]});return _o6(_).catch((S)=>{k1.debug("Update check startup failed",S)}),await d6(b)}async function _o6(A){try{let Q=await If1("0.0.1752148945-gd8844f");if(Q.hasUpdate&&Q.latestVersion)A.next({type:"update-start-updating"}),setTimeout(async()=>{try{await Cf1(Q.latestVersion),A.next({type:"update-result",success:!0,version:Q.latestVersion})}catch(B){k1.info("Update failed",B),A.next({type:"update-result",success:!1,version:Q.latestVersion})}},100);else k1.info("No update available")}catch(Q){k1.debug("Update check failed",Q)}}var r51={WARNING:0.8,SEVERE:0.9,CRITICAL:0.98};w2();LB();QN();i6();import{Stream as K12}from"node:stream";import x71 from"node:process";var g7A=K6(W9(),1);import X12 from"node:process";function i4A(A,Q,{signal:B,edges:J}={}){let D=void 0,z=null,Z=J!=null&&J.includes("leading"),X=J==null||J.includes("trailing"),K=()=>{if(z!==null)A.apply(D,z),D=void 0,z=null},G=()=>{if(X)K();E()},Y=null,q=()=>{if(Y!=null)clearTimeout(Y);Y=setTimeout(()=>{Y=null,G()},Q)},F=()=>{if(Y!==null)clearTimeout(Y),Y=null},E=()=>{F(),D=void 0,z=null},H=()=>{F(),K()},w=function(...W){if(B?.aborted)return;D=this,z=W;let M=Y==null;if(q(),Z&&M)K()};return w.schedule=q,w.cancel=E,w.flush=H,B?.addEventListener("abort",E,{once:!0}),w}function a4A(A,Q=0,B={}){if(typeof B!=="object")B={};let{signal:J,leading:D=!1,trailing:z=!0,maxWait:Z}=B,X=Array(2);if(D)X[0]="leading";if(z)X[1]="trailing";let K=void 0,G=null,Y=i4A(function(...E){K=A.apply(this,E),G=null},Q,{signal:J,edges:X}),q=function(...E){if(Z!=null){if(G===null)G=Date.now();if(Date.now()-G>=Z)return K=A.apply(this,E),G=Date.now(),Y.cancel(),Y.schedule(),K}return Y.apply(this,E),K},F=()=>{return Y.flush(),K};return q.cancel=Y.cancel,q.flush=F,q}function o51(A,Q=0,B={}){if(typeof B!=="object")B={};let{leading:J=!0,trailing:D=!0,signal:z}=B;return a4A(A,Q,{leading:J,trailing:D,signal:z,maxWait:Q})}import{env as ml}from"node:process";var $t6=ml.CI!=="0"&&ml.CI!=="false"&&(("CI"in ml)||("CONTINUOUS_INTEGRATION"in ml)||Object.keys(ml).some((A)=>A.startsWith("CI_"))),XT=$t6;var vt6=(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 _f1(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 vt6(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 h7A=K6(vf1(),1);import{PassThrough as e4A}from"node:stream";var A5A=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],kf1={},kt6=(A)=>{let Q=new e4A,B=new e4A;Q.write=(D)=>{A("stdout",D)},B.write=(D)=>{A("stderr",D)};let J=new console.Console(Q,B);for(let D of A5A)kf1[D]=console[D],console[D]=J[D];return()=>{for(let D of A5A)console[D]=kf1[D];kf1={}}},Q5A=kt6;var ff1=32;var yf1=0,B71=0;var ft6=(()=>{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(E1,x1){J=E1,D=x1});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 X=B.print||console.log.bind(console),K=B.printErr||console.warn.bind(console);Object.assign(B,z),z=null;var G;B.wasmBinary&&(G=B.wasmBinary);var Y=B.noExitRuntime||!0;typeof WebAssembly!="object"&&x("no native wasm support detected");var q,F=!1;function E(E1,x1,R0){R0=x1+R0;for(var _0="";!(x1>=R0);){var u0=E1[x1++];if(!u0)break;if(u0&128){var XA=E1[x1++]&63;if((u0&224)==192)_0+=String.fromCharCode((u0&31)<<6|XA);else{var jA=E1[x1++]&63;u0=(u0&240)==224?(u0&15)<<12|XA<<6|jA:(u0&7)<<18|XA<<12|jA<<6|E1[x1++]&63,65536>u0?_0+=String.fromCharCode(u0):(u0-=65536,_0+=String.fromCharCode(55296|u0>>10,56320|u0&1023))}}else _0+=String.fromCharCode(u0)}return _0}var H,w,W,M,I,N,V,T,j;function R(){var E1=q.buffer;H=E1,B.HEAP8=w=new Int8Array(E1),B.HEAP16=M=new Int16Array(E1),B.HEAP32=N=new Int32Array(E1),B.HEAPU8=W=new Uint8Array(E1),B.HEAPU16=I=new Uint16Array(E1),B.HEAPU32=V=new Uint32Array(E1),B.HEAPF32=T=new Float32Array(E1),B.HEAPF64=j=new Float64Array(E1)}var P,_=[],v=[],k=[];function m(){var E1=B.preRun.shift();_.unshift(E1)}var d=0,$=null,b=null;function x(E1){if(B.onAbort)B.onAbort(E1);throw E1="Aborted("+E1+")",K(E1),F=!0,E1=new WebAssembly.RuntimeError(E1+". Build with -sASSERTIONS for more info."),D(E1),E1}function u(E1){return E1.startsWith("data:application/octet-stream;base64,")}var S="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(!u(S)){var y=S;S=B.locateFile?B.locateFile(y,Z):Z+y}function l(){var E1=S;try{if(E1==S&&G)return new Uint8Array(G);if(u(E1))try{var x1=B6(E1.slice(37)),R0=new Uint8Array(x1.length);for(E1=0;E1<x1.length;++E1)R0[E1]=x1.charCodeAt(E1);var _0=R0}catch(XA){throw Error("Converting base64 string to bytes failed.")}else _0=void 0;var u0=_0;if(u0)return u0;throw"both async and sync fetching of the wasm failed"}catch(XA){x(XA)}}function a(){return G||typeof fetch!="function"?Promise.resolve().then(function(){return l()}):fetch(S,{credentials:"same-origin"}).then(function(E1){if(!E1.ok)throw"failed to load wasm binary file at '"+S+"'";return E1.arrayBuffer()}).catch(function(){return l()})}function z1(E1){for(;0<E1.length;)E1.shift()(B)}function t(E1){if(E1===void 0)return"_unknown";E1=E1.replace(/[^a-zA-Z0-9_]/g,"$");var x1=E1.charCodeAt(0);return 48<=x1&&57>=x1?"_"+E1:E1}function Q1(E1,x1){return E1=t(E1),function(){return x1.apply(this,arguments)}}var A1=[{},{value:void 0},{value:null},{value:!0},{value:!1}],X1=[];function Z1(E1){var x1=Error,R0=Q1(E1,function(_0){this.name=E1,this.message=_0,_0=Error(_0).stack,_0!==void 0&&(this.stack=this.toString()+`
|
4536
4536
|
`+_0.replace(/^Error(:[^\n]*)?\n/,""))});return R0.prototype=Object.create(x1.prototype),R0.prototype.constructor=R0,R0.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},R0}var N1=void 0;function r(E1){throw new N1(E1)}var s=(E1)=>{return E1||r("Cannot use deleted val. handle = "+E1),A1[E1].value},e=(E1)=>{switch(E1){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var x1=X1.length?X1.pop():A1.length;return A1[x1]={ga:1,value:E1},x1}},G1=void 0,Y1=void 0;function F1(E1){for(var x1="";W[E1];)x1+=Y1[W[E1++]];return x1}var q1=[];function _1(){for(;q1.length;){var E1=q1.pop();E1.M.$=!1,E1.delete()}}var O1=void 0,j1={};function V1(E1,x1){for(x1===void 0&&r("ptr should not be undefined");E1.R;)x1=E1.ba(x1),E1=E1.R;return x1}var I1={};function t1(E1){E1=SA(E1);var x1=F1(E1);return n6(E1),x1}function J0(E1,x1){var R0=I1[E1];return R0===void 0&&r(x1+" has unknown type "+t1(E1)),R0}function w0(){}var D0=!1;function X0(E1){--E1.count.value,E1.count.value===0&&(E1.T?E1.U.W(E1.T):E1.P.N.W(E1.O))}function u1(E1,x1,R0){if(x1===R0)return E1;if(R0.R===void 0)return null;return E1=u1(E1,x1,R0.R),E1===null?null:R0.na(E1)}var W1={};function p1(E1,x1){return x1=V1(E1,x1),j1[x1]}var v1=void 0;function m1(E1){throw new v1(E1)}function w1(E1,x1){return x1.P&&x1.O||m1("makeClassHandle requires ptr and ptrType"),!!x1.U!==!!x1.T&&m1("Both smartPtrType and smartPtr must be specified"),x1.count={value:1},d1(Object.create(E1,{M:{value:x1}}))}function d1(E1){if(typeof FinalizationRegistry==="undefined")return d1=(x1)=>x1,E1;return D0=new FinalizationRegistry((x1)=>{X0(x1.M)}),d1=(x1)=>{var R0=x1.M;return R0.T&&D0.register(x1,{M:R0},x1),x1},w0=(x1)=>{D0.unregister(x1)},d1(E1)}var L1={};function i1(E1){for(;E1.length;){var x1=E1.pop();E1.pop()(x1)}}function o1(E1){return this.fromWireType(N[E1>>2])}var Y0={},F0={};function E0(E1,x1,R0){function _0(KA){KA=R0(KA),KA.length!==E1.length&&m1("Mismatched type converter count");for(var pA=0;pA<E1.length;++pA)q0(E1[pA],KA[pA])}E1.forEach(function(KA){F0[KA]=x1});var u0=Array(x1.length),XA=[],jA=0;x1.forEach((KA,pA)=>{I1.hasOwnProperty(KA)?u0[pA]=I1[KA]:(XA.push(KA),Y0.hasOwnProperty(KA)||(Y0[KA]=[]),Y0[KA].push(()=>{u0[pA]=I1[KA],++jA,jA===XA.length&&_0(u0)}))}),XA.length===0&&_0(u0)}function t0(E1){switch(E1){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+E1)}}function q0(E1,x1,R0={}){if(!("argPackAdvance"in x1))throw new TypeError("registerType registeredInstance requires argPackAdvance");var _0=x1.name;if(E1||r('type "'+_0+'" must have a positive integer typeid pointer'),I1.hasOwnProperty(E1)){if(R0.ua)return;r("Cannot register type '"+_0+"' twice")}I1[E1]=x1,delete F0[E1],Y0.hasOwnProperty(E1)&&(x1=Y0[E1],delete Y0[E1],x1.forEach((u0)=>u0()))}function qA(E1){r(E1.M.P.N.name+" instance already deleted")}function HA(){}function YA(E1,x1,R0){if(E1[x1].S===void 0){var _0=E1[x1];E1[x1]=function(){return E1[x1].S.hasOwnProperty(arguments.length)||r("Function '"+R0+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+E1[x1].S+")!"),E1[x1].S[arguments.length].apply(this,arguments)},E1[x1].S=[],E1[x1].S[_0.Z]=_0}}function kA(E1,x1){B.hasOwnProperty(E1)?(r("Cannot register public name '"+E1+"' twice"),YA(B,E1,E1),B.hasOwnProperty(void 0)&&r("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),B[E1].S[void 0]=x1):B[E1]=x1}function IA(E1,x1,R0,_0,u0,XA,jA,KA){this.name=E1,this.constructor=x1,this.X=R0,this.W=_0,this.R=u0,this.pa=XA,this.ba=jA,this.na=KA,this.ja=[]}function WA(E1,x1,R0){for(;x1!==R0;)x1.ba||r("Expected null or instance of "+R0.name+", got an instance of "+x1.name),E1=x1.ba(E1),x1=x1.R;return E1}function e0(E1,x1){if(x1===null)return this.ea&&r("null is not a valid "+this.name),0;return x1.M||r('Cannot pass "'+AA(x1)+'" as a '+this.name),x1.M.O||r("Cannot pass deleted object as a pointer of type "+this.name),WA(x1.M.O,x1.M.P.N,this.N)}function PA(E1,x1){if(x1===null){if(this.ea&&r("null is not a valid "+this.name),this.da){var R0=this.fa();return E1!==null&&E1.push(this.W,R0),R0}return 0}if(x1.M||r('Cannot pass "'+AA(x1)+'" as a '+this.name),x1.M.O||r("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&x1.M.P.ca&&r("Cannot convert argument of type "+(x1.M.U?x1.M.U.name:x1.M.P.name)+" to parameter type "+this.name),R0=WA(x1.M.O,x1.M.P.N,this.N),this.da)switch(x1.M.T===void 0&&r("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:x1.M.U===this?R0=x1.M.T:r("Cannot convert argument of type "+(x1.M.U?x1.M.U.name:x1.M.P.name)+" to parameter type "+this.name);break;case 1:R0=x1.M.T;break;case 2:if(x1.M.U===this)R0=x1.M.T;else{var _0=x1.clone();R0=this.xa(R0,e(function(){_0.delete()})),E1!==null&&E1.push(this.W,R0)}break;default:r("Unsupporting sharing policy")}return R0}function LA(E1,x1){if(x1===null)return this.ea&&r("null is not a valid "+this.name),0;return x1.M||r('Cannot pass "'+AA(x1)+'" as a '+this.name),x1.M.O||r("Cannot pass deleted object as a pointer of type "+this.name),x1.M.P.ca&&r("Cannot convert argument of type "+x1.M.P.name+" to parameter type "+this.name),WA(x1.M.O,x1.M.P.N,this.N)}function DA(E1,x1,R0,_0){this.name=E1,this.N=x1,this.ea=R0,this.ca=_0,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,x1.R!==void 0?this.toWireType=PA:(this.toWireType=_0?e0:LA,this.V=null)}function sA(E1,x1){B.hasOwnProperty(E1)||m1("Replacing nonexistant public symbol"),B[E1]=x1,B[E1].Z=void 0}function yA(E1,x1){var R0=[];return function(){if(R0.length=0,Object.assign(R0,arguments),E1.includes("j")){var _0=B["dynCall_"+E1];_0=R0&&R0.length?_0.apply(null,[x1].concat(R0)):_0.call(null,x1)}else _0=P.get(x1).apply(null,R0);return _0}}function e1(E1,x1){E1=F1(E1);var R0=E1.includes("j")?yA(E1,x1):P.get(x1);return typeof R0!="function"&&r("unknown function pointer with signature "+E1+": "+x1),R0}var h1=void 0;function Q0(E1,x1){function R0(XA){u0[XA]||I1[XA]||(F0[XA]?F0[XA].forEach(R0):(_0.push(XA),u0[XA]=!0))}var _0=[],u0={};throw x1.forEach(R0),new h1(E1+": "+_0.map(t1).join([", "]))}function W0(E1,x1,R0,_0,u0){var XA=x1.length;2>XA&&r("argTypes array size mismatch! Must at least get return value and 'this' types!");var jA=x1[1]!==null&&R0!==null,KA=!1;for(R0=1;R0<x1.length;++R0)if(x1[R0]!==null&&x1[R0].V===void 0){KA=!0;break}var pA=x1[0].name!=="void",dA=XA-2,Z6=Array(dA),Z2=[],A8=[];return function(){if(arguments.length!==dA&&r("function "+E1+" called with "+arguments.length+" arguments, expected "+dA+" args!"),A8.length=0,Z2.length=jA?2:1,Z2[0]=u0,jA){var b9=x1[1].toWireType(A8,this);Z2[1]=b9}for(var X2=0;X2<dA;++X2)Z6[X2]=x1[X2+2].toWireType(A8,arguments[X2]),Z2.push(Z6[X2]);if(X2=_0.apply(null,Z2),KA)i1(A8);else for(var C4=jA?1:2;C4<x1.length;C4++){var z4=C4===1?b9:Z6[C4-2];x1[C4].V!==null&&x1[C4].V(z4)}return b9=pA?x1[0].fromWireType(X2):void 0,b9}}function K0(E1,x1){for(var R0=[],_0=0;_0<E1;_0++)R0.push(V[x1+4*_0>>2]);return R0}function FA(E1){4<E1&&--A1[E1].ga===0&&(A1[E1]=void 0,X1.push(E1))}function AA(E1){if(E1===null)return"null";var x1=typeof E1;return x1==="object"||x1==="array"||x1==="function"?E1.toString():""+E1}function k6(E1,x1){switch(x1){case 2:return function(R0){return this.fromWireType(T[R0>>2])};case 3:return function(R0){return this.fromWireType(j[R0>>3])};default:throw new TypeError("Unknown float type: "+E1)}}function f6(E1,x1,R0){switch(x1){case 0:return R0?function(_0){return w[_0]}:function(_0){return W[_0]};case 1:return R0?function(_0){return M[_0>>1]}:function(_0){return I[_0>>1]};case 2:return R0?function(_0){return N[_0>>2]}:function(_0){return V[_0>>2]};default:throw new TypeError("Unknown integer type: "+E1)}}function a6(E1,x1){for(var R0="",_0=0;!(_0>=x1/2);++_0){var u0=M[E1+2*_0>>1];if(u0==0)break;R0+=String.fromCharCode(u0)}return R0}function U6(E1,x1,R0){if(R0===void 0&&(R0=2147483647),2>R0)return 0;R0-=2;var _0=x1;R0=R0<2*E1.length?R0/2:E1.length;for(var u0=0;u0<R0;++u0)M[x1>>1]=E1.charCodeAt(u0),x1+=2;return M[x1>>1]=0,x1-_0}function F2(E1){return 2*E1.length}function _A(E1,x1){for(var R0=0,_0="";!(R0>=x1/4);){var u0=N[E1+4*R0>>2];if(u0==0)break;++R0,65536<=u0?(u0-=65536,_0+=String.fromCharCode(55296|u0>>10,56320|u0&1023)):_0+=String.fromCharCode(u0)}return _0}function Z0(E1,x1,R0){if(R0===void 0&&(R0=2147483647),4>R0)return 0;var _0=x1;R0=_0+R0-4;for(var u0=0;u0<E1.length;++u0){var XA=E1.charCodeAt(u0);if(55296<=XA&&57343>=XA){var jA=E1.charCodeAt(++u0);XA=65536+((XA&1023)<<10)|jA&1023}if(N[x1>>2]=XA,x1+=4,x1+4>R0)break}return N[x1>>2]=0,x1-_0}function r0(E1){for(var x1=0,R0=0;R0<E1.length;++R0){var _0=E1.charCodeAt(R0);55296<=_0&&57343>=_0&&++R0,x1+=4}return x1}var NA={};function Y6(E1){var x1=NA[E1];return x1===void 0?F1(E1):x1}var g2=[];function h2(E1){var x1=g2.length;return g2.push(E1),x1}function v2(E1,x1){for(var R0=Array(E1),_0=0;_0<E1;++_0)R0[_0]=J0(V[x1+4*_0>>2],"parameter "+_0);return R0}var q2=[],D8=[null,[],[]];N1=B.BindingError=Z1("BindingError"),B.count_emval_handles=function(){for(var E1=0,x1=5;x1<A1.length;++x1)A1[x1]!==void 0&&++E1;return E1},B.get_first_emval=function(){for(var E1=5;E1<A1.length;++E1)if(A1[E1]!==void 0)return A1[E1];return null},G1=B.PureVirtualError=Z1("PureVirtualError");for(var B2=Array(256),o6=0;256>o6;++o6)B2[o6]=String.fromCharCode(o6);Y1=B2,B.getInheritedInstanceCount=function(){return Object.keys(j1).length},B.getLiveInheritedInstances=function(){var E1=[],x1;for(x1 in j1)j1.hasOwnProperty(x1)&&E1.push(j1[x1]);return E1},B.flushPendingDeletes=_1,B.setDelayFunction=function(E1){O1=E1,q1.length&&O1&&O1(_1)},v1=B.InternalError=Z1("InternalError"),HA.prototype.isAliasOf=function(E1){if(!(this instanceof HA&&E1 instanceof HA))return!1;var x1=this.M.P.N,R0=this.M.O,_0=E1.M.P.N;for(E1=E1.M.O;x1.R;)R0=x1.ba(R0),x1=x1.R;for(;_0.R;)E1=_0.ba(E1),_0=_0.R;return x1===_0&&R0===E1},HA.prototype.clone=function(){if(this.M.O||qA(this),this.M.aa)return this.M.count.value+=1,this;var E1=d1,x1=Object,R0=x1.create,_0=Object.getPrototypeOf(this),u0=this.M;return E1=E1(R0.call(x1,_0,{M:{value:{count:u0.count,$:u0.$,aa:u0.aa,O:u0.O,P:u0.P,T:u0.T,U:u0.U}}})),E1.M.count.value+=1,E1.M.$=!1,E1},HA.prototype.delete=function(){this.M.O||qA(this),this.M.$&&!this.M.aa&&r("Object already scheduled for deletion"),w0(this),X0(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},HA.prototype.isDeleted=function(){return!this.M.O},HA.prototype.deleteLater=function(){return this.M.O||qA(this),this.M.$&&!this.M.aa&&r("Object already scheduled for deletion"),q1.push(this),q1.length===1&&O1&&O1(_1),this.M.$=!0,this},DA.prototype.qa=function(E1){return this.ka&&(E1=this.ka(E1)),E1},DA.prototype.ha=function(E1){this.W&&this.W(E1)},DA.prototype.argPackAdvance=8,DA.prototype.readValueFromPointer=o1,DA.prototype.deleteObject=function(E1){if(E1!==null)E1.delete()},DA.prototype.fromWireType=function(E1){function x1(){return this.da?w1(this.N.X,{P:this.wa,O:R0,U:this,T:E1}):w1(this.N.X,{P:this,O:E1})}var R0=this.qa(E1);if(!R0)return this.ha(E1),null;var _0=p1(this.N,R0);if(_0!==void 0){if(_0.M.count.value===0)return _0.M.O=R0,_0.M.T=E1,_0.clone();return _0=_0.clone(),this.ha(E1),_0}if(_0=this.N.pa(R0),_0=W1[_0],!_0)return x1.call(this);_0=this.ca?_0.la:_0.pointerType;var u0=u1(R0,this.N,_0.N);return u0===null?x1.call(this):this.da?w1(_0.N.X,{P:_0,O:u0,U:this,T:E1}):w1(_0.N.X,{P:_0,O:u0})},h1=B.UnboundTypeError=Z1("UnboundTypeError");var B6=typeof atob=="function"?atob:function(E1){var x1="",R0=0;E1=E1.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var _0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(E1.charAt(R0++)),u0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(E1.charAt(R0++)),XA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(E1.charAt(R0++)),jA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(E1.charAt(R0++));_0=_0<<2|u0>>4,u0=(u0&15)<<4|XA>>2;var KA=(XA&3)<<6|jA;x1+=String.fromCharCode(_0),XA!==64&&(x1+=String.fromCharCode(u0)),jA!==64&&(x1+=String.fromCharCode(KA))}while(R0<E1.length);return x1},fA={l:function(E1,x1,R0,_0){x("Assertion failed: "+(E1?E(W,E1):"")+", at: "+[x1?x1?E(W,x1):"":"unknown filename",R0,_0?_0?E(W,_0):"":"unknown function"])},q:function(E1,x1,R0){E1=F1(E1),x1=J0(x1,"wrapper"),R0=s(R0);var _0=[].slice,u0=x1.N,XA=u0.X,jA=u0.R.X,KA=u0.R.constructor;E1=Q1(E1,function(){u0.R.ja.forEach(function(dA){if(this[dA]===jA[dA])throw new G1("Pure virtual function "+dA+" must be implemented in JavaScript")}.bind(this)),Object.defineProperty(this,"__parent",{value:XA}),this.__construct.apply(this,_0.call(arguments))}),XA.__construct=function(){this===XA&&r("Pass correct 'this' to __construct");var dA=KA.implement.apply(void 0,[this].concat(_0.call(arguments)));w0(dA);var Z6=dA.M;dA.notifyOnDestruction(),Z6.aa=!0,Object.defineProperties(this,{M:{value:Z6}}),d1(this),dA=Z6.O,dA=V1(u0,dA),j1.hasOwnProperty(dA)?r("Tried to register registered instance: "+dA):j1[dA]=this},XA.__destruct=function(){this===XA&&r("Pass correct 'this' to __destruct"),w0(this);var dA=this.M.O;dA=V1(u0,dA),j1.hasOwnProperty(dA)?delete j1[dA]:r("Tried to unregister unregistered instance: "+dA)},E1.prototype=Object.create(XA);for(var pA in R0)E1.prototype[pA]=R0[pA];return e(E1)},j:function(E1){var x1=L1[E1];delete L1[E1];var{fa:R0,W:_0,ia:u0}=x1,XA=u0.map((jA)=>jA.ta).concat(u0.map((jA)=>jA.za));E0([E1],XA,(jA)=>{var KA={};return u0.forEach((pA,dA)=>{var Z6=jA[dA],Z2=pA.ra,A8=pA.sa,b9=jA[dA+u0.length],X2=pA.ya,C4=pA.Aa;KA[pA.oa]={read:(z4)=>Z6.fromWireType(Z2(A8,z4)),write:(z4,Z4)=>{var Q5=[];X2(C4,z4,b9.toWireType(Q5,Z4)),i1(Q5)}}}),[{name:x1.name,fromWireType:function(pA){var dA={},Z6;for(Z6 in KA)dA[Z6]=KA[Z6].read(pA);return _0(pA),dA},toWireType:function(pA,dA){for(var Z6 in KA)if(!(Z6 in dA))throw new TypeError('Missing field: "'+Z6+'"');var Z2=R0();for(Z6 in KA)KA[Z6].write(Z2,dA[Z6]);return pA!==null&&pA.push(_0,Z2),Z2},argPackAdvance:8,readValueFromPointer:o1,V:_0}]})},v:function(){},B:function(E1,x1,R0,_0,u0){var XA=t0(R0);x1=F1(x1),q0(E1,{name:x1,fromWireType:function(jA){return!!jA},toWireType:function(jA,KA){return KA?_0:u0},argPackAdvance:8,readValueFromPointer:function(jA){if(R0===1)var KA=w;else if(R0===2)KA=M;else if(R0===4)KA=N;else throw new TypeError("Unknown boolean type size: "+x1);return this.fromWireType(KA[jA>>XA])},V:null})},f:function(E1,x1,R0,_0,u0,XA,jA,KA,pA,dA,Z6,Z2,A8){Z6=F1(Z6),XA=e1(u0,XA),KA&&(KA=e1(jA,KA)),dA&&(dA=e1(pA,dA)),A8=e1(Z2,A8);var b9=t(Z6);kA(b9,function(){Q0("Cannot construct "+Z6+" due to unbound types",[_0])}),E0([E1,x1,R0],_0?[_0]:[],function(X2){if(X2=X2[0],_0)var C4=X2.N,z4=C4.X;else z4=HA.prototype;X2=Q1(b9,function(){if(Object.getPrototypeOf(this)!==Z4)throw new N1("Use 'new' to construct "+Z6);if(Q5.Y===void 0)throw new N1(Z6+" has no accessible constructor");var q7=Q5.Y[arguments.length];if(q7===void 0)throw new N1("Tried to invoke ctor of "+Z6+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(Q5.Y).toString()+") parameters instead!");return q7.apply(this,arguments)});var Z4=Object.create(z4,{constructor:{value:X2}});X2.prototype=Z4;var Q5=new IA(Z6,X2,Z4,A8,C4,XA,KA,dA);C4=new DA(Z6,Q5,!0,!1),z4=new DA(Z6+"*",Q5,!1,!1);var Qz=new DA(Z6+" const*",Q5,!1,!0);return W1[E1]={pointerType:z4,la:Qz},sA(b9,X2),[C4,z4,Qz]})},d:function(E1,x1,R0,_0,u0,XA,jA){var KA=K0(R0,_0);x1=F1(x1),XA=e1(u0,XA),E0([],[E1],function(pA){function dA(){Q0("Cannot call "+Z6+" due to unbound types",KA)}pA=pA[0];var Z6=pA.name+"."+x1;x1.startsWith("@@")&&(x1=Symbol[x1.substring(2)]);var Z2=pA.N.constructor;return Z2[x1]===void 0?(dA.Z=R0-1,Z2[x1]=dA):(YA(Z2,x1,Z6),Z2[x1].S[R0-1]=dA),E0([],KA,function(A8){return A8=W0(Z6,[A8[0],null].concat(A8.slice(1)),null,XA,jA),Z2[x1].S===void 0?(A8.Z=R0-1,Z2[x1]=A8):Z2[x1].S[R0-1]=A8,[]}),[]})},p:function(E1,x1,R0,_0,u0,XA){0<x1||x();var jA=K0(x1,R0);u0=e1(_0,u0),E0([],[E1],function(KA){KA=KA[0];var pA="constructor "+KA.name;if(KA.N.Y===void 0&&(KA.N.Y=[]),KA.N.Y[x1-1]!==void 0)throw new N1("Cannot register multiple constructors with identical number of parameters ("+(x1-1)+") for class '"+KA.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return KA.N.Y[x1-1]=()=>{Q0("Cannot construct "+KA.name+" due to unbound types",jA)},E0([],jA,function(dA){return dA.splice(1,0,null),KA.N.Y[x1-1]=W0(pA,dA,null,u0,XA),[]}),[]})},a:function(E1,x1,R0,_0,u0,XA,jA,KA){var pA=K0(R0,_0);x1=F1(x1),XA=e1(u0,XA),E0([],[E1],function(dA){function Z6(){Q0("Cannot call "+Z2+" due to unbound types",pA)}dA=dA[0];var Z2=dA.name+"."+x1;x1.startsWith("@@")&&(x1=Symbol[x1.substring(2)]),KA&&dA.N.ja.push(x1);var A8=dA.N.X,b9=A8[x1];return b9===void 0||b9.S===void 0&&b9.className!==dA.name&&b9.Z===R0-2?(Z6.Z=R0-2,Z6.className=dA.name,A8[x1]=Z6):(YA(A8,x1,Z2),A8[x1].S[R0-2]=Z6),E0([],pA,function(X2){return X2=W0(Z2,X2,dA,XA,jA),A8[x1].S===void 0?(X2.Z=R0-2,A8[x1]=X2):A8[x1].S[R0-2]=X2,[]}),[]})},A:function(E1,x1){x1=F1(x1),q0(E1,{name:x1,fromWireType:function(R0){var _0=s(R0);return FA(R0),_0},toWireType:function(R0,_0){return e(_0)},argPackAdvance:8,readValueFromPointer:o1,V:null})},n:function(E1,x1,R0){R0=t0(R0),x1=F1(x1),q0(E1,{name:x1,fromWireType:function(_0){return _0},toWireType:function(_0,u0){return u0},argPackAdvance:8,readValueFromPointer:k6(x1,R0),V:null})},e:function(E1,x1,R0,_0,u0){x1=F1(x1),u0===-1&&(u0=4294967295),u0=t0(R0);var XA=(KA)=>KA;if(_0===0){var jA=32-8*R0;XA=(KA)=>KA<<jA>>>jA}R0=x1.includes("unsigned")?function(KA,pA){return pA>>>0}:function(KA,pA){return pA},q0(E1,{name:x1,fromWireType:XA,toWireType:R0,argPackAdvance:8,readValueFromPointer:f6(x1,u0,_0!==0),V:null})},b:function(E1,x1,R0){function _0(XA){XA>>=2;var jA=V;return new u0(H,jA[XA+1],jA[XA])}var u0=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][x1];R0=F1(R0),q0(E1,{name:R0,fromWireType:_0,argPackAdvance:8,readValueFromPointer:_0},{ua:!0})},o:function(E1,x1){x1=F1(x1);var R0=x1==="std::string";q0(E1,{name:x1,fromWireType:function(_0){var u0=V[_0>>2],XA=_0+4;if(R0)for(var jA=XA,KA=0;KA<=u0;++KA){var pA=XA+KA;if(KA==u0||W[pA]==0){if(jA=jA?E(W,jA,pA-jA):"",dA===void 0)var dA=jA;else dA+=String.fromCharCode(0),dA+=jA;jA=pA+1}}else{dA=Array(u0);for(KA=0;KA<u0;++KA)dA[KA]=String.fromCharCode(W[XA+KA]);dA=dA.join("")}return n6(_0),dA},toWireType:function(_0,u0){u0 instanceof ArrayBuffer&&(u0=new Uint8Array(u0));var XA,jA=typeof u0=="string";if(jA||u0 instanceof Uint8Array||u0 instanceof Uint8ClampedArray||u0 instanceof Int8Array||r("Cannot pass non-string to std::string"),R0&&jA){var KA=0;for(XA=0;XA<u0.length;++XA){var pA=u0.charCodeAt(XA);127>=pA?KA++:2047>=pA?KA+=2:55296<=pA&&57343>=pA?(KA+=4,++XA):KA+=3}XA=KA}else XA=u0.length;if(KA=ZA(4+XA+1),pA=KA+4,V[KA>>2]=XA,R0&&jA){if(jA=pA,pA=XA+1,XA=W,0<pA){pA=jA+pA-1;for(var dA=0;dA<u0.length;++dA){var Z6=u0.charCodeAt(dA);if(55296<=Z6&&57343>=Z6){var Z2=u0.charCodeAt(++dA);Z6=65536+((Z6&1023)<<10)|Z2&1023}if(127>=Z6){if(jA>=pA)break;XA[jA++]=Z6}else{if(2047>=Z6){if(jA+1>=pA)break;XA[jA++]=192|Z6>>6}else{if(65535>=Z6){if(jA+2>=pA)break;XA[jA++]=224|Z6>>12}else{if(jA+3>=pA)break;XA[jA++]=240|Z6>>18,XA[jA++]=128|Z6>>12&63}XA[jA++]=128|Z6>>6&63}XA[jA++]=128|Z6&63}}XA[jA]=0}}else if(jA)for(jA=0;jA<XA;++jA)dA=u0.charCodeAt(jA),255<dA&&(n6(pA),r("String has UTF-16 code units that do not fit in 8 bits")),W[pA+jA]=dA;else for(jA=0;jA<XA;++jA)W[pA+jA]=u0[jA];return _0!==null&&_0.push(n6,KA),KA},argPackAdvance:8,readValueFromPointer:o1,V:function(_0){n6(_0)}})},i:function(E1,x1,R0){if(R0=F1(R0),x1===2)var _0=a6,u0=U6,XA=F2,jA=()=>I,KA=1;else x1===4&&(_0=_A,u0=Z0,XA=r0,jA=()=>V,KA=2);q0(E1,{name:R0,fromWireType:function(pA){for(var dA=V[pA>>2],Z6=jA(),Z2,A8=pA+4,b9=0;b9<=dA;++b9){var X2=pA+4+b9*x1;if(b9==dA||Z6[X2>>KA]==0)A8=_0(A8,X2-A8),Z2===void 0?Z2=A8:(Z2+=String.fromCharCode(0),Z2+=A8),A8=X2+x1}return n6(pA),Z2},toWireType:function(pA,dA){typeof dA!="string"&&r("Cannot pass non-string to C++ string type "+R0);var Z6=XA(dA),Z2=ZA(4+Z6+x1);return V[Z2>>2]=Z6>>KA,u0(dA,Z2+4,Z6+x1),pA!==null&&pA.push(n6,Z2),Z2},argPackAdvance:8,readValueFromPointer:o1,V:function(pA){n6(pA)}})},k:function(E1,x1,R0,_0,u0,XA){L1[E1]={name:F1(x1),fa:e1(R0,_0),W:e1(u0,XA),ia:[]}},h:function(E1,x1,R0,_0,u0,XA,jA,KA,pA,dA){L1[E1].ia.push({oa:F1(x1),ta:R0,ra:e1(_0,u0),sa:XA,za:jA,ya:e1(KA,pA),Aa:dA})},C:function(E1,x1){x1=F1(x1),q0(E1,{va:!0,name:x1,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(E1,x1,R0,_0,u0){E1=g2[E1],x1=s(x1),R0=Y6(R0);var XA=[];return V[_0>>2]=e(XA),E1(x1,R0,XA,u0)},t:function(E1,x1,R0,_0){E1=g2[E1],x1=s(x1),R0=Y6(R0),E1(x1,R0,null,_0)},g:FA,m:function(E1,x1){var R0=v2(E1,x1),_0=R0[0];x1=_0.name+"_$"+R0.slice(1).map(function(jA){return jA.name}).join("_")+"$";var u0=q2[x1];if(u0!==void 0)return u0;var XA=Array(E1-1);return u0=h2((jA,KA,pA,dA)=>{for(var Z6=0,Z2=0;Z2<E1-1;++Z2)XA[Z2]=R0[Z2+1].readValueFromPointer(dA+Z6),Z6+=R0[Z2+1].argPackAdvance;jA=jA[KA].apply(jA,XA);for(Z2=0;Z2<E1-1;++Z2)R0[Z2+1].ma&&R0[Z2+1].ma(XA[Z2]);if(!_0.va)return _0.toWireType(pA,jA)}),q2[x1]=u0},D:function(E1){4<E1&&(A1[E1].ga+=1)},r:function(E1){var x1=s(E1);i1(x1),FA(E1)},c:function(){x("")},x:function(E1,x1,R0){W.copyWithin(E1,x1,x1+R0)},w:function(E1){var x1=W.length;if(E1>>>=0,2147483648<E1)return!1;for(var R0=1;4>=R0;R0*=2){var _0=x1*(1+0.2/R0);_0=Math.min(_0,E1+100663296);var u0=Math;_0=Math.max(E1,_0),u0=u0.min.call(u0,2147483648,_0+(65536-_0%65536)%65536);A:{try{q.grow(u0-H.byteLength+65535>>>16),R();var XA=1;break A}catch(jA){}XA=void 0}if(XA)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(E1,x1,R0,_0){for(var u0=0,XA=0;XA<R0;XA++){var jA=V[x1>>2],KA=V[x1+4>>2];x1+=8;for(var pA=0;pA<KA;pA++){var dA=W[jA+pA],Z6=D8[E1];dA===0||dA===10?((E1===1?X:K)(E(Z6,0)),Z6.length=0):Z6.push(dA)}u0+=KA}return V[_0>>2]=u0,0}};(function(){function E1(u0){B.asm=u0.exports,q=B.asm.E,R(),P=B.asm.J,v.unshift(B.asm.F),d--,B.monitorRunDependencies&&B.monitorRunDependencies(d),d==0&&($!==null&&(clearInterval($),$=null),b&&(u0=b,b=null,u0()))}function x1(u0){E1(u0.instance)}function R0(u0){return a().then(function(XA){return WebAssembly.instantiate(XA,_0)}).then(function(XA){return XA}).then(u0,function(XA){K("failed to asynchronously prepare wasm: "+XA),x(XA)})}var _0={a:fA};if(d++,B.monitorRunDependencies&&B.monitorRunDependencies(d),B.instantiateWasm)try{return B.instantiateWasm(_0,E1)}catch(u0){K("Module.instantiateWasm callback failed with error: "+u0),D(u0)}return function(){return G||typeof WebAssembly.instantiateStreaming!="function"||u(S)||typeof fetch!="function"?R0(x1):fetch(S,{credentials:"same-origin"}).then(function(u0){return WebAssembly.instantiateStreaming(u0,_0).then(x1,function(XA){return K("wasm streaming compile failed: "+XA),K("falling back to ArrayBuffer instantiation"),R0(x1)})})}().catch(D),{}})(),B.___wasm_call_ctors=function(){return(B.___wasm_call_ctors=B.asm.F).apply(null,arguments)};var SA=B.___getTypeName=function(){return(SA=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 ZA=B._malloc=function(){return(ZA=B._malloc=B.asm.I).apply(null,arguments)},n6=B._free=function(){return(n6=B._free=B.asm.K).apply(null,arguments)};B.dynCall_jiji=function(){return(B.dynCall_jiji=B.asm.L).apply(null,arguments)};var n1;b=function E1(){n1||H4(),n1||(b=E1)};function H4(){function E1(){if(!n1&&(n1=!0,B.calledRun=!0,!F)){if(z1(v),J(B),B.onRuntimeInitialized)B.onRuntimeInitialized();if(B.postRun)for(typeof B.postRun=="function"&&(B.postRun=[B.postRun]);B.postRun.length;){var x1=B.postRun.shift();k.unshift(x1)}z1(k)}}if(!(0<d)){if(B.preRun)for(typeof B.preRun=="function"&&(B.preRun=[B.preRun]);B.preRun.length;)m();z1(_),0<d||(B.setStatus?(B.setStatus("Running..."),setTimeout(function(){setTimeout(function(){B.setStatus("")},1),E1()},1)):E1())}}if(B.preInit)for(typeof B.preInit=="function"&&(B.preInit=[B.preInit]);0<B.preInit.length;)B.preInit.pop()();return H4(),Q.ready}})(),B5A=ft6;var iW=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}({}),J5A=function(A){return A[A.BorderBox=0]="BorderBox",A[A.ContentBox=1]="ContentBox",A}({}),D5A=function(A){return A[A.Width=0]="Width",A[A.Height=1]="Height",A}({}),pl=function(A){return A[A.Inherit=0]="Inherit",A[A.LTR=1]="LTR",A[A.RTL=2]="RTL",A}({}),bf1=function(A){return A[A.Flex=0]="Flex",A[A.None=1]="None",A[A.Contents=2]="Contents",A}({}),aW=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}({}),ok=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}({}),yt6=function(A){return A[A.WebFlexBasis=0]="WebFlexBasis",A}({}),J71=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}({}),tk=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}({}),ek=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}({}),gf1=function(A){return A[A.Undefined=0]="Undefined",A[A.Exactly=1]="Exactly",A[A.AtMost=2]="AtMost",A}({}),z5A=function(A){return A[A.Default=0]="Default",A[A.Text=1]="Text",A}({}),hf1=function(A){return A[A.Visible=0]="Visible",A[A.Hidden=1]="Hidden",A[A.Scroll=2]="Scroll",A}({}),mf1=function(A){return A[A.Static=0]="Static",A[A.Relative=1]="Relative",A[A.Absolute=2]="Absolute",A}({}),GU=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}({}),bt6={ALIGN_AUTO:iW.Auto,ALIGN_FLEX_START:iW.FlexStart,ALIGN_CENTER:iW.Center,ALIGN_FLEX_END:iW.FlexEnd,ALIGN_STRETCH:iW.Stretch,ALIGN_BASELINE:iW.Baseline,ALIGN_SPACE_BETWEEN:iW.SpaceBetween,ALIGN_SPACE_AROUND:iW.SpaceAround,ALIGN_SPACE_EVENLY:iW.SpaceEvenly,BOX_SIZING_BORDER_BOX:J5A.BorderBox,BOX_SIZING_CONTENT_BOX:J5A.ContentBox,DIMENSION_WIDTH:D5A.Width,DIMENSION_HEIGHT:D5A.Height,DIRECTION_INHERIT:pl.Inherit,DIRECTION_LTR:pl.LTR,DIRECTION_RTL:pl.RTL,DISPLAY_FLEX:bf1.Flex,DISPLAY_NONE:bf1.None,DISPLAY_CONTENTS:bf1.Contents,EDGE_LEFT:aW.Left,EDGE_TOP:aW.Top,EDGE_RIGHT:aW.Right,EDGE_BOTTOM:aW.Bottom,EDGE_START:aW.Start,EDGE_END:aW.End,EDGE_HORIZONTAL:aW.Horizontal,EDGE_VERTICAL:aW.Vertical,EDGE_ALL:aW.All,ERRATA_NONE:ok.None,ERRATA_STRETCH_FLEX_BASIS:ok.StretchFlexBasis,ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING:ok.AbsolutePositionWithoutInsetsExcludesPadding,ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE:ok.AbsolutePercentAgainstInnerSize,ERRATA_ALL:ok.All,ERRATA_CLASSIC:ok.Classic,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:yt6.WebFlexBasis,FLEX_DIRECTION_COLUMN:J71.Column,FLEX_DIRECTION_COLUMN_REVERSE:J71.ColumnReverse,FLEX_DIRECTION_ROW:J71.Row,FLEX_DIRECTION_ROW_REVERSE:J71.RowReverse,GUTTER_COLUMN:xf1.Column,GUTTER_ROW:xf1.Row,GUTTER_ALL:xf1.All,JUSTIFY_FLEX_START:tk.FlexStart,JUSTIFY_CENTER:tk.Center,JUSTIFY_FLEX_END:tk.FlexEnd,JUSTIFY_SPACE_BETWEEN:tk.SpaceBetween,JUSTIFY_SPACE_AROUND:tk.SpaceAround,JUSTIFY_SPACE_EVENLY:tk.SpaceEvenly,LOG_LEVEL_ERROR:ek.Error,LOG_LEVEL_WARN:ek.Warn,LOG_LEVEL_INFO:ek.Info,LOG_LEVEL_DEBUG:ek.Debug,LOG_LEVEL_VERBOSE:ek.Verbose,LOG_LEVEL_FATAL:ek.Fatal,MEASURE_MODE_UNDEFINED:gf1.Undefined,MEASURE_MODE_EXACTLY:gf1.Exactly,MEASURE_MODE_AT_MOST:gf1.AtMost,NODE_TYPE_DEFAULT:z5A.Default,NODE_TYPE_TEXT:z5A.Text,OVERFLOW_VISIBLE:hf1.Visible,OVERFLOW_HIDDEN:hf1.Hidden,OVERFLOW_SCROLL:hf1.Scroll,POSITION_TYPE_STATIC:mf1.Static,POSITION_TYPE_RELATIVE:mf1.Relative,POSITION_TYPE_ABSOLUTE:mf1.Absolute,UNIT_UNDEFINED:GU.Undefined,UNIT_POINT:GU.Point,UNIT_PERCENT:GU.Percent,UNIT_AUTO:GU.Auto,WRAP_NO_WRAP:uf1.NoWrap,WRAP_WRAP:uf1.Wrap,WRAP_WRAP_REVERSE:uf1.WrapReverse},Z5A=bt6;function pf1(A){function Q(D,z,Z){let X=D[z];D[z]=function(){for(var K=arguments.length,G=new Array(K),Y=0;Y<K;Y++)G[Y]=arguments[Y];return Z.call(this,X,...G)}}for(let D of["setPosition","setMargin","setFlexBasis","setWidth","setHeight","setMinWidth","setMinHeight","setMaxWidth","setMaxHeight","setPadding","setGap"]){let z={[GU.Point]:A.Node.prototype[D],[GU.Percent]:A.Node.prototype[`${D}Percent`],[GU.Auto]:A.Node.prototype[`${D}Auto`]};Q(A.Node.prototype,D,function(Z){for(var X=arguments.length,K=new Array(X>1?X-1:0),G=1;G<X;G++)K[G-1]=arguments[G];let Y=K.pop(),q,F;if(Y==="auto")q=GU.Auto,F=void 0;else if(typeof Y==="object")q=Y.unit,F=Y.valueOf();else if(q=typeof Y==="string"&&Y.endsWith("%")?GU.Percent:GU.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,...K,F);else return z[q].call(this,...K)})}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,X=arguments.length>3&&arguments[3]!==void 0?arguments[3]:pl.LTR;return D.call(this,z,Z,X)}),{Config:A.Config,Node:A.Node,...Z5A}}var xt6=pf1(await B5A()),z2=xt6;var p5A=K6(W5A(),1);import He6 from"node:process";var c5A=K6(W9(),1);Li();function M5A(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 I5A(A){return A===12288||A>=65281&&A<=65376||A>=65504&&A<=65510}function N5A(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 pt6(A){if(!Number.isSafeInteger(A))throw new TypeError(`Expected a code point, got \`${typeof A}\`.`)}function G71(A,{ambiguousAsWide:Q=!1}={}){if(pt6(A),I5A(A)||N5A(A)||Q&&M5A(A))return 2;return 1}var C5A=K6(cB1(),1),ct6=new Intl.Segmenter,dt6=/^\p{Default_Ignorable_Code_Point}$/u;function Az(A,Q={}){if(typeof A!=="string"||A.length===0)return 0;let{ambiguousIsNarrow:B=!0,countAnsiEscapeCodes:J=!1}=Q;if(!J)A=tV(A);if(A.length===0)return 0;let D=0,z={ambiguousAsWide:!B};for(let{segment:Z}of ct6.segment(A)){let X=Z.codePointAt(0);if(X<=31||X>=127&&X<=159)continue;if(X>=8203&&X<=8207||X===65279)continue;if(X>=768&&X<=879||X>=6832&&X<=6911||X>=7616&&X<=7679||X>=8400&&X<=8447||X>=65056&&X<=65071)continue;if(X>=55296&&X<=57343)continue;if(X>=65024&&X<=65039)continue;if(dt6.test(Z))continue;if(C5A.default().test(Z)){D+=2;continue}D+=G71(X,z)}return D}function YT(A){let Q=0;for(let B of A.split(`
|
4537
4537
|
`))Q=Math.max(Q,Az(B));return Q}var V5A={},lt6=(A)=>{if(A.length===0)return{width:0,height:0};let Q=V5A[A];if(Q)return Q;let B=YT(A),J=A.split(`
|
4538
4538
|
`).length;return V5A[A]={width:B,height:J},{width:B,height:J}},zy1=lt6;Li();var O5A=(A=0)=>(Q)=>`\x1B[${Q+A}m`,R5A=(A=0)=>(Q)=>`\x1B[${38+A};5;${Q}m`,L5A=(A=0)=>(Q,B,J)=>`\x1B[${38+A};2;${Q};${B};${J}m`,j7={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]}},xs2=Object.keys(j7.modifier),it6=Object.keys(j7.color),at6=Object.keys(j7.bgColor),gs2=[...it6,...at6];function nt6(){let A=new Map;for(let[Q,B]of Object.entries(j7)){for(let[J,D]of Object.entries(B))j7[J]={open:`\x1B[${D[0]}m`,close:`\x1B[${D[1]}m`},B[J]=j7[J],A.set(D[0],D[1]);Object.defineProperty(j7,Q,{value:B,enumerable:!1})}return Object.defineProperty(j7,"codes",{value:A,enumerable:!1}),j7.color.close="\x1B[39m",j7.bgColor.close="\x1B[49m",j7.color.ansi=O5A(),j7.color.ansi256=R5A(),j7.color.ansi16m=L5A(),j7.bgColor.ansi=O5A(10),j7.bgColor.ansi256=R5A(10),j7.bgColor.ansi16m=L5A(10),Object.defineProperties(j7,{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)=>j7.rgbToAnsi256(...j7.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 X=Q%36;B=Math.floor(Q/36)/5,J=Math.floor(X/6)/5,D=X%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)=>j7.ansi256ToAnsi(j7.rgbToAnsi256(Q,B,J)),enumerable:!1},hexToAnsi:{value:(Q)=>j7.ansi256ToAnsi(j7.hexToAnsi256(Q)),enumerable:!1}}),j7}var rt6=nt6(),P7=rt6;var q71=new Set(["\x1B",""]),st6=39,Xy1="\x07",P5A="[",ot6="]",_5A="m",Y71=`${ot6}8;;`,T5A=(A)=>`${q71.values().next().value}${P5A}${A}${_5A}`,j5A=(A)=>`${q71.values().next().value}${Y71}${A}${Xy1}`,tt6=(A)=>A.split(" ").map((Q)=>Az(Q)),Zy1=(A,Q,B)=>{let J=[...Q],D=!1,z=!1,Z=Az(tV(A.at(-1)));for(let[X,K]of J.entries()){let G=Az(K);if(Z+G<=B)A[A.length-1]+=K;else A.push(K),Z=0;if(q71.has(K))D=!0,z=J.slice(X+1,X+1+Y71.length).join("")===Y71;if(D){if(z){if(K===Xy1)D=!1,z=!1}else if(K===_5A)D=!1;continue}if(Z+=G,Z===B&&X<J.length-1)A.push(""),Z=0}if(!Z&&A.at(-1).length>0&&A.length>1)A[A.length-2]+=A.pop()},et6=(A)=>{let Q=A.split(" "),B=Q.length;while(B>0){if(Az(Q[B-1])>0)break;B--}if(B===Q.length)return A;return Q.slice(0,B).join(" ")+Q.slice(B).join("")},Ae6=(A,Q,B={})=>{if(B.trim!==!1&&A.trim()==="")return"";let J="",D,z,Z=tt6(A),X=[""];for(let[q,F]of A.split(" ").entries()){if(B.trim!==!1)X[X.length-1]=X.at(-1).trimStart();let E=Az(X.at(-1));if(q!==0){if(E>=Q&&(B.wordWrap===!1||B.trim===!1))X.push(""),E=0;if(E>0||B.trim===!1)X[X.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)X.push("");Zy1(X,F,Q);continue}if(E+Z[q]>Q&&E>0&&Z[q]>0){if(B.wordWrap===!1&&E<Q){Zy1(X,F,Q);continue}X.push("")}if(E+Z[q]>Q&&B.wordWrap===!1){Zy1(X,F,Q);continue}X[X.length-1]+=F}if(B.trim!==!1)X=X.map((q)=>et6(q));let K=X.join(`
|
@@ -4661,7 +4661,7 @@ Visit `+D.print(new URL("/pay",X).toString(),{foreground:"blue",style:"bold"})+`
|
|
4661
4661
|
`);let P=`${X.replace(/\/$/,"")}/threads/${z}`;return H.append(D.print(`Thread: ${P}`,{foreground:"gray"})+`
|
4662
4662
|
`+D.print(`Continue this thread with: 'amp threads continue ${z}'`,{foreground:"gray"})+`
|
4663
4663
|
`),{...j,type:"shutting-down"}}}return j}}return j}),{type:"initializing",tokenUsage:null,updateState:"none",hasSentPipedInput:!1})).subscribe({error:(j)=>{rC(),k1.error("Error in terminal UI:",j),B.write(D.print(j.toString(),{foreground:"red"})+`
|
4664
|
-
`),E.next({type:"exit"})}}),wA.from(E)}}var q02="> ";var iy1=ly1.join(E0A||ly1.join(process.env.HOME||process.cwd(),".local","state"),"amp","last-thread-id");async function ay1(A){try{await F02(ly1.dirname(iy1),{recursive:!0}),await H02(iy1,A,"utf-8")}catch(Q){k1.debug("Failed to save last thread ID",Q)}}async function nQA(){try{return(await E02(iy1,"utf-8")).trim()}catch(A){return null}}async function w02(A){let Q=await UJ(`/api/threads/${A}`);if(!Q.ok){let B=await Q.text();if(Q.status===404||B.includes("not found"))throw new DX(ZY.threadNotFound(A));throw new DX(`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 sQA=process.env.TERMINAL_EMULATOR?.includes("JetBrains")??!1,W02=[{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 ${$E})`},{name:"logLevel",long:"log-level",type:"option",description:`Set log level (${Object.keys(k1).join(", ")})`},{name:"logFile",long:"log-file",type:"option",description:"Set log file location"},{name:"format",long:"format",type:"option",default:"ui",description:"Output format (ui: interactive terminal, jsonl: JSON Lines for scripts)",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:sQA,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 M02(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((X)=>B.includes(X)||X.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 DX(ZY.unknownCommand(B),1,Z)}}class oQA{async environment(){let A=process.cwd(),Q=L8.file(A),B=HG1(null),J=await pn1(Q,B,{workingDirectory:Q});return{workspacePaths:[A],workingDirectory:A,rootDirectoryListing:J}}}async function qf(A,Q){ck({logLevel:Q.logLevel||process.env.AMP_LOG_LEVEL,logFile:Q.logFile||process.env.AMP_LOG_FILE}),Km1("0.0.
|
4664
|
+
`),E.next({type:"exit"})}}),wA.from(E)}}var q02="> ";var iy1=ly1.join(E0A||ly1.join(process.env.HOME||process.cwd(),".local","state"),"amp","last-thread-id");async function ay1(A){try{await F02(ly1.dirname(iy1),{recursive:!0}),await H02(iy1,A,"utf-8")}catch(Q){k1.debug("Failed to save last thread ID",Q)}}async function nQA(){try{return(await E02(iy1,"utf-8")).trim()}catch(A){return null}}async function w02(A){let Q=await UJ(`/api/threads/${A}`);if(!Q.ok){let B=await Q.text();if(Q.status===404||B.includes("not found"))throw new DX(ZY.threadNotFound(A));throw new DX(`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 sQA=process.env.TERMINAL_EMULATOR?.includes("JetBrains")??!1,W02=[{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 ${$E})`},{name:"logLevel",long:"log-level",type:"option",description:`Set log level (${Object.keys(k1).join(", ")})`},{name:"logFile",long:"log-file",type:"option",description:"Set log file location"},{name:"format",long:"format",type:"option",default:"ui",description:"Output format (ui: interactive terminal, jsonl: JSON Lines for scripts)",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:sQA,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 M02(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((X)=>B.includes(X)||X.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 DX(ZY.unknownCommand(B),1,Z)}}class oQA{async environment(){let A=process.cwd(),Q=L8.file(A),B=HG1(null),J=await pn1(Q,B,{workingDirectory:Q});return{workspacePaths:[A],workingDirectory:A,rootDirectoryListing:J}}}async function qf(A,Q){ck({logLevel:Q.logLevel||process.env.AMP_LOG_LEVEL,logFile:Q.logFile||process.env.AMP_LOG_FILE}),Km1("0.0.1752148945-gd8844f");let B=Q.settingsFile??process.env.AMP_SETTINGS_FILE;k1.info("Using settings file",{settingsFile:B});let J=ak1(vl()),D=$l({settingsFile:B}),z=KJ1({storage:D,secretStorage:J,workspaceRoots:wA.of([L8.file(process.cwd())]),defaultAmpURL:A.ampURL}),Z=new oQA,X=bY(),K=Xa1({configService:z,toolService:X});try{await K.initialized}catch(j){k1.warn("Failed to wait for MCP servers, continuing anyway:",j)}let G=await d6(_8);if(Q.dangerouslyAllowAll)G.settings.dangerouslyAllowAll=!0;if(Q.jetbrains){if(G.settings["jetbrains.enabled"]=!0,gj.subscribe((R)=>{k1.info("jetbrains-status",R)}),await gX1(),!await Zc1()){if(sQA)T8.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 T8.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 Y=G.settings["experimental.reviewTool"]??!1,q=G.settings["experimental.tools"]??[];YS1(X,!1,Y,q);let F,E;if(A.isInteractiveMode){F=new g51,await F.start();try{await c9A(F,process.cwd())}catch(j){k1.error("Failed to index files for fuzzy completion",j)}E=d9A(F,process.cwd())}else F=new class extends g51{async start(){}async query(){return[]}dispose(){}},E={[Symbol.dispose]:()=>{}};if(!await J.get("apiKey",A.ampURL)){if(r5.write(`No API key found. Starting login flow...
|
4665
4665
|
`),!await I02(A,J))process.exit(1)}let H=ra1(),w=new nG1(H),W=new aG1(H),M=new HE1(w),I=new Mf1({configService:z,threadService:w,toolService:X,systemPromptService:Z,threadSummaryService:M,threadHistoryService:W,mcpService:K}),N=Q.notifications!==void 0?Q.notifications:A.isInteractiveMode,V=r1A({playNotificationSound:async(j)=>{if(N)zl(j)},windowFocused:()=>Promise.resolve(!1)});k1.info("Starting Amp background services");let T=e90({threadService:w,threadHistoryService:W,isExtensionDevelopment:!1});return{configService:z,systemPromptService:Z,toolService:X,mcpService:K,threadService:w,threadHistoryService:W,summaryService:M,threadSyncService:T,threadStorage:H,secretStorage:J,settingsStorage:D,fileWatcher:E,fuzzyServer:F,subthreadTracker:I,notificationService:V}}async function I02(A,Q){if(A.isInteractiveMode){if(await kE("Would you like to log in to Amp?",["(y)es","(n)o"])!="y")return r5.write(`Login cancelled. Run the command again to retry.
|
4666
4666
|
`),!1}return await tQA(A,Q)}async function tQA(A,Q){let B=U02(32).toString("hex"),J=await H4A(A.ampURL,B);r5.write(`If your browser doesn't open automatically, visit:
|
4667
4667
|
|
@@ -4676,8 +4676,8 @@ ${A.printer.print(J,{foreground:"blue",style:"bold"})}
|
|
4676
4676
|
Login successful! You can now use the Amp CLI.
|
4677
4677
|
`),!0}catch(D){return T8.write(`
|
4678
4678
|
Login failed: ${D instanceof Error?D.message:String(D)}
|
4679
|
-
`),!1}}var N02=new Set(["fuzzy-server"]);function C02(A){let Q=new Xl().name("amp").description("AI-powered coding assistant").option("--visibility <visibility>","Set thread visibility (private, public, team)").configureOutput({writeErr:()=>{}});Q.exitOverride((K)=>{if(K.code==="commander.help"||K.code==="commander.version"||K.exitCode===0)rC(),process.exit(0);let G=K.originalError??K;dk(A,G)}),Q.option("-V, --version","output the version number",()=>{if(A.isTTY)r5.write(`0.0.
|
4680
|
-
`);else r5.write(`0.0.
|
4679
|
+
`),!1}}var N02=new Set(["fuzzy-server"]);function C02(A){let Q=new Xl().name("amp").description("AI-powered coding assistant").option("--visibility <visibility>","Set thread visibility (private, public, team)").configureOutput({writeErr:()=>{}});Q.exitOverride((K)=>{if(K.code==="commander.help"||K.code==="commander.version"||K.exitCode===0)rC(),process.exit(0);let G=K.originalError??K;dk(A,G)}),Q.option("-V, --version","output the version number",()=>{if(A.isTTY)r5.write(`0.0.1752148945-gd8844f ${A.printer.print("(released 2025-07-10T12:07:18.715Z)",{foreground:"gray"})}
|
4680
|
+
`);else r5.write(`0.0.1752148945-gd8844f (released 2025-07-10T12:07:18.715Z)
|
4681
4681
|
`);process.exit(0)}),Q.addHelpText("after",(()=>{let K="";K+=A.printer.print("Environment variables:",{style:"bold"})+`
|
4682
4682
|
|
4683
4683
|
`,K+=" "+A.printer.print("AMP_API_KEY",{foreground:"green"})+` API key for Amp (see https://ampcode.com/settings)
|
@@ -4765,7 +4765,7 @@ Summary: ${I}
|
|
4765
4765
|
`),T8.write(`Secrets have been automatically redacted, but please review the file before attaching
|
4766
4766
|
`),T8.write(`it to support requests. Learn more at https://ampcode.com/manual#support-bundles
|
4767
4767
|
`),process.exit(0)}catch(G){T8.write(A.printer.print("Error generating support bundle: ",{foreground:"red"})+`${G instanceof Error?G.message:String(G)}
|
4768
|
-
`),process.exit(1)}}),Q.addCommand(z);let Z=new Xl("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(K)=>{try{let G=nz(K);ck({logLevel:K.logLevel,logFile:K.logFile});let{checkForUpdate:Y,update:q}=await Promise.resolve().then(() => (Vf1(),k4A)),F="0.0.
|
4768
|
+
`),process.exit(1)}}),Q.addCommand(z);let Z=new Xl("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(K)=>{try{let G=nz(K);ck({logLevel:K.logLevel,logFile:K.logFile});let{checkForUpdate:Y,update:q}=await Promise.resolve().then(() => (Vf1(),k4A)),F="0.0.1752148945-gd8844f";if(K.version)T8.write(G.printer.print(`Updating to version ${K.version}...`,{foreground:"blue"})+`
|
4769
4769
|
`),await q(K.version),T8.write(G.printer.print(`✓ Successfully updated to version ${K.version}`,{foreground:"green"})+`
|
4770
4770
|
`);else{T8.write(G.printer.print("Checking for updates...",{foreground:"blue"})+`
|
4771
4771
|
`);let E=await Y(F);if(!E.hasUpdate)T8.write(G.printer.print("✓ Amp CLI is already up to date.",{foreground:"green"})+`
|