473 lines
1.4 MiB
473 lines
1.4 MiB
"use strict";var DG=Object.create;var oS=Object.defineProperty;var GL=Object.getOwnPropertyDescriptor;var _G=Object.getOwnPropertyNames;var TG=Object.getPrototypeOf,RG=Object.prototype.hasOwnProperty;var AG=(n,e)=>()=>(n&&(e=n(n=0)),e);var O=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),zL=(n,e)=>{for(var t in e)oS(n,t,{get:e[t],enumerable:!0})},QL=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _G(e))!RG.call(n,i)&&i!==t&&oS(n,i,{get:()=>e[i],enumerable:!(r=GL(e,i))||r.enumerable});return n};var k=(n,e,t)=>(t=n!=null?DG(TG(n)):{},QL(e||!n||!n.__esModule?oS(t,"default",{value:n,enumerable:!0}):t,n)),YL=n=>QL(oS({},"__esModule",{value:!0}),n),v=(n,e,t,r)=>{for(var i=r>1?void 0:r?GL(e,t):e,o=n.length-1,s;o>=0;o--)(s=n[o])&&(i=(r?s(e,t,i):s(i))||i);return r&&i&&oS(e,t,i),i},m=(n,e)=>(t,r)=>e(t,r,n);var ZL=O(()=>{var XL;(function(n){(function(e){var t=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:Function("return this;")(),r=i(n);typeof t.Reflect>"u"?t.Reflect=n:r=i(t.Reflect,r),e(r);function i(o,s){return function(a,l){typeof o[a]!="function"&&Object.defineProperty(o,a,{configurable:!0,writable:!0,value:l}),s&&s(a,l)}}})(function(e){var t=Object.prototype.hasOwnProperty,r=typeof Symbol=="function",i=r&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",o=r&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",s=typeof Object.create=="function",a={__proto__:[]}instanceof Array,l=!s&&!a,c={create:s?function(){return Xr(Object.create(null))}:a?function(){return Xr({__proto__:null})}:function(){return Xr({})},has:l?function($,X){return t.call($,X)}:function($,X){return X in $},get:l?function($,X){return t.call($,X)?$[X]:void 0}:function($,X){return $[X]}},u=Object.getPrototypeOf(Function),d=typeof process=="object"&&process.env&&process.env.REFLECT_METADATA_USE_MAP_POLYFILL==="true",f=!d&&typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:yr(),g=!d&&typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:Lr(),b=!d&&typeof WeakMap=="function"?WeakMap:wr(),I=new b;function E($,X,ue,ve){if(nr(ue)){if(!fc($))throw new TypeError;if(!U(X))throw new TypeError;return Ie($,X)}else{if(!fc($))throw new TypeError;if(!Fr(X))throw new TypeError;if(!Fr(ve)&&!nr(ve)&&!pi(ve))throw new TypeError;return pi(ve)&&(ve=void 0),ue=zn(ue),Ke($,X,ue,ve)}}e("decorate",E);function x($,X){function ue(ve,Je){if(!Fr(ve))throw new TypeError;if(!nr(Je)&&!pe(Je))throw new TypeError;Te($,X,ve,Je)}return ue}e("metadata",x);function A($,X,ue,ve){if(!Fr(ue))throw new TypeError;return nr(ve)||(ve=zn(ve)),Te($,X,ue,ve)}e("defineMetadata",A);function T($,X,ue){if(!Fr(X))throw new TypeError;return nr(ue)||(ue=zn(ue)),mt($,X,ue)}e("hasMetadata",T);function J($,X,ue){if(!Fr(X))throw new TypeError;return nr(ue)||(ue=zn(ue)),kt($,X,ue)}e("hasOwnMetadata",J);function ne($,X,ue){if(!Fr(X))throw new TypeError;return nr(ue)||(ue=zn(ue)),ee($,X,ue)}e("getMetadata",ne);function H($,X,ue){if(!Fr(X))throw new TypeError;return nr(ue)||(ue=zn(ue)),Ee($,X,ue)}e("getOwnMetadata",H);function oe($,X){if(!Fr($))throw new TypeError;return nr(X)||(X=zn(X)),he($,X)}e("getMetadataKeys",oe);function ae($,X){if(!Fr($))throw new TypeError;return nr(X)||(X=zn(X)),ht($,X)}e("getOwnMetadataKeys",ae);function Y($,X,ue){if(!Fr(X))throw new TypeError;nr(ue)||(ue=zn(ue));var ve=pt(X,ue,!1);if(nr(ve)||!ve.delete($))return!1;if(ve.size>0)return!0;var Je=I.get(X);return Je.delete(ue),Je.size>0||I.delete(X),!0}e("deleteMetadata",Y);function Ie($,X){for(var ue=$.length-1;ue>=0;--ue){var ve=$[ue],Je=ve(X);if(!nr(Je)&&!pi(Je)){if(!U(Je))throw new TypeError;X=Je}}return X}function Ke($,X,ue,ve){for(var Je=$.length-1;Je>=0;--Je){var Zr=$[Je],bt=Zr(X,ue,ve);if(!nr(bt)&&!pi(bt)){if(!Fr(bt))throw new TypeError;ve=bt}}return ve}function pt($,X,ue){var ve=I.get($);if(nr(ve)){if(!ue)return;ve=new f,I.set($,ve)}var Je=ve.get(X);if(nr(Je)){if(!ue)return;Je=new f,ve.set(X,Je)}return Je}function mt($,X,ue){var ve=kt($,X,ue);if(ve)return!0;var Je=xt(X);return pi(Je)?!1:mt($,Je,ue)}function kt($,X,ue){var ve=pt(X,ue,!1);return nr(ve)?!1:Nt(ve.has($))}function ee($,X,ue){var ve=kt($,X,ue);if(ve)return Ee($,X,ue);var Je=xt(X);if(!pi(Je))return ee($,Je,ue)}function Ee($,X,ue){var ve=pt(X,ue,!1);if(!nr(ve))return ve.get($)}function Te($,X,ue,ve){var Je=pt(ue,ve,!0);Je.set($,X)}function he($,X){var ue=ht($,X),ve=xt($);if(ve===null)return ue;var Je=he(ve,X);if(Je.length<=0)return ue;if(ue.length<=0)return Je;for(var Zr=new g,bt=[],wt=0,Qe=ue;wt<Qe.length;wt++){var At=Qe[wt],Z=Zr.has(At);Z||(Zr.add(At),bt.push(At))}for(var le=0,W=Je;le<W.length;le++){var At=W[le],Z=Zr.has(At);Z||(Zr.add(At),bt.push(At))}return bt}function ht($,X){var ue=[],ve=pt($,X,!1);if(nr(ve))return ue;for(var Je=ve.keys(),Zr=ze(Je),bt=0;;){var wt=Wt(Zr);if(!wt)return ue.length=bt,ue;var Qe=Yr(wt);try{ue[bt]=Qe}catch(At){try{Mt(Zr)}finally{throw At}}bt++}}function Fi($){if($===null)return 1;switch(typeof $){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return $===null?1:6;default:return 6}}function nr($){return $===void 0}function pi($){return $===null}function Du($){return typeof $=="symbol"}function Fr($){return typeof $=="object"?$!==null:typeof $=="function"}function zs($,X){switch(Fi($)){case 0:return $;case 1:return $;case 2:return $;case 3:return $;case 4:return $;case 5:return $}var ue=X===3?"string":X===5?"number":"default",ve=Re($,i);if(ve!==void 0){var Je=ve.call($,ue);if(Fr(Je))throw new TypeError;return Je}return Ka($,ue==="default"?"number":ue)}function Ka($,X){if(X==="string"){var ue=$.toString;if(F(ue)){var ve=ue.call($);if(!Fr(ve))return ve}var Je=$.valueOf;if(F(Je)){var ve=Je.call($);if(!Fr(ve))return ve}}else{var Je=$.valueOf;if(F(Je)){var ve=Je.call($);if(!Fr(ve))return ve}var Zr=$.toString;if(F(Zr)){var ve=Zr.call($);if(!Fr(ve))return ve}}throw new TypeError}function Nt($){return!!$}function Li($){return""+$}function zn($){var X=zs($,3);return Du(X)?X:Li(X)}function fc($){return Array.isArray?Array.isArray($):$ instanceof Object?$ instanceof Array:Object.prototype.toString.call($)==="[object Array]"}function F($){return typeof $=="function"}function U($){return typeof $=="function"}function pe($){switch(Fi($)){case 3:return!0;case 4:return!0;default:return!1}}function Re($,X){var ue=$[X];if(ue!=null){if(!F(ue))throw new TypeError;return ue}}function ze($){var X=Re($,o);if(!F(X))throw new TypeError;var ue=X.call($);if(!Fr(ue))throw new TypeError;return ue}function Yr($){return $.value}function Wt($){var X=$.next();return X.done?!1:X}function Mt($){var X=$.return;X&&X.call($)}function xt($){var X=Object.getPrototypeOf($);if(typeof $!="function"||$===u||X!==u)return X;var ue=$.prototype,ve=ue&&Object.getPrototypeOf(ue);if(ve==null||ve===Object.prototype)return X;var Je=ve.constructor;return typeof Je!="function"||Je===$?X:Je}function yr(){var $={},X=[],ue=function(){function bt(wt,Qe,At){this._index=0,this._keys=wt,this._values=Qe,this._selector=At}return bt.prototype["@@iterator"]=function(){return this},bt.prototype[o]=function(){return this},bt.prototype.next=function(){var wt=this._index;if(wt>=0&&wt<this._keys.length){var Qe=this._selector(this._keys[wt],this._values[wt]);return wt+1>=this._keys.length?(this._index=-1,this._keys=X,this._values=X):this._index++,{value:Qe,done:!1}}return{value:void 0,done:!0}},bt.prototype.throw=function(wt){throw this._index>=0&&(this._index=-1,this._keys=X,this._values=X),wt},bt.prototype.return=function(wt){return this._index>=0&&(this._index=-1,this._keys=X,this._values=X),{value:wt,done:!0}},bt}();return function(){function bt(){this._keys=[],this._values=[],this._cacheKey=$,this._cacheIndex=-2}return Object.defineProperty(bt.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),bt.prototype.has=function(wt){return this._find(wt,!1)>=0},bt.prototype.get=function(wt){var Qe=this._find(wt,!1);return Qe>=0?this._values[Qe]:void 0},bt.prototype.set=function(wt,Qe){var At=this._find(wt,!0);return this._values[At]=Qe,this},bt.prototype.delete=function(wt){var Qe=this._find(wt,!1);if(Qe>=0){for(var At=this._keys.length,Z=Qe+1;Z<At;Z++)this._keys[Z-1]=this._keys[Z],this._values[Z-1]=this._values[Z];return this._keys.length--,this._values.length--,wt===this._cacheKey&&(this._cacheKey=$,this._cacheIndex=-2),!0}return!1},bt.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=$,this._cacheIndex=-2},bt.prototype.keys=function(){return new ue(this._keys,this._values,ve)},bt.prototype.values=function(){return new ue(this._keys,this._values,Je)},bt.prototype.entries=function(){return new ue(this._keys,this._values,Zr)},bt.prototype["@@iterator"]=function(){return this.entries()},bt.prototype[o]=function(){return this.entries()},bt.prototype._find=function(wt,Qe){return this._cacheKey!==wt&&(this._cacheIndex=this._keys.indexOf(this._cacheKey=wt)),this._cacheIndex<0&&Qe&&(this._cacheIndex=this._keys.length,this._keys.push(wt),this._values.push(void 0)),this._cacheIndex},bt}();function ve(bt,wt){return bt}function Je(bt,wt){return wt}function Zr(bt,wt){return[bt,wt]}}function Lr(){return function(){function $(){this._map=new f}return Object.defineProperty($.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),$.prototype.has=function(X){return this._map.has(X)},$.prototype.add=function(X){return this._map.set(X,X),this},$.prototype.delete=function(X){return this._map.delete(X)},$.prototype.clear=function(){this._map.clear()},$.prototype.keys=function(){return this._map.keys()},$.prototype.values=function(){return this._map.values()},$.prototype.entries=function(){return this._map.entries()},$.prototype["@@iterator"]=function(){return this.keys()},$.prototype[o]=function(){return this.keys()},$}()}function wr(){var $=16,X=c.create(),ue=ve();return function(){function Qe(){this._key=ve()}return Qe.prototype.has=function(At){var Z=Je(At,!1);return Z!==void 0?c.has(Z,this._key):!1},Qe.prototype.get=function(At){var Z=Je(At,!1);return Z!==void 0?c.get(Z,this._key):void 0},Qe.prototype.set=function(At,Z){var le=Je(At,!0);return le[this._key]=Z,this},Qe.prototype.delete=function(At){var Z=Je(At,!1);return Z!==void 0?delete Z[this._key]:!1},Qe.prototype.clear=function(){this._key=ve()},Qe}();function ve(){var Qe;do Qe="@@WeakMap@@"+wt();while(c.has(X,Qe));return X[Qe]=!0,Qe}function Je(Qe,At){if(!t.call(Qe,ue)){if(!At)return;Object.defineProperty(Qe,ue,{value:c.create()})}return Qe[ue]}function Zr(Qe,At){for(var Z=0;Z<At;++Z)Qe[Z]=Math.random()*255|0;return Qe}function bt(Qe){return typeof Uint8Array=="function"?typeof crypto<"u"?crypto.getRandomValues(new Uint8Array(Qe)):typeof msCrypto<"u"?msCrypto.getRandomValues(new Uint8Array(Qe)):Zr(new Uint8Array(Qe),Qe):Zr(new Array(Qe),Qe)}function wt(){var Qe=bt($);Qe[6]=Qe[6]&79|64,Qe[8]=Qe[8]&191|128;for(var At="",Z=0;Z<$;++Z){var le=Qe[Z];(Z===4||Z===6||Z===8)&&(At+="-"),le<16&&(At+="0"),At+=le.toString(16).toLowerCase()}return At}}function Xr($){return $.__=void 0,delete $.__,$}})})(XL||(XL={}))});var eU={};zL(eU,{isPreRelesVersionOfJupyterExtension:()=>NG});var NG,tU=AG(()=>{"use strict";NG=!1});var UU=O(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.EventEmitter=Va.once=Va.toPromise=void 0;function lz(n,e){return e?e.aborted?Promise.resolve(void 0):new Promise(t=>{let r=(0,Va.once)(n,o=>{e.removeEventListener("abort",i),t(o)}),i=()=>{r.dispose(),e.removeEventListener("abort",i),t(void 0)};e.addEventListener("abort",i)}):new Promise(t=>(0,Va.once)(n,t))}Va.toPromise=lz;var cz=(n,e)=>{let t=n(r=>{e(r),t.dispose()});return t};Va.once=cz;var _R=class{constructor(){this.event=(e,t,r)=>{let i=this.add(t?e.bind(t):e);return r?.push(i),i}}get size(){return this.listeners?typeof this.listeners=="function"?1:this.listeners.length:0}fire(e){if(this.listeners)if(typeof this.listeners=="function")this.listeners(e);else for(let t of this.listeners)t(e)}dispose(){this.listeners=void 0}add(e){return this.listeners?typeof this.listeners=="function"?this.listeners=[this.listeners,e]:this.listeners.push(e):this.listeners=e,{dispose:()=>this.rm(e)}}rm(e){if(!this.listeners)return;if(typeof this.listeners=="function"){this.listeners===e&&(this.listeners=void 0);return}let t=this.listeners.indexOf(e);t!==-1&&(this.listeners.length===2?this.listeners=t===0?this.listeners[1]:this.listeners[0]:this.listeners=this.listeners.slice(0,t).concat(this.listeners.slice(t+1)))}};Va.EventEmitter=_R});var Sn=O(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.NON_CUSTOM_TAG_KEYS=Bt.PRE_DESTROY=Bt.POST_CONSTRUCT=Bt.DESIGN_PARAM_TYPES=Bt.PARAM_TYPES=Bt.TAGGED_PROP=Bt.TAGGED=Bt.MULTI_INJECT_TAG=Bt.INJECT_TAG=Bt.OPTIONAL_TAG=Bt.UNMANAGED_TAG=Bt.NAME_TAG=Bt.NAMED_TAG=void 0;Bt.NAMED_TAG="named";Bt.NAME_TAG="name";Bt.UNMANAGED_TAG="unmanaged";Bt.OPTIONAL_TAG="optional";Bt.INJECT_TAG="inject";Bt.MULTI_INJECT_TAG="multi_inject";Bt.TAGGED="inversify:tagged";Bt.TAGGED_PROP="inversify:tagged_props";Bt.PARAM_TYPES="inversify:paramtypes";Bt.DESIGN_PARAM_TYPES="design:paramtypes";Bt.POST_CONSTRUCT="post_construct";Bt.PRE_DESTROY="pre_destroy";function uz(){return[Bt.INJECT_TAG,Bt.MULTI_INJECT_TAG,Bt.NAME_TAG,Bt.UNMANAGED_TAG,Bt.NAMED_TAG,Bt.OPTIONAL_TAG]}Bt.NON_CUSTOM_TAG_KEYS=uz()});var ea=O(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});ju.TargetTypeEnum=ju.BindingTypeEnum=ju.BindingScopeEnum=void 0;var dz={Request:"Request",Singleton:"Singleton",Transient:"Transient"};ju.BindingScopeEnum=dz;var pz={ConstantValue:"ConstantValue",Constructor:"Constructor",DynamicValue:"DynamicValue",Factory:"Factory",Function:"Function",Instance:"Instance",Invalid:"Invalid",Provider:"Provider"};ju.BindingTypeEnum=pz;var mz={ClassProperty:"ClassProperty",ConstructorArgument:"ConstructorArgument",Variable:"Variable"};ju.TargetTypeEnum=mz});var Ju=O(AE=>{"use strict";Object.defineProperty(AE,"__esModule",{value:!0});AE.id=void 0;var fz=0;function hz(){return fz++}AE.id=hz});var GU=O(NE=>{"use strict";Object.defineProperty(NE,"__esModule",{value:!0});NE.Binding=void 0;var HU=ea(),gz=Ju(),vz=function(){function n(e,t){this.id=(0,gz.id)(),this.activated=!1,this.serviceIdentifier=e,this.scope=t,this.type=HU.BindingTypeEnum.Invalid,this.constraint=function(r){return!0},this.implementationType=null,this.cache=null,this.factory=null,this.provider=null,this.onActivation=null,this.onDeactivation=null,this.dynamicValue=null}return n.prototype.clone=function(){var e=new n(this.serviceIdentifier,this.scope);return e.activated=e.scope===HU.BindingScopeEnum.Singleton?this.activated:!1,e.implementationType=this.implementationType,e.dynamicValue=this.dynamicValue,e.scope=this.scope,e.type=this.type,e.factory=this.factory,e.provider=this.provider,e.constraint=this.constraint,e.onActivation=this.onActivation,e.onDeactivation=this.onDeactivation,e.cache=this.cache,e},n}();NE.Binding=vz});var bi=O(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.STACK_OVERFLOW=Ne.CIRCULAR_DEPENDENCY_IN_FACTORY=Ne.ON_DEACTIVATION_ERROR=Ne.PRE_DESTROY_ERROR=Ne.POST_CONSTRUCT_ERROR=Ne.ASYNC_UNBIND_REQUIRED=Ne.MULTIPLE_POST_CONSTRUCT_METHODS=Ne.MULTIPLE_PRE_DESTROY_METHODS=Ne.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK=Ne.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE=Ne.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE=Ne.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT=Ne.ARGUMENTS_LENGTH_MISMATCH=Ne.INVALID_DECORATOR_OPERATION=Ne.INVALID_TO_SELF_VALUE=Ne.LAZY_IN_SYNC=Ne.INVALID_FUNCTION_BINDING=Ne.INVALID_MIDDLEWARE_RETURN=Ne.NO_MORE_SNAPSHOTS_AVAILABLE=Ne.INVALID_BINDING_TYPE=Ne.NOT_IMPLEMENTED=Ne.CIRCULAR_DEPENDENCY=Ne.UNDEFINED_INJECT_ANNOTATION=Ne.MISSING_INJECT_ANNOTATION=Ne.MISSING_INJECTABLE_ANNOTATION=Ne.NOT_REGISTERED=Ne.CANNOT_UNBIND=Ne.AMBIGUOUS_MATCH=Ne.KEY_NOT_FOUND=Ne.NULL_ARGUMENT=Ne.DUPLICATED_METADATA=Ne.DUPLICATED_INJECTABLE_DECORATOR=void 0;Ne.DUPLICATED_INJECTABLE_DECORATOR="Cannot apply @injectable decorator multiple times.";Ne.DUPLICATED_METADATA="Metadata key was used more than once in a parameter:";Ne.NULL_ARGUMENT="NULL argument";Ne.KEY_NOT_FOUND="Key Not Found";Ne.AMBIGUOUS_MATCH="Ambiguous match found for serviceIdentifier:";Ne.CANNOT_UNBIND="Could not unbind serviceIdentifier:";Ne.NOT_REGISTERED="No matching bindings found for serviceIdentifier:";Ne.MISSING_INJECTABLE_ANNOTATION="Missing required @injectable annotation in:";Ne.MISSING_INJECT_ANNOTATION="Missing required @inject or @multiInject annotation in:";var yz=function(n){return"@inject called with undefined this could mean that the class "+n+" has a circular dependency problem. You can use a LazyServiceIdentifer to overcome this limitation."};Ne.UNDEFINED_INJECT_ANNOTATION=yz;Ne.CIRCULAR_DEPENDENCY="Circular dependency found:";Ne.NOT_IMPLEMENTED="Sorry, this feature is not fully implemented yet.";Ne.INVALID_BINDING_TYPE="Invalid binding type:";Ne.NO_MORE_SNAPSHOTS_AVAILABLE="No snapshot available to restore.";Ne.INVALID_MIDDLEWARE_RETURN="Invalid return type in middleware. Middleware must return!";Ne.INVALID_FUNCTION_BINDING="Value provided to function binding must be a function!";var bz=function(n){return"You are attempting to construct '"+n+`' in a synchronous way
|
||
but it has asynchronous dependencies.`};Ne.LAZY_IN_SYNC=bz;Ne.INVALID_TO_SELF_VALUE="The toSelf function can only be applied when a constructor is used as service identifier";Ne.INVALID_DECORATOR_OPERATION="The @inject @multiInject @tagged and @named decorators must be applied to the parameters of a class constructor or a class property.";var Iz=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return"The number of constructor arguments in the derived class "+(n[0]+" must be >= than the number of constructor arguments of its base class.")};Ne.ARGUMENTS_LENGTH_MISMATCH=Iz;Ne.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT="Invalid Container constructor argument. Container options must be an object.";Ne.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE="Invalid Container option. Default scope must be a string ('singleton' or 'transient').";Ne.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE="Invalid Container option. Auto bind injectable must be a boolean";Ne.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK="Invalid Container option. Skip base check must be a boolean";Ne.MULTIPLE_PRE_DESTROY_METHODS="Cannot apply @preDestroy decorator multiple times in the same class";Ne.MULTIPLE_POST_CONSTRUCT_METHODS="Cannot apply @postConstruct decorator multiple times in the same class";Ne.ASYNC_UNBIND_REQUIRED="Attempting to unbind dependency with asynchronous destruction (@preDestroy or onDeactivation)";var Sz=function(n,e){return"@postConstruct error in class "+n+": "+e};Ne.POST_CONSTRUCT_ERROR=Sz;var Cz=function(n,e){return"@preDestroy error in class "+n+": "+e};Ne.PRE_DESTROY_ERROR=Cz;var wz=function(n,e){return"onDeactivation() error in class "+n+": "+e};Ne.ON_DEACTIVATION_ERROR=wz;var Ez=function(n,e){return"It looks like there is a circular dependency in one of the '"+n+"' bindings. Please investigate bindings with"+("service identifier '"+e+"'.")};Ne.CIRCULAR_DEPENDENCY_IN_FACTORY=Ez;Ne.STACK_OVERFLOW="Maximum call stack size exceeded"});var MR=O(ja=>{"use strict";var Pz=ja&&ja.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),kz=ja&&ja.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),xz=ja&&ja.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&Pz(e,n,t);return kz(e,n),e};Object.defineProperty(ja,"__esModule",{value:!0});ja.MetadataReader=void 0;var NR=xz(Sn()),Dz=function(){function n(){}return n.prototype.getConstructorMetadata=function(e){var t=Reflect.getMetadata(NR.PARAM_TYPES,e),r=Reflect.getMetadata(NR.TAGGED,e);return{compilerGeneratedMetadata:t,userGeneratedMetadata:r||{}}},n.prototype.getPropertiesMetadata=function(e){var t=Reflect.getMetadata(NR.TAGGED_PROP,e)||[];return t},n}();ja.MetadataReader=Dz});var zU=O(ME=>{"use strict";Object.defineProperty(ME,"__esModule",{value:!0});ME.BindingCount=void 0;var _z={MultipleBindingsAvailable:2,NoBindingsAvailable:0,OnlyOneBindingAvailable:1};ME.BindingCount=_z});var KR=O(ms=>{"use strict";var Tz=ms&&ms.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),Rz=ms&&ms.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),Az=ms&&ms.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&Tz(e,n,t);return Rz(e,n),e};Object.defineProperty(ms,"__esModule",{value:!0});ms.tryAndThrowErrorIfStackOverflow=ms.isStackOverflowExeption=void 0;var Nz=Az(bi());function QU(n){return n instanceof RangeError||n.message===Nz.STACK_OVERFLOW}ms.isStackOverflowExeption=QU;var Mz=function(n,e){try{return n()}catch(t){throw QU(t)&&(t=e()),t}};ms.tryAndThrowErrorIfStackOverflow=Mz});var uh=O(Cn=>{"use strict";var Kz=Cn&&Cn.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),Oz=Cn&&Cn.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),Fz=Cn&&Cn.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&Kz(e,n,t);return Oz(e,n),e};Object.defineProperty(Cn,"__esModule",{value:!0});Cn.getSymbolDescription=Cn.circularDependencyToException=Cn.listMetadataForTarget=Cn.listRegisteredBindingsForServiceIdentifier=Cn.getServiceIdentifierAsString=Cn.getFunctionName=void 0;var Lz=Fz(bi());function YU(n){if(typeof n=="function"){var e=n;return e.name}else{if(typeof n=="symbol")return n.toString();var e=n;return e}}Cn.getServiceIdentifierAsString=YU;function Uz(n,e,t){var r="",i=t(n,e);return i.length!==0&&(r=`
|
||
Registered bindings:`,i.forEach(function(o){var s="Object";o.implementationType!==null&&(s=eW(o.implementationType)),r=r+`
|
||
`+s,o.constraint.metaData&&(r=r+" - "+o.constraint.metaData)})),r}Cn.listRegisteredBindingsForServiceIdentifier=Uz;function XU(n,e){return n.parentRequest===null?!1:n.parentRequest.serviceIdentifier===e?!0:XU(n.parentRequest,e)}function Wz(n){function e(r,i){i===void 0&&(i=[]);var o=YU(r.serviceIdentifier);return i.push(o),r.parentRequest!==null?e(r.parentRequest,i):i}var t=e(n);return t.reverse().join(" --> ")}function ZU(n){n.childRequests.forEach(function(e){if(XU(e,e.serviceIdentifier)){var t=Wz(e);throw new Error(Lz.CIRCULAR_DEPENDENCY+" "+t)}else ZU(e)})}Cn.circularDependencyToException=ZU;function Vz(n,e){if(e.isTagged()||e.isNamed()){var t="",r=e.getNamedTag(),i=e.getCustomTags();return r!==null&&(t+=r.toString()+`
|
||
`),i!==null&&i.forEach(function(o){t+=o.toString()+`
|
||
`})," "+n+`
|
||
`+n+" - "+t}else return" "+n}Cn.listMetadataForTarget=Vz;function eW(n){if(n.name)return n.name;var e=n.toString(),t=e.match(/^function\s*([^\s(]+)/);return t?t[1]:"Anonymous function: "+e}Cn.getFunctionName=eW;function jz(n){return n.toString().slice(7,-1)}Cn.getSymbolDescription=jz});var tW=O(KE=>{"use strict";Object.defineProperty(KE,"__esModule",{value:!0});KE.Context=void 0;var Jz=Ju(),Bz=function(){function n(e){this.id=(0,Jz.id)(),this.container=e}return n.prototype.addPlan=function(e){this.plan=e},n.prototype.setCurrentRequest=function(e){this.currentRequest=e},n}();KE.Context=Bz});var ta=O(Ja=>{"use strict";var $z=Ja&&Ja.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),qz=Ja&&Ja.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),Hz=Ja&&Ja.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&$z(e,n,t);return qz(e,n),e};Object.defineProperty(Ja,"__esModule",{value:!0});Ja.Metadata=void 0;var Gz=Hz(Sn()),zz=function(){function n(e,t){this.key=e,this.value=t}return n.prototype.toString=function(){return this.key===Gz.NAMED_TAG?"named: "+String(this.value).toString()+" ":"tagged: { key:"+this.key.toString()+", value: "+String(this.value)+" }"},n}();Ja.Metadata=zz});var rW=O(OE=>{"use strict";Object.defineProperty(OE,"__esModule",{value:!0});OE.Plan=void 0;var Qz=function(){function n(e,t){this.parentContext=e,this.rootRequest=t}return n}();OE.Plan=Qz});var OR=O(FE=>{"use strict";Object.defineProperty(FE,"__esModule",{value:!0});FE.LazyServiceIdentifer=void 0;var Yz=function(){function n(e){this._cb=e}return n.prototype.unwrap=function(){return this._cb()},n}();FE.LazyServiceIdentifer=Yz});var nW=O(LE=>{"use strict";Object.defineProperty(LE,"__esModule",{value:!0});LE.QueryableString=void 0;var Xz=function(){function n(e){this.str=e}return n.prototype.startsWith=function(e){return this.str.indexOf(e)===0},n.prototype.endsWith=function(e){var t="",r=e.split("").reverse().join("");return t=this.str.split("").reverse().join(""),this.startsWith.call({str:t},r)},n.prototype.contains=function(e){return this.str.indexOf(e)!==-1},n.prototype.equals=function(e){return this.str===e},n.prototype.value=function(){return this.str},n}();LE.QueryableString=Xz});var FR=O(Ba=>{"use strict";var Zz=Ba&&Ba.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),eQ=Ba&&Ba.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),tQ=Ba&&Ba.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&Zz(e,n,t);return eQ(e,n),e};Object.defineProperty(Ba,"__esModule",{value:!0});Ba.Target=void 0;var Ic=tQ(Sn()),rQ=Ju(),nQ=uh(),iW=ta(),iQ=nW(),oQ=function(){function n(e,t,r,i){this.id=(0,rQ.id)(),this.type=e,this.serviceIdentifier=r;var o=typeof t=="symbol"?(0,nQ.getSymbolDescription)(t):t;this.name=new iQ.QueryableString(o||""),this.identifier=t,this.metadata=new Array;var s=null;typeof i=="string"?s=new iW.Metadata(Ic.NAMED_TAG,i):i instanceof iW.Metadata&&(s=i),s!==null&&this.metadata.push(s)}return n.prototype.hasTag=function(e){for(var t=0,r=this.metadata;t<r.length;t++){var i=r[t];if(i.key===e)return!0}return!1},n.prototype.isArray=function(){return this.hasTag(Ic.MULTI_INJECT_TAG)},n.prototype.matchesArray=function(e){return this.matchesTag(Ic.MULTI_INJECT_TAG)(e)},n.prototype.isNamed=function(){return this.hasTag(Ic.NAMED_TAG)},n.prototype.isTagged=function(){return this.metadata.some(function(e){return Ic.NON_CUSTOM_TAG_KEYS.every(function(t){return e.key!==t})})},n.prototype.isOptional=function(){return this.matchesTag(Ic.OPTIONAL_TAG)(!0)},n.prototype.getNamedTag=function(){return this.isNamed()?this.metadata.filter(function(e){return e.key===Ic.NAMED_TAG})[0]:null},n.prototype.getCustomTags=function(){return this.isTagged()?this.metadata.filter(function(e){return Ic.NON_CUSTOM_TAG_KEYS.every(function(t){return e.key!==t})}):null},n.prototype.matchesNamedTag=function(e){return this.matchesTag(Ic.NAMED_TAG)(e)},n.prototype.matchesTag=function(e){var t=this;return function(r){for(var i=0,o=t.metadata;i<o.length;i++){var s=o[i];if(s.key===e&&s.value===r)return!0}return!1}},n}();Ba.Target=oQ});var pW=O(Ii=>{"use strict";var sQ=Ii&&Ii.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),aQ=Ii&&Ii.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),oW=Ii&&Ii.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&sQ(e,n,t);return aQ(e,n),e},UE=Ii&&Ii.__spreadArray||function(n,e,t){if(t||arguments.length===2)for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return n.concat(o||Array.prototype.slice.call(e))};Object.defineProperty(Ii,"__esModule",{value:!0});Ii.getFunctionName=Ii.getBaseClassDependencyCount=Ii.getDependencies=void 0;var lQ=OR(),LR=oW(bi()),sW=ea(),wS=oW(Sn()),UR=uh();Object.defineProperty(Ii,"getFunctionName",{enumerable:!0,get:function(){return UR.getFunctionName}});var aW=FR();function cQ(n,e){var t=(0,UR.getFunctionName)(e);return lW(n,t,e,!1)}Ii.getDependencies=cQ;function lW(n,e,t,r){var i=n.getConstructorMetadata(t),o=i.compilerGeneratedMetadata;if(o===void 0){var s=LR.MISSING_INJECTABLE_ANNOTATION+" "+e+".";throw new Error(s)}var a=i.userGeneratedMetadata,l=Object.keys(a),c=t.length===0&&l.length>0,u=l.length>t.length,d=c||u?l.length:t.length,f=dQ(r,e,o,a,d),g=cW(n,t,e),b=UE(UE([],f,!0),g,!0);return b}function uQ(n,e,t,r,i){var o=i[n.toString()]||[],s=dW(o),a=s.unmanaged!==!0,l=r[n],c=s.inject||s.multiInject;if(l=c||l,l instanceof lQ.LazyServiceIdentifer&&(l=l.unwrap()),a){var u=l===Object,d=l===Function,f=l===void 0,g=u||d||f;if(!e&&g){var b=LR.MISSING_INJECT_ANNOTATION+" argument "+n+" in class "+t+".";throw new Error(b)}var I=new aW.Target(sW.TargetTypeEnum.ConstructorArgument,s.targetName,l);return I.metadata=o,I}return null}function dQ(n,e,t,r,i){for(var o=[],s=0;s<i;s++){var a=s,l=uQ(a,n,e,t,r);l!==null&&o.push(l)}return o}function pQ(n,e,t,r){var i=n||e;if(i===void 0){var o=LR.MISSING_INJECTABLE_ANNOTATION+" for property "+String(t)+" in class "+r+".";throw new Error(o)}return i}function cW(n,e,t){for(var r=n.getPropertiesMetadata(e),i=[],o=Object.getOwnPropertySymbols(r),s=Object.keys(r),a=s.concat(o),l=0,c=a;l<c.length;l++){var u=c[l],d=r[u],f=dW(d),g=f.targetName||u,b=pQ(f.inject,f.multiInject,u,t),I=new aW.Target(sW.TargetTypeEnum.ClassProperty,g,b);I.metadata=d,i.push(I)}var E=Object.getPrototypeOf(e.prototype).constructor;if(E!==Object){var x=cW(n,E,t);i=UE(UE([],i,!0),x,!0)}return i}function uW(n,e){var t=Object.getPrototypeOf(e.prototype).constructor;if(t!==Object){var r=(0,UR.getFunctionName)(t),i=lW(n,r,t,!0),o=i.map(function(l){return l.metadata.filter(function(c){return c.key===wS.UNMANAGED_TAG})}),s=[].concat.apply([],o).length,a=i.length-s;return a>0?a:uW(n,t)}else return 0}Ii.getBaseClassDependencyCount=uW;function dW(n){var e={};return n.forEach(function(t){e[t.key.toString()]=t.value}),{inject:e[wS.INJECT_TAG],multiInject:e[wS.MULTI_INJECT_TAG],targetName:e[wS.NAME_TAG],unmanaged:e[wS.UNMANAGED_TAG]}}});var mW=O(WE=>{"use strict";Object.defineProperty(WE,"__esModule",{value:!0});WE.Request=void 0;var mQ=Ju(),fQ=function(){function n(e,t,r,i,o){this.id=(0,mQ.id)(),this.serviceIdentifier=e,this.parentContext=t,this.parentRequest=r,this.target=o,this.childRequests=[],this.bindings=Array.isArray(i)?i:[i],this.requestScope=r===null?new Map:null}return n.prototype.addChildRequest=function(e,t,r){var i=new n(e,this.parentContext,this,t,r);return this.childRequests.push(i),i},n}();WE.Request=fQ});var BR=O(ro=>{"use strict";var hQ=ro&&ro.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),gQ=ro&&ro.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),gW=ro&&ro.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&hQ(e,n,t);return gQ(e,n),e};Object.defineProperty(ro,"__esModule",{value:!0});ro.getBindingDictionary=ro.createMockRequest=ro.plan=void 0;var VE=zU(),VR=gW(bi()),vW=ea(),fW=gW(Sn()),vQ=KR(),dh=uh(),yW=tW(),jR=ta(),yQ=rW(),WR=pW(),JR=mW(),bW=FR();function IW(n){return n._bindingDictionary}ro.getBindingDictionary=IW;function bQ(n,e,t,r,i,o){var s=n?fW.MULTI_INJECT_TAG:fW.INJECT_TAG,a=new jR.Metadata(s,t),l=new bW.Target(e,r,t,a);if(i!==void 0){var c=new jR.Metadata(i,o);l.metadata.push(c)}return l}function hW(n,e,t,r,i){var o=ES(t.container,i.serviceIdentifier),s=[];return o.length===VE.BindingCount.NoBindingsAvailable&&t.container.options.autoBindInjectable&&typeof i.serviceIdentifier=="function"&&n.getConstructorMetadata(i.serviceIdentifier).compilerGeneratedMetadata&&(t.container.bind(i.serviceIdentifier).toSelf(),o=ES(t.container,i.serviceIdentifier)),e?s=o:s=o.filter(function(a){var l=new JR.Request(a.serviceIdentifier,t,r,a,i);return a.constraint(l)}),IQ(i.serviceIdentifier,s,i,t.container),s}function IQ(n,e,t,r){switch(e.length){case VE.BindingCount.NoBindingsAvailable:if(t.isOptional())return e;var i=(0,dh.getServiceIdentifierAsString)(n),o=VR.NOT_REGISTERED;throw o+=(0,dh.listMetadataForTarget)(i,t),o+=(0,dh.listRegisteredBindingsForServiceIdentifier)(r,i,ES),new Error(o);case VE.BindingCount.OnlyOneBindingAvailable:return e;case VE.BindingCount.MultipleBindingsAvailable:default:if(t.isArray())return e;var i=(0,dh.getServiceIdentifierAsString)(n),o=VR.AMBIGUOUS_MATCH+" "+i;throw o+=(0,dh.listRegisteredBindingsForServiceIdentifier)(r,i,ES),new Error(o)}}function SW(n,e,t,r,i,o){var s,a;if(i===null){s=hW(n,e,r,null,o),a=new JR.Request(t,r,null,s,o);var l=new yQ.Plan(r,a);r.addPlan(l)}else s=hW(n,e,r,i,o),a=i.addChildRequest(o.serviceIdentifier,s,o);s.forEach(function(c){var u=null;if(o.isArray())u=a.addChildRequest(c.serviceIdentifier,c,o);else{if(c.cache)return;u=a}if(c.type===vW.BindingTypeEnum.Instance&&c.implementationType!==null){var d=(0,WR.getDependencies)(n,c.implementationType);if(!r.container.options.skipBaseClassChecks){var f=(0,WR.getBaseClassDependencyCount)(n,c.implementationType);if(d.length<f){var g=VR.ARGUMENTS_LENGTH_MISMATCH((0,WR.getFunctionName)(c.implementationType));throw new Error(g)}}d.forEach(function(b){SW(n,!1,b.serviceIdentifier,r,u,b)})}})}function ES(n,e){var t=[],r=IW(n);return r.hasKey(e)?t=r.get(e):n.parent!==null&&(t=ES(n.parent,e)),t}function SQ(n,e,t,r,i,o,s,a){a===void 0&&(a=!1);var l=new yW.Context(e),c=bQ(t,r,i,"",o,s);try{return SW(n,a,i,l,null,c),l}catch(u){throw(0,vQ.isStackOverflowExeption)(u)&&(0,dh.circularDependencyToException)(l.plan.rootRequest),u}}ro.plan=SQ;function CQ(n,e,t,r){var i=new bW.Target(vW.TargetTypeEnum.Variable,"",e,new jR.Metadata(t,r)),o=new yW.Context(n),s=new JR.Request(e,o,null,[],i);return s}ro.createMockRequest=CQ});var PS=O(ph=>{"use strict";Object.defineProperty(ph,"__esModule",{value:!0});ph.isPromiseOrContainsPromise=ph.isPromise=void 0;function $R(n){var e=typeof n=="object"&&n!==null||typeof n=="function";return e&&typeof n.then=="function"}ph.isPromise=$R;function wQ(n){return $R(n)?!0:Array.isArray(n)&&n.some($R)}ph.isPromiseOrContainsPromise=wQ});var CW=O($a=>{"use strict";var EQ=$a&&$a.__awaiter||function(n,e,t,r){function i(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):i(u.value).then(a,l)}c((r=r.apply(n,e||[])).next())})},PQ=$a&&$a.__generator||function(n,e){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(c){return function(u){return l([c,u])}}function l(c){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=1,i&&(o=c[0]&2?i.return:c[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,c[1])).done)return o;switch(i=0,o&&(c=[c[0]&2,o.value]),c[0]){case 0:case 1:o=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,i=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(o=t.trys,!(o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){t.label=c[1];break}if(c[0]===6&&t.label<o[1]){t.label=o[1],o=c;break}if(o&&t.label<o[2]){t.label=o[2],t.ops.push(c);break}o[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(n,t)}catch(u){c=[6,u],i=0}finally{r=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}};Object.defineProperty($a,"__esModule",{value:!0});$a.saveToScope=$a.tryGetFromScope=void 0;var jE=N(),kQ=PS(),xQ=function(n,e){return e.scope===jE.BindingScopeEnum.Singleton&&e.activated?e.cache:e.scope===jE.BindingScopeEnum.Request&&n.has(e.id)?n.get(e.id):null};$a.tryGetFromScope=xQ;var DQ=function(n,e,t){e.scope===jE.BindingScopeEnum.Singleton&&TQ(e,t),e.scope===jE.BindingScopeEnum.Request&&_Q(n,e,t)};$a.saveToScope=DQ;var _Q=function(n,e,t){n.has(e.id)||n.set(e.id,t)},TQ=function(n,e){n.cache=e,n.activated=!0,(0,kQ.isPromise)(e)&&RQ(n,e)},RQ=function(n,e){return EQ(void 0,void 0,void 0,function(){var t,r;return PQ(this,function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,e];case 1:return t=i.sent(),n.cache=t,[3,3];case 2:throw r=i.sent(),n.cache=null,n.activated=!1,r;case 3:return[2]}})})}});var wW=O(kS=>{"use strict";Object.defineProperty(kS,"__esModule",{value:!0});kS.FactoryType=void 0;var AQ;(function(n){n.DynamicValue="toDynamicValue",n.Factory="toFactory",n.Provider="toProvider"})(AQ=kS.FactoryType||(kS.FactoryType={}))});var HR=O(no=>{"use strict";var NQ=no&&no.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),MQ=no&&no.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),KQ=no&&no.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&NQ(e,n,t);return MQ(e,n),e};Object.defineProperty(no,"__esModule",{value:!0});no.getFactoryDetails=no.ensureFullyBound=no.multiBindToService=void 0;var OQ=N(),FQ=KQ(bi()),qa=ea(),qR=wW(),LQ=function(n){return function(e){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return t.forEach(function(i){return n.bind(i).toService(e)})}}};no.multiBindToService=LQ;var UQ=function(n){var e=null;switch(n.type){case qa.BindingTypeEnum.ConstantValue:case qa.BindingTypeEnum.Function:e=n.cache;break;case qa.BindingTypeEnum.Constructor:case qa.BindingTypeEnum.Instance:e=n.implementationType;break;case qa.BindingTypeEnum.DynamicValue:e=n.dynamicValue;break;case qa.BindingTypeEnum.Provider:e=n.provider;break;case qa.BindingTypeEnum.Factory:e=n.factory;break}if(e===null){var t=(0,OQ.getServiceIdentifierAsString)(n.serviceIdentifier);throw new Error(FQ.INVALID_BINDING_TYPE+" "+t)}};no.ensureFullyBound=UQ;var WQ=function(n){switch(n.type){case qa.BindingTypeEnum.Factory:return{factory:n.factory,factoryType:qR.FactoryType.Factory};case qa.BindingTypeEnum.Provider:return{factory:n.provider,factoryType:qR.FactoryType.Provider};case qa.BindingTypeEnum.DynamicValue:return{factory:n.dynamicValue,factoryType:qR.FactoryType.DynamicValue};default:throw new Error("Unexpected factory type "+n.type)}};no.getFactoryDetails=WQ});var _W=O(Jn=>{"use strict";var mh=Jn&&Jn.__assign||function(){return mh=Object.assign||function(n){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i])}return n},mh.apply(this,arguments)},VQ=Jn&&Jn.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),jQ=Jn&&Jn.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),JQ=Jn&&Jn.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&VQ(e,n,t);return jQ(e,n),e},kW=Jn&&Jn.__awaiter||function(n,e,t,r){function i(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):i(u.value).then(a,l)}c((r=r.apply(n,e||[])).next())})},xW=Jn&&Jn.__generator||function(n,e){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(c){return function(u){return l([c,u])}}function l(c){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=1,i&&(o=c[0]&2?i.return:c[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,c[1])).done)return o;switch(i=0,o&&(c=[c[0]&2,o.value]),c[0]){case 0:case 1:o=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,i=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(o=t.trys,!(o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){t.label=c[1];break}if(c[0]===6&&t.label<o[1]){t.label=o[1],o=c;break}if(o&&t.label<o[2]){t.label=o[2],t.ops.push(c);break}o[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(n,t)}catch(u){c=[6,u],i=0}finally{r=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}},BQ=Jn&&Jn.__spreadArray||function(n,e,t){if(t||arguments.length===2)for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return n.concat(o||Array.prototype.slice.call(e))};Object.defineProperty(Jn,"__esModule",{value:!0});Jn.resolveInstance=void 0;var GR=bi(),QR=ea(),zR=JQ(Sn()),YR=PS();function $Q(n,e){return n.reduce(function(t,r){var i=e(r),o=r.target.type;return o===QR.TargetTypeEnum.ConstructorArgument?t.constructorInjections.push(i):(t.propertyRequests.push(r),t.propertyInjections.push(i)),t.isAsync||(t.isAsync=(0,YR.isPromiseOrContainsPromise)(i)),t},{constructorInjections:[],propertyInjections:[],propertyRequests:[],isAsync:!1})}function qQ(n,e,t){var r;if(e.length>0){var i=$Q(e,t),o=mh(mh({},i),{constr:n});i.isAsync?r=HQ(o):r=DW(o)}else r=new n;return r}function DW(n){var e,t=new((e=n.constr).bind.apply(e,BQ([void 0],n.constructorInjections,!1)));return n.propertyRequests.forEach(function(r,i){var o=r.target.identifier,s=n.propertyInjections[i];t[o]=s}),t}function HQ(n){return kW(this,void 0,void 0,function(){var e,t;return xW(this,function(r){switch(r.label){case 0:return[4,EW(n.constructorInjections)];case 1:return e=r.sent(),[4,EW(n.propertyInjections)];case 2:return t=r.sent(),[2,DW(mh(mh({},n),{constructorInjections:e,propertyInjections:t}))]}})})}function EW(n){return kW(this,void 0,void 0,function(){var e,t,r,i;return xW(this,function(o){for(e=[],t=0,r=n;t<r.length;t++)i=r[t],Array.isArray(i)?e.push(Promise.all(i)):e.push(i);return[2,Promise.all(e)]})})}function PW(n,e){var t=GQ(n,e);return(0,YR.isPromise)(t)?t.then(function(){return e}):e}function GQ(n,e){var t,r;if(Reflect.hasMetadata(zR.POST_CONSTRUCT,n)){var i=Reflect.getMetadata(zR.POST_CONSTRUCT,n);try{return(r=(t=e)[i.value])===null||r===void 0?void 0:r.call(t)}catch(o){throw new Error((0,GR.POST_CONSTRUCT_ERROR)(n.name,o.message))}}}function zQ(n,e){n.scope!==QR.BindingScopeEnum.Singleton&&QQ(n,e)}function QQ(n,e){var t="Class cannot be instantiated in "+(n.scope===QR.BindingScopeEnum.Request?"request":"transient")+" scope.";if(typeof n.onDeactivation=="function")throw new Error((0,GR.ON_DEACTIVATION_ERROR)(e.name,t));if(Reflect.hasMetadata(zR.PRE_DESTROY,e))throw new Error((0,GR.PRE_DESTROY_ERROR)(e.name,t))}function YQ(n,e,t,r){zQ(n,e);var i=qQ(e,t,r);return(0,YR.isPromise)(i)?i.then(function(o){return PW(e,o)}):PW(e,i)}Jn.resolveInstance=YQ});var MW=O(io=>{"use strict";var XQ=io&&io.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),ZQ=io&&io.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),eY=io&&io.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&XQ(e,n,t);return ZQ(e,n),e},tY=io&&io.__awaiter||function(n,e,t,r){function i(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):i(u.value).then(a,l)}c((r=r.apply(n,e||[])).next())})},rY=io&&io.__generator||function(n,e){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(c){return function(u){return l([c,u])}}function l(c){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=1,i&&(o=c[0]&2?i.return:c[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,c[1])).done)return o;switch(i=0,o&&(c=[c[0]&2,o.value]),c[0]){case 0:case 1:o=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,i=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(o=t.trys,!(o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){t.label=c[1];break}if(c[0]===6&&t.label<o[1]){t.label=o[1],o=c;break}if(o&&t.label<o[2]){t.label=o[2],t.ops.push(c);break}o[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(n,t)}catch(u){c=[6,u],i=0}finally{r=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}};Object.defineProperty(io,"__esModule",{value:!0});io.resolve=void 0;var nY=eY(bi()),JE=ea(),iY=BR(),TW=CW(),XR=PS(),AW=HR(),oY=KR(),sY=_W(),ZR=function(n){return function(e){e.parentContext.setCurrentRequest(e);var t=e.bindings,r=e.childRequests,i=e.target&&e.target.isArray(),o=!e.parentRequest||!e.parentRequest.target||!e.target||!e.parentRequest.target.matchesArray(e.target.serviceIdentifier);if(i&&o)return r.map(function(a){var l=ZR(n);return l(a)});if(e.target.isOptional()&&t.length===0)return;var s=t[0];return uY(n,e,s)}},aY=function(n,e){var t=(0,AW.getFactoryDetails)(n);return(0,oY.tryAndThrowErrorIfStackOverflow)(function(){return t.factory.bind(n)(e)},function(){return new Error(nY.CIRCULAR_DEPENDENCY_IN_FACTORY(t.factoryType,e.currentRequest.serviceIdentifier.toString()))})},lY=function(n,e,t){var r,i=e.childRequests;switch((0,AW.ensureFullyBound)(t),t.type){case JE.BindingTypeEnum.ConstantValue:case JE.BindingTypeEnum.Function:r=t.cache;break;case JE.BindingTypeEnum.Constructor:r=t.implementationType;break;case JE.BindingTypeEnum.Instance:r=(0,sY.resolveInstance)(t,t.implementationType,i,ZR(n));break;default:r=aY(t,e.parentContext)}return r},cY=function(n,e,t){var r=(0,TW.tryGetFromScope)(n,e);return r!==null||(r=t(),(0,TW.saveToScope)(n,e,r)),r},uY=function(n,e,t){return cY(n,t,function(){var r=lY(n,e,t);return(0,XR.isPromise)(r)?r=r.then(function(i){return RW(e,t,i)}):r=RW(e,t,r),r})};function RW(n,e,t){var r=dY(n.parentContext,e,t),i=fY(n.parentContext.container),o,s=i.next();do{o=s.value;var a=n.parentContext,l=n.serviceIdentifier,c=mY(o,l);(0,XR.isPromise)(r)?r=NW(c,a,r):r=pY(c,a,r),s=i.next()}while(s.done!==!0&&!(0,iY.getBindingDictionary)(o).hasKey(n.serviceIdentifier));return r}var dY=function(n,e,t){var r;return typeof e.onActivation=="function"?r=e.onActivation(n,t):r=t,r},pY=function(n,e,t){for(var r=n.next();!r.done;){if(t=r.value(e,t),(0,XR.isPromise)(t))return NW(n,e,t);r=n.next()}return t},NW=function(n,e,t){return tY(void 0,void 0,void 0,function(){var r,i;return rY(this,function(o){switch(o.label){case 0:return[4,t];case 1:r=o.sent(),i=n.next(),o.label=2;case 2:return i.done?[3,4]:[4,i.value(e,r)];case 3:return r=o.sent(),i=n.next(),[3,2];case 4:return[2,r]}})})},mY=function(n,e){var t=n._activations;return t.hasKey(e)?t.get(e).values():[].values()},fY=function(n){for(var e=[n],t=n.parent;t!==null;)e.push(t),t=t.parent;var r=function(){var o=e.pop();return o!==void 0?{done:!1,value:o}:{done:!0,value:void 0}},i={next:r};return i};function hY(n){var e=ZR(n.plan.rootRequest.requestScope);return e(n.plan.rootRequest)}io.resolve=hY});var eA=O(Si=>{"use strict";var gY=Si&&Si.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),vY=Si&&Si.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),yY=Si&&Si.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&gY(e,n,t);return vY(e,n),e};Object.defineProperty(Si,"__esModule",{value:!0});Si.typeConstraint=Si.namedConstraint=Si.taggedConstraint=Si.traverseAncerstors=void 0;var bY=yY(Sn()),IY=ta(),KW=function(n,e){var t=n.parentRequest;return t!==null?e(t)?!0:KW(t,e):!1};Si.traverseAncerstors=KW;var OW=function(n){return function(e){var t=function(r){return r!==null&&r.target!==null&&r.target.matchesTag(n)(e)};return t.metaData=new IY.Metadata(n,e),t}};Si.taggedConstraint=OW;var SY=OW(bY.NAMED_TAG);Si.namedConstraint=SY;var CY=function(n){return function(e){var t=null;if(e!==null)if(t=e.bindings[0],typeof n=="string"){var r=t.serviceIdentifier;return r===n}else{var i=e.bindings[0].implementationType;return n===i}return!1}};Si.typeConstraint=CY});var $E=O(BE=>{"use strict";Object.defineProperty(BE,"__esModule",{value:!0});BE.BindingWhenSyntax=void 0;var Vi=qE(),Rn=eA(),wY=function(){function n(e){this._binding=e}return n.prototype.when=function(e){return this._binding.constraint=e,new Vi.BindingOnSyntax(this._binding)},n.prototype.whenTargetNamed=function(e){return this._binding.constraint=(0,Rn.namedConstraint)(e),new Vi.BindingOnSyntax(this._binding)},n.prototype.whenTargetIsDefault=function(){return this._binding.constraint=function(e){if(e===null)return!1;var t=e.target!==null&&!e.target.isNamed()&&!e.target.isTagged();return t},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenTargetTagged=function(e,t){return this._binding.constraint=(0,Rn.taggedConstraint)(e)(t),new Vi.BindingOnSyntax(this._binding)},n.prototype.whenInjectedInto=function(e){return this._binding.constraint=function(t){return t!==null&&(0,Rn.typeConstraint)(e)(t.parentRequest)},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenParentNamed=function(e){return this._binding.constraint=function(t){return t!==null&&(0,Rn.namedConstraint)(e)(t.parentRequest)},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenParentTagged=function(e,t){return this._binding.constraint=function(r){return r!==null&&(0,Rn.taggedConstraint)(e)(t)(r.parentRequest)},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenAnyAncestorIs=function(e){return this._binding.constraint=function(t){return t!==null&&(0,Rn.traverseAncerstors)(t,(0,Rn.typeConstraint)(e))},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenNoAncestorIs=function(e){return this._binding.constraint=function(t){return t!==null&&!(0,Rn.traverseAncerstors)(t,(0,Rn.typeConstraint)(e))},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenAnyAncestorNamed=function(e){return this._binding.constraint=function(t){return t!==null&&(0,Rn.traverseAncerstors)(t,(0,Rn.namedConstraint)(e))},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenNoAncestorNamed=function(e){return this._binding.constraint=function(t){return t!==null&&!(0,Rn.traverseAncerstors)(t,(0,Rn.namedConstraint)(e))},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenAnyAncestorTagged=function(e,t){return this._binding.constraint=function(r){return r!==null&&(0,Rn.traverseAncerstors)(r,(0,Rn.taggedConstraint)(e)(t))},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenNoAncestorTagged=function(e,t){return this._binding.constraint=function(r){return r!==null&&!(0,Rn.traverseAncerstors)(r,(0,Rn.taggedConstraint)(e)(t))},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenAnyAncestorMatches=function(e){return this._binding.constraint=function(t){return t!==null&&(0,Rn.traverseAncerstors)(t,e)},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenNoAncestorMatches=function(e){return this._binding.constraint=function(t){return t!==null&&!(0,Rn.traverseAncerstors)(t,e)},new Vi.BindingOnSyntax(this._binding)},n}();BE.BindingWhenSyntax=wY});var qE=O(HE=>{"use strict";Object.defineProperty(HE,"__esModule",{value:!0});HE.BindingOnSyntax=void 0;var FW=$E(),EY=function(){function n(e){this._binding=e}return n.prototype.onActivation=function(e){return this._binding.onActivation=e,new FW.BindingWhenSyntax(this._binding)},n.prototype.onDeactivation=function(e){return this._binding.onDeactivation=e,new FW.BindingWhenSyntax(this._binding)},n}();HE.BindingOnSyntax=EY});var tA=O(GE=>{"use strict";Object.defineProperty(GE,"__esModule",{value:!0});GE.BindingWhenOnSyntax=void 0;var PY=qE(),kY=$E(),xY=function(){function n(e){this._binding=e,this._bindingWhenSyntax=new kY.BindingWhenSyntax(this._binding),this._bindingOnSyntax=new PY.BindingOnSyntax(this._binding)}return n.prototype.when=function(e){return this._bindingWhenSyntax.when(e)},n.prototype.whenTargetNamed=function(e){return this._bindingWhenSyntax.whenTargetNamed(e)},n.prototype.whenTargetIsDefault=function(){return this._bindingWhenSyntax.whenTargetIsDefault()},n.prototype.whenTargetTagged=function(e,t){return this._bindingWhenSyntax.whenTargetTagged(e,t)},n.prototype.whenInjectedInto=function(e){return this._bindingWhenSyntax.whenInjectedInto(e)},n.prototype.whenParentNamed=function(e){return this._bindingWhenSyntax.whenParentNamed(e)},n.prototype.whenParentTagged=function(e,t){return this._bindingWhenSyntax.whenParentTagged(e,t)},n.prototype.whenAnyAncestorIs=function(e){return this._bindingWhenSyntax.whenAnyAncestorIs(e)},n.prototype.whenNoAncestorIs=function(e){return this._bindingWhenSyntax.whenNoAncestorIs(e)},n.prototype.whenAnyAncestorNamed=function(e){return this._bindingWhenSyntax.whenAnyAncestorNamed(e)},n.prototype.whenAnyAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenAnyAncestorTagged(e,t)},n.prototype.whenNoAncestorNamed=function(e){return this._bindingWhenSyntax.whenNoAncestorNamed(e)},n.prototype.whenNoAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenNoAncestorTagged(e,t)},n.prototype.whenAnyAncestorMatches=function(e){return this._bindingWhenSyntax.whenAnyAncestorMatches(e)},n.prototype.whenNoAncestorMatches=function(e){return this._bindingWhenSyntax.whenNoAncestorMatches(e)},n.prototype.onActivation=function(e){return this._bindingOnSyntax.onActivation(e)},n.prototype.onDeactivation=function(e){return this._bindingOnSyntax.onDeactivation(e)},n}();GE.BindingWhenOnSyntax=xY});var LW=O(zE=>{"use strict";Object.defineProperty(zE,"__esModule",{value:!0});zE.BindingInSyntax=void 0;var rA=ea(),nA=tA(),DY=function(){function n(e){this._binding=e}return n.prototype.inRequestScope=function(){return this._binding.scope=rA.BindingScopeEnum.Request,new nA.BindingWhenOnSyntax(this._binding)},n.prototype.inSingletonScope=function(){return this._binding.scope=rA.BindingScopeEnum.Singleton,new nA.BindingWhenOnSyntax(this._binding)},n.prototype.inTransientScope=function(){return this._binding.scope=rA.BindingScopeEnum.Transient,new nA.BindingWhenOnSyntax(this._binding)},n}();zE.BindingInSyntax=DY});var UW=O(QE=>{"use strict";Object.defineProperty(QE,"__esModule",{value:!0});QE.BindingInWhenOnSyntax=void 0;var _Y=LW(),TY=qE(),RY=$E(),AY=function(){function n(e){this._binding=e,this._bindingWhenSyntax=new RY.BindingWhenSyntax(this._binding),this._bindingOnSyntax=new TY.BindingOnSyntax(this._binding),this._bindingInSyntax=new _Y.BindingInSyntax(e)}return n.prototype.inRequestScope=function(){return this._bindingInSyntax.inRequestScope()},n.prototype.inSingletonScope=function(){return this._bindingInSyntax.inSingletonScope()},n.prototype.inTransientScope=function(){return this._bindingInSyntax.inTransientScope()},n.prototype.when=function(e){return this._bindingWhenSyntax.when(e)},n.prototype.whenTargetNamed=function(e){return this._bindingWhenSyntax.whenTargetNamed(e)},n.prototype.whenTargetIsDefault=function(){return this._bindingWhenSyntax.whenTargetIsDefault()},n.prototype.whenTargetTagged=function(e,t){return this._bindingWhenSyntax.whenTargetTagged(e,t)},n.prototype.whenInjectedInto=function(e){return this._bindingWhenSyntax.whenInjectedInto(e)},n.prototype.whenParentNamed=function(e){return this._bindingWhenSyntax.whenParentNamed(e)},n.prototype.whenParentTagged=function(e,t){return this._bindingWhenSyntax.whenParentTagged(e,t)},n.prototype.whenAnyAncestorIs=function(e){return this._bindingWhenSyntax.whenAnyAncestorIs(e)},n.prototype.whenNoAncestorIs=function(e){return this._bindingWhenSyntax.whenNoAncestorIs(e)},n.prototype.whenAnyAncestorNamed=function(e){return this._bindingWhenSyntax.whenAnyAncestorNamed(e)},n.prototype.whenAnyAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenAnyAncestorTagged(e,t)},n.prototype.whenNoAncestorNamed=function(e){return this._bindingWhenSyntax.whenNoAncestorNamed(e)},n.prototype.whenNoAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenNoAncestorTagged(e,t)},n.prototype.whenAnyAncestorMatches=function(e){return this._bindingWhenSyntax.whenAnyAncestorMatches(e)},n.prototype.whenNoAncestorMatches=function(e){return this._bindingWhenSyntax.whenNoAncestorMatches(e)},n.prototype.onActivation=function(e){return this._bindingOnSyntax.onActivation(e)},n.prototype.onDeactivation=function(e){return this._bindingOnSyntax.onDeactivation(e)},n}();QE.BindingInWhenOnSyntax=AY});var jW=O(Ha=>{"use strict";var NY=Ha&&Ha.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),MY=Ha&&Ha.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),KY=Ha&&Ha.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&NY(e,n,t);return MY(e,n),e};Object.defineProperty(Ha,"__esModule",{value:!0});Ha.BindingToSyntax=void 0;var WW=KY(bi()),ji=ea(),VW=UW(),fh=tA(),OY=function(){function n(e){this._binding=e}return n.prototype.to=function(e){return this._binding.type=ji.BindingTypeEnum.Instance,this._binding.implementationType=e,new VW.BindingInWhenOnSyntax(this._binding)},n.prototype.toSelf=function(){if(typeof this._binding.serviceIdentifier!="function")throw new Error(""+WW.INVALID_TO_SELF_VALUE);var e=this._binding.serviceIdentifier;return this.to(e)},n.prototype.toConstantValue=function(e){return this._binding.type=ji.BindingTypeEnum.ConstantValue,this._binding.cache=e,this._binding.dynamicValue=null,this._binding.implementationType=null,this._binding.scope=ji.BindingScopeEnum.Singleton,new fh.BindingWhenOnSyntax(this._binding)},n.prototype.toDynamicValue=function(e){return this._binding.type=ji.BindingTypeEnum.DynamicValue,this._binding.cache=null,this._binding.dynamicValue=e,this._binding.implementationType=null,new VW.BindingInWhenOnSyntax(this._binding)},n.prototype.toConstructor=function(e){return this._binding.type=ji.BindingTypeEnum.Constructor,this._binding.implementationType=e,this._binding.scope=ji.BindingScopeEnum.Singleton,new fh.BindingWhenOnSyntax(this._binding)},n.prototype.toFactory=function(e){return this._binding.type=ji.BindingTypeEnum.Factory,this._binding.factory=e,this._binding.scope=ji.BindingScopeEnum.Singleton,new fh.BindingWhenOnSyntax(this._binding)},n.prototype.toFunction=function(e){if(typeof e!="function")throw new Error(WW.INVALID_FUNCTION_BINDING);var t=this.toConstantValue(e);return this._binding.type=ji.BindingTypeEnum.Function,this._binding.scope=ji.BindingScopeEnum.Singleton,t},n.prototype.toAutoFactory=function(e){return this._binding.type=ji.BindingTypeEnum.Factory,this._binding.factory=function(t){var r=function(){return t.container.get(e)};return r},this._binding.scope=ji.BindingScopeEnum.Singleton,new fh.BindingWhenOnSyntax(this._binding)},n.prototype.toAutoNamedFactory=function(e){return this._binding.type=ji.BindingTypeEnum.Factory,this._binding.factory=function(t){return function(r){return t.container.getNamed(e,r)}},new fh.BindingWhenOnSyntax(this._binding)},n.prototype.toProvider=function(e){return this._binding.type=ji.BindingTypeEnum.Provider,this._binding.provider=e,this._binding.scope=ji.BindingScopeEnum.Singleton,new fh.BindingWhenOnSyntax(this._binding)},n.prototype.toService=function(e){this.toDynamicValue(function(t){return t.container.get(e)})},n}();Ha.BindingToSyntax=OY});var JW=O(YE=>{"use strict";Object.defineProperty(YE,"__esModule",{value:!0});YE.ContainerSnapshot=void 0;var FY=function(){function n(){}return n.of=function(e,t,r,i,o){var s=new n;return s.bindings=e,s.middleware=t,s.deactivations=i,s.activations=r,s.moduleActivationStore=o,s},n}();YE.ContainerSnapshot=FY});var BW=O(XE=>{"use strict";Object.defineProperty(XE,"__esModule",{value:!0});XE.isClonable=void 0;function LY(n){return typeof n=="object"&&n!==null&&"clone"in n&&typeof n.clone=="function"}XE.isClonable=LY});var iA=O(Ga=>{"use strict";var UY=Ga&&Ga.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),WY=Ga&&Ga.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),VY=Ga&&Ga.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&UY(e,n,t);return WY(e,n),e};Object.defineProperty(Ga,"__esModule",{value:!0});Ga.Lookup=void 0;var qp=VY(bi()),jY=BW(),JY=function(){function n(){this._map=new Map}return n.prototype.getMap=function(){return this._map},n.prototype.add=function(e,t){if(e==null)throw new Error(qp.NULL_ARGUMENT);if(t==null)throw new Error(qp.NULL_ARGUMENT);var r=this._map.get(e);r!==void 0?r.push(t):this._map.set(e,[t])},n.prototype.get=function(e){if(e==null)throw new Error(qp.NULL_ARGUMENT);var t=this._map.get(e);if(t!==void 0)return t;throw new Error(qp.KEY_NOT_FOUND)},n.prototype.remove=function(e){if(e==null)throw new Error(qp.NULL_ARGUMENT);if(!this._map.delete(e))throw new Error(qp.KEY_NOT_FOUND)},n.prototype.removeIntersection=function(e){var t=this;this.traverse(function(r,i){var o=e.hasKey(r)?e.get(r):void 0;if(o!==void 0){var s=i.filter(function(a){return!o.some(function(l){return a===l})});t._setValue(r,s)}})},n.prototype.removeByCondition=function(e){var t=this,r=[];return this._map.forEach(function(i,o){for(var s=[],a=0,l=i;a<l.length;a++){var c=l[a],u=e(c);u?r.push(c):s.push(c)}t._setValue(o,s)}),r},n.prototype.hasKey=function(e){if(e==null)throw new Error(qp.NULL_ARGUMENT);return this._map.has(e)},n.prototype.clone=function(){var e=new n;return this._map.forEach(function(t,r){t.forEach(function(i){return e.add(r,(0,jY.isClonable)(i)?i.clone():i)})}),e},n.prototype.traverse=function(e){this._map.forEach(function(t,r){e(r,t)})},n.prototype._setValue=function(e,t){t.length>0?this._map.set(e,t):this._map.delete(e)},n}();Ga.Lookup=JY});var qW=O(ZE=>{"use strict";Object.defineProperty(ZE,"__esModule",{value:!0});ZE.ModuleActivationStore=void 0;var $W=iA(),BY=function(){function n(){this._map=new Map}return n.prototype.remove=function(e){if(this._map.has(e)){var t=this._map.get(e);return this._map.delete(e),t}return this._getEmptyHandlersStore()},n.prototype.addDeactivation=function(e,t,r){this._getModuleActivationHandlers(e).onDeactivations.add(t,r)},n.prototype.addActivation=function(e,t,r){this._getModuleActivationHandlers(e).onActivations.add(t,r)},n.prototype.clone=function(){var e=new n;return this._map.forEach(function(t,r){e._map.set(r,{onActivations:t.onActivations.clone(),onDeactivations:t.onDeactivations.clone()})}),e},n.prototype._getModuleActivationHandlers=function(e){var t=this._map.get(e);return t===void 0&&(t=this._getEmptyHandlersStore(),this._map.set(e,t)),t},n.prototype._getEmptyHandlersStore=function(){var e={onActivations:new $W.Lookup,onDeactivations:new $W.Lookup};return e},n}();ZE.ModuleActivationStore=BY});var oA=O(Bn=>{"use strict";var tP=Bn&&Bn.__assign||function(){return tP=Object.assign||function(n){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i])}return n},tP.apply(this,arguments)},$Y=Bn&&Bn.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),qY=Bn&&Bn.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),HW=Bn&&Bn.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&$Y(e,n,t);return qY(e,n),e},fs=Bn&&Bn.__awaiter||function(n,e,t,r){function i(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):i(u.value).then(a,l)}c((r=r.apply(n,e||[])).next())})},hs=Bn&&Bn.__generator||function(n,e){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(c){return function(u){return l([c,u])}}function l(c){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=1,i&&(o=c[0]&2?i.return:c[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,c[1])).done)return o;switch(i=0,o&&(c=[c[0]&2,o.value]),c[0]){case 0:case 1:o=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,i=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(o=t.trys,!(o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){t.label=c[1];break}if(c[0]===6&&t.label<o[1]){t.label=o[1],o=c;break}if(o&&t.label<o[2]){t.label=o[2],t.ops.push(c);break}o[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(n,t)}catch(u){c=[6,u],i=0}finally{r=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}},HY=Bn&&Bn.__spreadArray||function(n,e,t){if(t||arguments.length===2)for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return n.concat(o||Array.prototype.slice.call(e))};Object.defineProperty(Bn,"__esModule",{value:!0});Bn.Container=void 0;var GY=GU(),ra=HW(bi()),hh=ea(),Hp=HW(Sn()),zY=MR(),eP=BR(),QY=MW(),YY=jW(),Gp=PS(),XY=Ju(),ZY=uh(),eX=JW(),xS=iA(),tX=qW(),rX=function(){function n(e){var t=e||{};if(typeof t!="object")throw new Error(""+ra.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT);if(t.defaultScope===void 0)t.defaultScope=hh.BindingScopeEnum.Transient;else if(t.defaultScope!==hh.BindingScopeEnum.Singleton&&t.defaultScope!==hh.BindingScopeEnum.Transient&&t.defaultScope!==hh.BindingScopeEnum.Request)throw new Error(""+ra.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE);if(t.autoBindInjectable===void 0)t.autoBindInjectable=!1;else if(typeof t.autoBindInjectable!="boolean")throw new Error(""+ra.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE);if(t.skipBaseClassChecks===void 0)t.skipBaseClassChecks=!1;else if(typeof t.skipBaseClassChecks!="boolean")throw new Error(""+ra.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK);this.options={autoBindInjectable:t.autoBindInjectable,defaultScope:t.defaultScope,skipBaseClassChecks:t.skipBaseClassChecks},this.id=(0,XY.id)(),this._bindingDictionary=new xS.Lookup,this._snapshots=[],this._middleware=null,this._activations=new xS.Lookup,this._deactivations=new xS.Lookup,this.parent=null,this._metadataReader=new zY.MetadataReader,this._moduleActivationStore=new tX.ModuleActivationStore}return n.merge=function(e,t){for(var r=[],i=2;i<arguments.length;i++)r[i-2]=arguments[i];var o=new n,s=HY([e,t],r,!0).map(function(c){return(0,eP.getBindingDictionary)(c)}),a=(0,eP.getBindingDictionary)(o);function l(c,u){c.traverse(function(d,f){f.forEach(function(g){u.add(g.serviceIdentifier,g.clone())})})}return s.forEach(function(c){l(c,a)}),o},n.prototype.load=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=this._getContainerModuleHelpersFactory(),i=0,o=e;i<o.length;i++){var s=o[i],a=r(s.id);s.registry(a.bindFunction,a.unbindFunction,a.isboundFunction,a.rebindFunction,a.unbindAsyncFunction,a.onActivationFunction,a.onDeactivationFunction)}},n.prototype.loadAsync=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return fs(this,void 0,void 0,function(){var r,i,o,s,a;return hs(this,function(l){switch(l.label){case 0:r=this._getContainerModuleHelpersFactory(),i=0,o=e,l.label=1;case 1:return i<o.length?(s=o[i],a=r(s.id),[4,s.registry(a.bindFunction,a.unbindFunction,a.isboundFunction,a.rebindFunction,a.unbindAsyncFunction,a.onActivationFunction,a.onDeactivationFunction)]):[3,4];case 2:l.sent(),l.label=3;case 3:return i++,[3,1];case 4:return[2]}})})},n.prototype.unload=function(){for(var e=this,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];t.forEach(function(i){var o=e._removeModuleBindings(i.id);e._deactivateSingletons(o),e._removeModuleHandlers(i.id)})},n.prototype.unloadAsync=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return fs(this,void 0,void 0,function(){var r,i,o,s;return hs(this,function(a){switch(a.label){case 0:r=0,i=e,a.label=1;case 1:return r<i.length?(o=i[r],s=this._removeModuleBindings(o.id),[4,this._deactivateSingletonsAsync(s)]):[3,4];case 2:a.sent(),this._removeModuleHandlers(o.id),a.label=3;case 3:return r++,[3,1];case 4:return[2]}})})},n.prototype.bind=function(e){var t=this.options.defaultScope||hh.BindingScopeEnum.Transient,r=new GY.Binding(e,t);return this._bindingDictionary.add(e,r),new YY.BindingToSyntax(r)},n.prototype.rebind=function(e){return this.unbind(e),this.bind(e)},n.prototype.rebindAsync=function(e){return fs(this,void 0,void 0,function(){return hs(this,function(t){switch(t.label){case 0:return[4,this.unbindAsync(e)];case 1:return t.sent(),[2,this.bind(e)]}})})},n.prototype.unbind=function(e){if(this._bindingDictionary.hasKey(e)){var t=this._bindingDictionary.get(e);this._deactivateSingletons(t)}this._removeServiceFromDictionary(e)},n.prototype.unbindAsync=function(e){return fs(this,void 0,void 0,function(){var t;return hs(this,function(r){switch(r.label){case 0:return this._bindingDictionary.hasKey(e)?(t=this._bindingDictionary.get(e),[4,this._deactivateSingletonsAsync(t)]):[3,2];case 1:r.sent(),r.label=2;case 2:return this._removeServiceFromDictionary(e),[2]}})})},n.prototype.unbindAll=function(){var e=this;this._bindingDictionary.traverse(function(t,r){e._deactivateSingletons(r)}),this._bindingDictionary=new xS.Lookup},n.prototype.unbindAllAsync=function(){return fs(this,void 0,void 0,function(){var e,t=this;return hs(this,function(r){switch(r.label){case 0:return e=[],this._bindingDictionary.traverse(function(i,o){e.push(t._deactivateSingletonsAsync(o))}),[4,Promise.all(e)];case 1:return r.sent(),this._bindingDictionary=new xS.Lookup,[2]}})})},n.prototype.onActivation=function(e,t){this._activations.add(e,t)},n.prototype.onDeactivation=function(e,t){this._deactivations.add(e,t)},n.prototype.isBound=function(e){var t=this._bindingDictionary.hasKey(e);return!t&&this.parent&&(t=this.parent.isBound(e)),t},n.prototype.isCurrentBound=function(e){return this._bindingDictionary.hasKey(e)},n.prototype.isBoundNamed=function(e,t){return this.isBoundTagged(e,Hp.NAMED_TAG,t)},n.prototype.isBoundTagged=function(e,t,r){var i=!1;if(this._bindingDictionary.hasKey(e)){var o=this._bindingDictionary.get(e),s=(0,eP.createMockRequest)(this,e,t,r);i=o.some(function(a){return a.constraint(s)})}return!i&&this.parent&&(i=this.parent.isBoundTagged(e,t,r)),i},n.prototype.snapshot=function(){this._snapshots.push(eX.ContainerSnapshot.of(this._bindingDictionary.clone(),this._middleware,this._activations.clone(),this._deactivations.clone(),this._moduleActivationStore.clone()))},n.prototype.restore=function(){var e=this._snapshots.pop();if(e===void 0)throw new Error(ra.NO_MORE_SNAPSHOTS_AVAILABLE);this._bindingDictionary=e.bindings,this._activations=e.activations,this._deactivations=e.deactivations,this._middleware=e.middleware,this._moduleActivationStore=e.moduleActivationStore},n.prototype.createChild=function(e){var t=new n(e||this.options);return t.parent=this,t},n.prototype.applyMiddleware=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=this._middleware?this._middleware:this._planAndResolve();this._middleware=e.reduce(function(i,o){return o(i)},r)},n.prototype.applyCustomMetadataReader=function(e){this._metadataReader=e},n.prototype.get=function(e){var t=this._getNotAllArgs(e,!1);return this._getButThrowIfAsync(t)},n.prototype.getAsync=function(e){return fs(this,void 0,void 0,function(){var t;return hs(this,function(r){return t=this._getNotAllArgs(e,!1),[2,this._get(t)]})})},n.prototype.getTagged=function(e,t,r){var i=this._getNotAllArgs(e,!1,t,r);return this._getButThrowIfAsync(i)},n.prototype.getTaggedAsync=function(e,t,r){return fs(this,void 0,void 0,function(){var i;return hs(this,function(o){return i=this._getNotAllArgs(e,!1,t,r),[2,this._get(i)]})})},n.prototype.getNamed=function(e,t){return this.getTagged(e,Hp.NAMED_TAG,t)},n.prototype.getNamedAsync=function(e,t){return this.getTaggedAsync(e,Hp.NAMED_TAG,t)},n.prototype.getAll=function(e){var t=this._getAllArgs(e);return this._getButThrowIfAsync(t)},n.prototype.getAllAsync=function(e){var t=this._getAllArgs(e);return this._getAll(t)},n.prototype.getAllTagged=function(e,t,r){var i=this._getNotAllArgs(e,!0,t,r);return this._getButThrowIfAsync(i)},n.prototype.getAllTaggedAsync=function(e,t,r){var i=this._getNotAllArgs(e,!0,t,r);return this._getAll(i)},n.prototype.getAllNamed=function(e,t){return this.getAllTagged(e,Hp.NAMED_TAG,t)},n.prototype.getAllNamedAsync=function(e,t){return this.getAllTaggedAsync(e,Hp.NAMED_TAG,t)},n.prototype.resolve=function(e){var t=this.isBound(e);t||this.bind(e).toSelf();var r=this.get(e);return t||this.unbind(e),r},n.prototype._preDestroy=function(e,t){if(Reflect.hasMetadata(Hp.PRE_DESTROY,e)){var r=Reflect.getMetadata(Hp.PRE_DESTROY,e);return t[r.value]()}},n.prototype._removeModuleHandlers=function(e){var t=this._moduleActivationStore.remove(e);this._activations.removeIntersection(t.onActivations),this._deactivations.removeIntersection(t.onDeactivations)},n.prototype._removeModuleBindings=function(e){return this._bindingDictionary.removeByCondition(function(t){return t.moduleId===e})},n.prototype._deactivate=function(e,t){var r=this,i=Object.getPrototypeOf(t).constructor;try{if(this._deactivations.hasKey(e.serviceIdentifier)){var o=this._deactivateContainer(t,this._deactivations.get(e.serviceIdentifier).values());if((0,Gp.isPromise)(o))return this._handleDeactivationError(o.then(function(){return r._propagateContainerDeactivationThenBindingAndPreDestroyAsync(e,t,i)}),i)}var s=this._propagateContainerDeactivationThenBindingAndPreDestroy(e,t,i);if((0,Gp.isPromise)(s))return this._handleDeactivationError(s,i)}catch(a){throw new Error(ra.ON_DEACTIVATION_ERROR(i.name,a.message))}},n.prototype._handleDeactivationError=function(e,t){return fs(this,void 0,void 0,function(){var r;return hs(this,function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,e];case 1:return i.sent(),[3,3];case 2:throw r=i.sent(),new Error(ra.ON_DEACTIVATION_ERROR(t.name,r.message));case 3:return[2]}})})},n.prototype._deactivateContainer=function(e,t){for(var r=this,i=t.next();i.value;){var o=i.value(e);if((0,Gp.isPromise)(o))return o.then(function(){return r._deactivateContainerAsync(e,t)});i=t.next()}},n.prototype._deactivateContainerAsync=function(e,t){return fs(this,void 0,void 0,function(){var r;return hs(this,function(i){switch(i.label){case 0:r=t.next(),i.label=1;case 1:return r.value?[4,r.value(e)]:[3,3];case 2:return i.sent(),r=t.next(),[3,1];case 3:return[2]}})})},n.prototype._getContainerModuleHelpersFactory=function(){var e=this,t=function(u,d){u._binding.moduleId=d},r=function(u){return function(d){var f=e.bind(d);return t(f,u),f}},i=function(){return function(u){return e.unbind(u)}},o=function(){return function(u){return e.unbindAsync(u)}},s=function(){return function(u){return e.isBound(u)}},a=function(u){return function(d){var f=e.rebind(d);return t(f,u),f}},l=function(u){return function(d,f){e._moduleActivationStore.addActivation(u,d,f),e.onActivation(d,f)}},c=function(u){return function(d,f){e._moduleActivationStore.addDeactivation(u,d,f),e.onDeactivation(d,f)}};return function(u){return{bindFunction:r(u),isboundFunction:s(),onActivationFunction:l(u),onDeactivationFunction:c(u),rebindFunction:a(u),unbindFunction:i(),unbindAsyncFunction:o()}}},n.prototype._getAll=function(e){return Promise.all(this._get(e))},n.prototype._get=function(e){var t=tP(tP({},e),{contextInterceptor:function(i){return i},targetType:hh.TargetTypeEnum.Variable});if(this._middleware){var r=this._middleware(t);if(r==null)throw new Error(ra.INVALID_MIDDLEWARE_RETURN);return r}return this._planAndResolve()(t)},n.prototype._getButThrowIfAsync=function(e){var t=this._get(e);if((0,Gp.isPromiseOrContainsPromise)(t))throw new Error(ra.LAZY_IN_SYNC(e.serviceIdentifier));return t},n.prototype._getAllArgs=function(e){var t={avoidConstraints:!0,isMultiInject:!0,serviceIdentifier:e};return t},n.prototype._getNotAllArgs=function(e,t,r,i){var o={avoidConstraints:!1,isMultiInject:t,serviceIdentifier:e,key:r,value:i};return o},n.prototype._planAndResolve=function(){var e=this;return function(t){var r=(0,eP.plan)(e._metadataReader,e,t.isMultiInject,t.targetType,t.serviceIdentifier,t.key,t.value,t.avoidConstraints);r=t.contextInterceptor(r);var i=(0,QY.resolve)(r);return i}},n.prototype._deactivateIfSingleton=function(e){var t=this;if(e.activated)return(0,Gp.isPromise)(e.cache)?e.cache.then(function(r){return t._deactivate(e,r)}):this._deactivate(e,e.cache)},n.prototype._deactivateSingletons=function(e){for(var t=0,r=e;t<r.length;t++){var i=r[t],o=this._deactivateIfSingleton(i);if((0,Gp.isPromise)(o))throw new Error(ra.ASYNC_UNBIND_REQUIRED)}},n.prototype._deactivateSingletonsAsync=function(e){return fs(this,void 0,void 0,function(){var t=this;return hs(this,function(r){switch(r.label){case 0:return[4,Promise.all(e.map(function(i){return t._deactivateIfSingleton(i)}))];case 1:return r.sent(),[2]}})})},n.prototype._propagateContainerDeactivationThenBindingAndPreDestroy=function(e,t,r){return this.parent?this._deactivate.bind(this.parent)(e,t):this._bindingDeactivationAndPreDestroy(e,t,r)},n.prototype._propagateContainerDeactivationThenBindingAndPreDestroyAsync=function(e,t,r){return fs(this,void 0,void 0,function(){return hs(this,function(i){switch(i.label){case 0:return this.parent?[4,this._deactivate.bind(this.parent)(e,t)]:[3,2];case 1:return i.sent(),[3,4];case 2:return[4,this._bindingDeactivationAndPreDestroyAsync(e,t,r)];case 3:i.sent(),i.label=4;case 4:return[2]}})})},n.prototype._removeServiceFromDictionary=function(e){try{this._bindingDictionary.remove(e)}catch{throw new Error(ra.CANNOT_UNBIND+" "+(0,ZY.getServiceIdentifierAsString)(e))}},n.prototype._bindingDeactivationAndPreDestroy=function(e,t,r){var i=this;if(typeof e.onDeactivation=="function"){var o=e.onDeactivation(t);if((0,Gp.isPromise)(o))return o.then(function(){return i._preDestroy(r,t)})}return this._preDestroy(r,t)},n.prototype._bindingDeactivationAndPreDestroyAsync=function(e,t,r){return fs(this,void 0,void 0,function(){return hs(this,function(i){switch(i.label){case 0:return typeof e.onDeactivation!="function"?[3,2]:[4,e.onDeactivation(t)];case 1:i.sent(),i.label=2;case 2:return[4,this._preDestroy(r,t)];case 3:return i.sent(),[2]}})})},n}();Bn.Container=rX});var zW=O(gh=>{"use strict";Object.defineProperty(gh,"__esModule",{value:!0});gh.AsyncContainerModule=gh.ContainerModule=void 0;var GW=Ju(),nX=function(){function n(e){this.id=(0,GW.id)(),this.registry=e}return n}();gh.ContainerModule=nX;var iX=function(){function n(e){this.id=(0,GW.id)(),this.registry=e}return n}();gh.AsyncContainerModule=iX});var QW=O(rP=>{"use strict";Object.defineProperty(rP,"__esModule",{value:!0});rP.getFirstArrayDuplicate=void 0;function oX(n){for(var e=new Set,t=0,r=n;t<r.length;t++){var i=r[t];if(e.has(i))return i;e.add(i)}}rP.getFirstArrayDuplicate=oX});var Sc=O(Ci=>{"use strict";var sX=Ci&&Ci.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),aX=Ci&&Ci.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),XW=Ci&&Ci.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&sX(e,n,t);return aX(e,n),e};Object.defineProperty(Ci,"__esModule",{value:!0});Ci.createTaggedDecorator=Ci.tagProperty=Ci.tagParameter=Ci.decorate=void 0;var nP=XW(bi()),ZW=XW(Sn()),lX=QW();function cX(n){return n.prototype!==void 0}function uX(n){if(n!==void 0)throw new Error(nP.INVALID_DECORATOR_OPERATION)}function e2(n,e,t,r){uX(e),r2(ZW.TAGGED,n,t.toString(),r)}Ci.tagParameter=e2;function t2(n,e,t){if(cX(n))throw new Error(nP.INVALID_DECORATOR_OPERATION);r2(ZW.TAGGED_PROP,n.constructor,e,t)}Ci.tagProperty=t2;function dX(n){var e=[];if(Array.isArray(n)){e=n;var t=(0,lX.getFirstArrayDuplicate)(e.map(function(r){return r.key}));if(t!==void 0)throw new Error(nP.DUPLICATED_METADATA+" "+t.toString())}else e=[n];return e}function r2(n,e,t,r){var i=dX(r),o={};Reflect.hasOwnMetadata(n,e)&&(o=Reflect.getMetadata(n,e));var s=o[t];if(s===void 0)s=[];else for(var a=function(d){if(i.some(function(f){return f.key===d.key}))throw new Error(nP.DUPLICATED_METADATA+" "+d.key.toString())},l=0,c=s;l<c.length;l++){var u=c[l];a(u)}s.push.apply(s,i),o[t]=s,Reflect.defineMetadata(n,o,e)}function pX(n){return function(e,t,r){typeof r=="number"?e2(e,t,r,n):t2(e,t,n)}}Ci.createTaggedDecorator=pX;function YW(n,e){Reflect.decorate(n,e)}function mX(n,e){return function(t,r){e(t,r,n)}}function fX(n,e,t){typeof t=="number"?YW([mX(t,n)],e):typeof t=="string"?Reflect.decorate([n],e,t):YW([n],e)}Ci.decorate=fX});var i2=O(za=>{"use strict";var hX=za&&za.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),gX=za&&za.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),n2=za&&za.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&hX(e,n,t);return gX(e,n),e};Object.defineProperty(za,"__esModule",{value:!0});za.injectable=void 0;var vX=n2(bi()),sA=n2(Sn());function yX(){return function(n){if(Reflect.hasOwnMetadata(sA.PARAM_TYPES,n))throw new Error(vX.DUPLICATED_INJECTABLE_DECORATOR);var e=Reflect.getMetadata(sA.DESIGN_PARAM_TYPES,n)||[];return Reflect.defineMetadata(sA.PARAM_TYPES,e,n),n}}za.injectable=yX});var o2=O(iP=>{"use strict";Object.defineProperty(iP,"__esModule",{value:!0});iP.tagged=void 0;var bX=ta(),IX=Sc();function SX(n,e){return(0,IX.createTaggedDecorator)(new bX.Metadata(n,e))}iP.tagged=SX});var s2=O(Qa=>{"use strict";var CX=Qa&&Qa.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),wX=Qa&&Qa.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),EX=Qa&&Qa.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&CX(e,n,t);return wX(e,n),e};Object.defineProperty(Qa,"__esModule",{value:!0});Qa.named=void 0;var PX=EX(Sn()),kX=ta(),xX=Sc();function DX(n){return(0,xX.createTaggedDecorator)(new kX.Metadata(PX.NAMED_TAG,n))}Qa.named=DX});var aA=O(oP=>{"use strict";Object.defineProperty(oP,"__esModule",{value:!0});oP.injectBase=void 0;var _X=bi(),TX=ta(),RX=Sc();function AX(n){return function(e){return function(t,r,i){if(e===void 0){var o=typeof t=="function"?t.name:t.constructor.name;throw new Error((0,_X.UNDEFINED_INJECT_ANNOTATION)(o))}return(0,RX.createTaggedDecorator)(new TX.Metadata(n,e))(t,r,i)}}}oP.injectBase=AX});var a2=O(Ya=>{"use strict";var NX=Ya&&Ya.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),MX=Ya&&Ya.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),KX=Ya&&Ya.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&NX(e,n,t);return MX(e,n),e};Object.defineProperty(Ya,"__esModule",{value:!0});Ya.inject=void 0;var OX=KX(Sn()),FX=aA(),LX=(0,FX.injectBase)(OX.INJECT_TAG);Ya.inject=LX});var l2=O(Xa=>{"use strict";var UX=Xa&&Xa.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),WX=Xa&&Xa.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),VX=Xa&&Xa.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&UX(e,n,t);return WX(e,n),e};Object.defineProperty(Xa,"__esModule",{value:!0});Xa.optional=void 0;var jX=VX(Sn()),JX=ta(),BX=Sc();function $X(){return(0,BX.createTaggedDecorator)(new JX.Metadata(jX.OPTIONAL_TAG,!0))}Xa.optional=$X});var c2=O(Za=>{"use strict";var qX=Za&&Za.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),HX=Za&&Za.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),GX=Za&&Za.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&qX(e,n,t);return HX(e,n),e};Object.defineProperty(Za,"__esModule",{value:!0});Za.unmanaged=void 0;var zX=GX(Sn()),QX=ta(),YX=Sc();function XX(){return function(n,e,t){var r=new QX.Metadata(zX.UNMANAGED_TAG,!0);(0,YX.tagParameter)(n,e,t,r)}}Za.unmanaged=XX});var u2=O(el=>{"use strict";var ZX=el&&el.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),eZ=el&&el.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),tZ=el&&el.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&ZX(e,n,t);return eZ(e,n),e};Object.defineProperty(el,"__esModule",{value:!0});el.multiInject=void 0;var rZ=tZ(Sn()),nZ=aA(),iZ=(0,nZ.injectBase)(rZ.MULTI_INJECT_TAG);el.multiInject=iZ});var d2=O(tl=>{"use strict";var oZ=tl&&tl.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),sZ=tl&&tl.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),aZ=tl&&tl.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&oZ(e,n,t);return sZ(e,n),e};Object.defineProperty(tl,"__esModule",{value:!0});tl.targetName=void 0;var lZ=aZ(Sn()),cZ=ta(),uZ=Sc();function dZ(n){return function(e,t,r){var i=new cZ.Metadata(lZ.NAME_TAG,n);(0,uZ.tagParameter)(e,t,r,i)}}tl.targetName=dZ});var lA=O(sP=>{"use strict";Object.defineProperty(sP,"__esModule",{value:!0});sP.propertyEventDecorator=void 0;var pZ=ta();function mZ(n,e){return function(){return function(t,r){var i=new pZ.Metadata(n,r);if(Reflect.hasOwnMetadata(n,t.constructor))throw new Error(e);Reflect.defineMetadata(n,i,t.constructor)}}}sP.propertyEventDecorator=mZ});var m2=O(rl=>{"use strict";var fZ=rl&&rl.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),hZ=rl&&rl.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),p2=rl&&rl.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&fZ(e,n,t);return hZ(e,n),e};Object.defineProperty(rl,"__esModule",{value:!0});rl.postConstruct=void 0;var gZ=p2(bi()),vZ=p2(Sn()),yZ=lA(),bZ=(0,yZ.propertyEventDecorator)(vZ.POST_CONSTRUCT,gZ.MULTIPLE_POST_CONSTRUCT_METHODS);rl.postConstruct=bZ});var h2=O(nl=>{"use strict";var IZ=nl&&nl.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),SZ=nl&&nl.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),f2=nl&&nl.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&IZ(e,n,t);return SZ(e,n),e};Object.defineProperty(nl,"__esModule",{value:!0});nl.preDestroy=void 0;var CZ=f2(bi()),wZ=f2(Sn()),EZ=lA(),PZ=(0,EZ.propertyEventDecorator)(wZ.PRE_DESTROY,CZ.MULTIPLE_PRE_DESTROY_METHODS);nl.preDestroy=PZ});var g2=O(aP=>{"use strict";Object.defineProperty(aP,"__esModule",{value:!0});aP.interfaces=void 0;var cA;cA||(cA={});aP.interfaces=cA});var N=O(Me=>{"use strict";var kZ=Me&&Me.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),xZ=Me&&Me.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),DZ=Me&&Me.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&kZ(e,n,t);return xZ(e,n),e};Object.defineProperty(Me,"__esModule",{value:!0});Me.multiBindToService=Me.getServiceIdentifierAsString=Me.typeConstraint=Me.namedConstraint=Me.taggedConstraint=Me.traverseAncerstors=Me.decorate=Me.interfaces=Me.id=Me.MetadataReader=Me.preDestroy=Me.postConstruct=Me.targetName=Me.multiInject=Me.unmanaged=Me.optional=Me.LazyServiceIdentifer=Me.inject=Me.named=Me.tagged=Me.injectable=Me.createTaggedDecorator=Me.ContainerModule=Me.AsyncContainerModule=Me.TargetTypeEnum=Me.BindingTypeEnum=Me.BindingScopeEnum=Me.Container=Me.METADATA_KEY=void 0;var _Z=DZ(Sn());Me.METADATA_KEY=_Z;var TZ=oA();Object.defineProperty(Me,"Container",{enumerable:!0,get:function(){return TZ.Container}});var uA=ea();Object.defineProperty(Me,"BindingScopeEnum",{enumerable:!0,get:function(){return uA.BindingScopeEnum}});Object.defineProperty(Me,"BindingTypeEnum",{enumerable:!0,get:function(){return uA.BindingTypeEnum}});Object.defineProperty(Me,"TargetTypeEnum",{enumerable:!0,get:function(){return uA.TargetTypeEnum}});var v2=zW();Object.defineProperty(Me,"AsyncContainerModule",{enumerable:!0,get:function(){return v2.AsyncContainerModule}});Object.defineProperty(Me,"ContainerModule",{enumerable:!0,get:function(){return v2.ContainerModule}});var RZ=Sc();Object.defineProperty(Me,"createTaggedDecorator",{enumerable:!0,get:function(){return RZ.createTaggedDecorator}});var AZ=i2();Object.defineProperty(Me,"injectable",{enumerable:!0,get:function(){return AZ.injectable}});var NZ=o2();Object.defineProperty(Me,"tagged",{enumerable:!0,get:function(){return NZ.tagged}});var MZ=s2();Object.defineProperty(Me,"named",{enumerable:!0,get:function(){return MZ.named}});var KZ=a2();Object.defineProperty(Me,"inject",{enumerable:!0,get:function(){return KZ.inject}});var OZ=OR();Object.defineProperty(Me,"LazyServiceIdentifer",{enumerable:!0,get:function(){return OZ.LazyServiceIdentifer}});var FZ=l2();Object.defineProperty(Me,"optional",{enumerable:!0,get:function(){return FZ.optional}});var LZ=c2();Object.defineProperty(Me,"unmanaged",{enumerable:!0,get:function(){return LZ.unmanaged}});var UZ=u2();Object.defineProperty(Me,"multiInject",{enumerable:!0,get:function(){return UZ.multiInject}});var WZ=d2();Object.defineProperty(Me,"targetName",{enumerable:!0,get:function(){return WZ.targetName}});var VZ=m2();Object.defineProperty(Me,"postConstruct",{enumerable:!0,get:function(){return VZ.postConstruct}});var jZ=h2();Object.defineProperty(Me,"preDestroy",{enumerable:!0,get:function(){return jZ.preDestroy}});var JZ=MR();Object.defineProperty(Me,"MetadataReader",{enumerable:!0,get:function(){return JZ.MetadataReader}});var BZ=Ju();Object.defineProperty(Me,"id",{enumerable:!0,get:function(){return BZ.id}});var $Z=g2();Object.defineProperty(Me,"interfaces",{enumerable:!0,get:function(){return $Z.interfaces}});var qZ=Sc();Object.defineProperty(Me,"decorate",{enumerable:!0,get:function(){return qZ.decorate}});var lP=eA();Object.defineProperty(Me,"traverseAncerstors",{enumerable:!0,get:function(){return lP.traverseAncerstors}});Object.defineProperty(Me,"taggedConstraint",{enumerable:!0,get:function(){return lP.taggedConstraint}});Object.defineProperty(Me,"namedConstraint",{enumerable:!0,get:function(){return lP.namedConstraint}});Object.defineProperty(Me,"typeConstraint",{enumerable:!0,get:function(){return lP.typeConstraint}});var HZ=uh();Object.defineProperty(Me,"getServiceIdentifierAsString",{enumerable:!0,get:function(){return HZ.getServiceIdentifierAsString}});var GZ=HR();Object.defineProperty(Me,"multiBindToService",{enumerable:!0,get:function(){return GZ.multiBindToService}})});var I2=O($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.PythonExtension=$u.PVSC_EXTENSION_ID=void 0;var QZ=require("vscode");$u.PVSC_EXTENSION_ID="ms-python.python";var YZ;(function(n){async function e(){let t=QZ.extensions.getExtension($u.PVSC_EXTENSION_ID);if(t===void 0)throw new Error("Python extension is not installed or is disabled");return t.isActive||await t.activate(),t.exports}n.api=e})(YZ=$u.PythonExtension||($u.PythonExtension={}))});var vA=O((Nve,C2)=>{C2.exports=require("util").format});var L2=O(KS=>{KS.get=function(n){var e=Error.stackTraceLimit;Error.stackTraceLimit=1/0;var t={},r=Error.prepareStackTrace;Error.prepareStackTrace=function(o,s){return s},Error.captureStackTrace(t,n||KS.get);var i=t.stack;return Error.prepareStackTrace=r,Error.stackTraceLimit=e,i};KS.parse=function(n){if(!n.stack)return[];var e=this,t=n.stack.split(`
|
||
`).slice(1);return t.map(function(r){if(r.match(/^\s*[-]{4,}$/))return e._createParsedCallSite({fileName:r,lineNumber:null,functionName:null,typeName:null,methodName:null,columnNumber:null,native:null});var i=r.match(/at (?:(.+)\s+\()?(?:(.+?):(\d+)(?::(\d+))?|([^)]+))\)?/);if(i){var o=null,s=null,a=null,l=null,c=null,u=i[5]==="native";if(i[1]){a=i[1];var d=a.lastIndexOf(".");if(a[d-1]=="."&&d--,d>0){o=a.substr(0,d),s=a.substr(d+1);var f=o.indexOf(".Module");f>0&&(a=a.substr(f+1),o=o.substr(0,f))}l=null}s&&(l=o,c=s),s==="<anonymous>"&&(c=null,a=null);var g={fileName:i[2]||null,lineNumber:parseInt(i[3],10)||null,functionName:a,typeName:l,methodName:c,columnNumber:parseInt(i[4],10)||null,native:u};return e._createParsedCallSite(g)}}).filter(function(r){return!!r})};function MS(n){for(var e in n)this[e]=n[e]}var uee=["this","typeName","functionName","methodName","fileName","lineNumber","columnNumber","function","evalOrigin"],dee=["topLevel","eval","native","constructor"];uee.forEach(function(n){MS.prototype[n]=null,MS.prototype["get"+n[0].toUpperCase()+n.substr(1)]=function(){return this[n]}});dee.forEach(function(n){MS.prototype[n]=!1,MS.prototype["is"+n[0].toUpperCase()+n.substr(1)]=function(){return this[n]}});KS._createParsedCallSite=function(n){return new MS(n)}});var Fh=O((Ct,pV)=>{Ct=pV.exports=Vt;var gr;typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?gr=function(){var n=Array.prototype.slice.call(arguments,0);n.unshift("SEMVER"),console.log.apply(console,n)}:gr=function(){};Ct.SEMVER_SPEC_VERSION="2.0.0";var LS=256,kP=Number.MAX_SAFE_INTEGER||9007199254740991,wA=16,Cne=LS-6,US=Ct.re=[],Ar=Ct.safeRe=[],ce=Ct.src=[],Lt=0,DA="[a-zA-Z0-9-]",EA=[["\\s",1],["\\d",LS],[DA,Cne]];function AP(n){for(var e=0;e<EA.length;e++){var t=EA[e][0],r=EA[e][1];n=n.split(t+"*").join(t+"{0,"+r+"}").split(t+"+").join(t+"{1,"+r+"}")}return n}var Th=Lt++;ce[Th]="0|[1-9]\\d*";var Rh=Lt++;ce[Rh]="\\d+";var _A=Lt++;ce[_A]="\\d*[a-zA-Z-]"+DA+"*";var X2=Lt++;ce[X2]="("+ce[Th]+")\\.("+ce[Th]+")\\.("+ce[Th]+")";var Z2=Lt++;ce[Z2]="("+ce[Rh]+")\\.("+ce[Rh]+")\\.("+ce[Rh]+")";var PA=Lt++;ce[PA]="(?:"+ce[Th]+"|"+ce[_A]+")";var kA=Lt++;ce[kA]="(?:"+ce[Rh]+"|"+ce[_A]+")";var TA=Lt++;ce[TA]="(?:-("+ce[PA]+"(?:\\."+ce[PA]+")*))";var RA=Lt++;ce[RA]="(?:-?("+ce[kA]+"(?:\\."+ce[kA]+")*))";var xA=Lt++;ce[xA]=DA+"+";var VS=Lt++;ce[VS]="(?:\\+("+ce[xA]+"(?:\\."+ce[xA]+")*))";var AA=Lt++,eV="v?"+ce[X2]+ce[TA]+"?"+ce[VS]+"?";ce[AA]="^"+eV+"$";var NA="[v=\\s]*"+ce[Z2]+ce[RA]+"?"+ce[VS]+"?",MA=Lt++;ce[MA]="^"+NA+"$";var Oh=Lt++;ce[Oh]="((?:<|>)?=?)";var xP=Lt++;ce[xP]=ce[Rh]+"|x|X|\\*";var DP=Lt++;ce[DP]=ce[Th]+"|x|X|\\*";var Xp=Lt++;ce[Xp]="[v=\\s]*("+ce[DP]+")(?:\\.("+ce[DP]+")(?:\\.("+ce[DP]+")(?:"+ce[TA]+")?"+ce[VS]+"?)?)?";var Nh=Lt++;ce[Nh]="[v=\\s]*("+ce[xP]+")(?:\\.("+ce[xP]+")(?:\\.("+ce[xP]+")(?:"+ce[RA]+")?"+ce[VS]+"?)?)?";var tV=Lt++;ce[tV]="^"+ce[Oh]+"\\s*"+ce[Xp]+"$";var rV=Lt++;ce[rV]="^"+ce[Oh]+"\\s*"+ce[Nh]+"$";var nV=Lt++;ce[nV]="(?:^|[^\\d])(\\d{1,"+wA+"})(?:\\.(\\d{1,"+wA+"}))?(?:\\.(\\d{1,"+wA+"}))?(?:$|[^\\d])";var NP=Lt++;ce[NP]="(?:~>?)";var Mh=Lt++;ce[Mh]="(\\s*)"+ce[NP]+"\\s+";US[Mh]=new RegExp(ce[Mh],"g");Ar[Mh]=new RegExp(AP(ce[Mh]),"g");var wne="$1~",iV=Lt++;ce[iV]="^"+ce[NP]+ce[Xp]+"$";var oV=Lt++;ce[oV]="^"+ce[NP]+ce[Nh]+"$";var MP=Lt++;ce[MP]="(?:\\^)";var Kh=Lt++;ce[Kh]="(\\s*)"+ce[MP]+"\\s+";US[Kh]=new RegExp(ce[Kh],"g");Ar[Kh]=new RegExp(AP(ce[Kh]),"g");var Ene="$1^",sV=Lt++;ce[sV]="^"+ce[MP]+ce[Xp]+"$";var aV=Lt++;ce[aV]="^"+ce[MP]+ce[Nh]+"$";var KA=Lt++;ce[KA]="^"+ce[Oh]+"\\s*("+NA+")$|^$";var OA=Lt++;ce[OA]="^"+ce[Oh]+"\\s*("+eV+")$|^$";var Zp=Lt++;ce[Zp]="(\\s*)"+ce[Oh]+"\\s*("+NA+"|"+ce[Xp]+")";US[Zp]=new RegExp(ce[Zp],"g");Ar[Zp]=new RegExp(AP(ce[Zp]),"g");var Pne="$1$2$3",lV=Lt++;ce[lV]="^\\s*("+ce[Xp]+")\\s+-\\s+("+ce[Xp]+")\\s*$";var cV=Lt++;ce[cV]="^\\s*("+ce[Nh]+")\\s+-\\s+("+ce[Nh]+")\\s*$";var uV=Lt++;ce[uV]="(<|>)?=?\\s*\\*";for(al=0;al<Lt;al++)gr(al,ce[al]),US[al]||(US[al]=new RegExp(ce[al]),Ar[al]=new RegExp(AP(ce[al])));var al;Ct.parse=em;function em(n,e){if((!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1}),n instanceof Vt)return n;if(typeof n!="string"||n.length>LS)return null;var t=e.loose?Ar[MA]:Ar[AA];if(!t.test(n))return null;try{return new Vt(n,e)}catch{return null}}Ct.valid=kne;function kne(n,e){var t=em(n,e);return t?t.version:null}Ct.clean=xne;function xne(n,e){var t=em(n.trim().replace(/^[=v]+/,""),e);return t?t.version:null}Ct.SemVer=Vt;function Vt(n,e){if((!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1}),n instanceof Vt){if(n.loose===e.loose)return n;n=n.version}else if(typeof n!="string")throw new TypeError("Invalid Version: "+n);if(n.length>LS)throw new TypeError("version is longer than "+LS+" characters");if(!(this instanceof Vt))return new Vt(n,e);gr("SemVer",n,e),this.options=e,this.loose=!!e.loose;var t=n.trim().match(e.loose?Ar[MA]:Ar[AA]);if(!t)throw new TypeError("Invalid Version: "+n);if(this.raw=n,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>kP||this.major<0)throw new TypeError("Invalid major version");if(this.minor>kP||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>kP||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map(function(r){if(/^[0-9]+$/.test(r)){var i=+r;if(i>=0&&i<kP)return i}return r}):this.prerelease=[],this.build=t[5]?t[5].split("."):[],this.format()}Vt.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version};Vt.prototype.toString=function(){return this.version};Vt.prototype.compare=function(n){return gr("SemVer.compare",this.version,this.options,n),n instanceof Vt||(n=new Vt(n,this.options)),this.compareMain(n)||this.comparePre(n)};Vt.prototype.compareMain=function(n){return n instanceof Vt||(n=new Vt(n,this.options)),Ah(this.major,n.major)||Ah(this.minor,n.minor)||Ah(this.patch,n.patch)};Vt.prototype.comparePre=function(n){if(n instanceof Vt||(n=new Vt(n,this.options)),this.prerelease.length&&!n.prerelease.length)return-1;if(!this.prerelease.length&&n.prerelease.length)return 1;if(!this.prerelease.length&&!n.prerelease.length)return 0;var e=0;do{var t=this.prerelease[e],r=n.prerelease[e];if(gr("prerelease compare",e,t,r),t===void 0&&r===void 0)return 0;if(r===void 0)return 1;if(t===void 0)return-1;if(t===r)continue;return Ah(t,r)}while(++e)};Vt.prototype.inc=function(n,e){switch(n){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",e);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",e);break;case"prepatch":this.prerelease.length=0,this.inc("patch",e),this.inc("pre",e);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",e),this.inc("pre",e);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{for(var t=this.prerelease.length;--t>=0;)typeof this.prerelease[t]=="number"&&(this.prerelease[t]++,t=-2);t===-1&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error("invalid increment argument: "+n)}return this.format(),this.raw=this.version,this};Ct.inc=Dne;function Dne(n,e,t,r){typeof t=="string"&&(r=t,t=void 0);try{return new Vt(n,t).inc(e,r).version}catch{return null}}Ct.diff=_ne;function _ne(n,e){if(FA(n,e))return null;var t=em(n),r=em(e),i="";if(t.prerelease.length||r.prerelease.length){i="pre";var o="prerelease"}for(var s in t)if((s==="major"||s==="minor"||s==="patch")&&t[s]!==r[s])return i+s;return o}Ct.compareIdentifiers=Ah;var Y2=/^[0-9]+$/;function Ah(n,e){var t=Y2.test(n),r=Y2.test(e);return t&&r&&(n=+n,e=+e),n===e?0:t&&!r?-1:r&&!t?1:n<e?-1:1}Ct.rcompareIdentifiers=Tne;function Tne(n,e){return Ah(e,n)}Ct.major=Rne;function Rne(n,e){return new Vt(n,e).major}Ct.minor=Ane;function Ane(n,e){return new Vt(n,e).minor}Ct.patch=Nne;function Nne(n,e){return new Vt(n,e).patch}Ct.compare=Pc;function Pc(n,e,t){return new Vt(n,t).compare(new Vt(e,t))}Ct.compareLoose=Mne;function Mne(n,e){return Pc(n,e,!0)}Ct.rcompare=Kne;function Kne(n,e,t){return Pc(e,n,t)}Ct.sort=One;function One(n,e){return n.sort(function(t,r){return Ct.compare(t,r,e)})}Ct.rsort=Fne;function Fne(n,e){return n.sort(function(t,r){return Ct.rcompare(t,r,e)})}Ct.gt=WS;function WS(n,e,t){return Pc(n,e,t)>0}Ct.lt=_P;function _P(n,e,t){return Pc(n,e,t)<0}Ct.eq=FA;function FA(n,e,t){return Pc(n,e,t)===0}Ct.neq=dV;function dV(n,e,t){return Pc(n,e,t)!==0}Ct.gte=LA;function LA(n,e,t){return Pc(n,e,t)>=0}Ct.lte=UA;function UA(n,e,t){return Pc(n,e,t)<=0}Ct.cmp=TP;function TP(n,e,t,r){switch(e){case"===":return typeof n=="object"&&(n=n.version),typeof t=="object"&&(t=t.version),n===t;case"!==":return typeof n=="object"&&(n=n.version),typeof t=="object"&&(t=t.version),n!==t;case"":case"=":case"==":return FA(n,t,r);case"!=":return dV(n,t,r);case">":return WS(n,t,r);case">=":return LA(n,t,r);case"<":return _P(n,t,r);case"<=":return UA(n,t,r);default:throw new TypeError("Invalid operator: "+e)}}Ct.Comparator=ys;function ys(n,e){if((!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1}),n instanceof ys){if(n.loose===!!e.loose)return n;n=n.value}if(!(this instanceof ys))return new ys(n,e);n=n.trim().split(/\s+/).join(" "),gr("comparator",n,e),this.options=e,this.loose=!!e.loose,this.parse(n),this.semver===jS?this.value="":this.value=this.operator+this.semver.version,gr("comp",this)}var jS={};ys.prototype.parse=function(n){var e=this.options.loose?Ar[KA]:Ar[OA],t=n.match(e);if(!t)throw new TypeError("Invalid comparator: "+n);this.operator=t[1],this.operator==="="&&(this.operator=""),t[2]?this.semver=new Vt(t[2],this.options.loose):this.semver=jS};ys.prototype.toString=function(){return this.value};ys.prototype.test=function(n){return gr("Comparator.test",n,this.options.loose),this.semver===jS?!0:(typeof n=="string"&&(n=new Vt(n,this.options)),TP(n,this.operator,this.semver,this.options))};ys.prototype.intersects=function(n,e){if(!(n instanceof ys))throw new TypeError("a Comparator is required");(!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1});var t;if(this.operator==="")return t=new nn(n.value,e),RP(this.value,t,e);if(n.operator==="")return t=new nn(this.value,e),RP(n.semver,t,e);var r=(this.operator===">="||this.operator===">")&&(n.operator===">="||n.operator===">"),i=(this.operator==="<="||this.operator==="<")&&(n.operator==="<="||n.operator==="<"),o=this.semver.version===n.semver.version,s=(this.operator===">="||this.operator==="<=")&&(n.operator===">="||n.operator==="<="),a=TP(this.semver,"<",n.semver,e)&&(this.operator===">="||this.operator===">")&&(n.operator==="<="||n.operator==="<"),l=TP(this.semver,">",n.semver,e)&&(this.operator==="<="||this.operator==="<")&&(n.operator===">="||n.operator===">");return r||i||o&&s||a||l};Ct.Range=nn;function nn(n,e){if((!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1}),n instanceof nn)return n.loose===!!e.loose&&n.includePrerelease===!!e.includePrerelease?n:new nn(n.raw,e);if(n instanceof ys)return new nn(n.value,e);if(!(this instanceof nn))return new nn(n,e);if(this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease,this.raw=n.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(function(t){return this.parseRange(t.trim())},this).filter(function(t){return t.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+this.raw);this.format()}nn.prototype.format=function(){return this.range=this.set.map(function(n){return n.join(" ").trim()}).join("||").trim(),this.range};nn.prototype.toString=function(){return this.range};nn.prototype.parseRange=function(n){var e=this.options.loose,t=e?Ar[cV]:Ar[lV];n=n.replace(t,Hne),gr("hyphen replace",n),n=n.replace(Ar[Zp],Pne),gr("comparator trim",n,Ar[Zp]),n=n.replace(Ar[Mh],wne),n=n.replace(Ar[Kh],Ene);var r=e?Ar[KA]:Ar[OA],i=n.split(" ").map(function(o){return Une(o,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(i=i.filter(function(o){return!!o.match(r)})),i=i.map(function(o){return new ys(o,this.options)},this),i};nn.prototype.intersects=function(n,e){if(!(n instanceof nn))throw new TypeError("a Range is required");return this.set.some(function(t){return t.every(function(r){return n.set.some(function(i){return i.every(function(o){return r.intersects(o,e)})})})})};Ct.toComparators=Lne;function Lne(n,e){return new nn(n,e).set.map(function(t){return t.map(function(r){return r.value}).join(" ").trim().split(" ")})}function Une(n,e){return gr("comp",n,e),n=jne(n,e),gr("caret",n),n=Wne(n,e),gr("tildes",n),n=Bne(n,e),gr("xrange",n),n=qne(n,e),gr("stars",n),n}function Bi(n){return!n||n.toLowerCase()==="x"||n==="*"}function Wne(n,e){return n.trim().split(/\s+/).map(function(t){return Vne(t,e)}).join(" ")}function Vne(n,e){var t=e.loose?Ar[oV]:Ar[iV];return n.replace(t,function(r,i,o,s,a){gr("tilde",n,r,i,o,s,a);var l;return Bi(i)?l="":Bi(o)?l=">="+i+".0.0 <"+(+i+1)+".0.0":Bi(s)?l=">="+i+"."+o+".0 <"+i+"."+(+o+1)+".0":a?(gr("replaceTilde pr",a),l=">="+i+"."+o+"."+s+"-"+a+" <"+i+"."+(+o+1)+".0"):l=">="+i+"."+o+"."+s+" <"+i+"."+(+o+1)+".0",gr("tilde return",l),l})}function jne(n,e){return n.trim().split(/\s+/).map(function(t){return Jne(t,e)}).join(" ")}function Jne(n,e){gr("caret",n,e);var t=e.loose?Ar[aV]:Ar[sV];return n.replace(t,function(r,i,o,s,a){gr("caret",n,r,i,o,s,a);var l;return Bi(i)?l="":Bi(o)?l=">="+i+".0.0 <"+(+i+1)+".0.0":Bi(s)?i==="0"?l=">="+i+"."+o+".0 <"+i+"."+(+o+1)+".0":l=">="+i+"."+o+".0 <"+(+i+1)+".0.0":a?(gr("replaceCaret pr",a),i==="0"?o==="0"?l=">="+i+"."+o+"."+s+"-"+a+" <"+i+"."+o+"."+(+s+1):l=">="+i+"."+o+"."+s+"-"+a+" <"+i+"."+(+o+1)+".0":l=">="+i+"."+o+"."+s+"-"+a+" <"+(+i+1)+".0.0"):(gr("no pr"),i==="0"?o==="0"?l=">="+i+"."+o+"."+s+" <"+i+"."+o+"."+(+s+1):l=">="+i+"."+o+"."+s+" <"+i+"."+(+o+1)+".0":l=">="+i+"."+o+"."+s+" <"+(+i+1)+".0.0"),gr("caret return",l),l})}function Bne(n,e){return gr("replaceXRanges",n,e),n.split(/\s+/).map(function(t){return $ne(t,e)}).join(" ")}function $ne(n,e){n=n.trim();var t=e.loose?Ar[rV]:Ar[tV];return n.replace(t,function(r,i,o,s,a,l){gr("xRange",n,r,i,o,s,a,l);var c=Bi(o),u=c||Bi(s),d=u||Bi(a),f=d;return i==="="&&f&&(i=""),c?i===">"||i==="<"?r="<0.0.0":r="*":i&&f?(u&&(s=0),a=0,i===">"?(i=">=",u?(o=+o+1,s=0,a=0):(s=+s+1,a=0)):i==="<="&&(i="<",u?o=+o+1:s=+s+1),r=i+o+"."+s+"."+a):u?r=">="+o+".0.0 <"+(+o+1)+".0.0":d&&(r=">="+o+"."+s+".0 <"+o+"."+(+s+1)+".0"),gr("xRange return",r),r})}function qne(n,e){return gr("replaceStars",n,e),n.trim().replace(Ar[uV],"")}function Hne(n,e,t,r,i,o,s,a,l,c,u,d,f){return Bi(t)?e="":Bi(r)?e=">="+t+".0.0":Bi(i)?e=">="+t+"."+r+".0":e=">="+e,Bi(l)?a="":Bi(c)?a="<"+(+l+1)+".0.0":Bi(u)?a="<"+l+"."+(+c+1)+".0":d?a="<="+l+"."+c+"."+u+"-"+d:a="<="+a,(e+" "+a).trim()}nn.prototype.test=function(n){if(!n)return!1;typeof n=="string"&&(n=new Vt(n,this.options));for(var e=0;e<this.set.length;e++)if(Gne(this.set[e],n,this.options))return!0;return!1};function Gne(n,e,t){for(var r=0;r<n.length;r++)if(!n[r].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(r=0;r<n.length;r++)if(gr(n[r].semver),n[r].semver!==jS&&n[r].semver.prerelease.length>0){var i=n[r].semver;if(i.major===e.major&&i.minor===e.minor&&i.patch===e.patch)return!0}return!1}return!0}Ct.satisfies=RP;function RP(n,e,t){try{e=new nn(e,t)}catch{return!1}return e.test(n)}Ct.maxSatisfying=zne;function zne(n,e,t){var r=null,i=null;try{var o=new nn(e,t)}catch{return null}return n.forEach(function(s){o.test(s)&&(!r||i.compare(s)===-1)&&(r=s,i=new Vt(r,t))}),r}Ct.minSatisfying=Qne;function Qne(n,e,t){var r=null,i=null;try{var o=new nn(e,t)}catch{return null}return n.forEach(function(s){o.test(s)&&(!r||i.compare(s)===1)&&(r=s,i=new Vt(r,t))}),r}Ct.minVersion=Yne;function Yne(n,e){n=new nn(n,e);var t=new Vt("0.0.0");if(n.test(t)||(t=new Vt("0.0.0-0"),n.test(t)))return t;t=null;for(var r=0;r<n.set.length;++r){var i=n.set[r];i.forEach(function(o){var s=new Vt(o.semver.version);switch(o.operator){case">":s.prerelease.length===0?s.patch++:s.prerelease.push(0),s.raw=s.format();case"":case">=":(!t||WS(t,s))&&(t=s);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+o.operator)}})}return t&&n.test(t)?t:null}Ct.validRange=Xne;function Xne(n,e){try{return new nn(n,e).range||"*"}catch{return null}}Ct.ltr=Zne;function Zne(n,e,t){return WA(n,e,"<",t)}Ct.gtr=eie;function eie(n,e,t){return WA(n,e,">",t)}Ct.outside=WA;function WA(n,e,t,r){n=new Vt(n,r),e=new nn(e,r);var i,o,s,a,l;switch(t){case">":i=WS,o=UA,s=_P,a=">",l=">=";break;case"<":i=_P,o=LA,s=WS,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(RP(n,e,r))return!1;for(var c=0;c<e.set.length;++c){var u=e.set[c],d=null,f=null;if(u.forEach(function(g){g.semver===jS&&(g=new ys(">=0.0.0")),d=d||g,f=f||g,i(g.semver,d.semver,r)?d=g:s(g.semver,f.semver,r)&&(f=g)}),d.operator===a||d.operator===l||(!f.operator||f.operator===a)&&o(n,f.semver))return!1;if(f.operator===l&&s(n,f.semver))return!1}return!0}Ct.prerelease=tie;function tie(n,e){var t=em(n,e);return t&&t.prerelease.length?t.prerelease:null}Ct.intersects=rie;function rie(n,e,t){return n=new nn(n,t),e=new nn(e,t),n.intersects(e)}Ct.coerce=nie;function nie(n){if(n instanceof Vt)return n;if(typeof n!="string")return null;var e=n.match(Ar[nV]);return e==null?null:em(e[1]+"."+(e[2]||"0")+"."+(e[3]||"0"))}});var NV=O((jIe,AV)=>{"use strict";AV.exports=function(e,t){if(t=t.split(":")[0],e=+e,!e)return!1;switch(t){case"http":case"ws":return e!==80;case"https":case"wss":return e!==443;case"ftp":return e!==21;case"gopher":return e!==70;case"file":return!1}return e!==0}});var OV=O(qA=>{"use strict";var yie=Object.prototype.hasOwnProperty,bie;function MV(n){try{return decodeURIComponent(n.replace(/\+/g," "))}catch{return null}}function KV(n){try{return encodeURIComponent(n)}catch{return null}}function Iie(n){for(var e=/([^=?#&]+)=?([^&]*)/g,t={},r;r=e.exec(n);){var i=MV(r[1]),o=MV(r[2]);i===null||o===null||i in t||(t[i]=o)}return t}function Sie(n,e){e=e||"";var t=[],r,i;typeof e!="string"&&(e="?");for(i in n)if(yie.call(n,i)){if(r=n[i],!r&&(r===null||r===bie||isNaN(r))&&(r=""),i=KV(i),r=KV(r),i===null||r===null)continue;t.push(i+"="+r)}return t.length?e+t.join("&"):""}qA.stringify=Sie;qA.parse=Iie});var BV=O((BIe,JV)=>{"use strict";var LV=NV(),QP=OV(),Cie=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,UV=/[\n\r\t]/g,wie=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,WV=/:\d+$/,Eie=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,Pie=/^[a-zA-Z]:/;function GA(n){return(n||"").toString().replace(Cie,"")}var HA=[["#","hash"],["?","query"],function(e,t){return ul(t.protocol)?e.replace(/\\/g,"/"):e},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],FV={hash:1,query:1};function VV(n){var e;typeof window<"u"?e=window:typeof global<"u"?e=global:typeof self<"u"?e=self:e={};var t=e.location||{};n=n||t;var r={},i=typeof n,o;if(n.protocol==="blob:")r=new dl(unescape(n.pathname),{});else if(i==="string"){r=new dl(n,{});for(o in FV)delete r[o]}else if(i==="object"){for(o in n)o in FV||(r[o]=n[o]);r.slashes===void 0&&(r.slashes=wie.test(n.href))}return r}function ul(n){return n==="file:"||n==="ftp:"||n==="http:"||n==="https:"||n==="ws:"||n==="wss:"}function jV(n,e){n=GA(n),n=n.replace(UV,""),e=e||{};var t=Eie.exec(n),r=t[1]?t[1].toLowerCase():"",i=!!t[2],o=!!t[3],s=0,a;return i?o?(a=t[2]+t[3]+t[4],s=t[2].length+t[3].length):(a=t[2]+t[4],s=t[2].length):o?(a=t[3]+t[4],s=t[3].length):a=t[4],r==="file:"?s>=2&&(a=a.slice(2)):ul(r)?a=t[4]:r?i&&(a=a.slice(2)):s>=2&&ul(e.protocol)&&(a=t[4]),{protocol:r,slashes:i||ul(r),slashesCount:s,rest:a}}function kie(n,e){if(n==="")return e;for(var t=(e||"/").split("/").slice(0,-1).concat(n.split("/")),r=t.length,i=t[r-1],o=!1,s=0;r--;)t[r]==="."?t.splice(r,1):t[r]===".."?(t.splice(r,1),s++):s&&(r===0&&(o=!0),t.splice(r,1),s--);return o&&t.unshift(""),(i==="."||i==="..")&&t.push(""),t.join("/")}function dl(n,e,t){if(n=GA(n),n=n.replace(UV,""),!(this instanceof dl))return new dl(n,e,t);var r,i,o,s,a,l,c=HA.slice(),u=typeof e,d=this,f=0;for(u!=="object"&&u!=="string"&&(t=e,e=null),t&&typeof t!="function"&&(t=QP.parse),e=VV(e),i=jV(n||"",e),r=!i.protocol&&!i.slashes,d.slashes=i.slashes||r&&e.slashes,d.protocol=i.protocol||e.protocol||"",n=i.rest,(i.protocol==="file:"&&(i.slashesCount!==2||Pie.test(n))||!i.slashes&&(i.protocol||i.slashesCount<2||!ul(d.protocol)))&&(c[3]=[/(.*)/,"pathname"]);f<c.length;f++){if(s=c[f],typeof s=="function"){n=s(n,d);continue}o=s[0],l=s[1],o!==o?d[l]=n:typeof o=="string"?(a=o==="@"?n.lastIndexOf(o):n.indexOf(o),~a&&(typeof s[2]=="number"?(d[l]=n.slice(0,a),n=n.slice(a+s[2])):(d[l]=n.slice(a),n=n.slice(0,a)))):(a=o.exec(n))&&(d[l]=a[1],n=n.slice(0,a.index)),d[l]=d[l]||r&&s[3]&&e[l]||"",s[4]&&(d[l]=d[l].toLowerCase())}t&&(d.query=t(d.query)),r&&e.slashes&&d.pathname.charAt(0)!=="/"&&(d.pathname!==""||e.pathname!=="")&&(d.pathname=kie(d.pathname,e.pathname)),d.pathname.charAt(0)!=="/"&&ul(d.protocol)&&(d.pathname="/"+d.pathname),LV(d.port,d.protocol)||(d.host=d.hostname,d.port=""),d.username=d.password="",d.auth&&(a=d.auth.indexOf(":"),~a?(d.username=d.auth.slice(0,a),d.username=encodeURIComponent(decodeURIComponent(d.username)),d.password=d.auth.slice(a+1),d.password=encodeURIComponent(decodeURIComponent(d.password))):d.username=encodeURIComponent(decodeURIComponent(d.auth)),d.auth=d.password?d.username+":"+d.password:d.username),d.origin=d.protocol!=="file:"&&ul(d.protocol)&&d.host?d.protocol+"//"+d.host:"null",d.href=d.toString()}function xie(n,e,t){var r=this;switch(n){case"query":typeof e=="string"&&e.length&&(e=(t||QP.parse)(e)),r[n]=e;break;case"port":r[n]=e,LV(e,r.protocol)?e&&(r.host=r.hostname+":"+e):(r.host=r.hostname,r[n]="");break;case"hostname":r[n]=e,r.port&&(e+=":"+r.port),r.host=e;break;case"host":r[n]=e,WV.test(e)?(e=e.split(":"),r.port=e.pop(),r.hostname=e.join(":")):(r.hostname=e,r.port="");break;case"protocol":r.protocol=e.toLowerCase(),r.slashes=!t;break;case"pathname":case"hash":if(e){var i=n==="pathname"?"/":"#";r[n]=e.charAt(0)!==i?i+e:e}else r[n]=e;break;case"username":case"password":r[n]=encodeURIComponent(e);break;case"auth":var o=e.indexOf(":");~o?(r.username=e.slice(0,o),r.username=encodeURIComponent(decodeURIComponent(r.username)),r.password=e.slice(o+1),r.password=encodeURIComponent(decodeURIComponent(r.password))):r.username=encodeURIComponent(decodeURIComponent(e))}for(var s=0;s<HA.length;s++){var a=HA[s];a[4]&&(r[a[1]]=r[a[1]].toLowerCase())}return r.auth=r.password?r.username+":"+r.password:r.username,r.origin=r.protocol!=="file:"&&ul(r.protocol)&&r.host?r.protocol+"//"+r.host:"null",r.href=r.toString(),r}function Die(n){(!n||typeof n!="function")&&(n=QP.stringify);var e,t=this,r=t.host,i=t.protocol;i&&i.charAt(i.length-1)!==":"&&(i+=":");var o=i+(t.protocol&&t.slashes||ul(t.protocol)?"//":"");return t.username?(o+=t.username,t.password&&(o+=":"+t.password),o+="@"):t.password?(o+=":"+t.password,o+="@"):t.protocol!=="file:"&&ul(t.protocol)&&!r&&t.pathname!=="/"&&(o+="@"),(r[r.length-1]===":"||WV.test(t.hostname)&&!t.port)&&(r+=":"),o+=r+t.pathname,e=typeof t.query=="object"?n(t.query):t.query,e&&(o+=e.charAt(0)!=="?"?"?"+e:e),t.hash&&(o+=t.hash),o}dl.prototype={set:xie,toString:Die};dl.extractProtocol=jV;dl.location=VV;dl.trimLeft=GA;dl.qs=QP;JV.exports=dl});var zA=O((qIe,HV)=>{"use strict";var $V=Array.isArray,qV=Object.keys,_ie=Object.prototype.hasOwnProperty;HV.exports=function n(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var r=$V(e),i=$V(t),o,s,a;if(r&&i){if(s=e.length,s!=t.length)return!1;for(o=s;o--!==0;)if(!n(e[o],t[o]))return!1;return!0}if(r!=i)return!1;var l=e instanceof Date,c=t instanceof Date;if(l!=c)return!1;if(l&&c)return e.getTime()==t.getTime();var u=e instanceof RegExp,d=t instanceof RegExp;if(u!=d)return!1;if(u&&d)return e.toString()==t.toString();var f=qV(e);if(s=f.length,s!==qV(t).length)return!1;for(o=s;o--!==0;)if(!_ie.call(t,f[o]))return!1;for(o=s;o--!==0;)if(a=f[o],!n(e[a],t[a]))return!1;return!0}return e!==e&&t!==t}});var fN=O(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});fd.TargetPopulation=fd.Filters=fd.VSCodeFilterProvider=void 0;var xk=require("vscode"),mN=class n{constructor(e,t,r){this.extensionName=e,this.extensionVersion=t,this.targetPopulation=r}static trimVersionSuffix(e){let t=/\-[a-zA-Z0-9]+$/;return e.split(t)[0]}getFilterValue(e){switch(e){case Cl.ApplicationVersion:return n.trimVersionSuffix(xk.version);case Cl.Build:return xk.env.appName;case Cl.ClientId:return xk.env.machineId;case Cl.ExtensionName:return this.extensionName;case Cl.ExtensionVersion:return n.trimVersionSuffix(this.extensionVersion);case Cl.Language:return xk.env.language;case Cl.TargetPopulation:return this.targetPopulation;default:return""}}getFilters(){let e=new Map,t=Object.values(Cl);for(let r of t)e.set(r,this.getFilterValue(r));return e}};fd.VSCodeFilterProvider=mN;var Cl;(function(n){n.Market="X-MSEdge-Market",n.CorpNet="X-FD-Corpnet",n.ApplicationVersion="X-VSCode-AppVersion",n.Build="X-VSCode-Build",n.ClientId="X-MSEdge-ClientId",n.ExtensionName="X-VSCode-ExtensionName",n.ExtensionVersion="X-VSCode-ExtensionVersion",n.Language="X-VSCode-Language",n.TargetPopulation="X-VSCode-TargetPopulation"})(Cl||(fd.Filters=Cl={}));var qj;(function(n){n.Team="team",n.Internal="internal",n.Insiders="insider",n.Public="public"})(qj||(fd.TargetPopulation=qj={}))});var Hj=O(Dk=>{"use strict";Object.defineProperty(Dk,"__esModule",{value:!0});Dk.BaseFeatureProvider=void 0;var hN=class{constructor(e){this.telemetry=e,this.isFetching=!1}async getFeatures(){if(this.isFetching&&this.fetchPromise)return this.fetchPromise;this.fetchPromise=this.fetch();let e=await this.fetchPromise;return this.isFetching=!1,this.fetchPromise=void 0,e}};Dk.BaseFeatureProvider=hN});var Gj=O(_k=>{"use strict";Object.defineProperty(_k,"__esModule",{value:!0});_k.FilteredFeatureProvider=void 0;var Zie=Hj(),gN=class extends Zie.BaseFeatureProvider{constructor(e,t){super(e),this.telemetry=e,this.filterProviders=t,this.cachedTelemetryEvents=[]}getFilters(){let e=new Map;for(let t of this.filterProviders){let r=t.getFilters();for(let i of r.keys()){let o=r.get(i);e.set(i,o)}}return e}PostEventToTelemetry(e){if(this.cachedTelemetryEvents.includes(e))return;let t=JSON.stringify(e);this.telemetry.postEvent("report-headers",new Map([["ABExp.headers",t]])),this.cachedTelemetryEvents.push(e)}};_k.FilteredFeatureProvider=gN});var zj=O(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.TasApiFeatureProvider=hd.TASAPI_FETCHERROR_EVENTNAME=void 0;var eoe=Gj();hd.TASAPI_FETCHERROR_EVENTNAME="call-tas-error";var vN="ErrorType",yN=class extends eoe.FilteredFeatureProvider{constructor(e,t,r){super(t,r),this.httpClient=e,this.telemetry=t,this.filterProviders=r}async fetch(){let e=this.getFilters(),t={};for(let a of e.keys()){let l=e.get(a);t[a]=l}let r;try{r=await this.httpClient.get({headers:t})}catch(a){let l=a,c=new Map;l.responseReceived&&!l.responseOk?c.set(vN,"ServerError"):l.responseReceived===!1?c.set(vN,"NoResponse"):c.set(vN,"GenericError"),this.telemetry.postEvent(hd.TASAPI_FETCHERROR_EVENTNAME,c)}if(!r)throw Error(hd.TASAPI_FETCHERROR_EVENTNAME);e.keys.length>0&&this.PostEventToTelemetry(t);let i=r.data,o=i.Configs,s=[];for(let a of o)if(a.Parameters)for(let l of Object.keys(a.Parameters)){let c=l+(a.Parameters[l]?"":"cf");s.includes(c)||s.push(c)}return{features:s,assignmentContext:i.AssignmentContext,configs:o}}};hd.TasApiFeatureProvider=yN});var Qj=O(gg=>{"use strict";Object.defineProperty(gg,"__esModule",{value:!0});gg.HttpClient=gg.FetchError=void 0;var hg=class extends Error{constructor(e,t,r){super(e),this.responseReceived=t,this.responseOk=r}};gg.FetchError=hg;var bN=class{constructor(e){this.endpoint=e}async get(e){let t=await fetch(this.endpoint,{method:"GET",headers:e?.headers});if(!t)throw new hg("No response received",!1);if(!t.ok)throw new hg("Response not ok",!0,!1);let r=await t.json();if(!r)throw new hg("No data received",!1);return{data:r}}};gg.HttpClient=bN});var Yj=O(Tk=>{"use strict";Object.defineProperty(Tk,"__esModule",{value:!0});Tk.MemoryKeyValueStorage=void 0;var IN=class{constructor(){this.storage=new Map}async getValue(e,t){return this.storage.has(e)?await Promise.resolve(this.storage.get(e)):await Promise.resolve(t||void 0)}setValue(e,t){this.storage.set(e,t)}};Tk.MemoryKeyValueStorage=IN});var Xj=O(Rk=>{"use strict";Object.defineProperty(Rk,"__esModule",{value:!0});Rk.ExperimentationServiceBase=void 0;var toe=Yj(),SN=class{get features(){return this._features}set features(e){this._features=e,this.telemetry&&this.telemetry.setSharedProperty(this.assignmentContextTelemetryPropertyName,this.features.assignmentContext)}constructor(e,t,r,i,o){this.telemetry=e,this.assignmentContextTelemetryPropertyName=t,this.telemetryEventName=r,this.storageKey=i,this.storage=o,this.featuresConsumed=!1,this.cachedTelemetryEvents=[],this._features={features:[],assignmentContext:"",configs:[]},this.storageKey||(this.storageKey="ABExp.Features"),this.storage||(o=new toe.MemoryKeyValueStorage),this.loadCachePromise=this.loadCachedFeatureData(),this.initializePromise=this.loadCachePromise,this.initialFetch=new Promise((s,a)=>{this.resolveInitialFetchPromise=s})}async getFeaturesAsync(e=!1){if(this.fetchPromise!=null){try{await this.fetchPromise}catch{}return this.features}if(!this.featureProviders||this.featureProviders.length===0)return Promise.resolve({features:[],assignmentContext:"",configs:[]});try{this.fetchPromise=Promise.all(this.featureProviders.map(async r=>await r.getFeatures()));let t=await this.fetchPromise;this.updateFeatures(t,e)}catch{}return this.fetchPromise=void 0,this.resolveInitialFetchPromise&&(this.resolveInitialFetchPromise(),this.resolveInitialFetchPromise=void 0),this.features}updateFeatures(e,t=!1){let r={features:[],assignmentContext:"",configs:[]};for(let i of e){for(let o of i.features)r.features.includes(o)||r.features.push(o);for(let o of i.configs){let s=r.configs.find(a=>a.Id===o.Id);s?s.Parameters=Object.assign(Object.assign({},s.Parameters),o.Parameters):r.configs.push(o)}r.assignmentContext+=i.assignmentContext}(t||!this.featuresConsumed)&&(this.features=r),this.storage&&this.storage.setValue(this.storageKey,r)}async loadCachedFeatureData(){let e;this.storage&&(e=await this.storage.getValue(this.storageKey),e!==void 0&&e.configs===void 0&&(e.configs=[])),this.features.features.length===0&&(this.features=e||{features:[],assignmentContext:"",configs:[]})}isFlightEnabled(e){return this.featuresConsumed=!0,this.PostEventToTelemetry(e),this.features.features.includes(e)}async isCachedFlightEnabled(e){return await this.loadCachePromise,this.featuresConsumed=!0,this.PostEventToTelemetry(e),this.features.features.includes(e)}async isFlightEnabledAsync(e){let t=await this.getFeaturesAsync(!0);return this.featuresConsumed=!0,this.PostEventToTelemetry(e),t.features.includes(e)}getTreatmentVariable(e,t){this.featuresConsumed=!0,this.PostEventToTelemetry(`${e}.${t}`);let r=this.features.configs.find(i=>i.Id===e);return r?.Parameters[t]}async getTreatmentVariableAsync(e,t,r){if(r){let i=this.featuresConsumed,o=this.getTreatmentVariable(e,t);if(o===void 0)this.featuresConsumed=i;else return o}return await this.getFeaturesAsync(!0),this.getTreatmentVariable(e,t)}PostEventToTelemetry(e){this.cachedTelemetryEvents.includes(e)||(this.telemetry.postEvent(this.telemetryEventName,new Map([["ABExp.queriedFeature",e]])),this.cachedTelemetryEvents.push(e))}invokeInit(){this.init()}addFeatureProvider(...e){if(!(e==null||this.featureProviders==null))for(let t of e)this.featureProviders.push(t)}};Rk.ExperimentationServiceBase=SN});var Zj=O(Ak=>{"use strict";Object.defineProperty(Ak,"__esModule",{value:!0});Ak.PollingService=void 0;var CN=class{constructor(e){this.fetchInterval=e}StopPolling(){clearInterval(this.intervalHandle),this.intervalHandle=void 0}OnPollTick(e){this.onTick=e}StartPolling(e=!1){this.intervalHandle&&this.StopPolling(),this.onTick!=null&&(e&&this.onTick().then(()=>{}).catch(()=>{}),this.intervalHandle=setInterval(async()=>{await this.onTick()},this.fetchInterval),this.intervalHandle.unref&&this.intervalHandle.unref())}};Ak.PollingService=CN});var e9=O(Nk=>{"use strict";Object.defineProperty(Nk,"__esModule",{value:!0});Nk.ExperimentationServiceAutoPolling=void 0;var roe=Xj(),noe=Zj(),wN=class extends roe.ExperimentationServiceBase{constructor(e,t,r,i,o,s,a){if(super(e,i,o,s,a),this.telemetry=e,this.filterProviders=t,this.refreshRateMs=r,this.assignmentContextTelemetryPropertyName=i,this.telemetryEventName=o,this.storageKey=s,this.storage=a,r<1e3&&r!==0)throw new Error("The minimum refresh rate for polling is 1000 ms (1 second). If you wish to deactivate this auto-polling use value of 0.");r>0&&(this.pollingService=new noe.PollingService(r),this.pollingService.OnPollTick(async()=>{await super.getFeaturesAsync()}))}init(){this.pollingService?this.pollingService.StartPolling(!0):super.getFeaturesAsync()}async getFeaturesAsync(e=!1){if(this.pollingService){this.pollingService.StopPolling();let t=await super.getFeaturesAsync(e);return this.pollingService.StartPolling(),t}else return await super.getFeaturesAsync(e)}};Nk.ExperimentationServiceAutoPolling=wN});var t9=O(Kk=>{"use strict";Object.defineProperty(Kk,"__esModule",{value:!0});Kk.ExperimentationService=void 0;var ioe=zj(),ooe=Qj(),soe=e9(),Mk=class extends soe.ExperimentationServiceAutoPolling{constructor(e){super(e.telemetry,e.filterProviders||[],e.refetchInterval!=null?e.refetchInterval:0,e.assignmentContextTelemetryPropertyName,e.telemetryEventName,e.storageKey,e.keyValueStorage),this.options=e,this.invokeInit()}init(){this.featureProviders=[],this.addFeatureProvider(new ioe.TasApiFeatureProvider(new ooe.HttpClient(this.options.endpoint),this.telemetry,this.filterProviders)),super.init()}};Kk.ExperimentationService=Mk;Mk.REFRESH_RATE_IN_MINUTES=30});var r9=O(Ok=>{"use strict";Object.defineProperty(Ok,"__esModule",{value:!0});Ok.ExperimentationService=void 0;var aoe=t9();Object.defineProperty(Ok,"ExperimentationService",{enumerable:!0,get:function(){return aoe.ExperimentationService}})});var n9=O(Fk=>{"use strict";Object.defineProperty(Fk,"__esModule",{value:!0});Fk.MementoKeyValueStorage=void 0;var EN=class{constructor(e){this.mementoGlobalStorage=e}async getValue(e,t){return await this.mementoGlobalStorage.get(e)||t}setValue(e,t){this.mementoGlobalStorage.update(e,t)}};Fk.MementoKeyValueStorage=EN});var i9=O(kN=>{"use strict";Object.defineProperty(kN,"__esModule",{value:!0});var PN=class{constructor(){this.initializePromise=Promise.resolve(),this.initialFetch=Promise.resolve()}isFlightEnabled(e){return!1}isCachedFlightEnabled(e){return Promise.resolve(!1)}isFlightEnabledAsync(e){return Promise.resolve(!1)}getTreatmentVariable(e,t){}getTreatmentVariableAsync(e,t){return Promise.resolve(void 0)}};kN.default=PN});var s9=O(vg=>{"use strict";Object.defineProperty(vg,"__esModule",{value:!0});vg.getExperimentationServiceAsync=vg.getExperimentationService=void 0;var loe=fN(),coe=r9(),xN=require("vscode"),uoe=n9(),doe=i9(),poe="https://default.exp-tas.com/vscode/ab",moe="query-expfeature",foe="abexp.assignmentcontext",hoe="VSCode.ABExp.FeatureData",goe=1e3*60*30;function o9(n,e,t,r,i,...o){if(!i)throw new Error("Memento storage was not provided.");let s=xN.workspace.getConfiguration("telemetry");if(!(xN.env.isTelemetryEnabled===void 0?s.get("enableTelemetry",!0):xN.env.isTelemetryEnabled))return new doe.default;let c=[new loe.VSCodeFilterProvider(n,e,t),...o],u=new uoe.MementoKeyValueStorage(i);return new coe.ExperimentationService({filterProviders:c,telemetry:r,storageKey:hoe,keyValueStorage:u,featuresTelemetryPropertyName:"",assignmentContextTelemetryPropertyName:foe,telemetryEventName:moe,endpoint:poe,refetchInterval:goe})}vg.getExperimentationService=o9;async function voe(n,e,t,r,i,...o){let s=o9(n,e,t,r,i,...o);return await s.initializePromise,s}vg.getExperimentationServiceAsync=voe});var l9=O(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});gd.TargetPopulation=gd.getExperimentationServiceAsync=gd.getExperimentationService=void 0;var a9=s9();Object.defineProperty(gd,"getExperimentationService",{enumerable:!0,get:function(){return a9.getExperimentationService}});Object.defineProperty(gd,"getExperimentationServiceAsync",{enumerable:!0,get:function(){return a9.getExperimentationServiceAsync}});var yoe=fN();Object.defineProperty(gd,"TargetPopulation",{enumerable:!0,get:function(){return yoe.TargetPopulation}})});var y9=O((Txe,v9)=>{"use strict";function Soe(){let n=[].slice.call(arguments).filter(t=>t),e=n.shift();return n.forEach(t=>{Object.keys(t).forEach(r=>{e[r]=t[r]})}),e}v9.exports=Soe});var fo=O(TN=>{"use strict";TN.fromCallback=function(n){return Object.defineProperty(function(){if(typeof arguments[arguments.length-1]=="function")n.apply(this,arguments);else return new Promise((e,t)=>{arguments[arguments.length]=(r,i)=>{if(r)return t(r);e(i)},arguments.length++,n.apply(this,arguments)})},"name",{value:n.name})};TN.fromPromise=function(n){return Object.defineProperty(function(){let e=arguments[arguments.length-1];if(typeof e!="function")return n.apply(this,arguments);n.apply(this,arguments).then(t=>e(null,t),e)},"name",{value:n.name})}});var I9=O((Axe,b9)=>{var Id=require("constants"),Coe=process.cwd,Bk=null,woe=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return Bk||(Bk=Coe.call(process)),Bk};try{process.cwd()}catch{}typeof process.chdir=="function"&&(RN=process.chdir,process.chdir=function(n){Bk=null,RN.call(process,n)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,RN));var RN;b9.exports=Eoe;function Eoe(n){Id.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&e(n),n.lutimes||t(n),n.chown=o(n.chown),n.fchown=o(n.fchown),n.lchown=o(n.lchown),n.chmod=r(n.chmod),n.fchmod=r(n.fchmod),n.lchmod=r(n.lchmod),n.chownSync=s(n.chownSync),n.fchownSync=s(n.fchownSync),n.lchownSync=s(n.lchownSync),n.chmodSync=i(n.chmodSync),n.fchmodSync=i(n.fchmodSync),n.lchmodSync=i(n.lchmodSync),n.stat=a(n.stat),n.fstat=a(n.fstat),n.lstat=a(n.lstat),n.statSync=l(n.statSync),n.fstatSync=l(n.fstatSync),n.lstatSync=l(n.lstatSync),n.chmod&&!n.lchmod&&(n.lchmod=function(u,d,f){f&&process.nextTick(f)},n.lchmodSync=function(){}),n.chown&&!n.lchown&&(n.lchown=function(u,d,f,g){g&&process.nextTick(g)},n.lchownSync=function(){}),woe==="win32"&&(n.rename=typeof n.rename!="function"?n.rename:function(u){function d(f,g,b){var I=Date.now(),E=0;u(f,g,function x(A){if(A&&(A.code==="EACCES"||A.code==="EPERM")&&Date.now()-I<6e4){setTimeout(function(){n.stat(g,function(T,J){T&&T.code==="ENOENT"?u(f,g,x):b(A)})},E),E<100&&(E+=10);return}b&&b(A)})}return Object.setPrototypeOf&&Object.setPrototypeOf(d,u),d}(n.rename)),n.read=typeof n.read!="function"?n.read:function(u){function d(f,g,b,I,E,x){var A;if(x&&typeof x=="function"){var T=0;A=function(J,ne,H){if(J&&J.code==="EAGAIN"&&T<10)return T++,u.call(n,f,g,b,I,E,A);x.apply(this,arguments)}}return u.call(n,f,g,b,I,E,A)}return Object.setPrototypeOf&&Object.setPrototypeOf(d,u),d}(n.read),n.readSync=typeof n.readSync!="function"?n.readSync:function(u){return function(d,f,g,b,I){for(var E=0;;)try{return u.call(n,d,f,g,b,I)}catch(x){if(x.code==="EAGAIN"&&E<10){E++;continue}throw x}}}(n.readSync);function e(u){u.lchmod=function(d,f,g){u.open(d,Id.O_WRONLY|Id.O_SYMLINK,f,function(b,I){if(b){g&&g(b);return}u.fchmod(I,f,function(E){u.close(I,function(x){g&&g(E||x)})})})},u.lchmodSync=function(d,f){var g=u.openSync(d,Id.O_WRONLY|Id.O_SYMLINK,f),b=!0,I;try{I=u.fchmodSync(g,f),b=!1}finally{if(b)try{u.closeSync(g)}catch{}else u.closeSync(g)}return I}}function t(u){Id.hasOwnProperty("O_SYMLINK")&&u.futimes?(u.lutimes=function(d,f,g,b){u.open(d,Id.O_SYMLINK,function(I,E){if(I){b&&b(I);return}u.futimes(E,f,g,function(x){u.close(E,function(A){b&&b(x||A)})})})},u.lutimesSync=function(d,f,g){var b=u.openSync(d,Id.O_SYMLINK),I,E=!0;try{I=u.futimesSync(b,f,g),E=!1}finally{if(E)try{u.closeSync(b)}catch{}else u.closeSync(b)}return I}):u.futimes&&(u.lutimes=function(d,f,g,b){b&&process.nextTick(b)},u.lutimesSync=function(){})}function r(u){return u&&function(d,f,g){return u.call(n,d,f,function(b){c(b)&&(b=null),g&&g.apply(this,arguments)})}}function i(u){return u&&function(d,f){try{return u.call(n,d,f)}catch(g){if(!c(g))throw g}}}function o(u){return u&&function(d,f,g,b){return u.call(n,d,f,g,function(I){c(I)&&(I=null),b&&b.apply(this,arguments)})}}function s(u){return u&&function(d,f,g){try{return u.call(n,d,f,g)}catch(b){if(!c(b))throw b}}}function a(u){return u&&function(d,f,g){typeof f=="function"&&(g=f,f=null);function b(I,E){E&&(E.uid<0&&(E.uid+=4294967296),E.gid<0&&(E.gid+=4294967296)),g&&g.apply(this,arguments)}return f?u.call(n,d,f,b):u.call(n,d,b)}}function l(u){return u&&function(d,f){var g=f?u.call(n,d,f):u.call(n,d);return g&&(g.uid<0&&(g.uid+=4294967296),g.gid<0&&(g.gid+=4294967296)),g}}function c(u){if(!u||u.code==="ENOSYS")return!0;var d=!process.getuid||process.getuid()!==0;return!!(d&&(u.code==="EINVAL"||u.code==="EPERM"))}}});var w9=O((Nxe,C9)=>{var S9=require("stream").Stream;C9.exports=Poe;function Poe(n){return{ReadStream:e,WriteStream:t};function e(r,i){if(!(this instanceof e))return new e(r,i);S9.call(this);var o=this;this.path=r,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=64*1024,i=i||{};for(var s=Object.keys(i),a=0,l=s.length;a<l;a++){var c=s[a];this[c]=i[c]}if(this.encoding&&this.setEncoding(this.encoding),this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!="number")throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){o._read()});return}n.open(this.path,this.flags,this.mode,function(u,d){if(u){o.emit("error",u),o.readable=!1;return}o.fd=d,o.emit("open",d),o._read()})}function t(r,i){if(!(this instanceof t))return new t(r,i);S9.call(this),this.path=r,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,i=i||{};for(var o=Object.keys(i),s=0,a=o.length;s<a;s++){var l=o[s];this[l]=i[l]}if(this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=n.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}});var P9=O((Mxe,E9)=>{"use strict";E9.exports=xoe;var koe=Object.getPrototypeOf||function(n){return n.__proto__};function xoe(n){if(n===null||typeof n!="object")return n;if(n instanceof Object)var e={__proto__:koe(n)};else var e=Object.create(null);return Object.getOwnPropertyNames(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}});var Dn=O((Kxe,MN)=>{var sn=require("fs"),Doe=I9(),_oe=w9(),Toe=P9(),$k=require("util"),ti,Hk;typeof Symbol=="function"&&typeof Symbol.for=="function"?(ti=Symbol.for("graceful-fs.queue"),Hk=Symbol.for("graceful-fs.previous")):(ti="___graceful-fs.queue",Hk="___graceful-fs.previous");function Roe(){}function D9(n,e){Object.defineProperty(n,ti,{get:function(){return e}})}var dm=Roe;$k.debuglog?dm=$k.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(dm=function(){var n=$k.format.apply($k,arguments);n="GFS4: "+n.split(/\n/).join(`
|
||
GFS4: `),console.error(n)});sn[ti]||(k9=global[ti]||[],D9(sn,k9),sn.close=function(n){function e(t,r){return n.call(sn,t,function(i){i||x9(),typeof r=="function"&&r.apply(this,arguments)})}return Object.defineProperty(e,Hk,{value:n}),e}(sn.close),sn.closeSync=function(n){function e(t){n.apply(sn,arguments),x9()}return Object.defineProperty(e,Hk,{value:n}),e}(sn.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){dm(sn[ti]),require("assert").equal(sn[ti].length,0)}));var k9;global[ti]||D9(global,sn[ti]);MN.exports=AN(Toe(sn));process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!sn.__patched&&(MN.exports=AN(sn),sn.__patched=!0);function AN(n){Doe(n),n.gracefulify=AN,n.createReadStream=ne,n.createWriteStream=H;var e=n.readFile;n.readFile=t;function t(Y,Ie,Ke){return typeof Ie=="function"&&(Ke=Ie,Ie=null),pt(Y,Ie,Ke);function pt(mt,kt,ee,Ee){return e(mt,kt,function(Te){Te&&(Te.code==="EMFILE"||Te.code==="ENFILE")?Pg([pt,[mt,kt,ee],Te,Ee||Date.now(),Date.now()]):typeof ee=="function"&&ee.apply(this,arguments)})}}var r=n.writeFile;n.writeFile=i;function i(Y,Ie,Ke,pt){return typeof Ke=="function"&&(pt=Ke,Ke=null),mt(Y,Ie,Ke,pt);function mt(kt,ee,Ee,Te,he){return r(kt,ee,Ee,function(ht){ht&&(ht.code==="EMFILE"||ht.code==="ENFILE")?Pg([mt,[kt,ee,Ee,Te],ht,he||Date.now(),Date.now()]):typeof Te=="function"&&Te.apply(this,arguments)})}}var o=n.appendFile;o&&(n.appendFile=s);function s(Y,Ie,Ke,pt){return typeof Ke=="function"&&(pt=Ke,Ke=null),mt(Y,Ie,Ke,pt);function mt(kt,ee,Ee,Te,he){return o(kt,ee,Ee,function(ht){ht&&(ht.code==="EMFILE"||ht.code==="ENFILE")?Pg([mt,[kt,ee,Ee,Te],ht,he||Date.now(),Date.now()]):typeof Te=="function"&&Te.apply(this,arguments)})}}var a=n.copyFile;a&&(n.copyFile=l);function l(Y,Ie,Ke,pt){return typeof Ke=="function"&&(pt=Ke,Ke=0),mt(Y,Ie,Ke,pt);function mt(kt,ee,Ee,Te,he){return a(kt,ee,Ee,function(ht){ht&&(ht.code==="EMFILE"||ht.code==="ENFILE")?Pg([mt,[kt,ee,Ee,Te],ht,he||Date.now(),Date.now()]):typeof Te=="function"&&Te.apply(this,arguments)})}}var c=n.readdir;n.readdir=d;var u=/^v[0-5]\./;function d(Y,Ie,Ke){typeof Ie=="function"&&(Ke=Ie,Ie=null);var pt=u.test(process.version)?function(ee,Ee,Te,he){return c(ee,mt(ee,Ee,Te,he))}:function(ee,Ee,Te,he){return c(ee,Ee,mt(ee,Ee,Te,he))};return pt(Y,Ie,Ke);function mt(kt,ee,Ee,Te){return function(he,ht){he&&(he.code==="EMFILE"||he.code==="ENFILE")?Pg([pt,[kt,ee,Ee],he,Te||Date.now(),Date.now()]):(ht&&ht.sort&&ht.sort(),typeof Ee=="function"&&Ee.call(this,he,ht))}}}if(process.version.substr(0,4)==="v0.8"){var f=_oe(n);x=f.ReadStream,T=f.WriteStream}var g=n.ReadStream;g&&(x.prototype=Object.create(g.prototype),x.prototype.open=A);var b=n.WriteStream;b&&(T.prototype=Object.create(b.prototype),T.prototype.open=J),Object.defineProperty(n,"ReadStream",{get:function(){return x},set:function(Y){x=Y},enumerable:!0,configurable:!0}),Object.defineProperty(n,"WriteStream",{get:function(){return T},set:function(Y){T=Y},enumerable:!0,configurable:!0});var I=x;Object.defineProperty(n,"FileReadStream",{get:function(){return I},set:function(Y){I=Y},enumerable:!0,configurable:!0});var E=T;Object.defineProperty(n,"FileWriteStream",{get:function(){return E},set:function(Y){E=Y},enumerable:!0,configurable:!0});function x(Y,Ie){return this instanceof x?(g.apply(this,arguments),this):x.apply(Object.create(x.prototype),arguments)}function A(){var Y=this;ae(Y.path,Y.flags,Y.mode,function(Ie,Ke){Ie?(Y.autoClose&&Y.destroy(),Y.emit("error",Ie)):(Y.fd=Ke,Y.emit("open",Ke),Y.read())})}function T(Y,Ie){return this instanceof T?(b.apply(this,arguments),this):T.apply(Object.create(T.prototype),arguments)}function J(){var Y=this;ae(Y.path,Y.flags,Y.mode,function(Ie,Ke){Ie?(Y.destroy(),Y.emit("error",Ie)):(Y.fd=Ke,Y.emit("open",Ke))})}function ne(Y,Ie){return new n.ReadStream(Y,Ie)}function H(Y,Ie){return new n.WriteStream(Y,Ie)}var oe=n.open;n.open=ae;function ae(Y,Ie,Ke,pt){return typeof Ke=="function"&&(pt=Ke,Ke=null),mt(Y,Ie,Ke,pt);function mt(kt,ee,Ee,Te,he){return oe(kt,ee,Ee,function(ht,Fi){ht&&(ht.code==="EMFILE"||ht.code==="ENFILE")?Pg([mt,[kt,ee,Ee,Te],ht,he||Date.now(),Date.now()]):typeof Te=="function"&&Te.apply(this,arguments)})}}return n}function Pg(n){dm("ENQUEUE",n[0].name,n[1]),sn[ti].push(n),NN()}var qk;function x9(){for(var n=Date.now(),e=0;e<sn[ti].length;++e)sn[ti][e].length>2&&(sn[ti][e][3]=n,sn[ti][e][4]=n);NN()}function NN(){if(clearTimeout(qk),qk=void 0,sn[ti].length!==0){var n=sn[ti].shift(),e=n[0],t=n[1],r=n[2],i=n[3],o=n[4];if(i===void 0)dm("RETRY",e.name,t),e.apply(null,t);else if(Date.now()-i>=6e4){dm("TIMEOUT",e.name,t);var s=t.pop();typeof s=="function"&&s.call(null,r)}else{var a=Date.now()-o,l=Math.max(o-i,1),c=Math.min(l*1.2,100);a>=c?(dm("RETRY",e.name,t),e.apply(null,t.concat([i]))):sn[ti].push(n)}qk===void 0&&(qk=setTimeout(NN,0))}}});var KN=O(kg=>{var Aoe=fo().fromCallback,la=Dn(),Noe=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchown","link","lstat","mkdir","mkdtemp","open","readFile","readdir","readlink","realpath","rename","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(n=>typeof la[n]=="function");Object.keys(la).forEach(n=>{kg[n]=la[n]});Noe.forEach(n=>{kg[n]=Aoe(la[n])});kg.exists=function(n,e){return typeof e=="function"?la.exists(n,e):new Promise(t=>la.exists(n,t))};kg.read=function(n,e,t,r,i,o){return typeof o=="function"?la.read(n,e,t,r,i,o):new Promise((s,a)=>{la.read(n,e,t,r,i,(l,c,u)=>{if(l)return a(l);s({bytesRead:c,buffer:u})})})};kg.write=function(n,e,t,r,i,o){return typeof arguments[arguments.length-1]=="function"?la.write(n,e,t,r,i,o):typeof e=="string"?new Promise((s,a)=>{la.write(n,e,t,r,(l,c,u)=>{if(l)return a(l);s({bytesWritten:c,buffer:u})})}):new Promise((s,a)=>{la.write(n,e,t,r,i,(l,c,u)=>{if(l)return a(l);s({bytesWritten:c,buffer:u})})})}});var R9=O((Fxe,T9)=>{"use strict";var Lo=Dn(),_9=require("os"),Gk=require("path");function Moe(){let n=Gk.join("millis-test-sync"+Date.now().toString()+Math.random().toString().slice(2));n=Gk.join(_9.tmpdir(),n);let e=new Date(1435410243862);Lo.writeFileSync(n,"https://github.com/jprichardson/node-fs-extra/pull/141");let t=Lo.openSync(n,"r+");return Lo.futimesSync(t,e,e),Lo.closeSync(t),Lo.statSync(n).mtime>1435410243e3}function Koe(n){let e=Gk.join("millis-test"+Date.now().toString()+Math.random().toString().slice(2));e=Gk.join(_9.tmpdir(),e);let t=new Date(1435410243862);Lo.writeFile(e,"https://github.com/jprichardson/node-fs-extra/pull/141",r=>{if(r)return n(r);Lo.open(e,"r+",(i,o)=>{if(i)return n(i);Lo.futimes(o,t,t,s=>{if(s)return n(s);Lo.close(o,a=>{if(a)return n(a);Lo.stat(e,(l,c)=>{if(l)return n(l);n(null,c.mtime>1435410243e3)})})})})})}function Ooe(n){if(typeof n=="number")return Math.floor(n/1e3)*1e3;if(n instanceof Date)return new Date(Math.floor(n.getTime()/1e3)*1e3);throw new Error("fs-extra: timeRemoveMillis() unknown parameter type")}function Foe(n,e,t,r){Lo.open(n,"r+",(i,o)=>{if(i)return r(i);Lo.futimes(o,e,t,s=>{Lo.close(o,a=>{r&&r(s||a)})})})}T9.exports={hasMillisRes:Koe,hasMillisResSync:Moe,timeRemoveMillis:Ooe,utimesMillis:Foe}});var ON=O((Lxe,A9)=>{var Uo=Dn(),lC=require("path"),Loe=R9();function Uoe(n,e,t,r){r||(r=t,t={});var i=process.cwd(),o=lC.resolve(i,n),s=lC.resolve(i,e),a=t.filter,l=t.transform,c=t.overwrite;c===void 0&&(c=t.clobber),c===void 0&&(c=!0);var u=t.errorOnExist,d=t.dereference,f=t.preserveTimestamps===!0,g=0,b=0,I=0,E=!1;x(o);function x(ee){if(g++,a){if(a instanceof RegExp){if(console.warn("Warning: fs-extra: Passing a RegExp filter is deprecated, use a function"),!a.test(ee))return kt(!0)}else if(typeof a=="function"&&!a(ee,e))return kt(!0)}return A(ee)}function A(ee){var Ee=d?Uo.stat:Uo.lstat;I++,Ee(ee,function(Te,he){if(Te)return mt(Te);var ht={name:ee,mode:he.mode,mtime:he.mtime,atime:he.atime,stats:he};if(he.isDirectory())return H(ht);if(he.isFile()||he.isCharacterDevice()||he.isBlockDevice())return T(ht);if(he.isSymbolicLink())return Y(ee)})}function T(ee){var Ee=ee.name.replace(o,s.replace("$","$$$$"));pt(Ee,function(Te){Te?J(ee,Ee):c?ne(Ee,function(){J(ee,Ee)}):u?mt(new Error(Ee+" already exists")):kt()})}function J(ee,Ee){var Te=Uo.createReadStream(ee.name),he=Uo.createWriteStream(Ee,{mode:ee.mode});Te.on("error",mt),he.on("error",mt),l?l(Te,he,ee):he.on("open",function(){Te.pipe(he)}),he.once("close",function(){Uo.chmod(Ee,ee.mode,function(ht){if(ht)return mt(ht);f?Loe.utimesMillis(Ee,ee.atime,ee.mtime,function(Fi){return Fi?mt(Fi):kt()}):kt()})})}function ne(ee,Ee){Uo.unlink(ee,function(Te){return Te?mt(Te):Ee()})}function H(ee){var Ee=ee.name.replace(o,s.replace("$","$$$$"));pt(Ee,function(Te){if(Te)return oe(ee,Ee);ae(ee.name)})}function oe(ee,Ee){Uo.mkdir(Ee,ee.mode,function(Te){if(Te)return mt(Te);Uo.chmod(Ee,ee.mode,function(he){if(he)return mt(he);ae(ee.name)})})}function ae(ee){Uo.readdir(ee,function(Ee,Te){return Ee?mt(Ee):(Te.forEach(function(he){x(lC.join(ee,he))}),kt())})}function Y(ee){var Ee=ee.replace(o,s);Uo.readlink(ee,function(Te,he){if(Te)return mt(Te);Ie(he,Ee)})}function Ie(ee,Ee){d&&(ee=lC.resolve(i,ee)),pt(Ee,function(Te){if(Te)return Ke(ee,Ee);Uo.readlink(Ee,function(he,ht){return he?mt(he):(d&&(ht=lC.resolve(i,ht)),ht===ee?kt():ne(Ee,function(){Ke(ee,Ee)}))})})}function Ke(ee,Ee){Uo.symlink(ee,Ee,function(Te){return Te?mt(Te):kt()})}function pt(ee,Ee){Uo.lstat(ee,function(Te){return Te&&Te.code==="ENOENT"?Ee(!0):Ee(!1)})}function mt(ee){if(!E&&r!==void 0)return E=!0,r(ee)}function kt(ee){if(ee||I--,b++,g===b&&I===0&&r!==void 0)return r(null)}}A9.exports=Uoe});var LN=O((Uxe,M9)=>{"use strict";var FN=require("path");function N9(n){return n=FN.normalize(FN.resolve(n)).split(FN.sep),n.length>0?n[0]:null}var Woe=/[<>:"|?*]/;function Voe(n){let e=N9(n);return n=n.replace(e,""),Woe.test(n)}M9.exports={getRootPath:N9,invalidWin32Path:Voe}});var O9=O((Wxe,K9)=>{"use strict";var joe=Dn(),UN=require("path"),Joe=LN().invalidWin32Path,Boe=parseInt("0777",8);function WN(n,e,t,r){if(typeof e=="function"?(t=e,e={}):(!e||typeof e!="object")&&(e={mode:e}),process.platform==="win32"&&Joe(n)){let s=new Error(n+" contains invalid WIN32 path characters.");return s.code="EINVAL",t(s)}let i=e.mode,o=e.fs||joe;i===void 0&&(i=Boe&~process.umask()),r||(r=null),t=t||function(){},n=UN.resolve(n),o.mkdir(n,i,s=>{if(!s)return r=r||n,t(null,r);switch(s.code){case"ENOENT":if(UN.dirname(n)===n)return t(s);WN(UN.dirname(n),e,(a,l)=>{a?t(a,l):WN(n,e,t,l)});break;default:o.stat(n,(a,l)=>{a||!l.isDirectory()?t(s,r):t(null,r)});break}})}K9.exports=WN});var L9=O((Vxe,F9)=>{"use strict";var $oe=Dn(),VN=require("path"),qoe=LN().invalidWin32Path,Hoe=parseInt("0777",8);function jN(n,e,t){(!e||typeof e!="object")&&(e={mode:e});let r=e.mode,i=e.fs||$oe;if(process.platform==="win32"&&qoe(n)){let o=new Error(n+" contains invalid WIN32 path characters.");throw o.code="EINVAL",o}r===void 0&&(r=Hoe&~process.umask()),t||(t=null),n=VN.resolve(n);try{i.mkdirSync(n,r),t=t||n}catch(o){switch(o.code){case"ENOENT":if(VN.dirname(n)===n)throw o;t=jN(VN.dirname(n),e,t),jN(n,e,t);break;default:let s;try{s=i.statSync(n)}catch{throw o}if(!s.isDirectory())throw o;break}}return t}F9.exports=jN});var Wo=O((jxe,U9)=>{"use strict";var Goe=fo().fromCallback,JN=Goe(O9()),BN=L9();U9.exports={mkdirs:JN,mkdirsSync:BN,mkdirp:JN,mkdirpSync:BN,ensureDir:JN,ensureDirSync:BN}});var Rc=O((Jxe,V9)=>{"use strict";var zoe=fo().fromPromise,W9=KN();function Qoe(n){return W9.access(n).then(()=>!0).catch(()=>!1)}V9.exports={pathExists:zoe(Qoe),pathExistsSync:W9.existsSync}});var B9=O((Bxe,J9)=>{"use strict";var Yoe=Dn(),cC=require("path"),j9=ON(),Xoe=Wo(),Zoe=Rc().pathExists;function ese(n,e,t,r){typeof t=="function"&&!r?(r=t,t={}):(typeof t=="function"||t instanceof RegExp)&&(t={filter:t}),r=r||function(){},t=t||{},t.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
|
||
|
||
see https://github.com/jprichardson/node-fs-extra/issues/269`);let i=process.cwd(),o=cC.resolve(i,n),s=cC.resolve(i,e);if(o===s)return r(new Error("Source and destination must not be the same."));Yoe.lstat(n,(a,l)=>{if(a)return r(a);let c=null;if(l.isDirectory()){let u=e.split(cC.sep);u.pop(),c=u.join(cC.sep)}else c=cC.dirname(e);Zoe(c,(u,d)=>{if(u)return r(u);if(d)return j9(n,e,t,r);Xoe.mkdirs(c,f=>{if(f)return r(f);j9(n,e,t,r)})})})}J9.exports=ese});var q9=O(($xe,$9)=>{var tse=fo().fromCallback;$9.exports={copy:tse(B9())}});var $N=O((qxe,H9)=>{H9.exports=function(n){if(typeof Buffer.allocUnsafe=="function")try{return Buffer.allocUnsafe(n)}catch{return new Buffer(n)}return new Buffer(n)}});var Y9=O((Hxe,Q9)=>{"use strict";var El=Dn(),z9=64*1024,G9=$N()(z9);function rse(n,e,t){let r=t.overwrite,i=t.errorOnExist,o=t.preserveTimestamps;if(El.existsSync(e))if(r)El.unlinkSync(e);else{if(i)throw new Error(`${e} already exists`);return}let s=El.openSync(n,"r"),a=El.fstatSync(s),l=El.openSync(e,"w",a.mode),c=1,u=0;for(;c>0;)c=El.readSync(s,G9,0,z9,u),El.writeSync(l,G9,0,c),u+=c;o&&El.futimesSync(l,a.atime,a.mtime),El.closeSync(s),El.closeSync(l)}Q9.exports=rse});var tJ=O((Gxe,eJ)=>{"use strict";var pm=Dn(),qN=require("path"),nse=Y9(),X9=Wo();function Z9(n,e,t){(typeof t=="function"||t instanceof RegExp)&&(t={filter:t}),t=t||{},t.recursive=!!t.recursive,t.clobber="clobber"in t?!!t.clobber:!0,t.overwrite="overwrite"in t?!!t.overwrite:t.clobber,t.dereference="dereference"in t?!!t.dereference:!1,t.preserveTimestamps="preserveTimestamps"in t?!!t.preserveTimestamps:!1,t.filter=t.filter||function(){return!0},t.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
|
||
|
||
see https://github.com/jprichardson/node-fs-extra/issues/269`);let r=t.recursive&&!t.dereference?pm.lstatSync(n):pm.statSync(n),i=qN.dirname(e),o=pm.existsSync(i),s=!1;if(t.filter instanceof RegExp?(console.warn("Warning: fs-extra: Passing a RegExp filter is deprecated, use a function"),s=t.filter.test(n)):typeof t.filter=="function"&&(s=t.filter(n,e)),r.isFile()&&s)o||X9.mkdirsSync(i),nse(n,e,{overwrite:t.overwrite,errorOnExist:t.errorOnExist,preserveTimestamps:t.preserveTimestamps});else if(r.isDirectory()&&s)pm.existsSync(e)||X9.mkdirsSync(e),pm.readdirSync(n).forEach(l=>{let c=t;c.recursive=!0,Z9(qN.join(n,l),qN.join(e,l),c)});else if(t.recursive&&r.isSymbolicLink()&&s){let a=pm.readlinkSync(n);pm.symlinkSync(a,e)}}eJ.exports=Z9});var HN=O((zxe,rJ)=>{rJ.exports={copySync:tJ()}});var dJ=O((Qxe,uJ)=>{"use strict";var nJ=Dn(),aJ=require("path"),rr=require("assert"),uC=process.platform==="win32";function lJ(n){["unlink","chmod","stat","lstat","rmdir","readdir"].forEach(t=>{n[t]=n[t]||nJ[t],t=t+"Sync",n[t]=n[t]||nJ[t]}),n.maxBusyTries=n.maxBusyTries||3}function GN(n,e,t){let r=0;typeof e=="function"&&(t=e,e={}),rr(n,"rimraf: missing path"),rr.equal(typeof n,"string","rimraf: path should be a string"),rr.equal(typeof t,"function","rimraf: callback function required"),rr(e,"rimraf: invalid options argument provided"),rr.equal(typeof e,"object","rimraf: options should be object"),lJ(e),iJ(n,e,function i(o){if(o){if((o.code==="EBUSY"||o.code==="ENOTEMPTY"||o.code==="EPERM")&&r<e.maxBusyTries){r++;let s=r*100;return setTimeout(()=>iJ(n,e,i),s)}o.code==="ENOENT"&&(o=null)}t(o)})}function iJ(n,e,t){rr(n),rr(e),rr(typeof t=="function"),e.lstat(n,(r,i)=>{if(r&&r.code==="ENOENT")return t(null);if(r&&r.code==="EPERM"&&uC)return oJ(n,e,r,t);if(i&&i.isDirectory())return zk(n,e,r,t);e.unlink(n,o=>{if(o){if(o.code==="ENOENT")return t(null);if(o.code==="EPERM")return uC?oJ(n,e,o,t):zk(n,e,o,t);if(o.code==="EISDIR")return zk(n,e,o,t)}return t(o)})})}function oJ(n,e,t,r){rr(n),rr(e),rr(typeof r=="function"),t&&rr(t instanceof Error),e.chmod(n,438,i=>{i?r(i.code==="ENOENT"?null:t):e.stat(n,(o,s)=>{o?r(o.code==="ENOENT"?null:t):s.isDirectory()?zk(n,e,t,r):e.unlink(n,r)})})}function sJ(n,e,t){let r;rr(n),rr(e),t&&rr(t instanceof Error);try{e.chmodSync(n,438)}catch(i){if(i.code==="ENOENT")return;throw t}try{r=e.statSync(n)}catch(i){if(i.code==="ENOENT")return;throw t}r.isDirectory()?Qk(n,e,t):e.unlinkSync(n)}function zk(n,e,t,r){rr(n),rr(e),t&&rr(t instanceof Error),rr(typeof r=="function"),e.rmdir(n,i=>{i&&(i.code==="ENOTEMPTY"||i.code==="EEXIST"||i.code==="EPERM")?ise(n,e,r):i&&i.code==="ENOTDIR"?r(t):r(i)})}function ise(n,e,t){rr(n),rr(e),rr(typeof t=="function"),e.readdir(n,(r,i)=>{if(r)return t(r);let o=i.length,s;if(o===0)return e.rmdir(n,t);i.forEach(a=>{GN(aJ.join(n,a),e,l=>{if(!s){if(l)return t(s=l);--o===0&&e.rmdir(n,t)}})})})}function cJ(n,e){let t;e=e||{},lJ(e),rr(n,"rimraf: missing path"),rr.equal(typeof n,"string","rimraf: path should be a string"),rr(e,"rimraf: missing options"),rr.equal(typeof e,"object","rimraf: options should be object");try{t=e.lstatSync(n)}catch(r){if(r.code==="ENOENT")return;r.code==="EPERM"&&uC&&sJ(n,e,r)}try{t&&t.isDirectory()?Qk(n,e,null):e.unlinkSync(n)}catch(r){if(r.code==="ENOENT")return;if(r.code==="EPERM")return uC?sJ(n,e,r):Qk(n,e,r);if(r.code!=="EISDIR")throw r;Qk(n,e,r)}}function Qk(n,e,t){rr(n),rr(e),t&&rr(t instanceof Error);try{e.rmdirSync(n)}catch(r){if(r.code==="ENOTDIR")throw t;if(r.code==="ENOTEMPTY"||r.code==="EEXIST"||r.code==="EPERM")ose(n,e);else if(r.code!=="ENOENT")throw r}}function ose(n,e){rr(n),rr(e),e.readdirSync(n).forEach(i=>cJ(aJ.join(n,i),e));let t=uC?100:1,r=0;do{let i=!0;try{let o=e.rmdirSync(n,e);return i=!1,o}finally{if(++r<t&&i)continue}}while(!0)}uJ.exports=GN;GN.sync=cJ});var dC=O((Yxe,mJ)=>{"use strict";var sse=fo().fromCallback,pJ=dJ();mJ.exports={remove:sse(pJ),removeSync:pJ.sync}});var vJ=O((Xxe,gJ)=>{var xg;try{xg=Dn()}catch{xg=require("fs")}function ase(n,e,t){t==null&&(t=e,e={}),typeof e=="string"&&(e={encoding:e}),e=e||{};var r=e.fs||xg,i=!0;"throws"in e&&(i=e.throws),r.readFile(n,e,function(o,s){if(o)return t(o);s=hJ(s);var a;try{a=JSON.parse(s,e?e.reviver:null)}catch(l){return i?(l.message=n+": "+l.message,t(l)):t(null,null)}t(null,a)})}function lse(n,e){e=e||{},typeof e=="string"&&(e={encoding:e});var t=e.fs||xg,r=!0;"throws"in e&&(r=e.throws);try{var i=t.readFileSync(n,e);return i=hJ(i),JSON.parse(i,e.reviver)}catch(o){if(r)throw o.message=n+": "+o.message,o;return null}}function fJ(n,e){var t,r=`
|
||
`;typeof e=="object"&&e!==null&&(e.spaces&&(t=e.spaces),e.EOL&&(r=e.EOL));var i=JSON.stringify(n,e?e.replacer:null,t);return i.replace(/\n/g,r)+r}function cse(n,e,t,r){r==null&&(r=t,t={}),t=t||{};var i=t.fs||xg,o="";try{o=fJ(e,t)}catch(s){r&&r(s,null);return}i.writeFile(n,o,t,r)}function use(n,e,t){t=t||{};var r=t.fs||xg,i=fJ(e,t);return r.writeFileSync(n,i,t)}function hJ(n){return Buffer.isBuffer(n)&&(n=n.toString("utf8")),n=n.replace(/^\uFEFF/,""),n}var dse={readFile:ase,readFileSync:lse,writeFile:cse,writeFileSync:use};gJ.exports=dse});var Xk=O((Zxe,bJ)=>{"use strict";var yJ=fo().fromCallback,Yk=vJ();bJ.exports={readJson:yJ(Yk.readFile),readJsonSync:Yk.readFileSync,writeJson:yJ(Yk.writeFile),writeJsonSync:Yk.writeFileSync}});var CJ=O((eDe,SJ)=>{"use strict";var pse=require("path"),mse=Wo(),fse=Rc().pathExists,IJ=Xk();function hse(n,e,t,r){typeof t=="function"&&(r=t,t={});let i=pse.dirname(n);fse(i,(o,s)=>{if(o)return r(o);if(s)return IJ.writeJson(n,e,t,r);mse.mkdirs(i,a=>{if(a)return r(a);IJ.writeJson(n,e,t,r)})})}SJ.exports=hse});var EJ=O((tDe,wJ)=>{"use strict";var gse=Dn(),vse=require("path"),yse=Wo(),bse=Xk();function Ise(n,e,t){let r=vse.dirname(n);gse.existsSync(r)||yse.mkdirsSync(r),bse.writeJsonSync(n,e,t)}wJ.exports=Ise});var kJ=O((rDe,PJ)=>{"use strict";var Sse=fo().fromCallback,Hi=Xk();Hi.outputJson=Sse(CJ());Hi.outputJsonSync=EJ();Hi.outputJSON=Hi.outputJson;Hi.outputJSONSync=Hi.outputJsonSync;Hi.writeJSON=Hi.writeJson;Hi.writeJSONSync=Hi.writeJsonSync;Hi.readJSON=Hi.readJson;Hi.readJSONSync=Hi.readJsonSync;PJ.exports=Hi});var TJ=O((nDe,_J)=>{"use strict";var Cse=fo().fromCallback,Pl=Dn(),wse=ON(),mm=require("path"),Zk=dC().remove,Ese=Wo().mkdirs;function zN(n,e,t,r){typeof t=="function"&&(r=t,t={});let i=t.overwrite||t.clobber||!1;kse(n,e,(s,a)=>{if(s)return r(s);if(a)return r(new Error(`Cannot move '${n}' to a subdirectory of itself, '${e}'.`));Ese(mm.dirname(e),l=>{if(l)return r(l);o()})});function o(){mm.resolve(n)===mm.resolve(e)?Pl.access(n,r):i?Pl.rename(n,e,s=>{if(!s)return r();if(s.code==="ENOTEMPTY"||s.code==="EEXIST"){Zk(e,a=>{if(a)return r(a);t.overwrite=!1,zN(n,e,t,r)});return}if(s.code==="EPERM"){setTimeout(()=>{Zk(e,a=>{if(a)return r(a);t.overwrite=!1,zN(n,e,t,r)})},200);return}if(s.code!=="EXDEV")return r(s);xJ(n,e,i,r)}):Pl.link(n,e,s=>s?s.code==="EXDEV"||s.code==="EISDIR"||s.code==="EPERM"||s.code==="ENOTSUP"?xJ(n,e,i,r):r(s):Pl.unlink(n,r))}}function xJ(n,e,t,r){Pl.stat(n,(i,o)=>{if(i)return r(i);o.isDirectory()?DJ(n,e,t,r):Pse(n,e,t,r)})}function Pse(n,e,t,r){let i=t?"w":"wx",o=Pl.createReadStream(n),s=Pl.createWriteStream(e,{flags:i});o.on("error",l=>{o.destroy(),s.destroy(),s.removeListener("close",a),Pl.unlink(e,()=>{l.code==="EISDIR"||l.code==="EPERM"?DJ(n,e,t,r):r(l)})}),s.on("error",l=>{o.destroy(),s.destroy(),s.removeListener("close",a),r(l)}),s.once("close",a),o.pipe(s);function a(){Pl.unlink(n,r)}}function DJ(n,e,t,r){let i={overwrite:!1};t?Zk(e,s=>{if(s)return r(s);o()}):o();function o(){wse(n,e,i,s=>{if(s)return r(s);Zk(n,r)})}}function kse(n,e,t){Pl.stat(n,(r,i)=>{if(r)return t(r);if(i.isDirectory()){let o=e.split(mm.dirname(n)+mm.sep)[1];if(o){let s=o.split(mm.sep)[0];return s?t(null,n!==e&&e.indexOf(n)>-1&&s===mm.basename(n)):t(null,!1)}return t(null,!1)}return t(null,!1)})}_J.exports={move:Cse(zN)}});var MJ=O((iDe,NJ)=>{"use strict";var ho=Dn(),fm=require("path"),xse=HN().copySync,QN=dC().removeSync,Dse=Wo().mkdirsSync,_se=$N();function AJ(n,e,t){t=t||{};let r=t.overwrite||t.clobber||!1;if(n=fm.resolve(n),e=fm.resolve(e),n===e)return ho.accessSync(n);if(Ase(n,e))throw new Error(`Cannot move '${n}' into itself '${e}'.`);Dse(fm.dirname(e)),i();function i(){if(r)try{return ho.renameSync(n,e)}catch(o){if(o.code==="ENOTEMPTY"||o.code==="EEXIST"||o.code==="EPERM")return QN(e),t.overwrite=!1,AJ(n,e,t);if(o.code!=="EXDEV")throw o;return RJ(n,e,r)}else try{return ho.linkSync(n,e),ho.unlinkSync(n)}catch(o){if(o.code==="EXDEV"||o.code==="EISDIR"||o.code==="EPERM"||o.code==="ENOTSUP")return RJ(n,e,r);throw o}}}function RJ(n,e,t){return ho.statSync(n).isDirectory()?Rse(n,e,t):Tse(n,e,t)}function Tse(n,e,t){let i=_se(65536),o=t?"w":"wx",s=ho.openSync(n,"r"),a=ho.fstatSync(s),l=ho.openSync(e,o,a.mode),c=1,u=0;for(;c>0;)c=ho.readSync(s,i,0,65536,u),ho.writeSync(l,i,0,c),u+=c;return ho.closeSync(s),ho.closeSync(l),ho.unlinkSync(n)}function Rse(n,e,t){let r={overwrite:!1};t&&QN(e),i();function i(){return xse(n,e,r),QN(n)}}function Ase(n,e){try{return ho.statSync(n).isDirectory()&&n!==e&&e.indexOf(n)>-1&&e.split(fm.dirname(n)+fm.sep)[1].split(fm.sep)[0]===fm.basename(n)}catch{return!1}}NJ.exports={moveSync:AJ}});var jJ=O((oDe,VJ)=>{"use strict";var Nse=fo().fromCallback,FJ=require("fs"),LJ=require("path"),UJ=Wo(),WJ=dC(),KJ=Nse(function(e,t){t=t||function(){},FJ.readdir(e,(r,i)=>{if(r)return UJ.mkdirs(e,t);i=i.map(s=>LJ.join(e,s)),o();function o(){let s=i.pop();if(!s)return t();WJ.remove(s,a=>{if(a)return t(a);o()})}})});function OJ(n){let e;try{e=FJ.readdirSync(n)}catch{return UJ.mkdirsSync(n)}e.forEach(t=>{t=LJ.join(n,t),WJ.removeSync(t)})}VJ.exports={emptyDirSync:OJ,emptydirSync:OJ,emptyDir:KJ,emptydir:KJ}});var qJ=O((sDe,$J)=>{"use strict";var Mse=fo().fromCallback,JJ=require("path"),pC=Dn(),BJ=Wo(),Kse=Rc().pathExists;function Ose(n,e){function t(){pC.writeFile(n,"",r=>{if(r)return e(r);e()})}pC.stat(n,(r,i)=>{if(!r&&i.isFile())return e();let o=JJ.dirname(n);Kse(o,(s,a)=>{if(s)return e(s);if(a)return t();BJ.mkdirs(o,l=>{if(l)return e(l);t()})})})}function Fse(n){let e;try{e=pC.statSync(n)}catch{}if(e&&e.isFile())return;let t=JJ.dirname(n);pC.existsSync(t)||BJ.mkdirsSync(t),pC.writeFileSync(n,"")}$J.exports={createFile:Mse(Ose),createFileSync:Fse}});var YJ=O((aDe,QJ)=>{"use strict";var Lse=fo().fromCallback,GJ=require("path"),hm=Dn(),zJ=Wo(),HJ=Rc().pathExists;function Use(n,e,t){function r(i,o){hm.link(i,o,s=>{if(s)return t(s);t(null)})}HJ(e,(i,o)=>{if(i)return t(i);if(o)return t(null);hm.lstat(n,(s,a)=>{if(s)return s.message=s.message.replace("lstat","ensureLink"),t(s);let l=GJ.dirname(e);HJ(l,(c,u)=>{if(c)return t(c);if(u)return r(n,e);zJ.mkdirs(l,d=>{if(d)return t(d);r(n,e)})})})})}function Wse(n,e,t){if(hm.existsSync(e))return;try{hm.lstatSync(n)}catch(s){throw s.message=s.message.replace("lstat","ensureLink"),s}let i=GJ.dirname(e);return hm.existsSync(i)||zJ.mkdirsSync(i),hm.linkSync(n,e)}QJ.exports={createLink:Lse(Use),createLinkSync:Wse}});var ZJ=O((lDe,XJ)=>{"use strict";var Sd=require("path"),mC=Dn(),Vse=Rc().pathExists;function jse(n,e,t){if(Sd.isAbsolute(n))return mC.lstat(n,(r,i)=>r?(r.message=r.message.replace("lstat","ensureSymlink"),t(r)):t(null,{toCwd:n,toDst:n}));{let r=Sd.dirname(e),i=Sd.join(r,n);return Vse(i,(o,s)=>o?t(o):s?t(null,{toCwd:i,toDst:n}):mC.lstat(n,(a,l)=>a?(a.message=a.message.replace("lstat","ensureSymlink"),t(a)):t(null,{toCwd:n,toDst:Sd.relative(r,n)})))}}function Jse(n,e){let t;if(Sd.isAbsolute(n)){if(t=mC.existsSync(n),!t)throw new Error("absolute srcpath does not exist");return{toCwd:n,toDst:n}}else{let r=Sd.dirname(e),i=Sd.join(r,n);if(t=mC.existsSync(i),t)return{toCwd:i,toDst:n};if(t=mC.existsSync(n),!t)throw new Error("relative srcpath does not exist");return{toCwd:n,toDst:Sd.relative(r,n)}}}XJ.exports={symlinkPaths:jse,symlinkPathsSync:Jse}});var rB=O((cDe,tB)=>{"use strict";var eB=Dn();function Bse(n,e,t){if(t=typeof e=="function"?e:t,e=typeof e=="function"?!1:e,e)return t(null,e);eB.lstat(n,(r,i)=>{if(r)return t(null,"file");e=i&&i.isDirectory()?"dir":"file",t(null,e)})}function $se(n,e){let t;if(e)return e;try{t=eB.lstatSync(n)}catch{return"file"}return t&&t.isDirectory()?"dir":"file"}tB.exports={symlinkType:Bse,symlinkTypeSync:$se}});var cB=O((uDe,lB)=>{"use strict";var qse=fo().fromCallback,iB=require("path"),Dg=Dn(),oB=Wo(),Hse=oB.mkdirs,Gse=oB.mkdirsSync,sB=ZJ(),zse=sB.symlinkPaths,Qse=sB.symlinkPathsSync,aB=rB(),Yse=aB.symlinkType,Xse=aB.symlinkTypeSync,nB=Rc().pathExists;function Zse(n,e,t,r){r=typeof t=="function"?t:r,t=typeof t=="function"?!1:t,nB(e,(i,o)=>{if(i)return r(i);if(o)return r(null);zse(n,e,(s,a)=>{if(s)return r(s);n=a.toDst,Yse(a.toCwd,t,(l,c)=>{if(l)return r(l);let u=iB.dirname(e);nB(u,(d,f)=>{if(d)return r(d);if(f)return Dg.symlink(n,e,c,r);Hse(u,g=>{if(g)return r(g);Dg.symlink(n,e,c,r)})})})})})}function eae(n,e,t,r){if(r=typeof t=="function"?t:r,t=typeof t=="function"?!1:t,Dg.existsSync(e))return;let o=Qse(n,e);n=o.toDst,t=Xse(o.toCwd,t);let s=iB.dirname(e);return Dg.existsSync(s)||Gse(s),Dg.symlinkSync(n,e,t)}lB.exports={createSymlink:qse(Zse),createSymlinkSync:eae}});var dB=O((dDe,uB)=>{"use strict";var ex=qJ(),tx=YJ(),rx=cB();uB.exports={createFile:ex.createFile,createFileSync:ex.createFileSync,ensureFile:ex.createFile,ensureFileSync:ex.createFileSync,createLink:tx.createLink,createLinkSync:tx.createLinkSync,ensureLink:tx.createLink,ensureLinkSync:tx.createLinkSync,createSymlink:rx.createSymlink,createSymlinkSync:rx.createSymlinkSync,ensureSymlink:rx.createSymlink,ensureSymlinkSync:rx.createSymlinkSync}});var hB=O((pDe,fB)=>{"use strict";var tae=fo().fromCallback,gm=Dn(),pB=require("path"),mB=Wo(),rae=Rc().pathExists;function nae(n,e,t,r){typeof t=="function"&&(r=t,t="utf8");let i=pB.dirname(n);rae(i,(o,s)=>{if(o)return r(o);if(s)return gm.writeFile(n,e,t,r);mB.mkdirs(i,a=>{if(a)return r(a);gm.writeFile(n,e,t,r)})})}function iae(n,e,t){let r=pB.dirname(n);if(gm.existsSync(r))return gm.writeFileSync.apply(gm,arguments);mB.mkdirsSync(r),gm.writeFileSync.apply(gm,arguments)}fB.exports={outputFile:tae(nae),outputFileSync:iae}});var kl=O((mDe,gB)=>{"use strict";var Ds=y9(),Vo={};Ds(Vo,KN());Ds(Vo,q9());Ds(Vo,HN());Ds(Vo,Wo());Ds(Vo,dC());Ds(Vo,kJ());Ds(Vo,TJ());Ds(Vo,MJ());Ds(Vo,jJ());Ds(Vo,dB());Ds(Vo,hB());Ds(Vo,Rc());gB.exports=Vo});var gx=O((C0e,uM)=>{"use strict";function gae(n){var e=void 0;typeof n=="string"?e=[n]:e=n.raw;for(var t="",r=0;r<e.length;r++)t+=e[r].replace(/\\\n[ \t]*/g,"").replace(/\\`/g,"`"),r<(arguments.length<=1?0:arguments.length-1)&&(t+=arguments.length<=r+1?void 0:arguments[r+1]);var i=t.split(`
|
||
`),o=null;return i.forEach(function(s){var a=s.match(/^(\s+)\S+/);if(a){var l=a[1].length;o?o=Math.min(o,l):o=l}}),o!==null&&(t=i.map(function(s){return s[0]===" "?s.slice(o):s}).join(`
|
||
`)),t=t.trim(),t.replace(/\\n/g,`
|
||
`)}typeof uM<"u"&&(uM.exports=gae)});var K3=O((IMe,M3)=>{M3.exports=function(n,e){for(var t=[],r=0;r<n.length;r++){var i=e(n[r],r);_ae(i)?t.push.apply(t,i):t.push(i)}return t};var _ae=Array.isArray||function(n){return Object.prototype.toString.call(n)==="[object Array]"}});var W3=O((SMe,U3)=>{"use strict";U3.exports=F3;function F3(n,e,t){n instanceof RegExp&&(n=O3(n,t)),e instanceof RegExp&&(e=O3(e,t));var r=L3(n,e,t);return r&&{start:r[0],end:r[1],pre:t.slice(0,r[0]),body:t.slice(r[0]+n.length,r[1]),post:t.slice(r[1]+e.length)}}function O3(n,e){var t=e.match(n);return t?t[0]:null}F3.range=L3;function L3(n,e,t){var r,i,o,s,a,l=t.indexOf(n),c=t.indexOf(e,l+1),u=l;if(l>=0&&c>0){if(n===e)return[l,c];for(r=[],o=t.length;u>=0&&!a;)u==l?(r.push(u),l=t.indexOf(n,u+1)):r.length==1?a=[r.pop(),c]:(i=r.pop(),i<o&&(o=i,s=c),c=t.indexOf(e,u+1)),u=l<c&&l>=0?l:c;r.length&&(a=[o,s])}return a}});var G3=O((CMe,H3)=>{var Tae=K3(),V3=W3();H3.exports=Nae;var j3="\0SLASH"+Math.random()+"\0",J3="\0OPEN"+Math.random()+"\0",DM="\0CLOSE"+Math.random()+"\0",B3="\0COMMA"+Math.random()+"\0",$3="\0PERIOD"+Math.random()+"\0";function xM(n){return parseInt(n,10)==n?parseInt(n,10):n.charCodeAt(0)}function Rae(n){return n.split("\\\\").join(j3).split("\\{").join(J3).split("\\}").join(DM).split("\\,").join(B3).split("\\.").join($3)}function Aae(n){return n.split(j3).join("\\").split(J3).join("{").split(DM).join("}").split(B3).join(",").split($3).join(".")}function q3(n){if(!n)return[""];var e=[],t=V3("{","}",n);if(!t)return n.split(",");var r=t.pre,i=t.body,o=t.post,s=r.split(",");s[s.length-1]+="{"+i+"}";var a=q3(o);return o.length&&(s[s.length-1]+=a.shift(),s.push.apply(s,a)),e.push.apply(e,s),e}function Nae(n){return n?(n.substr(0,2)==="{}"&&(n="\\{\\}"+n.substr(2)),rv(Rae(n),!0).map(Aae)):[]}function Mae(n){return"{"+n+"}"}function Kae(n){return/^-?0\d/.test(n)}function Oae(n,e){return n<=e}function Fae(n,e){return n>=e}function rv(n,e){var t=[],r=V3("{","}",n);if(!r||/\$$/.test(r.pre))return[n];var i=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(r.body),o=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(r.body),s=i||o,a=r.body.indexOf(",")>=0;if(!s&&!a)return r.post.match(/,.*\}/)?(n=r.pre+"{"+r.body+DM+r.post,rv(n)):[n];var l;if(s)l=r.body.split(/\.\./);else if(l=q3(r.body),l.length===1&&(l=rv(l[0],!1).map(Mae),l.length===1)){var u=r.post.length?rv(r.post,!1):[""];return u.map(function(Ke){return r.pre+l[0]+Ke})}var c=r.pre,u=r.post.length?rv(r.post,!1):[""],d;if(s){var f=xM(l[0]),g=xM(l[1]),b=Math.max(l[0].length,l[1].length),I=l.length==3?Math.abs(xM(l[2])):1,E=Oae,x=g<f;x&&(I*=-1,E=Fae);var A=l.some(Kae);d=[];for(var T=f;E(T,g);T+=I){var J;if(o)J=String.fromCharCode(T),J==="\\"&&(J="");else if(J=String(T),A){var ne=b-J.length;if(ne>0){var H=new Array(ne+1).join("0");T<0?J="-"+H+J.slice(1):J=H+J}}d.push(J)}}else d=Tae(l,function(Ie){return rv(Ie,!1)});for(var oe=0;oe<d.length;oe++)for(var ae=0;ae<u.length;ae++){var Y=c+d[oe]+u[ae];(!e||s||Y)&&t.push(Y)}return t}});var PC=O((wMe,Z3)=>{Z3.exports=Jo;Jo.Minimatch=ni;var EC=function(){try{return require("path")}catch{}}()||{sep:"/"};Jo.sep=EC.sep;var RM=Jo.GLOBSTAR=ni.GLOBSTAR={},Lae=G3(),z3={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},_M="[^/]",TM=_M+"*?",Uae="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",Wae="(?:(?!(?:\\/|^)\\.).)*?",Q3=Vae("().*{}+?[]^$\\!");function Vae(n){return n.split("").reduce(function(e,t){return e[t]=!0,e},{})}var Y3=/\/+/;Jo.filter=jae;function jae(n,e){return e=e||{},function(t,r,i){return Jo(t,n,e)}}function Td(n,e){e=e||{};var t={};return Object.keys(n).forEach(function(r){t[r]=n[r]}),Object.keys(e).forEach(function(r){t[r]=e[r]}),t}Jo.defaults=function(n){if(!n||typeof n!="object"||!Object.keys(n).length)return Jo;var e=Jo,t=function(i,o,s){return e(i,o,Td(n,s))};return t.Minimatch=function(i,o){return new e.Minimatch(i,Td(n,o))},t.Minimatch.defaults=function(i){return e.defaults(Td(n,i)).Minimatch},t.filter=function(i,o){return e.filter(i,Td(n,o))},t.defaults=function(i){return e.defaults(Td(n,i))},t.makeRe=function(i,o){return e.makeRe(i,Td(n,o))},t.braceExpand=function(i,o){return e.braceExpand(i,Td(n,o))},t.match=function(r,i,o){return e.match(r,i,Td(n,o))},t};ni.defaults=function(n){return Jo.defaults(n).Minimatch};function Jo(n,e,t){return jx(e),t||(t={}),!t.nocomment&&e.charAt(0)==="#"?!1:new ni(e,t).match(n)}function ni(n,e){if(!(this instanceof ni))return new ni(n,e);jx(n),e||(e={}),n=n.trim(),!e.allowWindowsEscape&&EC.sep!=="/"&&(n=n.split(EC.sep).join("/")),this.options=e,this.set=[],this.pattern=n,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.make()}ni.prototype.debug=function(){};ni.prototype.make=Jae;function Jae(){var n=this.pattern,e=this.options;if(!e.nocomment&&n.charAt(0)==="#"){this.comment=!0;return}if(!n){this.empty=!0;return}this.parseNegate();var t=this.globSet=this.braceExpand();e.debug&&(this.debug=function(){console.error.apply(console,arguments)}),this.debug(this.pattern,t),t=this.globParts=t.map(function(r){return r.split(Y3)}),this.debug(this.pattern,t),t=t.map(function(r,i,o){return r.map(this.parse,this)},this),this.debug(this.pattern,t),t=t.filter(function(r){return r.indexOf(!1)===-1}),this.debug(this.pattern,t),this.set=t}ni.prototype.parseNegate=Bae;function Bae(){var n=this.pattern,e=!1,t=this.options,r=0;if(!t.nonegate){for(var i=0,o=n.length;i<o&&n.charAt(i)==="!";i++)e=!e,r++;r&&(this.pattern=n.substr(r)),this.negate=e}}Jo.braceExpand=function(n,e){return X3(n,e)};ni.prototype.braceExpand=X3;function X3(n,e){return e||(this instanceof ni?e=this.options:e={}),n=typeof n>"u"?this.pattern:n,jx(n),e.nobrace||!/\{(?:(?!\{).)*\}/.test(n)?[n]:Lae(n)}var $ae=1024*64,jx=function(n){if(typeof n!="string")throw new TypeError("invalid pattern");if(n.length>$ae)throw new TypeError("pattern is too long")};ni.prototype.parse=qae;var Vx={};function qae(n,e){jx(n);var t=this.options;if(n==="**")if(t.noglobstar)n="*";else return RM;if(n==="")return"";var r="",i=!!t.nocase,o=!1,s=[],a=[],l,c=!1,u=-1,d=-1,f=n.charAt(0)==="."?"":t.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",g=this;function b(){if(l){switch(l){case"*":r+=TM,i=!0;break;case"?":r+=_M,i=!0;break;default:r+="\\"+l;break}g.debug("clearStateChar %j %j",l,r),l=!1}}for(var I=0,E=n.length,x;I<E&&(x=n.charAt(I));I++){if(this.debug("%s %s %s %j",n,I,r,x),o&&Q3[x]){r+="\\"+x,o=!1;continue}switch(x){case"/":return!1;case"\\":b(),o=!0;continue;case"?":case"*":case"+":case"@":case"!":if(this.debug("%s %s %s %j <-- stateChar",n,I,r,x),c){this.debug(" in class"),x==="!"&&I===d+1&&(x="^"),r+=x;continue}g.debug("call clearStateChar %j",l),b(),l=x,t.noext&&b();continue;case"(":if(c){r+="(";continue}if(!l){r+="\\(";continue}s.push({type:l,start:I-1,reStart:r.length,open:z3[l].open,close:z3[l].close}),r+=l==="!"?"(?:(?!(?:":"(?:",this.debug("plType %j %j",l,r),l=!1;continue;case")":if(c||!s.length){r+="\\)";continue}b(),i=!0;var A=s.pop();r+=A.close,A.type==="!"&&a.push(A),A.reEnd=r.length;continue;case"|":if(c||!s.length||o){r+="\\|",o=!1;continue}b(),r+="|";continue;case"[":if(b(),c){r+="\\"+x;continue}c=!0,d=I,u=r.length,r+=x;continue;case"]":if(I===d+1||!c){r+="\\"+x,o=!1;continue}var T=n.substring(d+1,I);try{RegExp("["+T+"]")}catch{var J=this.parse(T,Vx);r=r.substr(0,u)+"\\["+J[0]+"\\]",i=i||J[1],c=!1;continue}i=!0,c=!1,r+=x;continue;default:b(),o?o=!1:Q3[x]&&!(x==="^"&&c)&&(r+="\\"),r+=x}}for(c&&(T=n.substr(d+1),J=this.parse(T,Vx),r=r.substr(0,u)+"\\["+J[0],i=i||J[1]),A=s.pop();A;A=s.pop()){var ne=r.slice(A.reStart+A.open.length);this.debug("setting tail",r,A),ne=ne.replace(/((?:\\{2}){0,64})(\\?)\|/g,function(Fi,nr,pi){return pi||(pi="\\"),nr+nr+pi+"|"}),this.debug(`tail=%j
|
||
%s`,ne,ne,A,r);var H=A.type==="*"?TM:A.type==="?"?_M:"\\"+A.type;i=!0,r=r.slice(0,A.reStart)+H+"\\("+ne}b(),o&&(r+="\\\\");var oe=!1;switch(r.charAt(0)){case"[":case".":case"(":oe=!0}for(var ae=a.length-1;ae>-1;ae--){var Y=a[ae],Ie=r.slice(0,Y.reStart),Ke=r.slice(Y.reStart,Y.reEnd-8),pt=r.slice(Y.reEnd-8,Y.reEnd),mt=r.slice(Y.reEnd);pt+=mt;var kt=Ie.split("(").length-1,ee=mt;for(I=0;I<kt;I++)ee=ee.replace(/\)[+*?]?/,"");mt=ee;var Ee="";mt===""&&e!==Vx&&(Ee="$");var Te=Ie+Ke+mt+Ee+pt;r=Te}if(r!==""&&i&&(r="(?=.)"+r),oe&&(r=f+r),e===Vx)return[r,i];if(!i)return Gae(n);var he=t.nocase?"i":"";try{var ht=new RegExp("^"+r+"$",he)}catch{return new RegExp("$.")}return ht._glob=n,ht._src=r,ht}Jo.makeRe=function(n,e){return new ni(n,e||{}).makeRe()};ni.prototype.makeRe=Hae;function Hae(){if(this.regexp||this.regexp===!1)return this.regexp;var n=this.set;if(!n.length)return this.regexp=!1,this.regexp;var e=this.options,t=e.noglobstar?TM:e.dot?Uae:Wae,r=e.nocase?"i":"",i=n.map(function(o){return o.map(function(s){return s===RM?t:typeof s=="string"?zae(s):s._src}).join("\\/")}).join("|");i="^(?:"+i+")$",this.negate&&(i="^(?!"+i+").*$");try{this.regexp=new RegExp(i,r)}catch{this.regexp=!1}return this.regexp}Jo.match=function(n,e,t){t=t||{};var r=new ni(e,t);return n=n.filter(function(i){return r.match(i)}),r.options.nonull&&!n.length&&n.push(e),n};ni.prototype.match=function(e,t){if(typeof t>"u"&&(t=this.partial),this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&t)return!0;var r=this.options;EC.sep!=="/"&&(e=e.split(EC.sep).join("/")),e=e.split(Y3),this.debug(this.pattern,"split",e);var i=this.set;this.debug(this.pattern,"set",i);var o,s;for(s=e.length-1;s>=0&&(o=e[s],!o);s--);for(s=0;s<i.length;s++){var a=i[s],l=e;r.matchBase&&a.length===1&&(l=[o]);var c=this.matchOne(l,a,t);if(c)return r.flipNegate?!0:!this.negate}return r.flipNegate?!1:this.negate};ni.prototype.matchOne=function(n,e,t){var r=this.options;this.debug("matchOne",{this:this,file:n,pattern:e}),this.debug("matchOne",n.length,e.length);for(var i=0,o=0,s=n.length,a=e.length;i<s&&o<a;i++,o++){this.debug("matchOne loop");var l=e[o],c=n[i];if(this.debug(e,l,c),l===!1)return!1;if(l===RM){this.debug("GLOBSTAR",[e,l,c]);var u=i,d=o+1;if(d===a){for(this.debug("** at the end");i<s;i++)if(n[i]==="."||n[i]===".."||!r.dot&&n[i].charAt(0)===".")return!1;return!0}for(;u<s;){var f=n[u];if(this.debug(`
|
||
globstar while`,n,u,e,d,f),this.matchOne(n.slice(u),e.slice(d),t))return this.debug("globstar found match!",u,s,f),!0;if(f==="."||f===".."||!r.dot&&f.charAt(0)==="."){this.debug("dot detected!",n,u,e,d);break}this.debug("globstar swallow a segment, and continue"),u++}return!!(t&&(this.debug(`
|
||
>>> no match, partial?`,n,u,e,d),u===s))}var g;if(typeof l=="string"?(g=c===l,this.debug("string match",l,c,g)):(g=c.match(l),this.debug("pattern match",l,c,g)),!g)return!1}if(i===s&&o===a)return!0;if(i===s)return t;if(o===a)return i===s-1&&n[i]==="";throw new Error("wtf?")};function Gae(n){return n.replace(/\\(.)/g,"$1")}function zae(n){return n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}});var a6=O(KM=>{var wm=require("path"),Ad=process.platform==="win32",Rd=require("fs"),Xae=process.env.NODE_DEBUG&&/fs/.test(process.env.NODE_DEBUG);function Zae(){var n;if(Xae){var e=new Error;n=t}else n=r;return n;function t(i){i&&(e.message=i.message,i=e,r(i))}function r(i){if(i){if(process.throwDeprecation)throw i;if(!process.noDeprecation){var o="fs: missing callback "+(i.stack||i.message);process.traceDeprecation?console.trace(o):console.error(o)}}}}function ele(n){return typeof n=="function"?n:Zae()}var pOe=wm.normalize;Ad?Lc=/(.*?)(?:[\/\\]+|$)/g:Lc=/(.*?)(?:[\/]+|$)/g;var Lc;Ad?_C=/^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/:_C=/^[\/]*/;var _C;KM.realpathSync=function(e,t){if(e=wm.resolve(e),t&&Object.prototype.hasOwnProperty.call(t,e))return t[e];var r=e,i={},o={},s,a,l,c;u();function u(){var E=_C.exec(e);s=E[0].length,a=E[0],l=E[0],c="",Ad&&!o[l]&&(Rd.lstatSync(l),o[l]=!0)}for(;s<e.length;){Lc.lastIndex=s;var d=Lc.exec(e);if(c=a,a+=d[0],l=c+d[1],s=Lc.lastIndex,!(o[l]||t&&t[l]===l)){var f;if(t&&Object.prototype.hasOwnProperty.call(t,l))f=t[l];else{var g=Rd.lstatSync(l);if(!g.isSymbolicLink()){o[l]=!0,t&&(t[l]=l);continue}var b=null;if(!Ad){var I=g.dev.toString(32)+":"+g.ino.toString(32);i.hasOwnProperty(I)&&(b=i[I])}b===null&&(Rd.statSync(l),b=Rd.readlinkSync(l)),f=wm.resolve(c,b),t&&(t[l]=f),Ad||(i[I]=b)}e=wm.resolve(f,e.slice(s)),u()}}return t&&(t[r]=e),e};KM.realpath=function(e,t,r){if(typeof r!="function"&&(r=ele(t),t=null),e=wm.resolve(e),t&&Object.prototype.hasOwnProperty.call(t,e))return process.nextTick(r.bind(null,null,t[e]));var i=e,o={},s={},a,l,c,u;d();function d(){var E=_C.exec(e);a=E[0].length,l=E[0],c=E[0],u="",Ad&&!s[c]?Rd.lstat(c,function(x){if(x)return r(x);s[c]=!0,f()}):process.nextTick(f)}function f(){if(a>=e.length)return t&&(t[i]=e),r(null,e);Lc.lastIndex=a;var E=Lc.exec(e);return u=l,l+=E[0],c=u+E[1],a=Lc.lastIndex,s[c]||t&&t[c]===c?process.nextTick(f):t&&Object.prototype.hasOwnProperty.call(t,c)?I(t[c]):Rd.lstat(c,g)}function g(E,x){if(E)return r(E);if(!x.isSymbolicLink())return s[c]=!0,t&&(t[c]=c),process.nextTick(f);if(!Ad){var A=x.dev.toString(32)+":"+x.ino.toString(32);if(o.hasOwnProperty(A))return b(null,o[A],c)}Rd.stat(c,function(T){if(T)return r(T);Rd.readlink(c,function(J,ne){Ad||(o[A]=ne),b(J,ne)})})}function b(E,x,A){if(E)return r(E);var T=wm.resolve(u,x);t&&(t[A]=T),I(T)}function I(E){e=wm.resolve(E,e.slice(a)),d()}}});var UM=O((fOe,d6)=>{d6.exports=Nd;Nd.realpath=Nd;Nd.sync=LM;Nd.realpathSync=LM;Nd.monkeypatch=rle;Nd.unmonkeypatch=nle;var fv=require("fs"),OM=fv.realpath,FM=fv.realpathSync,tle=process.version,l6=/^v[0-5]\./.test(tle),c6=a6();function u6(n){return n&&n.syscall==="realpath"&&(n.code==="ELOOP"||n.code==="ENOMEM"||n.code==="ENAMETOOLONG")}function Nd(n,e,t){if(l6)return OM(n,e,t);typeof e=="function"&&(t=e,e=null),OM(n,e,function(r,i){u6(r)?c6.realpath(n,e,t):t(r,i)})}function LM(n,e){if(l6)return FM(n,e);try{return FM(n,e)}catch(t){if(u6(t))return c6.realpathSync(n,e);throw t}}function rle(){fv.realpath=Nd,fv.realpathSync=LM}function nle(){fv.realpath=OM,fv.realpathSync=FM}});var p6=O((hOe,WM)=>{typeof Object.create=="function"?WM.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:WM.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}});var m6=O((gOe,jM)=>{try{if(VM=require("util"),typeof VM.inherits!="function")throw"";jM.exports=VM.inherits}catch{jM.exports=p6()}var VM});var $x=O((vOe,Bx)=>{"use strict";function f6(n){return n.charAt(0)==="/"}function h6(n){var e=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,t=e.exec(n),r=t[1]||"",i=!!(r&&r.charAt(1)!==":");return!!(t[2]||i)}Bx.exports=process.platform==="win32"?h6:f6;Bx.exports.posix=f6;Bx.exports.win32=h6});var BM=O(Md=>{Md.setopts=cle;Md.ownProp=g6;Md.makeAbs=TC;Md.finish=ule;Md.mark=dle;Md.isIgnored=y6;Md.childrenIgnored=ple;function g6(n,e){return Object.prototype.hasOwnProperty.call(n,e)}var ile=require("fs"),hv=require("path"),ole=PC(),v6=$x(),JM=ole.Minimatch;function sle(n,e){return n.localeCompare(e,"en")}function ale(n,e){n.ignore=e.ignore||[],Array.isArray(n.ignore)||(n.ignore=[n.ignore]),n.ignore.length&&(n.ignore=n.ignore.map(lle))}function lle(n){var e=null;if(n.slice(-3)==="/**"){var t=n.replace(/(\/\*\*)+$/,"");e=new JM(t,{dot:!0})}return{matcher:new JM(n,{dot:!0}),gmatcher:e}}function cle(n,e,t){if(t||(t={}),t.matchBase&&e.indexOf("/")===-1){if(t.noglobstar)throw new Error("base matching requires globstar");e="**/"+e}n.silent=!!t.silent,n.pattern=e,n.strict=t.strict!==!1,n.realpath=!!t.realpath,n.realpathCache=t.realpathCache||Object.create(null),n.follow=!!t.follow,n.dot=!!t.dot,n.mark=!!t.mark,n.nodir=!!t.nodir,n.nodir&&(n.mark=!0),n.sync=!!t.sync,n.nounique=!!t.nounique,n.nonull=!!t.nonull,n.nosort=!!t.nosort,n.nocase=!!t.nocase,n.stat=!!t.stat,n.noprocess=!!t.noprocess,n.absolute=!!t.absolute,n.fs=t.fs||ile,n.maxLength=t.maxLength||1/0,n.cache=t.cache||Object.create(null),n.statCache=t.statCache||Object.create(null),n.symlinks=t.symlinks||Object.create(null),ale(n,t),n.changedCwd=!1;var r=process.cwd();g6(t,"cwd")?(n.cwd=hv.resolve(t.cwd),n.changedCwd=n.cwd!==r):n.cwd=r,n.root=t.root||hv.resolve(n.cwd,"/"),n.root=hv.resolve(n.root),process.platform==="win32"&&(n.root=n.root.replace(/\\/g,"/")),n.cwdAbs=v6(n.cwd)?n.cwd:TC(n,n.cwd),process.platform==="win32"&&(n.cwdAbs=n.cwdAbs.replace(/\\/g,"/")),n.nomount=!!t.nomount,t.nonegate=!0,t.nocomment=!0,n.minimatch=new JM(e,t),n.options=n.minimatch.options}function ule(n){for(var e=n.nounique,t=e?[]:Object.create(null),r=0,i=n.matches.length;r<i;r++){var o=n.matches[r];if(!o||Object.keys(o).length===0){if(n.nonull){var s=n.minimatch.globSet[r];e?t.push(s):t[s]=!0}}else{var a=Object.keys(o);e?t.push.apply(t,a):a.forEach(function(l){t[l]=!0})}}if(e||(t=Object.keys(t)),n.nosort||(t=t.sort(sle)),n.mark){for(var r=0;r<t.length;r++)t[r]=n._mark(t[r]);n.nodir&&(t=t.filter(function(l){var c=!/\/$/.test(l),u=n.cache[l]||n.cache[TC(n,l)];return c&&u&&(c=u!=="DIR"&&!Array.isArray(u)),c}))}n.ignore.length&&(t=t.filter(function(l){return!y6(n,l)})),n.found=t}function dle(n,e){var t=TC(n,e),r=n.cache[t],i=e;if(r){var o=r==="DIR"||Array.isArray(r),s=e.slice(-1)==="/";if(o&&!s?i+="/":!o&&s&&(i=i.slice(0,-1)),i!==e){var a=TC(n,i);n.statCache[a]=n.statCache[t],n.cache[a]=n.cache[t]}}return i}function TC(n,e){var t=e;return e.charAt(0)==="/"?t=hv.join(n.root,e):v6(e)||e===""?t=e:n.changedCwd?t=hv.resolve(n.cwd,e):t=hv.resolve(e),process.platform==="win32"&&(t=t.replace(/\\/g,"/")),t}function y6(n,e){return n.ignore.length?n.ignore.some(function(t){return t.matcher.match(e)||!!(t.gmatcher&&t.gmatcher.match(e))}):!1}function ple(n,e){return n.ignore.length?n.ignore.some(function(t){return!!(t.gmatcher&&t.gmatcher.match(e))}):!1}});var w6=O((COe,C6)=>{C6.exports=S6;S6.GlobSync=Mn;var mle=UM(),b6=PC(),bOe=b6.Minimatch,IOe=HM().Glob,SOe=require("util"),$M=require("path"),I6=require("assert"),qx=$x(),Em=BM(),fle=Em.setopts,qM=Em.ownProp,hle=Em.childrenIgnored,gle=Em.isIgnored;function S6(n,e){if(typeof e=="function"||arguments.length===3)throw new TypeError(`callback provided to sync glob
|
||
See: https://github.com/isaacs/node-glob/issues/167`);return new Mn(n,e).found}function Mn(n,e){if(!n)throw new Error("must provide pattern");if(typeof e=="function"||arguments.length===3)throw new TypeError(`callback provided to sync glob
|
||
See: https://github.com/isaacs/node-glob/issues/167`);if(!(this instanceof Mn))return new Mn(n,e);if(fle(this,n,e),this.noprocess)return this;var t=this.minimatch.set.length;this.matches=new Array(t);for(var r=0;r<t;r++)this._process(this.minimatch.set[r],r,!1);this._finish()}Mn.prototype._finish=function(){if(I6(this instanceof Mn),this.realpath){var n=this;this.matches.forEach(function(e,t){var r=n.matches[t]=Object.create(null);for(var i in e)try{i=n._makeAbs(i);var o=mle.realpathSync(i,n.realpathCache);r[o]=!0}catch(s){if(s.syscall==="stat")r[n._makeAbs(i)]=!0;else throw s}})}Em.finish(this)};Mn.prototype._process=function(n,e,t){I6(this instanceof Mn);for(var r=0;typeof n[r]=="string";)r++;var i;switch(r){case n.length:this._processSimple(n.join("/"),e);return;case 0:i=null;break;default:i=n.slice(0,r).join("/");break}var o=n.slice(r),s;i===null?s=".":((qx(i)||qx(n.join("/")))&&(!i||!qx(i))&&(i="/"+i),s=i);var a=this._makeAbs(s);if(!hle(this,s)){var l=o[0]===b6.GLOBSTAR;l?this._processGlobStar(i,s,a,o,e,t):this._processReaddir(i,s,a,o,e,t)}};Mn.prototype._processReaddir=function(n,e,t,r,i,o){var s=this._readdir(t,o);if(s){for(var a=r[0],l=!!this.minimatch.negate,c=a._glob,u=this.dot||c.charAt(0)===".",d=[],f=0;f<s.length;f++){var g=s[f];if(g.charAt(0)!=="."||u){var b;l&&!n?b=!g.match(a):b=g.match(a),b&&d.push(g)}}var I=d.length;if(I!==0){if(r.length===1&&!this.mark&&!this.stat){this.matches[i]||(this.matches[i]=Object.create(null));for(var f=0;f<I;f++){var g=d[f];n&&(n.slice(-1)!=="/"?g=n+"/"+g:g=n+g),g.charAt(0)==="/"&&!this.nomount&&(g=$M.join(this.root,g)),this._emitMatch(i,g)}return}r.shift();for(var f=0;f<I;f++){var g=d[f],E;n?E=[n,g]:E=[g],this._process(E.concat(r),i,o)}}}};Mn.prototype._emitMatch=function(n,e){if(!gle(this,e)){var t=this._makeAbs(e);if(this.mark&&(e=this._mark(e)),this.absolute&&(e=t),!this.matches[n][e]){if(this.nodir){var r=this.cache[t];if(r==="DIR"||Array.isArray(r))return}this.matches[n][e]=!0,this.stat&&this._stat(e)}}};Mn.prototype._readdirInGlobStar=function(n){if(this.follow)return this._readdir(n,!1);var e,t,r;try{t=this.fs.lstatSync(n)}catch(o){if(o.code==="ENOENT")return null}var i=t&&t.isSymbolicLink();return this.symlinks[n]=i,!i&&t&&!t.isDirectory()?this.cache[n]="FILE":e=this._readdir(n,!1),e};Mn.prototype._readdir=function(n,e){var t;if(e&&!qM(this.symlinks,n))return this._readdirInGlobStar(n);if(qM(this.cache,n)){var r=this.cache[n];if(!r||r==="FILE")return null;if(Array.isArray(r))return r}try{return this._readdirEntries(n,this.fs.readdirSync(n))}catch(i){return this._readdirError(n,i),null}};Mn.prototype._readdirEntries=function(n,e){if(!this.mark&&!this.stat)for(var t=0;t<e.length;t++){var r=e[t];n==="/"?r=n+r:r=n+"/"+r,this.cache[r]=!0}return this.cache[n]=e,e};Mn.prototype._readdirError=function(n,e){switch(e.code){case"ENOTSUP":case"ENOTDIR":var t=this._makeAbs(n);if(this.cache[t]="FILE",t===this.cwdAbs){var r=new Error(e.code+" invalid cwd "+this.cwd);throw r.path=this.cwd,r.code=e.code,r}break;case"ENOENT":case"ELOOP":case"ENAMETOOLONG":case"UNKNOWN":this.cache[this._makeAbs(n)]=!1;break;default:if(this.cache[this._makeAbs(n)]=!1,this.strict)throw e;this.silent||console.error("glob error",e);break}};Mn.prototype._processGlobStar=function(n,e,t,r,i,o){var s=this._readdir(t,o);if(s){var a=r.slice(1),l=n?[n]:[],c=l.concat(a);this._process(c,i,!1);var u=s.length,d=this.symlinks[t];if(!(d&&o))for(var f=0;f<u;f++){var g=s[f];if(!(g.charAt(0)==="."&&!this.dot)){var b=l.concat(s[f],a);this._process(b,i,!0);var I=l.concat(s[f],r);this._process(I,i,!0)}}}};Mn.prototype._processSimple=function(n,e){var t=this._stat(n);if(this.matches[e]||(this.matches[e]=Object.create(null)),!!t){if(n&&qx(n)&&!this.nomount){var r=/[\/\\]$/.test(n);n.charAt(0)==="/"?n=$M.join(this.root,n):(n=$M.resolve(this.root,n),r&&(n+="/"))}process.platform==="win32"&&(n=n.replace(/\\/g,"/")),this._emitMatch(e,n)}};Mn.prototype._stat=function(n){var e=this._makeAbs(n),t=n.slice(-1)==="/";if(n.length>this.maxLength)return!1;if(!this.stat&&qM(this.cache,e)){var s=this.cache[e];if(Array.isArray(s)&&(s="DIR"),!t||s==="DIR")return s;if(t&&s==="FILE")return!1}var r,i=this.statCache[e];if(!i){var o;try{o=this.fs.lstatSync(e)}catch(a){if(a&&(a.code==="ENOENT"||a.code==="ENOTDIR"))return this.statCache[e]=!1,!1}if(o&&o.isSymbolicLink())try{i=this.fs.statSync(e)}catch{i=o}else i=o}this.statCache[e]=i;var s=!0;return i&&(s=i.isDirectory()?"DIR":"FILE"),this.cache[e]=this.cache[e]||s,t&&s==="FILE"?!1:s};Mn.prototype._mark=function(n){return Em.mark(this,n)};Mn.prototype._makeAbs=function(n){return Em.makeAbs(this,n)}});var GM=O((wOe,P6)=>{P6.exports=E6;function E6(n,e){if(n&&e)return E6(n)(e);if(typeof n!="function")throw new TypeError("need wrapper function");return Object.keys(n).forEach(function(r){t[r]=n[r]}),t;function t(){for(var r=new Array(arguments.length),i=0;i<r.length;i++)r[i]=arguments[i];var o=n.apply(this,r),s=r[r.length-1];return typeof o=="function"&&o!==s&&Object.keys(s).forEach(function(a){o[a]=s[a]}),o}}});var QM=O((EOe,zM)=>{var k6=GM();zM.exports=k6(Hx);zM.exports.strict=k6(x6);Hx.proto=Hx(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Hx(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return x6(this)},configurable:!0})});function Hx(n){var e=function(){return e.called?e.value:(e.called=!0,e.value=n.apply(this,arguments))};return e.called=!1,e}function x6(n){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=n.apply(this,arguments)},t=n.name||"Function wrapped with `once`";return e.onceError=t+" shouldn't be called more than once",e.called=!1,e}});var _6=O((POe,D6)=>{var vle=GM(),RC=Object.create(null),yle=QM();D6.exports=vle(ble);function ble(n,e){return RC[n]?(RC[n].push(e),null):(RC[n]=[e],Ile(n))}function Ile(n){return yle(function e(){var t=RC[n],r=t.length,i=Sle(arguments);try{for(var o=0;o<r;o++)t[o].apply(null,i)}finally{t.length>r?(t.splice(0,r),process.nextTick(function(){e.apply(null,i)})):delete RC[n]}})}function Sle(n){for(var e=n.length,t=[],r=0;r<e;r++)t[r]=n[r];return t}});var HM=O((DOe,R6)=>{R6.exports=Pm;var Cle=UM(),T6=PC(),kOe=T6.Minimatch,wle=m6(),Ele=require("events").EventEmitter,YM=require("path"),XM=require("assert"),AC=$x(),eK=w6(),km=BM(),Ple=km.setopts,ZM=km.ownProp,tK=_6(),xOe=require("util"),kle=km.childrenIgnored,xle=km.isIgnored,Dle=QM();function Pm(n,e,t){if(typeof e=="function"&&(t=e,e={}),e||(e={}),e.sync){if(t)throw new TypeError("callback provided to sync glob");return eK(n,e)}return new cr(n,e,t)}Pm.sync=eK;var _le=Pm.GlobSync=eK.GlobSync;Pm.glob=Pm;function Tle(n,e){if(e===null||typeof e!="object")return n;for(var t=Object.keys(e),r=t.length;r--;)n[t[r]]=e[t[r]];return n}Pm.hasMagic=function(n,e){var t=Tle({},e);t.noprocess=!0;var r=new cr(n,t),i=r.minimatch.set;if(!n)return!1;if(i.length>1)return!0;for(var o=0;o<i[0].length;o++)if(typeof i[0][o]!="string")return!0;return!1};Pm.Glob=cr;wle(cr,Ele);function cr(n,e,t){if(typeof e=="function"&&(t=e,e=null),e&&e.sync){if(t)throw new TypeError("callback provided to sync glob");return new _le(n,e)}if(!(this instanceof cr))return new cr(n,e,t);Ple(this,n,e),this._didRealPath=!1;var r=this.minimatch.set.length;this.matches=new Array(r),typeof t=="function"&&(t=Dle(t),this.on("error",t),this.on("end",function(l){t(null,l)}));var i=this;if(this._processing=0,this._emitQueue=[],this._processQueue=[],this.paused=!1,this.noprocess)return this;if(r===0)return a();for(var o=!0,s=0;s<r;s++)this._process(this.minimatch.set[s],s,!1,a);o=!1;function a(){--i._processing,i._processing<=0&&(o?process.nextTick(function(){i._finish()}):i._finish())}}cr.prototype._finish=function(){if(XM(this instanceof cr),!this.aborted){if(this.realpath&&!this._didRealpath)return this._realpath();km.finish(this),this.emit("end",this.found)}};cr.prototype._realpath=function(){if(this._didRealpath)return;this._didRealpath=!0;var n=this.matches.length;if(n===0)return this._finish();for(var e=this,t=0;t<this.matches.length;t++)this._realpathSet(t,r);function r(){--n===0&&e._finish()}};cr.prototype._realpathSet=function(n,e){var t=this.matches[n];if(!t)return e();var r=Object.keys(t),i=this,o=r.length;if(o===0)return e();var s=this.matches[n]=Object.create(null);r.forEach(function(a,l){a=i._makeAbs(a),Cle.realpath(a,i.realpathCache,function(c,u){c?c.syscall==="stat"?s[a]=!0:i.emit("error",c):s[u]=!0,--o===0&&(i.matches[n]=s,e())})})};cr.prototype._mark=function(n){return km.mark(this,n)};cr.prototype._makeAbs=function(n){return km.makeAbs(this,n)};cr.prototype.abort=function(){this.aborted=!0,this.emit("abort")};cr.prototype.pause=function(){this.paused||(this.paused=!0,this.emit("pause"))};cr.prototype.resume=function(){if(this.paused){if(this.emit("resume"),this.paused=!1,this._emitQueue.length){var n=this._emitQueue.slice(0);this._emitQueue.length=0;for(var e=0;e<n.length;e++){var t=n[e];this._emitMatch(t[0],t[1])}}if(this._processQueue.length){var r=this._processQueue.slice(0);this._processQueue.length=0;for(var e=0;e<r.length;e++){var i=r[e];this._processing--,this._process(i[0],i[1],i[2],i[3])}}}};cr.prototype._process=function(n,e,t,r){if(XM(this instanceof cr),XM(typeof r=="function"),!this.aborted){if(this._processing++,this.paused){this._processQueue.push([n,e,t,r]);return}for(var i=0;typeof n[i]=="string";)i++;var o;switch(i){case n.length:this._processSimple(n.join("/"),e,r);return;case 0:o=null;break;default:o=n.slice(0,i).join("/");break}var s=n.slice(i),a;o===null?a=".":((AC(o)||AC(n.join("/")))&&(!o||!AC(o))&&(o="/"+o),a=o);var l=this._makeAbs(a);if(kle(this,a))return r();var c=s[0]===T6.GLOBSTAR;c?this._processGlobStar(o,a,l,s,e,t,r):this._processReaddir(o,a,l,s,e,t,r)}};cr.prototype._processReaddir=function(n,e,t,r,i,o,s){var a=this;this._readdir(t,o,function(l,c){return a._processReaddir2(n,e,t,r,i,o,c,s)})};cr.prototype._processReaddir2=function(n,e,t,r,i,o,s,a){if(!s)return a();for(var l=r[0],c=!!this.minimatch.negate,u=l._glob,d=this.dot||u.charAt(0)===".",f=[],g=0;g<s.length;g++){var b=s[g];if(b.charAt(0)!=="."||d){var I;c&&!n?I=!b.match(l):I=b.match(l),I&&f.push(b)}}var E=f.length;if(E===0)return a();if(r.length===1&&!this.mark&&!this.stat){this.matches[i]||(this.matches[i]=Object.create(null));for(var g=0;g<E;g++){var b=f[g];n&&(n!=="/"?b=n+"/"+b:b=n+b),b.charAt(0)==="/"&&!this.nomount&&(b=YM.join(this.root,b)),this._emitMatch(i,b)}return a()}r.shift();for(var g=0;g<E;g++){var b=f[g],x;n&&(n!=="/"?b=n+"/"+b:b=n+b),this._process([b].concat(r),i,o,a)}a()};cr.prototype._emitMatch=function(n,e){if(!this.aborted&&!xle(this,e)){if(this.paused){this._emitQueue.push([n,e]);return}var t=AC(e)?e:this._makeAbs(e);if(this.mark&&(e=this._mark(e)),this.absolute&&(e=t),!this.matches[n][e]){if(this.nodir){var r=this.cache[t];if(r==="DIR"||Array.isArray(r))return}this.matches[n][e]=!0;var i=this.statCache[t];i&&this.emit("stat",e,i),this.emit("match",e)}}};cr.prototype._readdirInGlobStar=function(n,e){if(this.aborted)return;if(this.follow)return this._readdir(n,!1,e);var t="lstat\0"+n,r=this,i=tK(t,o);i&&r.fs.lstat(n,i);function o(s,a){if(s&&s.code==="ENOENT")return e();var l=a&&a.isSymbolicLink();r.symlinks[n]=l,!l&&a&&!a.isDirectory()?(r.cache[n]="FILE",e()):r._readdir(n,!1,e)}};cr.prototype._readdir=function(n,e,t){if(!this.aborted&&(t=tK("readdir\0"+n+"\0"+e,t),!!t)){if(e&&!ZM(this.symlinks,n))return this._readdirInGlobStar(n,t);if(ZM(this.cache,n)){var r=this.cache[n];if(!r||r==="FILE")return t();if(Array.isArray(r))return t(null,r)}var i=this;i.fs.readdir(n,Rle(this,n,t))}};function Rle(n,e,t){return function(r,i){r?n._readdirError(e,r,t):n._readdirEntries(e,i,t)}}cr.prototype._readdirEntries=function(n,e,t){if(!this.aborted){if(!this.mark&&!this.stat)for(var r=0;r<e.length;r++){var i=e[r];n==="/"?i=n+i:i=n+"/"+i,this.cache[i]=!0}return this.cache[n]=e,t(null,e)}};cr.prototype._readdirError=function(n,e,t){if(!this.aborted){switch(e.code){case"ENOTSUP":case"ENOTDIR":var r=this._makeAbs(n);if(this.cache[r]="FILE",r===this.cwdAbs){var i=new Error(e.code+" invalid cwd "+this.cwd);i.path=this.cwd,i.code=e.code,this.emit("error",i),this.abort()}break;case"ENOENT":case"ELOOP":case"ENAMETOOLONG":case"UNKNOWN":this.cache[this._makeAbs(n)]=!1;break;default:this.cache[this._makeAbs(n)]=!1,this.strict&&(this.emit("error",e),this.abort()),this.silent||console.error("glob error",e);break}return t()}};cr.prototype._processGlobStar=function(n,e,t,r,i,o,s){var a=this;this._readdir(t,o,function(l,c){a._processGlobStar2(n,e,t,r,i,o,c,s)})};cr.prototype._processGlobStar2=function(n,e,t,r,i,o,s,a){if(!s)return a();var l=r.slice(1),c=n?[n]:[],u=c.concat(l);this._process(u,i,!1,a);var d=this.symlinks[t],f=s.length;if(d&&o)return a();for(var g=0;g<f;g++){var b=s[g];if(!(b.charAt(0)==="."&&!this.dot)){var I=c.concat(s[g],l);this._process(I,i,!0,a);var E=c.concat(s[g],r);this._process(E,i,!0,a)}}a()};cr.prototype._processSimple=function(n,e,t){var r=this;this._stat(n,function(i,o){r._processSimple2(n,e,i,o,t)})};cr.prototype._processSimple2=function(n,e,t,r,i){if(this.matches[e]||(this.matches[e]=Object.create(null)),!r)return i();if(n&&AC(n)&&!this.nomount){var o=/[\/\\]$/.test(n);n.charAt(0)==="/"?n=YM.join(this.root,n):(n=YM.resolve(this.root,n),o&&(n+="/"))}process.platform==="win32"&&(n=n.replace(/\\/g,"/")),this._emitMatch(e,n),i()};cr.prototype._stat=function(n,e){var t=this._makeAbs(n),r=n.slice(-1)==="/";if(n.length>this.maxLength)return e();if(!this.stat&&ZM(this.cache,t)){var i=this.cache[t];if(Array.isArray(i)&&(i="DIR"),!r||i==="DIR")return e(null,i);if(r&&i==="FILE")return e()}var o,s=this.statCache[t];if(s!==void 0){if(s===!1)return e(null,s);var a=s.isDirectory()?"DIR":"FILE";return r&&a==="FILE"?e():e(null,a,s)}var l=this,c=tK("stat\0"+t,u);c&&l.fs.lstat(t,c);function u(d,f){if(f&&f.isSymbolicLink())return l.fs.stat(t,function(g,b){g?l._stat2(n,t,null,f,e):l._stat2(n,t,g,b,e)});l._stat2(n,t,d,f,e)}};cr.prototype._stat2=function(n,e,t,r,i){if(t&&(t.code==="ENOENT"||t.code==="ENOTDIR"))return this.statCache[e]=!1,i();var o=n.slice(-1)==="/";if(this.statCache[e]=r,e.slice(-1)==="/"&&r&&!r.isDirectory())return i(null,!1,r);var s=!0;return r&&(s=r.isDirectory()?"DIR":"FILE"),this.cache[e]=this.cache[e]||s,o&&s==="FILE"?i():i(null,s,r)}});var M6=O((_Oe,N6)=>{"use strict";var A6=process.platform==="win32",Ale=A6?/[^:]\\$/:/.\/$/;N6.exports=function(){var n;return A6?n=process.env.TEMP||process.env.TMP||(process.env.SystemRoot||process.env.windir)+"\\temp":n=process.env.TMPDIR||process.env.TMP||process.env.TEMP||"/tmp",Ale.test(n)&&(n=n.slice(0,-1)),n}});var G6=O((TOe,Uc)=>{var yo=require("fs"),rK=require("path"),K6=require("crypto"),Nle=M6(),NC=require("constants"),nK=Nle(),O6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",iK=/XXXXXX/,L6=3,U6=NC.O_CREAT|NC.O_EXCL|NC.O_RDWR,W6=448,V6=384,gv=[],j6=!1,oK=!1;function F6(n){var e=[],t=null;try{t=K6.randomBytes(n)}catch{t=K6.pseudoRandomBytes(n)}for(var r=0;r<n;r++)e.push(O6[t[r]%O6.length]);return e.join("")}function Mle(n){return typeof n>"u"}function vv(n,e){if(typeof n=="function"){var t=n;n=e||{},e=t}else typeof n>"u"&&(n={});return[n,e]}function J6(n){if(n.name)return rK.join(n.dir||nK,n.name);if(n.template)return n.template.replace(iK,F6(6));var e=[n.prefix||"tmp-",process.pid,F6(12),n.postfix||""].join("");return rK.join(n.dir||nK,e)}function sK(n,e){var t=vv(n,e),r=t[0],i=t[1],o=r.tries||L6;if(isNaN(o)||o<0)return i(new Error("Invalid tries"));if(r.template&&!r.template.match(iK))return i(new Error("Invalid template provided"));(function s(){var a=J6(r);yo.stat(a,function(l){if(!l)return o-- >0?s():i(new Error("Could not get a unique tmp filename, max tries reached "+a));i(null,a)})})()}function aK(n){var e=vv(n),t=e[0],r=t.tries||L6;if(isNaN(r)||r<0)throw new Error("Invalid tries");if(t.template&&!t.template.match(iK))throw new Error("Invalid template provided");do{var i=J6(t);try{yo.statSync(i)}catch{return i}}while(r-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function Kle(n,e){var t=vv(n,e),r=t[0],i=t[1];r.postfix=Mle(r.postfix)?".tmp":r.postfix,sK(r,function(s,a){if(s)return i(s);yo.open(a,U6,r.mode||V6,function(c,u){if(c)return i(c);i(null,a,u,B6(a,u,r))})})}function Ole(n){var e=vv(n),t=e[0];t.postfix=t.postfix||".tmp";var r=aK(t),i=yo.openSync(r,U6,t.mode||V6);return{name:r,fd:i,removeCallback:B6(r,i,t)}}function Fle(n){var e=[n];do{for(var t=e.pop(),r=!1,i=yo.readdirSync(t),o=0,s=i.length;o<s;o++){var a=rK.join(t,i[o]),l=yo.lstatSync(a);l.isDirectory()?(r||(r=!0,e.push(t)),e.push(a)):yo.unlinkSync(a)}r||yo.rmdirSync(t)}while(e.length!==0)}function Lle(n,e){var t=vv(n,e),r=t[0],i=t[1];sK(r,function(s,a){if(s)return i(s);yo.mkdir(a,r.mode||W6,function(c){if(c)return i(c);i(null,a,$6(a,r))})})}function Ule(n){var e=vv(n),t=e[0],r=aK(t);return yo.mkdirSync(r,t.mode||W6),{name:r,removeCallback:$6(r,t)}}function B6(n,e,t){var r=q6(function(o){try{yo.closeSync(o[0])}catch(s){if(s.errno!=-NC.EBADF&&s.errno!=-NC.ENOENT)throw s}yo.unlinkSync(o[1])},[e,n]);return t.keep||gv.unshift(r),r}function $6(n,e){var t=e.unsafeCleanup?Fle:yo.rmdirSync.bind(yo),r=q6(t,n);return e.keep||gv.unshift(r),r}function q6(n,e){var t=!1;return function r(){if(!t){var i=gv.indexOf(r);i>=0&&gv.splice(i,1),t=!0,n(e)}}}function H6(){if(!(oK&&!j6))for(var n=0,e=gv.length;n<e;n++)try{gv[n].call(null)}catch{}}function Wle(){j6=!0}var Gx=process.versions.node.split(".").map(function(n){return parseInt(n,10)});Gx[0]===0&&(Gx[1]<9||Gx[1]===9&&Gx[2]<5)&&process.addListener("uncaughtException",function(e){throw oK=!0,H6(),e});process.addListener("exit",function(e){e&&(oK=!0),H6()});Uc.exports.tmpdir=nK;Uc.exports.dir=Lle;Uc.exports.dirSync=Ule;Uc.exports.file=Kle;Uc.exports.fileSync=Ole;Uc.exports.tmpName=sK;Uc.exports.tmpNameSync=aK;Uc.exports.setGracefulCleanup=Wle});var Q6=O((xm,z6)=>{var MC=require("node-fetch"),Vle=MC.default||MC,zx=function(n,e){return/^\/\//.test(n)&&(n="https:"+n),Vle.call(this,n,e)};zx.ponyfill=!0;z6.exports=xm=zx;xm.fetch=zx;xm.Headers=MC.Headers;xm.Request=MC.Request;xm.Response=MC.Response;xm.default=zx});var K7=O((y9e,M7)=>{var ece=require("crypto");M7.exports=function(){return ece.randomBytes(16)}});var L7=O((b9e,F7)=>{var O7=[];for(BC=0;BC<256;++BC)O7[BC]=(BC+256).toString(16).substr(1);var BC;function tce(n,e){var t=e||0,r=O7;return[r[n[t++]],r[n[t++]],r[n[t++]],r[n[t++]],"-",r[n[t++]],r[n[t++]],"-",r[n[t++]],r[n[t++]],"-",r[n[t++]],r[n[t++]],"-",r[n[t++]],r[n[t++]],r[n[t++]],r[n[t++]],r[n[t++]],r[n[t++]]].join("")}F7.exports=tce});var Io=O((I9e,U7)=>{var rce=K7(),nce=L7();function ice(n,e,t){var r=e&&t||0;typeof n=="string"&&(e=n==="binary"?new Array(16):null,n=null),n=n||{};var i=n.random||(n.rng||rce)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,e)for(var o=0;o<16;++o)e[r+o]=i[o];return e||nce(i)}U7.exports=ice});var $7=O((wBe,B7)=>{"use strict";function Vm(n){if(!(this instanceof Vm))return new Vm(n);n=n||{},this.concurrency=n.concurrency||1/0,this.pending=0,this.jobs=[],this.cbs=[],this._done=ace.bind(this)}var sce=["push","unshift","splice"];sce.forEach(function(n){Vm.prototype[n]=function(){var e=Array.prototype[n].apply(this.jobs,arguments);return this._run(),e}});Object.defineProperty(Vm.prototype,"length",{get:function(){return this.pending+this.jobs.length}});Vm.prototype._run=function(){if(this.pending!==this.concurrency){if(this.jobs.length){var n=this.jobs.shift();this.pending++,n(this._done),this._run()}if(this.pending===0)for(;this.cbs.length!==0;){var e=this.cbs.pop();process.nextTick(e)}}};Vm.prototype.onDone=function(n){typeof n=="function"&&(this.cbs.push(n),this._run())};function ace(){this.pending--,this._run()}B7.exports=Vm});var jm=O((EBe,q7)=>{"use strict";q7.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}});var l$=O((PBe,a$)=>{var Q7=require("fs"),$c=require("path"),Y7=require("os"),X7=typeof __webpack_require__=="function"?__non_webpack_require__:require,lce=process.config&&process.config.variables||{},cce=!!process.env.PREBUILDS_ONLY,H7=process.versions.modules,bK=pce()?"electron":dce()?"node-webkit":"node",IK=process.env.npm_config_arch||Y7.arch(),SK=process.env.npm_config_platform||Y7.platform(),Z7=process.env.LIBC||(mce(SK)?"musl":"glibc"),CK=process.env.ARM_VERSION||(IK==="arm64"?"8":lce.arm_version)||"",e$=(process.versions.uv||"").split(".")[0];a$.exports=Ll;function Ll(n){return X7(Ll.resolve(n))}Ll.resolve=Ll.path=function(n){n=$c.resolve(n||".");try{var e=X7($c.join(n,"package.json")).name.toUpperCase().replace(/-/g,"_");process.env[e+"_PREBUILD"]&&(n=process.env[e+"_PREBUILD"])}catch{}if(!cce){var t=G7($c.join(n,"build/Release"),z7);if(t)return t;var r=G7($c.join(n,"build/Debug"),z7);if(r)return r}var i=a(n);if(i)return i;var o=a($c.dirname(process.execPath));if(o)return o;var s=["platform="+SK,"arch="+IK,"runtime="+bK,"abi="+H7,"uv="+e$,CK?"armv="+CK:"","libc="+Z7,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"",typeof __webpack_require__=="function"?"webpack=true":""].filter(Boolean).join(" ");throw new Error("No native build was found for "+s+`
|
||
loaded from: `+n+`
|
||
`);function a(l){var c=wK($c.join(l,"prebuilds")).map(t$),u=c.filter(r$(SK,IK)).sort(n$)[0];if(u){var d=$c.join(l,"prebuilds",u.name),f=wK(d).map(i$),g=f.filter(o$(bK,H7)),b=g.sort(s$(bK))[0];if(b)return $c.join(d,b.file)}}};function wK(n){try{return Q7.readdirSync(n)}catch{return[]}}function G7(n,e){var t=wK(n).filter(e);return t[0]&&$c.join(n,t[0])}function z7(n){return/\.node$/.test(n)}function t$(n){var e=n.split("-");if(e.length===2){var t=e[0],r=e[1].split("+");if(t&&r.length&&r.every(Boolean))return{name:n,platform:t,architectures:r}}}function r$(n,e){return function(t){return t==null||t.platform!==n?!1:t.architectures.includes(e)}}function n$(n,e){return n.architectures.length-e.architectures.length}function i$(n){var e=n.split("."),t=e.pop(),r={file:n,specificity:0};if(t==="node"){for(var i=0;i<e.length;i++){var o=e[i];if(o==="node"||o==="electron"||o==="node-webkit")r.runtime=o;else if(o==="napi")r.napi=!0;else if(o.slice(0,3)==="abi")r.abi=o.slice(3);else if(o.slice(0,2)==="uv")r.uv=o.slice(2);else if(o.slice(0,4)==="armv")r.armv=o.slice(4);else if(o==="glibc"||o==="musl")r.libc=o;else continue;r.specificity++}return r}}function o$(n,e){return function(t){return!(t==null||t.runtime!==n&&!uce(t)||t.abi!==e&&!t.napi||t.uv&&t.uv!==e$||t.armv&&t.armv!==CK||t.libc&&t.libc!==Z7)}}function uce(n){return n.runtime==="node"&&n.napi}function s$(n){return function(e,t){return e.runtime!==t.runtime?e.runtime===n?-1:1:e.abi!==t.abi?e.abi?-1:1:e.specificity!==t.specificity?e.specificity>t.specificity?-1:1:0}}function dce(){return!!(process.versions&&process.versions.nw)}function pce(){return process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE?!0:typeof window<"u"&&window.process&&window.process.type==="renderer"}function mce(n){return n==="linux"&&Q7.existsSync("/etc/alpine-release")}Ll.parseTags=i$;Ll.matchTags=o$;Ll.compareTags=s$;Ll.parseTuple=t$;Ll.matchTuple=r$;Ll.compareTuples=n$});var PK=O((kBe,EK)=>{typeof process.addon=="function"?EK.exports=process.addon.bind(process):EK.exports=l$()});var u$=O((xBe,c$)=>{"use strict";var fce=(n,e,t,r,i)=>{for(var o=0;o<i;o++)t[r+o]=n[o]^e[o&3]},hce=(n,e)=>{let t=n.length;for(var r=0;r<t;r++)n[r]^=e[r&3]};c$.exports={mask:fce,unmask:hce}});var d$=O((DBe,kK)=>{"use strict";try{kK.exports=PK()(__dirname)}catch{kK.exports=u$()}});var wD=O((_Be,xK)=>{"use strict";var{EMPTY_BUFFER:gce}=jm();function p$(n,e){if(n.length===0)return gce;if(n.length===1)return n[0];let t=Buffer.allocUnsafe(e);for(var r=0,i=0;i<n.length;i++){let o=n[i];o.copy(t,r),r+=o.length}return t}function m$(n,e,t,r,i){for(var o=0;o<i;o++)t[r+o]=n[o]^e[o&3]}function f$(n,e){let t=n.length;for(var r=0;r<t;r++)n[r]^=e[r&3]}function h$(n){return n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)}function CD(n){if(CD.readOnly=!0,Buffer.isBuffer(n))return n;var e;return n instanceof ArrayBuffer?e=Buffer.from(n):ArrayBuffer.isView(n)?e=vce(n):(e=Buffer.from(n),CD.readOnly=!1),e}function vce(n){let e=Buffer.from(n.buffer);return n.byteLength!==n.buffer.byteLength?e.slice(n.byteOffset,n.byteOffset+n.byteLength):e}try{let n=d$(),e=n.BufferUtil||n;xK.exports={concat:p$,mask(t,r,i,o,s){s<48?m$(t,r,i,o,s):e.mask(t,r,i,o,s)},toArrayBuffer:h$,toBuffer:CD,unmask(t,r){t.length<32?f$(t,r):e.unmask(t,r)}}}catch{xK.exports={concat:p$,mask:m$,toArrayBuffer:h$,toBuffer:CD,unmask:f$}}});var GC=O((TBe,I$)=>{"use strict";var yce=$7(),HC=require("zlib"),g$=wD(),{kStatusCode:v$,NOOP:bce}=jm(),Ice=Buffer.from([0,0,255,255]),Sce=Buffer.from([0]),PD=Symbol("permessage-deflate"),qc=Symbol("total-length"),y$=Symbol("callback"),Bd=Symbol("buffers"),DK=Symbol("error"),ED,_K=class{constructor(e,t,r){if(this._maxPayload=r|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!ED){let i=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;ED=new yce({concurrency:i})}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate&&(this._deflate.close(),this._deflate=null)}acceptAsServer(e){let t=this._options,r=e.find(i=>!(t.serverNoContextTakeover===!1&&i.server_no_context_takeover||i.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>i.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!i.client_max_window_bits));if(!r)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(r.server_no_context_takeover=!0),t.clientNoContextTakeover&&(r.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(r.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?r.client_max_window_bits=t.clientMaxWindowBits:(r.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete r.client_max_window_bits,r}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(r=>{var i=t[r];if(i.length>1)throw new Error(`Parameter "${r}" must have only a single value`);if(i=i[0],r==="client_max_window_bits"){if(i!==!0){let o=+i;if(!Number.isInteger(o)||o<8||o>15)throw new TypeError(`Invalid value for parameter "${r}": ${i}`);i=o}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${r}": ${i}`)}else if(r==="server_max_window_bits"){let o=+i;if(!Number.isInteger(o)||o<8||o>15)throw new TypeError(`Invalid value for parameter "${r}": ${i}`);i=o}else if(r==="client_no_context_takeover"||r==="server_no_context_takeover"){if(i!==!0)throw new TypeError(`Invalid value for parameter "${r}": ${i}`)}else throw new Error(`Unknown parameter "${r}"`);t[r]=i})}),e}decompress(e,t,r){ED.push(i=>{this._decompress(e,t,(o,s)=>{i(),r(o,s)})})}compress(e,t,r){ED.push(i=>{this._compress(e,t,(o,s)=>{i(),r(o,s)})})}_decompress(e,t,r){let i=this._isServer?"client":"server";if(!this._inflate){let o=`${i}_max_window_bits`,s=typeof this.params[o]!="number"?HC.Z_DEFAULT_WINDOWBITS:this.params[o];this._inflate=HC.createInflateRaw(Object.assign({},this._options.zlibInflateOptions,{windowBits:s})),this._inflate[PD]=this,this._inflate[qc]=0,this._inflate[Bd]=[],this._inflate.on("error",wce),this._inflate.on("data",b$)}this._inflate[y$]=r,this._inflate.write(e),t&&this._inflate.write(Ice),this._inflate.flush(()=>{let o=this._inflate[DK];if(o){this._inflate.close(),this._inflate=null,r(o);return}let s=g$.concat(this._inflate[Bd],this._inflate[qc]);t&&this.params[`${i}_no_context_takeover`]?(this._inflate.close(),this._inflate=null):(this._inflate[qc]=0,this._inflate[Bd]=[]),r(null,s)})}_compress(e,t,r){if(!e||e.length===0){process.nextTick(r,null,Sce);return}let i=this._isServer?"server":"client";if(!this._deflate){let o=`${i}_max_window_bits`,s=typeof this.params[o]!="number"?HC.Z_DEFAULT_WINDOWBITS:this.params[o];this._deflate=HC.createDeflateRaw(Object.assign({},this._options.zlibDeflateOptions,{windowBits:s})),this._deflate[qc]=0,this._deflate[Bd]=[],this._deflate.on("error",bce),this._deflate.on("data",Cce)}this._deflate.write(e),this._deflate.flush(HC.Z_SYNC_FLUSH,()=>{if(this._deflate){var o=g$.concat(this._deflate[Bd],this._deflate[qc]);t&&(o=o.slice(0,o.length-4)),t&&this.params[`${i}_no_context_takeover`]?(this._deflate.close(),this._deflate=null):(this._deflate[qc]=0,this._deflate[Bd]=[]),r(null,o)}})}};I$.exports=_K;function Cce(n){this[Bd].push(n),this[qc]+=n.length}function b$(n){if(this[qc]+=n.length,this[PD]._maxPayload<1||this[qc]<=this[PD]._maxPayload){this[Bd].push(n);return}this[DK]=new RangeError("Max payload size exceeded"),this[DK][v$]=1009,this.removeListener("data",b$),this.reset()}function wce(n){this[PD]._inflate=null,n[v$]=1007,this[y$](n)}});var C$=O((RBe,S$)=>{"use strict";var Yv=class{constructor(e,t){this.target=t,this.type=e}},TK=class extends Yv{constructor(e,t){super("message",t),this.data=e}},RK=class extends Yv{constructor(e,t,r){super("close",r),this.wasClean=r._closeFrameReceived&&r._closeFrameSent,this.reason=t,this.code=e}},AK=class extends Yv{constructor(e){super("open",e)}},NK=class extends Yv{constructor(e,t){super("error",t),this.message=e.message,this.error=e}},Ece={addEventListener(n,e){if(typeof e!="function")return;function t(s){e.call(this,new TK(s,this))}function r(s,a){e.call(this,new RK(s,a,this))}function i(s){e.call(this,new NK(s,this))}function o(){e.call(this,new AK(this))}n==="message"?(t._listener=e,this.on(n,t)):n==="close"?(r._listener=e,this.on(n,r)):n==="error"?(i._listener=e,this.on(n,i)):n==="open"?(o._listener=e,this.on(n,o)):this.on(n,e)},removeEventListener(n,e){let t=this.listeners(n);for(var r=0;r<t.length;r++)(t[r]===e||t[r]._listener===e)&&this.removeListener(n,t[r])}};S$.exports=Ece});var MK=O((ABe,w$)=>{"use strict";var zC=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Ul(n,e,t){Object.prototype.hasOwnProperty.call(n,e)?n[e].push(t):n[e]=[t]}function Pce(n){let e={};if(n===void 0||n==="")return e;for(var t={},r=!1,i=!1,o=!1,s,a,l=-1,c=-1,u=0;u<n.length;u++){let g=n.charCodeAt(u);if(s===void 0)if(c===-1&&zC[g]===1)l===-1&&(l=u);else if(g===32||g===9)c===-1&&l!==-1&&(c=u);else if(g===59||g===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${u}`);c===-1&&(c=u);let b=n.slice(l,c);g===44?(Ul(e,b,t),t={}):s=b,l=c=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);else if(a===void 0)if(c===-1&&zC[g]===1)l===-1&&(l=u);else if(g===32||g===9)c===-1&&l!==-1&&(c=u);else if(g===59||g===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${u}`);c===-1&&(c=u),Ul(t,n.slice(l,c),!0),g===44&&(Ul(e,s,t),t={},s=void 0),l=c=-1}else if(g===61&&l!==-1&&c===-1)a=n.slice(l,u),l=c=-1;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(i){if(zC[g]!==1)throw new SyntaxError(`Unexpected character at index ${u}`);l===-1?l=u:r||(r=!0),i=!1}else if(o)if(zC[g]===1)l===-1&&(l=u);else if(g===34&&l!==-1)o=!1,c=u;else if(g===92)i=!0;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(g===34&&n.charCodeAt(u-1)===61)o=!0;else if(c===-1&&zC[g]===1)l===-1&&(l=u);else if(l!==-1&&(g===32||g===9))c===-1&&(c=u);else if(g===59||g===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${u}`);c===-1&&(c=u);var d=n.slice(l,c);r&&(d=d.replace(/\\/g,""),r=!1),Ul(t,a,d),g===44&&(Ul(e,s,t),t={},s=void 0),a=void 0,l=c=-1}else throw new SyntaxError(`Unexpected character at index ${u}`)}if(l===-1||o)throw new SyntaxError("Unexpected end of input");c===-1&&(c=u);let f=n.slice(l,c);return s===void 0?Ul(e,f,{}):(a===void 0?Ul(t,f,!0):r?Ul(t,a,f.replace(/\\/g,"")):Ul(t,a,f),Ul(e,s,t)),e}function kce(n){return Object.keys(n).map(e=>{var t=n[e];return Array.isArray(t)||(t=[t]),t.map(r=>[e].concat(Object.keys(r).map(i=>{var o=r[i];return Array.isArray(o)||(o=[o]),o.map(s=>s===!0?i:`${i}=${s}`).join("; ")})).join("; ")).join(", ")}).join(", ")}w$.exports={format:kce,parse:Pce}});var P$=O((NBe,E$)=>{"use strict";function xce(n){let e=n.length,t=0;for(;t<e;)if(!(n[t]&128))t++;else if((n[t]&224)===192){if(t+1===e||(n[t+1]&192)!==128||(n[t]&254)===192)return!1;t+=2}else if((n[t]&240)===224){if(t+2>=e||(n[t+1]&192)!==128||(n[t+2]&192)!==128||n[t]===224&&(n[t+1]&224)===128||n[t]===237&&(n[t+1]&224)===160)return!1;t+=3}else if((n[t]&248)===240){if(t+3>=e||(n[t+1]&192)!==128||(n[t+2]&192)!==128||(n[t+3]&192)!==128||n[t]===240&&(n[t+1]&240)===128||n[t]===244&&n[t+1]>143||n[t]>244)return!1;t+=4}else return!1;return!0}E$.exports=xce});var k$=O((MBe,KK)=>{"use strict";try{KK.exports=PK()(__dirname)}catch{KK.exports=P$()}});var OK=O(kD=>{"use strict";try{let n=k$();kD.isValidUTF8=typeof n=="object"?n.Validation.isValidUTF8:n}catch{kD.isValidUTF8=()=>!0}kD.isValidStatusCode=n=>n>=1e3&&n<=1013&&n!==1004&&n!==1005&&n!==1006||n>=3e3&&n<=4999});var WK=O((OBe,A$)=>{"use strict";var{Writable:Dce}=require("stream"),x$=GC(),{BINARY_TYPES:_ce,EMPTY_BUFFER:Tce,kStatusCode:Rce,kWebSocket:Ace}=jm(),{concat:FK,toArrayBuffer:Nce,unmask:Mce}=wD(),{isValidStatusCode:Kce,isValidUTF8:D$}=OK(),QC=0,_$=1,T$=2,R$=3,LK=4,Oce=5,UK=class extends Dce{constructor(e,t,r){super(),this._binaryType=e||_ce[0],this[Ace]=void 0,this._extensions=t||{},this._maxPayload=r|0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=QC,this._loop=!1}_write(e,t,r){if(this._opcode===8&&this._state==QC)return r();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(r)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let r=this._buffers[0];return this._buffers[0]=r.slice(e),r.slice(0,e)}let t=Buffer.allocUnsafe(e);do{let r=this._buffers[0];e>=r.length?this._buffers.shift().copy(t,t.length-e):(r.copy(t,t.length-e,0,e),this._buffers[0]=r.slice(e)),e-=r.length}while(e>0);return t}startLoop(e){var t;this._loop=!0;do switch(this._state){case QC:t=this.getInfo();break;case _$:t=this.getPayloadLength16();break;case T$:t=this.getPayloadLength64();break;case R$:this.getMask();break;case LK:t=this.getData(e);break;default:this._loop=!1;return}while(this._loop);e(t)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let e=this.consume(2);if(e[0]&48)return this._loop=!1,si(RangeError,"RSV2 and RSV3 must be clear",!0,1002);let t=(e[0]&64)===64;if(t&&!this._extensions[x$.extensionName])return this._loop=!1,si(RangeError,"RSV1 must be clear",!0,1002);if(this._fin=(e[0]&128)===128,this._opcode=e[0]&15,this._payloadLength=e[1]&127,this._opcode===0){if(t)return this._loop=!1,si(RangeError,"RSV1 must be clear",!0,1002);if(!this._fragmented)return this._loop=!1,si(RangeError,"invalid opcode 0",!0,1002);this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented)return this._loop=!1,si(RangeError,`invalid opcode ${this._opcode}`,!0,1002);this._compressed=t}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,si(RangeError,"FIN must be set",!0,1002);if(t)return this._loop=!1,si(RangeError,"RSV1 must be clear",!0,1002);if(this._payloadLength>125)return this._loop=!1,si(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002)}else return this._loop=!1,si(RangeError,`invalid opcode ${this._opcode}`,!0,1002);if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(e[1]&128)===128,this._payloadLength===126)this._state=_$;else if(this._payloadLength===127)this._state=T$;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=!1;return}return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=!1;return}let e=this.consume(8),t=e.readUInt32BE(0);return t>Math.pow(2,53-32)-1?(this._loop=!1,si(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009)):(this._payloadLength=t*Math.pow(2,32)+e.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,si(RangeError,"Max payload size exceeded",!1,1009);this._masked?this._state=R$:this._state=LK}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=LK}getData(e){var t=Tce;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&Mce(t,this._mask)}if(this._opcode>7)return this.controlMessage(t);if(this._compressed){this._state=Oce,this.decompress(t,e);return}return t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage()}decompress(e,t){this._extensions[x$.extensionName].decompress(e,this._fin,(i,o)=>{if(i)return t(i);if(o.length){if(this._messageLength+=o.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return t(si(RangeError,"Max payload size exceeded",!1,1009));this._fragments.push(o)}let s=this.dataMessage();if(s)return t(s);this.startLoop(t)})}dataMessage(){if(this._fin){let t=this._messageLength,r=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){var e;this._binaryType==="nodebuffer"?e=FK(r,t):this._binaryType==="arraybuffer"?e=Nce(FK(r,t)):e=r,this.emit("message",e)}else{let i=FK(r,t);if(!D$(i))return this._loop=!1,si(Error,"invalid UTF-8 sequence",!0,1007);this.emit("message",i.toString())}}this._state=QC}controlMessage(e){if(this._opcode===8)if(this._loop=!1,e.length===0)this.emit("conclude",1005,""),this.end();else{if(e.length===1)return si(RangeError,"invalid payload length 1",!0,1002);{let t=e.readUInt16BE(0);if(!Kce(t))return si(RangeError,`invalid status code ${t}`,!0,1002);let r=e.slice(2);if(!D$(r))return si(Error,"invalid UTF-8 sequence",!0,1007);this.emit("conclude",t,r.toString()),this.end()}}else this._opcode===9?this.emit("ping",e):this.emit("pong",e);this._state=QC}};A$.exports=UK;function si(n,e,t,r){let i=new n(t?`Invalid WebSocket frame: ${e}`:e);return Error.captureStackTrace(i,si),i[Rce]=r,i}});var jK=O((FBe,K$)=>{"use strict";var{randomBytes:Fce}=require("crypto"),N$=GC(),{EMPTY_BUFFER:Lce}=jm(),{isValidStatusCode:Uce}=OK(),{mask:M$,toBuffer:Hc}=wD(),VK=class n{constructor(e,t){this._extensions=t||{},this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(e,t){let r=t.mask&&t.readOnly;var i=t.mask?6:2,o=e.length;e.length>=65536?(i+=8,o=127):e.length>125&&(i+=2,o=126);let s=Buffer.allocUnsafe(r?e.length+i:i);if(s[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(s[0]|=64),s[1]=o,o===126?s.writeUInt16BE(e.length,2):o===127&&(s.writeUInt32BE(0,2),s.writeUInt32BE(e.length,6)),!t.mask)return[s,e];let a=Fce(4);return s[1]|=128,s[i-4]=a[0],s[i-3]=a[1],s[i-2]=a[2],s[i-1]=a[3],r?(M$(e,a,s,i,e.length),[s]):(M$(e,a,e,0,e.length),[s,e])}close(e,t,r,i){var o;if(e===void 0)o=Lce;else{if(typeof e!="number"||!Uce(e))throw new TypeError("First argument must be a valid error code number");t===void 0||t===""?(o=Buffer.allocUnsafe(2),o.writeUInt16BE(e,0)):(o=Buffer.allocUnsafe(2+Buffer.byteLength(t)),o.writeUInt16BE(e,0),o.write(t,2))}this._deflating?this.enqueue([this.doClose,o,r,i]):this.doClose(o,r,i)}doClose(e,t,r){this.sendFrame(n.frame(e,{fin:!0,rsv1:!1,opcode:8,mask:t,readOnly:!1}),r)}ping(e,t,r){let i=Hc(e);this._deflating?this.enqueue([this.doPing,i,t,Hc.readOnly,r]):this.doPing(i,t,Hc.readOnly,r)}doPing(e,t,r,i){this.sendFrame(n.frame(e,{fin:!0,rsv1:!1,opcode:9,mask:t,readOnly:r}),i)}pong(e,t,r){let i=Hc(e);this._deflating?this.enqueue([this.doPong,i,t,Hc.readOnly,r]):this.doPong(i,t,Hc.readOnly,r)}doPong(e,t,r,i){this.sendFrame(n.frame(e,{fin:!0,rsv1:!1,opcode:10,mask:t,readOnly:r}),i)}send(e,t,r){let i=Hc(e),o=this._extensions[N$.extensionName];var s=t.binary?2:1,a=t.compress;if(this._firstFragment?(this._firstFragment=!1,a&&o&&(a=i.length>=o._threshold),this._compress=a):(a=!1,s=0),t.fin&&(this._firstFragment=!0),o){let l={fin:t.fin,rsv1:a,opcode:s,mask:t.mask,readOnly:Hc.readOnly};this._deflating?this.enqueue([this.dispatch,i,this._compress,l,r]):this.dispatch(i,this._compress,l,r)}else this.sendFrame(n.frame(i,{fin:t.fin,rsv1:!1,opcode:s,mask:t.mask,readOnly:Hc.readOnly}),r)}dispatch(e,t,r,i){if(!t){this.sendFrame(n.frame(e,r),i);return}let o=this._extensions[N$.extensionName];this._deflating=!0,o.compress(e,r.fin,(s,a)=>{this._deflating=!1,r.readOnly=!1,this.sendFrame(n.frame(a,r),i),this.dequeue()})}dequeue(){for(;!this._deflating&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[1].length,e[0].apply(this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[1].length,this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};K$.exports=VK});var $K=O((LBe,q$)=>{"use strict";var Wce=require("events"),O$=require("crypto"),Vce=require("https"),jce=require("http"),Jce=require("net"),Bce=require("tls"),Xv=require("url"),$d=GC(),W$=C$(),F$=MK(),$ce=WK(),qce=jK(),{BINARY_TYPES:L$,EMPTY_BUFFER:JK,GUID:Hce,kStatusCode:Gce,kWebSocket:So,NOOP:V$}=jm(),xD=["CONNECTING","OPEN","CLOSING","CLOSED"],BK=[8,13],zce=30*1e3,Co=class n extends Wce{constructor(e,t,r){super(),this.readyState=n.CONNECTING,this.protocol="",this._binaryType=L$[0],this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._closeCode=1006,this._extensions={},this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._isServer=!1,this._redirects=0,Array.isArray(t)?t=t.join(", "):typeof t=="object"&&t!==null&&(r=t,t=void 0),j$(this,e,t,r)):this._isServer=!0}get CONNECTING(){return n.CONNECTING}get CLOSING(){return n.CLOSING}get CLOSED(){return n.CLOSED}get OPEN(){return n.OPEN}get binaryType(){return this._binaryType}set binaryType(e){L$.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?(this._socket.bufferSize||0)+this._sender._bufferedBytes:0}get extensions(){return Object.keys(this._extensions).join()}setSocket(e,t,r){let i=new $ce(this._binaryType,this._extensions,r);this._sender=new qce(e,this._extensions),this._receiver=i,this._socket=e,i[So]=this,e[So]=this,i.on("conclude",Xce),i.on("drain",Zce),i.on("error",eue),i.on("message",tue),i.on("ping",rue),i.on("pong",nue),e.setTimeout(0),e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",J$),e.on("data",DD),e.on("end",B$),e.on("error",$$),this.readyState=n.OPEN,this.emit("open")}emitClose(){if(this.readyState=n.CLOSED,!this._socket){this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[$d.extensionName]&&this._extensions[$d.extensionName].cleanup(),this._receiver.removeAllListeners(),this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==n.CLOSED){if(this.readyState===n.CONNECTING){let r="WebSocket was closed before the connection was established";return Gc(this,this._req,r)}if(this.readyState===n.CLOSING){this._closeFrameSent&&this._closeFrameReceived&&this._socket.end();return}this.readyState=n.CLOSING,this._sender.close(e,t,!this._isServer,r=>{r||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),zce)}}ping(e,t,r){if(typeof e=="function"?(r=e,e=t=void 0):typeof t=="function"&&(r=t,t=void 0),this.readyState!==n.OPEN){let i=new Error(`WebSocket is not open: readyState ${this.readyState} (${xD[this.readyState]})`);if(r)return r(i);throw i}typeof e=="number"&&(e=e.toString()),t===void 0&&(t=!this._isServer),this._sender.ping(e||JK,t,r)}pong(e,t,r){if(typeof e=="function"?(r=e,e=t=void 0):typeof t=="function"&&(r=t,t=void 0),this.readyState!==n.OPEN){let i=new Error(`WebSocket is not open: readyState ${this.readyState} (${xD[this.readyState]})`);if(r)return r(i);throw i}typeof e=="number"&&(e=e.toString()),t===void 0&&(t=!this._isServer),this._sender.pong(e||JK,t,r)}send(e,t,r){if(typeof t=="function"&&(r=t,t={}),this.readyState!==n.OPEN){let o=new Error(`WebSocket is not open: readyState ${this.readyState} (${xD[this.readyState]})`);if(r)return r(o);throw o}typeof e=="number"&&(e=e.toString());let i=Object.assign({binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0},t);this._extensions[$d.extensionName]||(i.compress=!1),this._sender.send(e||JK,i,r)}terminate(){if(this.readyState!==n.CLOSED){if(this.readyState===n.CONNECTING){let e="WebSocket was closed before the connection was established";return Gc(this,this._req,e)}this._socket&&(this.readyState=n.CLOSING,this._socket.destroy())}}};xD.forEach((n,e)=>{Co[n]=e});["open","error","close","message"].forEach(n=>{Object.defineProperty(Co.prototype,`on${n}`,{get(){let e=this.listeners(n);for(var t=0;t<e.length;t++)if(e[t]._listener)return e[t]._listener},set(e){let t=this.listeners(n);for(var r=0;r<t.length;r++)t[r]._listener&&this.removeListener(n,t[r]);this.addEventListener(n,e)}})});Co.prototype.addEventListener=W$.addEventListener;Co.prototype.removeEventListener=W$.removeEventListener;q$.exports=Co;function j$(n,e,t,r){let i=Object.assign({protocolVersion:BK[1],maxPayload:104857600,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10},r,{createConnection:void 0,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:void 0,auth:void 0,host:void 0,path:void 0,port:void 0});if(!BK.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${BK.join(", ")})`);var o;typeof e=="object"&&e.href!==void 0?(o=e,n.url=e.href):(o=Xv.URL?new Xv.URL(e):Xv.parse(e),n.url=e);let s=o.protocol==="ws+unix:";if(!o.host&&(!s||!o.pathname))throw new Error(`Invalid URL: ${n.url}`);let a=o.protocol==="wss:"||o.protocol==="https:",l=a?443:80,c=O$.randomBytes(16).toString("base64"),u=a?Vce.get:jce.get,d=o.search?`${o.pathname||"/"}${o.search}`:o.pathname||"/";var f;if(i.createConnection=a?Yce:Qce,i.defaultPort=i.defaultPort||l,i.port=o.port||l,i.host=o.hostname.startsWith("[")?o.hostname.slice(1,-1):o.hostname,i.headers=Object.assign({"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":c,Connection:"Upgrade",Upgrade:"websocket"},i.headers),i.path=d,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(f=new $d(i.perMessageDeflate!==!0?i.perMessageDeflate:{},!1,i.maxPayload),i.headers["Sec-WebSocket-Extensions"]=F$.format({[$d.extensionName]:f.offer()})),t&&(i.headers["Sec-WebSocket-Protocol"]=t),i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),o.auth?i.auth=o.auth:(o.username||o.password)&&(i.auth=`${o.username}:${o.password}`),s){let b=d.split(":");i.socketPath=b[0],i.path=b[1]}var g=n._req=u(i);i.timeout&&g.on("timeout",()=>{Gc(n,g,"Opening handshake has timed out")}),g.on("error",b=>{n._req.aborted||(g=n._req=null,n.readyState=Co.CLOSING,n.emit("error",b),n.emitClose())}),g.on("response",b=>{let I=b.headers.location,E=b.statusCode;if(I&&i.followRedirects&&E>=300&&E<400){if(++n._redirects>i.maxRedirects){Gc(n,g,"Maximum redirects exceeded");return}g.abort();let x=Xv.URL?new Xv.URL(I,e):Xv.resolve(e,I);j$(n,x,t,r)}else n.emit("unexpected-response",g,b)||Gc(n,g,`Unexpected server response: ${b.statusCode}`)}),g.on("upgrade",(b,I,E)=>{if(n.emit("upgrade",b),n.readyState!==Co.CONNECTING)return;g=n._req=null;let x=O$.createHash("sha1").update(c+Hce).digest("base64");if(b.headers["sec-websocket-accept"]!==x){Gc(n,I,"Invalid Sec-WebSocket-Accept header");return}let A=b.headers["sec-websocket-protocol"],T=(t||"").split(/, */);var J;if(!t&&A?J="Server sent a subprotocol but none was requested":t&&!A?J="Server sent no subprotocol":A&&!T.includes(A)&&(J="Server sent an invalid subprotocol"),J){Gc(n,I,J);return}if(A&&(n.protocol=A),f)try{let ne=F$.parse(b.headers["sec-websocket-extensions"]);ne[$d.extensionName]&&(f.accept(ne[$d.extensionName]),n._extensions[$d.extensionName]=f)}catch{Gc(n,I,"Invalid Sec-WebSocket-Extensions header");return}n.setSocket(I,E,i.maxPayload)})}function Qce(n){return n.protocolVersion&&(n.path=n.socketPath),Jce.connect(n)}function Yce(n){return n.path=void 0,n.servername=n.servername||n.host,Bce.connect(n)}function Gc(n,e,t){n.readyState=Co.CLOSING;let r=new Error(t);Error.captureStackTrace(r,Gc),e.setHeader?(e.abort(),e.once("abort",n.emitClose.bind(n)),n.emit("error",r)):(e.destroy(r),e.once("error",n.emit.bind(n,"error")),e.once("close",n.emitClose.bind(n)))}function Xce(n,e){let t=this[So];t._socket.removeListener("data",DD),t._socket.resume(),t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=n,n===1005?t.close():t.close(n,e)}function Zce(){this[So]._socket.resume()}function eue(n){let e=this[So];e._socket.removeListener("data",DD),e.readyState=Co.CLOSING,e._closeCode=n[Gce],e.emit("error",n),e._socket.destroy()}function U$(){this[So].emitClose()}function tue(n){this[So].emit("message",n)}function rue(n){let e=this[So];e.pong(n,!e._isServer,V$),e.emit("ping",n)}function nue(n){this[So].emit("pong",n)}function J$(){let n=this[So];this.removeListener("close",J$),this.removeListener("end",B$),n.readyState=Co.CLOSING,n._socket.read(),n._receiver.end(),this.removeListener("data",DD),this[So]=void 0,clearTimeout(n._closeTimer),n._receiver._writableState.finished||n._receiver._writableState.errorEmitted?n.emitClose():(n._receiver.on("error",U$),n._receiver.on("finish",U$))}function DD(n){this[So]._receiver.write(n)||this.pause()}function B$(){let n=this[So];n.readyState=Co.CLOSING,n._receiver.end(),this.end()}function $$(){let n=this[So];this.removeListener("error",$$),this.on("error",V$),n.readyState=Co.CLOSING,this.destroy()}});var z$=O((UBe,G$)=>{"use strict";var iue=require("events"),oue=require("crypto"),TD=require("http"),Jm=GC(),H$=MK(),sue=$K(),{GUID:aue}=jm(),lue=/^[+/0-9A-Za-z]{22}==$/,qK=class extends iue{constructor(e,t){if(super(),e=Object.assign({maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null},e),e.port==null&&!e.server&&!e.noServer)throw new TypeError('One of the "port", "server", or "noServer" options must be specified');e.port!=null?(this._server=TD.createServer((r,i)=>{let o=TD.STATUS_CODES[426];i.writeHead(426,{"Content-Length":o.length,"Content-Type":"text/plain"}),i.end(o)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server&&(this._removeListeners=cue(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(r,i,o)=>{this.handleUpgrade(r,i,o,s=>{this.emit("connection",s,r)})}})),e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set),this.options=e}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(e&&this.once("close",e),this.clients)for(let r of this.clients)r.terminate();let t=this._server;if(t&&(this._removeListeners(),this._removeListeners=this._server=null,this.options.port!=null)){t.close(()=>this.emit("close"));return}process.nextTick(uue,this)}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,r,i){t.on("error",HK);let o=e.headers["sec-websocket-key"]!==void 0?e.headers["sec-websocket-key"].trim():!1,s=e.headers.upgrade,a=+e.headers["sec-websocket-version"],l={};if(e.method!=="GET"||s===void 0||s.toLowerCase()!=="websocket"||!o||!lue.test(o)||a!==8&&a!==13||!this.shouldHandle(e))return _D(t,400);if(this.options.perMessageDeflate){let c=new Jm(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let u=H$.parse(e.headers["sec-websocket-extensions"]);u[Jm.extensionName]&&(c.accept(u[Jm.extensionName]),l[Jm.extensionName]=c)}catch{return _D(t,400)}}if(this.options.verifyClient){let c={origin:e.headers[`${a===8?"sec-websocket-origin":"origin"}`],secure:!!(e.connection.authorized||e.connection.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(c,(u,d,f,g)=>{if(!u)return _D(t,d||401,f,g);this.completeUpgrade(o,l,e,t,r,i)});return}if(!this.options.verifyClient(c))return _D(t,401)}this.completeUpgrade(o,l,e,t,r,i)}completeUpgrade(e,t,r,i,o,s){if(!i.readable||!i.writable)return i.destroy();let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${oue.createHash("sha1").update(e+aue).digest("base64")}`],c=new sue(null);var u=r.headers["sec-websocket-protocol"];if(u&&(u=u.split(",").map(due),this.options.handleProtocols?u=this.options.handleProtocols(u,r):u=u[0],u&&(l.push(`Sec-WebSocket-Protocol: ${u}`),c.protocol=u)),t[Jm.extensionName]){let d=t[Jm.extensionName].params,f=H$.format({[Jm.extensionName]:[d]});l.push(`Sec-WebSocket-Extensions: ${f}`),c._extensions=t}this.emit("headers",l,r),i.write(l.concat(`\r
|
||
`).join(`\r
|
||
`)),i.removeListener("error",HK),c.setSocket(i,o,this.options.maxPayload),this.clients&&(this.clients.add(c),c.on("close",()=>this.clients.delete(c))),s(c)}};G$.exports=qK;function cue(n,e){for(let t of Object.keys(e))n.on(t,e[t]);return function(){for(let r of Object.keys(e))n.removeListener(r,e[r])}}function uue(n){n.emit("close")}function HK(){this.destroy()}function _D(n,e,t,r){n.writable&&(t=t||TD.STATUS_CODES[e],r=Object.assign({Connection:"close","Content-type":"text/html","Content-Length":Buffer.byteLength(t)},r),n.write(`HTTP/1.1 ${e} ${TD.STATUS_CODES[e]}\r
|
||
`+Object.keys(r).map(i=>`${i}: ${r[i]}`).join(`\r
|
||
`)+`\r
|
||
\r
|
||
`+t)),n.removeListener("error",HK),n.destroy()}function due(n){return n.trim()}});var Y$=O((WBe,Q$)=>{"use strict";var RD=$K();RD.Server=z$();RD.Receiver=WK();RD.Sender=jK();Q$.exports=RD});var Z$=O((VBe,X$)=>{"use strict";X$.exports=Y$()});var s8=O((OD,o8)=>{(function(n,e){typeof OD=="object"&&typeof o8<"u"?e(OD):typeof define=="function"&&define.amd?define(["exports"],e):(n=typeof globalThis<"u"?globalThis:n||self,e(n.lumino_algorithm={}))})(OD,function(n){"use strict";n.ArrayExt=void 0,function(F){function U(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=Z.length;if(Q===0)return-1;W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1);var Se;V<W?Se=V+1+(Q-W):Se=V-W+1;for(var Ae=0;Ae<Se;++Ae){var ir=(W+Ae)%Q;if(Z[ir]===le)return ir}return-1}F.firstIndexOf=U;function pe(Z,le,W,V){W===void 0&&(W=-1),V===void 0&&(V=0);var Q=Z.length;if(Q===0)return-1;W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1);var Se;W<V?Se=W+1+(Q-V):Se=W-V+1;for(var Ae=0;Ae<Se;++Ae){var ir=(W-Ae+Q)%Q;if(Z[ir]===le)return ir}return-1}F.lastIndexOf=pe;function Re(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=Z.length;if(Q===0)return-1;W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1);var Se;V<W?Se=V+1+(Q-W):Se=V-W+1;for(var Ae=0;Ae<Se;++Ae){var ir=(W+Ae)%Q;if(le(Z[ir],ir))return ir}return-1}F.findFirstIndex=Re;function ze(Z,le,W,V){W===void 0&&(W=-1),V===void 0&&(V=0);var Q=Z.length;if(Q===0)return-1;W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1);var Se;W<V?Se=W+1+(Q-V):Se=W-V+1;for(var Ae=0;Ae<Se;++Ae){var ir=(W-Ae+Q)%Q;if(le(Z[ir],ir))return ir}return-1}F.findLastIndex=ze;function Yr(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=Re(Z,le,W,V);return Q!==-1?Z[Q]:void 0}F.findFirstValue=Yr;function Wt(Z,le,W,V){W===void 0&&(W=-1),V===void 0&&(V=0);var Q=ze(Z,le,W,V);return Q!==-1?Z[Q]:void 0}F.findLastValue=Wt;function Mt(Z,le,W,V,Q){V===void 0&&(V=0),Q===void 0&&(Q=-1);var Se=Z.length;if(Se===0)return 0;V<0?V=Math.max(0,V+Se):V=Math.min(V,Se-1),Q<0?Q=Math.max(0,Q+Se):Q=Math.min(Q,Se-1);for(var Ae=V,ir=Q-V+1;ir>0;){var mi=ir>>1,hc=Ae+mi;W(Z[hc],le)<0?(Ae=hc+1,ir-=mi+1):ir=mi}return Ae}F.lowerBound=Mt;function xt(Z,le,W,V,Q){V===void 0&&(V=0),Q===void 0&&(Q=-1);var Se=Z.length;if(Se===0)return 0;V<0?V=Math.max(0,V+Se):V=Math.min(V,Se-1),Q<0?Q=Math.max(0,Q+Se):Q=Math.min(Q,Se-1);for(var Ae=V,ir=Q-V+1;ir>0;){var mi=ir>>1,hc=Ae+mi;W(Z[hc],le)>0?ir=mi:(Ae=hc+1,ir-=mi+1)}return Ae}F.upperBound=xt;function yr(Z,le,W){if(Z===le)return!0;if(Z.length!==le.length)return!1;for(var V=0,Q=Z.length;V<Q;++V)if(W?!W(Z[V],le[V]):Z[V]!==le[V])return!1;return!0}F.shallowEqual=yr;function Lr(Z,le){le===void 0&&(le={});var W=le.start,V=le.stop,Q=le.step;if(Q===void 0&&(Q=1),Q===0)throw new Error("Slice `step` cannot be zero.");var Se=Z.length;W===void 0?W=Q<0?Se-1:0:W<0?W=Math.max(W+Se,Q<0?-1:0):W>=Se&&(W=Q<0?Se-1:Se),V===void 0?V=Q<0?-1:Se:V<0?V=Math.max(V+Se,Q<0?-1:0):V>=Se&&(V=Q<0?Se-1:Se);var Ae;Q<0&&V>=W||Q>0&&W>=V?Ae=0:Q<0?Ae=Math.floor((V-W+1)/Q+1):Ae=Math.floor((V-W-1)/Q+1);for(var ir=[],mi=0;mi<Ae;++mi)ir[mi]=Z[W+mi*Q];return ir}F.slice=Lr;function wr(Z,le,W){var V=Z.length;if(!(V<=1)&&(le<0?le=Math.max(0,le+V):le=Math.min(le,V-1),W<0?W=Math.max(0,W+V):W=Math.min(W,V-1),le!==W)){for(var Q=Z[le],Se=le<W?1:-1,Ae=le;Ae!==W;Ae+=Se)Z[Ae]=Z[Ae+Se];Z[W]=Q}}F.move=wr;function Xr(Z,le,W){le===void 0&&(le=0),W===void 0&&(W=-1);var V=Z.length;if(!(V<=1))for(le<0?le=Math.max(0,le+V):le=Math.min(le,V-1),W<0?W=Math.max(0,W+V):W=Math.min(W,V-1);le<W;){var Q=Z[le],Se=Z[W];Z[le++]=Se,Z[W--]=Q}}F.reverse=Xr;function $(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=Z.length;if(!(Q<=1)&&(W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1),!(W>=V))){var Se=V-W+1;if(le>0?le=le%Se:le<0&&(le=(le%Se+Se)%Se),le!==0){var Ae=W+le;Xr(Z,W,Ae-1),Xr(Z,Ae,V),Xr(Z,W,V)}}}F.rotate=$;function X(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=Z.length;if(Q!==0){W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1);var Se;V<W?Se=V+1+(Q-W):Se=V-W+1;for(var Ae=0;Ae<Se;++Ae)Z[(W+Ae)%Q]=le}}F.fill=X;function ue(Z,le,W){var V=Z.length;le<0?le=Math.max(0,le+V):le=Math.min(le,V);for(var Q=V;Q>le;--Q)Z[Q]=Z[Q-1];Z[le]=W}F.insert=ue;function ve(Z,le){var W=Z.length;if(le<0&&(le+=W),!(le<0||le>=W)){for(var V=Z[le],Q=le+1;Q<W;++Q)Z[Q-1]=Z[Q];return Z.length=W-1,V}}F.removeAt=ve;function Je(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=U(Z,le,W,V);return Q!==-1&&ve(Z,Q),Q}F.removeFirstOf=Je;function Zr(Z,le,W,V){W===void 0&&(W=-1),V===void 0&&(V=0);var Q=pe(Z,le,W,V);return Q!==-1&&ve(Z,Q),Q}F.removeLastOf=Zr;function bt(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=Z.length;if(Q===0)return 0;W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1);for(var Se=0,Ae=0;Ae<Q;++Ae)W<=V&&Ae>=W&&Ae<=V&&Z[Ae]===le||V<W&&(Ae<=V||Ae>=W)&&Z[Ae]===le?Se++:Se>0&&(Z[Ae-Se]=Z[Ae]);return Se>0&&(Z.length=Q-Se),Se}F.removeAllOf=bt;function wt(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q,Se=Re(Z,le,W,V);return Se!==-1&&(Q=ve(Z,Se)),{index:Se,value:Q}}F.removeFirstWhere=wt;function Qe(Z,le,W,V){W===void 0&&(W=-1),V===void 0&&(V=0);var Q,Se=ze(Z,le,W,V);return Se!==-1&&(Q=ve(Z,Se)),{index:Se,value:Q}}F.removeLastWhere=Qe;function At(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=Z.length;if(Q===0)return 0;W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1);for(var Se=0,Ae=0;Ae<Q;++Ae)W<=V&&Ae>=W&&Ae<=V&&le(Z[Ae],Ae)||V<W&&(Ae<=V||Ae>=W)&&le(Z[Ae],Ae)?Se++:Se>0&&(Z[Ae-Se]=Z[Ae]);return Se>0&&(Z.length=Q-Se),Se}F.removeAllWhere=At}(n.ArrayExt||(n.ArrayExt={}));function e(F){var U;return typeof F.iter=="function"?U=F.iter():U=new d(F),U}function t(F){return new f(F)}function r(F){return new g(F)}function i(F){return new b(F)}function o(F){return new I(F)}function s(F,U){for(var pe=0,Re=e(F),ze;(ze=Re.next())!==void 0;)if(U(ze,pe++)===!1)return}function a(F,U){for(var pe=0,Re=e(F),ze;(ze=Re.next())!==void 0;)if(!U(ze,pe++))return!1;return!0}function l(F,U){for(var pe=0,Re=e(F),ze;(ze=Re.next())!==void 0;)if(U(ze,pe++))return!0;return!1}function c(F){for(var U=0,pe=[],Re=e(F),ze;(ze=Re.next())!==void 0;)pe[U++]=ze;return pe}function u(F){for(var U=e(F),pe,Re={};(pe=U.next())!==void 0;)Re[pe[0]]=pe[1];return Re}var d=function(){function F(U){this._index=0,this._source=U}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source);return U._index=this._index,U},F.prototype.next=function(){if(!(this._index>=this._source.length))return this._source[this._index++]},F}(),f=function(){function F(U,pe){pe===void 0&&(pe=Object.keys(U)),this._index=0,this._source=U,this._keys=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source,this._keys);return U._index=this._index,U},F.prototype.next=function(){if(!(this._index>=this._keys.length)){var U=this._keys[this._index++];return U in this._source?U:this.next()}},F}(),g=function(){function F(U,pe){pe===void 0&&(pe=Object.keys(U)),this._index=0,this._source=U,this._keys=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source,this._keys);return U._index=this._index,U},F.prototype.next=function(){if(!(this._index>=this._keys.length)){var U=this._keys[this._index++];return U in this._source?this._source[U]:this.next()}},F}(),b=function(){function F(U,pe){pe===void 0&&(pe=Object.keys(U)),this._index=0,this._source=U,this._keys=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source,this._keys);return U._index=this._index,U},F.prototype.next=function(){if(!(this._index>=this._keys.length)){var U=this._keys[this._index++];return U in this._source?[U,this._source[U]]:this.next()}},F}(),I=function(){function F(U){this._fn=U}return F.prototype.iter=function(){return this},F.prototype.clone=function(){throw new Error("An `FnIterator` cannot be cloned.")},F.prototype.next=function(){return this._fn.call(void 0)},F}();function E(){for(var F=[],U=0;U<arguments.length;U++)F[U]=arguments[U];return new x(e(F.map(e)))}var x=function(){function F(U){this._cloned=!1,this._source=U,this._active=void 0}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source.clone());return U._active=this._active&&this._active.clone(),U._cloned=!0,this._cloned=!0,U},F.prototype.next=function(){if(this._active===void 0){var U=this._source.next();if(U===void 0)return;this._active=this._cloned?U.clone():U}var pe=this._active.next();return pe!==void 0?pe:(this._active=void 0,this.next())},F}();function A(){return new T}var T=function(){function F(){}return F.prototype.iter=function(){return this},F.prototype.clone=function(){return new F},F.prototype.next=function(){},F}();function J(F,U){return U===void 0&&(U=0),new ne(e(F),U)}var ne=function(){function F(U,pe){this._source=U,this._index=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){return new F(this._source.clone(),this._index)},F.prototype.next=function(){var U=this._source.next();if(U!==void 0)return[this._index++,U]},F}();function H(F,U){return new oe(e(F),U)}var oe=function(){function F(U,pe){this._index=0,this._source=U,this._fn=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source.clone(),this._fn);return U._index=this._index,U},F.prototype.next=function(){for(var U=this._fn,pe=this._source,Re;(Re=pe.next())!==void 0;)if(U(Re,this._index++))return Re},F}();function ae(F,U){for(var pe=0,Re=e(F),ze;(ze=Re.next())!==void 0;)if(U(ze,pe++))return ze}function Y(F,U){for(var pe=0,Re=e(F),ze;(ze=Re.next())!==void 0;)if(U(ze,pe++))return pe-1;return-1}function Ie(F,U){var pe=e(F),Re=pe.next();if(Re!==void 0){for(var ze=Re;(Re=pe.next())!==void 0;)U(Re,ze)<0&&(ze=Re);return ze}}function Ke(F,U){var pe=e(F),Re=pe.next();if(Re!==void 0){for(var ze=Re;(Re=pe.next())!==void 0;)U(Re,ze)>0&&(ze=Re);return ze}}function pt(F,U){var pe=e(F),Re=pe.next();if(Re!==void 0){for(var ze=Re,Yr=Re;(Re=pe.next())!==void 0;)U(Re,ze)<0?ze=Re:U(Re,Yr)>0&&(Yr=Re);return[ze,Yr]}}function mt(F,U){return new kt(e(F),U)}var kt=function(){function F(U,pe){this._index=0,this._source=U,this._fn=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source.clone(),this._fn);return U._index=this._index,U},F.prototype.next=function(){var U=this._source.next();if(U!==void 0)return this._fn.call(void 0,U,this._index++)},F}();function ee(F,U,pe){return U===void 0?new Ee(0,F,1):pe===void 0?new Ee(F,U,1):new Ee(F,U,pe)}var Ee=function(){function F(U,pe,Re){this._index=0,this._start=U,this._stop=pe,this._step=Re,this._length=Te.rangeLength(U,pe,Re)}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._start,this._stop,this._step);return U._index=this._index,U},F.prototype.next=function(){if(!(this._index>=this._length))return this._start+this._step*this._index++},F}(),Te;(function(F){function U(pe,Re,ze){return ze===0?1/0:pe>Re&&ze>0||pe<Re&&ze<0?0:Math.ceil((Re-pe)/ze)}F.rangeLength=U})(Te||(Te={}));function he(F,U,pe){var Re=0,ze=e(F),Yr=ze.next();if(Yr===void 0&&pe===void 0)throw new TypeError("Reduce of empty iterable with no initial value.");if(Yr===void 0)return pe;var Wt=ze.next();if(Wt===void 0&&pe===void 0)return Yr;if(Wt===void 0)return U(pe,Yr,Re++);var Mt;pe===void 0?Mt=U(Yr,Wt,Re++):Mt=U(U(pe,Yr,Re++),Wt,Re++);for(var xt;(xt=ze.next())!==void 0;)Mt=U(Mt,xt,Re++);return Mt}function ht(F,U){return new nr(F,U)}function Fi(F){return new nr(F,1)}var nr=function(){function F(U,pe){this._value=U,this._count=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){return new F(this._value,this._count)},F.prototype.next=function(){if(!(this._count<=0))return this._count--,this._value},F}();function pi(F){var U;return typeof F.retro=="function"?U=F.retro():U=new Du(F),U}var Du=function(){function F(U){this._source=U,this._index=U.length-1}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source);return U._index=this._index,U},F.prototype.next=function(){if(!(this._index<0||this._index>=this._source.length))return this._source[this._index--]},F}();function Fr(F){var U=[],pe=new Set,Re=new Map;return s(F,ze),Re.forEach(function(Wt,Mt){Yr(Mt)}),U;function ze(Wt){var Mt=Wt[0],xt=Wt[1],yr=Re.get(xt);yr?yr.push(Mt):Re.set(xt,[Mt])}function Yr(Wt){if(!pe.has(Wt)){pe.add(Wt);var Mt=Re.get(Wt);Mt&&Mt.forEach(Yr),U.push(Wt)}}}function zs(F,U){return new Ka(e(F),U)}var Ka=function(){function F(U,pe){this._source=U,this._step=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){return new F(this._source.clone(),this._step)},F.prototype.next=function(){for(var U=this._source.next(),pe=this._step-1;pe>0;--pe)this._source.next();return U},F}();n.StringExt=void 0,function(F){function U(Wt,Mt,xt){xt===void 0&&(xt=0);for(var yr=new Array(Mt.length),Lr=0,wr=xt,Xr=Mt.length;Lr<Xr;++Lr,++wr){if(wr=Wt.indexOf(Mt[Lr],wr),wr===-1)return null;yr[Lr]=wr}return yr}F.findIndices=U;function pe(Wt,Mt,xt){xt===void 0&&(xt=0);var yr=U(Wt,Mt,xt);if(!yr)return null;for(var Lr=0,wr=0,Xr=yr.length;wr<Xr;++wr){var $=yr[wr]-xt;Lr+=$*$}return{score:Lr,indices:yr}}F.matchSumOfSquares=pe;function Re(Wt,Mt,xt){xt===void 0&&(xt=0);var yr=U(Wt,Mt,xt);if(!yr)return null;for(var Lr=0,wr=xt-1,Xr=0,$=yr.length;Xr<$;++Xr){var X=yr[Xr];Lr+=X-wr-1,wr=X}return{score:Lr,indices:yr}}F.matchSumOfDeltas=Re;function ze(Wt,Mt,xt){for(var yr=[],Lr=0,wr=0,Xr=Mt.length;Lr<Xr;){for(var $=Mt[Lr],X=Mt[Lr];++Lr<Xr&&Mt[Lr]===X+1;)X++;wr<$&&yr.push(Wt.slice(wr,$)),$<X+1&&yr.push(xt(Wt.slice($,X+1))),wr=X+1}return wr<Wt.length&&yr.push(Wt.slice(wr)),yr}F.highlight=ze;function Yr(Wt,Mt){return Wt<Mt?-1:Wt>Mt?1:0}F.cmp=Yr}(n.StringExt||(n.StringExt={}));function Nt(F,U){return new Li(e(F),U)}var Li=function(){function F(U,pe){this._source=U,this._count=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){return new F(this._source.clone(),this._count)},F.prototype.next=function(){if(!(this._count<=0)){var U=this._source.next();if(U!==void 0)return this._count--,U}},F}();function zn(){for(var F=[],U=0;U<arguments.length;U++)F[U]=arguments[U];return new fc(F.map(e))}var fc=function(){function F(U){this._source=U}return F.prototype.iter=function(){return this},F.prototype.clone=function(){return new F(this._source.map(function(U){return U.clone()}))},F.prototype.next=function(){for(var U=new Array(this._source.length),pe=0,Re=this._source.length;pe<Re;++pe){var ze=this._source[pe].next();if(ze===void 0)return;U[pe]=ze}return U},F}();n.ArrayIterator=d,n.ChainIterator=x,n.EmptyIterator=T,n.EnumerateIterator=ne,n.FilterIterator=oe,n.FnIterator=I,n.ItemIterator=b,n.KeyIterator=f,n.MapIterator=kt,n.RangeIterator=Ee,n.RepeatIterator=nr,n.RetroArrayIterator=Du,n.StrideIterator=Ka,n.TakeIterator=Li,n.ValueIterator=g,n.ZipIterator=fc,n.chain=E,n.each=s,n.empty=A,n.enumerate=J,n.every=a,n.filter=H,n.find=ae,n.findIndex=Y,n.iter=e,n.iterFn=o,n.iterItems=i,n.iterKeys=t,n.iterValues=r,n.map=mt,n.max=Ke,n.min=Ie,n.minmax=pt,n.once=Fi,n.range=ee,n.reduce=he,n.repeat=ht,n.retro=pi,n.some=l,n.stride=zs,n.take=Nt,n.toArray=c,n.toObject=u,n.topologicSort=Fr,n.zip=zn,Object.defineProperty(n,"__esModule",{value:!0})})});var l8=O((FD,a8)=>{(function(n,e){typeof FD=="object"&&typeof a8<"u"?e(FD):typeof define=="function"&&define.amd?define(["exports"],e):(n=typeof globalThis<"u"?globalThis:n||self,e(n.lumino_properties={}))})(FD,function(n){"use strict";n.AttachedProperty=function(){function t(r){this._pid=e.nextPID(),this.name=r.name,this._create=r.create,this._coerce=r.coerce||null,this._compare=r.compare||null,this._changed=r.changed||null}return t.prototype.get=function(r){var i,o=e.ensureMap(r);return this._pid in o?i=o[this._pid]:i=o[this._pid]=this._createValue(r),i},t.prototype.set=function(r,i){var o,s=e.ensureMap(r);this._pid in s?o=s[this._pid]:o=s[this._pid]=this._createValue(r);var a=this._coerceValue(r,i);this._maybeNotify(r,o,s[this._pid]=a)},t.prototype.coerce=function(r){var i,o=e.ensureMap(r);this._pid in o?i=o[this._pid]:i=o[this._pid]=this._createValue(r);var s=this._coerceValue(r,i);this._maybeNotify(r,i,o[this._pid]=s)},t.prototype._createValue=function(r){var i=this._create;return i(r)},t.prototype._coerceValue=function(r,i){var o=this._coerce;return o?o(r,i):i},t.prototype._compareValue=function(r,i){var o=this._compare;return o?o(r,i):r===i},t.prototype._maybeNotify=function(r,i,o){var s=this._changed;s&&!this._compareValue(i,o)&&s(r,i,o)},t}(),function(t){function r(i){e.ownerData.delete(i)}t.clearData=r}(n.AttachedProperty||(n.AttachedProperty={}));var e;(function(t){t.ownerData=new WeakMap,t.nextPID=function(){var i=0;return function(){var o=Math.random(),s=(""+o).slice(2);return"pid-"+s+"-"+i++}}();function r(i){var o=t.ownerData.get(i);return o||(o=Object.create(null),t.ownerData.set(i,o),o)}t.ensureMap=r})(e||(e={})),Object.defineProperty(n,"__esModule",{value:!0})})});var UD=O((LD,c8)=>{(function(n,e){typeof LD=="object"&&typeof c8<"u"?e(LD,s8(),l8()):typeof define=="function"&&define.amd?define(["exports","@lumino/algorithm","@lumino/properties"],e):(n=typeof globalThis<"u"?globalThis:n||self,e(n.lumino_signaling={},n.lumino_algorithm,n.lumino_properties))})(LD,function(n,e,t){"use strict";n.Signal=function(){function i(o){this._blockedCount=0,this.sender=o}return i.prototype.block=function(o){this._blockedCount++;try{o()}finally{this._blockedCount--}},i.prototype.connect=function(o,s){return r.connect(this,o,s)},i.prototype.disconnect=function(o,s){return r.disconnect(this,o,s)},i.prototype.emit=function(o){this._blockedCount||r.emit(this,o)},i}(),function(i){function o(g,b){var I=r.blockedProperty;I.set(g,I.get(g)+1);try{b()}finally{I.set(g,I.get(g)-1)}}i.blockAll=o;function s(g,b){r.disconnectBetween(g,b)}i.disconnectBetween=s;function a(g){r.disconnectSender(g)}i.disconnectSender=a;function l(g){r.disconnectReceiver(g)}i.disconnectReceiver=l;function c(g){r.disconnectAll(g)}i.disconnectAll=c;function u(g){r.disconnectAll(g)}i.clearData=u;function d(){return r.exceptionHandler}i.getExceptionHandler=d;function f(g){var b=r.exceptionHandler;return r.exceptionHandler=g,b}i.setExceptionHandler=f}(n.Signal||(n.Signal={}));var r;(function(i){i.exceptionHandler=function(H){console.error(H)};function o(H,oe,ae){ae=ae||void 0;var Y=f.get(H.sender);if(Y||(Y=[],f.set(H.sender,Y)),E(Y,H,oe,ae))return!1;var Ie=ae||oe,Ke=g.get(Ie);Ke||(Ke=[],g.set(Ie,Ke));var pt={signal:H,slot:oe,thisArg:ae};return Y.push(pt),Ke.push(pt),!0}i.connect=o;function s(H,oe,ae){ae=ae||void 0;var Y=f.get(H.sender);if(!Y||Y.length===0)return!1;var Ie=E(Y,H,oe,ae);if(!Ie)return!1;var Ke=ae||oe,pt=g.get(Ke);return Ie.signal=null,A(Y),A(pt),!0}i.disconnect=s;function a(H,oe){var ae=f.get(H);if(!(!ae||ae.length===0)){var Y=g.get(oe);!Y||Y.length===0||(e.each(Y,function(Ie){Ie.signal&&Ie.signal.sender===H&&(Ie.signal=null)}),A(ae),A(Y))}}i.disconnectBetween=a;function l(H){var oe=f.get(H);!oe||oe.length===0||(e.each(oe,function(ae){if(ae.signal){var Y=ae.thisArg||ae.slot;ae.signal=null,A(g.get(Y))}}),A(oe))}i.disconnectSender=l;function c(H){var oe=g.get(H);!oe||oe.length===0||(e.each(oe,function(ae){if(ae.signal){var Y=ae.signal.sender;ae.signal=null,A(f.get(Y))}}),A(oe))}i.disconnectReceiver=c;function u(H){l(H),c(H)}i.disconnectAll=u;function d(H,oe){if(!(i.blockedProperty.get(H.sender)>0)){var ae=f.get(H.sender);if(!(!ae||ae.length===0))for(var Y=0,Ie=ae.length;Y<Ie;++Y){var Ke=ae[Y];Ke.signal===H&&x(Ke,oe)}}}i.emit=d;var f=new WeakMap,g=new WeakMap,b=new Set,I=function(){var H=typeof requestAnimationFrame=="function";return H?requestAnimationFrame:setImmediate}();function E(H,oe,ae,Y){return e.find(H,function(Ie){return Ie.signal===oe&&Ie.slot===ae&&Ie.thisArg===Y})}function x(H,oe){var ae=H.signal,Y=H.slot,Ie=H.thisArg;try{Y.call(Ie,ae.sender,oe)}catch(Ke){i.exceptionHandler(Ke)}}function A(H){b.size===0&&I(T),b.add(H)}function T(){b.forEach(J),b.clear()}function J(H){e.ArrayExt.removeAllWhere(H,ne)}function ne(H){return H.signal===null}i.blockedProperty=new t.AttachedProperty({name:"blocked",create:function(){return 0}})})(r||(r={})),Object.defineProperty(n,"__esModule",{value:!0})})});var sO=O((Pze,E8)=>{"use strict";var Eue=require("child_process").spawn;function Pue(n){if(n){n=n.trim();var e=/your \d+x\d+ screen size is bogus\. expect trouble/gi;return n=n.replace(e,""),n.trim()}}function kue(n,e,t,r){typeof t=="function"&&(r=t,t=void 0);var i=!1,o=Eue(n,e,t),s="",a="";o.stdout.on("data",function(l){s+=l.toString()}),o.stderr.on("data",function(l){a+=l.toString()}),o.on("error",function(l){i||(i=!0,r(new Error(l)))}),o.on("close",function(l){if(!i){if(i=!0,a=Pue(a),a)return r(new Error(a));r(null,s,l)}})}E8.exports=kue});var k8=O((kze,P8)=>{"use strict";var xue=require("os"),Due=sO();function _ue(n){var e=["-A","-o","ppid,pid"];Due("ps",e,function(t,r,i){if(t)return n(t);if(i!==0)return n(new Error("pidtree ps command exited with code "+i));try{r=r.split(xue.EOL);for(var o=[],s=1;s<r.length;s++)r[s]=r[s].trim(),r[s]&&(r[s]=r[s].split(/\s+/),r[s][0]=parseInt(r[s][0],10),r[s][1]=parseInt(r[s][1],10),o.push(r[s]));n(null,o)}catch(a){n(a)}})}P8.exports=_ue});var D8=O((xze,x8)=>{"use strict";var Tue=require("os"),Rue=sO();function Aue(n){var e=["PROCESS","get","ParentProcessId,ProcessId"],t={windowsHide:!0,windowsVerbatimArguments:!0};Rue("wmic",e,t,function(r,i,o){if(r){n(r);return}if(o!==0){n(new Error("pidtree wmic command exited with code "+o));return}try{i=i.split(Tue.EOL);for(var s=[],a=1;a<i.length;a++)i[a]=i[a].trim(),i[a]&&(i[a]=i[a].split(/\s+/),i[a][0]=parseInt(i[a][0],10),i[a][1]=parseInt(i[a][1],10),s.push(i[a]));n(null,s)}catch(l){n(l)}})}x8.exports=Aue});var A8=O((Dze,R8)=>{"use strict";var T8=require("os"),Nue={darwin:"ps",sunos:"ps",freebsd:"ps",netbsd:"ps",win:"wmic",linux:"ps",aix:"ps"},Mue={ps:()=>k8(),wmic:()=>D8()},aO=T8.platform();aO.startsWith("win")&&(aO="win");var _8=Nue[aO];function Kue(n){_8===void 0&&n(new Error(T8.platform()+" is not supported yet, please open an issue (https://github.com/simonepri/pidtree)"));var e=Mue[_8]();e(n)}R8.exports=Kue});var M8=O((_ze,N8)=>{"use strict";var Oue=A8();function Fue(n,e,t){if(typeof e=="function"&&(t=e,e={}),typeof e!="object"&&(e={}),n=parseInt(n,10),isNaN(n)||n<-1){t(new TypeError("The pid provided is invalid"));return}Oue(function(r,i){if(r){t(r);return}if(n===-1){for(var o=0;o<i.length;o++)i[o]=e.advanced?{ppid:i[o][0],pid:i[o][1]}:i[o]=i[o][1];t(null,i);return}for(var s,a=0;a<i.length;a++){if(i[a][1]===n){s=e.advanced?{ppid:i[a][0],pid:n}:n;break}i[a][0]===n&&(s=e.advanced?{pid:n}:n)}if(!s){t(new Error("No matching pid found"));return}for(var l={};i.length>0;){var c=i.pop();l[c[0]]?l[c[0]].push(c[1]):l[c[0]]=[c[1]]}for(var u=0,d=[s];u<d.length;){var f=e.advanced?d[u++].pid:d[u++];if(l[f]){for(var g=l[f].length,b=0;b<g;b++)d.push(e.advanced?{ppid:f,pid:l[f][b]}:l[f][b]);delete l[f]}}e.root||d.shift(),t(null,d)})}N8.exports=Fue});var F8=O((Tze,O8)=>{"use strict";function Lue(n,e,t){return new Promise(function(r,i){n(e,t,function(o,s){if(o)return i(o);r(s)})})}String.prototype.startsWith||(String.prototype.startsWith=function(n){return this.substring(0,n.length)===n});var K8=M8();function Uue(n,e,t){if(typeof e=="function"&&(t=e,e=void 0),typeof t=="function"){K8(n,e,t);return}return Lue(K8,n,e)}O8.exports=Uue});var $8=O((Rze,B8)=>{var L8=Array.prototype.slice,U8=typeof Object.keys=="function"?Object.keys:function(n){var e=[];for(var t in n)e.push(t);return e},W8=B8.exports=function(n,e){return n===0&&e===0?Wue(n,e):n===e?!0:n instanceof Date&&e instanceof Date?n.getTime()===e.getTime():J8(n)?J8(e):typeof n!="object"&&typeof e!="object"?n==e:Vue(n,e)};function V8(n){return n==null}function j8(n){return Object.prototype.toString.call(n)=="[object Arguments]"}function J8(n){return typeof n=="number"&&n!==n}function Wue(n,e){return 1/n===1/e}function Vue(n,e){if(V8(n)||V8(e)||n.prototype!==e.prototype)return!1;if(j8(n))return j8(e)?(n=L8.call(n),e=L8.call(e),W8(n,e)):!1;try{var t=U8(n),r=U8(e),i,o}catch{return!1}if(t.length!=r.length)return!1;for(t.sort(),r.sort(),o=t.length-1;o>=0;o--)if(t[o]!=r[o])return!1;for(o=t.length-1;o>=0;o--)if(i=t[o],!W8(n[i],e[i]))return!1;return!0}});var G8=O((Aze,H8)=>{"use strict";var q8="[a-fA-F\\d:]",Xd=n=>n&&n.includeBoundaries?`(?:(?<=\\s|^)(?=${q8})|(?<=${q8})(?=\\s|$))`:"",va="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",_n="[a-fA-F\\d]{1,4}",c_=`
|
||
(?:
|
||
(?:${_n}:){7}(?:${_n}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
||
(?:${_n}:){6}(?:${va}|:${_n}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
|
||
(?:${_n}:){5}(?::${va}|(?::${_n}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
|
||
(?:${_n}:){4}(?:(?::${_n}){0,1}:${va}|(?::${_n}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
|
||
(?:${_n}:){3}(?:(?::${_n}){0,2}:${va}|(?::${_n}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
|
||
(?:${_n}:){2}(?:(?::${_n}){0,3}:${va}|(?::${_n}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
||
(?:${_n}:){1}(?:(?::${_n}){0,4}:${va}|(?::${_n}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
||
(?::(?:(?::${_n}){0,5}:${va}|(?::${_n}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
||
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
||
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),jue=new RegExp(`(?:^${va}$)|(?:^${c_}$)`),Jue=new RegExp(`^${va}$`),Bue=new RegExp(`^${c_}$`),lO=n=>n&&n.exact?jue:new RegExp(`(?:${Xd(n)}${va}${Xd(n)})|(?:${Xd(n)}${c_}${Xd(n)})`,"g");lO.v4=n=>n&&n.exact?Jue:new RegExp(`${Xd(n)}${va}${Xd(n)}`,"g");lO.v6=n=>n&&n.exact?Bue:new RegExp(`${Xd(n)}${c_}${Xd(n)}`,"g");H8.exports=lO});var z8=O((Nze,$ue)=>{$ue.exports={name:"is2",version:"2.0.7",description:"A type checking library where each exported function returns either true or false and does not throw. Also added tests.",license:"MIT",tags:["type","check","checker","checking","utilities","network","networking","credit","card","validation"],keywords:["type","check","checker","checking","utilities","network","networking","credit","card","validation"],author:"Enrico Marino <enrico.marino@email.com>",maintainers:"Edmond Meinfelder <edmond@stdarg.com>, Chris Oyler <christopher.oyler@gmail.com>",homepage:"http://github.com/stdarg/is2",repository:{type:"git",url:"git@github.com:stdarg/is2.git"},bugs:{url:"http://github.com/stdarg/is/issues"},main:"./index.js",scripts:{test:"./node_modules/.bin/mocha -C --reporter list tests.js"},engines:{node:">=v0.10.0"},dependencies:{"deep-is":"^0.1.3","ip-regex":"^4.1.0","is-url":"^1.2.4"},devDependencies:{mocha:"6.1.4",mongodb:"3.2.4"}}});var Y8=O((Mze,Q8)=>{Q8.exports=zue;var que=/^(?:\w+:)?\/\/(\S+)$/,Hue=/^localhost[\:?\d]*(?:[^\:?\d]\S*)?$/,Gue=/^[^\s\.]+\.\S{2,}$/;function zue(n){if(typeof n!="string")return!1;var e=n.match(que);if(!e)return!1;var t=e[1];return t?!!(Hue.test(t)||Gue.test(t)):!1}});var e5=O(Z8=>{"use strict";var X8={}.hasOwnProperty,ur={}.toString,C=Z8,Que=$8(),Yue=G8();C.version=z8().version;C.browser=function(){return!C.node()&&typeof window<"u"&&ur.call(window)==="[object global]"};C.defined=function(n){return typeof n<"u"};C.def=C.defined;C.nodejs=function(){return process&&process.hasOwnProperty("version")&&process.hasOwnProperty("versions")};C.node=C.nodejs;C.undefined=function(n){return n===void 0};C.udef=C.undef=C.undefined;C.array=function(n){return ur.call(n)==="[object Array]"};C.arr=C.ary=C.arry=C.array;C.arrayLike=function(n){return C.nullOrUndef(n)?!1:n!==void 0&&X8.call(n,"length")&&isFinite(n.length)};C.arrLike=C.arryLike=C.aryLike=C.arraylike=C.arrayLike;C.arguments=function(n){return ur.call(n)==="[object Arguments]"};C.args=C.arguments;C.boolean=function(n){return ur.call(n)==="[object Boolean]"};C.bool=C.boolean;C.buffer=function(n){return C.nodejs()&&Buffer&&Buffer.hasOwnProperty("isBuffer")&&Buffer.isBuffer(n)};C.buff=C.buf=C.buffer;C.date=function(n){return ur.call(n)==="[object Date]"};C.error=function(n){return ur.call(n)==="[object Error]"};C.err=C.error;C.false=function(n){return n===!1};C.function=function(n){return C.syncFunction(n)||C.asyncFunction(n)};C.fun=C.func=C.function;C.asyncFunction=function(n){return ur.call(n)==="[object AsyncFunction]"};C.asyncFun=C.asyncFunc=C.asyncFunction;C.syncFunction=function(n){return ur.call(n)==="[object Function]"};C.syncFun=C.syncFunc=C.syncFunction;C.null=function(n){return n===null};C.nullOrUndefined=function(n){return n===null||typeof n>"u"};C.nullOrUndef=C.nullOrUndefined;C.number=function(n){return ur.call(n)==="[object Number]"};C.num=C.number;C.object=function(n){return ur.call(n)==="[object Object]"};C.obj=C.object;C.regExp=function(n){return ur.call(n)==="[object RegExp]"};C.re=C.regexp=C.regExp;C.string=function(n){return ur.call(n)==="[object String]"};C.str=C.string;C.true=function(n){return n===!0};var Xue=new RegExp("[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}","i");C.uuid=function(n){return Xue.test(n)};C.equal=function(n,e){var t=ur.call(n);return typeof n!=typeof e||t!==ur.call(e)?!1:t==="[object Object]"||t==="[object Array]"?Que(n,e):t==="[object Function]"?n.prototype===e.prototype:t==="[object Date]"?n.getTime()===e.getTime():n===e};C.objEquals=C.eq=C.equal;var Zue={boolean:1,number:1,string:1,undefined:1};C.hosted=function(n,e){if(C.nullOrUndef(n))return!1;var t=typeof e[n];return t==="object"?!!e[n]:!Zue[t]};C.instanceOf=function(n,e){return C.nullOrUndef(n)||C.nullOrUndef(e)?!1:n instanceof e};C.instOf=C.instanceof=C.instanceOf;C.objectInstanceOf=function(n,e){try{return ur.call(n)==="[object Object]"&&n instanceof e}catch{return!1}};C.instOf=C.instanceOf=C.objInstOf=C.objectInstanceOf;C.type=function(n,e){return typeof n===e};C.a=C.type;C.empty=function(n){var e=ur.call(n);if(e==="[object Array]"||e==="[object Arguments]")return n.length===0;if(e==="[object Object]"){for(var t in n)if(X8.call(n,t))return!1;return!0}return e==="[object String]"?n==="":!1};C.emptyArguments=function(n){return ur.call(n)==="[object Arguments]"&&n.length===0};C.noArgs=C.emptyArgs=C.emptyArguments;C.emptyArray=function(n){return ur.call(n)==="[object Array]"&&n.length===0};C.emptyArry=C.emptyAry=C.emptyArray;C.emptyArrayLike=function(n){return n.length===0};C.emptyArrLike=C.emptyArrayLike;C.emptyString=function(n){return C.string(n)&&n.length===0};C.emptyStr=C.emptyString;C.nonEmptyArray=function(n){return ur.call(n)==="[object Array]"&&n.length>0};C.nonEmptyArr=C.nonEmptyArry=C.nonEmptyAry=C.nonEmptyArray;C.nonEmptyObject=function(n){return ur.call(n)==="[object Object]"&&Object.keys(n).length>0};C.nonEmptyObj=C.nonEmptyObject;C.emptyObject=function(n){return ur.call(n)==="[object Object]"&&Object.keys(n).length===0};C.emptyObj=C.emptyObject;C.nonEmptyString=function(n){return C.string(n)&&n.length>0};C.nonEmptyStr=C.nonEmptyString;C.even=function(n){return ur.call(n)==="[object Number]"&&n%2===0};C.decimal=function(n){return ur.call(n)==="[object Number]"&&n%1!==0};C.dec=C.decNum=C.decimal;C.integer=function(n){return ur.call(n)==="[object Number]"&&n%1===0};C.int=C.integer;C.notANumber=function(n){return!C.num(n)||n!==n};C.nan=C.notANum=C.notANumber;C.odd=function(n){return!C.decimal(n)&&ur.call(n)==="[object Number]"&&n%2!==0};C.oddNumber=C.oddNum=C.odd;C.positiveNumber=function(n){return ur.call(n)==="[object Number]"&&n>0};C.pos=C.positive=C.posNum=C.positiveNum=C.positiveNumber;C.negativeNumber=function(n){return ur.call(n)==="[object Number]"&&n<0};C.neg=C.negNum=C.negativeNum=C.negativeNumber;C.negativeInteger=function(n){return ur.call(n)==="[object Number]"&&n%1===0&&n<0};C.negativeInt=C.negInt=C.negativeInteger;C.positiveInteger=function(n){return ur.call(n)==="[object Number]"&&n%1===0&&n>0};C.posInt=C.positiveInt=C.positiveInteger;C.divisibleBy=function(n,e){return n===0?!1:ur.call(n)==="[object Number]"&&e!==0&&n%e===0};C.divBy=C.divisBy=C.divisibleBy;C.greaterOrEqualTo=function(n,e){return n>=e};C.greaterOrEqual=C.ge=C.greaterOrEqualTo;C.greaterThan=function(n,e){return n>e};C.gt=C.greaterThan;C.lessThanOrEqualTo=function(n,e){return n<=e};C.lessThanOrEq=C.lessThanOrEqual=C.le=C.lessThanOrEqualTo;C.lessThan=function(n,e){return n<e};C.lt=C.lessThan;C.maximum=function(n,e){if(!C.arrayLike(e)||!C.number(n))return!1;for(var t=e.length;--t>-1;)if(n<e[t])return!1;return!0};C.max=C.maximum;C.minimum=function(n,e){if(!C.arrayLike(e)||!C.number(n))return!1;for(var t=e.length;--t>-1;)if(n>e[t])return!1;return!0};C.min=C.minimum;C.within=function(n,e,t){return n>=e&&n<=t};C.withIn=C.within;C.prettyClose=function(n,e,t){return!C.number(n)||!C.number(e)||C.defined(t)&&!C.posInt(t)?!1:(C.undefined(t)&&(t=2),n.toFixed(t)===e.toFixed(t))};C.closish=C.near=C.prettyClose;C.dnsAddress=function(n){return!(!C.nonEmptyStr(n)||n.length>255||tde.test(n)||!ede.test(n))};C.dnsAddr=C.dns=C.dnsAddress;var ede=/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$/,tde=/^([0-9]|[0-9][0-9\-]{0,61}[0-9])(\.([0-9]|[0-9][0-9\-]{0,61}[0-9]))*$/;C.emailAddress=function(n){return C.nonEmptyStr(n)?rde.test(n):!1};C.email=C.emailAddr=C.emailAddress;var rde=/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/;C.ipv4Address=function(n){if(!C.nonEmptyStr(n)||n.length>15)return!1;var e=n.split(".");if(!C.array(e)||e.length!==4)return!1;for(var t=0;t<e.length;t++){var r=parseInt(e[t],10);if(isNaN(r)||r<0||r>255)return!1}return!0};C.ipv4=C.ipv4Addr=C.ipv4Address;C.ipv6Address=function(n){return C.nonEmptyStr(n)?Yue.v6({extract:!0}).test(n):!1};C.ipv6=C.ipv6Addr=C.ipv6Address;C.ipAddress=function(n){return C.nonEmptyStr(n)?C.ipv4Address(n)||C.ipv6Address(n):!1};C.ip=C.ipAddr=C.ipAddress;C.hostAddress=function(n){return C.nonEmptyStr(n)?C.dns(n)||C.ipv4(n)||C.ipv6(n):!1};C.host=C.hostIp=C.hostAddr=C.hostAddress;C.port=function(n){return!(!C.num(n)||C.negativeInt(n)||n>65535)};C.systemPort=function(n){return!!(C.port(n)&&n<1024)};C.sysPort=C.systemPort;C.userPort=function(n){return!!(C.port(n)&&n>1023)};C.creditCardNumber=function(n){if(!C.str(n))return!1;var e=n.split(""),t,r;for(t=e.length-1,r=1;t>-1;t--,r++)r%2===0&&(e[t]*=2);n=e.join("");var i=0;for(t=0;t<n.length;t++)i+=Math.floor(n[t]);return i%10===0};C.creditCard=C.creditCardNum=C.creditCardNumber;C.americanExpressCardNumber=function(n){if(!C.str(n)||n.length!==15)return!1;var e=Math.floor(n.slice(0,2));return!(e!==34&&e!==37||!C.creditCardNumber(n))};C.amexCard=C.amexCardNum=C.americanExpressCardNumber;C.chinaUnionPayCardNumber=function(n){if(!C.str(n)||n.length<16&&n.length>19)return!1;var e=Math.floor(n.slice(0,2));return!(e!==62&&e!==88)};C.chinaUnion=C.chinaUnionPayCard=C.chinaUnionPayCardNumber;C.dinersClubCarteBlancheCardNumber=function(n){if(!C.str(n)||n.length!==14)return!1;var e=Math.floor(n.slice(0,3));return!(e<300||e>305||!C.creditCardNumber(n))};C.dinersClubCB=C.dinersClubCarteBlancheCard=C.dinersClubCarteBlancheCardNumber;C.dinersClubInternationalCardNumber=function(n){if(!C.str(n)||n.length!==14)return!1;var e=Math.floor(n.slice(0,3)),t=Math.floor(n.slice(0,2));return!((e<300||e>305)&&e!==309&&t!==36&&(t<38||t>39)||!C.creditCardNumber(n))};C.dinersClubInt=C.dinersClubInternationalCard=C.dinersClubInternationalCardNumber;C.dinersClubUSACanadaCardNumber=function(n){if(!C.str(n)||n.length!==16)return!1;var e=Math.floor(n.slice(0,2));return!(e!==54&&e!==55||!C.creditCardNumber(n))};C.dinersClub=C.dinersClubUSACanCard=C.dinersClubUSACanadaCardNumber;C.discoverCardNumber=function(n){if(!C.str(n)||n.length!==16)return!1;var e=Math.floor(n.slice(0,6)),t=Math.floor(n.slice(0,3));return!(n.slice(0,4)!=="6011"&&(e<622126||e>622925)&&(t<644||t>649)&&n.slice(0,2)!=="65"||!C.creditCardNumber(n))};C.discover=C.discoverCard=C.discoverCardNumber;C.instaPaymentCardNumber=function(n){if(!C.str(n)||n.length!==16)return!1;var e=Math.floor(n.slice(0,3));return!(e<637||e>639||!C.creditCardNumber(n))};C.instaPayment=C.instaPaymentCardNumber;C.jcbCardNumber=function(n){if(!C.str(n)||n.length!==16)return!1;var e=Math.floor(n.slice(0,4));return!(e<3528||e>3589||!C.creditCardNumber(n))};C.jcb=C.jcbCard=C.jcbCardNumber;C.laserCardNumber=function(n){if(!C.str(n)||n.length<16&&n.length>19)return!1;var e=Math.floor(n.slice(0,4)),t=[6304,6706,6771,6709];return!(t.indexOf(e)===-1||!C.creditCardNumber(n))};C.laser=C.laserCard=C.laserCardNumber;C.maestroCardNumber=function(n){if(!C.str(n)||n.length<12||n.length>19)return!1;var e=n.slice(0,4),t=["5018","5020","5038","5612","5893","6304","6759","6761","6762","6763","0604","6390"];return!(t.indexOf(e)===-1||!C.creditCardNumber(n))};C.maestro=C.maestroCard=C.maestroCardNumber;C.dankortCardNumber=function(n){return!(!C.str(n)||n.length!==16||n.slice(0,4)!=="5019"||!C.creditCardNumber(n))};C.dankort=C.dankortCard=C.dankortCardNumber;C.masterCardCardNumber=function(n){if(!C.str(n)||n.length!==16)return!1;var e=Math.floor(n.slice(0,2));return!(e<50||e>55||!C.creditCardNumber(n))};C.masterCard=C.masterCardCard=C.masterCardCardNumber;C.visaCardNumber=function(n){return!(!C.str(n)||n.length!==13&&n.length!==16||n.slice(0,1)!=="4"||!C.creditCardNumber(n))};C.visa=C.visaCard=C.visaCardNumber;C.visaElectronCardNumber=function(n){if(!C.str(n)||n.length!==16)return!1;var e=Math.floor(n.slice(0,4)),t=[4026,4405,4508,4844,4913,4917];return n.slice(0,6)!=="417500"&&t.indexOf(e)===-1||!C.creditCardNumber(n),!1};C.visaElectron=C.visaElectronCard=C.visaElectronCardNumber;var nde=/^[0-9a-fA-F]{24}$/;C.mongoId=C.objectId=C.objId=function(n){return!!n&&!Array.isArray(n)&&nde.test(String(n))};C.matching=C.match=C.inArgs=function(n){if(arguments.length<2)return!1;for(var e=!1,t=1;t<arguments.length;t++){var r=C.equal(n,arguments[t]);e=e||r}return e};C.streetAddress=function(n){if(!C.str(n))return!1;var e=/\b\d+[\s](?:[A-Za-z0-9.-]+[\s]+)+\b(ALLEY|ALY|AVENUE|AVE|BEND|BND|BLUFFS?|BLFS?|BOULEVARD|BLVD|BRANCH|BR|CENTERS?|CTRS?|CIRCLES?|CIRS?|CLIFFS?|CLFS?|COURTS?|CTS?|COVES?|CVS?|CREEK|CRK|CRESCENT|CRES|CREST|CRST|CROSSING|XING|DRIVES?|DRS?|EXPRESSWAY|EXPY|FREEWAY|FWY|HEIGHTS|HTS|HIGHWAY|HWY|HILLS?|HLS?|LANE|LN|LOOP|MANORS?|MNRS?|MOTORWAY|MTWY|MOUNT|MT|PARKS?|PARKWAYS?|PKWY|PASS|PLACE|PL|PLAZA|PLZ|POINTS?|PTS?|RIDGES?|RDGS?|ROADS?|RDS?|ROUTE|RTE?|SHOALS?|SHLS?|SHORES?|SHRS?|SPRINGS?|SPGS?|SPURS?|STREETS?|STS?|SUMMIT|SMT|TERRACE|TER|THROUGHWAY|TRWY|TRAFFICWAY|TRFY|TRAIL|TRL|TURNPIKE|TPKE|VALLEYS?|VLYS?|WAYS?)+(?:[\.\-\s\,]?)*((APARTMENT|APT|APPT|#|NUMBER|NUM|FLOOR|FL|\s)?(\d)*)\b/ig;return e.test(n)};C.street=C.address=C.streetAddress;C.zipCode=function(n){if(C.undefined(n)||!(C.string(n)||C.number(n)))return!1;var e=/^\d{5}(?:-\d{4})?$/;return e.test(n)};C.zip=C.zipCode;C.phoneNumber=function(n){if(!C.string(n))return!1;var e=/(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:(\(?)(?:(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\)?)\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})/g;return e.test(n)};C.phone=C.phoneNumber;var ide=Y8();C.url=function(n){return ide(n)};C.uri=C.url;C.enumerator=function(n,e){var t=!1;if(!C.defined(n)||!C.defined(e)||!C.arrayLike(e))return t;for(var r=0,i=e.length;r<i;r++)if(C.equal(n,e[r])){t=!0;break}return t};C.enum=C.inArray=C.enumerator});var cO=O((Oze,t5)=>{var Sy=1e3,Cy=Sy*60,wy=Cy*60,Ym=wy*24,ode=Ym*7,sde=Ym*365.25;t5.exports=function(n,e){e=e||{};var t=typeof n;if(t==="string"&&n.length>0)return ade(n);if(t==="number"&&isFinite(n))return e.long?cde(n):lde(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))};function ade(n){if(n=String(n),!(n.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(n);if(e){var t=parseFloat(e[1]),r=(e[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return t*sde;case"weeks":case"week":case"w":return t*ode;case"days":case"day":case"d":return t*Ym;case"hours":case"hour":case"hrs":case"hr":case"h":return t*wy;case"minutes":case"minute":case"mins":case"min":case"m":return t*Cy;case"seconds":case"second":case"secs":case"sec":case"s":return t*Sy;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function lde(n){var e=Math.abs(n);return e>=Ym?Math.round(n/Ym)+"d":e>=wy?Math.round(n/wy)+"h":e>=Cy?Math.round(n/Cy)+"m":e>=Sy?Math.round(n/Sy)+"s":n+"ms"}function cde(n){var e=Math.abs(n);return e>=Ym?u_(n,e,Ym,"day"):e>=wy?u_(n,e,wy,"hour"):e>=Cy?u_(n,e,Cy,"minute"):e>=Sy?u_(n,e,Sy,"second"):n+" ms"}function u_(n,e,t,r){var i=e>=t*1.5;return Math.round(n/t)+" "+r+(i?"s":"")}});var uO=O((Fze,r5)=>{function ude(n){t.debug=t,t.default=t,t.coerce=l,t.disable=o,t.enable=i,t.enabled=s,t.humanize=cO(),t.destroy=c,Object.keys(n).forEach(u=>{t[u]=n[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let d=0;for(let f=0;f<u.length;f++)d=(d<<5)-d+u.charCodeAt(f),d|=0;return t.colors[Math.abs(d)%t.colors.length]}t.selectColor=e;function t(u){let d,f=null;function g(...b){if(!g.enabled)return;let I=g,E=Number(new Date),x=E-(d||E);I.diff=x,I.prev=d,I.curr=E,d=E,b[0]=t.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let A=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(J,ne)=>{if(J==="%%")return"%";A++;let H=t.formatters[ne];if(typeof H=="function"){let oe=b[A];J=H.call(I,oe),b.splice(A,1),A--}return J}),t.formatArgs.call(I,b),(I.log||t.log).apply(I,b)}return g.namespace=u,g.useColors=t.useColors(),g.color=t.selectColor(u),g.extend=r,g.destroy=t.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>f===null?t.enabled(u):f,set:b=>{f=b}}),typeof t.init=="function"&&t.init(g),g}function r(u,d){let f=t(this.namespace+(typeof d>"u"?":":d)+u);return f.log=this.log,f}function i(u){t.save(u),t.names=[],t.skips=[];let d,f=(typeof u=="string"?u:"").split(/[\s,]+/),g=f.length;for(d=0;d<g;d++)f[d]&&(u=f[d].replace(/\*/g,".*?"),u[0]==="-"?t.skips.push(new RegExp("^"+u.substr(1)+"$")):t.names.push(new RegExp("^"+u+"$")))}function o(){let u=[...t.names.map(a),...t.skips.map(a).map(d=>"-"+d)].join(",");return t.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let d,f;for(d=0,f=t.skips.length;d<f;d++)if(t.skips[d].test(u))return!1;for(d=0,f=t.names.length;d<f;d++)if(t.names[d].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function l(u){return u instanceof Error?u.stack||u.message:u}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}r5.exports=ude});var n5=O((Xo,d_)=>{Xo.formatArgs=pde;Xo.save=mde;Xo.load=fde;Xo.useColors=dde;Xo.storage=hde();Xo.destroy=(()=>{let n=!1;return()=>{n||(n=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Xo.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function dde(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function pde(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+d_.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;n.splice(1,0,e,"color: inherit");let t=0,r=0;n[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(t++,i==="%c"&&(r=t))}),n.splice(r,0,e)}Xo.log=console.debug||console.log||(()=>{});function mde(n){try{n?Xo.storage.setItem("debug",n):Xo.storage.removeItem("debug")}catch{}}function fde(){let n;try{n=Xo.storage.getItem("debug")}catch{}return!n&&typeof process<"u"&&"env"in process&&(n=process.env.DEBUG),n}function hde(){try{return localStorage}catch{}}d_.exports=uO()(Xo);var{formatters:gde}=d_.exports;gde.j=function(n){try{return JSON.stringify(n)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var o5=O((Lze,i5)=>{"use strict";i5.exports=(n,e)=>{e=e||process.argv;let t=n.startsWith("-")?"":n.length===1?"-":"--",r=e.indexOf(t+n),i=e.indexOf("--");return r!==-1&&(i===-1?!0:r<i)}});var pO=O((Uze,s5)=>{"use strict";var vde=require("os"),ya=o5(),Ni=process.env,Ey;ya("no-color")||ya("no-colors")||ya("color=false")?Ey=!1:(ya("color")||ya("colors")||ya("color=true")||ya("color=always"))&&(Ey=!0);"FORCE_COLOR"in Ni&&(Ey=Ni.FORCE_COLOR.length===0||parseInt(Ni.FORCE_COLOR,10)!==0);function yde(n){return n===0?!1:{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3}}function bde(n){if(Ey===!1)return 0;if(ya("color=16m")||ya("color=full")||ya("color=truecolor"))return 3;if(ya("color=256"))return 2;if(n&&!n.isTTY&&Ey!==!0)return 0;let e=Ey?1:0;if(process.platform==="win32"){let t=vde.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(t[0])>=10&&Number(t[2])>=10586?Number(t[2])>=14931?3:2:1}if("CI"in Ni)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(t=>t in Ni)||Ni.CI_NAME==="codeship"?1:e;if("TEAMCITY_VERSION"in Ni)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ni.TEAMCITY_VERSION)?1:0;if(Ni.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ni){let t=parseInt((Ni.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ni.TERM_PROGRAM){case"iTerm.app":return t>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ni.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ni.TERM)||"COLORTERM"in Ni?1:(Ni.TERM==="dumb",e)}function dO(n){let e=bde(n);return yde(e)}s5.exports={supportsColor:dO,stdout:dO(process.stdout),stderr:dO(process.stderr)}});var l5=O((li,m_)=>{var Ide=require("tty"),p_=require("util");li.init=xde;li.log=Ede;li.formatArgs=Cde;li.save=Pde;li.load=kde;li.useColors=Sde;li.destroy=p_.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");li.colors=[6,2,3,4,5,1];try{let n=pO();n&&(n.stderr||n).level>=2&&(li.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}li.inspectOpts=Object.keys(process.env).filter(n=>/^debug_/i.test(n)).reduce((n,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(i,o)=>o.toUpperCase()),r=process.env[e];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),n[t]=r,n},{});function Sde(){return"colors"in li.inspectOpts?!!li.inspectOpts.colors:Ide.isatty(process.stderr.fd)}function Cde(n){let{namespace:e,useColors:t}=this;if(t){let r=this.color,i="\x1B[3"+(r<8?r:"8;5;"+r),o=` ${i};1m${e} \x1B[0m`;n[0]=o+n[0].split(`
|
||
`).join(`
|
||
`+o),n.push(i+"m+"+m_.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=wde()+e+" "+n[0]}function wde(){return li.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Ede(...n){return process.stderr.write(p_.format(...n)+`
|
||
`)}function Pde(n){n?process.env.DEBUG=n:delete process.env.DEBUG}function kde(){return process.env.DEBUG}function xde(n){n.inspectOpts={};let e=Object.keys(li.inspectOpts);for(let t=0;t<e.length;t++)n.inspectOpts[e[t]]=li.inspectOpts[e[t]]}m_.exports=uO()(li);var{formatters:a5}=m_.exports;a5.o=function(n){return this.inspectOpts.colors=this.useColors,p_.inspect(n,this.inspectOpts).split(`
|
||
`).map(e=>e.trim()).join(" ")};a5.O=function(n){return this.inspectOpts.colors=this.useColors,p_.inspect(n,this.inspectOpts)}});var c5=O((Wze,mO)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?mO.exports=n5():mO.exports=l5()});var g5=O(Xm=>{"use strict";Xm.check=f5;Xm.waitUntilFreeOnHost=_de;Xm.waitUntilFree=Tde;Xm.waitUntilUsedOnHost=h5;Xm.waitUntilUsed=Rde;Xm.waitForStatus=h_;var ba=e5(),Dde=require("net"),u5=require("util"),f_=c5()("tcp-port-used"),d5=2e3,p5=250;function m5(){var n,e,t=new Promise(function(r,i){n=r,e=i});return{resolve:n,reject:e,promise:t}}function Py(n,e,t,r,i){var o={};return o.port=n,o.host=e,o.inUse=t,o.retryTimeMs=r,o.timeOutMs=i,o}function f5(n,e){var t=m5(),r=!0,i,o;if(ba.obj(n)?o=n:o=Py(n,e),!ba.port(o.port))return f_("Error invalid port: "+u5.inspect(o.port)),t.reject(new Error("invalid port: "+u5.inspect(o.port))),t.promise;ba.nullOrUndefined(o.host)&&(f_("set host address to default 127.0.0.1"),o.host="127.0.0.1");function s(){i&&(i.removeAllListeners("connect"),i.removeAllListeners("error"),i.end(),i.destroy(),i.unref())}function a(){t.resolve(r),s()}function l(c){c.code!=="ECONNREFUSED"?t.reject(c):(r=!1,t.resolve(r)),s()}return i=new Dde.Socket,i.once("connect",a),i.once("error",l),i.connect({port:o.port,host:o.host},function(){}),t.promise}function h_(n,e,t,r,i){var o=m5(),s,a=!1,l,c;if(ba.obj(n)?c=n:c=Py(n,e,t,r,i),!ba.bool(c.inUse))return o.reject(new Error("inUse must be a boolean")),o.promise;ba.positiveInt(c.retryTimeMs)||(c.retryTimeMs=p5,f_("set retryTime to default "+p5+"ms")),ba.positiveInt(c.timeOutMs)||(c.timeOutMs=d5,f_("set timeOutMs to default "+d5+"ms"));function u(){s&&clearTimeout(s),l&&clearTimeout(l)}function d(){a=!0,u(),o.reject(new Error("timeout"))}s=setTimeout(d,c.timeOutMs);function f(){f5(c.port,c.host).then(function(g){if(!a)if(g===c.inUse){o.resolve(),u();return}else{l=setTimeout(function(){f()},c.retryTimeMs);return}},function(g){a||(o.reject(g),u())})}return f(),o.promise}function _de(n,e,t,r){var i;return ba.obj(n)?(i=n,i.inUse=!1):i=Py(n,e,!1,t,r),h_(i)}function Tde(n,e,t){var r;return ba.obj(n)?(r=n,r.host="127.0.0.1",r.inUse=!1):r=Py(n,"127.0.0.1",!1,e,t),h_(r)}function h5(n,e,t,r){var i;return ba.obj(n)?(i=n,i.inUse=!0):i=Py(n,e,!0,t,r),h_(i)}function Rde(n,e,t){var r;return ba.obj(n)?(r=n,r.host="127.0.0.1",r.inUse=!0):r=Py(n,"127.0.0.1",!0,e,t),h5(r)}});var w5=O((g_,$l)=>{(function(n,e){typeof g_=="object"&&typeof $l<"u"?e(g_):typeof define=="function"&&define.amd?define(["exports"],e):e(n.async=n.async||{})})(g_,function(n){"use strict";function e(S,P){P=P|0;for(var _=Math.max(S.length-P,0),K=Array(_),G=0;G<_;G++)K[G]=S[P+G];return K}var t=function(S){var P=e(arguments,1);return function(){var _=e(arguments);return S.apply(null,P.concat(_))}},r=function(S){return function(){var P=e(arguments),_=P.pop();S.call(this,P,_)}};function i(S){var P=typeof S;return S!=null&&(P=="object"||P=="function")}var o=typeof setImmediate=="function"&&setImmediate,s=typeof process=="object"&&typeof process.nextTick=="function";function a(S){setTimeout(S,0)}function l(S){return function(P){var _=e(arguments,1);S(function(){P.apply(null,_)})}}var c;o?c=setImmediate:s?c=process.nextTick:c=a;var u=l(c);function d(S){return r(function(P,_){var K;try{K=S.apply(this,P)}catch(G){return _(G)}i(K)&&typeof K.then=="function"?K.then(function(G){f(_,null,G)},function(G){f(_,G.message?G:new Error(G))}):_(null,K)})}function f(S,P,_){try{S(P,_)}catch(K){u(g,K)}}function g(S){throw S}var b=typeof Symbol=="function";function I(S){return b&&S[Symbol.toStringTag]==="AsyncFunction"}function E(S){return I(S)?d(S):S}function x(S){return function(P){var _=e(arguments,1),K=r(function(G,q){var te=this;return S(P,function(se,we){E(se).apply(te,G.concat(we))},q)});return _.length?K.apply(this,_):K}}var A=typeof global=="object"&&global&&global.Object===Object&&global,T=typeof self=="object"&&self&&self.Object===Object&&self,J=A||T||Function("return this")(),ne=J.Symbol,H=Object.prototype,oe=H.hasOwnProperty,ae=H.toString,Y=ne?ne.toStringTag:void 0;function Ie(S){var P=oe.call(S,Y),_=S[Y];try{S[Y]=void 0;var K=!0}catch{}var G=ae.call(S);return K&&(P?S[Y]=_:delete S[Y]),G}var Ke=Object.prototype,pt=Ke.toString;function mt(S){return pt.call(S)}var kt="[object Null]",ee="[object Undefined]",Ee=ne?ne.toStringTag:void 0;function Te(S){return S==null?S===void 0?ee:kt:Ee&&Ee in Object(S)?Ie(S):mt(S)}var he="[object AsyncFunction]",ht="[object Function]",Fi="[object GeneratorFunction]",nr="[object Proxy]";function pi(S){if(!i(S))return!1;var P=Te(S);return P==ht||P==Fi||P==he||P==nr}var Du=9007199254740991;function Fr(S){return typeof S=="number"&&S>-1&&S%1==0&&S<=Du}function zs(S){return S!=null&&Fr(S.length)&&!pi(S)}var Ka={};function Nt(){}function Li(S){return function(){if(S!==null){var P=S;S=null,P.apply(this,arguments)}}}var zn=typeof Symbol=="function"&&Symbol.iterator,fc=function(S){return zn&&S[zn]&&S[zn]()};function F(S,P){for(var _=-1,K=Array(S);++_<S;)K[_]=P(_);return K}function U(S){return S!=null&&typeof S=="object"}var pe="[object Arguments]";function Re(S){return U(S)&&Te(S)==pe}var ze=Object.prototype,Yr=ze.hasOwnProperty,Wt=ze.propertyIsEnumerable,Mt=Re(function(){return arguments}())?Re:function(S){return U(S)&&Yr.call(S,"callee")&&!Wt.call(S,"callee")},xt=Array.isArray;function yr(){return!1}var Lr=typeof n=="object"&&n&&!n.nodeType&&n,wr=Lr&&typeof $l=="object"&&$l&&!$l.nodeType&&$l,Xr=wr&&wr.exports===Lr,$=Xr?J.Buffer:void 0,X=$?$.isBuffer:void 0,ue=X||yr,ve=9007199254740991,Je=/^(?:0|[1-9]\d*)$/;function Zr(S,P){var _=typeof S;return P=P??ve,!!P&&(_=="number"||_!="symbol"&&Je.test(S))&&S>-1&&S%1==0&&S<P}var bt="[object Arguments]",wt="[object Array]",Qe="[object Boolean]",At="[object Date]",Z="[object Error]",le="[object Function]",W="[object Map]",V="[object Number]",Q="[object Object]",Se="[object RegExp]",Ae="[object Set]",ir="[object String]",mi="[object WeakMap]",hc="[object ArrayBuffer]",ye="[object DataView]",IF="[object Float32Array]",SF="[object Float64Array]",CF="[object Int8Array]",wF="[object Int16Array]",EF="[object Int32Array]",PF="[object Uint8Array]",kF="[object Uint8ClampedArray]",xF="[object Uint16Array]",DF="[object Uint32Array]",Tr={};Tr[IF]=Tr[SF]=Tr[CF]=Tr[wF]=Tr[EF]=Tr[PF]=Tr[kF]=Tr[xF]=Tr[DF]=!0,Tr[bt]=Tr[wt]=Tr[hc]=Tr[Qe]=Tr[ye]=Tr[At]=Tr[Z]=Tr[le]=Tr[W]=Tr[V]=Tr[Q]=Tr[Se]=Tr[Ae]=Tr[ir]=Tr[mi]=!1;function _F(S){return U(S)&&Fr(S.length)&&!!Tr[Te(S)]}function TF(S){return function(P){return S(P)}}var u1=typeof n=="object"&&n&&!n.nodeType&&n,Wf=u1&&typeof $l=="object"&&$l&&!$l.nodeType&&$l,RF=Wf&&Wf.exports===u1,Xw=RF&&A.process,d1=function(){try{var S=Wf&&Wf.require&&Wf.require("util").types;return S||Xw&&Xw.binding&&Xw.binding("util")}catch{}}(),p1=d1&&d1.isTypedArray,AF=p1?TF(p1):_F,NF=Object.prototype,MF=NF.hasOwnProperty;function KF(S,P){var _=xt(S),K=!_&&Mt(S),G=!_&&!K&&ue(S),q=!_&&!K&&!G&&AF(S),te=_||K||G||q,se=te?F(S.length,String):[],we=se.length;for(var Ge in S)(P||MF.call(S,Ge))&&!(te&&(Ge=="length"||G&&(Ge=="offset"||Ge=="parent")||q&&(Ge=="buffer"||Ge=="byteLength"||Ge=="byteOffset")||Zr(Ge,we)))&&se.push(Ge);return se}var OF=Object.prototype;function FF(S){var P=S&&S.constructor,_=typeof P=="function"&&P.prototype||OF;return S===_}function LF(S,P){return function(_){return S(P(_))}}var UF=LF(Object.keys,Object),WF=Object.prototype,VF=WF.hasOwnProperty;function jF(S){if(!FF(S))return UF(S);var P=[];for(var _ in Object(S))VF.call(S,_)&&_!="constructor"&&P.push(_);return P}function Zw(S){return zs(S)?KF(S):jF(S)}function JF(S){var P=-1,_=S.length;return function(){return++P<_?{value:S[P],key:P}:null}}function BF(S){var P=-1;return function(){var K=S.next();return K.done?null:(P++,{value:K.value,key:P})}}function $F(S){var P=Zw(S),_=-1,K=P.length;return function G(){var q=P[++_];return q==="__proto__"?G():_<K?{value:S[q],key:q}:null}}function qF(S){if(zs(S))return JF(S);var P=fc(S);return P?BF(P):$F(S)}function Qs(S){return function(){if(S===null)throw new Error("Callback was already called.");var P=S;S=null,P.apply(this,arguments)}}function LI(S){return function(P,_,K){if(K=Li(K||Nt),S<=0||!P)return K(null);var G=qF(P),q=!1,te=0,se=!1;function we(Pe,gt){if(te-=1,Pe)q=!0,K(Pe);else{if(gt===Ka||q&&te<=0)return q=!0,K(null);se||Ge()}}function Ge(){for(se=!0;te<S&&!q;){var Pe=G();if(Pe===null){q=!0,te<=0&&K(null);return}te+=1,_(Pe.value,Pe.key,Qs(we))}se=!1}Ge()}}function _u(S,P,_,K){LI(P)(S,E(_),K)}function Ln(S,P){return function(_,K,G){return S(_,P,K,G)}}function HF(S,P,_){_=Li(_||Nt);var K=0,G=0,q=S.length;q===0&&_(null);function te(se,we){se?_(se):(++G===q||we===Ka)&&_(null)}for(;K<q;K++)P(S[K],K,Qs(te))}var GF=Ln(_u,1/0),gc=function(S,P,_){var K=zs(S)?HF:GF;K(S,E(P),_)};function Mp(S){return function(P,_,K){return S(gc,P,E(_),K)}}function m1(S,P,_,K){K=K||Nt,P=P||[];var G=[],q=0,te=E(_);S(P,function(se,we,Ge){var Pe=q++;te(se,function(gt,Ur){G[Pe]=Ur,Ge(gt)})},function(se){K(se,G)})}var UI=Mp(m1),f1=x(UI);function Kp(S){return function(P,_,K,G){return S(LI(_),P,E(K),G)}}var Op=Kp(m1),eE=Ln(Op,1),h1=x(eE);function WI(S,P){for(var _=-1,K=S==null?0:S.length;++_<K&&P(S[_],_,S)!==!1;);return S}function zF(S){return function(P,_,K){for(var G=-1,q=Object(P),te=K(P),se=te.length;se--;){var we=te[S?se:++G];if(_(q[we],we,q)===!1)break}return P}}var QF=zF();function Vf(S,P){return S&&QF(S,P,Zw)}function YF(S,P,_,K){for(var G=S.length,q=_+(K?1:-1);K?q--:++q<G;)if(P(S[q],q,S))return q;return-1}function XF(S){return S!==S}function ZF(S,P,_){for(var K=_-1,G=S.length;++K<G;)if(S[K]===P)return K;return-1}function VI(S,P,_){return P===P?ZF(S,P,_):YF(S,XF,_)}var tE=function(S,P,_){typeof P=="function"&&(_=P,P=null),_=Li(_||Nt);var K=Zw(S),G=K.length;if(!G)return _(null);P||(P=G);var q={},te=0,se=!1,we=Object.create(null),Ge=[],Pe=[],gt={};Vf(S,function(Jr,en){if(!xt(Jr)){Ur(en,[Jr]),Pe.push(en);return}var Un=Jr.slice(0,Jr.length-1),yc=Un.length;if(yc===0){Ur(en,Jr),Pe.push(en);return}gt[en]=yc,WI(Un,function(zf){if(!S[zf])throw new Error("async.auto task `"+en+"` has a non-existent dependency `"+zf+"` in "+Un.join(", "));Oa(zf,function(){yc--,yc===0&&Ur(en,Jr)})})}),EG(),fi();function Ur(Jr,en){Ge.push(function(){Fa(Jr,en)})}function fi(){if(Ge.length===0&&te===0)return _(null,q);for(;Ge.length&&te<P;){var Jr=Ge.shift();Jr()}}function Oa(Jr,en){var Un=we[Jr];Un||(Un=we[Jr]=[]),Un.push(en)}function ls(Jr){var en=we[Jr]||[];WI(en,function(Un){Un()}),fi()}function Fa(Jr,en){if(!se){var Un=Qs(function(zf,uR){if(te--,arguments.length>2&&(uR=e(arguments,1)),zf){var dR={};Vf(q,function(kG,xG){dR[xG]=kG}),dR[Jr]=uR,se=!0,we=Object.create(null),_(zf,dR)}else q[Jr]=uR,ls(Jr)});te++;var yc=E(en[en.length-1]);en.length>1?yc(q,Un):yc(Un)}}function EG(){for(var Jr,en=0;Pe.length;)Jr=Pe.pop(),en++,WI(PG(Jr),function(Un){--gt[Un]===0&&Pe.push(Un)});if(en!==G)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}function PG(Jr){var en=[];return Vf(S,function(Un,yc){xt(Un)&&VI(Un,Jr,0)>=0&&en.push(yc)}),en}};function Fp(S,P){for(var _=-1,K=S==null?0:S.length,G=Array(K);++_<K;)G[_]=P(S[_],_,S);return G}var eL="[object Symbol]";function tL(S){return typeof S=="symbol"||U(S)&&Te(S)==eL}var rL=1/0,g1=ne?ne.prototype:void 0,v1=g1?g1.toString:void 0;function rE(S){if(typeof S=="string")return S;if(xt(S))return Fp(S,rE)+"";if(tL(S))return v1?v1.call(S):"";var P=S+"";return P=="0"&&1/S==-rL?"-0":P}function nL(S,P,_){var K=-1,G=S.length;P<0&&(P=-P>G?0:G+P),_=_>G?G:_,_<0&&(_+=G),G=P>_?0:_-P>>>0,P>>>=0;for(var q=Array(G);++K<G;)q[K]=S[K+P];return q}function iL(S,P,_){var K=S.length;return _=_===void 0?K:_,!P&&_>=K?S:nL(S,P,_)}function oL(S,P){for(var _=S.length;_--&&VI(P,S[_],0)>-1;);return _}function sL(S,P){for(var _=-1,K=S.length;++_<K&&VI(P,S[_],0)>-1;);return _}function aL(S){return S.split("")}var lL="\\ud800-\\udfff",cL="\\u0300-\\u036f",uL="\\ufe20-\\ufe2f",dL="\\u20d0-\\u20ff",pL=cL+uL+dL,mL="\\ufe0e\\ufe0f",fL="\\u200d",hL=RegExp("["+fL+lL+pL+mL+"]");function gL(S){return hL.test(S)}var y1="\\ud800-\\udfff",vL="\\u0300-\\u036f",yL="\\ufe20-\\ufe2f",bL="\\u20d0-\\u20ff",IL=vL+yL+bL,SL="\\ufe0e\\ufe0f",CL="["+y1+"]",nE="["+IL+"]",iE="\\ud83c[\\udffb-\\udfff]",wL="(?:"+nE+"|"+iE+")",b1="[^"+y1+"]",I1="(?:\\ud83c[\\udde6-\\uddff]){2}",S1="[\\ud800-\\udbff][\\udc00-\\udfff]",EL="\\u200d",C1=wL+"?",w1="["+SL+"]?",PL="(?:"+EL+"(?:"+[b1,I1,S1].join("|")+")"+w1+C1+")*",kL=w1+C1+PL,xL="(?:"+[b1+nE+"?",nE,I1,S1,CL].join("|")+")",DL=RegExp(iE+"(?="+iE+")|"+xL+kL,"g");function _L(S){return S.match(DL)||[]}function E1(S){return gL(S)?_L(S):aL(S)}function TL(S){return S==null?"":rE(S)}var RL=/^\s+|\s+$/g;function AL(S,P,_){if(S=TL(S),S&&(_||P===void 0))return S.replace(RL,"");if(!S||!(P=rE(P)))return S;var K=E1(S),G=E1(P),q=sL(K,G),te=oL(K,G)+1;return iL(K,q,te).join("")}var NL=/^(?:async\s+)?(function)?\s*[^\(]*\(\s*([^\)]*)\)/m,ML=/,/,KL=/(=.+)?(\s*)$/,OL=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;function FL(S){return S=S.toString().replace(OL,""),S=S.match(NL)[2].replace(" ",""),S=S?S.split(ML):[],S=S.map(function(P){return AL(P.replace(KL,""))}),S}function P1(S,P){var _={};Vf(S,function(K,G){var q,te=I(K),se=!te&&K.length===1||te&&K.length===0;if(xt(K))q=K.slice(0,-1),K=K[K.length-1],_[G]=q.concat(q.length>0?we:K);else if(se)_[G]=K;else{if(q=FL(K),K.length===0&&!te&&q.length===0)throw new Error("autoInject task functions require explicit parameters.");te||q.pop(),_[G]=q.concat(we)}function we(Ge,Pe){var gt=Fp(q,function(Ur){return Ge[Ur]});gt.push(Pe),E(K).apply(null,gt)}}),tE(_,P)}function as(){this.head=this.tail=null,this.length=0}function k1(S,P){S.length=1,S.head=S.tail=P}as.prototype.removeLink=function(S){return S.prev?S.prev.next=S.next:this.head=S.next,S.next?S.next.prev=S.prev:this.tail=S.prev,S.prev=S.next=null,this.length-=1,S},as.prototype.empty=function(){for(;this.head;)this.shift();return this},as.prototype.insertAfter=function(S,P){P.prev=S,P.next=S.next,S.next?S.next.prev=P:this.tail=P,S.next=P,this.length+=1},as.prototype.insertBefore=function(S,P){P.prev=S.prev,P.next=S,S.prev?S.prev.next=P:this.head=P,S.prev=P,this.length+=1},as.prototype.unshift=function(S){this.head?this.insertBefore(this.head,S):k1(this,S)},as.prototype.push=function(S){this.tail?this.insertAfter(this.tail,S):k1(this,S)},as.prototype.shift=function(){return this.head&&this.removeLink(this.head)},as.prototype.pop=function(){return this.tail&&this.removeLink(this.tail)},as.prototype.toArray=function(){for(var S=Array(this.length),P=this.head,_=0;_<this.length;_++)S[_]=P.data,P=P.next;return S},as.prototype.remove=function(S){for(var P=this.head;P;){var _=P.next;S(P)&&this.removeLink(P),P=_}return this};function x1(S,P,_){if(P==null)P=1;else if(P===0)throw new Error("Concurrency must not be zero");var K=E(S),G=0,q=[],te=!1;function se(gt,Ur,fi){if(fi!=null&&typeof fi!="function")throw new Error("task callback must be a function");if(Pe.started=!0,xt(gt)||(gt=[gt]),gt.length===0&&Pe.idle())return u(function(){Pe.drain()});for(var Oa=0,ls=gt.length;Oa<ls;Oa++){var Fa={data:gt[Oa],callback:fi||Nt};Ur?Pe._tasks.unshift(Fa):Pe._tasks.push(Fa)}te||(te=!0,u(function(){te=!1,Pe.process()}))}function we(gt){return function(Ur){G-=1;for(var fi=0,Oa=gt.length;fi<Oa;fi++){var ls=gt[fi],Fa=VI(q,ls,0);Fa===0?q.shift():Fa>0&&q.splice(Fa,1),ls.callback.apply(ls,arguments),Ur!=null&&Pe.error(Ur,ls.data)}G<=Pe.concurrency-Pe.buffer&&Pe.unsaturated(),Pe.idle()&&Pe.drain(),Pe.process()}}var Ge=!1,Pe={_tasks:new as,concurrency:P,payload:_,saturated:Nt,unsaturated:Nt,buffer:P/4,empty:Nt,drain:Nt,error:Nt,started:!1,paused:!1,push:function(gt,Ur){se(gt,!1,Ur)},kill:function(){Pe.drain=Nt,Pe._tasks.empty()},unshift:function(gt,Ur){se(gt,!0,Ur)},remove:function(gt){Pe._tasks.remove(gt)},process:function(){if(!Ge){for(Ge=!0;!Pe.paused&&G<Pe.concurrency&&Pe._tasks.length;){var gt=[],Ur=[],fi=Pe._tasks.length;Pe.payload&&(fi=Math.min(fi,Pe.payload));for(var Oa=0;Oa<fi;Oa++){var ls=Pe._tasks.shift();gt.push(ls),q.push(ls),Ur.push(ls.data)}G+=1,Pe._tasks.length===0&&Pe.empty(),G===Pe.concurrency&&Pe.saturated();var Fa=Qs(we(gt));K(Ur,Fa)}Ge=!1}},length:function(){return Pe._tasks.length},running:function(){return G},workersList:function(){return q},idle:function(){return Pe._tasks.length+G===0},pause:function(){Pe.paused=!0},resume:function(){Pe.paused!==!1&&(Pe.paused=!1,u(Pe.process))}};return Pe}function D1(S,P){return x1(S,1,P)}var Lp=Ln(_u,1);function vc(S,P,_,K){K=Li(K||Nt);var G=E(_);Lp(S,function(q,te,se){G(P,q,function(we,Ge){P=Ge,se(we)})},function(q){K(q,P)})}function oE(){var S=Fp(arguments,E);return function(){var P=e(arguments),_=this,K=P[P.length-1];typeof K=="function"?P.pop():K=Nt,vc(S,P,function(G,q,te){q.apply(_,G.concat(function(se){var we=e(arguments,1);te(se,we)}))},function(G,q){K.apply(_,[G].concat(q))})}}var _1=function(){return oE.apply(null,e(arguments).reverse())},LL=Array.prototype.concat,jI=function(S,P,_,K){K=K||Nt;var G=E(_);Op(S,P,function(q,te){G(q,function(se){return se?te(se):te(null,e(arguments,1))})},function(q,te){for(var se=[],we=0;we<te.length;we++)te[we]&&(se=LL.apply(se,te[we]));return K(q,se)})},T1=Ln(jI,1/0),R1=Ln(jI,1),A1=function(){var S=e(arguments),P=[null].concat(S);return function(){var _=arguments[arguments.length-1];return _.apply(this,P)}};function jf(S){return S}function Up(S,P){return function(_,K,G,q){q=q||Nt;var te=!1,se;_(K,function(we,Ge,Pe){G(we,function(gt,Ur){gt?Pe(gt):S(Ur)&&!se?(te=!0,se=P(!0,we),Pe(null,Ka)):Pe()})},function(we){we?q(we):q(null,te?se:P(!1))})}}function N1(S,P){return P}var JI=Mp(Up(jf,N1)),Jf=Kp(Up(jf,N1)),BI=Ln(Jf,1);function M1(S){return function(P){var _=e(arguments,1);_.push(function(K){var G=e(arguments,1);typeof console=="object"&&(K?console.error&&console.error(K):console[S]&&WI(G,function(q){console[S](q)}))}),E(P).apply(null,_)}}var K1=M1("dir");function O1(S,P,_){_=Qs(_||Nt);var K=E(S),G=E(P);function q(se){if(se)return _(se);var we=e(arguments,1);we.push(te),G.apply(this,we)}function te(se,we){if(se)return _(se);if(!we)return _(null);K(q)}te(null,!0)}function sE(S,P,_){_=Qs(_||Nt);var K=E(S),G=function(q){if(q)return _(q);var te=e(arguments,1);if(P.apply(this,te))return K(G);_.apply(null,[null].concat(te))};K(G)}function F1(S,P,_){sE(S,function(){return!P.apply(this,arguments)},_)}function L1(S,P,_){_=Qs(_||Nt);var K=E(P),G=E(S);function q(se){if(se)return _(se);G(te)}function te(se,we){if(se)return _(se);if(!we)return _(null);K(q)}G(te)}function U1(S){return function(P,_,K){return S(P,K)}}function $I(S,P,_){gc(S,U1(E(P)),_)}function Bf(S,P,_,K){LI(P)(S,U1(E(_)),K)}var $f=Ln(Bf,1);function aE(S){return I(S)?S:r(function(P,_){var K=!0;P.push(function(){var G=arguments;K?u(function(){_.apply(null,G)}):_.apply(null,G)}),S.apply(this,P),K=!1})}function qI(S){return!S}var HI=Mp(Up(qI,qI)),qf=Kp(Up(qI,qI)),GI=Ln(qf,1);function W1(S){return function(P){return P?.[S]}}function UL(S,P,_,K){var G=new Array(P.length);S(P,function(q,te,se){_(q,function(we,Ge){G[te]=!!Ge,se(we)})},function(q){if(q)return K(q);for(var te=[],se=0;se<P.length;se++)G[se]&&te.push(P[se]);K(null,te)})}function WL(S,P,_,K){var G=[];S(P,function(q,te,se){_(q,function(we,Ge){we?se(we):(Ge&&G.push({index:te,value:q}),se())})},function(q){q?K(q):K(null,Fp(G.sort(function(te,se){return te.index-se.index}),W1("value")))})}function lE(S,P,_,K){var G=zs(P)?UL:WL;G(S,P,E(_),K||Nt)}var zI=Mp(lE),Hf=Kp(lE),QI=Ln(Hf,1);function V1(S,P){var _=Qs(P||Nt),K=E(aE(S));function G(q){if(q)return _(q);K(G)}G()}var YI=function(S,P,_,K){K=K||Nt;var G=E(_);Op(S,P,function(q,te){G(q,function(se,we){return se?te(se):te(null,{key:we,val:q})})},function(q,te){for(var se={},we=Object.prototype.hasOwnProperty,Ge=0;Ge<te.length;Ge++)if(te[Ge]){var Pe=te[Ge].key,gt=te[Ge].val;we.call(se,Pe)?se[Pe].push(gt):se[Pe]=[gt]}return K(q,se)})},j1=Ln(YI,1/0),J1=Ln(YI,1),B1=M1("log");function XI(S,P,_,K){K=Li(K||Nt);var G={},q=E(_);_u(S,P,function(te,se,we){q(te,se,function(Ge,Pe){if(Ge)return we(Ge);G[se]=Pe,we()})},function(te){K(te,G)})}var $1=Ln(XI,1/0),q1=Ln(XI,1);function H1(S,P){return P in S}function G1(S,P){var _=Object.create(null),K=Object.create(null);P=P||jf;var G=E(S),q=r(function(se,we){var Ge=P.apply(null,se);H1(_,Ge)?u(function(){we.apply(null,_[Ge])}):H1(K,Ge)?K[Ge].push(we):(K[Ge]=[we],G.apply(null,se.concat(function(){var Pe=e(arguments);_[Ge]=Pe;var gt=K[Ge];delete K[Ge];for(var Ur=0,fi=gt.length;Ur<fi;Ur++)gt[Ur].apply(null,Pe)})))});return q.memo=_,q.unmemoized=S,q}var ZI;s?ZI=process.nextTick:o?ZI=setImmediate:ZI=a;var z1=l(ZI);function cE(S,P,_){_=_||Nt;var K=zs(P)?[]:{};S(P,function(G,q,te){E(G)(function(se,we){arguments.length>2&&(we=e(arguments,1)),K[q]=we,te(se)})},function(G){_(G,K)})}function Q1(S,P){cE(gc,S,P)}function Y1(S,P,_){cE(LI(P),S,_)}var uE=function(S,P){var _=E(S);return x1(function(K,G){_(K[0],G)},P,1)},X1=function(S,P){var _=uE(S,P);return _.push=function(K,G,q){if(q==null&&(q=Nt),typeof q!="function")throw new Error("task callback must be a function");if(_.started=!0,xt(K)||(K=[K]),K.length===0)return u(function(){_.drain()});G=G||0;for(var te=_._tasks.head;te&&G>=te.priority;)te=te.next;for(var se=0,we=K.length;se<we;se++){var Ge={data:K[se],priority:G,callback:q};te?_._tasks.insertBefore(te,Ge):_._tasks.push(Ge)}u(_.process)},delete _.unshift,_};function Z1(S,P){if(P=Li(P||Nt),!xt(S))return P(new TypeError("First argument to race must be an array of functions"));if(!S.length)return P();for(var _=0,K=S.length;_<K;_++)E(S[_])(P)}function eS(S,P,_,K){var G=e(S).reverse();vc(G,P,_,K)}function tS(S){var P=E(S);return r(function(K,G){return K.push(function(te,se){if(te)G(null,{error:te});else{var we;arguments.length<=2?we=se:we=e(arguments,1),G(null,{value:we})}}),P.apply(this,K)})}function eR(S){var P;return xt(S)?P=Fp(S,tS):(P={},Vf(S,function(_,K){P[K]=tS.call(this,_)})),P}function tR(S,P,_,K){lE(S,P,function(G,q){_(G,function(te,se){q(te,!se)})},K)}var rR=Mp(tR),dE=Kp(tR),nR=Ln(dE,1);function iR(S){return function(){return S}}function rS(S,P,_){var K=5,G=0,q={times:K,intervalFunc:iR(G)};function te(Pe,gt){if(typeof gt=="object")Pe.times=+gt.times||K,Pe.intervalFunc=typeof gt.interval=="function"?gt.interval:iR(+gt.interval||G),Pe.errorFilter=gt.errorFilter;else if(typeof gt=="number"||typeof gt=="string")Pe.times=+gt||K;else throw new Error("Invalid arguments for async.retry")}if(arguments.length<3&&typeof S=="function"?(_=P||Nt,P=S):(te(q,S),_=_||Nt),typeof P!="function")throw new Error("Invalid arguments for async.retry");var se=E(P),we=1;function Ge(){se(function(Pe){Pe&&we++<q.times&&(typeof q.errorFilter!="function"||q.errorFilter(Pe))?setTimeout(Ge,q.intervalFunc(we)):_.apply(null,arguments)})}Ge()}var oR=function(S,P){P||(P=S,S=null);var _=E(P);return r(function(K,G){function q(te){_.apply(null,K.concat(te))}S?rS(S,q,G):rS(q,G)})};function sR(S,P){cE(Lp,S,P)}var nS=Mp(Up(Boolean,jf)),Gf=Kp(Up(Boolean,jf)),iS=Ln(Gf,1);function aR(S,P,_){var K=E(P);UI(S,function(q,te){K(q,function(se,we){if(se)return te(se);te(null,{value:q,criteria:we})})},function(q,te){if(q)return _(q);_(null,Fp(te.sort(G),W1("value")))});function G(q,te){var se=q.criteria,we=te.criteria;return se<we?-1:se>we?1:0}}function lR(S,P,_){var K=E(S);return r(function(G,q){var te=!1,se;function we(){var Ge=S.name||"anonymous",Pe=new Error('Callback function "'+Ge+'" timed out.');Pe.code="ETIMEDOUT",_&&(Pe.info=_),te=!0,q(Pe)}G.push(function(){te||(q.apply(null,arguments),clearTimeout(se))}),se=setTimeout(we,P),K.apply(null,G)})}var VL=Math.ceil,jL=Math.max;function D(S,P,_,K){for(var G=-1,q=jL(VL((P-S)/(_||1)),0),te=Array(q);q--;)te[K?q:++G]=S,S+=_;return te}function L(S,P,_,K){var G=E(_);Op(D(0,S,1),P,G,K)}var $e=Ln(L,1/0),pE=Ln(L,1);function JL(S,P,_,K){arguments.length<=3&&(K=_,_=P,P=xt(S)?[]:{}),K=Li(K||Nt);var G=E(_);gc(S,function(q,te,se){G(P,q,te,se)},function(q){K(q,P)})}function BL(S,P){var _=null,K;P=P||Nt,$f(S,function(G,q){E(G)(function(te,se){arguments.length>2?K=e(arguments,1):K=se,_=te,q(!te)})},function(){P(_,K)})}function $L(S){return function(){return(S.unmemoized||S).apply(null,arguments)}}function cR(S,P,_){_=Qs(_||Nt);var K=E(P);if(!S())return _(null);var G=function(q){if(q)return _(q);if(S())return K(G);var te=e(arguments,1);_.apply(null,[null].concat(te))};K(G)}function qL(S,P,_){cR(function(){return!S.apply(this,arguments)},P,_)}var HL=function(S,P){if(P=Li(P||Nt),!xt(S))return P(new Error("First argument to waterfall must be an array of functions"));if(!S.length)return P();var _=0;function K(q){var te=E(S[_++]);q.push(Qs(G)),te.apply(null,q)}function G(q){if(q||_===S.length)return P.apply(null,arguments);K(e(arguments,1))}K([])},wG={apply:t,applyEach:f1,applyEachSeries:h1,asyncify:d,auto:tE,autoInject:P1,cargo:D1,compose:_1,concat:T1,concatLimit:jI,concatSeries:R1,constant:A1,detect:JI,detectLimit:Jf,detectSeries:BI,dir:K1,doDuring:O1,doUntil:F1,doWhilst:sE,during:L1,each:$I,eachLimit:Bf,eachOf:gc,eachOfLimit:_u,eachOfSeries:Lp,eachSeries:$f,ensureAsync:aE,every:HI,everyLimit:qf,everySeries:GI,filter:zI,filterLimit:Hf,filterSeries:QI,forever:V1,groupBy:j1,groupByLimit:YI,groupBySeries:J1,log:B1,map:UI,mapLimit:Op,mapSeries:eE,mapValues:$1,mapValuesLimit:XI,mapValuesSeries:q1,memoize:G1,nextTick:z1,parallel:Q1,parallelLimit:Y1,priorityQueue:X1,queue:uE,race:Z1,reduce:vc,reduceRight:eS,reflect:tS,reflectAll:eR,reject:rR,rejectLimit:dE,rejectSeries:nR,retry:rS,retryable:oR,seq:oE,series:sR,setImmediate:u,some:nS,someLimit:Gf,someSeries:iS,sortBy:aR,timeout:lR,times:$e,timesLimit:L,timesSeries:pE,transform:JL,tryEach:BL,unmemoize:$L,until:qL,waterfall:HL,whilst:cR,all:HI,allLimit:qf,allSeries:GI,any:nS,anyLimit:Gf,anySeries:iS,find:JI,findLimit:Jf,findSeries:BI,forEach:$I,forEachSeries:$f,forEachLimit:Bf,forEachOf:gc,forEachOfSeries:Lp,forEachOfLimit:_u,inject:vc,foldl:vc,foldr:eS,select:zI,selectLimit:Hf,selectSeries:QI,wrapSync:d};n.default=wG,n.apply=t,n.applyEach=f1,n.applyEachSeries=h1,n.asyncify=d,n.auto=tE,n.autoInject=P1,n.cargo=D1,n.compose=_1,n.concat=T1,n.concatLimit=jI,n.concatSeries=R1,n.constant=A1,n.detect=JI,n.detectLimit=Jf,n.detectSeries=BI,n.dir=K1,n.doDuring=O1,n.doUntil=F1,n.doWhilst=sE,n.during=L1,n.each=$I,n.eachLimit=Bf,n.eachOf=gc,n.eachOfLimit=_u,n.eachOfSeries=Lp,n.eachSeries=$f,n.ensureAsync=aE,n.every=HI,n.everyLimit=qf,n.everySeries=GI,n.filter=zI,n.filterLimit=Hf,n.filterSeries=QI,n.forever=V1,n.groupBy=j1,n.groupByLimit=YI,n.groupBySeries=J1,n.log=B1,n.map=UI,n.mapLimit=Op,n.mapSeries=eE,n.mapValues=$1,n.mapValuesLimit=XI,n.mapValuesSeries=q1,n.memoize=G1,n.nextTick=z1,n.parallel=Q1,n.parallelLimit=Y1,n.priorityQueue=X1,n.queue=uE,n.race=Z1,n.reduce=vc,n.reduceRight=eS,n.reflect=tS,n.reflectAll=eR,n.reject=rR,n.rejectLimit=dE,n.rejectSeries=nR,n.retry=rS,n.retryable=oR,n.seq=oE,n.series=sR,n.setImmediate=u,n.some=nS,n.someLimit=Gf,n.someSeries=iS,n.sortBy=aR,n.timeout=lR,n.times=$e,n.timesLimit=L,n.timesSeries=pE,n.transform=JL,n.tryEach=BL,n.unmemoize=$L,n.until=qL,n.waterfall=HL,n.whilst=cR,n.all=HI,n.allLimit=qf,n.allSeries=GI,n.any=nS,n.anyLimit=Gf,n.anySeries=iS,n.find=JI,n.findLimit=Jf,n.findSeries=BI,n.forEach=$I,n.forEachSeries=$f,n.forEachLimit=Bf,n.forEachOf=gc,n.forEachOfSeries=Lp,n.forEachOfLimit=_u,n.inject=vc,n.foldl=vc,n.foldr=eS,n.select=zI,n.selectLimit=Hf,n.selectSeries=QI,n.wrapSync=d,Object.defineProperty(n,"__esModule",{value:!0})})});var fO=O((gQe,E5)=>{"use strict";function Ade(n){t.debug=t,t.default=t,t.coerce=l,t.disable=s,t.enable=o,t.enabled=a,t.humanize=cO(),Object.keys(n).forEach(function(c){t[c]=n[c]}),t.instances=[],t.names=[],t.skips=[],t.formatters={};function e(c){for(var u=0,d=0;d<c.length;d++)u=(u<<5)-u+c.charCodeAt(d),u|=0;return t.colors[Math.abs(u)%t.colors.length]}t.selectColor=e;function t(c){var u;function d(){if(d.enabled){for(var f=arguments.length,g=new Array(f),b=0;b<f;b++)g[b]=arguments[b];var I=d,E=Number(new Date),x=E-(u||E);I.diff=x,I.prev=u,I.curr=E,u=E,g[0]=t.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");var A=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,function(J,ne){if(J==="%%")return J;A++;var H=t.formatters[ne];if(typeof H=="function"){var oe=g[A];J=H.call(I,oe),g.splice(A,1),A--}return J}),t.formatArgs.call(I,g);var T=I.log||t.log;T.apply(I,g)}}return d.namespace=c,d.enabled=t.enabled(c),d.useColors=t.useColors(),d.color=e(c),d.destroy=r,d.extend=i,typeof t.init=="function"&&t.init(d),t.instances.push(d),d}function r(){var c=t.instances.indexOf(this);return c!==-1?(t.instances.splice(c,1),!0):!1}function i(c,u){return t(this.namespace+(typeof u>"u"?":":u)+c)}function o(c){t.save(c),t.names=[],t.skips=[];var u,d=(typeof c=="string"?c:"").split(/[\s,]+/),f=d.length;for(u=0;u<f;u++)d[u]&&(c=d[u].replace(/\*/g,".*?"),c[0]==="-"?t.skips.push(new RegExp("^"+c.substr(1)+"$")):t.names.push(new RegExp("^"+c+"$")));for(u=0;u<t.instances.length;u++){var g=t.instances[u];g.enabled=t.enabled(g.namespace)}}function s(){t.enable("")}function a(c){if(c[c.length-1]==="*")return!0;var u,d;for(u=0,d=t.skips.length;u<d;u++)if(t.skips[u].test(c))return!1;for(u=0,d=t.names.length;u<d;u++)if(t.names[u].test(c))return!0;return!1}function l(c){return c instanceof Error?c.stack||c.message:c}return t.enable(t.load()),t}E5.exports=Ade});var P5=O((Ws,y_)=>{"use strict";function v_(n){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?v_=function(t){return typeof t}:v_=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},v_(n)}Ws.log=Kde;Ws.formatArgs=Mde;Ws.save=Ode;Ws.load=Fde;Ws.useColors=Nde;Ws.storage=Lde();Ws.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Nde(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Mde(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+y_.exports.humanize(this.diff),!!this.useColors){var e="color: "+this.color;n.splice(1,0,e,"color: inherit");var t=0,r=0;n[0].replace(/%[a-zA-Z%]/g,function(i){i!=="%%"&&(t++,i==="%c"&&(r=t))}),n.splice(r,0,e)}}function Kde(){var n;return(typeof console>"u"?"undefined":v_(console))==="object"&&console.log&&(n=console).log.apply(n,arguments)}function Ode(n){try{n?Ws.storage.setItem("debug",n):Ws.storage.removeItem("debug")}catch{}}function Fde(){var n;try{n=Ws.storage.getItem("debug")}catch{}return!n&&typeof process<"u"&&"env"in process&&(n=process.env.DEBUG),n}function Lde(){try{return localStorage}catch{}}y_.exports=fO()(Ws);var Ude=y_.exports.formatters;Ude.j=function(n){try{return JSON.stringify(n)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var x5=O((Mi,S_)=>{"use strict";var Wde=require("tty"),I_=require("util");Mi.init=Hde;Mi.log=Bde;Mi.formatArgs=jde;Mi.save=$de;Mi.load=qde;Mi.useColors=Vde;Mi.colors=[6,2,3,4,5,1];try{b_=pO(),b_&&(b_.stderr||b_).level>=2&&(Mi.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}var b_;Mi.inspectOpts=Object.keys(process.env).filter(function(n){return/^debug_/i.test(n)}).reduce(function(n,e){var t=e.substring(6).toLowerCase().replace(/_([a-z])/g,function(i,o){return o.toUpperCase()}),r=process.env[e];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),n[t]=r,n},{});function Vde(){return"colors"in Mi.inspectOpts?!!Mi.inspectOpts.colors:Wde.isatty(process.stderr.fd)}function jde(n){var e=this.namespace,t=this.useColors;if(t){var r=this.color,i="\x1B[3"+(r<8?r:"8;5;"+r),o=" ".concat(i,";1m").concat(e," \x1B[0m");n[0]=o+n[0].split(`
|
||
`).join(`
|
||
`+o),n.push(i+"m+"+S_.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=Jde()+e+" "+n[0]}function Jde(){return Mi.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Bde(){return process.stderr.write(I_.format.apply(I_,arguments)+`
|
||
`)}function $de(n){n?process.env.DEBUG=n:delete process.env.DEBUG}function qde(){return process.env.DEBUG}function Hde(n){n.inspectOpts={};for(var e=Object.keys(Mi.inspectOpts),t=0;t<e.length;t++)n.inspectOpts[e[t]]=Mi.inspectOpts[e[t]]}S_.exports=fO()(Mi);var k5=S_.exports.formatters;k5.o=function(n){return this.inspectOpts.colors=this.useColors,I_.inspect(n,this.inspectOpts).split(`
|
||
`).map(function(e){return e.trim()}).join(" ")};k5.O=function(n){return this.inspectOpts.colors=this.useColors,I_.inspect(n,this.inspectOpts)}});var D5=O((vQe,hO)=>{"use strict";typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?hO.exports=P5():hO.exports=x5()});var A5=O((yQe,R5)=>{var lw=require("path"),_5=require("fs"),T5=parseInt("0777",8);R5.exports=_y.mkdirp=_y.mkdirP=_y;function _y(n,e,t,r){typeof e=="function"?(t=e,e={}):(!e||typeof e!="object")&&(e={mode:e});var i=e.mode,o=e.fs||_5;i===void 0&&(i=T5),r||(r=null);var s=t||function(){};n=lw.resolve(n),o.mkdir(n,i,function(a){if(!a)return r=r||n,s(null,r);switch(a.code){case"ENOENT":if(lw.dirname(n)===n)return s(a);_y(lw.dirname(n),e,function(l,c){l?s(l,c):_y(n,e,s,c)});break;default:o.stat(n,function(l,c){l||!c.isDirectory()?s(a,r):s(null,r)});break}})}_y.sync=function n(e,t,r){(!t||typeof t!="object")&&(t={mode:t});var i=t.mode,o=t.fs||_5;i===void 0&&(i=T5),r||(r=null),e=lw.resolve(e);try{o.mkdirSync(e,i),r=r||e}catch(a){switch(a.code){case"ENOENT":r=n(lw.dirname(e),t,r),n(e,t,r);break;default:var s;try{s=o.statSync(e)}catch{throw a}if(!s.isDirectory())throw a;break}}return r}});var K5=O(vr=>{"use strict";var N5=require("fs"),Gde=require("os"),zde=require("net"),C_=require("path"),M5=w5(),yO=D5(),Qde=A5().mkdirp,gO=yO("portfinder:testPort"),cw=yO("portfinder:getPort"),Yde=yO("portfinder:defaultHosts"),vO={};vO.testPort=function(n,e){e||(e=n,n={}),n.server=n.server||zde.createServer(function(){}),gO("entered testPort(): trying",n.host,"port",n.port);function t(){gO("done w/ testPort(): OK",n.host,"port",n.port),n.server.removeListener("error",r),n.server.close(),e(null,n.port)}function r(i){if(gO("done w/ testPort(): failed",n.host,"w/ port",n.port,"with error",i.code),n.server.removeListener("listening",t),!(i.code=="EADDRINUSE"||i.code=="EACCES"))return e(i);var o=vr.nextPort(n.port);if(o>vr.highestPort)return e(new Error("No open ports available"));vO.testPort({port:o,host:n.host,server:n.server},e)}n.server.once("error",r),n.server.once("listening",t),n.host?n.server.listen(n.port,n.host):n.server.listen(n.port)};vr.basePort=8e3;vr.highestPort=65535;vr.basePath="/tmp/portfinder";vr.getPort=function(n,e){if(e||(e=n,n={}),n.port=Number(n.port)||Number(vr.basePort),n.host=n.host||null,n.stopPort=Number(n.stopPort)||Number(vr.highestPort),!n.startPort){if(n.startPort=Number(n.port),n.startPort<0)throw Error("Provided options.startPort("+n.startPort+") is less than 0, which are cannot be bound.");if(n.stopPort<n.startPort)throw Error("Provided options.stopPort("+n.stopPort+"is less than options.startPort ("+n.startPort+")")}if(n.host){for(var t,r=0;r<vr._defaultHosts.length;r++)if(vr._defaultHosts[r]===n.host){t=!0;break}t||vr._defaultHosts.push(n.host)}var i=[],o;return M5.eachSeries(vr._defaultHosts,function(s,a){return cw("in eachSeries() iteration callback: host is",s),vO.testPort({host:s,port:n.port},function(l,c){return l?(cw("in eachSeries() iteration callback testPort() callback","with an err:",l.code),o=s,a(l)):(cw("in eachSeries() iteration callback testPort() callback","with a success for port",c),i.push(c),a())})},function(s){if(s)if(cw("in eachSeries() result callback: err is",s),s.code==="EADDRNOTAVAIL"||s.code==="EINVAL")if(n.host===o){var a="Provided host "+n.host+" could NOT be bound. Please provide a different host address or hostname";return e(Error(a))}else{var l=vr._defaultHosts.indexOf(o);return vr._defaultHosts.splice(l,1),vr.getPort(n,e)}else return e(s);if(i.sort(function(c,u){return c-u}),cw("in eachSeries() result callback: openPorts is",i),i[0]===i[i.length-1]){if(i[0]<=n.stopPort)return e(null,i[0]);var a="No open ports found in between "+n.startPort+" and "+n.stopPort;return e(Error(a))}else return vr.getPort({port:i.pop(),host:n.host,startPort:n.startPort,stopPort:n.stopPort},e)})};vr.getPortPromise=function(n){if(typeof Promise!="function")throw Error("Native promise support is not available in this version of node.Please install a polyfill and assign Promise to global.Promise before calling this method");return n||(n={}),new Promise(function(e,t){vr.getPort(n,function(r,i){if(r)return t(r);e(i)})})};vr.getPorts=function(n,e,t){t||(t=e,e={});var r=null;M5.timesSeries(n,function(i,o){r&&(e.port=vr.nextPort(r)),vr.getPort(e,function(s,a){s?o(s):(r=a,o(null,a))})},t)};vr.getSocket=function(n,e){e||(e=n,n={}),n.mod=n.mod||parseInt(755,8),n.path=n.path||vr.basePath+".sock";function t(){N5.stat(n.path,function(o){o?o.code=="ENOENT"?e(null,n.path):e(o):(n.path=vr.nextSocket(n.path),vr.getSocket(n,e))})}function r(o){Qde(o,n.mod,function(s){if(s)return e(s);n.exists=!0,t()})}function i(){var o=C_.dirname(n.path);N5.stat(o,function(s,a){if(s||!a.isDirectory())return r(o);n.exists=!0,t()})}return n.exists?t():i()};vr.nextPort=function(n){return n+1};vr.nextSocket=function(n){var e=C_.dirname(n),t=C_.basename(n,".sock"),r=t.match(/^([a-zA-z]+)(\d*)$/i),i=parseInt(r[2]),o=r[1];return isNaN(i)&&(i=0),i+=1,C_.join(e,o+i+".sock")};vr._defaultHosts=function(){var n={};try{n=Gde.networkInterfaces()}catch(l){if(l.syscall!=="uv_interface_addresses")throw l}for(var e=Object.keys(n),t="0.0.0.0",r=[t],i=0;i<e.length;i++)for(var o=n[e[i]],s=0;s<o.length;s++){var a=o[s];r.push(a.address)}return r.push(null),Yde("exports._defaultHosts is: %o",r),r}()});var B5=O(Ty=>{"use strict";Object.defineProperty(Ty,"__esModule",{value:!0});Ty.encode=Ty.decode=void 0;var V5=require("crypto"),bO="<IDS|MSG>",epe=5;function P_(n){return JSON.parse(n.toString())}function j5(n){return Object.assign({},{header:{},parent_header:{},metadata:{},content:{},idents:[],buffers:[]},n)}function J5(n){let e=n;switch(n){case"hmac-sha256":e="sha256";break}return e}function tpe(n,e,t="sha256"){var r=0;let i=[];for(r=0;r<n.length;r++){var o=n[r];if(o.toString()===bO)break;i.push(o)}if(n.length-r<epe)throw new Error("Message Decoding: Not enough message frames");if(n[r].toString()!==bO)throw new Error("Message Decoding: Missing delimiter");if(e){let u=J5(t);var s=n[r+1].toString(),a=V5.createHmac(u,e);a.update(n[r+2]),a.update(n[r+3]),a.update(n[r+4]),a.update(n[r+5]);var l=a.digest("hex");if(l!==s)throw new Error(`Message Decoding: Incorrect;
|
||
Obtained "${s}"
|
||
Expected "${l}"`)}var c=j5({idents:i,header:P_(n[r+2]),parent_header:P_(n[r+3]),content:P_(n[r+5]),metadata:P_(n[r+4]),buffers:Array.prototype.slice.apply(n,[r+6])});return c}Ty.decode=tpe;function rpe(n,e,t="sha256"){let r=j5(n),i=J5(t),o=r.idents,s=Buffer.from(JSON.stringify(r.header),"utf-8"),a=Buffer.from(JSON.stringify(r.parent_header),"utf-8"),l=Buffer.from(JSON.stringify(r.metadata),"utf-8"),c=Buffer.from(JSON.stringify(r.content),"utf-8"),u="";if(e){let f=V5.createHmac(i,e);f.update(s),f.update(a),f.update(l),f.update(c),u=f.digest("hex")}var d=o.concat([Buffer.from(bO),Buffer.from(u),s,a,l,c]).concat(r.buffers);return d}Ty.encode=rpe});var nq=O((_et,rq)=>{"use strict";rq.exports=({onlyFirst:n=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,n?void 0:"g")}});var _q=O((cst,Dq)=>{"use strict";var Spe=(n,e={})=>{let t=e.safe===!0||e.keepProtected===!0,r=!1,i=(o,s)=>{let a="",l,c;for(let u of o.nodes)switch(u.type){case"block":if(e.first&&r===!0){a+=i(u,o);break}if(e.preserveNewlines===!0){l=i(u,o),c=l.split(`
|
||
`),a+=`
|
||
`.repeat(c.length-1);break}if(t===!0&&u.protected===!0){a+=i(u,o);break}r=!0;break;case"line":if(e.first&&r===!0){a+=u.value;break}t===!0&&u.protected===!0&&(a+=u.value),r=!0;break;case"open":case"close":case"text":case"newline":default:{a+=u.value||"";break}}return a};return i(n)};Dq.exports=Spe});var Rq=O((ust,Tq)=>{"use strict";var nT=class{constructor(e){this.type=e.type,e.value&&(this.value=e.value),e.match&&(this.match=e.match),this.newline=e.newline||""}get protected(){return!!this.match&&this.match[1]==="!"}},DO=class extends nT{constructor(e){super(e),this.nodes=e.nodes||[]}push(e){this.nodes.push(e)}get protected(){return this.nodes.length>0&&this.nodes[0].protected===!0}};Tq.exports={Node:nT,Block:DO}});var Nq=O(Aq=>{"use strict";Aq.javascript={BLOCK_OPEN_REGEX:/^\/\*\*?(!?)/,BLOCK_CLOSE_REGEX:/^\*\/(\n?)/,LINE_REGEX:/^\/\/(!?).*/}});var Oq=O((pst,Kq)=>{"use strict";var{Node:ap,Block:Mq}=Rq(),Cpe=Nq(),_O={ESCAPED_CHAR_REGEX:/^\\./,QUOTED_STRING_REGEX:/^(['"`])((?:\\.|[^\1])+?)(\1)/,NEWLINE_REGEX:/^\r*\n/},wpe=(n,e={})=>{if(typeof n!="string")throw new TypeError("Expected input to be a string");let t=new Mq({type:"root",nodes:[]}),r=[t],i=(e.language||"javascript").toLowerCase(),o=Cpe[i];if(typeof o>"u")throw new Error(`Language "${i}" is not supported by strip-comments`);let{LINE_REGEX:s,BLOCK_OPEN_REGEX:a,BLOCK_CLOSE_REGEX:l}=o,c=t,u=n,d,f,g=[a,l].filter(Boolean),b=!1;g.every(T=>T.source==='^"""')&&(b=!0);let I=(T=u[0]||"")=>(u=u.slice(T.length),T),E=(T,J="text")=>{let ne=T.exec(u);if(ne)return I(ne[0]),{type:J,value:ne[0],match:ne}},x=T=>{if(f&&f.type==="text"&&T.type==="text"){f.value+=T.value;return}c.push(T),T.nodes&&(r.push(T),c=T),f=T},A=()=>{if(c.type==="root")throw new SyntaxError("Unclosed block comment");r.pop(),c=r[r.length-1]};for(;u!=="";){if(d=E(_O.ESCAPED_CHAR_REGEX,"text")){x(new ap(d));continue}if(c.type!=="block"&&(!f||!/\w$/.test(f.value))&&!(b&&u.startsWith('"""'))&&(d=E(_O.QUOTED_STRING_REGEX,"text"))){x(new ap(d));continue}if(d=E(_O.NEWLINE_REGEX,"newline")){x(new ap(d));continue}if(a&&e.block&&!(b&&c.type==="block")&&(d=E(a,"open"))){x(new Mq({type:"block"})),x(new ap(d));continue}if(l&&c.type==="block"&&e.block&&(d=E(l,"close"))){d.newline=d.match[1]||"",x(new ap(d)),A();continue}if(s&&c.type!=="block"&&e.line&&(d=E(s,"line"))){x(new ap(d));continue}if(d=E(/^[a-zABD-Z0-9\t ]+/,"text")){x(new ap(d));continue}x(new ap({type:"text",value:I(u[0])}))}return t};Kq.exports=wpe});var Lq=O((mst,Fq)=>{"use strict";var iT=_q(),fw=Oq(),oT=Fq.exports=(n,e)=>{let t={...e,block:!0,line:!0};return iT(fw(n,t),t)};oT.block=(n,e)=>{let t={...e,block:!0};return iT(fw(n,t),t)};oT.line=(n,e)=>{let t={...e,line:!0};return iT(fw(n,t),t)};oT.first=(n,e)=>{let t={...e,block:!0,line:!0,first:!0};return iT(fw(n,t),t)};oT.parse=fw});var PH=O((xwt,EH)=>{var Ype=typeof global=="object"&&global&&global.Object===Object&&global;EH.exports=Ype});var xH=O((Dwt,kH)=>{var Xpe=PH(),Zpe=typeof self=="object"&&self&&self.Object===Object&&self,eme=Xpe||Zpe||Function("return this")();kH.exports=eme});var e0=O((_wt,DH)=>{var tme=xH(),rme=tme.Symbol;DH.exports=rme});var TH=O((Twt,_H)=>{function nme(n,e){for(var t=-1,r=n==null?0:n.length,i=Array(r);++t<r;)i[t]=e(n[t],t,n);return i}_H.exports=nme});var AH=O((Rwt,RH)=>{var ime=Array.isArray;RH.exports=ime});var OH=O((Awt,KH)=>{var NH=e0(),MH=Object.prototype,ome=MH.hasOwnProperty,sme=MH.toString,Aw=NH?NH.toStringTag:void 0;function ame(n){var e=ome.call(n,Aw),t=n[Aw];try{n[Aw]=void 0;var r=!0}catch{}var i=sme.call(n);return r&&(e?n[Aw]=t:delete n[Aw]),i}KH.exports=ame});var LH=O((Nwt,FH)=>{var lme=Object.prototype,cme=lme.toString;function ume(n){return cme.call(n)}FH.exports=ume});var jH=O((Mwt,VH)=>{var UH=e0(),dme=OH(),pme=LH(),mme="[object Null]",fme="[object Undefined]",WH=UH?UH.toStringTag:void 0;function hme(n){return n==null?n===void 0?fme:mme:WH&&WH in Object(n)?dme(n):pme(n)}VH.exports=hme});var BH=O((Kwt,JH)=>{function gme(n){return n!=null&&typeof n=="object"}JH.exports=gme});var qH=O((Owt,$H)=>{var vme=jH(),yme=BH(),bme="[object Symbol]";function Ime(n){return typeof n=="symbol"||yme(n)&&vme(n)==bme}$H.exports=Ime});var XH=O((Fwt,YH)=>{var HH=e0(),Sme=TH(),Cme=AH(),wme=qH(),Eme=1/0,GH=HH?HH.prototype:void 0,zH=GH?GH.toString:void 0;function QH(n){if(typeof n=="string")return n;if(Cme(n))return Sme(n,QH)+"";if(wme(n))return zH?zH.call(n):"";var e=n+"";return e=="0"&&1/n==-Eme?"-0":e}YH.exports=QH});var e4=O((Lwt,ZH)=>{var Pme=XH();function kme(n){return n==null?"":Pme(n)}ZH.exports=kme});var n4=O((Uwt,r4)=>{var xme=e4(),t4=/[\\^$.*+?()[\]{}|]/g,Dme=RegExp(t4.source);function _me(n){return n=xme(n),n&&Dme.test(n)?n.replace(t4,"\\$&"):n}r4.exports=_me});var $fe={};zL($fe,{activate:()=>Ufe,deactivate:()=>Wfe});module.exports=YL($fe);Reflect.metadata===void 0&&ZL();var Yt=require("vscode");function Qf(){try{return(tU(),YL(eU)).isPreRelesVersionOfJupyterExtension===!0}catch{return!0}}var sS={isExiting:!1},mE="_builtin.JupyterServerSelectorForTesting",pR="_builtin.jupyterServerUrlProvider";var rU=!1;function nU(n){rU=n}function Wp(){return rU}var iU=!1;function oU(n){iU=n}function tn(){return iU}var ge="python",aS="markdown",bc="vscode-notebook-cell",MG={scheme:"untitled",language:ge},KG={scheme:"file",language:ge},fE={language:ge},OG={scheme:bc,language:ge},sU=[MG,KG,OG],hE="vscode-interactive-input",St="jupyter-notebook",ft="interactive";var La="GitHub.codespaces",Fe="ms-toolsai.jupyter",aU="ms-toolsai.vscode-jupyter-powertoys",Yf="ms-toolsai.jupyter-hub",lU="0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255",Tu="STANDARD_OUTPUT_CHANNEL",lS;(t=>(t.PythonInteractiveHelpLink="https://aka.ms/pyaiinstall",t.JupyterDataRateHelpLink="https://aka.ms/AA5ggm0"))(lS||={});var Qn;(o=>(o.JupyterServerRemoteLaunchNameSeparator=`
|
||
`,o.JupyterServerRemoteLaunchService=Fe,o.JupyterServerUriListMax=10,o.IntellisenseTimeout=2e3,o.IntellisenseResolveTimeout=5e3))(Qn||={});var hi=!1;var FG=!1;function Er(){return FG||cS()}var LG=!1;function cS(){return LG}var je;(I=>(I.GeneratedThemeName="ipython-theme",I.MatplotLibDefaultParams="_VSCode_defaultMatplotlib_Params",I.MatplotLibFigureFormats="_VSCode_matplotLib_FigureFormats",I.DefaultCodeCellMarker="# %%",I.DefaultCommTarget="jupyter.widget",I.ALL_VARIABLES="ALL_VARIABLES",I.KERNEL_VARIABLES="KERNEL_VARIABLES",I.DEBUGGER_VARIABLES="DEBUGGER_VARIABLES",I.PYTHON_VARIABLES_REQUESTER="PYTHON_VARIABLES_REQUESTER",I.MULTIPLEXING_DEBUGSERVICE="MULTIPLEXING_DEBUGSERVICE",I.RUN_BY_LINE_DEBUGSERVICE="RUN_BY_LINE_DEBUGSERVICE",I.REMOTE_URI="https://remote/",I.REMOTE_URI_ID_PARAM="id",I.REMOTE_URI_HANDLE_PARAM="uriHandle",I.REMOTE_URI_EXTENSION_ID_PARAM="extensionId"))(je||={});var Xf;(r=>(r.ImportIPython=`{0}
|
||
from IPython import get_ipython
|
||
|
||
{1}`,r.MatplotLibInit=`import matplotlib
|
||
%matplotlib inline
|
||
${je.MatplotLibDefaultParams} = dict(matplotlib.rcParams)
|
||
`,r.DisableJedi="%config Completer.use_jedi = False"))(Xf||={});var Zf="JUPYTER_OUTPUT_CHANNEL",mR="Default Light+",Yn="ms-python.python",eh="ms-toolsai.jupyter-renderers",Vp="ms-python.vscode-pylance",cU=["python","html","xml","javascript","markdown","latex","shellscript","bat","powershell","kusto","ruby","sql","perl","qsharp","raw"],uU=new Map([["bash","shellscript"],["c#","csharp"],["f#","fsharp"],["q#","qsharp"],["c++11","c++"],["c++12","c++"],["c++14","c++"]]),uS=["python","r","julia","c++","c#","f#","q#","powershell","java","scala","haskell","bash","cling","rust","sas","sos","ocaml"];var B;(ye=>(ye.RunAllCells="jupyter.runallcells",ye.RunAllCellsAbove="jupyter.runallcellsabove",ye.RunCellAndAllBelow="jupyter.runcellandallbelow",ye.RunAllCellsAbovePalette="jupyter.runallcellsabove.palette",ye.RunCellAndAllBelowPalette="jupyter.runcurrentcellandallbelow.palette",ye.RunToLine="jupyter.runtoline",ye.RunFromLine="jupyter.runfromline",ye.RunCell="jupyter.runcell",ye.RunCurrentCell="jupyter.runcurrentcell",ye.RunCurrentCellAdvance="jupyter.runcurrentcelladvance",ye.CreateNewInteractive="jupyter.createnewinteractive",ye.ImportNotebook="jupyter.importnotebook",ye.ImportNotebookFile="jupyter.importnotebookfile",ye.ExportFileAsNotebook="jupyter.exportfileasnotebook",ye.ExportFileAndOutputAsNotebook="jupyter.exportfileandoutputasnotebook",ye.InterruptKernel="jupyter.interruptkernel",ye.RestartKernel="jupyter.restartkernel",ye.RestartKernelAndRunAllCells="jupyter.restartkernelandrunallcells",ye.RestartKernelAndRunUpToSelectedCell="jupyter.restartkernelandrunuptoselectedcell",ye.NotebookEditorRemoveAllCells="jupyter.notebookeditor.removeallcells",ye.NotebookEditorRunAllCells="jupyter.notebookeditor.runallcells",ye.NotebookEditorRunSelectedCell="jupyter.notebookeditor.runselectedcell",ye.NotebookEditorAddCellBelow="jupyter.notebookeditor.addcellbelow",ye.ExpandAllCells="jupyter.expandallcells",ye.CollapseAllCells="jupyter.collapseallcells",ye.ExportOutputAsNotebook="jupyter.exportoutputasnotebook",ye.ExecSelectionInInteractiveWindow="jupyter.execSelectionInteractive",ye.RunFileInInteractiveWindows="jupyter.runFileInteractive",ye.DebugFileInInteractiveWindows="jupyter.debugFileInteractive",ye.AddCellBelow="jupyter.addcellbelow",ye.DebugCurrentCellPalette="jupyter.debugcurrentcell.palette",ye.DebugCell="jupyter.debugcell",ye.DebugStepOver="jupyter.debugstepover",ye.DebugContinue="jupyter.debugcontinue",ye.DebugStop="jupyter.debugstop",ye.RunCurrentCellAndAddBelow="jupyter.runcurrentcellandaddbelow",ye.InsertCellBelowPosition="jupyter.insertCellBelowPosition",ye.InsertCellBelow="jupyter.insertCellBelow",ye.InsertCellAbove="jupyter.insertCellAbove",ye.DeleteCells="jupyter.deleteCells",ye.SelectCell="jupyter.selectCell",ye.SelectCellContents="jupyter.selectCellContents",ye.ExtendSelectionByCellAbove="jupyter.extendSelectionByCellAbove",ye.ExtendSelectionByCellBelow="jupyter.extendSelectionByCellBelow",ye.MoveCellsUp="jupyter.moveCellsUp",ye.MoveCellsDown="jupyter.moveCellsDown",ye.ChangeCellToMarkdown="jupyter.changeCellToMarkdown",ye.ChangeCellToCode="jupyter.changeCellToCode",ye.GotoNextCellInFile="jupyter.gotoNextCellInFile",ye.GotoPrevCellInFile="jupyter.gotoPrevCellInFile",ye.ScrollToCell="jupyter.scrolltocell",ye.CreateNewNotebook="jupyter.createnewnotebook",ye.ViewJupyterOutput="jupyter.viewOutput",ye.ExportAsPythonScript="jupyter.exportAsPythonScript",ye.ExportToHTML="jupyter.exportToHTML",ye.ExportToPDF="jupyter.exportToPDF",ye.Export="jupyter.export",ye.NativeNotebookExport="jupyter.notebookeditor.export",ye.LatestExtension="jupyter.latestExtension",ye.EnableLoadingWidgetsFrom3rdPartySource="jupyter.enableLoadingWidgetScriptsFromThirdPartySource",ye.ShowDataViewer="jupyter.showDataViewer",ye.ShowJupyterDataViewer="jupyter.showJupyterDataViewer",ye.RefreshDataViewer="jupyter.refreshDataViewer",ye.ClearSavedJupyterUris="jupyter.clearSavedJupyterUris",ye.OpenVariableView="jupyter.openVariableView",ye.OpenOutlineView="jupyter.openOutlineView",ye.InteractiveClearAll="jupyter.interactive.clearAllCells",ye.InteractiveGoToCode="jupyter.interactive.goToCode",ye.InteractiveCopyCell="jupyter.interactive.copyCell",ye.InteractiveExportAsNotebook="jupyter.interactive.exportasnotebook",ye.InteractiveExportAs="jupyter.interactive.exportas",ye.RunByLine="jupyter.runByLine",ye.RunAndDebugCell="jupyter.runAndDebugCell",ye.RunByLineNext="jupyter.runByLineNext",ye.RunByLineStop="jupyter.runByLineStop",ye.ReplayPylanceLog="jupyter.replayPylanceLog",ye.ReplayPylanceLogStep="jupyter.replayPylanceLogStep",ye.InstallPythonExtensionViaKernelPicker="jupyter.installPythonExtensionViaKernelPicker",ye.InstallPythonViaKernelPicker="jupyter.installPythonViaKernelPicker",ye.ContinueEditSessionInCodespace="jupyter.continueEditSessionInCodespace"))(B||={});var Ru;(r=>(r.DefaultDesignLenses=[B.RunCurrentCell,B.RunAllCellsAbove,B.DebugCell],r.DefaultDebuggingLenses=[B.DebugContinue,B.DebugStop,B.DebugStepOver],r.DebuggerCommands=[B.DebugContinue,B.DebugStop,B.DebugStepOver]))(Ru||={});var mr;(ae=>(ae.HasCodeCells="jupyter.hascodecells",ae.IsInteractiveActive="jupyter.isinteractiveactive",ae.OwnsSelection="jupyter.ownsSelection",ae.HaveNativeCells="jupyter.havenativecells",ae.HaveNative="jupyter.havenative",ae.IsNativeActive="jupyter.isnativeactive",ae.IsInteractiveOrNativeActive="jupyter.isinteractiveornativeactive",ae.IsPythonOrNativeActive="jupyter.ispythonornativeactive",ae.IsPythonOrInteractiveActive="jupyter.ispythonorinteractiveeactive",ae.IsPythonOrInteractiveOrNativeActive="jupyter.ispythonorinteractiveornativeeactive",ae.CanRestartNotebookKernel="jupyter.notebookeditor.canrestartNotebookkernel",ae.CanInterruptNotebookKernel="jupyter.notebookeditor.canInterruptNotebookKernel",ae.CanRestartInteractiveWindowKernel="jupyter.interactive.canRestartNotebookKernel",ae.CanInterruptInteractiveWindowKernel="jupyter.interactive.canInterruptNotebookKernel",ae.RunByLineCells="jupyter.notebookeditor.runByLineCells",ae.RunByLineDocuments="jupyter.notebookeditor.runByLineDocuments",ae.DebugDocuments="jupyter.notebookeditor.debugDocuments",ae.IsPythonNotebook="jupyter.ispythonnotebook",ae.IsJupyterKernelSelected="jupyter.kernel.isjupyter",ae.IsDataViewerActive="jupyter.dataViewerActive",ae.HasNativeNotebookOrInteractiveWindowOpen="jupyter.hasNativeNotebookOrInteractiveWindowOpen",ae.ZmqAvailable="jupyter.zmqavailable",ae.ReplayLogLoaded="jupyter.replayLogLoaded",ae.KernelSource="jupyter.kernelSource"))(mr||={});var jp;(l=>(l.PythonCellMarker=/^(#\s*%%|#\s*\<codecell\>|#\s*In\[\d*?\]|#\s*In\[ \])/,l.PythonMarkdownCellMarker=/^(#\s*%%\s*\[markdown\]|#\s*\<markdowncell\>)/,l.UrlPatternRegEx="(?<PREFIX>https?:\\/\\/)((\\(.+\\s+or\\s+(?<IP>.+)\\))|(?<LOCAL>[^\\s]+))(?<REST>:.+)",l.HttpPattern=/https?:\/\//,l.ShapeSplitterRegEx=/.*,\s*(\d+).*/,l.SvgHeightRegex=/(\<svg.*height=\")(.*?)\"/,l.SvgWidthRegex=/(\<svg.*width=\")(.*?)\"/,l.SvgSizeTagRegex=/\<svg.*tag=\"sizeTag=\{(.*),\s*(.*)\}\"/))(jp||={});var dU=Symbol("DataScienceStartupTime"),fR={major:4,minor:2},Ui="application/vnd.jupyter.widget-view+json";var dS=7,th="unknown";var mS=class{constructor(e,t){this._data=t;this.expiryTime=e+Date.now()}get expired(){let e=this.expiryTime<=Date.now();return e&&(this._data=void 0),e}get data(){return this.expired&&(this._data=void 0),this._data}},pS=new Map;function pU(){return pS}function mU(n,e){let t=e.map(r=>`${JSON.stringify(r)}`).join("-Arg-Separator-");return`KeyPrefix=${n}-Args=${t}`}var Jp=class{constructor(e,t=""){this.expiryDurationMs=e;this.cacheKey=t}get hasData(){let e=pS.get(this.cacheKey);return!!(e&&!e.expired)}get data(){return this.hasData?pS.get(this.cacheKey)?.data:void 0}set data(e){let t=new mS(this.expiryDurationMs,e);pS.set(this.cacheKey,t)}clear(){pS.delete(this.cacheKey)}};var fU=Symbol("MicrotaskDelay");async function gi(n){return new Promise(e=>{setTimeout(()=>e(n),n)})}async function vE(n,e,t){return new Promise(r=>{let i,o=setTimeout(()=>i(!1),e),s=setInterval(()=>{n().then(a=>{a&&i(!0)}).catch(a=>i(!1))},t);i=a=>{clearTimeout(o),clearInterval(s),r(a)}})}function fr(n,e,...t){let r=gE(e)?void 0:e;gE(e)&&t.push(e);let i,o=setTimeout(()=>i?.(r),n);return Promise.race([Promise.race(t).finally(()=>clearTimeout(o)),new Promise(s=>i=s)])}function nh(n,e,...t){let r,i=setTimeout(()=>r?.(e),n);return Promise.race([Promise.race(t).finally(()=>clearTimeout(i)),new Promise((o,s)=>r=s)])}function Au(n){return typeof n?.then=="function"&&typeof n?.catch=="function"}function gE(n){return typeof n?.then=="function"}var hR=class{constructor(e=null){this.scope=e;this._resolved=!1;this._rejected=!1;this._promise=new Promise((t,r)=>{this._resolve=t,this._reject=r})}get value(){return this._value}resolve(e){this._value=e,this._resolve.apply(this.scope?this.scope:this,arguments),this._resolved=!0}reject(e){this._reject.apply(this.scope?this.scope:this,arguments),this._rejected=!0}get promise(){return this._promise}get resolved(){return this._resolved}get rejected(){return this._rejected}get completed(){return this._rejected||this._resolved}};function re(n=null){return new hR(n)}function us(n){let e=re();return n.then(e.resolve.bind(e)).catch(e.reject.bind(e)),e}var rh=class{constructor(){this.currentPromise=Promise.resolve(void 0)}async chain(e){let t=re(),r=this.currentPromise;return this.currentPromise=this.currentPromise.then(async()=>{try{let i=await e();t.resolve(i)}catch(i){throw t.reject(i),i}}),await r,t.promise}chainFinally(e){let t=re();return this.currentPromise=this.currentPromise.finally(()=>e().then(r=>t.resolve(r)).catch(r=>t.reject(r))),t.promise}};var UG=(n,e)=>{let t=!0,r=setTimeout(()=>{t=!1,e()},n);return{isTriggered:()=>t,dispose:()=>{clearTimeout(r),t=!1}}},WG=n=>{let e=!0;return queueMicrotask(()=>{e&&(e=!1,n())}),{isTriggered:()=>e,dispose:()=>{e=!1}}},cs=class{constructor(e){this.defaultDelay=e;this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((i,o)=>{this.doResolve=i,this.doReject=o}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){let i=this.task;return this.task=null,i()}}),this.completionPromise.catch(h));let r=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=t===fU?WG(r):UG(t,r),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new Error("Canceled")),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}};function h(){}function Xn(n){try{let e=n();Au(e)&&e.catch(h)}catch{}}function Nu(n){if(!n)return!0;let e=n;return typeof e.path=="string"&&typeof e.scheme=="string"}function fn(n){if(!n)return!1;let e=n;return typeof e.path=="string"&&typeof e.scheme=="string"}function gU(n){let e=fn(n)?n:n.uri;return e.scheme.includes(bc)||e.path.endsWith(".interactive")}function Mu(){return process.platform.toString()==="web"}function hU(n,e){return fn(e)?e.toString():e}function Ys(n,e){return n===e?!0:n&&!e||!n&&e?!1:JSON.stringify(n,hU)===JSON.stringify(e,hU)}var Ue=class{constructor(){this.started=Date.now()}get elapsedTime(){return Date.now()-this.started}reset(){this.started=Date.now()}};var vU=pU();function gR(n){return function(e,t,r){let i=r.value,s=`Cache_Method_Output_${"constructor"in e&&e.constructor.name?e.constructor.name:""}.${t}`;r.value=async function(...a){if(Er())return i.apply(this,a);let l=mU(s,a),c=vU.get(l);if(c&&!c.expired)return p.debug(`Cached data exists ${l}`),Promise.resolve(c.data);let u=i.apply(this,a);return u.then(d=>vU.set(l,new mS(n,d))).catch(h),u}}}function Br(n){return function(e,t,r){let i=r.value,o=`Jupyter Extension (Error in ${n||t}, method:${t}):`;r.value=function(...s){try{let a=i.apply(this,s);if(a&&typeof a.then=="function"&&typeof a.catch=="function")return a.catch(l=>{Er()||p.error(o,l)})}catch(a){if(Er())return;p.error(o,a)}}}}function VG(n,e,t){let r=new Ue;try{t&&n(void 0);let i=e();return Au(i)?i.then(o=>(n({elapsed:r.elapsedTime,returnValue:o}),o)).catch(o=>{n({elapsed:r.elapsedTime,err:o})}):n({elapsed:r.elapsedTime,returnValue:i}),i}catch(i){throw n({elapsed:r.elapsedTime,err:i}),i}}function yU(n,e){return function(t,r,i){let o=i.value;return i.value=function(...s){let a={kind:"Class",name:t&&t.constructor?t.constructor.name:"",args:s,methodName:r,target:t},l=this;return VG(c=>n(a,c),()=>o.apply(l,s),e)},i}}function ih(){return function(n,e,t){let r=t.value;return t.value=function(...i){if(!Er())throw new Error(`Function: ${e} can only be called from test code`);return r.apply(this,i)},t}}function vR(){return function(n,e,t){let r=t.value,i=`chainedPromiseFor_${e}`;return t.value=async function(...o){let s=this[i];s?s=s.then(()=>r.apply(this,o)):s=r.apply(this,o),this[i]=s;let a=s.then(l=>l).catch(l=>{throw this[i]=void 0,l});return a.catch(h),a},t}}function yR(n,e){if(Array.isArray(n))return n.map(t=>yR(t,e)).join(", ");if(n===void 0)return"undefined";if(n===null)return"null";try{return n&&n.path?`<Uri:${n.path}>`:JSON.stringify(n)}catch{return`<${e} cannot be serialized for logging>`}}function bR(n){if(!n)return"";try{return n.map((t,r)=>{let i=yR(t,"argument");return`Arg ${r+1}: ${i}`}).join(", ")}catch{return""}}function bU(n){return`Return Value: ${yR(n,"Return value")}`}function yE(){let n=new Date,e=String(n.getHours()).padStart(2,"0"),t=String(n.getMinutes()).padStart(2,"0"),r=String(n.getSeconds()).padStart(2,"0"),i=String(n.getMilliseconds()).padStart(3,"0");return`${e}:${t}:${r}.${i}`}function Oe(n,e={removeEmptyEntries:!0,trim:!0}){n=n||"";let t=n.split(/\r?\n/g);return e&&e.trim&&(t=t.map(r=>r.trim())),e&&e.removeEmptyEntries&&(t=t.filter(r=>r.length>0)),t}function fS(n){return n&&(n.indexOf(" ")>=0&&!n.startsWith('"')&&!n.endsWith('"')?`"${n}"`:n.toString())}function hS(n){return n&&fS(n).replace(/\\/g,"/")}function Bp(n){return n&&n.replace(/(^['"])|(['"]$)/g,"")}function gS(n,...e){return n.replace(/{(\d+)}/g,(t,r)=>e[r]===void 0?t:e[r])}function oh(n){return n?n.replace(/\$\([a-z0-9\-]+?\)/gi,"").trim():n||""}function sh(n){let e=n.split(`
|
||
`),t=e.find(r=>r.trim().length>0&&!r.trim().startsWith("#"));if(t){let r=t.match(/^\s*/)[0];return e.map(i=>i.startsWith(r)?i.replace(r,""):i).join(`
|
||
`)}return n}var DR=require("vscode");var IE="en",CE=!1,wE=!1,vS=!1,jG=!1,JG=!1,SR=!1,BG=!1,$G=!1,qG=!1,bE,SE=IE,HG,Ou,ds=typeof self=="object"?self:typeof global=="object"?global:{},Zi;typeof ds.vscode<"u"&&typeof ds.vscode.process<"u"?Zi=ds.vscode.process:typeof process<"u"&&(Zi=process);var IU=typeof Zi?.versions?.electron=="string",SU=IU&&Zi?.type==="renderer",vhe=SU&&Zi?.sandboxed;if(typeof navigator=="object"&&!SU)Ou=navigator.userAgent,CE=Ou.indexOf("Windows")>=0,wE=Ou.indexOf("Macintosh")>=0,$G=(Ou.indexOf("Macintosh")>=0||Ou.indexOf("iPad")>=0||Ou.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,vS=Ou.indexOf("Linux")>=0,SR=!0,bE=navigator.language,SE=bE;else if(typeof Zi=="object"){CE=Zi.platform==="win32",wE=Zi.platform==="darwin",vS=Zi.platform==="linux",jG=vS&&!!Zi.env.SNAP&&!!Zi.env.SNAP_REVISION,BG=IU,qG=!!Zi.env.CI||!!Zi.env.BUILD_ARTIFACTSTAGINGDIRECTORY,bE=IE,SE=IE;let n=Zi.env.VSCODE_NLS_CONFIG;if(n)try{let e=JSON.parse(n),t=e.availableLanguages["*"];bE=e.locale,SE=t||IE,HG=e._translationsConfigFile}catch{}JG=!0}else console.error("Unable to resolve platform.");var IR=0;wE?IR=1:CE?IR=3:vS&&(IR=2);var yS=CE,CU=wE,wU=vS;var EE=SR,yhe=SR&&typeof ds.importScripts=="function";var Ua=Ou,Ku=SE,GG;(r=>{function n(){return Ku}r.value=n;function e(){return Ku.length===2?Ku==="en":Ku.length>=3?Ku[0]==="e"&&Ku[1]==="n"&&Ku[2]==="-":!1}r.isDefaultVariant=e;function t(){return Ku==="en"}r.isDefault=t})(GG||={});var bhe=(()=>{if(typeof ds.postMessage=="function"&&!ds.importScripts){let n=[];ds.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let r=0,i=n.length;r<i;r++){let o=n[r];if(o.id===t.data.vscodeScheduleAsyncWork){n.splice(r,1),o.callback();return}}});let e=0;return t=>{let r=++e;n.push({id:r,callback:t}),ds.postMessage({vscodeScheduleAsyncWork:r},"*")}}return n=>setTimeout(n)})();var zG=!!(Ua&&Ua.indexOf("Chrome")>=0),Ihe=!!(Ua&&Ua.indexOf("Firefox")>=0),She=!!(!zG&&Ua&&Ua.indexOf("Safari")>=0),Che=!!(Ua&&Ua.indexOf("Edg/")>=0),whe=!!(Ua&&Ua.indexOf("Android")>=0);var $p;if(typeof ds.vscode<"u"&&typeof ds.vscode.process<"u"){let n=ds.vscode.process;$p={get platform(){return n.platform},get arch(){return n.arch},get env(){return n.env},cwd(){return n.cwd()}}}else typeof process<"u"?$p={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:$p={get platform(){return yS?"win32":CU?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};var PE=$p.cwd,EU=$p.env,eo=$p.platform,xhe=$p.arch;var YG=65,XG=97,ZG=90,ez=122,Uu=46,Wn=47,to=92,Fu=58,tz=63,kE=class extends Error{constructor(t,r,i){let o;typeof r=="string"&&r.indexOf("not ")===0?(o="must not be",r=r.replace(/^not /,"")):o="must be";let s=t.indexOf(".")!==-1?"property":"argument",a=`The "${t}" ${s} ${o} of type ${r}`;a+=`. Received type ${typeof i}`;super(a);this.code="ERR_INVALID_ARG_TYPE"}};function ln(n,e){if(typeof n!="string")throw new kE(e,"string",n)}function Dt(n){return n===Wn||n===to}function CR(n){return n===Wn}function Lu(n){return n>=YG&&n<=ZG||n>=XG&&n<=ez}function xE(n,e,t,r){let i="",o=0,s=-1,a=0,l=0;for(let c=0;c<=n.length;++c){if(c<n.length)l=n.charCodeAt(c);else{if(r(l))break;l=Wn}if(r(l)){if(!(s===c-1||a===1))if(a===2){if(i.length<2||o!==2||i.charCodeAt(i.length-1)!==Uu||i.charCodeAt(i.length-2)!==Uu){if(i.length>2){let u=i.lastIndexOf(t);u===-1?(i="",o=0):(i=i.slice(0,u),o=i.length-1-i.lastIndexOf(t)),s=c,a=0;continue}else if(i.length!==0){i="",o=0,s=c,a=0;continue}}e&&(i+=i.length>0?`${t}..`:"..",o=2)}else i.length>0?i+=`${t}${n.slice(s+1,c)}`:i=n.slice(s+1,c),o=c-s-1;s=c,a=0}else l===Uu&&a!==-1?++a:a=-1}return i}function PU(n,e){if(e===null||typeof e!="object")throw new kE("pathObject","Object",e);let t=e.dir||e.root,r=e.base||`${e.name||""}${e.ext||""}`;return t?t===e.root?`${t}${r}`:`${t}${n}${r}`:r}var In={resolve(...n){let e="",t="",r=!1;for(let i=n.length-1;i>=-1;i--){let o;if(i>=0){if(o=n[i],ln(o,"path"),o.length===0)continue}else e.length===0?o=PE():(o=EU[`=${e}`]||PE(),(o===void 0||o.slice(0,2).toLowerCase()!==e.toLowerCase()&&o.charCodeAt(2)===to)&&(o=`${e}\\`));let s=o.length,a=0,l="",c=!1,u=o.charCodeAt(0);if(s===1)Dt(u)&&(a=1,c=!0);else if(Dt(u))if(c=!0,Dt(o.charCodeAt(1))){let d=2,f=d;for(;d<s&&!Dt(o.charCodeAt(d));)d++;if(d<s&&d!==f){let g=o.slice(f,d);for(f=d;d<s&&Dt(o.charCodeAt(d));)d++;if(d<s&&d!==f){for(f=d;d<s&&!Dt(o.charCodeAt(d));)d++;(d===s||d!==f)&&(l=`\\\\${g}\\${o.slice(f,d)}`,a=d)}}}else a=1;else Lu(u)&&o.charCodeAt(1)===Fu&&(l=o.slice(0,2),a=2,s>2&&Dt(o.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(e.length>0){if(l.toLowerCase()!==e.toLowerCase())continue}else e=l;if(r){if(e.length>0)break}else if(t=`${o.slice(a)}\\${t}`,r=c,c&&e.length>0)break}return t=xE(t,!r,"\\",Dt),r?`${e}\\${t}`:`${e}${t}`||"."},normalize(n){ln(n,"path");let e=n.length;if(e===0)return".";let t=0,r,i=!1,o=n.charCodeAt(0);if(e===1)return CR(o)?"\\":n;if(Dt(o))if(i=!0,Dt(n.charCodeAt(1))){let a=2,l=a;for(;a<e&&!Dt(n.charCodeAt(a));)a++;if(a<e&&a!==l){let c=n.slice(l,a);for(l=a;a<e&&Dt(n.charCodeAt(a));)a++;if(a<e&&a!==l){for(l=a;a<e&&!Dt(n.charCodeAt(a));)a++;if(a===e)return`\\\\${c}\\${n.slice(l)}\\`;a!==l&&(r=`\\\\${c}\\${n.slice(l,a)}`,t=a)}}}else t=1;else Lu(o)&&n.charCodeAt(1)===Fu&&(r=n.slice(0,2),t=2,e>2&&Dt(n.charCodeAt(2))&&(i=!0,t=3));let s=t<e?xE(n.slice(t),!i,"\\",Dt):"";return s.length===0&&!i&&(s="."),s.length>0&&Dt(n.charCodeAt(e-1))&&(s+="\\"),r===void 0?i?`\\${s}`:s:i?`${r}\\${s}`:`${r}${s}`},isAbsolute(n){ln(n,"path");let e=n.length;if(e===0)return!1;let t=n.charCodeAt(0);return Dt(t)||e>2&&Lu(t)&&n.charCodeAt(1)===Fu&&Dt(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let e,t;for(let o=0;o<n.length;++o){let s=n[o];ln(s,"path"),s.length>0&&(e===void 0?e=t=s:e+=`\\${s}`)}if(e===void 0)return".";let r=!0,i=0;if(typeof t=="string"&&Dt(t.charCodeAt(0))){++i;let o=t.length;o>1&&Dt(t.charCodeAt(1))&&(++i,o>2&&(Dt(t.charCodeAt(2))?++i:r=!1))}if(r){for(;i<e.length&&Dt(e.charCodeAt(i));)i++;i>=2&&(e=`\\${e.slice(i)}`)}return In.normalize(e)},relative(n,e){if(ln(n,"from"),ln(e,"to"),n===e)return"";let t=In.resolve(n),r=In.resolve(e);if(t===r||(n=t.toLowerCase(),e=r.toLowerCase(),n===e))return"";let i=0;for(;i<n.length&&n.charCodeAt(i)===to;)i++;let o=n.length;for(;o-1>i&&n.charCodeAt(o-1)===to;)o--;let s=o-i,a=0;for(;a<e.length&&e.charCodeAt(a)===to;)a++;let l=e.length;for(;l-1>a&&e.charCodeAt(l-1)===to;)l--;let c=l-a,u=s<c?s:c,d=-1,f=0;for(;f<u;f++){let b=n.charCodeAt(i+f);if(b!==e.charCodeAt(a+f))break;b===to&&(d=f)}if(f!==u){if(d===-1)return r}else{if(c>u){if(e.charCodeAt(a+f)===to)return r.slice(a+f+1);if(f===2)return r.slice(a+f)}s>u&&(n.charCodeAt(i+f)===to?d=f:f===2&&(d=3)),d===-1&&(d=0)}let g="";for(f=i+d+1;f<=o;++f)(f===o||n.charCodeAt(f)===to)&&(g+=g.length===0?"..":"\\..");return a+=d,g.length>0?`${g}${r.slice(a,l)}`:(r.charCodeAt(a)===to&&++a,r.slice(a,l))},toNamespacedPath(n){if(typeof n!="string")return n;if(n.length===0)return"";let e=In.resolve(n);if(e.length<=2)return n;if(e.charCodeAt(0)===to){if(e.charCodeAt(1)===to){let t=e.charCodeAt(2);if(t!==tz&&t!==Uu)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(Lu(e.charCodeAt(0))&&e.charCodeAt(1)===Fu&&e.charCodeAt(2)===to)return`\\\\?\\${e}`;return n},dirname(n){ln(n,"path");let e=n.length;if(e===0)return".";let t=-1,r=0,i=n.charCodeAt(0);if(e===1)return Dt(i)?n:".";if(Dt(i)){if(t=r=1,Dt(n.charCodeAt(1))){let a=2,l=a;for(;a<e&&!Dt(n.charCodeAt(a));)a++;if(a<e&&a!==l){for(l=a;a<e&&Dt(n.charCodeAt(a));)a++;if(a<e&&a!==l){for(l=a;a<e&&!Dt(n.charCodeAt(a));)a++;if(a===e)return n;a!==l&&(t=r=a+1)}}}}else Lu(i)&&n.charCodeAt(1)===Fu&&(t=e>2&&Dt(n.charCodeAt(2))?3:2,r=t);let o=-1,s=!0;for(let a=e-1;a>=r;--a)if(Dt(n.charCodeAt(a))){if(!s){o=a;break}}else s=!1;if(o===-1){if(t===-1)return".";o=t}return n.slice(0,o)},basename(n,e){e!==void 0&&ln(e,"ext"),ln(n,"path");let t=0,r=-1,i=!0,o;if(n.length>=2&&Lu(n.charCodeAt(0))&&n.charCodeAt(1)===Fu&&(t=2),e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let s=e.length-1,a=-1;for(o=n.length-1;o>=t;--o){let l=n.charCodeAt(o);if(Dt(l)){if(!i){t=o+1;break}}else a===-1&&(i=!1,a=o+1),s>=0&&(l===e.charCodeAt(s)?--s===-1&&(r=o):(s=-1,r=a))}return t===r?r=a:r===-1&&(r=n.length),n.slice(t,r)}for(o=n.length-1;o>=t;--o)if(Dt(n.charCodeAt(o))){if(!i){t=o+1;break}}else r===-1&&(i=!1,r=o+1);return r===-1?"":n.slice(t,r)},extname(n){ln(n,"path");let e=0,t=-1,r=0,i=-1,o=!0,s=0;n.length>=2&&n.charCodeAt(1)===Fu&&Lu(n.charCodeAt(0))&&(e=r=2);for(let a=n.length-1;a>=e;--a){let l=n.charCodeAt(a);if(Dt(l)){if(!o){r=a+1;break}continue}i===-1&&(o=!1,i=a+1),l===Uu?t===-1?t=a:s!==1&&(s=1):t!==-1&&(s=-1)}return t===-1||i===-1||s===0||s===1&&t===i-1&&t===r+1?"":n.slice(t,i)},format:PU.bind(null,"\\"),parse(n){ln(n,"path");let e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;let t=n.length,r=0,i=n.charCodeAt(0);if(t===1)return Dt(i)?(e.root=e.dir=n,e):(e.base=e.name=n,e);if(Dt(i)){if(r=1,Dt(n.charCodeAt(1))){let d=2,f=d;for(;d<t&&!Dt(n.charCodeAt(d));)d++;if(d<t&&d!==f){for(f=d;d<t&&Dt(n.charCodeAt(d));)d++;if(d<t&&d!==f){for(f=d;d<t&&!Dt(n.charCodeAt(d));)d++;d===t?r=d:d!==f&&(r=d+1)}}}}else if(Lu(i)&&n.charCodeAt(1)===Fu){if(t<=2)return e.root=e.dir=n,e;if(r=2,Dt(n.charCodeAt(2))){if(t===3)return e.root=e.dir=n,e;r=3}}r>0&&(e.root=n.slice(0,r));let o=-1,s=r,a=-1,l=!0,c=n.length-1,u=0;for(;c>=r;--c){if(i=n.charCodeAt(c),Dt(i)){if(!l){s=c+1;break}continue}a===-1&&(l=!1,a=c+1),i===Uu?o===-1?o=c:u!==1&&(u=1):o!==-1&&(u=-1)}return a!==-1&&(o===-1||u===0||u===1&&o===a-1&&o===s+1?e.base=e.name=n.slice(s,a):(e.name=n.slice(s,o),e.base=n.slice(s,a),e.ext=n.slice(o,a))),s>0&&s!==r?e.dir=n.slice(0,s-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},hr={resolve(...n){let e="",t=!1;for(let r=n.length-1;r>=-1&&!t;r--){let i=r>=0?n[r]:PE();ln(i,"path"),i.length!==0&&(e=`${i}/${e}`,t=i.charCodeAt(0)===Wn)}return e=xE(e,!t,"/",CR),t?`/${e}`:e.length>0?e:"."},normalize(n){if(ln(n,"path"),n.length===0)return".";let e=n.charCodeAt(0)===Wn,t=n.charCodeAt(n.length-1)===Wn;return n=xE(n,!e,"/",CR),n.length===0?e?"/":t?"./":".":(t&&(n+="/"),e?`/${n}`:n)},isAbsolute(n){return ln(n,"path"),n.length>0&&n.charCodeAt(0)===Wn},join(...n){if(n.length===0)return".";let e;for(let t=0;t<n.length;++t){let r=n[t];ln(r,"path"),r.length>0&&(e===void 0?e=r:e+=`/${r}`)}return e===void 0?".":hr.normalize(e)},relative(n,e){if(ln(n,"from"),ln(e,"to"),n===e||(n=hr.resolve(n),e=hr.resolve(e),n===e))return"";let t=1,r=n.length,i=r-t,o=1,s=e.length-o,a=i<s?i:s,l=-1,c=0;for(;c<a;c++){let d=n.charCodeAt(t+c);if(d!==e.charCodeAt(o+c))break;d===Wn&&(l=c)}if(c===a)if(s>a){if(e.charCodeAt(o+c)===Wn)return e.slice(o+c+1);if(c===0)return e.slice(o+c)}else i>a&&(n.charCodeAt(t+c)===Wn?l=c:c===0&&(l=0));let u="";for(c=t+l+1;c<=r;++c)(c===r||n.charCodeAt(c)===Wn)&&(u+=u.length===0?"..":"/..");return`${u}${e.slice(o+l)}`},toNamespacedPath(n){return n},dirname(n){if(ln(n,"path"),n.length===0)return".";let e=n.charCodeAt(0)===Wn,t=-1,r=!0;for(let i=n.length-1;i>=1;--i)if(n.charCodeAt(i)===Wn){if(!r){t=i;break}}else r=!1;return t===-1?e?"/":".":e&&t===1?"//":n.slice(0,t)},basename(n,e){e!==void 0&&ln(e,"ext"),ln(n,"path");let t=0,r=-1,i=!0,o;if(e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let s=e.length-1,a=-1;for(o=n.length-1;o>=0;--o){let l=n.charCodeAt(o);if(l===Wn){if(!i){t=o+1;break}}else a===-1&&(i=!1,a=o+1),s>=0&&(l===e.charCodeAt(s)?--s===-1&&(r=o):(s=-1,r=a))}return t===r?r=a:r===-1&&(r=n.length),n.slice(t,r)}for(o=n.length-1;o>=0;--o)if(n.charCodeAt(o)===Wn){if(!i){t=o+1;break}}else r===-1&&(i=!1,r=o+1);return r===-1?"":n.slice(t,r)},extname(n){ln(n,"path");let e=-1,t=0,r=-1,i=!0,o=0;for(let s=n.length-1;s>=0;--s){let a=n.charCodeAt(s);if(a===Wn){if(!i){t=s+1;break}continue}r===-1&&(i=!1,r=s+1),a===Uu?e===-1?e=s:o!==1&&(o=1):e!==-1&&(o=-1)}return e===-1||r===-1||o===0||o===1&&e===r-1&&e===t+1?"":n.slice(e,r)},format:PU.bind(null,"/"),parse(n){ln(n,"path");let e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;let t=n.charCodeAt(0)===Wn,r;t?(e.root="/",r=1):r=0;let i=-1,o=0,s=-1,a=!0,l=n.length-1,c=0;for(;l>=r;--l){let u=n.charCodeAt(l);if(u===Wn){if(!a){o=l+1;break}continue}s===-1&&(a=!1,s=l+1),u===Uu?i===-1?i=l:c!==1&&(c=1):i!==-1&&(c=-1)}if(s!==-1){let u=o===0&&t?1:o;i===-1||c===0||c===1&&i===s-1&&i===o+1?e.base=e.name=n.slice(u,s):(e.name=n.slice(u,i),e.base=n.slice(u,s),e.ext=n.slice(i,s))}return o>0?e.dir=n.slice(0,o-1):t&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};hr.win32=In.win32=In;hr.posix=In.posix=hr;var hn=eo==="win32"?In.normalize:hr.normalize,DE=eo==="win32"?In.isAbsolute:hr.isAbsolute,Le=eo==="win32"?In.join:hr.join,kU=eo==="win32"?In.resolve:hr.resolve,_E=eo==="win32"?In.relative:hr.relative,nt=eo==="win32"?In.dirname:hr.dirname,Ce=eo==="win32"?In.basename:hr.basename,Wi=eo==="win32"?In.extname:hr.extname,Dhe=eo==="win32"?In.format:hr.format,xU=eo==="win32"?In.parse:hr.parse,_he=eo==="win32"?In.toNamespacedPath:hr.toNamespacedPath,Tn=eo==="win32"?In.sep:hr.sep,Vn=eo==="win32"?In.delimiter:hr.delimiter;var IS=require("vscode");var rz=require("vscode");var TE=class{constructor(e){this.computeFn=e;this.lastCache=void 0;this.lastArgKey=void 0}get(e){let t=JSON.stringify(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this.computeFn(e)),this.lastCache}};var bS=class n{constructor(e){this.executor=e;this._didRun=!1}hasValue(){return this._didRun}getValue(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}map(e){return new n(()=>e(this.getValue()))}};function AU(n,e){return n<e?-1:n>e?1:0}function nz(n,e,t=0,r=n.length,i=0,o=e.length){for(;t<r&&i<o;t++,i++){let l=n.charCodeAt(t),c=e.charCodeAt(i);if(l<c)return-1;if(l>c)return 1}let s=r-t,a=o-i;return s<a?-1:s>a?1:0}function NU(n,e,t=0,r=n.length,i=0,o=e.length){for(;t<r&&i<o;t++,i++){let l=n.charCodeAt(t),c=e.charCodeAt(i);if(l===c)continue;if(l>=128||c>=128)return nz(n.toLowerCase(),e.toLowerCase(),t,r,i,o);DU(l)&&(l-=32),DU(c)&&(c-=32);let u=l-c;if(u!==0)return u}let s=r-t,a=o-i;return s<a?-1:s>a?1:0}function DU(n){return n>=97&&n<=122}function MU(n,e){return n.length===e.length&&NU(n,e)===0}function KU(n,e){let t=e.length;return e.length>n.length?!1:NU(n,e,0,t)===0}var _U=class n{constructor(e){this.confusableDictionary=e}static{this.ambiguousCharacterData=new bS(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}'))}static{this.cache=new TE(e=>{function t(u){let d=new Map;for(let f=0;f<u.length;f+=2)d.set(u[f],u[f+1]);return d}function r(u,d){let f=new Map(u);for(let[g,b]of d)f.set(g,b);return f}function i(u,d){if(!u)return d;let f=new Map;for(let[g,b]of u)d.has(g)&&f.set(g,b);return f}let o=this.ambiguousCharacterData.getValue(),s=e.filter(u=>!u.startsWith("_")&&u in o);s.length===0&&(s=["_default"]);let a;for(let u of s){let d=t(o[u]);a=i(a,d)}let l=t(o._common),c=r(l,a);return new n(c)})}static getInstance(e){return n.cache.get(Array.from(e))}static{this._locales=new bS(()=>Object.keys(n.ambiguousCharacterData.getValue()).filter(e=>!e.startsWith("_")))}static getLocales(){return n._locales.getValue()}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}},TU=class n{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static{this._data=void 0}static getData(){return this._data||(this._data=new Set(n.getRawData())),this._data}static isInvisibleCharacter(e){return n.getData().has(e)}static get codePoints(){return n.getData()}};function Wu(n){return n===47||n===92}function wR(n){return n.replace(/[\\/]/g,hr.sep)}function OU(n){return n.indexOf("/")===-1&&(n=wR(n)),/^[a-zA-Z]:(\/|$)/.test(n)&&(n="/"+n),n}function ER(n,e=hr.sep){if(!n)return"";let t=n.length,r=n.charCodeAt(0);if(Wu(r)){if(Wu(n.charCodeAt(1))&&!Wu(n.charCodeAt(2))){let o=3,s=o;for(;o<t&&!Wu(n.charCodeAt(o));o++);if(s!==o&&!Wu(n.charCodeAt(o+1))){for(o+=1;o<t;o++)if(Wu(n.charCodeAt(o)))return n.slice(0,o+1).replace(/[\\/]/g,e)}}return e}else if(iz(r)&&n.charCodeAt(1)===58)return Wu(n.charCodeAt(2))?n.slice(0,2)+e:n.slice(0,2);let i=n.indexOf("://");if(i!==-1){for(i+=3;i<t;i++)if(Wu(n.charCodeAt(i)))return n.slice(0,i+1)}return""}function PR(n,e,t,r=Tn){if(n===e)return!0;if(!n||!e||e.length>n.length)return!1;if(t){if(!KU(n,e))return!1;if(e.length===n.length)return!0;let o=e.length;return e.charAt(e.length-1)===r&&o--,n.charAt(o)===r}return e.charAt(e.length-1)!==r&&(e+=r),n.indexOf(e)===0}function iz(n){return n>=65&&n<=90||n>=97&&n<=122}var Wa;(ee=>(ee.inMemory="inmemory",ee.vscode="vscode",ee.internal="private",ee.walkThrough="walkThrough",ee.walkThroughSnippet="walkThroughSnippet",ee.http="http",ee.https="https",ee.file="file",ee.mailto="mailto",ee.untitled="untitled",ee.data="data",ee.command="command",ee.vscodeRemote="vscode-remote",ee.vscodeRemoteResource="vscode-remote-resource",ee.vscodeUserData="vscode-userdata",ee.vscodeCustomEditor="vscode-custom-editor",ee.vscodeNotebook="vscode-notebook",ee.vscodeNotebookCell="vscode-notebook-cell",ee.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",ee.vscodeNotebookCellOutput="vscode-notebook-cell-output",ee.vscodeInteractive="vscode-interactive",ee.vscodeInteractiveInput="vscode-interactive-input",ee.vscodeSettings="vscode-settings",ee.vscodeWorkspaceTrust="vscode-workspace-trust",ee.vscodeTerminal="vscode-terminal",ee.webviewPanel="webview-panel",ee.vscodeWebview="vscode-webview",ee.extension="extension",ee.vscodeFileResource="vscode-file",ee.tmp="tmp",ee.vsls="vsls"))(Wa||={});function Xs(n){return EE?n?.path||"":n?.fsPath||""}var SS=class{constructor(e){this._ignorePathCasing=e}compare(e,t,r=!1){return e===t?0:AU(this.getComparisonKey(e,r),this.getComparisonKey(t,r))}isEqual(e,t,r=!1){return e===t?!0:!e||!t?!1:this.getComparisonKey(e,r)===this.getComparisonKey(t,r)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:void 0}).toString()}ignorePathCasing(e){return this._ignorePathCasing(e)}isEqualOrParent(e,t,r=!1,i=yS?"\\":"/"){if(e.scheme===t.scheme){if(e.scheme===Wa.file)return PR(Xs(e),Xs(t),this._ignorePathCasing(e),i)&&e.query===t.query&&(r||e.fragment===t.fragment);if(FU(e.authority,t.authority))return PR(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(r||e.fragment===t.fragment)}return!1}joinPath(e,...t){return IS.Uri.joinPath(e,...t)}basenameOrAuthority(e){return un(e)||e.authority}basename(e,t){return hr.basename(e.path,t)}extname(e){return hr.extname(e.path)}dirname(e){if(e.path.length===0)return e;let t;return e.scheme===Wa.file?t=IS.Uri.file(nt(Xs(e))).path:(t=hr.dirname(e.path),e.authority&&t.length&&t.charCodeAt(0)!==47&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return e.scheme===Wa.file?t=IS.Uri.file(hn(Xs(e))).path:t=hr.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!FU(e.authority,t.authority))return;if(e.scheme===Wa.file){let o=_E(Xs(e),Xs(t));return yS?wR(o):o}let r=e.path||"/",i=t.path||"/";if(this._ignorePathCasing(e)){let o=0;for(let s=Math.min(r.length,i.length);o<s&&!(r.charCodeAt(o)!==i.charCodeAt(o)&&r.charAt(o).toLowerCase()!==i.charAt(o).toLowerCase());o++);r=i.substr(0,o)+r.substr(o)}return hr.relative(r,i)}resolvePath(e,t){if(e.scheme===Wa.file){let r=IS.Uri.file(kU(Xs(e),t));return e.with({authority:r.authority,path:r.path})}return t=OU(t),e.with({path:hr.resolve(e.path,t)})}isAbsolutePath(e){return!!e.path&&e.path[0]==="/"}isEqualAuthority(e,t){return e===t||e!==void 0&&t!==void 0&&MU(e,t)}hasTrailingPathSeparator(e,t=Tn){if(e.scheme===Wa.file){let r=Xs(e);return r.length>ER(r).length&&r[r.length-1]===t}else{let r=e.path;return r.length>1&&r.charCodeAt(r.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=Tn){return LU(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=Tn){let r=!1;if(e.scheme===Wa.file){let i=Xs(e);r=i!==void 0&&i.length===ER(i).length&&i[i.length-1]===t}else{t="/";let i=e.path;r=i.length===1&&i.charCodeAt(i.length-1)===47}return!r&&!LU(e,t)?e.with({path:e.path+"/"}):e}},Gt=new SS(()=>!1),Hhe=new SS(n=>n.scheme===Wa.file?!wU:!0),Ghe=new SS(n=>!0),vi=Gt.isEqual.bind(Gt),ah=Gt.isEqualOrParent.bind(Gt),cn=Gt.getComparisonKey.bind(Gt),zhe=Gt.basenameOrAuthority.bind(Gt),un=Gt.basename.bind(Gt),Vu=Gt.extname.bind(Gt),yi=Gt.dirname.bind(Gt),zt=Gt.joinPath.bind(Gt),Qhe=Gt.normalizePath.bind(Gt),kR=Gt.relativePath.bind(Gt),Yhe=Gt.resolvePath.bind(Gt),Xhe=Gt.isAbsolutePath.bind(Gt),FU=Gt.isEqualAuthority.bind(Gt),LU=Gt.hasTrailingPathSeparator.bind(Gt),Zhe=Gt.removeTrailingPathSeparator.bind(Gt),ege=Gt.addTrailingPathSeparator.bind(Gt),sz;(o=>{o.META_DATA_LABEL="label",o.META_DATA_DESCRIPTION="description",o.META_DATA_SIZE="size",o.META_DATA_MIME="mime";function i(s){let a=new Map;s.path.substring(s.path.indexOf(";")+1,s.path.lastIndexOf(";")).split(";").forEach(u=>{let[d,f]=u.split(":");d&&f&&a.set(d,f)});let c=s.path.substring(0,s.path.indexOf(";"));return c&&a.set(o.META_DATA_MIME,c),a}o.parseMetaData=i})(sz||={});function Rr(n=process.platform){return/^win/.test(n)?"Windows":/^darwin/.test(n)?"OSX":/^linux/.test(n)?"Linux":"Unknown"}function lh(n,e){return n.replace(/^~(?=$|\/|\\)/,e)}function az(){if(!Mu())return DR.Uri.file(require("os").homedir())}function ke(n){let e=Rr()==="Windows";if(n){let t=Xs(n);return t&&t.startsWith(Tn)&&t.length>1&&t[1]!==Tn&&e?t.slice(1):t||""}return""}function j(n,e=[],t){t=t||az();let r;typeof n=="string"&&(r=DR.Uri.file(n)),typeof n!="string"&&(r=n);let i=xR(r,void 0,t),o=e.find(l=>r&&ah(r,l.uri,!0));if(e.length>1&&o)return`${o.name}${Tn}${xR(r,o.uri,t)}`;let s=o?[xR(r,o.uri,t)]:[],a=i;return[i,...s].forEach(l=>{l.length<a.length&&(a=l)}),a}function xR(n,e,t){let r=Rr()==="Windows";if(n&&e&&ah(n,e,!0)){let i=kR(e,n);if(i)return r?i.replace(/\//g,"\\"):i}if(n&&t&&ah(n,t,!0)){let i=kR(t,n);if(i)return i=r?i.replace(/\//g,"\\"):i,`~${Tn}${i}`}return ke(n)}var VU=k(UU());function Ft(n){let e=this,t=!1,r;return function(){return t||(t=!0,r=n.apply(e,arguments)),r}}var TR;(E=>{function n(x){return x&&typeof x=="object"&&typeof x[Symbol.iterator]=="function"}E.is=n;let e=Object.freeze([]);function t(){return e}E.empty=t;function*r(x){yield x}E.single=r;function i(x){return n(x)?x:r(x)}E.wrap=i;function o(x){return x||e}E.from=o;function s(x){return!x||x[Symbol.iterator]().next().done===!0}E.isEmpty=s;function a(x){return x[Symbol.iterator]().next().value}E.first=a;function l(x,A){for(let T of x)if(A(T))return!0;return!1}E.some=l;function c(x,A){for(let T of x)if(A(T))return T}E.find=c;function*u(x,A){for(let T of x)A(T)&&(yield T)}E.filter=u;function*d(x,A){let T=0;for(let J of x)yield A(J,T++)}E.map=d;function*f(...x){for(let A of x)for(let T of A)yield T}E.concat=f;function g(x,A,T){let J=T;for(let ne of x)J=A(J,ne);return J}E.reduce=g;function*b(x,A,T=x.length){for(A<0&&(A+=x.length),T<0?T+=x.length:T>x.length&&(T=x.length);A<T;A++)yield x[A]}E.slice=b;function I(x,A=Number.POSITIVE_INFINITY){let T=[];if(A===0)return[T,x];let J=x[Symbol.iterator]();for(let ne=0;ne<A;ne++){let H=J.next();if(H.done)return[T,E.empty()];T.push(H.value)}return[T,{[Symbol.iterator](){return J}}]}E.consume=I})(TR||={});var jU;function JU(n){jU=n}function Zs(n){return jU?.push(n),n}function z(n){if(TR.is(n)){for(let e of n)if(e)try{e.dispose()}catch(t){console.warn(`dispose() failed for ${e}`,t)}return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}var Wr=class n{constructor(...e){this._toDispose=new Set;this._isDisposed=!1;e.forEach(t=>this.add(t)),Zs(this)}static{this.DISABLE_DISPOSED_WARNING=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{z(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?n.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}},Qt=class{constructor(...e){this._store=new Wr;this._isDisposed=!1;e.forEach(t=>this._store.add(t)),Zs(this)}get isDisposed(){return this._isDisposed}dispose(){this._store.dispose(),this._isDisposed=!0}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}},jn=class extends Qt{constructor(){super();this._onDidDispose=new VU.EventEmitter,this.onDidDispose=this._onDidDispose.event}dispose(){super.dispose(),this._onDidDispose.fire(),this._onDidDispose.dispose()}};var WU=class{constructor(){this._store=new Map;this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{z(this._store.values())}finally{this._store.clear()}}has(e){return this._store.has(e)}get(e){return this._store.get(e)}set(e,t,r=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),r||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}};var RE=class{constructor(){this.references=new Map}acquire(e,...t){let r=this.references.get(e);r||(r={counter:0,object:this.createReferencedObject(e,...t)},this.references.set(e,r));let{object:i}=r,o=Ft(()=>{r&&--r.counter===0&&(this.destroyReferencedObject(e,r.object),this.references.delete(e))});return r.counter++,{object:i,dispose:o}}};var w=require("vscode");var Ze=require("vscode"),RR=60,AR=RR*60,CS=AR*24,BU=CS*7,$U=CS*30,qU=CS*365;function ch(n,e,t,r){typeof n!="number"&&(n=n.getTime());let i=Math.round((new Date().getTime()-n)/1e3);if(i<-30)return Ze.l10n.t("in {0}",ch(new Date().getTime()+i*1e3,!1));if(!r&&i<30)return Ze.l10n.t("now");let o;return i<RR?(o=i,e?o===1?t?Ze.l10n.t("{0} second ago",o):Ze.l10n.t("{0} sec ago",o):t?Ze.l10n.t("{0} seconds ago",o):Ze.l10n.t("{0} secs ago",o):o===1?t?Ze.l10n.t("{0} second",o):Ze.l10n.t("{0} sec",o):t?Ze.l10n.t("{0} seconds",o):Ze.l10n.t("{0} secs",o)):i<AR?(o=Math.floor(i/RR),e?o===1?t?Ze.l10n.t("{0} minute ago",o):Ze.l10n.t("{0} min ago",o):t?Ze.l10n.t("{0} minutes ago",o):Ze.l10n.t("{0} mins ago",o):o===1?t?Ze.l10n.t("{0} minute",o):Ze.l10n.t("{0} min",o):t?Ze.l10n.t("{0} minutes",o):Ze.l10n.t("{0} mins",o)):i<CS?(o=Math.floor(i/AR),e?o===1?t?Ze.l10n.t("{0} hour ago",o):Ze.l10n.t("{0} hr ago",o):t?Ze.l10n.t("{0} hours ago",o):Ze.l10n.t("{0} hrs ago",o):o===1?t?Ze.l10n.t("{0} hour",o):Ze.l10n.t("{0} hr",o):t?Ze.l10n.t("{0} hours",o):Ze.l10n.t("{0} hrs",o)):i<BU?(o=Math.floor(i/CS),e?o===1?Ze.l10n.t("{0} day ago",o):Ze.l10n.t("{0} days ago",o):o===1?Ze.l10n.t("{0} day",o):Ze.l10n.t("{0} days",o)):i<$U?(o=Math.floor(i/BU),e?o===1?t?Ze.l10n.t("{0} week ago",o):Ze.l10n.t("{0} wk ago",o):t?Ze.l10n.t("{0} weeks ago",o):Ze.l10n.t("{0} wks ago",o):o===1?t?Ze.l10n.t("{0} week",o):Ze.l10n.t("{0} wk",o):t?Ze.l10n.t("{0} weeks",o):Ze.l10n.t("{0} wks",o)):i<qU?(o=Math.floor(i/$U),e?o===1?t?Ze.l10n.t("{0} month ago",o):Ze.l10n.t("{0} mo ago",o):t?Ze.l10n.t("{0} months ago",o):Ze.l10n.t("{0} mos ago",o):o===1?t?Ze.l10n.t("{0} month",o):Ze.l10n.t("{0} mo",o):t?Ze.l10n.t("{0} months",o):Ze.l10n.t("{0} mos",o)):(o=Math.floor(i/qU),e?o===1?t?Ze.l10n.t("{0} year ago",o):Ze.l10n.t("{0} yr ago",o):t?Ze.l10n.t("{0} years ago",o):Ze.l10n.t("{0} yrs ago",o):o===1?t?Ze.l10n.t("{0} year",o):Ze.l10n.t("{0} yr",o):t?Ze.l10n.t("{0} years",o):Ze.l10n.t("{0} yrs",o))}var b2=k(N());var vh=class{async createHash(e,t="SHA-256"){return na(e,t)}};vh=v([(0,b2.injectable)()],vh);var cP={},y2=!1,uP;typeof window=="object"?uP=window.crypto:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?uP=self.crypto:uP=require("node:crypto").webcrypto;async function na(n,e){let t=n.includes("/")||n.includes("\\")||n.endsWith(".interactive");if(t&&cP[n])return cP[n];let r=await zZ(n,e);return t&&!y2&&(Object.keys(cP).length>1e4&&(y2=!0),cP[n]=r),r}async function zZ(n,e){let t=new TextEncoder().encode(n),r=await uP.subtle.digest({name:e},t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}function Bu(n){if(typeof n=="string")try{let[e,t,r]=`${n.trim()}...`.split(".").map(i=>parseInt(i,10));return isNaN(e)?"":isNaN(t)?e.toString():isNaN(r)?`${e}.${t}`:`${e}.${t}.${r}`}catch(e){return p.error(`Failed to parse version ${n}`,e),""}return n?`${n.major}.${n.minor}.${n.micro}`:""}async function at(n){return na(n,"SHA-256")}var dA=k(I2());var DS=require("vscode");function qr(n){let e=Pr(n);if(e){let l=[];typeof e.version?.major=="number"&&(l.push(e.version.major.toString()),typeof e.version.minor=="number"&&(l.push(e.version.minor.toString()),typeof e.version.micro=="number"&&l.push(e.version.micro.toString())));let c=l.length?l.join("."):"",u=e.environment?.name||(e.environment?un(e.environment?.folderUri):""),d=c?`Python ${c}`:"Python";return Vr(n)&&u?u:u?`${u} (${d})`:d}if(Object.keys(n).length===1&&n.id)return n.id;let t=Bu(Ji(n)||"").trim(),r=Vr(n),i=t?`Python ${t}`:"Python",o=Ro(n);if(r&&o)return o;let s=[];o&&s.push(o);let a=Ve(n);return a&&a!=="Unknown"&&s.push(a),[i,s.length?`(${s.join(": ")})`:""].join(" ").trim()}function Ro(n){let e=Pr(n),t=e?.environment?.name;return!t&&e?.environment?.folderUri&&Ve(n)==="Conda"&&(t=un(e?.environment?.folderUri)),t}var XZ=["Unknown","Conda","PipEnv","Poetry","Pyenv","Venv","VirtualEnv","VirtualEnvWrapper"];function Ve(n){let e=Pr(n);return e?ZZ(e):"Unknown"}function ZZ(n){if(n.environment?.type==="Conda")return"Conda";let e=[["Conda","Conda"],["Pyenv","Pyenv"],["Pipenv","PipEnv"],["Poetry","Poetry"],["VirtualEnvWrapper","VirtualEnvWrapper"],["VirtualEnv","VirtualEnv"],["Venv","Venv"]];for(let[t,r]of e)if(n.tools.includes(t))return r;if(n.environment?.type==="VirtualEnvironment")return"VirtualEnv";for(let t of XZ)if(n.tools.some(r=>r.toLowerCase()===t.toLowerCase()))return t;return"Unknown"}var oo;function S2(n){oo=n}function Vr(n){if(!n||!oo)return!1;let e=Pr(n);return e&&Ve(e)==="Conda"&&!e.executable.uri}function Pr(n){if(n){if(!oo)throw new Error("Python API not initialized");return oo.environments.known.find(e=>e.id===n.id)}}async function ia(n){if(!n?.id)return;if(oo){let r=oo.environments.known.find(i=>i.id===n.id);if(r?.executable?.sysPrefix)return r.executable.sysPrefix}let t=await(await dA.PythonExtension.api()).environments.resolveEnvironment(n.id).then(r=>r?.executable?.sysPrefix);return t||p.warn(`Unable to find sysPrefix for interpreter ${j(n.id)}`),t}function yh(n){if(!n?.id)return;if(!oo)throw new Error("Python API not initialized");return oo.environments.known.find(t=>t.id===n.id)?.executable?.sysPrefix}async function qu(n,e=!1){if(!n?.id)return;if(oo&&!e){let i=oo.environments.known.find(o=>o.id===n.id);if(i?.version)return i.version}let r=await(await dA.PythonExtension.api()).environments.resolveEnvironment(n.id);return r?.version||p.warn(`Unable to find Version for interpreter ${j(n.id)}`),r?.version}function Ji(n){if(!n?.id)return;if(!oo)throw new Error("Python API not initialized");return oo.environments.known.find(t=>t.id===n.id)?.version}function so(){return oo?oo.environments.known:[]}function wi(n){if(!n)return;let e,t=n.id;if(n.executable.uri)e=n.executable.uri;else if(Ve(n)==="Conda")e=Rr()==="Windows"?DS.Uri.joinPath(n.environment?.folderUri||DS.Uri.file(n.path),"python.exe"):DS.Uri.joinPath(n.environment?.folderUri||DS.Uri.file(n.path),"bin","python");else{p.warn(`Python environment ${j(n.id)} excluded as Uri is undefined`);return}return{id:t,uri:e}}function eee(n){return qr(n)}var de;(x=>(x.bannerLabelYes=w.l10n.t("Yes"),x.bannerLabelNo=w.l10n.t("No"),x.canceled=w.l10n.t("Canceled"),x.cancel=w.l10n.t("Cancel"),x.ok=w.l10n.t("Ok"),x.refresh=w.l10n.t("Refresh"),x.refreshing=w.l10n.t("Refreshing..."),x.install=w.l10n.t("Install"),x.loadingExtension=w.l10n.t("Jupyter Extension loading..."),x.handleExtensionActivationError=w.l10n.t("Extension activation failed, run the 'Developer: Toggle Developer Tools' command for more information."),x.doNotShowAgain=w.l10n.t("Do not show again"),x.reload=w.l10n.t("Reload"),x.moreInfo=w.l10n.t("More Info"),x.learnMore=w.l10n.t("Learn more"),x.and=w.l10n.t("and"),x.reportThisIssue=w.l10n.t("Report this issue"),x.clickHereForMoreInfoWithHtml=A=>w.l10n.t("Click <a href='{0}'>here</a> for more info.",A)))(de||={});var zp;(t=>(t.notInGroup=r=>w.l10n.t("User does not belong to experiment group '{0}'",r),t.inGroup=r=>w.l10n.t("User belongs to experiment group '{0}'",r)))(zp||={});var pA;(e=>e.jupyter=w.l10n.t("Jupyter"))(pA||={});var mA;(e=>e.currentWorkingDirectory="cwd:")(mA||={});var fA;(e=>e.bannerMessage=w.l10n.t("Would you like shift-enter to send code to the new Interactive Window experience?"))(fA||={});var hA;(e=>e.bannerMessage=w.l10n.t("Can you please take a minute to tell us about your notebooks experience in VS Code?"))(hA||={});var dP;(t=>(t.bannerLabelYes=w.l10n.t("Yes, take survey now"),t.bannerLabelNo=w.l10n.t("No, thanks")))(dP||={});var y;(D=>(D.warnWhenSelectingKernelWithUnSupportedPythonVersion=w.l10n.t("The version of Python associated with the selected kernel is no longer supported. Please consider selecting a different kernel."),D.installingPythonExtension=w.l10n.t("Installing Python extension and locating kernels."),D.pythonExtensionRequired=w.l10n.t("The Python Extension is required to perform that task. Click Yes to open Python Extension installation page."),D.rendererExtensionRequired=w.l10n.t("The Renderer Extension is required to view IPyWidgets. Click Yes to open Jupyter Notebook Renderer Extension installation page."),D.rendererExtension1015Required=w.l10n.t("The installed version of the Renderer Extension is outdated and requires and update to view IPyWidgets. Click Yes to open Jupyter Notebook Renderer Extension installation page."),D.pythonExtensionInstalled=w.l10n.t("Python Extension is now installed. Some features might not be available until a notebook or interactive window session is restarted."),D.unknownPackage=w.l10n.t("unknown"),D.interactiveWindowTitleFormat=L=>w.l10n.t("Interactive - {0}",L),D.interactiveWindowModeBannerTitle=w.l10n.t({message:"Do you want to open a new Interactive Window for this file? [More Information](command:workbench.action.openSettings?%5B%22jupyter.interactiveWindowMode%22%5D).",args:[],comment:'The string "command:workbench.action.openSettings?%5B%22jupyter.interactiveWindowMode%22%5D" should not be translated. It is a command that opens the settings page with the "jupyter.interactiveWindowMode" setting selected.'}),D.interactiveWindowModeBannerSwitchYes=w.l10n.t("Yes"),D.interactiveWindowModeBannerSwitchNo=w.l10n.t("No"),D.dataExplorerTitle=w.l10n.t("Data Viewer"),D.badWebPanelFormatString=L=>w.l10n.t({message:"<html><body><h1>{0} is not a valid file name</h1></body></html>",args:[L],comment:["Only translate the text within the HTML tags"]}),D.installingMissingDependencies=w.l10n.t("Installing missing dependencies"),D.validatingKernelDependencies=w.l10n.t("Validating kernel dependencies"),D.performingExport=w.l10n.t("Performing Export"),D.exportNotebookToPython=w.l10n.t("Exporting Notebook to Python"),D.sessionDisposed=w.l10n.t("Cannot execute code, session has been disposed. Please try restarting the Kernel."),D.passwordFailure=w.l10n.t("Failed to connect to password protected server. Check that password is correct."),D.incorrectPassword=w.l10n.t("Incorrect Password."),D.exportDialogFilter=w.l10n.t("Jupyter Notebooks"),D.exportDialogComplete=L=>w.l10n.t("Notebook written to {0}",L),D.exportDialogFailed=L=>w.l10n.t("Failed to export notebook. {0}",L),D.exportOpenQuestion1=w.l10n.t("Open in editor"),D.runCellLensCommandTitle=w.l10n.t("Run Cell"),D.importDialogTitle=w.l10n.t("Import Jupyter Notebook"),D.importDialogFilter="Jupyter Notebooks",D.notebookCheckForImportNo=w.l10n.t("Later"),D.libraryRequiredToLaunchJupyterNotInstalled=L=>w.l10n.t("Running cells requires {0} package.",L),D.librariesRequiredToLaunchJupyterNotInstalled=L=>w.l10n.t("Running cells requires {0} package.",L),D.libraryRequiredToLaunchJupyterNotInstalledInterpreter=(L,$e)=>w.l10n.t("Running cells with '{0}' requires the {1} package.",L,$e),D.libraryRequiredToLaunchJupyterKernelNotInstalledInterpreter=(L,$e)=>w.l10n.t("Running cells with '{0}' requires the {1} package.",L,$e),D.libraryRequiredToLaunchJupyterKernelNotInstalledInterpreterAndRequiresUpdate=(L,$e)=>w.l10n.t("Running cells with '{0}' requires the {1} package to be installed or requires an update.",L,$e),D.librariesRequiredToLaunchJupyterNotInstalledInterpreter=(L,$e)=>w.l10n.t("Running cells with '{0}' requires the {1} package.",L,$e),D.installPackageInstructions=(L,$e)=>w.l10n.t(`Run the following command to install '{0}' into the Python environment.
|
||
Command: '{1}'`,L,$e),D.pythonCondaKernelsWithoutPython=w.l10n.t("The Python Runtime and IPyKernel will be automatically installed upon selecting this environment."),D.selectJupyterInterpreter=w.l10n.t("Select an Interpreter to start Jupyter"),D.jupyterInstall=w.l10n.t("Install"),D.currentlySelectedJupyterInterpreterForPlaceholder=L=>w.l10n.t("Selected Environment {0}",L),D.jupyterNotSupported=L=>w.l10n.t("Jupyter cannot be started. Error attempting to locate Jupyter: {0}",L),D.jupyterNotebookNotInstalledOrNotFound=L=>{if(L){let $e=eee(L);return w.l10n.t("Failed to start Jupyter Server as the packages 'jupyter' and 'notebook' could not be located in the Python environment '{0}'.",$e)}else return w.l10n.t("Failed to start Jupyter Server as the packages 'jupyter' and 'notebook' could not be located in the Python environment.")},D.jupyterNotSupportedBecauseOfEnvironment=(L,$e)=>w.l10n.t("Activating {0} to run Jupyter failed with {1}",L,$e),D.jupyterNbConvertNotSupported=w.l10n.t("Jupyter nbconvert is not installed"),D.jupyterLaunchTimedOut=w.l10n.t("The Jupyter notebook server failed to launch in time"),D.jupyterLaunchNoURL=w.l10n.t("Failed to find the URL of the launched Jupyter notebook server"),D.jupyterSelfCertFail=L=>w.l10n.t(`The security certificate used by server {0} was not issued by a trusted certificate authority.\r
|
||
This may indicate an attempt to steal your information.\r
|
||
Do you want to enable the Allow Unauthorized Remote Connection setting for this workspace to allow you to connect?`,L),D.jupyterExpiredCertFail=L=>w.l10n.t(`The security certificate used by server {0} has expired.\r
|
||
This may indicate an attempt to steal your information.\r
|
||
Do you want to enable the Allow Unauthorized Remote Connection setting for this workspace to allow you to connect?`,L),D.jupyterSelfCertFailErrorMessageOnly=w.l10n.t(`The security certificate used by server was not issued by a trusted certificate authority.\r
|
||
This may indicate an attempt to steal your information.`),D.jupyterSelfCertExpiredErrorMessageOnly=w.l10n.t(`The security certificate used by server has expired.\r
|
||
This may indicate an attempt to steal your information.`),D.jupyterSelfCertEnable=w.l10n.t("Yes, connect anyways"),D.jupyterSelfCertClose=w.l10n.t("No, close the connection"),D.pythonInteractiveHelpLink=w.l10n.t("See <https://aka.ms/pyaiinstall> for help on installing Jupyter."),D.importingFormat=L=>w.l10n.t("Importing {0}",L),D.startingJupyter=w.l10n.t("Starting Jupyter Server"),D.connectingToKernel=L=>w.l10n.t("Connecting to kernel: {0}",L),D.connectingToJupyter=w.l10n.t("Connecting to Jupyter Server"),D.exportingFormat=L=>w.l10n.t("Exporting {0}",L),D.runAllCellsLensCommandTitle=w.l10n.t("Run All Cells"),D.runAllCellsAboveLensCommandTitle=w.l10n.t("Run Above"),D.runCellAndAllBelowLensCommandTitle=w.l10n.t("Run Below"),D.restartKernelMessage=w.l10n.t("Do you want to restart the Jupyter kernel? All variables will be lost."),D.restartKernelMessageYes=w.l10n.t("Restart"),D.restartKernelMessageDontAskAgain=w.l10n.t("Don't Ask Again"),D.automaticallyReconnectingToAKernelProgressMessage=L=>w.l10n.t("Reconnecting to the kernel {0}",L),D.restartingKernelStatus=L=>w.l10n.t("Restarting Kernel {0}",L),D.interruptingKernelFailed=w.l10n.t("Kernel interrupt failed. Jupyter Server is hung. Please reload VS Code."),D.sessionStartFailedWithKernel=L=>w.l10n.t({message:`Failed to start the Kernel '{0}'.
|
||
View Jupyter [log](command:jupyter.viewOutput) for further details.`,args:[L],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.failedToStartJupyter=L=>w.l10n.t({message:`Failed to start Jupyter in the environment '{0}'.
|
||
View Jupyter [log](command:jupyter.viewOutput) for further details.`,args:[L],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.failedToStartJupyterWithErrorInfo=(L,$e)=>w.l10n.t({message:`Failed to start Jupyter in the environment '{0}'.
|
||
{1}
|
||
View Jupyter [log](command:jupyter.viewOutput) for further details.`,args:[L,$e],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.failedToStartJupyterDueToOutdatedTraitlets=(L,$e)=>w.l10n.t({message:`Failed to start Jupyter in the environment '{0}' possibly due to an outdated version of 'traitlets'.
|
||
{1}
|
||
Consider updating the 'traitlets' module to '5.1.1' or later.
|
||
View Jupyter [log](command:jupyter.viewOutput) for further details.`,args:[L,$e],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel',"Do not translate the text 'traitlets', that is a Python module name"]}),D.failedToStartKernel=w.l10n.t("Failed to start the Kernel."),D.failedToRestartKernel=w.l10n.t("Failed to restart the Kernel."),D.failedToInterruptKernel=w.l10n.t("Failed to interrupt the Kernel."),D.rawKernelStartFailedDueToTimeout=L=>w.l10n.t({message:`Unable to start Kernel '{0}' due to a connection timeout.
|
||
View Jupyter [log](command:jupyter.viewOutput) for further details.`,args:[L],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.rawKernelStartFailedDueToTimeoutWaitingForPort=L=>w.l10n.t({message:`Unable to start Kernel '{0}' due to a timeout waiting for the ports to get used.
|
||
View Jupyter [log](command:jupyter.viewOutput) for further details.`,args:[L],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.viewJupyterLogForFurtherInfo=w.l10n.t({message:"View Jupyter [log](command:jupyter.viewOutput) for further details.",comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.kernelDied=L=>w.l10n.t({message:"The kernel died. Error: {0}... View Jupyter [log](command:jupyter.viewOutput) for further details.",args:[L],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.kernelDiedWithoutError=L=>w.l10n.t({message:"The kernel '{0}' died. Click [here](https://aka.ms/vscodeJupyterKernelCrash) for more info. View Jupyter [log](command:jupyter.viewOutput) for further details.",args:[L],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel',"Do not translate the link https://aka.ms/vscodeJupyterKernelCrash"]}),D.failedToStartAnUntrustedKernelSpec=(L,$e)=>w.l10n.t({message:`The kernel '{0}' was not started as it is located in an insecure location '{1}'.
|
||
Click [here](https://aka.ms/JupyterTrustedKernelPaths) for further details, optionally update the setting [jupyter.kernels.trusted](command:workbench.action.openSettings?["jupyter.kernels.trusted"]) to trust the kernel.`,args:[L,$e],comment:['Do not translate the text "jupyter.kernels.trusted", that is a setting in VS Code','Do not translate the text command:workbench.action.openSettings?["jupyter.kernels.trusted"], that is a command Id that will be used by VS Code to open the output panel',"Do not translate the link https://aka.ms/JupyterTrustedKernelPaths"]}),D.kernelDiedWithoutErrorAndAutoRestarting=L=>w.l10n.t({message:"The kernel '{0}' died and is being automatically restarted by Jupyter. Click [here](https://aka.ms/vscodeJupyterKernelCrash) for more info. View Jupyter [log](command:jupyter.viewOutput) for further details.",args:[L],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel',"Do not translate the link https://aka.ms/vscodeJupyterKernelCrash"]}),D.kernelCrashedDueToCodeInCurrentOrPreviousCell=w.l10n.t({message:`The Kernel crashed while executing code in the current cell or a previous cell.
|
||
Please review the code in the cell(s) to identify a possible cause of the failure.
|
||
Click <a href='https://aka.ms/vscodeJupyterKernelCrash'>here</a> for more info.
|
||
View Jupyter [log](command:jupyter.viewOutput) for further details.`,comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel',"Do not translate the link https://aka.ms/vscodeJupyterKernelCrash"]}),D.kernelDisconnected=L=>w.l10n.t("Unable to connect to the kernel '{0}', please verify the Jupyter Server connection. View Jupyter [log](command:jupyter.viewOutput) for further details.",L),D.cannotRunCellKernelIsDead=L=>w.l10n.t("Cannot run cells, as the kernel '{0}' is dead.",L),D.showJupyterLogs=w.l10n.t("Show Jupyter Logs."),D.restartKernel=w.l10n.t("Restart Kernel"),D.reloadRequired=w.l10n.t("Please reload the window for new settings to take effect."),D.restartedKernelHeader=L=>w.l10n.t("Restarted {0}",L),D.connectedKernelHeader=L=>w.l10n.t("Connected to {0}",L),D.restartingKernelCustomHeader=L=>w.l10n.t("_Restarting {0}..._",L),D.restartingKernelHeader=w.l10n.t("_Restarting kernel..._"),D.startingNewKernelHeader=w.l10n.t("_Connecting to kernel..._"),D.startingNewKernelCustomHeader=L=>w.l10n.t("_Connecting to {0}..._",L),D.noKernelConnected=w.l10n.t("No kernel connected"),D.jupyterSelectUriCommandLabel=w.l10n.t("Enter the URL of the running Jupyter Server..."),D.jupyterSelectUriInputTitle=w.l10n.t("Enter the URL of the running Jupyter Server"),D.jupyterSelectUriInputPlaceholder=w.l10n.t("Enter the url of the running Jupyter Server"),D.connectToToTheJupyterServer=L=>w.l10n.t("Connect to the Jupyter Server {0}",L),D.enterOrSelectRemoteJupyterPlaceholder=w.l10n.t("Enter a remote url, or select a remote server"),D.selectRemoteJupyterPlaceholder=w.l10n.t("Select a remote server"),D.jupyterServerLastConnectionForQuickPickDescription=L=>w.l10n.t("Last connected {0}",ch(L,!0,!1,!1)),D.jupyterServerNotUsedBeforeQuickPickSeparatorTitle=w.l10n.t("Jupyter Servers"),D.jupyterSelectURIInvalidURI=w.l10n.t("Invalid URL specified"),D.jupyterSelectURIMustBeHttpOrHttps=w.l10n.t("Invalid protocol in URL specified, only HTTP or HTTPS are supported."),D.jupyterSelectLiveRemoteKernelDescription=(L,$e)=>L?$e===0?w.l10n.t("Last activity {0}",ch(L,!0,!1,!1)):$e===1?w.l10n.t("Last activity {0}, 1 connection",ch(L,!0,!1,!1)):w.l10n.t("Last activity {0}, {1} connections",ch(L,!0,!1,!1),$e.toString()):$e===0?"":$e===1?w.l10n.t("1 connection"):w.l10n.t("{0} connections",$e.toString()),D.installJupyterHub=w.l10n.t("Install the JupyterHub extension to connect to JupyterHub servers."),D.useJupyterHubExtension=w.l10n.t("Select 'Existing JupyterHub Server...' from the Kernel Picker"),D.useJupyterHubExtensionDetail=w.l10n.t("Use this option when connecting to JupyterHub servers"),D.installJupyterHubDetail=w.l10n.t("Once installed, open the Kernel Picker and select 'Existing JupyterHub Server...'"),D.jupyterSelectUserAndPasswordTitle=w.l10n.t("Enter your user name and password to connect to Jupyter Hub"),D.jupyterRenameServer=w.l10n.t("Change Server Display Name (Leave Blank To Use URL)"),D.jupyterServerUriDisplayNameInputPlaceholder=w.l10n.t("Enter a display name"),D.jupyterSelectUserPrompt=w.l10n.t("Enter your user name"),D.jupyterSelectPasswordPrompt=w.l10n.t("Enter your password"),D.jupyterSelectPasswordTitle=w.l10n.t("Enter your password for the Jupyter Server"),D.pythonNotInstalled=w.l10n.t(`Python is not installed.
|
||
Please download and install Python in order to execute cells in this notebook.
|
||
Once installed please reload VS Code.`),D.pleaseReloadVSCodeOncePythonHasBeenInstalled=w.l10n.t("Upon installing Python please reload VS Code."),D.jupyterNotebookFailure=L=>w.l10n.t(`Jupyter notebook failed to launch. \r
|
||
{0}`,L),D.remoteJupyterServerProvidedBy3rdPartyExtensionNoLongerValid=L=>w.l10n.t("The remote Jupyter Server contributed by the extension '{0}' is no longer available.",L),D.remoteJupyterConnectionFailedWithServerWithError=(L,$e)=>w.l10n.t("Failed to connect to the remote Jupyter Server '{0}'. Verify the server is running and reachable. ({1}).",L,$e),D.remoteJupyterConnectionFailedWithServer=L=>w.l10n.t("Failed to connect to the remote Jupyter Server '{0}'. Verify the server is running and reachable.",L),D.remoteJupyterConnectionFailedWithoutServerWithError=L=>w.l10n.t("Connection failure. Verify the server is running and reachable. ({0}).",L),D.remoteJupyterConnectionFailedWithoutServerWithErrorWeb=L=>w.l10n.t(`Connection failure. Verify the server is running and reachable from a browser. ({0}).
|
||
When connecting from vscode.dev Jupyter servers must be started with specific options to connect.
|
||
Click [here](https://aka.ms/vscjremoteweb) for more information.`,L),D.removeRemoteJupyterConnectionButtonText=w.l10n.t("Forget Connection"),D.jupyterNotebookRemoteConnectFailedWeb=L=>w.l10n.t(`Failed to connect to remote Jupyter Server.\r
|
||
Check that the Jupyter Server URL can be reached from a browser.\r
|
||
{0}. Click [here](https://aka.ms/vscjremoteweb) for more information.`,L),D.packageNotInstalledWindowsLongPathNotEnabledError=(L,$e)=>w.l10n.t(`Support for Windows Long Path has not been enabled, hence the package {0} could not be installed into the Python Environment '{1}'.
|
||
Please ensure that support for Windows Long Path is enabled.
|
||
See [here](https://pip.pypa.io/warnings/enable-long-paths) for more information.`,L,$e),D.changeRemoteJupyterConnectionButtonText=w.l10n.t("Manage Connections"),D.rawConnectionBrokenError=w.l10n.t("Direct kernel connection broken"),D.jupyterServerCrashed=L=>w.l10n.t(`Jupyter Server crashed. Unable to connect. \r
|
||
Error code from Jupyter: {0}`,L.toString()),D.jupyterKernelSpecModuleNotFound=L=>w.l10n.t(`'Kernelspec' module not installed in the selected interpreter ({0}).
|
||
Please re-install or update 'jupyter'.`,L),D.interruptKernelStatus=L=>w.l10n.t("Interrupting Kernel {0}",L),D.exportPythonQuickPickLabel=w.l10n.t("Python Script"),D.exportHTMLQuickPickLabel=w.l10n.t("HTML"),D.exportPDFQuickPickLabel=w.l10n.t("PDF"),D.restartKernelAfterInterruptMessage=L=>w.l10n.t("Interrupting the kernel '{0}' timed out. Do you want to restart the kernel instead? All variables will be lost.",L),D.documentMismatch=L=>w.l10n.t("Cannot run cells, duplicate documents for {0} found.",L),D.jupyterGetVariablesBadResults=w.l10n.t("Failed to fetch variable info from the Jupyter Server."),w.l10n.t("Failure to create an 'Interactive' window. Try reinstalling the Python Extension."),D.jupyterGetVariablesExecutionError=L=>w.l10n.t(`Failure during variable extraction: \r
|
||
{0}`,L),D.selectKernel=w.l10n.t("Change Kernel"),D.selectDifferentKernel=w.l10n.t("Select a different Kernel"),D.kernelFilterPlaceholder=w.l10n.t("Choose the kernels that are available in the kernel picker."),D.recommendedItemCategoryInQuickPick=w.l10n.t("Recommended"),D.selectedKernelCategoryInQuickPick=w.l10n.t("Selected"),D.createPythonEnvironmentInQuickPick=w.l10n.t("Create Python Environment"),D.createPythonEnvironmentInQuickPickTooltip=w.l10n.t("Create an isolated Python Environment per workspace folder"),D.selectDifferentJupyterInterpreter=w.l10n.t("Change Interpreter"),D.pandasTooOldForViewingFormat=(L,$e)=>w.l10n.t({message:"Python package 'pandas' is version {0}. Version {1} or greater is required for viewing data.",args:[L,$e],comment:["Do not translate 'pandas' as that is a Python module name"]}),D.pandasRequiredForViewing=L=>w.l10n.t({message:"Python package 'pandas' version {0} (or above) is required for viewing data.",args:[L],comment:["Do not translate 'pandas' as that is a Python module name"]}),D.tooManyColumnsMessage=w.l10n.t("Variables with over a 1000 columns may take a long time to display. Are you sure you wish to continue?"),D.tooManyColumnsYes=w.l10n.t("Yes"),D.tooManyColumnsNo=w.l10n.t("No"),D.tooManyColumnsDontAskAgain=w.l10n.t("Don't Ask Again"),D.plotViewerTitle=w.l10n.t("Plots"),D.exportPlotTitle=w.l10n.t("Save plot image"),D.pdfFilter="PDF",D.pngFilter="PNG",D.svgFilter="SVG",D.exportImageFailed=L=>w.l10n.t("Error exporting image: {0}",L),D.jupyterDataRateExceeded=w.l10n.t({message:"Cannot view variable because data rate exceeded. Please restart your server with a higher data rate limit. For example, --NotebookApp.iopub_data_rate_limit=10000000000.0",comment:["Do not translate the text --NotebookApp.iopub_data_rate_limit=10000000000.0 as that is a command argument."]}),D.addCellBelowCommandTitle=w.l10n.t("Add cell"),D.debugCellCommandTitle=w.l10n.t("Debug Cell"),D.debugStepOverCommandTitle=w.l10n.t("Step over"),D.debugContinueCommandTitle=w.l10n.t("Continue"),D.debugStopCommandTitle=w.l10n.t("Stop"),D.runCurrentCellAndAddBelow=w.l10n.t("Run current cell and add empty cell below"),D.jupyterDebuggerNotInstalledError=L=>w.l10n.t("Pip module {0} is required for debugging cells. You will need to install it to debug cells.",L),D.jupyterDebuggerOutputParseError=L=>w.l10n.t("Unable to parse {0} output, please log an issue with https://github.com/microsoft/vscode-jupyter",L),D.cellStopOnErrorMessage=w.l10n.t("Cell was canceled due to an error in a previous cell."),D.scrollToCellTitleFormatMessage=L=>w.l10n.t("Go to [{0}]",L.toString()),D.instructionComments=L=>w.l10n.t(`# To add a new cell, type '{0}'
|
||
# To add a new markdown cell, type '{0} [markdown]'
|
||
`,L),D.exportButtonTitle=w.l10n.t("Export"),D.exportAsQuickPickPlaceholder=w.l10n.t("Export As..."),D.openExportedFileMessage=w.l10n.t("Would you like to open the exported file?"),D.openExportFileYes=w.l10n.t("Yes"),D.openExportFileNo=w.l10n.t("No"),D.exportFailedGeneralMessage=w.l10n.t({message:"Please check the 'Jupyter' [output](command:jupyter.viewOutput) panel for further details.",comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.exportToPDFDependencyMessage=w.l10n.t(`If you have not installed xelatex (TeX), you will need to do so before you can export to PDF. For further instructions, please see https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex. \r
|
||
To avoid installing xelatex (TeX), you might want to try exporting to HTML and using your browser's "Print to PDF" feature.`),D.failedExportMessage=w.l10n.t("Export failed."),D.startingJupyterLogMessage=(L,$e)=>w.l10n.t("Starting Jupyter from {0} with arguments {1}",L,$e),D.waitingForJupyterSessionToBeIdle=w.l10n.t("Waiting for Jupyter Session to be idle"),D.gettingListOfKernelsForRemoteConnection=w.l10n.t("Fetching Kernels"),D.gettingListOfKernelSpecs=w.l10n.t("Fetching Kernel specs"),D.startingJupyterNotebook=w.l10n.t("Starting Jupyter Notebook"),D.registeringKernel=w.l10n.t("Registering Kernel"),D.jupyterCommandLineReloadQuestion=w.l10n.t("Please reload the window when changing the Jupyter command line."),D.jupyterCommandLineReloadAnswer=w.l10n.t("Reload"),D.createdNewKernel=(L,$e)=>w.l10n.t("{0}: Kernel started: {1}",L,$e),D.kernelInvalid=L=>w.l10n.t("Kernel {0} is not usable. Check the Jupyter output tab for more information.",L),D.removeRemoteJupyterServerEntryInQuickPick=w.l10n.t("Remove"),D.loadClassFailedWithNoInternet=(L,$e)=>w.l10n.t("Error loading {0}:{1}. Internet connection required for loading 3rd party widgets.",L,$e),D.useCDNForWidgetsNoInformation=w.l10n.t("Widgets require us to download supporting files from a 3rd party website."),D.enableCDNForWidgetsSetting=(L,$e)=>w.l10n.t("Widgets require us to download supporting files from a 3rd party website. (Error loading {0}:{1}).",L,$e),D.enableCDNForWidgetsButton=w.l10n.t("Enable Downloads"),D.unhandledMessage=(L,$e)=>w.l10n.t("Unhandled kernel message from a widget: {0} : {1}",L,$e),D.cdnWidgetScriptNotAccessibleWarningMessage=(L,$e)=>w.l10n.t("Unable to download widget '{0}' from 3rd party website {1}, due to network access. Expected behavior may be affected. Click [here](https://aka.ms/PVSCIPyWidgets) for more information.",L,$e),D.widgetScriptNotFoundOnCDNWidgetMightNotWork=(L,$e,pE)=>w.l10n.t("Unable to find widget '{0}' version '{1}' from configured widget sources {2}. Expected behavior may be affected. Click [here](https://aka.ms/PVSCIPyWidgets) for more information.",L,$e,pE),D.insecureSessionMessage=w.l10n.t("Connecting over HTTP without a token may be an insecure connection. Do you want to connect to a possibly insecure server?"),D.insecureSessionDenied=w.l10n.t("Denied connection to insecure server."),D.selectKernelForEditor=w.l10n.t("[Select a kernel](command:_notebook.selectKernel) to run cells."),D.needIpykernel6=w.l10n.t("Ipykernel setup required for this feature"),D.setup=w.l10n.t("Setup"),D.showDataViewerFail=w.l10n.t("Failed to create the Data Viewer. Check the Jupyter tab of the Output window for more info."),D.defaultNotebookName=w.l10n.t("default"),D.recommendExtensionForNotebookLanguage=(L,$e)=>w.l10n.t("The {0} extension is recommended for notebooks targeting the language '{1}'",L,$e),D.kernelWasNotStarted=w.l10n.t("Kernel was not started. A kernel session is needed to start debugging."),D.noNotebookToDebug=w.l10n.t("No active notebook document to debug."),D.cantStartDebugging=w.l10n.t("Can't start debugging."),D.restartNotSupported=w.l10n.t("Restarting is not supported in the interactive window."),D.importingIpynb=w.l10n.t("Importing notebook file"),D.exportingToFormat=L=>w.l10n.t("Exporting to {0}",L),D.kernelCategoryForJupyterSession=w.l10n.t("Jupyter Session"),D.kernelDefaultRemoteDisplayName=w.l10n.t("Remote"),D.kernelCategoryForJupyterKernel=w.l10n.t("Jupyter Kernel"),D.kernelCategoryForRemoteJupyterKernel=w.l10n.t("Jupyter Kernel"),D.kernelCategoryForConda=w.l10n.t("Conda Env"),D.kernelCategoryForCondaWithoutPython=w.l10n.t("Conda Env Without Python"),D.kernelCategoryForPoetry=w.l10n.t("Poetry Env"),D.kernelCategoryForPipEnv=w.l10n.t("Pipenv Env"),D.kernelCategoryForPyEnv=w.l10n.t("PyEnv Env"),D.kernelCategoryForGlobal=w.l10n.t("Global Env"),D.kernelCategoryForVirtual=w.l10n.t("Virtual Env"),D.fileSeemsToBeInterferingWithKernelStartup=L=>w.l10n.t("The file '{0}' seems to be overriding built in modules and interfering with the startup of the kernel. Consider renaming the file and starting the kernel again.",L),D.moduleSeemsToBeInterferingWithKernelStartup=L=>w.l10n.t("The module '{0}' seems to be overriding built in modules and interfering with the startup of the kernel. Consider renaming the folder and starting the kernel again.",L),D.pipCondaInstallHoverWarning=(L,$e)=>w.l10n.t("'!{0} install' could install packages into the wrong environment. [More info]({1})",L,$e),D.percentPipCondaInstallInsteadOfBang=L=>w.l10n.t({message:"Use '%{0} install' instead of '!{0} install'",args:[L],comment:['Do not translate the string within quotes, such as "%{0} install" and "!{0} install" as that is a Jupyter Shell Magic command']}),D.replacePipCondaInstallCodeAction=L=>w.l10n.t("Replace with '%{0} install'",L),D.failedToStartKernelDueToMissingModule=L=>w.l10n.t("The kernel failed to start due to the missing module '{0}'. Consider installing this module.",L),D.failedToStartKernelDueToImportFailure=L=>w.l10n.t("The kernel failed to start as the module '{0}' could not be imported.",L),D.failedToStartKernelDueToImportFailureFromFile=(L,$e)=>w.l10n.t("The kernel failed to start as '{0}' could not be imported from '{1}'.",L,$e),D.failedToStartKernelDueToUnknownDllLoadFailure=w.l10n.t("The kernel failed to start as a dll could not be loaded."),D.failedToStartKernelDueToDllLoadFailure=L=>w.l10n.t("The kernel failed to start as the dll '{0}' could not be loaded.",L),D.failedToStartKernelDueToWin32APIFailure=w.l10n.t("The kernel failed to start due to an error with the Win32api module. Consider (re) installing this module."),D.failedToStartKernelDueToPyZmqFailure=w.l10n.t({message:"The kernel failed to start due to an error with the 'pyzmq' module. Consider re-installing this module.",comment:['Do not translate the string "pyzmq" as that is a Python module.']}),D.failedToStartKernelDueToOldIPython=w.l10n.t("The kernel failed to start due to an outdated version of IPython. Consider updating this module to the latest version."),D.failedToStartKernelDueToOldIPyKernel=w.l10n.t("The kernel failed to start due to an outdated version of IPyKernel. Consider updating this module to the latest version."),D.failedToStartKernelDueToMissingPythonEnv=L=>w.l10n.t("The kernel failed to start as the Python Environment '{0}' is no longer available. Consider selecting another kernel or refreshing the list of Python Environments.",L),D.matplotlibWidgetInsteadOfOther=w.l10n.t("'%matplotlib' widget works best inside of VS Code"),D.matplotlibWidgetCodeActionTitle=w.l10n.t("More info"),D.allowExtensionToUseJupyterKernelApi=(L,$e)=>w.l10n.t("Do you want to give the extension '{0}' access to the Jupyter Kernels? Clicking '{1}' would allow this extension to execute code against the Jupyter Kernels.",L,$e),D.thanksForUsingJupyterKernelApiPleaseRegisterWithUs=L=>w.l10n.t("Thank you for trying the Jupyter API. Please file an issue on our repo to allow the extension {0} to use this API in production. This would prevent us from breaking your extension when updating the API (as it is still a work in progress).",L),D.activatingPythonEnvironment=L=>w.l10n.t("Activating Python Environment '{0}'",L),D.runningKernelStartupHooksFor=L=>w.l10n.t("Running Kernel startup hooks in '{0}'",L),D.cellAtFormat=(L,$e)=>w.l10n.t("{0} Cell {1}",L,$e),D.jupyterServerConsoleOutputChannel=w.l10n.t("Jupyter Server Console"),D.kernelConsoleOutputChannel=L=>w.l10n.t("{0} Kernel Console Output",L),D.webNotSupported=w.l10n.t("Operation not supported in web version of Jupyter Extension."),D.failedToInstallPythonExtension=w.l10n.t("Failed to install the Python Extension."),D.filesPossiblyOverridingPythonModulesMayHavePreventedKernelFromStarting=L=>w.l10n.t("Some of the following files found in the working directory may have prevented the Kernel from starting. Consider renaming them.",L),D.listOfFilesWithLinksThatMightNeedToBeRenamed=L=>w.l10n.t("File(s): {0} might need to be renamed.",L),D.failedToGetVersionOfPandas=w.l10n.t("Failed to get version of Pandas to use the Data Viewer."),D.failedToInstallPandas=w.l10n.t("Failed to install Pandas to use the Data Viewer."),D.localKernelSpecs=w.l10n.t("Jupyter Kernel..."),D.localPythonEnvironments=w.l10n.t("Python Environments..."),D.quickPickTitleForSelectionOfJupyterServer=w.l10n.t("Select a Jupyter Server"),D.UserJupyterServerUrlProviderDisplayName=w.l10n.t("Existing Jupyter Server..."),D.UserJupyterServerUrlProviderDetail=w.l10n.t("Connect to an existing Jupyter Server"),D.kernelPickerSelectKernelTitle=w.l10n.t("Select Kernel"),D.kernelPickerSelectLocalKernelSpecTitle=w.l10n.t("Select a Jupyter Kernel"),D.quickPickSelectPythonEnvironmentTitle=w.l10n.t("Select a Python Environment"),D.kernelPickerSelectKernelFromRemoteTitle=L=>w.l10n.t("Select a Kernel from {0}",L),D.kernelPickerSelectKernelFromRemoteTitleWithoutName=w.l10n.t("Select a Jupyter Kernel"),D.installPythonExtensionViaKernelPickerTitle=w.l10n.t("Install Python Extension"),D.installPythonExtensionViaKernelPickerToolTip=w.l10n.t("Python Extension is required to detect and use Python environments for the execution of code cells."),D.installPythonQuickPickTitle=w.l10n.t("Install Python"),D.installPythonQuickPickToolTip=w.l10n.t("Python Environments not detected. Upon installation reload VS Code or refresh the list of Kernels."),D.failedToFetchKernelSpecsRemoteErrorMessageForQuickPickLabel=w.l10n.t({message:"$(error) Unable to connect to the remote server",comment:"Do not translate the string $(error) as that is a VS Code icon."}),D.failedToFetchKernelSpecsRemoteErrorMessageForQuickPickDetail=w.l10n.t("Ensure the server is running and reachable."),D.dataViewerDeprecationMessage=w.l10n.t("The built-in data viewer will be deprecated soon. Please install other data viewing extensions to keep the ability to inspect data."),D.dataViewerDeprecationRecommendationActionMessage=w.l10n.t("See Recommended Extensions")))(y||={});var Kt;(he=>(he.collapseSingle=w.l10n.t("Collapse"),he.expandSingle=w.l10n.t("Expand"),he.noRowsInDataViewer=w.l10n.t("No rows match current filter"),he.sliceIndexError=w.l10n.t({message:"Index {0} out of range for axis {1} with {2} elements",comment:["Do not translate the strings {0}, {1} and {2} as they are variable names and will be replaced later"]}),he.sliceMismatchedAxesError=w.l10n.t({message:"Expected {0} axes, got {1} in slice expression",comment:["Do not translate the strings {0} and {2} as they are variable names and will be replaced later"]}),he.fetchingDataViewer=w.l10n.t("Fetching data ..."),he.dataViewerHideFilters=w.l10n.t("Hide filters"),he.dataViewerShowFilters=w.l10n.t("Show filters"),he.refreshDataViewer=w.l10n.t("Refresh data viewer"),he.sliceSummaryTitle=w.l10n.t("SLICING"),he.sliceData=w.l10n.t("Slice Data"),he.sliceSubmitButton=w.l10n.t("Apply"),he.sliceDropdownAxisLabel=w.l10n.t("Axis"),he.sliceDropdownIndexLabel=w.l10n.t("Index"),he.variableExplorerNameColumn=w.l10n.t("Name"),he.variableExplorerTypeColumn=w.l10n.t("Type"),he.variableExplorerCountColumn=w.l10n.t("Size"),he.variableExplorerValueColumn=w.l10n.t("Value"),he.collapseVariableExplorerLabel=w.l10n.t("Variables"),he.variableLoadingValue=w.l10n.t("Loading..."),he.showDataExplorerTooltip=w.l10n.t("Show variable snapshot in data viewer"),he.noRowsInVariableExplorer=w.l10n.t("No variables defined"),he.loadingRowsInVariableExplorer=w.l10n.t("Loading variables"),he.previousPlot=w.l10n.t("Previous"),he.nextPlot=w.l10n.t("Next"),he.panPlot=w.l10n.t("Pan"),he.zoomInPlot=w.l10n.t("Zoom in"),he.zoomOutPlot=w.l10n.t("Zoom out"),he.exportPlot=w.l10n.t("Export to different formats"),he.deletePlot=w.l10n.t("Remove"),he.selectedImageListLabel=w.l10n.t("Selected Image"),he.selectedImageLabel=w.l10n.t("Image"),he.errorOutputExceedsLinkToOpenFormatString=w.l10n.t({message:"Output exceeds the <a href={0}>size limit</a>. Open the full output data <a href={1}>in a text editor</a>",comment:['Do not translate the the Hyperlink text "<a href={0}>size limit</a>" and "<a href={1}>in a text editor</a>". However the text inside those tags can be translated']}),he.dvDeprecationWarning=w.l10n.t('The built-in data viewer will be deprecated and no longer usable starting with Visual Studio Code 1.92. Please <a href="command:workbench.extensions.search?%22@tag:jupyterVariableViewers%22">install other data viewing extensions</a> to continue inspecting data')))(Kt||={});var _S;(r=>(r.SHOW_DEPRECATED_FEATURE_PROMPT_FORMAT_ON_SAVE=w.l10n.t({message:"The setting 'python.formatting.formatOnSave' is deprecated, please use 'editor.formatOnSave'.",comment:['Do not translate the string "python.formatting.formatOnSave" as that is a setting in VS Code','Do not translate the string "editor.formatOnSave" as that is a setting in VS Code']}),r.SHOW_DEPRECATED_FEATURE_PROMPT_LINT_ON_TEXT_CHANGE=w.l10n.t({message:"The setting 'python.linting.lintOnTextChange' is deprecated, please enable 'python.linting.lintOnSave' and 'files.autoSave'.",comment:['Do not translate the string "python.linting.lintOnTextChange" as that is a setting in VS Code','Do not translate the string "python.linting.lintOnSave" as that is a setting in VS Code']}),r.SHOW_DEPRECATED_FEATURE_PROMPT_FOR_AUTO_COMPLETE_PRELOAD_MODULES=w.l10n.t({message:"The setting 'python.autoComplete.preloadModules' is deprecated, please consider using Pylance Language Server ('python.languageServer' setting).",comment:['Do not translate the string "python.autoComplete.preloadModules" as that is a setting in VS Code','Do not translate the string "python.languageServer" as that is a setting in VS Code']})))(_S||={});var bh;(r=>(r.noCondaOrPipInstaller=w.l10n.t("There is no Conda or Pip installer available in the selected environment."),r.noPipInstaller=w.l10n.t("There is no Pip installer available in the selected environment."),r.searchForHelp=w.l10n.t("Search for help")))(bh||={});var gA;(e=>e.installingModule=t=>w.l10n.t("Installing {0}",t))(gA||={});var w2=vA(),pP=class{constructor(e,t,r){this.channel=e;this.homeReplaceRegEx=t,this.userNameReplaceRegEx=r}format(e,t,...r){let i=e?`${yE()} [${e}] ${w2(t,...r)}`:w2(t,...r);return this.homeReplaceRegEx&&(i=i.replace(this.homeReplaceRegEx,"~")),this.userNameReplaceRegEx&&(i=i.replace(this.userNameReplaceRegEx,"<username>")),i}error(e,...t){this.channel.appendLine(this.format("error",e,...t))}warn(e,...t){this.channel.appendLine(this.format("warn",e,...t))}info(e,...t){this.channel.appendLine(this.format("info",e,...t))}debug(e,...t){this.channel.appendLine(this.format("debug",e,...t))}trace(e,...t){this.channel.appendLine(this.format("trace",e,...t))}ci(e,...t){}};var E2=vA();function TS(n,e,...t){let i=[...t].length===0?E2(e):E2(e,...t);return n?`${n} ${yE()}: ${i}`:i}var mP=class{constructor(e){this.prefix=e}error(e,...t){console.error(TS("error",`${this.prefix||""} ${e}`,...t))}warn(e,...t){console.warn(TS("warn",`${this.prefix||""} ${e}`,...t))}info(e,...t){console.info(TS("info",`${this.prefix||""} ${e}`,...t))}debug(e,...t){console.log(TS("debug",`${this.prefix||""} ${e}`,...t))}trace(e,...t){console.trace(TS("trace",`${this.prefix||""} ${e}`,...t))}ci(e,...t){}};var hP="",D2=3,Hu=[],Gu=Yt.LogLevel.Info,p={error:(n,...e)=>tee(n,...e),warn:(n,...e)=>A2(n,...e),info:(n,...e)=>ree(n,...e),debug:(n,...e)=>nee(n,...e),trace:(n,...e)=>iee(n,...e),ci:(n,...e)=>{e&&Array.isArray(e)?x2(n,...e):x2(n)}};function _2(n){Gu=k2(),Zs(Yt.workspace.onDidChangeConfiguration(t=>{t.affectsConfiguration("jupyter.logging")&&(Gu=k2())}));let e=Yt.window.createOutputChannel(pA.jupyter,"log");return P2(new pP(e,n?.userNameRegEx,n?.homePathRegEx)),P2(new mP(hi?void 0:"Jupyter Extension:")),e}function P2(n){return Hu.push(n),{dispose:()=>{Hu=Hu.filter(e=>e!==n)}}}function k2(){try{let{level:n}=Yt.workspace.getConfiguration("jupyter").get("logging",{level:"Info"});switch(n){case"debug":case"Debug":return Yt.LogLevel.Debug;case"warn":case"Warn":case"warning":case"Warning":return Yt.LogLevel.Warning;case"Off":case"off":return Yt.LogLevel.Off;case"Error":case"error":return Yt.LogLevel.Error;case"Trace":case"trace":return Yt.LogLevel.Trace;default:return Yt.LogLevel.Info}}catch(n){return console.error("Failed to get logging level from configuration",n),Yt.LogLevel.Info}}function T2(n){hP=n.toLowerCase()}function R2(...n){return Gu<=Yt.LogLevel.Debug?n:n.map(t=>{if(!(t instanceof Error)||!("isJupyterError"in t))return t;let r=[`${t.name}: ${t.message}`.trim()];if("kernelConnectionMetadata"in t&&t.kernelConnectionMetadata&&typeof t.kernelConnectionMetadata=="object"&&"id"in t.kernelConnectionMetadata&&(r.push(`Kernel Id = ${t.kernelConnectionMetadata.id}`),"interpreter"in t.kernelConnectionMetadata&&t.kernelConnectionMetadata.interpreter&&typeof t.kernelConnectionMetadata.interpreter=="object"&&"id"in t.kernelConnectionMetadata.interpreter&&typeof t.kernelConnectionMetadata.interpreter.id=="string"&&r.push(`Interpreter Id = ${j(t.kernelConnectionMetadata.interpreter.id)}`)),t.stack){let o=Oe(t.stack),s=o.find(a=>a.indexOf("at ")===0);o.length===1||(o.length===1?r.push(o[0]):o.length>1&&s?.length?r.push(s):r.push(o[0]))}let i=["stack","message","name","kernelConnectionMetadata","category","exitCode","isJupyterError"];return Object.keys(t).filter(o=>i.indexOf(o)===-1).forEach(o=>r.push(`${o} = ${String(t[o]).trim()}`)),r.filter(o=>o.trim().length).map((o,s)=>s===0?o:` > ${o}`).join(`
|
||
`)})}function tee(n,...e){Gu<=Yt.LogLevel.Error&&(e=R2(...e),Hu.forEach(t=>t.error(n,...e)))}function A2(n,...e){Gu<=Yt.LogLevel.Warning&&(e=R2(...e),Hu.forEach(t=>t.warn(n,...e)))}function ree(n,...e){Gu<=Yt.LogLevel.Info&&Hu.forEach(t=>t.info(n,...e))}function nee(n,...e){Gu<=Yt.LogLevel.Debug&&Hu.forEach(t=>t.debug(n,...e))}function iee(n,...e){Gu<=Yt.LogLevel.Trace&&Hu.forEach(t=>t.trace(n,...e))}function x2(n,...e){if(hi)if(typeof n=="function"){let r=n(),i="",o=[];typeof r=="string"?i=r:(i=r.shift(),o=r),p.info(i,...o)}else p.info(n,...e)}function Zn(n,e=D2){return N2({message:n,opts:e,level:Yt.LogLevel.Debug})}function Sh(n){return N2({message:n,opts:D2,level:Yt.LogLevel.Error})}var Cc=new WeakMap;function wc(n){return(e,t,r)=>{Cc.has(e)||Cc.set(e,new Map);let i=Cc.get(e);i||Cc.set(e,i=new Map),i.has(t)||i.set(t,[]),i.get(t).push({parameterIndex:r,propertyOfParameterToLog:n})}}function zu(){return(n,e,t)=>{Cc.has(n)||Cc.set(n,new Map);let r=Cc.get(n);r||Cc.set(n,r=new Map),r.has(e)||r.set(e,[]),r.get(e).push({parameterIndex:t,ignore:!0})}}function N2(n){return yU((e,t)=>cee(n,t,e),(n.opts&4)>0)}function oee(n){let{kind:e,name:t,args:r}=n;return(!e||e==="")&&(e="Function"),(!t||t==="")&&(t="<anon>"),r||(r=[]),{kind:e,name:t,args:r,methodName:n.methodName||"",target:n.target||void 0}}function see(n){if(!n)return!1;let e=n;return typeof e.path=="string"&&typeof e.scheme=="string"}function yA(n){let e=hP?n.toLowerCase().indexOf(hP):-1;return e===-1?n:`~${n.substring(e+hP.length)}`}function aee(n,e,t,r){if(see(t))return yA(t.path);if(!t)return t;let o=Cc.get(n)?.get(e)?.find(a=>a.parameterIndex===r);if(!o)return typeof t=="string"?yA(t):t;if("ignore"in o&&o.ignore)return"";let s=t;return"propertyOfParameterToLog"in o&&o.propertyOfParameterToLog&&(s=t[o.propertyOfParameterToLog]),typeof s=="string"?yA(s):s}function lee(n,e,t){t=oee(t);let r=[n.message];return r.push(`${t.kind} name = ${t.name}`.trim()),e?(r.push(`completed in ${e.elapsed}ms`),r.push(`has a ${e.returnValue?"truthy":"falsy"} return value`)):r[r.length-1]=`${r[r.length-1]} (started execution)`,(n.opts&1)===1&&(n.level===Yt.LogLevel.Debug?r.push(bR(t.args.map((i,o)=>t?aee(t.target,t.methodName,i,o):i))):r.push(bR(t.args))),e&&(n.opts&2)===2&&r.push(bU(e.returnValue)),r.join(", ")}function cee(n,e,t){let r=lee(n,e,t);e?e.err===void 0?n.level&&n.level===Yt.LogLevel.Error||(n.level?fP(n.level,r):fP(Yt.LogLevel.Info,r)):fP(Yt.LogLevel.Error,r,e.err):n.level&&n.level!==Yt.LogLevel.Error&&fP(n.level,r)}function fP(n,e,...t){switch(n){case Yt.LogLevel.Error:p.error(e,...t);break;case Yt.LogLevel.Warning:A2(e,...t);break;case Yt.LogLevel.Info:p.info(e,...t);break;case Yt.LogLevel.Debug:case Yt.LogLevel.Trace:p.debug(e,...t);break;default:break}}var Ma=require("vscode");var cN=require("vscode");var M2=Symbol("IsDevMode"),Ao=Symbol("IOutputChannel"),K2=Symbol("IS_WINDOWS"),M=Symbol("IDisposableRegistry"),We=Symbol("IGlobalMemento"),lt=Symbol("IGlobalMemento"),ei=Symbol("IWorkspaceMemento");var il=Symbol("IPersistentStateFactory"),tye=Symbol("IRandom"),ie=Symbol("IConfigurationService"),et=Symbol("ExtensionContext"),oa=Symbol("IExtensions"),O2=Symbol("IJupyterExtensionBanner"),gP=Symbol("IFeaturesManager"),Ch=Symbol("ICryptoUtils"),No=Symbol("IAsyncDisposableRegistry");var gs=Symbol("IExperimentService"),wh=Symbol("IDataScienceCommandListener"),Eh=Symbol("IVariableScriptGenerator"),Ph=Symbol("IDataFrameScriptGenerator");var Sj=require("vscode");var F2=require("events"),RS=k(N());try{(0,RS.decorate)((0,RS.injectable)(),F2.EventEmitter)}catch(n){p.warn("Failed to decorate EventEmitter for DI (possibly already decorated by another Extension)",n)}var be=class{constructor(e){this.container=e;be._instance=this}static get instance(){return be._instance}get(e,t){return t?this.container.getNamed(e,t):this.container.get(e)}getAll(e,t){return t?this.container.getAllNamed(e,t):this.container.getAll(e)}tryGet(e,t){try{return t?this.container.getNamed(e,t):this.container.get(e)}catch{}}};be=v([(0,RS.injectable)()],be);var It=require("vscode");var Ht=Symbol("IPythonApi"),Be=Symbol("IPythonExtensionChecker");var Cs=k(N());var AS="Python Kernel Debug Adapter",NS="Python Interactive Window Debug Adapter";var bP=require("node-fetch"),OS=k(L2());var kh=require("vscode");var qe=class extends Error{constructor(t,r){super(r);this.category=t;this.isJupyterError=!0}},rn=class n extends qe{constructor(t,r,i){super(i||bA(r),t);this.originalException=r;r&&(this.stack=`${new Error("").stack}
|
||
|
||
${r.stack}`)}static from(t,r){return r instanceof qe?r:new n(t,r)}static unwrap(t){return t&&(t instanceof n&&t.originalException&&t.originalException instanceof qe&&(t=t.originalException),t)}};function bA(n){return n&&n instanceof qe?n.category:"unknown"}var vs=class extends qe{constructor(t,r,i){super("jupyterconnection",t+(r?`
|
||
${r}`:""));this.interpreter=i}};var dn=class extends qe{constructor(){super("sessionDisposed",y.sessionDisposed)}};var vP=class{static outputHasModuleNotInstalledError(e,t){return!!(t&&(t.indexOf(`No module named ${e}`)>0||t.indexOf(`No module named '${e}'`)>0))}};function xh(n=""){if(!n)return;let e=/\S+Error: /g,t=`${n.trim()}: `.split(`
|
||
`).filter(s=>s.trim().length).reverse();if(t.length===0)return;let r=t[0],o=((r.match(e)?r:void 0)||"").split(":");return o.length&&o[0].endsWith("Error")?o[0]:void 0}function yP(n=""){let e=W2(n);return e?e[1]:void 0}function W2(n=""){if(!n)return;let e=n.trim().split(`
|
||
`).map(t=>t.trim()).filter(t=>t.trim().length).reverse();if(e.length!==0&&e[0].includes("Error"))return[e.length>1?e[1]:"",e[0]]}function V2(n){if(!n)return;let t=(Array.isArray(n)?n[0]:n).split(`
|
||
`).map(l=>l.trim().toLowerCase()).filter(l=>l.length).reverse().find(l=>l.startsWith("file ")&&l.includes(", line ")&&l.includes(".py")&&l.includes(".py"));if(!t)return;let i=(t.substring(0,t.lastIndexOf(".py"))+".py").replace(/\\/g,"/").split("/"),o=i.indexOf("site-packages"),s=o>=0&&i.length>o+1?i[o+1]:"",a=i.reverse();if(!(a.length<2))return{fileName:a[0],folderName:a[1],packageName:s}}function Qp(n,e,t,r="",i=[]){let o=e instanceof qe?e.stdErr||e.stack||"":e.toString(),s=W2(o),a=o.toLowerCase();if(e instanceof dn)return{reason:"sessionDisposed",message:y.sessionDisposed,moreInfoLink:"https://aka.ms/kernelDisposedCannotRunCell",telemetrySafeTags:["deadSession"]};if(a.includes("ImportError: No module named 'win32api'".toLowerCase()))return{reason:"importWin32apiFailure",message:y.failedToStartKernelDueToWin32APIFailure,moreInfoLink:"https://aka.ms/kernelFailuresWin32Api",telemetrySafeTags:["win32api"]};if(a.includes("ImportError: DLL load failed".toLowerCase())&&a.includes("win32api"))return{reason:"importWin32apiFailure",message:y.failedToStartKernelDueToWin32APIFailure,moreInfoLink:"https://aka.ms/kernelFailuresWin32Api",telemetrySafeTags:["dll.load.failed","win32api"]};if(a.includes("ImportError: DLL load failed".toLowerCase())){let u=s&&s[0].toLowerCase().startsWith("import")?s[0].substring(6).trim():void 0;return{reason:"dllLoadFailure",moduleName:u,message:u?y.failedToStartKernelDueToDllLoadFailure(u):y.failedToStartKernelDueToUnknownDllLoadFailure,moreInfoLink:"https://aka.ms/kernelFailuresDllLoad",telemetrySafeTags:["dll.load.failed"]}}if(a.includes("AssertionError: Couldn't find Class NSProcessInfo".toLowerCase()))return{reason:"oldIPythonFailure",message:y.failedToStartKernelDueToOldIPython,moreInfoLink:"https://aka.ms/kernelFailuresOldIPython",telemetrySafeTags:["oldipython"]};if(a.includes("NotImplementedError".toLowerCase())&&a.includes("asyncio".toLowerCase())&&a.includes("events.py".toLowerCase()))return{reason:"oldIPyKernelFailure",message:y.failedToStartKernelDueToOldIPyKernel,moreInfoLink:"https://aka.ms/kernelFailuresOldIPyKernel",telemetrySafeTags:["oldipykernel"]};{let u=[];if(a.includes("ImportError: cannot import name".toLowerCase())&&a.includes("from partially initialized module".toLowerCase())&&a.includes("zmq.backend.cython".toLowerCase())&&u.push("zmq.backend.cython"),a.includes("zmq".toLowerCase())&&a.includes("cython".toLowerCase())&&a.includes("__init__.py".toLowerCase())&&u.push("zmq.cython"),a.includes("zmq.error.ZMQError")&&u.push("zmq.error"),u.length)return{reason:"zmqModuleFailure",message:y.failedToStartKernelDueToPyZmqFailure,moreInfoLink:"https://aka.ms/kernelFailuresPyzmq",telemetrySafeTags:u}}if(s&&s[1].toLowerCase().startsWith("importerror")){let u=U2(s[1]);if(u&&r){let d=pee(u.moduleName,u.fileName,n,r);return d||{reason:"importFailure",moduleName:u.moduleName,fileName:u.fileName,message:u.fileName?y.failedToStartKernelDueToImportFailureFromFile(u.moduleName,u.fileName):y.failedToStartKernelDueToImportFailure(u.moduleName),moreInfoLink:u.fileName?"https://aka.ms/kernelFailuresModuleImportErrFromFile":"https://aka.ms/kernelFailuresModuleImportErr",telemetrySafeTags:["import.error"]}}}let l="No module named".toLowerCase(),c="is not a package".toLowerCase();if(a.includes(l)&&!c){let u=Oe(o).map(f=>f.trim()).filter(f=>f.length).find(f=>f.toLowerCase().includes(l)),d=u?u.substring(u.toLowerCase().indexOf(l)+l.length).trim():"";if(u)return{reason:"moduleNotFound",moduleName:d,message:y.failedToStartKernelDueToMissingModule(d),moreInfoLink:"https://aka.ms/kernelFailuresMissingModule",telemetrySafeTags:["module.notfound.error"]}}else if(a.includes(l)&&c){let u=Oe(o).map(I=>I.trim()).filter(I=>I.length).find(I=>I.toLowerCase().includes(l)),d=u?u.substring(u.toLowerCase().indexOf(l)+l.length).trim():"",f="",g="";d.split("'").length>2&&(f=d.split("'").slice(-2)[0]||"",f=f?`${f}.py`:"",g=f||"",d=d.split("'")[1]||d);let b=i.filter(I=>un(I).toLowerCase()==="__init__.py").map(I=>un(yi(I)));return d&&f&&d!==f&&i.some(I=>un(I).toLowerCase()===f.toLowerCase())?{reason:"overridingBuiltinModules",fileName:f,moduleName:d,message:y.fileSeemsToBeInterferingWithKernelStartup(f),moreInfoLink:"https://aka.ms/kernelFailuresOverridingBuiltInModules",telemetrySafeTags:["import.error","override.modules"]}:d&&b&&d!==g&&b.some(I=>I.toLowerCase()===g.toLowerCase())?{reason:"overridingBuiltinModules",folderName:g,moduleName:d,message:y.moduleSeemsToBeInterferingWithKernelStartup(g),moreInfoLink:"https://aka.ms/kernelFailuresOverridingBuiltInModules",telemetrySafeTags:["import.error","override.modules"]}:{reason:"moduleNotFound",moduleName:d,message:y.failedToStartKernelDueToMissingModule(d),moreInfoLink:"https://aka.ms/kernelFailuresMissingModule",telemetrySafeTags:["module.notfound.error"]}}else if(e instanceof qe&&e.category==="invalidkernel"&&i.length){let u=un(i[0]);return{reason:"overridingBuiltinModules",fileName:u,moduleName:un(i[0],".py"),message:y.fileSeemsToBeInterferingWithKernelStartup(u),moreInfoLink:"https://aka.ms/kernelFailuresOverridingBuiltInModules",telemetrySafeTags:["import.error","override.modules"]}}else if(s&&s[1].toLowerCase().startsWith("ModuleNotFoundError".toLowerCase())){let u=U2(s[1]);if(u)return{reason:"moduleNotFound",moduleName:u.moduleName,message:y.failedToStartKernelDueToMissingModule(u.moduleName),moreInfoLink:"https://aka.ms/kernelFailuresMissingModule",telemetrySafeTags:["module.notfound.error"]}}if(e instanceof vs){let u=Oe(o).map(E=>E.trim()).reverse().find(E=>E.toLowerCase().includes("error: ")),d="AttributeError: 'Namespace' object has no attribute '_flags'",f=["jupyter.startup.failure"],g,b="jupyterStartFailure",I=Oe(e.message,{removeEmptyEntries:!0,trim:!0}).reverse().find(E=>E.toLowerCase().includes("error: "));if(I=I||Oe(e.stdErr||"",{removeEmptyEntries:!0,trim:!0}).reverse().find(E=>E.toLowerCase().includes("error: ")),a.includes(d.toLowerCase())?(b="jupyterStartFailureOutdatedTraitlets",u=y.failedToStartJupyterDueToOutdatedTraitlets(t||"",I||""),f.push("outdated.traitlets"),g="https://aka.ms/kernelFailuresJupyterTrailtletsOutdated"):(u=I?y.failedToStartJupyterWithErrorInfo(t||"",I):y.failedToStartJupyter(t||""),g=void 0),u)return{reason:b,message:u,pythonError:I,moreInfoLink:g,telemetrySafeTags:f}}}function U2(n){n=n.replace(/"/g,"'");let e=n.match(/'[^\\']*(\\'[^\\']*)*'/g),t=n.match(/\((.*?)\)/g),r,i;return e&&e[0].length>2&&(r=e[0],r=r.substring(1,r.length-1)),t&&t[0].length>2&&(i=t[0],i=i.substring(1,i.length-1)),r?{moduleName:r,fileName:i}:void 0}function pee(n,e,t,r){if(r&&t.length!==0&&e&&!e.toLowerCase().startsWith(r)&&t.some(i=>e.toLowerCase().startsWith(i.uri.fsPath.toLowerCase())))return{reason:"overridingBuiltinModules",fileName:e,moduleName:n,message:y.fileSeemsToBeInterferingWithKernelStartup(j(kh.Uri.file(e),t||[])),moreInfoLink:"https://aka.ms/kernelFailuresOverridingBuiltInModules",telemetrySafeTags:["import.error","override.modules"]}}function Dh(n){if(!n)return;let e=/\[([^\[\]]*)\]\((.*?)\)/gm,t;for(;(t=e.exec(n))!==null;)t.length===3&&(n=n.replace(t[0],`<a href='${t[2]}'>${t[1]}</a>`));let r=Oe(n,{removeEmptyEntries:!1,trim:!1}).map(i=>`\x1B[1;31m${i}`).join(`
|
||
`);return new kh.NotebookCellOutput([kh.NotebookCellOutputItem.error({message:"",name:"",stack:r})])}var mee=[fee,hee];function j2(n){let e=[],t=Array.isArray(n)?n[0].toLowerCase():n.toLowerCase();mee.forEach(i=>i(t,e));let r=Qp([],t,void 0);return r?.telemetrySafeTags.length&&e.push(...r.telemetrySafeTags),Array.from(new Set(e)).join(",")}function fee(n,e=[]){n.includes("ChildProcess.exithandler".toLowerCase())&&e.push("childproc.exit")}function hee(n,e=[]){n.includes("KernelRestarter: restart failed".toLowerCase())&&e.push("KernelRestarter.failed")}function J2(){return(new Error().stack||"").split(`
|
||
`).filter(n=>n.includes(Fe))}async function B2(n,e){n.failed=!0,n.failureCategory=n.failureCategory||bA(e);let t=!bP.FetchError&&e?.name==="TypeError"&&e?.message==="Failed to fetch",i=(t||bP.FetchError!==void 0)&&yee(e,t?TypeError:bP.FetchError);n.failureCategory==="unknown"&&i&&(n.failureCategory="fetcherror"),n.stackTrace=gee(e),typeof e=="string"&&(n.failureSubCategory="errorisstring");let o=e.stdErr?e.stdErr:e.stack||"";if(!o)return;n.failureSubCategory=n.failureSubCategory||j2(o);let s=V2(o);s&&([n.pythonErrorFile,n.pythonErrorFolder,n.pythonErrorPackage]=await Promise.all([Promise.resolve(n.pythonErrorFile||at(s.fileName)),Promise.resolve(n.pythonErrorFolder||at(s.folderName)),Promise.resolve(n.pythonErrorPackage||at(s.packageName))]))}function IA(n){if(n.stack&&Array.isArray(n.stack)){let e={...n,stack:n.stack.join(`
|
||
`)};return OS.parse.call(OS,e)}return OS.parse.call(OS,n)}function gee(n){let e="";for(let t of IA(n)){let r=t.getFileName();if(r){let i=t.getLineNumber(),o=t.getColumnNumber();e+=`
|
||
at ${vee(t)} ${r}:${i}:${o}`}else e+=`
|
||
at <anonymous>`}return e.trim().replace(/\\/g,"/")}function vee(n){let e=[];return typeof n.getTypeName()=="string"&&n.getTypeName().length>0&&e.push(n.getTypeName()),typeof n.getMethodName()=="string"&&n.getMethodName().length>0&&e.push(n.getMethodName()),typeof n.getFunctionName()=="string"&&n.getFunctionName().length>0&&(e.length!==2||e.join(".")!==n.getFunctionName())&&e.push(n.getFunctionName()),e.join(".")}function yee(n,e){return e?n instanceof e||n instanceof rn&&n.originalException instanceof e:(console.error("Error type is not defined",n),!1)}var IP=require("vscode");function bee(){try{return require("vscode")===void 0?!1:H2()!==void 0}catch{return!1}}function CP(){return IP.workspace.getConfiguration("telemetry").inspect("enableTelemetry").globalValue===!1}function wP(n){return IP.workspace.onDidChangeConfiguration(e=>{if(!e.affectsConfiguration("telemetry"))return;let r=IP.workspace.getConfiguration("telemetry").inspect("enableTelemetry").globalValue===!1;n(r)})}var SP={};function _h(n,e){let t=n;cS()&&t.startsWith("ds_")||(e===void 0?delete SP[t]:SP[t]=e)}var SA;function H2(){if(SA)return SA;let n=require("@vscode/extension-telemetry").default;return SA=new n(lU)}function $2(n,e){let t={};return Object.getOwnPropertyNames(e).forEach(r=>{if(!(e[r]===void 0||e[r]===null))try{t[r]=typeof e[r]=="string"?e[r]:typeof e[r]=="object"?"object":e[r].toString()}catch(i){p.error(`Failed to serialize ${r} for ${n}`,i)}}),t}function R(n,e,t,r){!G2(n.toString())&&(Er()||!bee())||Iee(n,e,t,r)}function G2(n){return n==="DATASCIENCE.JUPYTER_NOTEBOOK_EDIT_PERFORMANCE"||n==="DATASCIENCE.JUPYTER_JUPYTER_NOTEBOOK_EXEC_PERFORMANCE"||n==="DATASCIENCE.JUPYTER_NOTEBOOK_EXEC_PERFORMANCE"}function Iee(n,e,t,r){let i=H2(),o={},s=n;r?(o={},Object.assign(o,SP),Object.assign(o,t||{}),B2(o,r).then(()=>{o=$2(s,o),i.sendTelemetryEvent(s,o,e)}).catch(h)):(t&&(o=$2(s,t)),Object.assign(o,SP),G2(s)?i.sendDangerousTelemetryEvent(s,o,e):i.sendTelemetryEvent(s,o,e))}var q2=new Set;function or(n,e){return function(t,r,i){let o=i.value;return i.value=function(...s){let a=e||{},l=new Ue,c=`${n.toString()}${JSON.stringify(a)}`,u=!q2.has(c);q2.add(c);let d=o.apply(this,s);return d&&typeof d.then=="function"&&typeof d.catch=="function"?d.then(f=>{let g={...a};return u&&(g.firstTime=u),R(n,l?{duration:l?.elapsedTime}:void 0,g),f}).catch(f=>{let g={...a};g.failed=!0,R(n,l?{duration:l?.elapsedTime}:{},g,f)}):R(n,l?{duration:l?.elapsedTime}:void 0,a),d},i}}function Hr(n,e){return function(t,r,i){let o=i.value;return i.value=function(...s){return R(n,void 0,e),o.apply(this,s)},i}}function See(){return{isInsiderExtension:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"Whether this is the Insider version of the Jupyter extension or not. Common to all events."},isPythonExtensionInstalled:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"Whether Python extension is installed or not. Common to all events."},rawKernelSupported:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"Whether the raw kernel is supported or not. Common to all events."}}}function vt(){return{duration:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth",isMeasurement:!0}}}function ao(){return{resourceType:{classification:"PublicNonPersonalData",comment:"",purpose:"FeatureInsight"}}}function Ec(){return{failed:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},failureCategory:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},failureSubCategory:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},pythonErrorFile:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},pythonErrorFolder:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},pythonErrorPackage:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},stackTrace:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"}}}function Ei(){return{properties:{actionSource:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},disableUI:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},userExecutedCell:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},resourceHash:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth"},pythonEnvironmentVersion:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},pythonEnvironmentType:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},pythonEnvironmentPath:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},pythonEnvironmentPackages:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},kernelSessionId:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},kernelLanguage:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},kernelSpecHash:{classification:"EndUserPseudonymizedInformation",purpose:"FeatureInsight"},kernelId:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},kernelConnectionType:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},isUsingActiveInterpreter:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},capturedEnvVars:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},newKernelPicker:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},...ao()}}}var Yye={...vt(),...Ec(),...See()};var Cee,wee,Eee,Pee,kee,xee,Dee,_ee,Tee,Ree,Aee,Nee,Mee,Kee,Oee,Fee,Lee,Uee,Wee,Vee,jee,Jee,Bee,$ee,qee,Hee,Gee,zee,Qee,Yee,Xee,Zee,ete,tte,rte,nte,ite,ote,ste,ate,lte,cte,ute,dte,pte,mte,fte,hte,gte,vte,yte,bte,Ite,Ste,Cte,wte,Ete,Pte,kte,xte,Dte,_te,Tte,Rte,Ate,Nte,Mte,Kte,Ote,Fte,Lte,Ute,Wte,Vte,jte,Jte,Bte,$te,qte,Hte,Gte,zte,Qte,Yte,Xte,Zte,ere,tre,rre,nre,ire,ore,sre,are,lre,cre,ure,dre,pre,mre,fre,hre,gre,vre,yre,bre,Ire,Sre,Cre,wre,Ere,Pre,kre,xre,Dre,_re,Tre,Rre,Are,Nre,Mre,Kre,Ore,Fre,Lre,Ure,Wre,Vre,jre,Jre,Bre,$re,qre,Hre,Gre,zre,Qre,Yre,Xre,Zre,ene,tne,rne,nne,ine,one,sne,ane,lne,cne,une,dne,pne,mne,fne,hne,gne,vne,yne,bne,Ine,Sne,z2=class{constructor(){this[Cee]={owner:"donjayamanne",feature:"N/A",source:"N/A",measures:{totalActivateTime:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0},codeLoadingTime:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0},workspaceFolderCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0}}};this[wee]={owner:"donjayamanne",feature:"N/A",source:"N/A",measures:vt()};this[Eee]={owner:"donjayamanne",feature:"N/A",source:"N/A"};this[Pee]={owner:"donjayamanne",feature:"N/A",source:"N/A"};this[kee]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{hashedNamev2:{classification:"SystemMetaData",purpose:"FeatureInsight"},when:{classification:"SystemMetaData",purpose:"FeatureInsight"},...ao()}};this[xee]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{firstTime:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"}},measures:vt()};this[Dee]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{mimeType:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},when:{classification:"SystemMetaData",purpose:"FeatureInsight"},...ao()}};this[_ee]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{envType:{classification:"SystemMetaData",purpose:"FeatureInsight"},failed:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},reason:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},source:{classification:"SystemMetaData",purpose:"FeatureInsight"}},measures:vt()};this[Tee]={owner:"IanMatthewHuff",source:"User Action",feature:["DataFrameViewer","VariableViewer"]};this[Ree]={owner:"IanMatthewHuff",source:"N/A",feature:["DataFrameViewer","VariableViewer"]};this[Aee]={owner:"IanMatthewHuff",source:"User Action",feature:["DataFrameViewer","VariableViewer"]};this[Nee]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action",measures:vt()};this[Mee]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action",measures:vt()};this[Kee]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:{codeLensUpdateTime:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0},maxCellCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0}}};this[Oee]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Fee]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Lee]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Uee]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Wee]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Vee]={owner:"donjayamanne",feature:"N/A",source:"N/A",tags:["KernelStartup"],properties:{...Ec(),failed:{classification:"CallstackOrException",purpose:"PerformanceAndHealth"},reason:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Reason for failure to fetch kernel specs"},sessionManagerReady:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},specsManagerReady:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},wasSessionManagerReady:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},wasSpecsManagerReady:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"}},measures:vt()};this[jee]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{kernelSpecHash:{classification:"EndUserPseudonymizedInformation",purpose:"FeatureInsight"},serverIdHash:{classification:"SystemMetaData",purpose:"FeatureInsight"},providerExtensionId:{classification:"SystemMetaData",purpose:"FeatureInsight"},baseUrlHash:{classification:"SystemMetaData",purpose:"FeatureInsight"},kernelId:{classification:"SystemMetaData",purpose:"FeatureInsight"},kernelConnectionType:{classification:"SystemMetaData",purpose:"FeatureInsight"},kernelLanguage:{classification:"SystemMetaData",purpose:"FeatureInsight"},envType:{classification:"SystemMetaData",purpose:"FeatureInsight"},isArgv0SameAsInterpreter:{classification:"SystemMetaData",purpose:"FeatureInsight"},argv0:{classification:"SystemMetaData",purpose:"FeatureInsight"},argv:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Jee]={owner:"donjayamanne",feature:"N/A",source:"N/A",tags:["KernelStartup"],properties:{serverIdHash:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},baseUrlHash:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},failed:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth"},isLocalHost:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth"},isJupyterHub:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth"},reason:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth"}}};this[Bee]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[$ee]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[qee]={owner:"donjayamanne",feature:"N/A",source:"N/A",tags:["KernelStartup"],properties:Ei().properties,measures:{...vt()}};this[Hee]={owner:"IanMatthewHuff",feature:["Import-Export","InteractiveWindow"],source:"User Action"};this[Gee]={owner:"IanMatthewHuff",feature:["Import-Export","InteractiveWindow"],source:"User Action"};this[zee]={owner:"IanMatthewHuff",feature:["Import-Export","InteractiveWindow"],source:"User Action",properties:{format:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Qee]={owner:"IanMatthewHuff",feature:["Import-Export"],source:"N/A",properties:{format:{classification:"SystemMetaData",purpose:"FeatureInsight"},cancelled:{classification:"SystemMetaData",purpose:"FeatureInsight"},successful:{classification:"SystemMetaData",purpose:"FeatureInsight"},opened:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Yee]={owner:"IanMatthewHuff",feature:["Import-Export"],source:"User Action",properties:{scope:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Xee]={owner:"IanMatthewHuff",feature:["Import-Export"],source:"User Action",properties:{format:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Zee]={owner:"IanMatthewHuff",feature:["Import-Export"],source:"N/A",properties:{format:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[ete]={owner:"donjayamanne",feature:"N/A",source:"N/A"};this[tte]={owner:"donjayamanne",feature:"N/A",source:"N/A"};this[rte]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{failed:{classification:"SystemMetaData",purpose:"FeatureInsight"},info:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[nte]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[ite]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[ote]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[ste]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[ate]={owner:"donjayamanne",feature:"N/A",source:"N/A",measures:{nbformat:{classification:"PublicNonPersonalData",isMeasurement:!0,purpose:"FeatureInsight"},nbformat_minor:{classification:"PublicNonPersonalData",isMeasurement:!0,purpose:"FeatureInsight"}}};this[lte]={owner:"IanMatthewHuff",feature:["PlotViewer"],source:"User Action"};this[cte]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[ute]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[dte]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[pte]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[mte]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[fte]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[hte]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[gte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A"};this[vte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A"};this[yte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[bte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Ite]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Ste]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Cte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[wte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Ete]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Pte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[kte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[xte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Dte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[_te]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Tte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Rte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Ate]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Nte]={owner:"donjayamanne",feature:"N/A",source:"N/A"};this[Mte]={owner:"donjayamanne",feature:"N/A",source:"N/A"};this[Kte]={owner:"donjayamanne",feature:"N/A",source:"N/A",tags:["KernelStartup"]};this[Ote]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[Fte]={owner:"donjayamanne",feature:"N/A",source:"N/A",tags:["KernelStartup"]};this[Lte]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[Ute]={owner:"IanMatthewHuff",feature:["KernelPicker"],source:"User Action",properties:{action:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Wte]={owner:"donjayamanne",feature:["KernelPicker"],source:"User Action",properties:{action:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Vte]={owner:"donjayamanne",feature:["KernelPicker"],source:"User Action",properties:{action:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[jte]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{action:{classification:"SystemMetaData",purpose:"FeatureInsight"},isModulePresent:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},moduleName:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},pythonEnvType:{classification:"SystemMetaData",purpose:"FeatureInsight"},resourceHash:{classification:"SystemMetaData",purpose:"FeatureInsight"},...ao()},measures:vt()};this[Jte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A"};this[Bte]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"User Action",measures:vt()};this[$te]={owner:"IanMatthewHuff",source:"N/A",feature:["DataFrameViewer"],measures:{rows:{classification:"PublicNonPersonalData",purpose:"FeatureInsight",isMeasurement:!0},columns:{classification:"PublicNonPersonalData",purpose:"FeatureInsight",isMeasurement:!0}}};this[qte]={owner:"IanMatthewHuff",source:"N/A",feature:["DataFrameViewer"],measures:{rowsTimer:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"}}};this[Hte]={owner:"IanMatthewHuff",feature:["DataFrameViewer","VariableViewer"],source:"N/A"};this[Gte]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"User Action"};this[zte]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{failed:{classification:"SystemMetaData",purpose:"FeatureInsight"},fallbackTried:{classification:"SystemMetaData",purpose:"FeatureInsight"},alpine:{classification:"SystemMetaData",purpose:"FeatureInsight"},zmqarch:{classification:"SystemMetaData",purpose:"FeatureInsight"},libc:{classification:"SystemMetaData",purpose:"FeatureInsight"},armv:{classification:"SystemMetaData",purpose:"FeatureInsight"},distro_id:{classification:"SystemMetaData",purpose:"FeatureInsight"},distro_version_id:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Qte]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{failed:{classification:"SystemMetaData",purpose:"FeatureInsight"},fallbackTried:{classification:"SystemMetaData",purpose:"FeatureInsight"},alpine:{classification:"SystemMetaData",purpose:"FeatureInsight"},zmqarch:{classification:"SystemMetaData",purpose:"FeatureInsight"},libc:{classification:"SystemMetaData",purpose:"FeatureInsight"},armv:{classification:"SystemMetaData",purpose:"FeatureInsight"},distro_id:{classification:"SystemMetaData",purpose:"FeatureInsight"},distro_version_id:{classification:"SystemMetaData",purpose:"FeatureInsight"},errorMessage:{classification:"CallstackOrException",purpose:"FeatureInsight"},fallbackErrorMessage:{classification:"CallstackOrException",purpose:"FeatureInsight"},zmqBinaries:{classification:"CallstackOrException",purpose:"FeatureInsight"}}};this[Yte]={owner:"IanMatthewHuff",feature:["VariableViewer"],source:"N/A",measures:vt()};this[Xte]={owner:"IanMatthewHuff",feature:["VariableViewer"],source:"N/A",measures:{variableCount:{classification:"PublicNonPersonalData",purpose:"FeatureInsight",isMeasurement:!0}}};this[Zte]={owner:"donjayamanne",feature:"N/A",source:"N/A",tags:["KernelStartup"],properties:{kind:{classification:"SystemMetaData",purpose:"FeatureInsight"},language:{classification:"SystemMetaData",purpose:"FeatureInsight"},usesShell:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[ere]={owner:"donjayamanne",feature:"N/A",source:"N/A",tags:["KernelStartup"],properties:{...Ec(),...ao()},measures:{...vt()}};this[tre]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{kernelConnectionType:{classification:"SystemMetaData",purpose:"FeatureInsight"},pythonPathDefined:{classification:"SystemMetaData",purpose:"FeatureInsight"},pythonEnvFound:{classification:"SystemMetaData",purpose:"FeatureInsight"},language:{classification:"SystemMetaData",purpose:"FeatureInsight"},kernelSpecHash:{classification:"EndUserPseudonymizedInformation",purpose:"FeatureInsight"},argv0:{classification:"SystemMetaData",purpose:"FeatureInsight"},isCreatedByUs:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[rre]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A"};this[nre]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",properties:{hasKernel:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"If the kernel was known at the time of creation"},hasOwner:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"If the window was created for a text file"},mode:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"Creation mode: multiple, perfile or single"},restored:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"Was the window restored from a previous session"}},measures:{windowCount:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"Number of active interactive windows the user has open",isMeasurement:!0}}};this[ire]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A",properties:{cdnSearched:{classification:"SystemMetaData",purpose:"FeatureInsight"},hashedName:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},source:{classification:"SystemMetaData",purpose:"FeatureInsight"},moduleName:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},modelName:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},moduleVersion:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[ore]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A",properties:{type:{classification:"SystemMetaData",purpose:"FeatureInsight"}},measures:vt()};this[sre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A"};this[are]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A",properties:{moduleHash:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},moduleVersion:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[lre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A",properties:{timedout:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},isOnline:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},moduleHash:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},moduleVersion:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[cre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A",properties:{moduleHash:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},moduleVersion:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[ure]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A"};this[dre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A",properties:{selection:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[pre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A"};this[mre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A",properties:{msg_type:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth"}}};this[fre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",tags:["KernelStartup"],measures:{...vt(),attempts:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0}},properties:{...Ei().properties,timedout:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"}}};this[hre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",tags:["KernelStartup"],measures:vt()};this[gre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"User Action",tags:["Cell Execution"],measures:{...vt()},properties:{...Ei().properties,...Ec()}};this[vre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"User Action",tags:["Code Execution"],measures:vt(),properties:{...Ei().properties,...Ec(),extensionId:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[yre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"User Action",tags:["Cell Execution"],properties:{...Ei().properties,...Ec()}};this[bre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",tags:["KernelStartup"],properties:{...Ei().properties,...Ec()}};this[Ire]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",properties:Ei().properties};this[Sre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"User Action",properties:{result:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},...ao(),...Ec(),...Ei().properties},measures:{...vt()}};this[Cre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"User Action",properties:{...ao(),...Ec(),...Ei().properties},measures:vt()};this[wre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",properties:{...ao(),...Ei().properties},measures:{reason:{classification:"SystemMetaData",isMeasurement:!0,purpose:"PerformanceAndHealth"}}};this[Ere]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",properties:{exitReason:{classification:"CallstackOrException",purpose:"PerformanceAndHealth"},...ao(),...Ei().properties},measures:{exitCode:{classification:"CallstackOrException",purpose:"PerformanceAndHealth",isMeasurement:!0}}};this[Pre]={owner:"donjayamanne",feature:["Notebook"],source:"N/A",properties:{...ao(),...Ei().properties,manuallySelectedKernel:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},wasAlreadyOpen:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"}},measures:{...vt(),computeCwd:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},duration:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},envVars:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},executeCell:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},getConnection:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},interruptHandle:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},kernelIdle:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},kernelInfo:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},kernelReady:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},portUsage:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},postKernelStart:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},preExecuteCellTelemetry:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},pythonEnvVars:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},sessionTelemetry:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},spawn:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},startKernel:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},startupCode:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},updateConnection:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},codeCellCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},mdCellCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},codeCellCharLength:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},mdCellCharLength:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},outputCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},outputsByteSize:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},attachmentCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},attachmentCharLength:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0}}};this[kre]={owner:"donjayamanne",feature:["Notebook"],source:"N/A",properties:{...ao(),...Ei().properties,wasAlreadyOpen:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"}},measures:{...vt(),callPythonApi:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},activatePython:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},discoverEnv:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},createController:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},selectController:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0}}};this[xre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",properties:{isRequestToShutdownRestartSession:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},stacktrace:{classification:"CallstackOrException",purpose:"PerformanceAndHealth"},...ao(),...Ei().properties}};this[Dre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",properties:{stacktrace:{classification:"CallstackOrException",purpose:"PerformanceAndHealth"},...ao(),...Ei().properties}};this[_re]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Tre]={owner:"donjayamanne",feature:["KernelPicker"],source:"N/A",measures:{kernelSpecCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},kernelInterpreterCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},kernelLiveCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},localKernelSpecCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0},remoteKernelSpecCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0}}};this[Rre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",properties:{outputType:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth"}}};this[Are]={owner:"IanMatthewHuff",feature:["InteractiveWindow"],tags:["IntelliSense"],source:"N/A",measures:vt(),properties:{isResultNull:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Nre]={owner:"IanMatthewHuff",feature:["VariableViewer"],source:"N/A",measures:vt()};this[Mre]={owner:"IanMatthewHuff",feature:["VariableViewer"],source:"N/A"};this[Kre]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A",measures:vt()};this[Ore]={owner:"IanMatthewHuff",feature:["PlotViewer"],source:"N/A",measures:vt()};this[Fre]={owner:"amunger",feature:"N/A",source:"N/A",properties:{command:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Lre]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"User Action",properties:{newState:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Ure]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A",measures:{numberOfDimensions:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0}}};this[Wre]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"User Action",properties:{source:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Vre]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{failed:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},reason:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},dependenciesInstalled:{classification:"SystemMetaData",purpose:"FeatureInsight"},envType:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[jre]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{extensionId:{classification:"SystemMetaData",purpose:"FeatureInsight"},action:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Jre]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Bre]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[$re]={owner:"roblourens",feature:["Debugger"],properties:{status:{classification:"SystemMetaData",purpose:"FeatureInsight"}},source:"N/A"};this[qre]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Hre]={owner:"roblourens",feature:["Debugger"],source:"N/A"};this[Gre]={owner:"roblourens",feature:["Debugger"],source:"N/A"};this[zre]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Qre]={owner:"roblourens",feature:["Debugger"],source:"N/A"};this[Yre]={owner:"roblourens",feature:["Debugger"],source:"N/A",properties:{reason:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Xre]={owner:"donjayamanne",feature:"N/A",source:"N/A",measures:{...vt(),requestDuration:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0},timesExceededTimeout:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0},completionItems:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0}},properties:{kernelConnectionType:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelLanguage:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},monacoLanguage:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},cancelled:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},completed:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelStatusAfterRequest:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelStatusBeforeRequest:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},requestSent:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[Zre]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{kernelConnectionType:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelLanguage:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[ene]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{extensionId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},pemUsed:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[tne]={owner:"donjayamanne",feature:"N/A",source:"N/A",measures:{executionCount:{classification:"SystemMetaData",isMeasurement:!0,purpose:"FeatureInsight"}},properties:{extensionId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},pemUsed:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[rne]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{accessAllowed:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},extensionId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},pemUsed:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[nne]={owner:"donjayamanne",feature:"N/A",source:"N/A",measures:{executionCount:{classification:"SystemMetaData",isMeasurement:!0,purpose:"FeatureInsight"},cancelledAfter:{classification:"SystemMetaData",isMeasurement:!0,purpose:"FeatureInsight"},requestAcknowledgedAfter:{classification:"SystemMetaData",isMeasurement:!0,purpose:"FeatureInsight"},requestSentAfter:{classification:"SystemMetaData",isMeasurement:!0,purpose:"FeatureInsight"},...vt()},properties:{extensionId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},cancelled:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},requestAcknowledged:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},requestSent:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},cancelledBeforeRequestAcknowledged:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},cancelledBeforeRequestSent:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},mimeTypes:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},failed:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"}}};this[ine]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{clientExtId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},pemUsed:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[one]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{extensionId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},allowed:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[sne]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{extensionId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},providerId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}},measures:vt()};this[ane]={owner:"IanMatthewHuff",feature:["VariableViewer"],source:"N/A"};this[lne]={owner:"roblourens",feature:["InteractiveWindow","Debugger"],source:"N/A"};this[cne]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",properties:{...Ei().properties,...ao()}};this[une]={owner:"donjayamanne",source:"N/A",feature:["KernelPicker"]};this[dne]={owner:"donjayamanne",source:"User Action",feature:["KernelPicker"]};this[pne]={owner:"amunger",feature:"N/A",source:"N/A",properties:{testName:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},testResult:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},perfWarmup:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},commitHash:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},timedCheckpoints:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"}}};this[mne]={owner:"donjayamanne",feature:["KernelPicker"],source:"N/A",measures:{matchedReason:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[fne]={owner:"donjayamanne",feature:["Notebook","Notebook"],tags:["Widgets"],source:"N/A",measures:{requireEntryPointCount:{classification:"SystemMetaData",isMeasurement:!0,purpose:"PerformanceAndHealth"}},properties:{failed:{classification:"CallstackOrException",purpose:"PerformanceAndHealth"},failure:{classification:"CallstackOrException",purpose:"PerformanceAndHealth"},patternUsedToRegisterRequireConfig:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},widgetFolderNameHash:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[hne]={owner:"donjayamanne",feature:["Notebook","Notebook"],tags:["Widgets"],source:"N/A",measures:vt()};this[gne]={owner:"donjayamanne",feature:["DataFrameViewer"],source:"N/A"};this[vne]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[yne]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[bne]={owner:"donjayamanne",feature:["Notebook","Notebook"],tags:["Widgets"],source:"N/A",measures:{...vt(),codeCellCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total number of code cells.",isMeasurement:!0},markdownCellCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total number of markdown cells.",isMeasurement:!0},preExecuteDuration:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total time spent in VS Code before starting execution.",isMeasurement:!0},executeDuration:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total time spent executing cells.",isMeasurement:!0},postExecuteDuration:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total time spent in VS Code after executing cells.",isMeasurement:!0}},properties:{outputType:{classification:"PublicNonPersonalData",purpose:"FeatureInsight",comment:"The kind of outputs generated in the notebook, text, html or images."}}};this[Ine]={owner:"donjayamanne",feature:["Notebook","Notebook"],tags:["Widgets"],source:"N/A",measures:{...vt(),codeCellCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total number of code cells.",isMeasurement:!0},markdownCellCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total number of markdown cells.",isMeasurement:!0}},properties:{outputType:{classification:"PublicNonPersonalData",purpose:"FeatureInsight",comment:"The kind of outputs generated in the notebook, text, html or images."}}};this[Sne]={owner:"donjayamanne",feature:["Notebook","Notebook"],tags:["Widgets"],source:"N/A",measures:{...vt(),codeCellCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total number of code cells.",isMeasurement:!0},markdownCellCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total number of markdown cells.",isMeasurement:!0}}}}static{Cee="EXTENSION.LOAD",wee="DS_INTERNAL.EXPERIMENT_LOAD",Eee="ENVFILE_VARIABLE_SUBSTITUTION",Pee="ENVFILE_WORKSPACE",kee="HASHED_PACKAGE_NAME",xee="DS_INTERNAL.ACTIVE_INTERPRETER_LISTING_PERF",Dee="DS_INTERNAL.CELL_OUTPUT_MIME_TYPE",_ee="DS_INTERNAL.GET_ACTIVATED_ENV_VARIABLES",Tee="OPEN_DATAVIEWER_FROM_VARIABLE_WINDOW_REQUEST_EX",Ree="OPEN_DATAVIEWER_FROM_VARIABLE_WINDOW_ERROR_EX",Aee="OPEN_DATAVIEWER_FROM_VARIABLE_WINDOW_SUCCESS_EX",Nee="DATASCIENCE.ADD_CELL_BELOW",Mee="DS_INTERNAL.CODE_LENS_ACQ_TIME",Kee="DS_INTERNAL.DOCUMENT_WITH_CODE_CELLS",Oee="DATASCIENCE.DEBUG_CONTINUE",Fee="DATASCIENCE.DEBUG_CURRENT_CELL",Lee="DATASCIENCE.DEBUG_STEP_OVER",Uee="DATASCIENCE.DEBUG_STOP",Wee="DATASCIENCE.DEBUG_FILE_INTERACTIVE",Vee="DATASCIENCE.JUPYTER_KERNEL_SPEC_FETCH_FAILURE",jee="DS_INTERNAL.JUPYTER_KERNEL_SPEC",Jee="DATASCIENCE.ENTER_REMOTE_JUPYTER_URL",Bee="DATASCIENCE.DISABLE_INTERACTIVE_SHIFT_ENTER",$ee="DATASCIENCE.ENABLE_INTERACTIVE_SHIFT_ENTER",qee="DS_INTERNAL.PERCEIVED_JUPYTER_STARTUP_NOTEBOOK",Hee="DATASCIENCE.EXPORT_PYTHON_FILE",Gee="DATASCIENCE.EXPORT_PYTHON_FILE_AND_OUTPUT",zee="DATASCIENCE.CLICKED_EXPORT_NOTEBOOK_AS_QUICK_PICK",Qee="DATASCIENCE.EXPORT_NOTEBOOK_AS",Yee="DATASCIENCE.IMPORT_NOTEBOOK",Xee="DATASCIENCE.EXPORT_NOTEBOOK_AS_COMMAND",Zee="DATASCIENCE.EXPORT_NOTEBOOK_AS_FAILED",ete="DS_INTERNAL.GET_PASSWORD_FAILURE",tte="DS_INTERNAL.GET_PASSWORD_SUCCESS",rte="DS_INTERNAL.JUPYTER_HUB_PASSWORD",nte="DS_INTERNAL.SHOW_DATA_NO_PANDAS",ite="DS_INTERNAL.SHOW_DATA_PANDAS_TOO_OLD",ote="DS_INTERNAL.SHOW_DATA_PANDAS_OK",ste="DS_INTERNAL.SHOW_DATA_PANDAS_INSTALL_CANCELED",ate="DATASCIENCE.NATIVE.OPEN_NOTEBOOK_ALL",lte="DATASCIENCE.OPEN_PLOT_VIEWER",cte="DATASCIENCE.RUN_ALL_CELLS",ute="DATASCIENCE.RUN_SELECTION_OR_LINE",dte="DATASCIENCE.RUN_CURRENT_CELL",pte="DATASCIENCE.RUN_ALL_CELLS_ABOVE",mte="DATASCIENCE.RUN_CELL_AND_ALL_BELOW",fte="DATASCIENCE.RUN_CURRENT_CELL_AND_ADVANCE",hte="DATASCIENCE.RUN_FILE_INTERACTIVE",gte="DATASCIENCE.RUN_TO_LINE",vte="DATASCIENCE.RUN_FROM_LINE",yte="DATASCIENCE.RUN_INSERT_CELL_BELOW_POSITION",bte="DATASCIENCE.RUN_INSERT_CELL_BELOW",Ite="DATASCIENCE.RUN_INSERT_CELL_ABOVE",Ste="DATASCIENCE.RUN_DELETE_CELLS",Cte="DATASCIENCE.RUN_SELECT_CELL",wte="DATASCIENCE.RUN_SELECT_CELL_CONTENTS",Ete="DATASCIENCE.RUN_EXTEND_SELECTION_BY_CELL_ABOVE",Pte="DATASCIENCE.RUN_EXTEND_SELECTION_BY_CELL_BELOW",kte="DATASCIENCE.RUN_MOVE_CELLS_UP",xte="DATASCIENCE.RUN_MOVE_CELLS_DOWN",Dte="DATASCIENCE.RUN_CHANGE_CELL_TO_MARKDOWN",_te="DATASCIENCE.RUN_CHANGE_CELL_TO_CODE",Tte="DATASCIENCE.GOTO_NEXT_CELL_IN_FILE",Rte="DATASCIENCE.GOTO_PREV_CELL_IN_FILE",Ate="DATASCIENCE.RUN_CURRENT_CELL_AND_ADD_BELOW",Nte="DATASCIENCE.SELFCERTSMESSAGECLOSE",Mte="DATASCIENCE.SELFCERTSMESSAGEENABLED",Kte="DATASCIENCE.USER_INSTALLED_JUPYTER",Ote="DATASCIENCE.USER_INSTALLED_PANDAS",Fte="DATASCIENCE.USER_DID_NOT_INSTALL_JUPYTER",Lte="DATASCIENCE.USER_DID_NOT_INSTALL_PANDAS",Ute="DS_INTERNAL.PYTHON_NOT_INSTALLED",Wte="DS_INTERNAL.PYTHON_EXTENSION_NOT_INSTALLED",Vte="DS_INTERNAL.PYTHON_EXTENSION_INSTALLED_VIA_KERNEL_PICKER",jte="DS_INTERNAL.PYTHON_MODULE_INSTALL",Jte="DS_INTERNAL.SHIFTENTER_BANNER_SHOWN",Bte="DATASCIENCE.START_SHOW_DATA_EXPLORER",$te="DATASCIENCE.SHOW_DATA_EXPLORER",qte="DATASCIENCE.SHOW_DATA_EXPLORER_ROWS_LOADED",Hte="DATASCIENCE.FAILED_SHOW_DATA_EXPLORER",Gte="DATASCIENCE.REFRESH_DATA_VIEWER",zte="DS_INTERNAL.JUPYTER_ZMQ_SUPPORT",Qte="DS_INTERNAL.JUPYTER_ZMQ_SUPPORT_FAILURE",Yte="DS_INTERNAL.VARIABLE_EXPLORER_FETCH_TIME",Xte="DS_INTERNAL.VARIABLE_EXPLORER_VARIABLE_COUNT",Zte="DATASCIENCE.KERNEL_SPEC_LANGUAGE",ere="DS_INTERNAL.KERNEL_LAUNCHER_PERF",tre="GLOBAL_PYTHON_KERNELSPEC",rre="DS_INTERNAL.NEW_FILE_USED_IN_INTERACTIVE",nre="DS_INTERNAL.CREATED_INTERACTIVE_WINDOW",ire="DS_INTERNAL.IPYWIDGET_USED_BY_USER",ore="DS_INTERNAL.IPYWIDGET_DISCOVER_WIDGETS_NB_EXTENSIONS",sre="DS_INTERNAL.IPYWIDGET_DISCOVERY_ERRORED",are="DS_INTERNAL.IPYWIDGET_LOAD_SUCCESS",lre="DS_INTERNAL.IPYWIDGET_LOAD_FAILURE",cre="DS_INTERNAL.IPYWIDGET_WIDGET_VERSION_NOT_SUPPORTED_LOAD_FAILURE",ure="DS_INTERNAL.IPYWIDGET_PROMPT_TO_USE_CDN",dre="DS_INTERNAL.IPYWIDGET_PROMPT_TO_USE_CDN_SELECTION",pre="DS_INTERNAL.IPYWIDGET_RENDER_FAILURE",mre="DS_INTERNAL.IPYWIDGET_UNHANDLED_MESSAGE",fre="DS_INTERNAL.RAWKERNEL_INFO_RESPONSE",hre="DS_INTERNAL.RAWKERNEL_PROCESS_LAUNCH",gre="DATASCIENCE.EXECUTE_CELL",vre="DATASCIENCE.EXECUTE_CODE",yre="DATASCIENCE.RESUME_EXECUTE_CELL",bre="DATASCIENCE.NOTEBOOK_START",Ire="DS_INTERNAL.SWITCH_KERNEL",Sre="DATASCIENCE.NOTEBOOK_INTERRUPT",Cre="DATASCIENCE.NOTEBOOK_RESTART",wre="DS_INTERNAL.RAWKERNEL_SESSION_NO_IPYKERNEL",Ere="DS_INTERNAL.RAWKERNEL_SESSION_KERNEL_PROCESS_EXITED",Pre="DATASCIENCE.NOTEBOOK_FIRST_START_BREAKDOWN",kre="DATASCIENCE.NOTEBOOK_FIRST_KERNEL_AUTO_SELECTION_BREAKDOWN",xre="DS_INTERNAL.RAWKERNEL_SESSION_SHUTDOWN",Dre="DS_INTERNAL.RAWKERNEL_SESSION_DISPOSED",_re="DATASCIENCE.RUN_BY_LINE_VARIABLE_HOVER",Tre="DS_INTERNAL.KERNEL_COUNT",Rre="DS_INTERNAL.VSCNOTEBOOK_CELL_TRANSLATION_FAILED",Are="DS_INTERNAL.INTERACTIVE_FILE_TOOLTIPS_PERF",Nre="DS_INTERNAL.NATIVE_VARIABLE_VIEW_LOADED",Mre="DS_INTERNAL.NATIVE_VARIABLE_VIEW_MADE_VISIBLE",Kre="DATAVIEWER.WEBVIEW_LOADED",Ore="PLOTVIEWER.WEBVIEW_LOADED",Fre="DS_INTERNAL.COMMAND_EXECUTED",Lre="DATASCIENCE.DATA_VIEWER_SLICE_ENABLEMENT_STATE_CHANGED",Ure="DATASCIENCE.DATA_VIEWER_DATA_DIMENSIONALITY",Wre="DATASCIENCE.DATA_VIEWER_SLICE_OPERATION",Vre="DATASCIENCE.CREATE_PYTHON_ENVIRONMENT",jre="DATASCIENCE.RECOMMENT_EXTENSION",Jre="DATASCIENCE.DEBUGGING.CLICKED_ON_SETUP",Bre="DATASCIENCE.DEBUGGING.CLOSED_MODAL",$re="DATASCIENCE.DEBUGGING.IPYKERNEL6_STATUS",qre="DATASCIENCE.DEBUGGING.CLICKED_RUNBYLINE",Hre="DATASCIENCE.DEBUGGING.SUCCESSFULLY_STARTED_RUNBYLINE",Gre="DATASCIENCE.DEBUGGING.SUCCESSFULLY_STARTED_IW_JUPYTER",zre="DATASCIENCE.DEBUGGING.CLICKED_RUN_AND_DEBUG_CELL",Qre="DATASCIENCE.DEBUGGING.SUCCESSFULLY_STARTED_RUN_AND_DEBUG_CELL",Yre="DATASCIENCE.DEBUGGING.ENDED_SESSION",Xre="DATASCIENCE.JUPYTER_KERNEL_CODE_COMPLETION",Zre="DATASCIENCE.JUPYTER_KERNEL_CODE_COMPLETION_CANNOT_RESOLVE",ene="DATASCIENCE.JUPYTER_KERNEL_API_USAGE",tne="DATASCIENCE.JUPYTER_NEW_KERNEL_API_USAGE",rne="DATASCIENCE.JUPYTER_NEW_KERNELS_API_USAGE",nne="DATASCIENCE.JUPYTER_NEW_KERNEL_API_EXEC",ine="DATASCIENCE.JUPYTER_API_USAGE",one="DATASCIENCE.JUPYTER_KERNEL_API_ACCESS",sne="DATASCIENCE.JUPYTER_KERNEL_STARTUP_HOOK",ane="DATASCIENCE.PYTHON_VARIABLE_FETCHING_CODE_FAILURE",lne="DATASCIENCE.INTERACTIVE_WINDOW_DEBUG_SETUP_CODE_FAILURE",cne="DATASCIENCE.KERNEL_CRASH",une="DATASCIENCE.JUPYTER_KERNEL_HIDDEN_VIA_FILTER",dne="DATASCIENCE.JUPYTER_KERNEL_FILTER_USED",pne="DS_INTERNAL.RUNTEST",mne="DS_INTERNAL.PREFERRED_KERNEL_EXACT_MATCH",fne="DS_INTERNAL.IPYWIDGET_EXTENSIONJS_INFO",hne="DS_INTERNAL.IPYWIDGET_TIME_TO_COPY_NBEXTENSIONS_DIR",gne="DATASCIENCE.NO_ACTIVE_KERNEL_SESSION",vne="DATAVIEWER.USING_INTERPRETER",yne="DATAVIEWER.USING_KERNEL",bne="DATASCIENCE.JUPYTER_NOTEBOOK_EXEC_PERFORMANCE",Ine="DATASCIENCE.JUPYTER_JUPYTER_NOTEBOOK_EXEC_PERFORMANCE",Sne="DATASCIENCE.JUPYTER_NOTEBOOK_EDIT_PERFORMANCE"}};var Qu=require("vscode");function sl(n){let e=ol(n.uri);return at(e.path)}function Mo(n=Qu.Uri.file(""),e=Qu.Uri.file(""),t=Rr(),r=!1){let i=ol(n,t,t=="Windows"||r),o=ol(e,t,t=="Windows"||r);return i===o||vi(i,o,!0)}function ol(n=Qu.Uri.file(""),e=Rr(),t=!1){let r=ke(n);return t&&(r=r.toLowerCase()),r.endsWith("/bin/python")?["Linux","OSX"].includes(e)?r.endsWith("/bin/python")&&r.split("/").length>4?Qu.Uri.file(r.replace("/bin/python","/python")):Qu.Uri.file(r):Qu.Uri.file(r):Qu.Uri.file(r)}var Q2=require("vscode");var lo=class{constructor(){this.promises=new Set;this._onStateChange=new Q2.EventEmitter;this.onStateChange=this._onStateChange.event}get isComplete(){return this.promises.size===0}dispose(){this._onStateChange.dispose()}push(e){this.promises.add(e),this._onStateChange.fire(),e.finally(()=>{this.promises.delete(e),this.isComplete&&this._onStateChange.fire()}).catch(h)}};var EP=class extends rn{constructor(e){super("Python Extension failed to activate",e,"pythonExtension")}};var PP=class extends qe{constructor(){super("pythonExtension","Python Extension API not exported")}};var DV=k(Fh());var tm=require("vscode");var KP=class{};function bs(n,e=""){let t=n?tm.workspace.getWorkspaceFolder(n):tm.workspace.workspaceFolders?tm.workspace.workspaceFolders[0]:void 0;return t?hn(Rr()==="Windows"?t.uri.path.toUpperCase():t.uri.path):e}function ll(){return(Array.isArray(tm.workspace.workspaceFolders)&&tm.workspace.workspaceFolders.length>0?tm.workspace.workspaceFolders[0]:void 0)?.uri}var im=require("vscode");var mV=k(Fh());var rm=require("vscode");function sa(n){return(e,t=null,r)=>{let i=!1,o;return o=n(s=>{if(!i)return o?o.dispose():i=!0,e.call(t,s)},null,r),i&&o.dispose(),o}}function JS(n,e=null,t){return new Promise(r=>sa(n)(r,e,t))}var iie={output_type:"stream",name:"stdout",text:""},oie={output_type:"error",ename:"",evalue:"",traceback:[""]},sie={output_type:"display_data",data:{},metadata:{}},aie={output_type:"execute_result",execution_count:0,data:{},metadata:{}},Ebe={stream:new Set(Object.keys(iie)),error:new Set(Object.keys(oie)),display_data:new Set(Object.keys(sie)),execute_result:new Set(Object.keys(aie))};function $i(n){return n&&Vu(n).toLowerCase().endsWith("ipynb")?"notebook":"interactive"}function cl(n){return n=n.toLowerCase(),n.length===2&&n.endsWith("#")?`${n.substring(0,1)}sharp`:uU.get(n)||n}function Et(n){return typeof n=="string"?n===St||n===ft:n.notebookType===St||n.notebookType===ft}function co(n){let e=n.metadata;return JSON.parse(JSON.stringify(e?.metadata||{}))}function fV(n){let e=n.metadata;return{nbformat:e?.nbformat,nbformat_minor:e?.nbformat_minor}}async function hV(n,e){let t=new rm.WorkspaceEdit;t.set(n.uri,[rm.NotebookEdit.updateNotebookMetadata(VA({...n.metadata||{},metadata:e}))]),await rm.workspace.applyEdit(t)}function Lh(n){return rm.workspace.notebookDocuments.find(e=>Et(e)&&e.getCells().some(t=>t.document===n))}function Is(n){if(Array.isArray(n)){let e="";for(let t=0;t<n.length;t+=1){let r=n[t];t<n.length-1&&!r.endsWith(`
|
||
`)?e=e.concat(`${r}
|
||
`):e=e.concat(r)}return e}return n.toString()}function Uh(n){if(Array.isArray(n))return n;let e=n.toString();if(e.length>0){let t=e.split(`
|
||
`);return t.map((r,i)=>i<t.length-1?`${r}
|
||
`:r).filter(r=>r.length>0)}return[]}function lie(n){let e=n;do n=e,e=n.replace(/[^\n]\x08/gm,"");while(e.length<n.length);return n}function cie(n){for(n=n.replace(/\r+\n/gm,`
|
||
`);n.search(/\r[^$]/g)>-1;){var e=n.match(/^(.*)\r+/m)[1],t=n.match(/\r+(.*)$/m)[1];t=t+e.slice(t.length,e.length),n=n.replace(/\r+.*$/m,"\r").replace(/^.*\r/m,t)}return n}function gV(n){return cie(lie(n))}var OP="'''",FP='"""';function nm(n,e,t){let r,i,o=0;for(let s of n){let a=s.trim(),l=a.startsWith(OP)?OP:a.startsWith(FP)?FP:void 0,c=a.includes(OP)?OP:a.includes(FP)?FP:void 0;if(i)i===c&&(i=void 0),t(s,o);else if(r)r===l&&(r=void 0),r&&e(s,o);else if(c&&!l){let u=a.indexOf(c);i=a.lastIndexOf(c)!==u?void 0:c,t(s,o)}else if(l){let u=a.indexOf(l,3);r=u>=0?void 0:l,a.length>3&&e(a.slice(3,u>=0?u:void 0),o)}else a.startsWith("#")?e(a.slice(1),o):t(s,o);o+=1}}function Wh(n,e=`
|
||
`,t){return n.map((r,i)=>{let o=t?t(r):r;return i===n.length-1?`${o}`:`${o}${e}`})}function uie(n){let e=[];return nm(n,t=>e.push(t),t=>{}),e}function LP(n){return Wh(uie(n.slice(n.length>1?1:0)))}function vV(n){let e=n.length,t=-1;return n.forEach((r,i)=>{r.trim()&&(e=i,t<0&&(t=i))}),t>=0?n.slice(t,e+1):[]}function UP(n){let e=/^\s*(\d+)\.(\d+)\.(.+)\s*$/.exec(n);if(e&&e.length>2){let t=parseInt(e[1],10),r=parseInt(e[2],10),i=parseInt(e[3],10);return(0,mV.parse)(`${t}.${r}.${i}`,!0)??void 0}}function Yu(n){let e=JSON.parse(JSON.stringify(n.metadata||{}))||{metadata:{}};return e.metadata=e.metadata||{},e}function VA(n){return die(n)}function die(n){return Array.isArray(n)?n.map(VA):n!=null&&typeof n=="object"&&Object.keys(n).length>0?Object.keys(n).sort().reduce((e,t)=>(e[t]=VA(n[t]),e),{}):n}async function Ss(n,e=[]){let t=JS(n.onDidDispose,void 0,e);n.dispose(),await t}var WP=new Map,JA=new Map,jA;function yV(n){jA=n}function BA(n,e){if(!n.pythonEnvironmentPath)return;let t=re();pie({interpreterHash:n.pythonEnvironmentPath}).then(r=>{n.pythonEnvironmentPackages=r||n.pythonEnvironmentPackages,e&&(e.pythonEnvironmentPackages=r||e.pythonEnvironmentPackages)}).catch(()=>{}).finally(()=>{t.resolve()})}async function pie(n){if(!jA)return p.error("Python package provider is not initialized."),"{}";let e;if("interpreter"in n?e=n.interpreter:e=JA.get(n.interpreterHash),!e)return"{}";let t=await jA(e);return!t||t.size===0?"{}":JSON.stringify(Object.fromEntries(t))}async function bV(n){if(!n)return{};let e=WP.get(cn(n)),t=$i(n);if(!e&&t)return{resourceType:t,resourceHash:n?await at(n.toString()):void 0};if(!e)return{};let r=JSON.parse(JSON.stringify(e[0]));return BA(e[0],r),r}function Pt(n,e,t,r,i){bV(n).then(o=>{Object.assign(o,r||{}),R(e,t,o,i)}).catch(h)}var En=!1,Vh=new WeakMap,VP=new Map,jh,SV=0;function Pn(n){if(!n)return;if(fn(n)&&!VP.has(n.toString())){let t=im.workspace.notebookDocuments.find(r=>r.uri.toString()===n.toString());t&&VP.set(n.toString(),new WeakRef(t))}let e=fn(n)?VP.get(n.toString())?.deref():n;if(e)return Vh.get(e)?.tracker}function CV(n){let e=new Wr;return jh=n,SV=n.elapsedTime,im.workspace.notebookDocuments.forEach(t=>Vh.set(t,IV(t,!0,n))),e.add(im.workspace.onDidOpenNotebookDocument(t=>{!Vh.has(t)&&!En&&Vh.set(t,IV(t,!1,n))})),e.add(im.workspace.onDidCloseNotebookDocument(t=>{Vh.delete(t),VP.delete(t.uri.toString())})),e}function wV(n){Vh.get(n)?.tracker.kernelManuallySelected()}var jP={starAfter:-1,completedAfter:-1},$A=new Map,EV=new Map,mie=new Map,PV=Ft(()=>(jP.starAfter=jh?.elapsedTime,{stop:Ft(()=>{jP.completedAfter=jh.elapsedTime})}));function kV(n,e){$A.set(n,jh?.elapsedTime),mie.set(n,e||"")}function xV(n){n.executable.uri&&EV.set(n.id,jh?.elapsedTime)}function IV(n,e,t){let r=jh.elapsedTime,i=t.elapsedTime,o={openedAfter:i},s=c=>(c==="executeCell"&&(En=!0),o[`${c}StartedAfter`]=t.elapsedTime,{stop:Ft(()=>{o[`${c}CompletedAfter`]=t.elapsedTime})}),a={wasAlreadyOpen:e},l=()=>{};return{measures:o,info:a,tracker:{kernelSelected:Ft((c,u)=>{let d=$A.get(c);typeof d=="number"&&(a.wasAlreadyOpen?o.controllerCreatedAfter=$A.get(c):o.controllerCreatedAfter=r-d),o.interpreterDiscoveredAfter=EV.get(u||""),o.kernelSelectedAfter=t.elapsedTime,a.manuallySelectedKernel||gie(n,{wasAlreadyOpen:a.wasAlreadyOpen},{controllerCreatedAfter:o.controllerCreatedAfter,kernelSelectedAfter:o.kernelSelectedAfter,openedAfter:i,interpreterDiscoveredAfter:o.interpreterDiscoveredAfter})}),kernelManuallySelected:Ft(()=>a.manuallySelectedKernel=!0),cellExecutionCount:En?l:Ft(c=>o.executeCellCount=c),preExecuteCellTelemetry:En?l:Ft(()=>s("preExecuteCellTelemetry")),startKernel:En?l:Ft(()=>s("startKernel")),executeCell:En?l:Ft(()=>s("executeCell")),executeCellAcknowledged:En?l:Ft(()=>{o.executeCellAcknowledgedAfter=t.elapsedTime,fie(n,a,o)}),jupyterSessionTelemetry:En?l:Ft(()=>s("sessionTelemetry")),postKernelStartup:En?l:Ft(()=>s("postKernelStart")),computeCwd:En?l:Ft(()=>s("computeCwd")),getConnection:En?l:Ft(()=>s("getConnection")),updateConnection:En?l:Ft(()=>s("updateConnection")),kernelReady:En?l:Ft(()=>s("kernelReady")),portUsage:En?l:Ft(()=>s("portUsage")),spawn:En?l:Ft(()=>s("spawn")),pythonEnvVars:En?l:Ft(()=>s("pythonEnvVars")),envVars:En?l:Ft(()=>s("envVars")),interruptHandle:En?l:Ft(()=>s("interruptHandle")),kernelInfo:En?l:Ft(()=>s("kernelInfo")),kernelIdle:En?l:Ft(()=>s("kernelIdle"))}}}var fie=Ft(function(n,e,t){if(typeof t.preExecuteCellTelemetryStartedAfter!="number"||typeof t.preExecuteCellTelemetryCompletedAfter!="number"||typeof t.executeCellAcknowledgedAfter!="number"||typeof t.startKernelStartedAfter!="number"||typeof t.startKernelCompletedAfter!="number"||typeof t.executeCellStartedAfter!="number"||typeof t.sessionTelemetryStartedAfter!="number"||typeof t.sessionTelemetryCompletedAfter!="number"||typeof t.postKernelStartStartedAfter!="number"||typeof t.postKernelStartCompletedAfter!="number"||typeof t.kernelInfoStartedAfter!="number"||typeof t.kernelInfoCompletedAfter!="number"||typeof t.kernelIdleStartedAfter!="number"||typeof t.kernelIdleCompletedAfter!="number"||typeof t.computeCwdStartedAfter!="number"||typeof t.computeCwdCompletedAfter!="number"||typeof t.kernelReadyStartedAfter!="number"||typeof t.kernelReadyCompletedAfter!="number"||typeof t.getConnectionStartedAfter!="number"||typeof t.getConnectionCompletedAfter!="number"||typeof t.updateConnectionStartedAfter!="number"||typeof t.updateConnectionCompletedAfter!="number"||typeof t.portUsageStartedAfter!="number"||typeof t.portUsageCompletedAfter!="number"||typeof t.spawnStartedAfter!="number"||typeof t.spawnCompletedAfter!="number"||typeof t.pythonEnvVarsStartedAfter!="number"||typeof t.pythonEnvVarsCompletedAfter!="number"||typeof t.envVarsStartedAfter!="number"||typeof t.envVarsCompletedAfter!="number")return;let r={duration:0,preExecuteCellTelemetry:0,startKernel:0,executeCell:0};{let c=[{name:"preExecuteCellTelemetry",start:t.preExecuteCellTelemetryStartedAfter,end:t.preExecuteCellTelemetryCompletedAfter},{name:"startKernel",start:t.startKernelStartedAfter,end:t.startKernelCompletedAfter},{name:"executeCell",start:t.executeCellStartedAfter,end:t.executeCellAcknowledgedAfter}],u=t.executeCellAcknowledgedAfter-t.preExecuteCellTelemetryStartedAfter;r.duration=u,BS(r,c,u,t.openedAfter)}let i={sessionTelemetry:0,postKernelStart:0,computeCwd:0,getConnection:0,updateConnection:0,kernelReady:0,portUsage:0,spawn:0};{let c=[{name:"sessionTelemetry",start:t.sessionTelemetryStartedAfter,end:t.sessionTelemetryCompletedAfter},{name:"postKernelStart",start:t.postKernelStartStartedAfter,end:t.postKernelStartCompletedAfter},{name:"computeCwd",start:t.computeCwdStartedAfter,end:t.computeCwdCompletedAfter},{name:"getConnection",start:t.getConnectionStartedAfter,end:t.getConnectionCompletedAfter},{name:"updateConnection",start:t.updateConnectionStartedAfter,end:t.updateConnectionCompletedAfter},{name:"spawn",start:t.spawnStartedAfter,end:t.spawnCompletedAfter},{name:"portUsage",start:t.portUsageStartedAfter,end:t.portUsageCompletedAfter},{name:"kernelReady",start:t.kernelReadyStartedAfter,end:t.kernelReadyCompletedAfter}],u=t.startKernelCompletedAfter-t.startKernelStartedAfter;BS(i,c,u,t.openedAfter)}let o={startupCode:0,kernelInfo:0,kernelIdle:0};{let c=[{name:"startupCode",start:t.postKernelStartStartedAfter,end:t.kernelInfoStartedAfter},{name:"kernelInfo",start:t.kernelInfoStartedAfter,end:t.kernelInfoCompletedAfter},{name:"kernelIdle",start:t.kernelIdleStartedAfter,end:t.kernelIdleCompletedAfter}],u=t.postKernelStartCompletedAfter-t.postKernelStartStartedAfter;BS(o,c,u,t.openedAfter)}let s={pythonEnvVars:0,envVars:0,interruptHandle:0};{let c=[{name:"pythonEnvVars",start:t.pythonEnvVarsStartedAfter,end:t.pythonEnvVarsCompletedAfter},{name:"envVars",start:t.envVarsStartedAfter,end:t.envVarsCompletedAfter},{name:"interruptHandle",start:t.interruptHandleStartedAfter||0,end:t.interruptHandleCompletedAfter||0}],u=t.spawnCompletedAfter-t.spawnStartedAfter;BS(s,c,u,t.openedAfter)}let a=hie(n),l={...r,...i,...o,...s,...a};Pt(n.uri,"DATASCIENCE.NOTEBOOK_FIRST_START_BREAKDOWN",l,e)});function hie(n){let e={attachmentCharLength:0,attachmentCount:0,codeCellCharLength:0,codeCellCount:0,mdCellCharLength:0,mdCellCount:0,outputCount:0,outputsByteSize:0};return n.getCells().forEach(t=>{let r=t.document.lineAt(t.document.lineCount-1).range.end,i=t.document.offsetAt(r);if(t.kind===im.NotebookCellKind.Markup){e.mdCellCount+=1,e.mdCellCharLength+=i;try{let s=Yu(t).attachments||{};Object.keys(s).forEach(a=>{e.attachmentCount+=1;let l=s[a];typeof l=="object"&&Object.keys(l).forEach(c=>{let u=l[c];u&&typeof u=="string"&&(e.attachmentCharLength+=u.length)})})}catch(o){p.warn("Error parsing attachments in cell metadata",o)}}else e.codeCellCount+=1,e.codeCellCharLength+=i,e.outputCount+=t.outputs.length,e.outputsByteSize+=t.outputs.reduce((o,s)=>o+s.items.reduce((a,l)=>a+l.data.byteLength,0),0)}),e}var gie=Ft(function(n,e,t){if(t.pythonExtensionActivationStartedAfter=jP.starAfter,t.pythonExtensionActivationCompletedAfter=jP.completedAfter,typeof t.controllerCreatedAfter>"u"||typeof t.interpreterDiscoveredAfter>"u"||typeof t.pythonExtensionActivationCompletedAfter>"u"||typeof t.pythonExtensionActivationStartedAfter>"u")return;let r=[{name:"callPythonApi",start:SV,end:t.pythonExtensionActivationStartedAfter},{name:"activatePython",start:t.pythonExtensionActivationStartedAfter,end:t.pythonExtensionActivationCompletedAfter},{name:"discoverEnv",start:t.pythonExtensionActivationCompletedAfter,end:t.interpreterDiscoveredAfter},{name:"createController",start:t.interpreterDiscoveredAfter,end:t.controllerCreatedAfter},{name:"selectController",start:t.controllerCreatedAfter,end:t.kernelSelectedAfter}],i=t.kernelSelectedAfter-t.openedAfter,o={duration:i};BS(o,r,i,t.openedAfter),Pt(n.uri,"DATASCIENCE.NOTEBOOK_FIRST_KERNEL_AUTO_SELECTION_BREAKDOWN",o,e)});function BS(n,e,t,r){e.sort((i,o)=>i.start-o.start).forEach(i=>{typeof r=="number"&&r>=i.start&&r<=i.end?n[i.name]=(i.end-r)*100/t:typeof r=="number"&&r>i.end?n[i.name]=0:(typeof r=="number"&&r<i.start||typeof r!="number")&&(n[i.name]=(i.end-i.start)*100/t)})}function $S(n,e){if(n){let t={...n,uri:It.Uri.file(n.path||""),id:e||n.id};return delete t.path,t}}function _V(n){let e,t=n.id;if(n.executable.uri)e=n.executable.uri;else if(Ve(n)==="Conda")e=Rr()==="Windows"?It.Uri.joinPath(n.environment?.folderUri||It.Uri.file(n.path),"python.exe"):It.Uri.joinPath(n.environment?.folderUri||It.Uri.file(n.path),"bin","python");else{p.warn(`Python environment ${j(n.id)} excluded as Uri is undefined`);return}return{id:t,uri:e}}function om(n){if(n){let e=Object.assign({},n,{path:ke(n.uri)});return delete e.uri,e}}var Jh=class{constructor(e,t){this.disposables=e;this.extensionChecker=t;this.api=re();this.didActivatePython=new It.EventEmitter;this._pythonExtensionHooked=re();this.extensionChecker.isPythonExtensionInstalled||It.extensions.onDidChange(async()=>{this.extensionChecker.isPythonExtensionInstalled&&await this.registerHooks()},this,this.disposables),this.disposables.push(this.didActivatePython)}get onDidActivatePythonExtension(){return this.didActivatePython.event}get pythonExtensionHooked(){return this._pythonExtensionHooked.promise}get pythonExtensionVersion(){return this._pythonExtensionVersion}getApi(){return this.init().catch(h),this.api.promise}async getNewApi(){await this.init();let e=It.extensions.getExtension(Yn);return e?.packageJSON?.version&&(this._pythonExtensionVersion=new DV.SemVer(e?.packageJSON?.version)),e?.exports&&(S2(e.exports),e.exports.environments.known.forEach(t=>{xV(t)})),e?.exports}setApi(e){this.api.resolved||!It.workspace.isTrusted||this.api.resolve(e)}async init(){if(this.initialized)return;It.extensions.getExtension(Yn)?await this.registerHooks():await this.extensionChecker.showPythonExtensionInstallRequiredPrompt(),this.initialized=!0}async registerHooks(){if(this.hooksRegistered)return;let e=It.extensions.getExtension(Yn);if(!e)return;let t=!1;if(!e.isActive){let r=PV();try{let i=e.activate();i.then(()=>r.stop(),()=>r.stop()),await i,t=!0}catch(i){p.error("Failed activating the python extension: ",i),this.api.reject(new EP(i));return}}this.hooksRegistered||(this.hooksRegistered=!0,t&&this.didActivatePython.fire(),e.exports?.jupyter?e.exports.jupyter.registerHooks():(p.error("Python extension is not exporting the jupyter API"),this.api.reject(new PP)),this._pythonExtensionHooked.resolve())}};Jh=v([(0,Cs.injectable)(),m(0,(0,Cs.inject)(M)),m(1,(0,Cs.inject)(Be))],Jh);var Xu=class{constructor(e){this.disposables=e;this.pythonExtensionInstallationStatusChanged=new It.EventEmitter;It.extensions.onDidChange(this.extensionsChangeHandler.bind(this),this,this.disposables),this.previousInstallState=this.isPythonExtensionInstalled}get onPythonExtensionInstallationStatusChanged(){return this.pythonExtensionInstallationStatusChanged.event}get isPythonExtensionInstalled(){return It.extensions.getExtension(Yn)!==void 0}get isPythonExtensionActive(){return It.extensions.getExtension(Yn)?.isActive===!0}async directlyInstallPythonExtension(){return It.commands.executeCommand("workbench.extensions.installExtension",Yn,{context:{skipWalkthrough:!0}})}async showPythonExtensionInstallRequiredPrompt(){if(!It.workspace.isTrusted)return;Xu.promptDisplayed=!0;let e=de.bannerLabelYes;R("DS_INTERNAL.PYTHON_EXTENSION_NOT_INSTALLED",void 0,{action:"displayed"}),await It.window.showInformationMessage(y.pythonExtensionRequired,{modal:!0},e)===e?(R("DS_INTERNAL.PYTHON_EXTENSION_NOT_INSTALLED",void 0,{action:"download"}),await this.installPythonExtension()):R("DS_INTERNAL.PYTHON_EXTENSION_NOT_INSTALLED",void 0,{action:"dismissed"})}async installPythonExtension(){It.commands.executeCommand("extension.open",Yn).then(h,h)}async extensionsChangeHandler(){let e=this.isPythonExtensionInstalled;e!==this.previousInstallState&&(this.pythonExtensionInstallationStatusChanged.fire(e?"installed":"uninstalled"),this.previousInstallState=e)}};Xu=v([(0,Cs.injectable)(),m(0,(0,Cs.inject)(M))],Xu);var Bh=class{constructor(e,t,r,i){this.apiProvider=e;this.extensionChecker=t;this.disposables=r;this.context=i;this.didChangeInterpreter=new It.EventEmitter;this.didChangeInterpreters=new It.EventEmitter;this._onDidEnvironmentVariablesChange=new It.EventEmitter;this._onDidRemoveInterpreter=new It.EventEmitter;this.onDidRemoveInterpreter=this._onDidRemoveInterpreter.event;this.onDidEnvironmentVariablesChange=this._onDidEnvironmentVariablesChange.event;this._status="idle";this._onDidChangeStatus=new It.EventEmitter;this.onDidChangeStatus=this._onDidChangeStatus.event;this.refreshPromises=new lo;this.onResumeEnvDetection=new It.EventEmitter;this.workspaceCachedActiveInterpreter=new Set;this.lastLoggedResourceAndInterpreterId="";this.pythonEnvHashes=new Map;this.loggedEnvsWithoutInterpreterPath=new Set;this.pendingInterpreterChangeEventTriggers=new Map;this.pendingInterpretersChangeEventTriggers=new Map;this.extensionChecker.isPythonExtensionInstalled&&!this.extensionChecker.isPythonExtensionActive&&this.apiProvider.onDidActivatePythonExtension(()=>{this.hookupOnDidChangeInterpreterEvent()},this,this.disposables),It.workspace.onDidGrantWorkspaceTrust(()=>this.refreshInterpreters(!0),this,this.disposables),this.disposables.push(this._onDidChangeStatus),this.disposables.push(this.refreshPromises),this.disposables.push(this.onResumeEnvDetection),this.refreshPromises.onStateChange(()=>{this.status=this.refreshPromises.isComplete?"idle":"refreshing"})}get status(){return this._status}set status(e){this._status!==e&&(this._status=e,this._onDidChangeStatus.fire())}initialize(){this.hookupOnDidChangeInterpreterEvent()}async resolveEnvironment(e){return this.getApi().then(t=>{if(!t)return;let r=typeof e=="string"?t.environments.known.find(i=>i.id===e||i.path===e):e;return t.environments.resolveEnvironment(r||e)})}get onDidChangeInterpreter(){return this.hookupOnDidChangeInterpreterEvent(),this.didChangeInterpreter.event}get onDidChangeInterpreters(){return this.hookupOnDidChangeInterpreterEvent(),this.didChangeInterpreters.event}async refreshInterpreters(e=!1){let t=(async()=>{let r=await this.getApi();if(r)try{await r.environments.refreshEnvironments({forceRefresh:e}),this.hookupOnDidChangeInterpreterEvent(),p.debug("Refreshed Environments")}catch{p.error("Failed to refresh the list of interpreters")}})();this.refreshPromises.push(t),this.refreshPromises.push(t.then(()=>gi(1e3))),await t}async getActiveInterpreter(e){if(!It.workspace.isTrusted)return;let t=new Ue;this.hookupOnDidChangeInterpreterEvent(),!e&&It.workspace.workspaceFolders?.length===1&&(e=It.workspace.workspaceFolders[0].uri),It.workspace.workspaceFolders?.length&&(e=(e?It.workspace.getWorkspaceFolder(e)?.uri:void 0)||It.workspace.workspaceFolders[0].uri);let r=bs(e),i=this.getApi().then(async o=>{if(!o)return;let s=o.environments.getActiveEnvironmentPath(e),a=await o.environments.resolveEnvironment(s);return this.trackResolvedEnvironment(a)});return i.then(()=>{this.workspaceCachedActiveInterpreter.has(r)||(this.workspaceCachedActiveInterpreter.add(r),R("DS_INTERNAL.ACTIVE_INTERPRETER_LISTING_PERF",{duration:t.elapsedTime},{firstTime:!0}))}).catch(o=>{p.warn(`Failed to get active interpreter from Python for workspace ${r}`,o)}),(hi||[It.ExtensionMode.Development,It.ExtensionMode.Test].includes(this.context.extensionMode))&&i.then(o=>{let s=`${j(e)}'-${j(o?.id)}`;if(this.lastLoggedResourceAndInterpreterId===s)return;this.lastLoggedResourceAndInterpreterId=s;let a=Ji(o);p.trace(`Active Interpreter ${e?`for '${j(e)}' `:""}is ${j(o?.id)} (${o&&Ve(o)}, '${o?Ro(o):""}', ${a?.major}.${a?.minor}.${a?.micro})`)}).catch(h),i}getInterpreterHash(e){return this.pythonEnvHashes.get(e)}async getInterpreterDetails(e,t){if(!It.workspace.isTrusted)throw new Error("Unable to determine active Interpreter as Workspace is not trusted");this.hookupOnDidChangeInterpreterEvent();try{return await this.getApi().then(async r=>{if(!r||t?.isCancellationRequested)return;let i=r.environments.known.find(l=>fn(e)?Mo(l.executable.uri,e):typeof e=="string"?l.id===e:Mo(It.Uri.file(l.path),It.Uri.file(e.path))),o=fn(e)?j(e):typeof e=="string"?e:j(It.Uri.file(e.path));if(i){let l=await r.environments.resolveEnvironment(i),c=this.trackResolvedEnvironment(l);return p.ci(`Interpreter details for ${o} from Python is ${JSON.stringify(l)} and our mapping is ${JSON.stringify(c)}`),c}let s=o;if(this.loggedEnvsWithoutInterpreterPath.has(s)||(this.loggedEnvsWithoutInterpreterPath.add(s),p.warn(`No interpreter with path ${o} found in Python API, will convert Uri path to string as Id ${o}`)),t?.isCancellationRequested)return;let a=await r.environments.resolveEnvironment(fn(e)?e.fsPath:typeof e=="string"?e:e.path);return this.trackResolvedEnvironment(a)})}catch(r){p.warn(`Failed to get Python interpreter details from Python Extension API for ${typeof e=="string"?e:j(fn(e)?e:It.Uri.file(e.path))}`,r);return}}trackResolvedEnvironment(e){if(e){let t=wi(e);return t?(sl(t).then(r=>{this.pythonEnvHashes.set(t.id,r)}).catch(h),this.triggerEventIfAllowed("interpretersChangeEvent",t),t):void 0}}triggerEventIfAllowed(e,t){e==="interpreterChangeEvent"?this.pendingInterpreterChangeEventTriggers.set(t?.id||"",t):this.pendingInterpretersChangeEventTriggers.set(t?.id||"",t),this.triggerPendingEvents()}triggerPendingEvents(){this.pendingInterpreterChangeEventTriggers.forEach(t=>this.didChangeInterpreter.fire(t)),this.pendingInterpreterChangeEventTriggers.clear();let e=Array.from(this.pendingInterpretersChangeEventTriggers.values());if(e.length){let t=e.filter(r=>!!r);t.length!==e.length&&t.length===0?this.didChangeInterpreters.fire([]):this.didChangeInterpreters.fire(t)}this.pendingInterpretersChangeEventTriggers.clear()}async getApi(){if(this.extensionChecker.isPythonExtensionInstalled)return this.apiPromise||(this.apiPromise=this.apiProvider.getNewApi()),this.apiPromise}hookupOnDidChangeInterpreterEvent(){this.eventHandlerAdded||this.getApi().then(e=>{!this.eventHandlerAdded&&e&&(this.eventHandlerAdded=!0,e.environments.onDidEnvironmentVariablesChange(t=>{p.debug(`Detected changes to env file ${t.resource?.uri?.path} in PythonApi`),this._onDidEnvironmentVariablesChange.fire()},this,this.disposables),e.environments.onDidChangeActiveEnvironmentPath(()=>{p.trace("Detected change in Active Python environment via Python API"),this.workspaceCachedActiveInterpreter.clear(),this.triggerEventIfAllowed("interpreterChangeEvent",void 0)},this,this.disposables),e.environments.onDidChangeEnvironments(async t=>{if(p.trace(`Python API env change detected, ${t.type} => '${t.env.id}'`),t.type==="remove"){this.triggerEventIfAllowed("interpreterChangeEvent",void 0),this.triggerEventIfAllowed("interpretersChangeEvent",void 0),this._onDidRemoveInterpreter.fire({id:t.env.id});return}let r=wi(Pr(t.env));r&&(this.triggerEventIfAllowed("interpreterChangeEvent",r),this.triggerEventIfAllowed("interpretersChangeEvent",r))},this,this.disposables),this.didChangeInterpreters.fire(so().map(wi).filter(t=>!!t).map(t=>t)))}).catch(h)}};Bh=v([(0,Cs.injectable)(),m(0,(0,Cs.inject)(Ht)),m(1,(0,Cs.inject)(Be)),m(2,(0,Cs.inject)(M)),m(3,(0,Cs.inject)(et))],Bh);var $h=require("vscode");function JP(n,e){let t=n.length>0?`?token=${n}`:"";return`${e}${t}`}function BP(n,e,t){return n?t.createSystemVariables(e).resolve(n):e?nt(ke(e)):process.cwd()}async function $P(n,e){let t=y.jupyterSelfCertEnable,r=y.jupyterSelfCertClose,i=await $h.window.showErrorMessage(y.jupyterSelfCertFail(e),{modal:!0},t,r);return i===t?(R("DATASCIENCE.SELFCERTSMESSAGEENABLED"),await n.updateSetting("allowUnauthorizedRemoteConnection",!0,void 0,$h.ConfigurationTarget.Workspace),!0):(i===r&&R("DATASCIENCE.SELFCERTSMESSAGECLOSE"),!1)}async function qP(n,e){let t=y.jupyterSelfCertEnable,r=y.jupyterSelfCertClose,i=await $h.window.showErrorMessage(y.jupyterExpiredCertFail(e),{modal:!0},t,r);return i===t?(R("DATASCIENCE.SELFCERTSMESSAGEENABLED"),await n.updateSetting("allowUnauthorizedRemoteConnection",!0,void 0,$h.ConfigurationTarget.Workspace),!0):(i===r&&R("DATASCIENCE.SELFCERTSMESSAGECLOSE"),!1)}function qS(n,e,t,r,i,o,s){let a=e.baseUrl,l=e.token,c=new URL(e.baseUrl).hostname,u=e.authorizationHeader&&Object.keys(e?.authorizationHeader??{}).length>0?e.authorizationHeader:void 0,d=u?()=>u:void 0,f={baseUrl:a,appUrl:"",wsUrl:a.replace("http","ws"),fetch:e.fetch,WebSocket:e.WebSocket},g=t.getRequestInit();(!(l===""||l==="null")||d)&&(f={...f,token:l,appendToken:!0});let I=i.getSettings(void 0).allowUnauthorizedRemoteConnection;if(a.startsWith("https")&&I&&r){let A=r.createHttpRequestAgent();g={...g,agent:A}}let{ServerConnection:E}=require("@jupyterlab/services");return f={...f,init:g,WebSocket:e.WebSocket?t.wrapWebSocketCtor(e.WebSocket):t.getWebsocketCtor(void 0,I,d),fetch:e.fetch||t.getFetchMethod(),Request:t.getRequestCtor(void 0,I,d),Headers:t.getHeadersCtor()},{baseUrl:a,providerId:n.id,serverProviderHandle:n,token:l,hostName:c,displayName:e&&e.displayName?e.displayName:JP(l,a),dispose:()=>s?.dispose(),rootDirectory:o,getAuthHeader:d,settings:E.makeSettings(f)}}async function TV(n){let e=Ot(n);return na(e,"SHA-256")}var vie=new Set([Fe,"ms-toolsai.vscode-ai","GitHub.codespaces"].map(n=>n.toLowerCase()));function Ot(n){return vie.has(n.extensionId.toLowerCase())?`${je.REMOTE_URI}?${je.REMOTE_URI_ID_PARAM}=${n.id}&${je.REMOTE_URI_HANDLE_PARAM}=${encodeURI(n.handle)}`:`${je.REMOTE_URI}?${je.REMOTE_URI_ID_PARAM}=${n.id}&${je.REMOTE_URI_HANDLE_PARAM}=${encodeURI(n.handle)}&${je.REMOTE_URI_EXTENSION_ID_PARAM}=${encodeURI(n.extensionId)}`}async function HP(n){if(!Mu()&&n.interpreter?.uri){let e=n.interpreter.uri.fsPath,t=ol(n.interpreter.uri).fsPath,r=n.id.replace(e,t);return at(r)}return at(n.id)}var ws=class{static fromJSON(e){let t=Object.assign(e,{});switch(t.interpreter&&(t.interpreter=$S(t.interpreter,"")),e.kind){case"startUsingLocalKernelSpec":return Zu.create(t);case"connectToLiveRemoteKernel":return HS.create(t);case"startUsingRemoteKernelSpec":return GS.create(t);case"startUsingPythonInterpreter":return Ko.create(t);default:throw new Error(`Invalid object to be deserialized into a connection, kind = ${t.kind}`)}}},HS=class n{constructor(e){this.kind="connectToLiveRemoteKernel";this.kernelModel=e.kernelModel,this.interpreter=e.interpreter,this.baseUrl=e.baseUrl,this.id=e.id,this.serverProviderHandle=e.serverProviderHandle,zP(this)}static create(e){return new n(e)}updateModel(e){Object.assign(this.kernelModel,e)}getHashId(){return HP(this)}toJSON(){return{id:this.id,kind:this.kind,baseUrl:this.baseUrl,interpreter:om(this.interpreter),kernelModel:this.kernelModel,serverProviderHandle:this.serverProviderHandle}}static fromJSON(e){return ws.fromJSON(e)}},Zu=class n{constructor(e){this.kind="startUsingLocalKernelSpec";this.kernelSpec=e.kernelSpec,this.interpreter=e.interpreter,this.id=e.id,zP(this)}static create(e){return new n(e)}getHashId(){return HP(this)}toJSON(){return{id:this.id,kernelSpec:this.kernelSpec,interpreter:om(this.interpreter),kind:this.kind}}static fromJSON(e){return ws.fromJSON(e)}},GS=class n{constructor(e){this.kind="startUsingRemoteKernelSpec";this.interpreter=e.interpreter,this.kernelSpec=e.kernelSpec,this.baseUrl=e.baseUrl,this.id=e.id,this.serverProviderHandle=e.serverProviderHandle,zP(this)}static create(e){return new n(e)}getHashId(){return HP(this)}toJSON(){return{id:this.id,kernelSpec:this.kernelSpec,interpreter:om(this.interpreter),baseUrl:this.baseUrl,kind:this.kind,serverProviderHandle:this.serverProviderHandle}}static fromJSON(e){return ws.fromJSON(e)}},Ko=class n{constructor(e){this.kind="startUsingPythonInterpreter";this.kernelSpec=e.kernelSpec,this.interpreter=e.interpreter,this.id=e.id,zP(this)}static create(e){return new n(e)}getHashId(){return HP(this)}toJSON(){return{id:this.id,kernelSpec:this.kernelSpec,interpreter:om(this.interpreter),kind:this.kind}}updateInterpreter(e){Object.assign(this.interpreter,e)}static fromJSON(e){return ws.fromJSON(e)}};function ct(n){return n.kind==="startUsingLocalKernelSpec"||n.kind==="startUsingPythonInterpreter"}function _t(n){return!ct(n)}var De=Symbol("IKernelProvider"),sm=Symbol("IThirdPartyKernelProvider");var GP=Symbol("IJupyterServerConnector"),zS=Symbol("IKernelSessionFactory");var Es=Symbol("IKernelDependencyService"),kr=Symbol("IKernelFinder"),qh=Symbol("ITracebackFormatter");var kc=Symbol("IStartupCodeProviders"),RV=new Set;function zP(n){if(RV.has(n.id))return;RV.add(n.id);let e="kernelSpec"in n?n.kernelSpec:void 0,t=e?.language||(n.kind==="startUsingPythonInterpreter"?ge:void 0),r="",i="",o="interpreter"in n?n.interpreter:void 0,s="<#>",a;e&&Array.isArray(e.argv)&&e.argv.length>0&&(r=e.argv[0],a=r.toLowerCase()===o?.uri?.fsPath?.toLowerCase(),Ce(r)!==r&&(r=`<P>${Ce(r)}`),i=e.argv.map(g=>g.includes("/")||g.includes("\\")?`<P>${Ce(g)}`:g).join(s));let l="kernelSpec"in n&&n.kernelSpec.specFile?at(n.kernelSpec.specFile):Promise.resolve(""),c=at(n.id),u=_t(n)?at(Ot(n.serverProviderHandle)):Promise.resolve(""),d=_t(n)?n.serverProviderHandle.extensionId:Fe,f=_t(n)?at(n.baseUrl.toLowerCase()):Promise.resolve("");Promise.all([l,c,u,f]).then(([g,b,I,E])=>R("DS_INTERNAL.JUPYTER_KERNEL_SPEC",void 0,{kernelId:b,serverIdHash:I,kernelSpecHash:g,baseUrlHash:E,providerExtensionId:d,kernelConnectionType:n.kind,kernelLanguage:t,envType:o&&Ve(o),isArgv0SameAsInterpreter:a,argv0:r,argv:i})).catch(h)}var kn=require("vscode");var Oie=k(BV()),xc=require("vscode");var ed=class{constructor(e,t,r,i){this.specFile=t;this.interpreterPath=r;this.isRegisteredByVSC=i;this.name=e.name,this.argv=e.argv,this.language=e.language,this.executable=e.argv&&e.argv.length>0?e.argv[0]:"",this.display_name=e.display_name,this.metadata=e.metadata,this.env=e.env,this.interrupt_mode=e.interrupt_mode}};var An=require("vscode"),XV=k(zA());var QA=class{constructor(e,t,r,i=!1){this._impl=e;this.controllerId=t;this._endCallback=r;this.clearOutputOnStartWithTime=i;this._started=!1}get started(){return this._started}get cell(){return this._impl.cell}get token(){return this._impl.token}get executionOrder(){return this._impl.executionOrder}set executionOrder(e){e&&Pn(this._impl.cell.notebook)?.executeCellAcknowledged(),this._impl.executionOrder=e}startIfNecessary(){this.started||this._impl.start()}start(e){this.started||(this._started=!0,this._impl.start(e),this._startTime=e,this.clearOutputOnStartWithTime?(p.trace(`Start cell ${this.cell.index} execution @ ${e} (clear output)`),this._impl.clearOutput().then(h,h)):p.trace(`Start cell ${this.cell.index} execution @ ${e}`))}end(e,t){if(this._endCallback)try{this._impl.end(e,t,this.errorInfo),p.trace(`Cell ${this.cell.index} completed in ${((t||0)-(this._startTime||0))/1e3}s (start: ${this._startTime}, end: ${t})`)}finally{this._endCallback(),this._endCallback=void 0}}clearOutput(e){return this.startIfNecessary(),this._impl.clearOutput(e)}replaceOutput(e,t){return this.startIfNecessary(),this._impl.replaceOutput(e,t)}appendOutput(e,t){return this.startIfNecessary(),this._impl.appendOutput(e,t)}replaceOutputItems(e,t){return this.startIfNecessary(),this._impl.replaceOutputItems(e,t)}appendOutputItems(e,t){return this.startIfNecessary(),this._impl.appendOutputItems(e,t)}},Pi=class n{static{this._map=new WeakMap}static getOrCreate(e,t,r=!1){let i,o=e.document;if(i=this.get(e),!i)i=n.create(o,e,t,r);else if(i.controllerId!==t.id){let s=i;s.end(void 0),i=n.create(o,e,t,r),s.started&&i.start(new Date().getTime())}return i}static get(e){let t=e.document;return n._map.get(t)}static create(e,t,r,i=!1){let o=new QA(r.createNotebookCellExecution(t),r.id,()=>{n._map.delete(e)},i);return n._map.set(e,o),o}};function Hh(n){return typeof Buffer<"u"&&typeof Buffer.from=="function"?Buffer.from(n,"base64"):Uint8Array.from(atob(n),e=>e.charCodeAt(0))}var Tie=new TextDecoder;function YP(n){if(typeof Buffer<"u"&&typeof Buffer.from=="function")return Buffer.from(n).toString("base64");{let e=Tie.decode(n);return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(t,r){return String.fromCharCode(Number.parseInt("0x"+r))}))}}var GV=["application/vnd.*","application/vdom.*","application/geo+json","application/x-nteract-model-debug+json","text/html","application/javascript","image/gif","text/latex","text/markdown","image/png","image/svg+xml","image/jpeg","application/json","text/plain"];function zV(n){if(n.mime.startsWith("application/vnd."))try{return new TextDecoder().decode(n.data).length===0}catch{}return!1}function Rie(n){return n.sort((e,t)=>{let r=(s,a)=>(s.endsWith(".*")&&(s=s.substr(0,s.indexOf(".*"))),a.startsWith(s)),i=GV.findIndex(s=>r(s,e.mime)),o=GV.findIndex(s=>r(s,t.mime));return zV(e)&&(i=-1),zV(t)&&(o=-1),i=i==-1?100:i,o=o==-1?100:o,i-o})}var td=class n{static{this.cellStates=new WeakMap}static getCellState(e){return n.cellStates.get(e)?.state}static getCellStatus(e){return(n.cellStates.get(e)?.stateTransition||[]).join(", ")||""}static setCellState(e,t){let r=n.cellStates.get(e)?.start||new Ue,i=n.cellStates.get(e)?.stateTransition||[];i.push(`${t} ${i.length===0?"@ start":`After ${r.elapsedTime}ms`}`),n.cellStates.set(e,{stateTransition:i,state:t,start:r})}};function ut(n,e){let t=typeof e=="string"?()=>e:e;p.ci(()=>`Cell Index:${n.index}, of document ${un(n.notebook.uri)} with state:${td.getCellStatus(n)}, exec: ${n.executionSummary?.executionOrder}. ${t()}. called from ${J2()}`)}var zh=new Map;zh.set("display_data",ZP);zh.set("error",Kie);zh.set("execute_result",ZP);zh.set("stream",Aie);zh.set("update_display_data",ZP);function uo(n){let e=zh.get(n.output_type),t;return e?t=e(n):(p.warn(`Unable to translate cell from ${n.output_type} to NotebookCellData for VS Code.`),t=ZP(n)),t}function YA(n){let e={outputType:n.output_type};switch(n.transient&&(e.transient=n.transient),n.output_type){case"display_data":case"execute_result":case"update_display_data":{e.executionCount=n.execution_count,e.metadata=n.metadata?JSON.parse(JSON.stringify(n.metadata)):{};break}default:break}return e}function am(n){return n.metadata}function ZP(n){let e=YA(n);("image/svg+xml"in n.data||"image/png"in n.data)&&(e.__displayOpenPlotIcon=!0);let t=[];if(n.data)for(let r in n.data)t.push(Mie(r,n.data[r]));return new An.NotebookCellOutput(Rie(t),e)}function Aie(n){let e=Is(n.text),t=n.name==="stderr"?An.NotebookCellOutputItem.stderr:An.NotebookCellOutputItem.stdout;return new An.NotebookCellOutput([t(e)],YA(n))}function Nie(n){if(n.items.length>0)return n.items[0].mime==="application/vnd.code.notebook.stderr"?"stderr":"stdout"}function QV(n){let e=n.items[0];if(!e.data)return{output_type:"error",ename:"",evalue:"",traceback:[]};let t=n.metadata?.originalError,r=JSON.parse(new TextDecoder().decode(e.data));return{output_type:"error",ename:r.name,evalue:r.message,traceback:t?.traceback||Uh(r.stack||r.message||"")}}var Gh=new TextDecoder,ZV=["text/plain","text/markdown","application/vnd.code.notebook.stderr","application/vnd.code.notebook.stdout"];function XP(n,e){if(!e)return"";try{if(n==="application/vnd.code.notebook.error"){let t=Gh.decode(e);return JSON.parse(t)}else if(n.startsWith("text/")||ZV.includes(n)){let t=Gh.decode(e);return Uh(t)}else{if(n.startsWith("image/")&&n!=="image/svg+xml")return YP(e);if(n.toLowerCase().startsWith("application/vnd.holoviews_load.v")&&n.toLowerCase().endsWith("+json")){let t=Gh.decode(e);try{return t.length>0?JSON.parse(t):t}catch{return t}}else if(n.toLowerCase().includes("json")){let t=Gh.decode(e);return t.length>0?JSON.parse(t):t}else return Gh.decode(e)}}catch(t){return p.error(`Failed to convert ${n} output from a buffer ${typeof e}, ${e}`,t),""}}function Mie(n,e){if(!e)return An.NotebookCellOutputItem.text("",n);try{if((n.startsWith("text/")||ZV.includes(n))&&(Array.isArray(e)||typeof e=="string")){let t=Array.isArray(e)?Is(e):e;return An.NotebookCellOutputItem.text(t,n)}else return n.startsWith("image/")&&typeof e=="string"&&n!=="image/svg+xml"?new An.NotebookCellOutputItem(Hh(e),n):typeof e=="object"&&e!==null&&!Array.isArray(e)?An.NotebookCellOutputItem.text(JSON.stringify(e),n):(e=Array.isArray(e)?Is(e):e,An.NotebookCellOutputItem.text(e,n))}catch(t){return p.error(`Failed to convert ${n} output to a buffer ${typeof e}, ${e}`,t),An.NotebookCellOutputItem.text("")}}function YV(n){let e=[];n.items.filter(r=>r.mime==="application/vnd.code.notebook.stderr"||r.mime==="application/vnd.code.notebook.stdout").map(r=>Gh.decode(r.data)).forEach(r=>{let i=r.split(`
|
||
`);e.length&&i.length&&i[0].length>0&&(e[e.length-1]=`${e[e.length-1]}${i.shift()}`);for(let o of i)e.push(o)});for(let r=0;r<e.length-1;r++)e[r]=`${e[r]}
|
||
`;return e.length&&e[e.length-1].length===0&&e.pop(),{output_type:"stream",name:Nie(n)||"stdout",text:e}}function XA(n){let e=n.metadata,t;switch(e?.outputType){case"error":{t=QV(n);break}case"stream":{t=YV(n);break}case"display_data":{t={output_type:"display_data",data:n.items.reduce((i,o)=>(i[o.mime]=XP(o.mime,o.data),i),{}),metadata:e?.metadata||{}};break}case"execute_result":{t={output_type:"execute_result",data:n.items.reduce((i,o)=>(i[o.mime]=XP(o.mime,o.data),i),{}),metadata:e?.metadata||{},execution_count:typeof e?.executionCount=="number"?e?.executionCount:null};break}case"update_display_data":{t={output_type:"update_display_data",data:n.items.reduce((i,o)=>(i[o.mime]=XP(o.mime,o.data),i),{}),metadata:e?.metadata||{}};break}default:{let i=n.items.length===1&&n.items.every(l=>l.mime==="application/vnd.code.notebook.error"),o=n.items.every(l=>l.mime==="application/vnd.code.notebook.stderr"||l.mime==="application/vnd.code.notebook.stdout");if(i)return QV(n);let s=e?.outputType||(o?"stream":"display_data");R("DS_INTERNAL.VSCNOTEBOOK_CELL_TRANSLATION_FAILED",void 0,{outputType:s});let a;s==="stream"?a=YV(n):s==="display_data"?a={data:{},metadata:{},output_type:"display_data"}:a={output_type:s},e?.metadata&&(a.metadata=e.metadata),n.items.length>0&&(a.data=n.items.reduce((l,c)=>(l[c.mime]=XP(c.mime,c.data),l),{})),t=a;break}}return t&&e&&e.transient&&(t.transient=e.transient),t}function Kie(n){return n=n||{output_type:"error",ename:"",evalue:"",traceback:[]},new An.NotebookCellOutput([An.NotebookCellOutputItem.error({name:n?.ename||"",message:n?.evalue||"",stack:(n?.traceback||[]).join(`
|
||
`)})],{...YA(n),originalError:n})}async function ej(n,e,t){let r=!1,i;if(!n)return{changed:r,kernelId:i};n?.language_info?.name||(n.language_info=n.language_info||{name:""});let o;switch(e?.kind){case"connectToLiveRemoteKernel":o=e.kernelModel.language;break;case"startUsingRemoteKernelSpec":case"startUsingLocalKernelSpec":o=e.kernelSpec.language;break;case"startUsingPythonInterpreter":o=ge;break;default:break}if(n.language_info.name!==o&&o&&(n.language_info.name=o,r=!0),t&&"language_info"in t&&t.language_info)(0,XV.default)(n.language_info,t.language_info)||(n.language_info=JSON.parse(JSON.stringify(t.language_info)),r=!0);else{let a=dt(e),l=a?rj(e):void 0,c=await qu(l),u=c?`${c.major}.${c.minor}.${c.micro}`:"";l&&c&&n&&n.language_info&&n.language_info.version!==u?(n.language_info.version=u,r=!0):!l&&n?.language_info&&a&&(n.language_info=void 0,r=!0)}let s=e&&Qh(e)?e.kernelModel:e&&"kernelSpec"in e?e.kernelSpec:void 0;if(e?.kind==="startUsingPythonInterpreter"){let a=e.kernelSpec,l=a.display_name||Pr(e.interpreter)?.environment?.name||"",c="";switch(Nn(a)){case"registeredByOldVersionOfExt":case"registeredByNewVersionOfExt":c="python3";break;case"registeredByNewVersionOfExtForCustomKernelSpec":{c=(a.metadata?.vscode?.originalSpecFile?Ce(nt(a.metadata.vscode.originalSpecFile)):void 0)||a.name,l=a.metadata?.vscode?.originalDisplayName||l;break}default:c=a.name;break}n.kernelspec?.name!==c&&(r=!0,n.kernelspec={name:c,language:ge,display_name:l},"vscode"in n&&delete n.vscode,"interpreter"in n&&delete n.interpreter)}else if(s&&!n.kernelspec){let a=s.metadata?.vscode?.originalSpecFile?Ce(nt(s.metadata.vscode.originalSpecFile)):void 0;n.kernelspec={name:a||s.name||s.display_name||"",display_name:s.metadata?.vscode?.originalDisplayName||s.display_name||s.name||""},s.language&&(n.kernelspec.language=s.language),i=s.id,r=!0}else if(s&&n.kernelspec){let l=(s.metadata?.vscode?.originalSpecFile?Ce(nt(s.metadata.vscode.originalSpecFile)):void 0)||s.name||s.display_name||"",c=s.metadata?.vscode?.originalDisplayName||s.display_name||s.name||"",u=s.language||s.language||"";(n.kernelspec.name!==l||n.kernelspec.language!==u||n.kernelspec.display_name!==c||i!==s.id)&&(r=!0,n.kernelspec.name=l,n.kernelspec.display_name=c,n.kernelspec.language=u,i=s.id);try{delete n.kernelspec.metadata}catch{}}return{changed:r,kernelId:i}}async function rd(n,e,t,r){let i=Dh(t);if(!i){let a=Pi.get(n);r&&a?.started&&a.end(r?void 0:!1,n.executionSummary?.timing?.endTime);return}Pi.get(n)||(r=!0);let o=Pi.getOrCreate(n,e),s=o.executionOrder;o.started||(o.start(n.executionSummary?.timing?.startTime),o.executionOrder=n.executionSummary?.executionOrder||s),await o.appendOutput(i),o.end(r?void 0:!1,n.executionSummary?.timing?.endTime)}function tj(n,e){let t=/Cell\s+(?:\u001b\[.+?m)?In\s*\[(?<executionCount>\d+)\],\s*line (?<lineNumber>\d+).*/,r=/Input\s+?(?:\u001b\[.+?m)?In\s*\[(?<executionCount>\d+)\][^<]*<cell line:\s?(?<lineNumber>\d+)>.*/,i;for(let s of n){let a=t.exec(s)??r.exec(s);if(a&&a.groups){i=parseInt(a.groups.lineNumber);break}}let o;if(i&&i>0&&i<=e.document.lineCount){let s=e.document.lineAt(i-1),a=s.text.split("#")[0].trimEnd().length;o=new An.Range(new An.Position(s.lineNumber,s.firstNonWhitespaceCharacterIndex),new An.Position(s.lineNumber,a))}return o}function QS(n){if(n.hasOwnProperty("text/html")){let e=n["text/html"];typeof e=="string"&&e.includes('<iframe id="tensorboard-frame-')&&(n["text/html"]=e.replace(/new URL\((.*), window.location\)/,'new URL("http://localhost")'))}return n}var lm="{connection_file}";function nj(n){return n.argv.findIndex(e=>e.includes(lm))}var Yh="-jvsc-",Fie=/^python\d*.?\d*$/;async function Ps(n,e){return Lie(await rN(n),n,e)}function Lie(n,e,t){let r=e?{path:ke(e.uri)}:{},i={name:n,language:"python",display_name:(e?Pr(e)?.environment?.name:"")||"Python 3",metadata:{interpreter:r},argv:["python","-m","ipykernel_launcher","-f",lm],env:{},resources:{}},o=t&&i.name?zt(t,i.name,"kernel.json"):void 0;return new ed(i,o?ke(o):void 0,ke(e?.uri),"registeredByNewVersionOfExt")}function ij(n){let e=JSON.parse(JSON.stringify(n));return e.env&&Object.keys(e.env).forEach(r=>{if(e.env){let i=e.env[r];i!=null&&(e.env[r]=i.toString())}}),e}function ek(n){let e=n?.kernelspec;return n?.language_info?.name&&n.language_info.name!==ge?!1:e?.name?.includes(ge)?!0:e?.language===ge||n?.language_info?.name===ge}function XS(n){let e=n.metadata?.vscode?.originalSpecFile||n.metadata?.originalSpecFile,t=e?Ce(nt(e)):n.name||"",r=n.metadata?.vscode?.originalDisplayName||n.display_name||"";return!!(t.toLowerCase().match(Fie)||r.toLowerCase()==="python 3 (ipykernel)"||r.toLowerCase()==="python 3")}function Uie(n){if(n.includes(Yh)){let e=/[a-f0-9]$/;if(n.substring(n.lastIndexOf(Yh)+Yh.length).search(e)!==-1){let t=n.substring(0,n.lastIndexOf(Yh));return t.toLowerCase().endsWith(".ipynb")||t.toLowerCase().endsWith(".py")?t:`${t}.ipynb`}}return n}function tk(n){return n.kind!=="connectToLiveRemoteKernel"}function Qh(n){return n.kind==="connectToLiveRemoteKernel"}function ki(n,e,t){e=ZA(n)?e:void 0;let r=n.name,i=Nn(n);if(i&&r.includes(YS)&&(r=r.substring(r.indexOf(YS)),i==="registeredByNewVersionOfExtForCustomKernelSpec")){let c=n.metadata?.vscode?.originalSpecFile||n.metadata?.originalSpecFile;c&&(r=`${r}#${Ce(nt(c))}`)}let o="";ZA(n)?o=n.argv.slice(1).filter(c=>!["-f","{connection_file}"].includes(c)).join("#").toLowerCase():o=n.argv.join("#").toLowerCase();let s=t?`${t}.`:"",a=ke(ol(n.interpreterPath?xc.Uri.file(n.interpreterPath):xc.Uri.file(n.executable))),l=ke(ol(e?.uri))||"";return`${s}${n.id||""}.${r}.${a}.${l}.${o}`}function it(n){let e=Wie(n);if(!n)return e;switch(n.kind){case"connectToLiveRemoteKernel":{let r=Uie(n.kernelModel?.notebook?.path||n.kernelModel?.model?.path||"");return r?`${e} (${r})`:e}case"startUsingRemoteKernelSpec":case"startUsingLocalKernelSpec":if(n.interpreter&&Ve(n.interpreter)!=="Unknown"){let r=Ro(n.interpreter);if(n.kernelSpec.language===ge){let i=`Python ${Bu(Ji(n.interpreter))||""}`.trim();return r?`${e} (${i})`:e}else return r?`${e} (${r})`:e}else return e;case"startUsingPythonInterpreter":let t=(Bu(Ji(n.interpreter))||"").trim();if(n.interpreter&&Ve(n.interpreter)!=="Unknown"){if(n.kernelSpec.display_name&&Nn(n.kernelSpec)==="registeredByNewVersionOfExtForCustomKernelSpec")return n.kernelSpec.display_name;let r=Vr(n.interpreter),i=t.trim()?`Python ${t}`:"Python",o=Ro(n.interpreter);return r&&o?o:o?`${o} (${i})`:i}else return`Python ${t}`.trim()}return e}function Wie(n){if(!n)return"";let e=n.kind==="connectToLiveRemoteKernel"?n.kernelModel.display_name:n.kernelSpec?.display_name,t=n.kind==="connectToLiveRemoteKernel"?n.kernelModel.name:n.kernelSpec?.name,r=n.kind==="startUsingPythonInterpreter"?qr(n.interpreter):void 0;return[e,t,r,""].find(i=>typeof i=="string"&&i.length>0)||""}function Xh(n,e=""){return n?n.kind==="connectToLiveRemoteKernel"?n.kernelModel.name:n.kernelSpec?.name:e}function Vie(n){if(!n)return;let e=Qh(n)?n.kernelModel:void 0,t=tk(n)?n.kernelSpec:void 0;if(n.kind==="startUsingPythonInterpreter"||(n.kind==="startUsingRemoteKernelSpec"||n.kind==="startUsingLocalKernelSpec")&&n.kernelSpec.language===ge){let r=t?.metadata?.interpreter?.path||t?.interpreterPath||t?.executable;if(r==="/python"||r==="python"){let i=Pr(n.interpreter);return i?.environment?.folderUri||(i?xc.Uri.file(i.path):void 0)}return r?xc.Uri.file(r):void 0}else{let r=e?.executable||t?.executable||t?.metadata?.interpreter?.path||t?.interpreterPath;return r?xc.Uri.file(r):void 0}}function eN(n,e=""){if(n?.kind==="connectToLiveRemoteKernel"){let t;if(typeof n.kernelModel.lastActivityTime=="string")try{t=new Date(n.kernelModel.lastActivityTime)}catch(r){p.debug(`Error parsing date ${r}`)}else t=n.kernelModel.lastActivityTime;return y.jupyterSelectLiveRemoteKernelDescription(t,n.kernelModel.numberOfConnections)}return e}function tN(n,e){if(n?.kind==="connectToLiveRemoteKernel")return;let t=Vie(n),r=xc.workspace.workspaceFolders?xc.workspace.workspaceFolders:[];return t?j(t,r,e.homeDir):""}function rj(n){if(!n)return;if(n.interpreter)return n.interpreter;let e=Qh(n)?n.kernelModel:void 0;if(e?.metadata?.interpreter)return $S(e?.metadata?.interpreter,"");let t=tk(n)?n.kernelSpec:void 0;return $S(t?.metadata?.interpreter,"")}function Zh(n){return n.kind==="startUsingLocalKernelSpec"||n.kind==="startUsingPythonInterpreter"&&n.kernelSpec&&Nn(n.kernelSpec)==="registeredByNewVersionOfExtForCustomKernelSpec"}function dt(n){if(!n)return!1;if(n.kind==="startUsingPythonInterpreter")return!0;let e=Qh(n)?n.kernelModel:void 0,t=tk(n)?n.kernelSpec:void 0;return e?.language===ge||ZA(t)}function ZA(n){return(n?.language||"").toLowerCase()===ge}function po(n){if(!n)return;if(n.kind==="startUsingPythonInterpreter")return ge;let e=Qh(n)?n.kernelModel:void 0,t=tk(n)?n.kernelSpec:void 0;return e?.language||oj(t)}function rk(n){if(!n)return;let e=n.kernelspec;return oj(e)||n.language_info?.name}function oj(n){return n?.language}var YS="jvsc74a57bd0";async function rN(n){let t=(Bu(Ji(n))||"3").replace(/\./g,""),r=n?`python${t}`:"";return n?`${r}${YS}${await sl(n)}`:"python3"}function Nn(n){if(n.isRegisteredByVSC)return n.isRegisteredByVSC;if(!n.name)return;let e=n.metadata?.vscode?.originalSpecFile||n.metadata?.originalSpecFile,t=e?Ce(nt(e)):n.name,r=XS({...n,name:t})?Object.keys(n.env||{}).length>0:typeof e=="string"&&!e.includes(YS);if(n.name.includes(YS))return r?"registeredByNewVersionOfExtForCustomKernelSpec":"registeredByNewVersionOfExt";let i=/[a-f0-9]{32}$/;if(n.metadata?.interpreter&&n.name.toLowerCase().search(i)!==-1)return"registeredByOldVersionOfExt"}function sj(n,e){return!n&&!e?!0:!n&&e||n&&!e?!1:n?.id===e?.id}async function pn(n,e,t){p.trace(`Executing silently Code (${n.status}) = ${Oe(e.substring(0,100)).join("\\n")}`);let r=require("@jupyterlab/services"),i=n.requestExecute({code:e.replace(/\r\n/g,`
|
||
`),silent:!1,stop_on_error:!1,allow_stdin:!0,store_history:!1},!0),o=[];i.onIOPub=a=>{if(r.KernelMessage.isStreamMsg(a))if(p.ci(`Got io pub message (stream), ${Oe(a.content.text.substr(0,100)).join("\\n")}`),o.length>0&&o[o.length-1].output_type==="stream"&&o[o.length-1].name===a.content.name){let l=o[o.length-1];l.text+=a.content.text}else{let l={name:a.content.name,text:a.content.text,output_type:"stream"};o.push(l)}else if(r.KernelMessage.isExecuteResultMsg(a)){p.ci("Got io pub message (execresult)}");let l={data:a.content.data,execution_count:a.content.execution_count,metadata:a.content.metadata,output_type:"execute_result"};o.push(l)}else if(r.KernelMessage.isDisplayDataMsg(a)){p.ci("Got io pub message (displaydata)}");let l={data:a.content.data,metadata:a.content.metadata,output_type:"display_data"};o.push(l)}else if(r.KernelMessage.isErrorMsg(a)){if(p.ci(`Got io pub message (error), ${a.content.ename},${a.content.evalue}, ${a.content.traceback.join().substring(0,100)}}`),t?.traceErrors){let c=`${t.traceErrorsMessage||"Failed to execute (silent) code against the kernel"},
|
||
Code = ${e}
|
||
Error details: `;p.error(`${c} ${a.content.ename},${a.content.evalue}, ${a.content.traceback.join()}`)}let l={ename:a.content.ename,evalue:a.content.evalue,traceback:a.content.traceback,output_type:"error"};o.push(l)}else p.ci(`Got io pub message (${a.header.msg_type})`)},await i.done;let s=Oe(e.substring(0,100)).join("\\n");return t&&jie(o,t,s),p.trace(`Executing silently Code (completed) = ${s} with ${o.length} output(s)`),o}function aj(n,e,t,r){e=e.replace(/\r\n/g,`
|
||
`);let i=require("@jupyterlab/services"),o=n.requestExecute({code:e,silent:!1,stop_on_error:!1,allow_stdin:!1,store_history:!1},!0),s=Ft(t);return o.onIOPub=a=>{s(),i.KernelMessage.isStreamMsg(a)?r(uo({output_type:"stream",name:a.content.name,text:a.content.text})):i.KernelMessage.isExecuteResultMsg(a)?r(uo({output_type:"execute_result",data:a.content.data,metadata:a.content.metadata,transient:a.content.transient,execution_count:a.content.execution_count})):i.KernelMessage.isDisplayDataMsg(a)?r(uo({output_type:"display_data",data:QS(a.content.data),metadata:a.content.metadata,transient:a.content.transient})):i.KernelMessage.isUpdateDisplayDataMsg(a)?r(uo({output_type:"display_data",data:QS(a.content.data),metadata:a.content.metadata,transient:a.content.transient})):i.KernelMessage.isErrorMsg(a)?r(uo({output_type:"error",ename:a.content.ename,evalue:a.content.evalue,traceback:a.content.traceback})):i.KernelMessage.isExecuteInputMsg(a)||i.KernelMessage.isStatusMsg(a)||p.warn(`Got unexpected io pub message when executing code sillenty (${a.header.msg_type})`)},o}function jie(n,e,t){n.filter(r=>r.output_type==="error").forEach(r=>{let i=r,o=`${i.ename}: ${i.evalue}
|
||
${i.traceback.map(a=>` ${a}`).join(`
|
||
`)}`,s=`${e.traceErrorsMessage||""} ${t} ${o}`;e.traceErrors?p.error(s):p.warn(s),e.telemetryName&&R(e.telemetryName)})}var nk="application/vnd.vscode.chat_message",lj=`
|
||
def __VSCODE_inject_module():
|
||
|
||
def __VSCODE_call_function(function, callback, data=None):
|
||
__VSCODE_send_chat_message__(function, data, callback=callback)
|
||
|
||
def __VSCODE_send_chat_message__(function, data, callback):
|
||
requests = {}
|
||
try:
|
||
requests = __VSCODE_send_chat_message__.__requests
|
||
except Exception:
|
||
__VSCODE_send_chat_message__.__requests = requests
|
||
|
||
import uuid as __VSCODE_send_chat_message__uuid
|
||
import IPython.display as __VSCODE_send_chat_message__ipython_display
|
||
|
||
id = str(__VSCODE_send_chat_message__uuid.uuid4())
|
||
requests[id] = callback
|
||
data_is_none = data is None
|
||
__VSCODE_send_chat_message__ipython_display.display({"${nk}": data}, metadata={"id":id, "function": function, "dataIsNone": data_is_none}, raw=True)
|
||
|
||
del __VSCODE_send_chat_message__ipython_display
|
||
del __VSCODE_send_chat_message__uuid
|
||
|
||
def __VSCODE_on_chat_message(id, data):
|
||
requests = {}
|
||
try:
|
||
requests = __VSCODE_send_chat_message__.__requests
|
||
except Exception:
|
||
__VSCODE_send_chat_message__.__requests = requests
|
||
|
||
if id in requests:
|
||
requests[id](data)
|
||
del requests[id]
|
||
else:
|
||
raise NotImplementedError(f"Callback not found for message {id}")
|
||
|
||
import sys as __VSCODE_send_chat_message__sys
|
||
import IPython as __VSCODE_send_chat_message__IPython
|
||
chat = type(__VSCODE_send_chat_message__IPython)("chat")
|
||
chat.send_message = __VSCODE_send_chat_message__
|
||
chat.call_function = __VSCODE_call_function
|
||
chat.__on_message = __VSCODE_on_chat_message
|
||
__VSCODE_send_chat_message__sys.modules["vscode"] = type(__VSCODE_send_chat_message__IPython)("vscode")
|
||
__VSCODE_send_chat_message__sys.modules["vscode"].chat = chat
|
||
del __VSCODE_send_chat_message__sys
|
||
del __VSCODE_send_chat_message__IPython
|
||
|
||
|
||
__VSCODE_inject_module()
|
||
del __VSCODE_inject_module
|
||
`,Jie=[[new RegExp("\\\\","g"),"\\\\"],[new RegExp('"',"g"),'\\"'],[new RegExp("'","g"),"'"],[new RegExp("\\\b","g"),"\\b"],[new RegExp("\\f","g"),"\\f"],[new RegExp("\\n","g"),"\\n"],[new RegExp("\\r","g"),"\\r"],[new RegExp("\\t","g"),"\\t"]];function cj(n,e){let t=ZS(e),r=typeof t=="string"?`"${t}"`:"None";return`
|
||
import vscode as __vscode
|
||
try:
|
||
__vscode.chat.__on_message('${n}', ${r})
|
||
finally:
|
||
del __vscode
|
||
`}function ZS(n){if(typeof n!="string")return n;for(let[e,t]of Jie)n=n.replace(e,t);return n}var eC=new WeakMap;function ik(n,e,t){let i=am(t)?.transient?.display_id;if(t.metadata?.outputType!=="display_data"||!i)return;let o=eC.get(e)||new Map;eC.set(e,o);let s=o.get(n)||[];o.set(n,s),s.push(i),s.length>1e3&&s.shift()}function uj(n,e){let t=eC.get(n)||new Map;for(let r of t.values())if(r.includes(e))return!0;return!1}function dj(n,e,t){return((eC.get(e)||new Map).get(n)||[]).includes(t)}function pj(n,e){let t=eC.get(n)||new Map;for(let r of t.values()){let i=r.indexOf(e);i>=0&&r.splice(i,1)}}var gn=require("vscode");var eg=new Map,mj=new Set,ak=new gn.EventEmitter;Zs(ak);function fj(n){return ak.event(n)}async function hj(n){if(!gn.workspace.isTrusted)return{accessAllowed:!1};if(n===Fe)return{accessAllowed:!0};let e=eg.get(n);return e||(e=Bie(n),eg.set(n,e),e.then(({result:t})=>{(t==="learnMore"||t==="cancelled")&&eg.get(n)===e&&(eg.delete(n),mj.add(n))})),e.then(({result:t})=>({accessAllowed:t==="allowed"}))}async function Bie(n){let e=await nN();if(e.get(n)===!0)return{result:"allowed"};if(e.get(n)===!1)return{result:"denied"};let t=gn.extensions.getExtension(n)?.packageJSON?.displayName;if(!t)return p.error(`Kernel API access revoked, as extension ${n} does not exist!`),{result:"denied"};let r=gn.l10n.t("Allow"),i=gn.l10n.t("Deny"),o=await gn.window.showInformationMessage(gn.l10n.t("Do you want to grant Kernel access to the extension {0} ({1})?",t,n),{modal:!0,detail:gn.l10n.t("This allows the extension to execute code against Jupyter Kernels.")},r,de.learnMore,i);switch(o===de.learnMore?gn.env.openExternal(gn.Uri.parse("https://aka.ms/vscodeJupyterKernelApiAccess")).then(h,h):(o===r||o===i)&&await $ie(n,o===r),o){case r:return{result:"allowed"};case de.learnMore:return{result:"learnMore"};case i:return{result:"denied"};default:return{result:"cancelled"}}}async function gj(){let n=new Set,[e]=await Promise.all([nN().then(t=>new Map(t)),...Array.from(eg.entries()).map(async([t,r])=>{(await r).result!=="allowed"&&n.add(t)})]);return n.forEach(t=>e.set(t,!1)),mj.forEach(t=>e.set(t,e.get(t)===!0)),e}var ok="API.Access",nd;async function nN(n=!1){let e=be.instance.get(et);if(e.extensionMode===gn.ExtensionMode.Test)return new Map;if(Ft(()=>{be.instance.get(M).push(e.secrets.onDidChange(i=>{i.key===ok&&(nd=void 0)}))})(),nd&&!n)return nd;let t="";try{return t=await e.secrets.get(ok),!t||t.length===0?new Map:(nd=new Map(Object.entries(JSON.parse(t))),nd)}catch(r){return p.error(`Failed to parse API access information ${t}`,r),new Map}}var sk=Promise.resolve();async function vj(n){return sk=sk.then(async()=>{await Promise.all(Array.from(eg.entries()).map(async([t,r])=>{let i=await r;i.result=n.includes(t)===!0?"allowed":"denied"})),nd=new Map(n.map(t=>[t,!0]));let e=be.instance.get(et);if(e.extensionMode!==gn.ExtensionMode.Test)try{await e.secrets.store(ok,JSON.stringify(Object.fromEntries(nd))),ak.fire()}catch(t){p.error(`Failed to update API access information ${JSON.stringify(Object.fromEntries(nd))}`,t)}})}async function $ie(n,e){return sk=sk.then(async()=>{let t=be.instance.get(et);if(t.extensionMode===gn.ExtensionMode.Test)return;let r=await nN(!0);if(e!==r.get(n)){r.set(n,e);try{await t.secrets.store(ok,JSON.stringify(Object.fromEntries(r))),ak.fire()}catch(i){p.error(`Failed to store API access information ${JSON.stringify(Object.fromEntries(r))}`,i)}}})}var yj=" (Interactive)",ot=Symbol("IControllerRegistration");var lk=Symbol("IRemoteNotebookKernelSourceSelector"),ck=Symbol("ILocalNotebookKernelSourceSelector"),cm=Symbol("ILocalPythonNotebookKernelSourceSelector"),id=Symbol("IConnectionDisplayData");var oN=class extends RE{constructor(t,r){super();this.controller=t;this.notebook=r}dispose(){this.disposeExistingExecution()}createReferencedObject(t,...r){return this.existingExecutions||(this.existingExecutions=this.controller.createNotebookExecution(this.notebook),this.existingExecutions.start()),this.existingExecutions}destroyReferencedObject(t,r){this.disposeExistingExecution()}disposeExistingExecution(){try{this.existingExecutions?.end()}catch{}this.existingExecutions=void 0}},sN=class n{constructor(e,t,r){this.extensionId=e;this.kernel=t;this.executionRefCountedDisposableFactory=r?new oN(r,t.notebook):void 0;let i=kn.extensions.getExtension(e)?.packageJSON?.displayName||e;this.notebook=kn.workspace.notebookDocuments.find(o=>o.uri.toString()===t.resourceUri?.toString()),this.controllerDisplayName=it(t.kernelConnectionMetadata),this.title=kn.l10n.t("Executing code in {0} from {1}",this.controllerDisplayName,i),this.eventHandler=kn.window.onDidChangeVisibleNotebookEditors(this.showProgressImpl,this)}static{this.notificationsPerExtension=new WeakMap}dispose(){this.eventHandler.dispose(),this.disposable?.dispose(),this.executionRefCountedDisposableFactory?.dispose()}show(){let e=this.executionRefCountedDisposableFactory?.acquire("");if(this.deferred&&!this.deferred.completed){let t=this.deferred;this.deferred=re(),t.resolve()}else this.deferred=re(),this.showProgress().catch(h);return this.disposable=new kn.Disposable(()=>{e?.dispose(),this.deferred?.resolve()})}async showProgress(){await gi(1e3),!(!this.deferred||this.deferred.completed||this.displayInProgress)&&(this.shouldDisplayProgress=!0,await Promise.all([this.showProgressImpl(),this.waitUntilCompleted()]),this.shouldDisplayProgress=!1)}async showProgressImpl(){let e=n.notificationsPerExtension.get(this.kernel)||new Set;n.notificationsPerExtension.set(this.kernel,e),!e.has(this.extensionId)&&(e.add(this.extensionId),!(!this.notebook||!this.shouldDisplayProgress)&&kn.window.visibleNotebookEditors.some(t=>t.notebook===this.notebook)&&(this.displayInProgress=!0,await kn.window.withProgress({location:kn.ProgressLocation.Notification,title:this.title},async()=>this.waitUntilCompleted()),this.displayInProgress=!1))}async waitUntilCompleted(){let e=this.deferred;for(;e&&!e.completed;)await e.promise,e=this.deferred}},aN=class n extends Qt{constructor(t,r,i,o){super();this.extensionId=t;this.kernel=r;this.execution=i;this._onDidChangeStatus=this._register(new kn.EventEmitter);this._onDidReceiveDisplayUpdate=this._register(new kn.EventEmitter);this.progress=this._register(new sN(t,r,o)),this._register(sa(r.onDisposed)(()=>this.progress.dispose())),this.language=r.kernelConnectionMetadata.kind==="connectToLiveRemoteKernel"?ge:r.kernelConnectionMetadata.kernelSpec.language||ge,this._register(this.kernel.onStatusChanged(()=>this._onDidChangeStatus.fire(this.kernel.status))),this._register(i.onDidReceiveDisplayUpdate(a=>{let l=this.kernel.session,c=am(a);c?.outputType==="display_data"&&c?.transient?.display_id&&l&&dj(this.extensionId,l,c?.transient?.display_id)&&this._onDidReceiveDisplayUpdate.fire(a)}));let s=this;this._api=Object.freeze({language:this.language,get status(){return s.kernel.status},onDidChangeStatus:s.onDidChangeStatus.bind(this),get onDidReceiveDisplayUpdate(){if(![Fe,aU].includes(t))throw new Error(`Proposed API is not supported for extension ${t}`);return s.onDidReceiveDisplayUpdate.bind(this)},executeCode:(a,l)=>this.executeCode(a,l),executeChatCode:(a,l,c)=>this.executeChatCode(a,l,c)})}get status(){return this.kernel.status}get onDidChangeStatus(){return this._onDidChangeStatus.event}get onDidReceiveDisplayUpdate(){return this._onDidReceiveDisplayUpdate.event}static createApiKernel(t,r,i,o){let s=new n(t,r,i,o);return be.instance.get(M).push(s),s._api}async checkAccess(){if(this.extensionId===Fe)return;if(this.accessAllowed||(this.accessAllowed=this.doCheckAccess(),this._register(fj(()=>this.accessAllowed=void 0))),!await this.accessAllowed)throw new Error(kn.l10n.t("Access to Jupyter Kernel has been revoked"))}async doCheckAccess(){let r=(await hj(this.extensionId)).accessAllowed;return R("DATASCIENCE.JUPYTER_NEW_KERNELS_API_USAGE",void 0,{extensionId:this.extensionId,pemUsed:"getKernel",accessAllowed:r}),r}async*executeCode(t,r){await this.checkAccess();for await(let i of this.executeCodeInternal(t,void 0,r))yield i}async*executeChatCode(t,r,i){if(await this.checkAccess(),!["ms-vscode.dscopilot-agent",Fe].includes(this.extensionId.toLowerCase()))throw new Error(`Proposed API is not supported for extension ${this.extensionId}`);if(!dt(this.kernel.kernelConnectionMetadata))throw new Error("Chat code execution is only supported for Python kernels");for await(let s of this.executeCodeInternal(t,r,i))yield s}async*executeCodeInternal(t,r={},i){let o=!1,s={executionCount:this.execution.executionCount,requestSentAfter:0,requestAcknowledgedAfter:0,cancelledAfter:0,duration:0},a={kernelId:"",extensionId:this.extensionId,cancelled:!1,requestSent:!1,requestAcknowledged:!1,cancelledBeforeRequestSent:!1,cancelledBeforeRequestAcknowledged:!1,mimeTypes:"",failed:!1},l=new Ue,c=new Set;if(qie(this.extensionId,this.kernel,"executeCode",s.executionCount).catch(h),this.kernel.disposed)throw a.failed=!0,iN(this.kernel,s,a).catch(h),new Error("Kernel is disposed");if(!this.kernel.session?.kernel)throw a.failed=!0,iN(this.kernel,s,a).catch(h),this.kernel.status==="dead"||this.kernel.status==="terminating"?new Error("Kernel is dead or terminating"):new Error("Kernel connection not available to execute 3rd party code");let u=[];u.push({dispose:()=>{s.duration=l.elapsedTime,a.mimeTypes=Array.from(c).join(","),o=!0,iN(this.kernel,s,a).catch(h)}});let d=be.instance.get(De).getKernelExecution(this.kernel),f={started:new kn.EventEmitter,executionAcknowledged:new kn.EventEmitter};f.started.event(()=>{a.requestSent=!0,s.requestSentAfter=l.elapsedTime,!i.isCancellationRequested&&this.extensionId!==Fe&&u.push(this.progress.show())},this,u),f.executionAcknowledged.event(()=>{a.requestAcknowledged=!0,s.requestAcknowledgedAfter=l.elapsedTime},this,u),i.onCancellationRequested(()=>{o||(a.cancelled=!0,s.cancelledAfter=l.elapsedTime,a.cancelledBeforeRequestSent=!a.requestSent,a.cancelledBeforeRequestAcknowledged=!a.requestAcknowledged,p.debug(`Code execution cancelled by extension ${this.extensionId}`))},this,u);try{for await(let g of d.executeCode(t,this.extensionId,f,i))if(ik(this.extensionId,this.kernel.session,g),g.items.forEach(b=>c.add(b.mime)),r&&bj(g))for await(let b of this.handleChatOutput(g,d,f,c,r,i))yield b;else yield g}finally{z(u)}}async*handleChatOutput(t,r,i,o,s={},a){let l=t.items.find(E=>E.mime===nk);if(!l)return;let c=(t.metadata||{}).metadata,u=c.function,d=c.id,f=c.dataIsNone?void 0:new TextDecoder().decode(l.data),g=s[u];if(!g)throw new Error(`Chat Function ${u} not found`);let b=await g(f),I=cj(d,b);for await(let E of r.executeCode(I,this.extensionId,i,a))if(E.items.forEach(x=>o.add(x.mime)),bj(E))for await(let x of this.handleChatOutput(E,r,i,o,s,a))yield x;else yield E}};function bj(n){return n.items.some(e=>e.mime===nk)}async function qie(n,e,t,r){let i=await at(e.id);R("DATASCIENCE.JUPYTER_NEW_KERNEL_API_USAGE",{executionCount:r},{kernelId:i,pemUsed:t,extensionId:n})}async function iN(n,e,t){t.kernelId=await at(n.id),R("DATASCIENCE.JUPYTER_NEW_KERNEL_API_EXEC",e,t)}function uk(n,e){let t=be.instance.get(De),r=be.instance.get(ot).getSelected(e.notebook)?.controller;return aN.createApiKernel(n,e,t.getKernelExecution(e),r)}var Ij=new WeakMap;function Cj(n){return{async getKernel(e){let t,r=be.instance.get(De),i=Sj.workspace.notebookDocuments.find(l=>l.uri.toString()===e.toString()),o=r.get(i||e);if(!o||!o.startedAtLeastOnce){R("DATASCIENCE.JUPYTER_NEW_KERNELS_API_USAGE",void 0,{extensionId:n,pemUsed:"getKernel",accessAllowed:t});return}let s=r.getKernelExecution(o);if(!_t(o.kernelConnectionMetadata)&&s.executionCount===0){R("DATASCIENCE.JUPYTER_NEW_KERNELS_API_USAGE",void 0,{extensionId:n,pemUsed:"getKernel",accessAllowed:t});return}let a=Ij.get(o)||uk(n,o);return Ij.set(o,a),a}}}var od=Symbol("JupyterServerHelper"),dk=Symbol("INotebookImporter"),tg=Symbol("INotebookExporter"),sd=Symbol("IJupyterInterpreterDependencyManager"),rg=Symbol("INbConvertInterpreterDependencyChecker"),pk=Symbol("INbConvertExportToPythonService"),ng=Symbol("IJupyterServerProvider"),$t=Symbol("IJupyterServerUriStorage"),mk=Symbol("IJupyterKernelService"),ad=Symbol("IJupyterRequestAgentCreator"),Dc=Symbol("IJupyterRequestCreator"),fk=Symbol("INotebookStarter"),um=Symbol("ILiveRemoteKernelConnectionUsageTracker"),hk=Symbol("IJupyterRemoteCachedKernelValidator"),jt=Symbol("IJupyterServerProviderRegistry");function gk(n,e,t,r,i){R("DATASCIENCE.JUPYTER_API_USAGE",void 0,{clientExtId:r,pemUsed:"createJupyterServerCollection"});let s=i.get(jt).createJupyterServerCollection(r,n,oh(e),t);return{dispose:()=>{s?.dispose()},get id(){return n},set label(l){s.label=oh(l)},get label(){return s.label},set documentation(l){s.documentation=l},get documentation(){return s.documentation},set commandProvider(l){s.commandProvider=l},get commandProvider(){return s.commandProvider}}}var wj=!1;function Ej(n,e){if(wj)return;wj=!0,e.get(Ht).setApi(n)}var dd=require("vscode");var ig=k(N());var fl=k(N());var ld=class extends qe{constructor(t,r){super("remotejupyterserveruriprovider",r.message||r.toString());this.serverProviderHandle=t;this.originalError=r}};var Oo=class extends qe{constructor(e){super("jupyterselfcert",e)}static isSelfCertsError(e){return e.message.indexOf("reason: self signed certificate")>=0}};var pl=class extends qe{constructor(e){super("jupyterselfexpiredcert",e)}static isSelfCertsExpiredError(e){return e.message.indexOf("reason: certificate has expired")>=0}};var Gr=Symbol("IDataScienceErrorHandler"),xn=class extends qe{constructor(t,r,i){super(t,r);this.kernelConnectionMetadata=i}},ml=class extends rn{constructor(t,r,i){super(t,r);this.kernelConnectionMetadata=i}};var xi=class extends qe{constructor(t,r,i){super("remotejupyterserverconnection",y.remoteJupyterConnectionFailedWithServerWithError(Pj(t),i.message||i.toString()));this.url=t;this.serverProviderHandle=r;this.originalError=i;this.baseUrl=Pj(t)}};function Pj(n){let e=new URL(n);return`${e.protocol}//${e.host}/`}var tC=require("vscode");var kj=require("vscode");var cd=class n extends jn{constructor(t){super();this.serverSettings=t;this._isDisposing=!1;this.kernelSpecManager=new this.jupyterlab.KernelSpecManager({serverSettings:this.serverSettings}),this.kernelManager=new this.jupyterlab.KernelManager({serverSettings:this.serverSettings}),this.sessionManager=new this.jupyterlab.SessionManager({serverSettings:this.serverSettings,kernelManager:this.kernelManager}),this.contentsManager=new this.jupyterlab.ContentsManager({serverSettings:this.serverSettings})}get jupyterlab(){return this._jupyterlab||(this._jupyterlab=require("@jupyterlab/services")),this._jupyterlab}static create(t){return new n(t)}dispose(){this.isDisposed||this._isDisposing||(this._isDisposing=!0,(async()=>{p.trace("Disposing Jupyter Lab Helper");try{this.contentsManager&&(p.trace("SessionManager - dispose contents manager"),this.contentsManager.dispose()),this.sessionManager&&!this.sessionManager.isDisposed&&(p.trace("ShutdownSessionAndConnection - dispose session manager"),await fr(1e4,this.sessionManager.ready),this.sessionManager.dispose()),this.kernelManager?.isDisposed||this.kernelManager?.dispose(),this.kernelSpecManager?.isDisposed||this.kernelSpecManager?.dispose()}catch(t){p.error("Exception on Jupyter Lab Helper shutdown: ",t)}finally{p.trace("Finished disposing Jupyter Lab Helper")}})().catch(h).finally(()=>super.dispose()))}async getRunningSessions(){if(!this.sessionManager)return[];await fr(1e4,this.sessionManager.ready).catch(h),await this.sessionManager.refreshRunning();let t=[],r=this.sessionManager.running(),i=r.next();for(;i;)t.push(i),i=r.next();return t}async getRunningKernels(){let t=await this.jupyterlab.KernelAPI.listRunning(this.serverSettings),r=new Set;return t.map(i=>{let o=i;return{id:i.id,name:i.name,lastActivityTime:o.last_activity?new Date(Date.parse(o.last_activity.toString())):new Date,numberOfConnections:o.connections?parseInt(o.connections.toString(),10):0}}).filter(i=>r.has(i.id)?!1:(r.add(i.id),!0))}async getKernelSpecs(){if(!this.serverSettings||!this.sessionManager||!this.contentsManager)throw new dn;try{let t=new Ue,r=this.kernelSpecManager;if(!r)return p.error(`No SessionManager to enumerate kernelspecs (no specs manager). Returning a default kernel. Specs ${JSON.stringify(this.kernelSpecManager?.specs?.kernelspecs||{})}.`),R("DATASCIENCE.JUPYTER_KERNEL_SPEC_FETCH_FAILURE",void 0,{failed:!0,reason:"NoSpecsManager"}),[await Ps()];let i={wasSessionManagerReady:this.sessionManager.isReady,wasSpecsManagerReady:r.isReady,sessionManagerReady:this.sessionManager.isReady,specsManagerReady:r.isReady,waitedForChangeEvent:!1},o=(c={})=>r.specs&&Object.keys(r.specs.kernelspecs).length?r.specs.kernelspecs:c,s=o();await fr(1e4,this.sessionManager.ready),i.sessionManagerReady=this.sessionManager.isReady,await fr(1e4,r.refreshSpecs()),i.specsManagerReady=r.isReady;let a=!1;if(r&&Object.keys(r.specs?.kernelspecs||{}).length===0){let c=[],u=re(),d=u.resolve.bind(u);r.specsChanged.connect(d),c.push(new kj.Disposable(()=>r.specsChanged.disconnect(d)));let f=Promise.all([u.promise,r.ready,r.refreshSpecs(),this.sessionManager.ready]);await fr(1e4,f),i.waitedForChangeEvent=!0,u.completed||(a=!0,R("DATASCIENCE.JUPYTER_KERNEL_SPEC_FETCH_FAILURE",void 0,{failed:!0,sessionManagerReady:this.sessionManager.isReady,specsManagerReady:r.isReady,reason:r.isReady?this.sessionManager.isReady?"SpecsDidNotChangeInTime":"SessionManagerIsNotReady":"SpecManagerIsNotReady"})),z(c)}let l=o(s);if(Object.keys(l||{}).length){let c=[];return Object.entries(l).forEach(([u,d])=>{d&&c.push(new ed(d))}),R("DATASCIENCE.JUPYTER_KERNEL_SPEC_FETCH_FAILURE",{duration:t.elapsedTime},i),c}else return p.error(`Jupyter Lab Helper cannot enumerate kernelspecs. Returning a default kernel. Specs ${JSON.stringify(l)}.`),a||R("DATASCIENCE.JUPYTER_KERNEL_SPEC_FETCH_FAILURE",void 0,{failed:!0,reason:"NoSpecsEventAfterRefresh"}),[await Ps()]}catch(t){return p.error("Jupyter Lab Helper:getKernelSpecs failure: ",t),[]}}};var on=class{constructor(e,t,r,i,o){this.jupyterPickerRegistration=e;this.configService=t;this.errorHandler=r;this.requestAgentCreator=i;this.requestCreator=o}async createConnectionInfo(e){let t=await this.getJupyterServerUri(e);if(!t)throw new Error(`Unable to get resolved server information for ${e.extensionId}:${e.id}:${e.handle}`);let r={baseUrl:t.connectionInformation.baseUrl.toString(!0),displayName:t.label,token:t.connectionInformation.token||"",authorizationHeader:t.connectionInformation.headers||{},fetch:t.connectionInformation.fetch,mappedRemoteNotebookDir:void 0,WebSocket:t.connectionInformation.WebSocket};return qS(e,r,this.requestCreator,this.requestAgentCreator,this.configService,tC.Uri.file(""))}async validateRemoteUri(e,t,r){let i;if(!t){let s=await this.getJupyterServerUri(e);if(s)t={baseUrl:s.connectionInformation.baseUrl.toString(!0),displayName:s.label,token:s.connectionInformation.token||"",authorizationHeader:s.connectionInformation.headers||{},fetch:s.connectionInformation.fetch,mappedRemoteNotebookDir:void 0,WebSocket:s.connectionInformation.WebSocket};else throw new Error(`Unable to get resolved server information for ${e.extensionId}:${e.id}:${e.handle}`)}let o=qS(e,t,this.requestCreator,this.requestAgentCreator,this.configService,tC.Uri.file(""));try{i=cd.create(o.settings),await Promise.all([i.getRunningKernels(),i.getKernelSpecs()])}catch(s){if(Oo.isSelfCertsError(s)){if(!await $P(this.configService,s.message))throw s}else if(pl.isSelfCertsExpiredError(s)){if(!await qP(this.configService,s.message))throw s}else throw t&&!r&&await this.errorHandler.handleError(new xi(t.baseUrl,e,s)),s}finally{o.dispose(),i&&i.dispose()}}async getJupyterServerUri(e){let t=new tC.CancellationTokenSource;try{let r=this.jupyterPickerRegistration.jupyterCollections.find(l=>l.extensionId===e.extensionId&&l.id===e.id)||await this.jupyterPickerRegistration.activateThirdPartyExtensionAndFindCollection(e.extensionId,e.id);if(!r)return;let i=await Promise.resolve(r.serverProvider.provideJupyterServers(t.token)),o=i?.find(l=>l.id===e.handle);if(!o&&i?.length===0)try{o=await r.serverProvider.resolveJupyterServer({id:e.handle,label:""},t.token)}catch{}if(!o)return;if(o.connectionInformation)return o;let s=await Promise.resolve(r.serverProvider.resolveJupyterServer(o,t.token));if(!s?.connectionInformation)return;let a=Object.assign({},o);return a.connectionInformation=s.connectionInformation,a}catch(r){throw r instanceof qe?r:new ld(e,r)}finally{t.dispose()}}};on=v([(0,fl.injectable)(),m(0,(0,fl.inject)(jt)),m(1,(0,fl.inject)(ie)),m(2,(0,fl.inject)(Gr)),m(3,(0,fl.inject)(ad)),m(3,(0,fl.optional)()),m(4,(0,fl.inject)(Dc))],on);var aa=class{constructor(e,t,r){this.serverUriStorage=e;this.jupyterConnection=t;this.serverProviderRegistry=r}async addJupyterServer(e){if(e.extensionId.toLowerCase()!=La.toLowerCase())throw new Error("Deprecated API");try{await this.jupyterConnection.validateRemoteUri(e)}catch(t){p.error(`Error in validating the Remote Uri ${e.id}.${e.handle}`,t);return}this.serverProviderRegistry.jupyterCollections.some(t=>t.extensionId===e.extensionId)||await this.serverUriStorage.add(e)}};aa=v([(0,ig.injectable)(),m(0,(0,ig.inject)($t)),m(1,(0,ig.inject)(on)),m(2,(0,ig.inject)(jt))],aa);var xj=k(N()),hl=require("vscode");var ud=require("vscode");function sr(n,e=!1){return typeof n!="object"||!n?!1:!!(n instanceof ud.CancellationError||e&&(n.message.includes("Canceled")||n.message.includes(de.canceled)))}async function Xt(n,e,...t){let r;return gE(e)?(t.push(e),r=void 0):r=e,n?n.isCancellationRequested?r:new Promise((i,o)=>{if(n.isCancellationRequested)return i(r);let s=n.onCancellationRequested(()=>{s.dispose(),i(r)});Promise.race(t).then(i,o).finally(()=>s.dispose())}):await Promise.race(t)}async function Zt(n,...e){if(!n)return Promise.race(e);if(n.isCancellationRequested)throw new ud.CancellationError;return new Promise((t,r)=>{if(n.isCancellationRequested)return r(new ud.CancellationError);let i=n.onCancellationRequested(()=>{i.dispose(),r(new ud.CancellationError)});Promise.race(e).then(t,r).finally(()=>i.dispose())})}function og(...n){let e=new ud.CancellationTokenSource,t=[];for(let i of n)i&&(i.isCancellationRequested&&e.cancel(),i.onCancellationRequested(()=>e.cancel(),void 0,t));let r=e.dispose.bind(e);return e.dispose=()=>{r(),z(t)},e}var vn;(e=>{function n(t){if(t?.isCancellationRequested)throw new ud.CancellationError}e.throwIfCanceled=n})(vn||={});function Dj(n){let e=new Map,t=(a,l)=>{if(!e.has(a)){let c={id:a,label:l.displayName,connectionInformation:{baseUrl:hl.Uri.parse(l.baseUrl),token:l.token,fetch:l.fetch,headers:l.authorizationHeader,WebSocket:l.WebSocket}};e.set(a,{serverUri:l,server:c})}return e.get(a).server},r=new hl.EventEmitter,i={async provideJupyterServers(a){let l=n.getHandles?await Zt(a,n.getHandles()):[];return!l||l.length===0?[]:Zt(a,Promise.all(l.map(c=>n.getServerUri(c).then(u=>t(c,u)))))},resolveJupyterServer(a,l){return a},onDidChangeServers:r.event};if(!n.handleQuickPick||!n.getQuickPickEntryItems)return{serverProvider:i};let o=new Map;return{serverProvider:i,commandProvider:{async handleCommand(a,l){let c=o.get(a.label);if(!c||!n.handleQuickPick)return;let u=await Zt(l,n.handleQuickPick(c,!0));if(u==="back")return;if(!u)throw new hl.CancellationError;let d=await n.getServerUri(u);return t(u,d)},async provideCommands(a,l){return n.getQuickPickEntryItems?(await Zt(l,Promise.resolve(n.getQuickPickEntryItems()))).map(u=>{let d={label:oh(u.label),canBeAutoSelected:u.default,description:oh(u.description)};return o.set(d.label,u),d}):[]}}}}var lN=class extends jn{constructor(t,r,i,o){super();this.extensionId=t;this.id=r;this.label=i;this.serverProvider=o;this._onDidChangeProvider=new hl.EventEmitter;this.onDidChangeProvider=this._onDidChangeProvider.event}set commandProvider(t){this._commandProvider=t,this._onDidChangeProvider.fire()}get commandProvider(){return this._commandProvider}},sg=class extends Qt{constructor(){super();this._onDidChangeCollections=new hl.EventEmitter;this._collections=new Map;be.instance.get(M).push(this)}get onDidChangeCollections(){return this._onDidChangeCollections.event}get jupyterCollections(){return Array.from(this._collections.values())}async activateThirdPartyExtensionAndFindCollection(t,r){return await this.loadExtension(t,r).catch(h),this.jupyterCollections.find(i=>i.extensionId===t&&i.id===r)}async loadExtension(t,r){if(t===Fe)return;let i=hl.extensions.getExtension(t);if(!i)throw new Error(`Extension '${t}' that provides Jupyter Server '${r}' not found`);i.isActive||await i.activate().then(h,h)}createJupyterServerCollection(t,r,i,o){let s=`${t}#${r}`;if(this._collections.has(s)&&t!==Fe)throw new Error(`Jupyter Server Provider with id ${s} already exists`);let a=new lN(t,r,i,o);return this._collections.set(s,a),this._onDidChangeCollections.fire({added:[a],removed:[]}),this._register(a.onDidDispose(()=>{this._collections.delete(s),this._onDidChangeCollections.fire({removed:[a],added:[]})},this)),a}};sg=v([(0,xj.injectable)()],sg);var vk=Symbol("IExportedKernelServiceFactory");function Hie(n,e){return new Promise(t=>{e.onDidChange(r=>{for(let i of r.added)_t(i.connection)&&i.connection.serverProviderHandle.id===n.id&&i.connection.serverProviderHandle.handle===n.handle&&t()})})}function _j(n,e){let t=e.get(oa),r=n.id.startsWith("_builtin")?Fe:t.determineExtensionFromCallStack().extensionId;if(p.error(`The API registerRemoteServerProvider has being deprecated and will be removed soon, please use createJupyterServerCollection (extension ${r}).`),r.toLowerCase()!=La.toLowerCase())throw new Error("Deprecated API");R("DATASCIENCE.JUPYTER_API_USAGE",void 0,{clientExtId:r,pemUsed:"registerRemoteServerProvider"});let{serverProvider:i,commandProvider:o}=Dj(n),s=gk(n.id,n.displayName||n.detail||n.id,i,r,e);return o&&(s.commandProvider=o),{dispose:()=>{s.dispose()}}}function Tj(n){return n.then(()=>void 0).catch(e=>(p.error("Failure during activation.",e),Promise.reject(e)))}function Rj(n){let e=n.get(oa);return R("DATASCIENCE.JUPYTER_API_USAGE",void 0,{clientExtId:e.determineExtensionFromCallStack().extensionId,pemUsed:"registerRemoteServerProvider"}),n.get(vk).getService()}async function Aj(n,e,t){let r=t.get(oa);p.error("The API addRemoteJupyterServer has being deprecated and will be removed soon, please use createJupyterServerCollection.");let i=r.determineExtensionFromCallStack().extensionId;if(i.toLowerCase()!=La.toLowerCase())throw new Error("Deprecated API");R("DATASCIENCE.JUPYTER_API_USAGE",void 0,{clientExtId:i,pemUsed:"addRemoteJupyterServer"});let o=t.get(aa),s=t.get(ot),a=Hie({id:n,handle:e},s);await o.addJupyterServer({id:n,handle:e,extensionId:i}),await a}async function Nj(n,e,t){let r=t.get(oa);R("DATASCIENCE.JUPYTER_API_USAGE",void 0,{clientExtId:r.determineExtensionFromCallStack().extensionId,pemUsed:"openNotebook"});let i=t.get(ot),o=typeof e=="string"?e:void 0,s=typeof e=="string"?void 0:e,a=o&&i.all.find(c=>c.id===e)?.id;if(!a&&s&&!Mu()&&(a=i.all.find(c=>c.kind==="startUsingPythonInterpreter"&&c.interpreter.id===s.id)?.id,!a)){let u=await t.get(cm).getKernelConnection(s);a=u&&i.all.find(d=>d.id===u?.id)?.id}if(!a)throw new Error(`Kernel ${e} not found.`);let l=dd.window.activeNotebookEditor?.notebook?.uri?.toString()===n.toString()?dd.window.activeNotebookEditor:await dd.window.showNotebookDocument(await dd.workspace.openNotebookDocument(n));return await dd.commands.executeCommand("notebook.selectKernel",{notebookEditor:l,id:a,extension:Fe}),l.notebook}function Mj(n,e,t,r){let i=t.get(oa),o={ready:Tj(n),registerPythonApi:s=>Ej(s,t),registerRemoteServerProvider:s=>_j(s,t),getKernelService:()=>Rj(t),addRemoteJupyterServer:(s,a)=>Aj(s,a,t),openNotebook:async(s,a)=>Nj(s,a,t),createJupyterServerCollection:(s,a,l)=>gk(s,a,l,i.determineExtensionFromCallStack().extensionId,t),get kernels(){return Cj(i.determineExtensionFromCallStack().extensionId)}};return(Er()||r.extensionMode===cN.ExtensionMode.Development||r.extensionMode===cN.ExtensionMode.Test)&&(o.serviceContainer=t,o.serviceManager=e),o}var Kj=require("vscode"),Oj={codeLoadingTime:0,endActivateTime:0,startActivateTime:0,totalActivateTime:0,workspaceFolderCount:0};function Fj(n,e){if(!Er())try{n.endActivateTime=e.elapsedTime,n.totalActivateTime=e.elapsedTime,Object.assign(Oj,n),Uj(n),R("EXTENSION.LOAD",n)}catch(t){p.error("sendStartupTelemetry() failed.",t)}}function Lj(n,e,t){try{let r={};e.endActivateTime=t.elapsedTime,e.totalActivateTime=t.elapsedTime,Object.assign(Oj,e),Uj(e),R("EXTENSION.LOAD",e,r,n)}catch(r){p.error("sendErrorTelemetry() failed.",r)}}function Uj(n){let e=Kj.workspace.workspaceFolders?.length??0;n.workspaceFolderCount=e}var yk=Symbol("IExtensionActivationManager"),me=Symbol("IExtensionSyncActivationService");var _c=k(N());var gl=Symbol("IEnvironmentVariablesService"),vl=Symbol("ICustomEnvironmentVariablesProvider");var Xe=Symbol("IInterpreterService");var Sk=k(N()),yl=require("vscode");var Gie={JupyterSessionWaitForIdleSession:y.waitingForJupyterSessionToBeIdle,KernelsGetKernelForRemoteConnection:y.gettingListOfKernelsForRemoteConnection,KernelsGetKernelSpecs:y.gettingListOfKernelSpecs,KernelsRegisterKernel:y.registeringKernel,NotebookConnect:y.connectingToJupyter,NotebookStart:y.startingJupyterNotebook,InstallingMissingDependencies:y.installingMissingDependencies,ExportNotebookToPython:y.exportNotebookToPython,PerformingExport:y.performingExport};function Ik(n){return Gie[n]}var st=class{constructor(e){this.kernelResourceProgressReporter=new Map;e.push(this),st.instance=this}activate(){}dispose(){z(Array.from(st.disposables))}static createProgressReporter(e,t,r){if(!st.instance)return new yl.Disposable(h);let i=e?cn(e):"";return st.instance.kernelResourceProgressReporter.has(i)?st.reportProgress(e,t):st.createProgressReporterInternal(i,t,r)}static wrapAndReportProgress(e,t,r){let i=e?cn(e):"";if(!st.instance)return r();let o=st.reportProgressInternal(i,t);return r().finally(()=>o?.dispose())}static reportProgress(e,t){let r=Ik(t)||t,i=e?cn(e):"";return r?st.reportProgressInternal(i,r||""):new yl.Disposable(()=>h)}static reportProgressInternal(e,t){if(!st.instance)return new yl.Disposable(h);let r=st.instance.kernelResourceProgressReporter.get(e);if(r||(r={title:t,pendingProgress:[],progressList:[],dispose:h},st.instance.kernelResourceProgressReporter.set(e,r)),r.reporter)r.progressList.push(t),r.reporter.report({message:t});else{if(r.progressList.includes(t))return new yl.Disposable(h);r.pendingProgress.push(t)}return{dispose:()=>{try{if(!r)return;let i=r.progressList.findIndex(o=>o===t);if(i>=0&&r.progressList.splice(i),r.progressList.length>0){let o=r.progressList[r.progressList.length-1];r.reporter&&r.reporter.report({message:o===r.title&&r.reporter?"":o})}else st.instance.kernelResourceProgressReporter.delete(e),r.dispose()}catch(i){p.error(`Failed to dispose Progress reporter for ${e}`,i)}}}}static createProgressReporterInternal(e,t,r){let i=re(),o=new yl.Disposable(()=>i.resolve()),s=st.instance.kernelResourceProgressReporter.get(e)||{title:t,pendingProgress:[],progressList:[],tokenSources:[],dispose:()=>{o.dispose()}},a=!1,l=()=>{a||(a=!0,yl.window.withProgress({location:yl.ProgressLocation.Notification,title:t},async(c,u)=>{let d=st.instance.kernelResourceProgressReporter.get(e);if(d){for(d.reporter=c;d.pendingProgress.length>0;){let f=d.pendingProgress.shift();f===t?d.progressList.push(f):f!==t&&f&&(d.progressList.push(f),c.report({message:f}))}await Xt(u,i.promise),st.instance.kernelResourceProgressReporter.get(e)===d&&st.instance.kernelResourceProgressReporter.delete(e),st.disposables.delete(o)}}).then(h,h))};return st.instance.kernelResourceProgressReporter.set(e,{...s,dispose:()=>o.dispose(),show:l}),st.disposables.add(o),s.pendingProgress.push(t),r||l(),{dispose:()=>o.dispose(),show:l}}};st.disposables=new Set,st=v([(0,Sk.injectable)(),m(0,(0,Sk.inject)(M))],st);var ag=k(N()),Ck=require("vscode");var br=Symbol("IPlatformService"),tt=Symbol("IFileSystem");var KEe=Symbol("IBufferDecoder"),Di=Symbol("IProcessServiceFactory"),rC=class extends qe{constructor(e){super("unknown",e)}};var uN=class{constructor(e,t){this.uri=e;this.value=t}};function zie(n){return Array.isArray(n)}var Qie,mo=class n{constructor(e,t){this[Qie]="ResourceMap";if(e instanceof n)this.map=new Map(e.map),this.toKey=t??n.defaultToKey;else if(zie(e)){this.map=new Map,this.toKey=t??n.defaultToKey;for(let[r,i]of e)this.set(r,i)}else this.map=new Map,this.toKey=e??n.defaultToKey}static{this.defaultToKey=e=>e.toString()}set(e,t){return this.map.set(this.toKey(e),new uN(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){typeof t<"u"&&(e=e.bind(t));for(let[,r]of this.map)e(r.value,r.uri,this)}*values(){for(let e of this.map.values())yield e.value}*keys(){for(let e of this.map.values())yield e.uri}*entries(){for(let e of this.map.values())yield[e.uri,e.value]}*[(Qie=Symbol.toStringTag,Symbol.iterator)](){for(let[,e]of this.map)yield[e.uri,e.value]}},Yie,bl=class{constructor(e,t){this[Yie]="ResourceSet";!e||typeof e=="function"?this._map=new mo(e):(this._map=new mo(t),e.forEach(this.add,this))}get size(){return this._map.size}add(e){return this._map.set(e,e),this}clear(){this._map.clear()}delete(e){return this._map.delete(e)}forEach(e,t){this._map.forEach((r,i)=>e.call(t,i,i,this))}has(e){return this._map.has(e)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(Yie=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}};var Xie,Wj=class{constructor(){this[Xie]="LinkedMap";this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){let r=this._map.get(e);if(r)return t!==0&&this.touch(r,t),r.value}set(e,t,r=0){let i=this._map.get(e);if(i)i.value=t,r!==0&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case 0:this.addItemLast(i);break;case 1:this.addItemFirst(i);break;case 2:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this,t=this._state,r=this._head,i={[Symbol.iterator](){return i},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let o={value:r.key,done:!1};return r=r.next,o}else return{value:void 0,done:!0}}};return i}values(){let e=this,t=this._state,r=this._head,i={[Symbol.iterator](){return i},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let o={value:r.value,done:!1};return r=r.next,o}else return{value:void 0,done:!0}}};return i}entries(){let e=this,t=this._state,r=this._head,i={[Symbol.iterator](){return i},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let o={value:[r.key,r.value],done:!1};return r=r.next,o}else return{value:void 0,done:!0}}};return i}[(Xie=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw new Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;let r=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(r.previous=i,i.next=r),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;let r=e.next,i=e.previous;e===this._head?(r.previous=void 0,this._head=r):(r.previous=i,i.next=r),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){this.clear();for(let[t,r]of e)this.set(t,r)}};var Il=class{constructor(e,t,r){this.processFactory=e;this.platform=t;this.fs=r;this.userSitePaths=new mo}async getExecutablesPath(e){let t=e.executable.uri;if(!(Ve(e)!=="Unknown"||!t)){if(!this.userSitePaths.has(t)){let r=this.getUserSitePathImpl(t);r.catch(()=>{this.userSitePaths.get(t)===r&&this.userSitePaths.delete(t)}),this.userSitePaths.set(t,r)}return this.userSitePaths.get(t)}}async getUserSitePathImpl(e){let t=await this.processFactory.create(void 0),r="USER_BASE_VALUE",i=this.platform.isWindows?"USER_SITE":"USER_BASE",{stdout:o}=await t.exec(e.fsPath,["-c",`import site;print("${r}");print(site.${i});print("${r}");`]);if(o.includes(r)){let s=o.substring(o.indexOf(r)+r.length,o.lastIndexOf(r)).trim(),a=Ck.Uri.file(s),l;if(this.platform.isWindows?l=Ck.Uri.joinPath(yi(a),"Scripts"):l=Ck.Uri.joinPath(a,"bin"),!l||!this.fs.exists(l))throw new Error(`USER_SITE ${l.fsPath} dir does not exist for the interpreter ${j(e)}`);return p.trace(`USER_SITE for ${j(e)} is ${l.fsPath}`),l}else throw new Error(`USER_SITE not found for the interpreter ${j(e)}. Stdout: ${o}`)}};v([Br()],Il.prototype,"getExecutablesPath",1),Il=v([(0,ag.injectable)(),m(0,(0,ag.inject)(Di)),m(1,(0,ag.inject)(br)),m(2,(0,ag.inject)(tt))],Il);var dN=require("vscode");var Vj=6e4,pd=class{constructor(e,t,r,i,o,s){this.interpreterService=e;this.customEnvVarsService=t;this.apiProvider=r;this.extensionChecker=i;this.envVarsService=o;this.globalExecPaths=s;this.disposables=[];this.activatedEnvVariablesCache=new Map;this.cachedEnvVariables=new Map;this.customEnvVarsService.onDidEnvironmentVariablesChange(this.clearCache,this,this.disposables),this.interpreterService.onDidChangeInterpreter(this.clearCache,this,this.disposables),this.interpreterService.onDidEnvironmentVariablesChange(this.clearCache,this,this.disposables)}clearCache(){this.activatedEnvVariablesCache.clear(),this.cachedEnvVariables.clear()}dispose(){this.disposables.forEach(e=>e.dispose())}async getActivatedEnvironmentVariables(e,t,r){let i=y.activatingPythonEnvironment(qr(t));return st.wrapAndReportProgress(e,i,async()=>this.getActivatedEnvironmentVariablesImplWithCaching(e,t.id,r))}async getActivatedEnvironmentVariablesImplWithCaching(e,t,r){let i=await this.interpreterService.resolveEnvironment(t);if(!i){p.warn(`Failed to resolve environment for ${t}`);return}let o=`${e?.toString()||""}${t}`,s=this.activatedEnvVariablesCache.get(o);if(s&&s.time.elapsedTime>=Vj&&this.activatedEnvVariablesCache.delete(o),!this.activatedEnvVariablesCache.has(o)){let l=this.getActivatedEnvironmentVariablesImpl(e,i,r);l.catch(h),this.activatedEnvVariablesCache.set(o,{promise:l,time:new Ue})}let a=this.activatedEnvVariablesCache.get(o).promise;return r?a:Xt(r,a)}async getActivatedEnvironmentVariablesImpl(e,t,r){if(!this.extensionChecker.isPythonExtensionInstalled)return;let i=new Ue;return this.getActivatedEnvironmentVariablesFromPython(e,t,r).then(o=>{if(!r?.isCancellationRequested)return o}).catch(o=>{p.error(`Failed to get env vars with python ${j(t.id)} in ${i.elapsedTime}ms`,o)})}async getActivatedEnvironmentVariablesFromPython(e,t,r){let i=`${e?.toString()||""}${t.id||""}`,o=this.cachedEnvVariables.get(i);if(o&&o.lastRequestedTime.elapsedTime>Vj&&this.cachedEnvVariables.delete(i),!this.cachedEnvVariables.has(i)){let s=this.getActivatedEnvironmentVariablesFromPythonImpl(e,t,r);this.cachedEnvVariables.set(i,{promise:s,lastRequestedTime:new Ue})}return Xt(r,this.cachedEnvVariables.get(i).promise)}async getActivatedEnvironmentVariablesFromPythonImpl(e,t,r){e=e||(dN.workspace.workspaceFolders?.length?dN.workspace.workspaceFolders[0].uri:void 0);let i=new Ue,o=this.customEnvVarsService.getEnvironmentVariables(e,"RunPythonCode").catch(()=>{}),s="emptyVariables",a,l=await this.apiProvider.getApi().then(u=>u.getActivatedEnvironmentVariables(e,t,!1).catch(d=>{p.error(`Failed to get activated env variables from Python Extension for ${j(t.path)}`,d),s="failedToGetActivatedEnvVariablesFromPython"}));if(r?.isCancellationRequested)return;let c=Ve(t);if(R("DS_INTERNAL.GET_ACTIVATED_ENV_VARIABLES",{duration:i.elapsedTime},{envType:c,source:"python",failed:Object.keys(l||{}).length===0,reason:s},a),l?p.debug(`Got env vars from Python Ext in ${i.elapsedTime}ms for ${j(t.path)}, with env var count ${Object.keys(l||{}).length}.`):c==="Conda"?p.error(`Failed to get activated conda env vars for ${j(t.path)}
|
||
in ${i.elapsedTime}ms`):p.warn(`Failed to get activated env vars for ${j(t.path)} in ${i.elapsedTime}ms`),!l){let u=await o;if(l={},Ve(t)==="Conda"){let I=await ia(t);I?l.CONDA_PREFIX=I:p.warn(`Failed to get the SysPrefix for the Conda Environment ${j(t.path)}}`)}this.envVarsService.mergeVariables(process.env,l),this.envVarsService.mergeVariables(u,l),this.envVarsService.mergePaths(process.env,l),process.env.PYTHONPATH&&(l.PYTHONPATH=process.env.PYTHONPATH);let d=u?Object.keys(u).find(I=>I.toLowerCase()=="path"):void 0;d&&u[d]&&this.envVarsService.appendPath(l,u[d]),u.PYTHONPATH&&this.envVarsService.appendPythonPath(l,u.PYTHONPATH);let f=await this.globalExecPaths.getExecutablesPath(t).catch(h);if(r?.isCancellationRequested)return;let g=l.PATH||l.Path,b=g?g.split(Vn):[];f&&b[1]!==f.fsPath?(p.trace(`Prepend PATH with user site path for ${j(t.path)}, user site ${f.fsPath}`),this.envVarsService.prependPath(l,f.fsPath)):Vr(t)||p.error(`Unable to determine site packages path for python ${j(t.path)} (${Ve(t)})`),!l.PATH&&l.Path&&(l.PATH=l.Path)}return t.executable.uri&&(p.trace(`Prepend PATH with python bin for ${j(t.path)}`),this.envVarsService.prependPath(l,nt(t.executable.uri.fsPath))),l}};v([Zn("Getting activated env variables",1),m(1,wc("id"))],pd.prototype,"getActivatedEnvironmentVariablesImpl",1),v([m(1,wc("id")),m(2,zu())],pd.prototype,"getActivatedEnvironmentVariablesFromPython",1),pd=v([(0,_c.injectable)(),m(0,(0,_c.inject)(Xe)),m(1,(0,_c.inject)(vl)),m(2,(0,_c.inject)(Ht)),m(3,(0,_c.inject)(Be)),m(4,(0,_c.inject)(gl)),m(5,(0,_c.inject)(Il))],pd);var ks=Symbol("IEnvironmentActivationService");var cg=k(N()),ug=require("vscode");var lg=class{constructor(e,t,r){this.disposables=e;this.extensionChecker=t;this.pythonApi=r;this._changed=new ug.EventEmitter;this._registered=!1;ug.window.onDidChangeActiveNotebookEditor(()=>{this._changed.fire()},this,e)}activate(){this.extensionChecker.isPythonExtensionActive?this.registerStatusFilter():this.pythonApi.onDidActivatePythonExtension(this.registerStatusFilter,this,this.disposables)}get changed(){return this._changed.event}get hidden(){return!!(ug.window.activeNotebookEditor&&Et(ug.window.activeNotebookEditor.notebook))}registerStatusFilter(){this._registered||(this._registered=!0,this.pythonApi.getApi().then(e=>{e.registerInterpreterStatusFilter&&(e.registerInterpreterStatusFilter(this),this._changed.fire())}).catch(h))}};lg=v([(0,cg.injectable)(),m(0,(0,cg.inject)(M)),m(1,(0,cg.inject)(Be)),m(2,(0,cg.inject)(Ht))],lg);function jj(n){n.addSingleton(Ht,Jh),n.addSingleton(Be,Xu),n.addSingleton(Xe,Bh),n.addSingleton(me,lg),n.addSingleton(ks,pd)}var Jj=k(N());var nC=require("vscode");var dg=class{activate(){nC.commands.registerCommand("jupyter.reloadVSCode",this.onReloadVSCode,this)}async onReloadVSCode(e){await nC.window.showInformationMessage(e,de.reload)===de.reload&&nC.commands.executeCommand("workbench.action.reloadWindow").then(h,h)}};dg=v([(0,Jj.injectable)()],dg);var Bj=k(N()),qi=require("vscode");var Tc=class{get activeDebugConsole(){return qi.debug.activeDebugConsole}get activeDebugSession(){return p.ci(`Getting active debug session, ${qi.debug.activeDebugSession?.name}`),qi.debug.activeDebugSession}get breakpoints(){return qi.debug.breakpoints}get onDidChangeActiveDebugSession(){return qi.debug.onDidChangeActiveDebugSession}get onDidStartDebugSession(){return qi.debug.onDidStartDebugSession}get onDidReceiveDebugSessionCustomEvent(){return qi.debug.onDidReceiveDebugSessionCustomEvent}get onDidTerminateDebugSession(){return qi.debug.onDidTerminateDebugSession}get onDidChangeBreakpoints(){return qi.debug.onDidChangeBreakpoints}registerDebugConfigurationProvider(e,t){return qi.debug.registerDebugConfigurationProvider(e,t)}registerDebugAdapterTrackerFactory(e,t){return qi.debug.registerDebugAdapterTrackerFactory(e,t)}startDebugging(e,t,r){return qi.debug.startDebugging(e,t,r)}addBreakpoints(e){qi.debug.addBreakpoints(e)}removeBreakpoints(e){qi.debug.removeBreakpoints(e)}};Tc.instance=new Tc,Tc=v([(0,Bj.injectable)()],Tc);var wk=k(N()),pN=require("vscode");var pg=class{constructor(e){this.extensionContext=e;this.testingState=new Map}async store(e,t,r){if(hi&&this.extensionContext.extensionMode!==pN.ExtensionMode.Production){this.testingState.set(`${e}#${t}`,r||"");return}if(r)await this.extensionContext.secrets.store(`${e}.${t}`,r);else try{await this.extensionContext.secrets.delete(`${e}.${t}`)}catch(i){p.error(i)}}async retrieve(e,t){if(hi&&this.extensionContext.extensionMode!==pN.ExtensionMode.Production)return this.testingState.get(`${e}#${t}`);try{return await this.extensionContext.secrets.get(`${e}.${t}`)}catch{try{await this.extensionContext.secrets.delete(`${e}.${t}`);return}catch(i){p.error(i)}}}};pg=v([(0,wk.injectable)(),m(0,(0,wk.inject)(et))],pg);var Ek=k(N()),iC=require("vscode");var mg=class{constructor(e){this._extensions=[];e.push(iC.extensions.onDidChange(()=>this._extensions=iC.extensions.all)),this._extensions=iC.extensions.all}get extensions(){return this._extensions}determineExtensionFromCallStack(e){e=e||new Error().stack;try{let t=iC.extensions.getExtension(Fe).extensionUri.toString().toLowerCase(),r=[];if(e){r=e.split(`
|
||
`).map(l=>{let c=/\((.*)\)/.exec(l),u=c?c[1]:void 0;try{let d=/\((.*)\:\d*\:\d*\)/.exec(l);if(!d)return u;if(!u||u.startsWith(d[1]))return d[1]}catch{}return u}).filter(l=>l&&!l.toLowerCase().startsWith(t));let i=t.split(/[\\/]/),o=i.findIndex(l=>l.startsWith(Fe)),s=o===-1?void 0:i[o-1];IA(new Error("Ex")).forEach(l=>{let c=l.getFileName();c&&!c.toLowerCase().startsWith(t)&&r.push(c)});for(let l of r){let c=this.extensions.find(u=>u.id!==Fe&&(l.toLowerCase().startsWith(u.extensionUri.fsPath.toLowerCase())||l.toLowerCase().startsWith(u.extensionUri.path.toLowerCase())));if(c)return{extensionId:c.id,displayName:c.packageJSON.displayName}}let a=r.find(l=>l.includes(Fe));if(a&&(a=a.substring(0,a.indexOf(Fe)-1)),!s||!a)return{extensionId:th,displayName:y.unknownPackage};for(let l of r.filter(c=>c.startsWith(a)&&!c.includes(Fe))){let c=l.substring(a.length).substring(1).split(/[\\/]/)[0];c.includes("-")&&(c=c.substring(0,c.lastIndexOf("-")));let u=this.extensions.find(d=>d.id===c);if(u)return{extensionId:u.id,displayName:u.packageJSON.displayName}}}return p.error("Unable to determine the caller of the extension API for trace stack",e),p.error("Jupyter Root",t),p.error("Frames",r),{extensionId:th,displayName:y.unknownPackage}}catch(t){return p.error("Unable to determine the caller of the extension API for trace stack.",e),p.error("Failure error",t),{extensionId:th,displayName:y.unknownPackage}}}};mg=v([(0,Ek.injectable)(),m(0,(0,Ek.inject)(M))],mg);var Pk=Symbol("IWorkspaceService"),_i=Symbol("IDebugManager"),Sl=Symbol("IApplicationEnvironment"),oke=Symbol("IWebviewPanelMessageListener"),ske=Symbol("IWebviewViewMessageListener"),ake=Symbol("IWebview"),lke=Symbol("IWebviewView"),cke=Symbol("IWebviewPanel"),md=Symbol("IWebviewPanelProvider"),kk=Symbol("IWebviewViewProvider"),oC=Symbol("IEncryptedStorage");var $j=k(N());var fg=class{constructor(){this._list=[]}async dispose(){let e=this._list.map(t=>t.dispose());await Promise.all(e),this._list=[]}push(e){e&&this._list.push(e)}get list(){return this._list}};fg=v([(0,$j.injectable)()],fg);var vd=k(N()),c9=require("vscode"),sC=k(l9());var Lk=class{setSharedProperty(e,t){_h(e,t)}postEvent(e,t){let r={};t.forEach((i,o)=>{r[o]=i}),R(e,void 0,r)}};var DN=k(require("vscode")),Uk=k(N());var yg=class{constructor(e){this.extensionContext=e}get extensionVersion(){return this.extensionContext.extension.packageJSON.version}};yg=v([(0,Uk.injectable)(),m(0,(0,Uk.inject)(et))],yg);function xs(){return DN.env.appName.indexOf("Insider")>0||DN.env.appName.indexOf("Code - OSS Dev")>=0?"insiders":"stable"}var boe="VSCode.ABExp.FeatureData",_N="vscode",bg=class{constructor(e,t,r){this.configurationService=e;this.appEnvironment=t;this.globalState=r;this._optInto=[];this._optOutFrom=[];this.settings=e.getSettings(void 0);let i=this.settings.experiments.optInto,o=this.settings.experiments.optOutFrom;if(this._optInto=i.filter(l=>!l.endsWith("control")),this._optOutFrom=o.filter(l=>!l.endsWith("control")),!this.enabled)return;let s;xs()==="insiders"?s=sC.TargetPopulation.Insiders:s=sC.TargetPopulation.Public;let a=new Lk;this.experimentationService=(0,sC.getExperimentationService)(Fe,this.appEnvironment.extensionVersion,s,a,this.globalState)}get enabled(){return this.settings.experiments.enabled&&!this.settings.experiments.optOutFrom.includes("All")}async activate(){this.experimentationService&&this.enabled&&(await this.experimentationService.initializePromise,this.getFeatures().length===0&&await this.experimentationService.initialFetch,this.logExperiments())}inExperiment(e){return!this.experimentationService||!this.enabled||this._optOutFrom.includes(e.toString())?!1:this._optInto.includes(e.toString())||this._optInto.includes("All")?(this.experimentationService.getTreatmentVariable(_N,e),!0):e==="DoNotWaitForZmqPortsToBeUsed"&&(xs()==="insiders"||Qf())||e==="DataViewerContribution"&&(xs()==="insiders"||Qf())?!0:this.experimentationService.getTreatmentVariable(_N,e)===!0}async getExperimentValue(e){if(!(!this.experimentationService||!this.enabled||this._optOutFrom.includes(e)))return this.experimentationService.getTreatmentVariable(_N,e)}getFeatures(){return this.globalState.get(boe,{features:[]}).features}logExperiments(){let e=c9.workspace.getConfiguration("telemetry"),t=!1;if(e&&e.get("enableTelemetry")===!1&&(p.info("Telemetry is disabled"),t=!0),e&&e.get("telemetryLevel")==="off"&&(p.info("Telemetry level is off"),t=!0),t&&p.info("Experiments are disabled, only manually opted experiments are active."),this._optOutFrom.includes("All"))return;if(this._optInto.includes("All")){p.info(zp.inGroup("All"));return}let r=new Set(this._optInto),i=new Set;this._optOutFrom.filter(o=>o!=="All").forEach(o=>{p.info(zp.notInGroup(o))}),this._optInto.filter(o=>o!=="All").forEach(o=>{i.add(o),p.info(zp.inGroup(o))}),t&&!i.has("DoNotWaitForZmqPortsToBeUsed")&&(xs()==="insiders"||Qf())&&p.info(zp.inGroup("DoNotWaitForZmqPortsToBeUsed")),t||this.getFeatures().forEach(o=>{o.toLowerCase().startsWith("jupyter")&&!this._optOutFrom.includes(o)&&!this._optInto.includes(o)&&(r.add(o),p.info(zp.inGroup(o)))})}};bg=v([(0,vd.injectable)(),m(0,(0,vd.inject)(ie)),m(1,(0,vd.inject)(Sl)),m(2,(0,vd.inject)(We)),m(2,(0,vd.named)(lt))],bg);var jk=k(N()),Fo=require("vscode");var Vk=require("vscode");function yd(n){Vk.env.openExternal(typeof n=="string"?Vk.Uri.parse(n):n).then(h,h)}var Ioe=[{doNotDisplayPromptStateKey:"SHOW_DEPRECATED_FEATURE_PROMPT_FORMAT_ON_SAVE",message:_S.SHOW_DEPRECATED_FEATURE_PROMPT_FORMAT_ON_SAVE,moreInfoUrl:"https://github.com/Microsoft/vscode-python/issues/309",setting:{setting:"formatting.formatOnSave",values:["true",!0]}},{doNotDisplayPromptStateKey:"SHOW_DEPRECATED_FEATURE_PROMPT_LINT_ON_TEXT_CHANGE",message:_S.SHOW_DEPRECATED_FEATURE_PROMPT_LINT_ON_TEXT_CHANGE,moreInfoUrl:"https://github.com/Microsoft/vscode-python/issues/313",setting:{setting:"linting.lintOnTextChange",values:["true",!0]}},{doNotDisplayPromptStateKey:"SHOW_DEPRECATED_FEATURE_PROMPT_FOR_AUTO_COMPLETE_PRELOAD_MODULES",message:_S.SHOW_DEPRECATED_FEATURE_PROMPT_FOR_AUTO_COMPLETE_PRELOAD_MODULES,moreInfoUrl:"https://github.com/Microsoft/vscode-python/issues/1704",setting:{setting:"autoComplete.preloadModules"}}],Ig=class{constructor(e){this.persistentStateFactory=e;this._onDidChangeFeatures=new Fo.EventEmitter;this.onDidChangeFeatures=this._onDidChangeFeatures.event;this._features={};this.disposables=[];this._updateFeatures(),this.disposables.push(Fo.workspace.onDidChangeConfiguration(()=>{this._updateFeatures()}))}get features(){return this._features}set features(e){this._features=e,this._onDidChangeFeatures.fire()}_updateFeatures(){this.features={}}dispose(){this.disposables.forEach(e=>e.dispose())}initialize(){Ioe.forEach(this.registerDeprecation.bind(this))}registerDeprecation(e){Array.isArray(e.commands)&&e.commands.forEach(t=>{this.disposables.push(Fo.commands.registerCommand(t,()=>this.notifyDeprecation(e),this))}),e.setting&&this.checkAndNotifyDeprecatedSetting(e)}async notifyDeprecation(e){let t=this.persistentStateFactory.createGlobalPersistentState(e.doNotDisplayPromptStateKey,!0);if(!t.value)return;let r="Learn more",i="Never show again",o=await Fo.window.showInformationMessage(e.message,r,i);if(o)switch(o){case r:{yd(e.moreInfoUrl);break}case i:{await t.updateValue(!1);break}default:throw new Error("Selected option not supported.")}}checkAndNotifyDeprecatedSetting(e){let t=!1;Array.isArray(Fo.workspace.workspaceFolders)&&Fo.workspace.workspaceFolders.length>0?Fo.workspace.workspaceFolders.forEach(r=>{t||(t=this.isDeprecatedSettingAndValueUsed(Fo.workspace.getConfiguration("jupyter",r.uri),e.setting))}):t=this.isDeprecatedSettingAndValueUsed(Fo.workspace.getConfiguration("jupyter"),e.setting),t&&this.notifyDeprecation(e).catch(r=>p.debug("Jupyter Extension: notifyDeprecation",r))}isDeprecatedSettingAndValueUsed(e,t){if(!e.has(t.setting))return!1;let r=e.get(t.setting);return!Array.isArray(t.values)||t.values.length===0?Array.isArray(r)?r.length>0:!0:!Array.isArray(t.values)||t.values.length===0?r===void 0?!1:Array.isArray(r)?r.length>0:!0:t.values.indexOf(e.get(t.setting))>=0}};Ig=v([(0,jk.injectable)(),m(0,(0,jk.inject)(il))],Ig);var bd=k(N());var Jk=class{constructor(e,t,r,i){this.storage=e;this.key=t;this.defaultValue=r;this.expiryDurationMs=i}get value(){if(this.expiryDurationMs){let e=this.storage.get(this.key,{data:this.defaultValue});return!e||!e.expiry||e.expiry<Date.now()?this.defaultValue:e.data}else return this.storage.get(this.key,this.defaultValue)}async updateValue(e){this.expiryDurationMs?await this.storage.update(this.key,{data:e,expiry:Date.now()+this.expiryDurationMs}):await this.storage.update(this.key,e)}},Sg=class{constructor(e,t){this.globalState=e;this.workspaceState=t}createGlobalPersistentState(e,t,r){return new Jk(this.globalState,e,t,r)}createWorkspacePersistentState(e,t,r){return new Jk(this.workspaceState,e,t,r)}};Sg=v([(0,bd.injectable)(),m(0,(0,bd.inject)(We)),m(0,(0,bd.named)(lt)),m(1,(0,bd.inject)(We)),m(1,(0,bd.named)(ei))],Sg);var u9="Path",d9="PATH",p9=/^win/.test(process.platform);var m9=k(N()),wl=require("vscode");var _e=class n extends Error{static{this.back=new n("back")}static{this.cancel=new n("cancel")}static{this.resume=new n("resume")}},aC=class{constructor(){this.steps=[]}run(e,t){return this.stepThrough(e,t)}async showQuickPick(e){return this.showLazyLoadQuickPick(e).selection}showLazyLoadQuickPick({title:e,step:t,totalSteps:r,items:i,activeItem:o,placeholder:s,buttons:a,shouldResume:l,matchOnDescription:c,matchOnDetail:u,acceptFilterBoxTextAsSelection:d,startBusy:f,stopBusy:g,validate:b,onDidTriggerItemButton:I,onDidTriggerButton:E,supportBackInFirstStep:x,onDidChangeItems:A,ignoreFocusOut:T}){let J=[],ne=re(),H=wl.window.createQuickPick();return H.title=e,H.step=t,H.totalSteps=r,H.placeholder=s,H.ignoreFocusOut=T??!0,H.items=i,g&&(H.busy=f??!1,g(()=>{H.enabled&&(H.busy=!1)},this,J)),A&&(H.keepScrollPosition=!0,A(oe=>{H.items=oe},this,J)),I&&H.onDidTriggerItemButton(oe=>I(oe),void 0,J),H.matchOnDescription=c||!1,H.matchOnDetail=u||!1,o?H.activeItems=[o]:H.activeItems=[],H.buttons=[...this.steps.length>1||x?[wl.QuickInputButtons.Back]:[],...a||[]],J.push(H.onDidTriggerButton(oe=>{oe===wl.QuickInputButtons.Back?ne.reject(_e.back):E?E(oe):ne.resolve(oe)}),H.onDidChangeSelection(async oe=>{let ae=oe.length?oe[0].label:"",Y=!!ae;if(ae&&b&&oe.length){H.enabled=!1,H.busy=!0;let Ie=await b(oe[0]);Ie&&(Y=!1,await wl.window.showErrorMessage(Ie,{modal:!0})),H.enabled=!0,H.busy=!1}Y&&ne.resolve(oe[0])}),H.onDidHide(()=>{(async()=>{ne.reject(l&&await l()?_e.resume:_e.cancel)})().catch(ne.reject)})),d&&J.push(H.onDidAccept(async()=>{if(!H.busy){let oe=b?await b(H):void 0;oe?(H.enabled=!1,H.busy=!0,await wl.window.showErrorMessage(oe),H.enabled=!0,H.busy=!1):ne.resolve(H.value)}})),this.current&&this.current.dispose(),this.current=H,this.current.show(),ne.promise.finally(()=>z(J)).catch(h),{quickPick:H,selection:ne.promise}}async showInputBox({title:e,step:t,totalSteps:r,value:i,prompt:o,validate:s,password:a,buttons:l,shouldResume:c,validationMessage:u}){let d=[];try{return await new Promise((f,g)=>{let b=wl.window.createInputBox();b.title=e,b.step=t,b.totalSteps=r,b.password=!!a,b.value=i||"",b.prompt=o,b.validationMessage=u||"",b.ignoreFocusOut=!0,b.validationMessage=u||"",b.buttons=[...this.steps.length>1?[wl.QuickInputButtons.Back]:[],...l||[]],d.push(b.onDidTriggerButton(I=>{I===wl.QuickInputButtons.Back?g(_e.back):f(I)}),b.onDidAccept(async()=>{let I=b.value;b.enabled=!1,b.busy=!0;let E=await s(I);E?(b.validationMessage=E,b.show()):(b.validationMessage="",f(I)),b.enabled=!0,b.busy=!1}),b.onDidChangeValue(async()=>{b.validationMessage=""}),b.onDidHide(()=>{(async()=>{b.busy||g(c&&await c()?_e.resume:_e.cancel)})().catch(g)})),this.current&&this.current.dispose(),this.current=b,this.current.show()})}finally{d.forEach(f=>f.dispose())}}async stepThrough(e,t){let r=e;for(;r;){this.steps.push(r),this.current&&(this.current.enabled=!1,this.current.busy=!0);try{r=await r(this,t)}catch(i){if(i===_e.back)this.steps.pop(),r=this.steps.pop();else if(i===_e.resume)r=this.steps.pop();else if(i===_e.cancel)r=void 0;else throw i;if(!r)return i}}this.current&&this.current.dispose()}},wg=Symbol("IMultiStepInputFactory"),Cg=class{create(){return new aC}};Cg=v([(0,m9.injectable)()],Cg);var f9=k(N()),h9=require("vscode");var Eg=class{activate(){h9.languages.getLanguages().then(e=>{e.map(t=>t.toLowerCase()).forEach(t=>{uS.includes(t)||uS.push(t)})},h)}};Eg=v([(0,f9.injectable)()],Eg);var g9=Symbol("IServiceManager"),rt=Symbol("IServiceContainer");var Ac=k(kl());function Cd(n){return Rr()==="Windows"?hn(n).toUpperCase():hn(n)}function wd(n,e){return Cd(n)===Cd(e)}function _g(n,e){return e.endsWith(Tn)||(e+=Tn),n.endsWith(Tn)||(n+=Tn),Cd(n).startsWith(Cd(e))}var vB=require("os"),YN;function yB(n){YN=n}async function bB(n,e={}){return(await YN.get(Di).create(void 0)).shellExec(n,e)}function Tg(n){return Ac.pathExists(n)}function XN(n){return Ac.pathExistsSync(n)}function IB(n){return Ac.readFile(n,"utf-8")}function SB(n){return Ac.readFileSync(n,"utf-8")}var CB=n=>lh(n,(0,vB.homedir)());function wB(n){return YN.get(ie).getSettings()[n]}var xB=k(N()),ym=k(require("os")),DB=k(Fh()),eM=require("vscode");var ZN=require("vscode"),PB=k(require("os"));var EB=PB.homedir();function vm(n){return process.env[n]}function Rg(){if(Rr()==="Windows")return ZN.Uri.file(vm("USERPROFILE")||EB);let n=vm("HOME")||vm("HOMEPATH")||EB;return ZN.Uri.file(n.replace(/\\/g,"/"))}var Ag=k(Fh());function kB(n){n=n.replace(/\.00*(?=[1-9]|0\.)/,".");let e=Ag.coerce(n);return e===null||!Ag.valid(e)?new Ag.SemVer("0.0.0"):e}var xl=class{constructor(){this._homeDir=Rg()||eM.Uri.file(ym.homedir());this._tempDir=eM.Uri.file(ym.tmpdir());this.osType=Rr();this.osType,"Unknown"}get homeDir(){return this._homeDir}get tempDir(){return this._tempDir}get pathVariableName(){return this.isWindows?u9:d9}async getVersion(){if(this.version)return this.version;switch(this.osType){case"Windows":case"OSX":try{let e=(0,DB.coerce)(ym.release());if(e)return this.version=e;throw new Error("Unable to parse version")}catch{return kB(ym.release())}default:throw new Error("Not Supported")}}get isWindows(){return this.osType==="Windows"}get isMac(){return this.osType==="OSX"}get isLinux(){return this.osType==="Linux"}};xl=v([(0,xB.injectable)()],xl);function _B(n){n.addSingleton(br,xl),yB(n.get(rt))}var sx=k(N()),AB=require("vscode");var bm=require("child_process"),ox=require("vscode");var tM="utf8";var nx=require("vscode"),TB=require("os"),ix=nx.Uri.file((0,TB.homedir)());function RB(n,e){let t=e?[{uri:nx.Uri.file(e),name:"",index:0}]:[];return j(n?nx.Uri.file(n):void 0,t,ix)}function zr(n,e=[]){return j(n,e,ix)}function rM(n,e,t){let r=e.reduce((o,s,a)=>{let l=fS(s);return(s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'")&&(s.includes("/")||s.includes("\\")))&&(l=`${s[0]}${zr(s.substr(1))}`),a===0?l:`${o} ${l}`},""),i=[`Process Execution: ${zr(n)} ${r}`];t&&t.cwd&&i.push(` > ${mA.currentWorkingDirectory} ${zr(t.cwd.toString())}`),p.info(i.join(`
|
||
`))}var nM=class{decode(e){return Buffer.concat(e).toString(tM)}},Ed=class Ed{constructor(e){this.env=e;this.processesToKill=new Set;this.decoder=new nM}static isAlive(e){try{return e?(process.kill(e,0),!0):!1}catch{return!1}}static kill(e){try{if(!e)return;process.platform==="win32"?(0,bm.execSync)(`taskkill /pid ${e} /T /F`):process.kill(e)}catch{}}dispose(){this.processesToKill.forEach(e=>{try{e.dispose()}catch{}})}execObservable(e,t,r={}){let i=this.getDefaultOptions(r),o=(0,bm.spawn)(e,t,i),s=!1;p.ci(`Exec observable ${e}, ${t.join(" ")}`);let a=[],l={dispose:function(){o&&!o.killed&&!s&&Ed.kill(o.pid),o&&o.unref(),z(a)}};this.processesToKill.add(l);let c=oae();a.push(c);let u=(f,g,b)=>{f.on(g,b),a.push({dispose:()=>f.removeListener(g,b)})};r.token&&a.push(r.token.onCancellationRequested(()=>{!s&&!o.killed&&(Ed.kill(o.pid),s=!0)}));let d=(f,g)=>{let b=this.decoder.decode([g]);f==="stderr"&&r.throwOnStdErr?c.reject(new rC(b)):c.fire({source:f,out:b})};return u(o.stdout,"data",f=>d("stdout",f)),u(o.stderr,"data",f=>d("stderr",f)),o.once("close",()=>{s=!0,c.resolve(),a.forEach(f=>f.dispose())}),o.once("exit",()=>{s=!0,c.resolve(),a.forEach(f=>f.dispose())}),o.once("error",f=>{s=!0,c.reject(f),a.forEach(g=>g.dispose())}),rM(e,t,r),{proc:o,out:c,dispose:l.dispose}}exec(e,t,r={}){let i=this.getDefaultOptions(r),o=(0,bm.spawn)(e,t,i),s=re(),a={dispose:()=>{!o.killed&&!s.completed&&Ed.kill(o.pid)}};this.processesToKill.add(a);let l=[],c=(f,g,b)=>{f.on(g,b),l.push({dispose:()=>f.removeListener(g,b)})};r.token&&l.push(r.token.onCancellationRequested(a.dispose));let u=[];c(o.stdout,"data",f=>u.push(f));let d=[];return c(o.stderr,"data",f=>{r.mergeStdOutErr&&u.push(f),d.push(f)}),o.once("close",()=>{if(s.completed)return;let f=d.length===0?void 0:this.decoder.decode(d);if(f&&f.length>0&&r.throwOnStdErr)s.reject(new rC(f));else{let g=this.decoder.decode(u);s.resolve({stdout:g,stderr:f})}l.forEach(g=>g.dispose())}),o.once("error",f=>{s.reject(f),l.forEach(g=>g.dispose())}),rM(e,t,r),s.promise}shellExec(e,t={}){let r=this.getDefaultOptions(t);return new Promise((i,o)=>{let s,a=(0,bm.exec)(e,r,(c,u,d)=>{s?.dispose(),c&&c!==null?o(c):r.throwOnStdErr&&d&&d.length?o(new Error(d)):i({stderr:d&&d.length>0?d:void 0,stdout:u})});t.token&&(s=t.token.onCancellationRequested(()=>{a.exitCode===null&&!a.killed&&(o(new ox.CancellationError),Ed.kill(a.pid))}));let l={dispose:()=>{a.killed||Ed.kill(a.pid)}};this.processesToKill.add(l)})}getDefaultOptions(e){let t={...e},r=t;if(r){let i=r.encoding=typeof r.encoding=="string"&&r.encoding.length>0?r.encoding:tM;delete r.encoding,r.encoding=i}if(!t.env||Object.keys(t.env).length===0){let i=this.env?this.env:process.env;t.env={...i}}else t.env={...t.env};return t.env.PYTHONUNBUFFERED="1",t.env.PYTHONIOENCODING||(t.env.PYTHONIOENCODING="utf-8"),t.env.PYTHON_FROZEN_MODULES||(t.env.PYTHON_FROZEN_MODULES="on"),t}};v([Zn("Execing shell command",5),m(1,zu())],Ed.prototype,"shellExec",1);var Dl=Ed;function oae(){let n=new ox.EventEmitter,e=re();return e.promise.catch(h),{get onDidChange(){return n.event},get done(){return e.promise},resolve:e.resolve.bind(e),reject:e.reject.bind(e),fire:n.fire.bind(n),dispose:()=>{n.dispose()}}}var Im=class{constructor(e){this.envVarsService=e}async create(e,t){if(!AB.workspace.isTrusted)throw new Error("Workspace not trusted");let r=await this.envVarsService.getEnvironmentVariables(e,"RunNonPythonCode",t);return Zs(new Dl(r))}};v([Zn("Create ProcessService",5)],Im.prototype,"create",1),Im=v([(0,sx.injectable)(),m(0,(0,sx.inject)(vl))],Im);function NB(n){n.addSingleton(Di,Im)}var KB=k(require("os")),lx=k(N());var Ng=k(require("vscode")),MB;(l=>{let n=Ng.FileSystemError.FileNotFound().name,e=Ng.FileSystemError.FileExists().name,t=Ng.FileSystemError.FileIsADirectory().name,r=Ng.FileSystemError.FileNotADirectory().name,i=Ng.FileSystemError.NoPermissions().name,o=[n,e,t,r,i];function s(c,u){if(o.includes(c.name))return c.name===u}function a(c){return s(c,n)}l.isFileNotFound=a})(MB||={});function sae(n,e){let t=n.code;if(t)return t===e}function ax(n){let e=MB.isFileNotFound(n);return e!==void 0?e:sae(n,"ENOENT")}var OB=require("vscode");var Mg=class{constructor(e){this.fs=e}async parseFile(e,t){if(e)try{return aae(await this.fs.readFile(OB.Uri.file(e)),t)}catch(r){ax(r)||p.error(`Failed to parse env file ${e}`,r)}}mergeVariables(e,t){t&&Object.keys(e).forEach(r=>{let i=r.toLowerCase();if(i=="pythonpath"||i=="path")return;let o=Object.keys(t).find(s=>s.toLowerCase()===i)||r;t[o]=e[r]})}mergePaths(e,t){let r=Object.keys(e).find(o=>o.toLowerCase()==="path"),i=Object.keys(t).find(o=>o.toLowerCase()==="path")||r;r&&i&&(t[i]=e[r])}appendPythonPath(e,...t){return this.appendPaths(e,"PYTHONPATH",!0,...t)}appendPath(e,...t){return this.appendPaths(e,"PATH",!0,...t)}prependPath(e,...t){return this.appendPaths(e,"PATH",!1,...t)}appendPaths(e,t,r,...i){let o=i.filter(f=>typeof f=="string"&&f.trim().length>0).map(f=>f.trim()).join(Vn);if(o.length===0)return e;let s=t.toLowerCase(),a=e?Object.keys(e).find(f=>f.toLowerCase()==s):void 0,l=e&&a?e[a]:void 0,c=a||t;l&&typeof l=="string"&&l.length>0?r&&!(e[c]||"").endsWith(Vn+o)?e[c]=l+Vn+o:!r&&!(e[c]||"").startsWith(o+Vn)&&(e[c]=o+Vn+l):e[c]=o;let d=["Path","PATH"].find(f=>f!==c);if(KB.platform()==="win32"&&d&&d in e&&typeof e[d]=="string"){let f=e[d],g=d;f&&typeof f=="string"&&f.length>0?r&&!(e[g]||"").endsWith(Vn+o)?e[g]=f+Vn+o:!r&&!(e[g]||"").startsWith(o+Vn)&&(e[g]=o+Vn+f):e[g]=o}return e}};Mg=v([(0,lx.injectable)(),m(0,(0,lx.inject)(tt))],Mg);function aae(n,e){let t=e||{},r={};return n.toString().split(`
|
||
`).forEach((i,o)=>{let[s,a]=lae(i);s!==""&&(r[s]=uae(a,r,t))}),r}function lae(n){let e=n.match(/^\s*([a-zA-Z]\w*)\s*=\s*(.*?)?\s*$/);if(!e)return["",""];let t=e[1],r=e[2];return r&&r!==""?r[0]==="'"&&r[r.length-1]==="'"?(r=r.substring(1,r.length-1),r=r.replace(/\\n/gm,`
|
||
`)):r[0]==='"'&&r[r.length-1]==='"'&&(r=r.substring(1,r.length-1),r=r.replace(/\\n/gm,`
|
||
`)):r="",[t,r]}var cae=/\${([a-zA-Z]\w*)?([^}\w].*)?}/g;function uae(n,e,t,r=""){let i=!1,o=n;return o=o.replace(cae,(s,a,l,c,u)=>c>0&&u[c-1]==="\\"?s:l&&l!==""||!a||a===""?(i=!0,s):e[a]||t[a]||r),!i&&o!==n&&(n=o,R("ENVFILE_VARIABLE_SUBSTITUTION")),n.replace(/\\\$/g,"$")}var _l=k(N());var go=require("vscode");var ca=require("vscode");var iM={number:"number",string:"string",undefined:"undefined",object:"object",function:"function"};function oM(n){return Array.isArray?Array.isArray(n):!!(n&&typeof n.length===iM.number&&n.constructor===Array)}function cx(n){return typeof n===iM.string||n instanceof String}function sM(n){return typeof n===iM.object&&n!==null&&!Array.isArray(n)&&!(n instanceof RegExp)&&!(n instanceof Date)}var ux=class{resolve(e){return cx(e)?this.__resolveString(e):oM(e)?this.__resolveArray(e):sM(e)?this.__resolveLiteral(e):e}resolveAny(e){return cx(e)?this.__resolveString(e):oM(e)?this.__resolveAnyArray(e):sM(e)?this.__resolveAnyLiteral(e):e}__resolveString(e){let t=/\$\{(.*?)\}/g;return e.replace(t,(r,i)=>{let o=this[i];return cx(o)?o:r&&(r.indexOf("env.")>0||r.indexOf("env:")>0)?"":r})}__resolveLiteral(e){let t=Object.create(null);return Object.keys(e).forEach(r=>{let i=e[r];t[r]=this.resolve(i)}),t}__resolveAnyLiteral(e){let t=Object.create(null);return Object.keys(e).forEach(r=>{let i=e[r];t[r]=this.resolveAny(i)}),t}__resolveArray(e){return e.map(t=>this.__resolveString(t))}__resolveAnyArray(e){return e.map(t=>this.resolveAny(t))}};var Kg=class extends ux{constructor(t,r){super();let i=t?ca.workspace.getWorkspaceFolder(t):void 0;this._workspaceFolder=i?i.uri.fsPath:r?.fsPath||__dirname,this._workspaceFolderName=Ce(this._workspaceFolder),this._filePath=t?t.fsPath:void 0,ca.window&&ca.window.activeTextEditor&&(this._lineNumber=ca.window.activeTextEditor.selection.anchor.line+1,this._selectedText=ca.window.activeTextEditor.document.getText(new ca.Range(ca.window.activeTextEditor.selection.start,ca.window.activeTextEditor.selection.end))),this._execPath=process.execPath,Object.keys(process.env).forEach(o=>{this[`env:${o}`]=this[`env.${o}`]=process.env[o]})}get cwd(){return this.workspaceFolder}get workspaceRoot(){return this._workspaceFolder}get workspaceFolder(){return this._workspaceFolder}get workspaceRootFolderName(){return this._workspaceFolderName}get workspaceFolderBasename(){return this._workspaceFolderName}get file(){return this._filePath}get relativeFile(){return this.file?_E(this._workspaceFolder,this.file):void 0}get relativeFileDirname(){return this.relativeFile?nt(this.relativeFile):void 0}get fileBasename(){return this.file?Ce(this.file):void 0}get fileBasenameNoExtension(){return this.file?xU(this.file).name:void 0}get fileDirname(){return this.file?nt(this.file):void 0}get fileExtname(){return this.file?Wi(this.file):void 0}get lineNumber(){return this._lineNumber}get selectedText(){return this._selectedText}get execPath(){return this._execPath}};var px=require("vscode"),fC,dx=!1;function FB(){WB()&&UB()}async function LB(n,e){if(WB()){let r=new Kg(e,void 0).resolveAny(VB());await n.exists(px.Uri.file(r))&&UB()}}function UB(){R("ENVFILE_WORKSPACE"),dx=!0}function WB(){return!dx}function VB(){return fC||(fC=px.workspace.getConfiguration("python").inspect("envFile")?.defaultValue||""),fC}var pae;(t=>{function n({telemetrySent:r,defaultSetting:i}){r!==void 0&&(dx=r),VB!==void 0&&(fC=i)}t.setState=n;function e(){fC=void 0,dx=!1}t.resetState=e})(pae||={});var mae=60*1e3,Sm=class{constructor(e,t,r,i,o=mae){this.envVarsService=e;this.extensionChecker=r;this.pythonApi=i;this.cacheDuration=o;this.trackedWorkspaceFolders=new Set;this.fileWatchers=new Set;this.disposables=[];this.changeEventEmitter=new go.EventEmitter;t.push(this)}get onDidEnvironmentVariablesChange(){return this.changeEventEmitter.event}dispose(){this.changeEventEmitter.dispose(),z(this.disposables)}async getEnvironmentVariables(e,t,r){if(e=e||(go.workspace.workspaceFolders?.length?go.workspace.workspaceFolders[0].uri:void 0),t==="RunPythonCode")return this._getEnvironmentVariables(e,t,r);let i=new Jp(this.cacheDuration,this.getCacheKeyForMergedVars(e));if(i.hasData&&i.data)return p.debug(`Cached data exists getEnvironmentVariables, ${e?e.fsPath:"<No Resource>"}`),i.data;let o=this._getEnvironmentVariables(e,t,r);return o.then(s=>{r?.isCancellationRequested||(i.data=s)}).catch(h),o}async getCustomEnvironmentVariables(e,t,r){e=e||(go.workspace.workspaceFolders?.length?go.workspace.workspaceFolders[0].uri:void 0);let i=this.getWorkspaceFolderUri(e);if(!i){p.ci(`No workspace folder found for ${e?e.fsPath:"<No Resource>"}`);return}if(t==="RunPythonCode"&&this.extensionChecker.isPythonExtensionInstalled){let l=await this.pythonApi.getNewApi();if(l&&!r?.isCancellationRequested)return this.pythonEnvVarChangeEventHooked||(this.pythonEnvVarChangeEventHooked=!0,l.environments.onDidEnvironmentVariablesChange(c=>{p.debug(`Python env vars changed ${c.resource?.uri?.path}`),this.onEnvironmentFileChanged(c.resource?.uri),this.changeEventEmitter.fire(c.resource?.uri)},this,this.disposables)),l.environments.getEnvironmentVariables(i)}let o=new Jp(this.cacheDuration,this.getCacheKeyForCustomVars(e));if(o.hasData)return p.debug(`Cached custom vars data exists getCustomEnvironmentVariables, ${e?e.fsPath:"<No Resource>"}`),o.data;if(r?.isCancellationRequested)return;this.trackedWorkspaceFolders.add(i.fsPath||"");let s=this.getEnvFile(i);this.createFileWatcher(s,i);let a=this.envVarsService.parseFile(s,process.env);return a.then(l=>{r?.isCancellationRequested||(o.data=l)}).catch(h),a}createFileWatcher(e,t){let r=this.getCacheKeyForMergedVars(t);if(this.fileWatchers.has(r))return;let i=new go.RelativePattern(go.Uri.file(nt(e)),Ce(e)),o=go.workspace.createFileSystemWatcher(i,!1,!1,!1);o?(this.disposables.push(o),this.fileWatchers.add(r),o.onDidChange(()=>this.onEnvironmentFileChanged(t),this,this.disposables),o.onDidCreate(()=>this.onEnvironmentFileCreated(t),this,this.disposables),o.onDidDelete(()=>this.onEnvironmentFileChanged(t),this,this.disposables)):p.error("Failed to create file watcher for environment file")}getEnvFile(e){return Le(e.fsPath,".env")}async _getEnvironmentVariables(e,t,r){let i=await this.getCustomEnvironmentVariables(e,t,r);if(r?.isCancellationRequested)return{};if(i&&t==="RunPythonCode"&&this.extensionChecker.isPythonExtensionInstalled)return i;i||(i={});let o={};this.envVarsService.mergeVariables(process.env,o),this.envVarsService.mergeVariables(i,o),this.envVarsService.mergePaths(process.env,o),process.env.PYTHONPATH&&(o.PYTHONPATH=process.env.PYTHONPATH);let s=i?Object.keys(i).find(a=>a.toLowerCase()=="path"):void 0;return s&&i[s]&&this.envVarsService.appendPath(o,i[s]),i.PYTHONPATH&&this.envVarsService.appendPythonPath(o,i.PYTHONPATH),o}getWorkspaceFolderUri(e){let t=go.workspace.workspaceFolders||[],r=t.length===1?t[0].uri:void 0;return e&&go.workspace.getWorkspaceFolder(e)?.uri||r}onEnvironmentFileCreated(e){this.onEnvironmentFileChanged(e),FB()}onEnvironmentFileChanged(e){new Jp(this.cacheDuration,this.getCacheKeyForMergedVars(e)).clear(),new Jp(this.cacheDuration,this.getCacheKeyForCustomVars(e)).clear(),this.changeEventEmitter.fire(e)}getCacheKeyForMergedVars(e){return`${bs(e)}:RunNonPythonCode`}getCacheKeyForCustomVars(e){return`${bs(e)}:RunNonPythonCode:CustomVars`}};v([Zn("Get Custom Env Variables",1)],Sm.prototype,"getEnvironmentVariables",1),Sm=v([(0,_l.injectable)(),m(0,(0,_l.inject)(gl)),m(1,(0,_l.inject)(M)),m(2,(0,_l.inject)(Be)),m(3,(0,_l.inject)(Ht)),m(4,(0,_l.inject)("number")),m(4,(0,_l.optional)())],Sm);function jB(n){n.addSingleton(gl,Mg),n.addSingleton(vl,Sm)}var JB=k(N()),Pd=require("vscode");var aM=require("vscode");var Og=class{activate(){Pd.commands.registerCommand("jupyter.runInDedicatedExtensionHost",this.updateAffinity,this)}async updateAffinity(){let e=aM.workspace.getConfiguration("extensions").get("experimental.affinity"),t=0;e&&Object.values(e).forEach(o=>{t=Math.max(t,o)});let r=t+1,i={"ms-toolsai.jupyter":r,"ms-toolsai.jupyter-renderers":r};Pd.extensions.getExtension(Yn)&&(i[Yn]=r),Pd.extensions.getExtension(Vp)&&(i[Vp]=r),await aM.workspace.getConfiguration("extensions").update("experimental.affinity",{...e??{},...i},Pd.ConfigurationTarget.Global),Pd.commands.executeCommand("workbench.action.reloadWindow").then(h,h)}};Og=v([(0,JB.injectable)()],Og);var hC=require("vscode");var Tl=k(N());var BB=["currentServerHash","connectToLocalKernelsOnly","JUPYTER_LOCAL_KERNELSPECS","JUPYTER_LOCAL_KERNELSPECS_V1","JUPYTER_LOCAL_KERNELSPECS_V2","JUPYTER_LOCAL_KERNELSPECS_V3","JUPYTER_REMOTE_KERNELSPECS","JUPYTER_REMOTE_KERNELSPECS_V1","JUPYTER_REMOTE_KERNELSPECS_V2","JUPYTER_REMOTE_KERNELSPECS_V3","JUPYTER_LOCAL_KERNELSPECS_V4","JUPYTER_REMOTE_KERNELSPECS_V4-","LOCAL_KERNEL_SPECS_CACHE_KEY_V_2022_10","LOCAL_KERNEL_PYTHON_AND_RELATED_SPECS_CACHE_KEY_V_2022_10","user-jupyter-server-uri-list-v2","REGISTRATION_ID_EXTENSION_OWNER_MEMENTO_KEY","jupyter.jupyterServer.uriList"],Fg=class{constructor(e,t,r,i){this.globalState=e;this.crypto=t;this.workspaceState=r;this.extensionContext=i}activate(){this.removeOldCachedItems().then(h,h)}async removeOldCachedItems(){await Promise.all([await this.getUriAccountKey()].concat(BB).filter(t=>this.globalState.get(t,void 0)!==void 0).map(t=>this.globalState.update(t,void 0).then(h,h)));let e=this.workspaceState.keys().filter(t=>t.startsWith("LAST_EXECUTED_CELL_")&&!t.startsWith("LAST_EXECUTED_CELL_V2_"));await Promise.all(e.map(t=>this.workspaceState.update(t,void 0))),await Promise.all(BB.map(t=>this.globalState.keys().filter(r=>r.startsWith(t)).map(r=>this.globalState.update(r,void 0).then(h,h))).flat()),await this.extensionContext.secrets.delete(`${Qn.JupyterServerRemoteLaunchService}.remote-uri-list`).then(h,h)}async getUriAccountKey(){let e=ll();return e?this.crypto.createHash(ke(e),"SHA-512"):hC.workspace.workspaceFile?this.crypto.createHash(ke(hC.workspace.workspaceFile),"SHA-512"):hC.env.machineId}};Fg=v([(0,Tl.injectable)(),m(0,(0,Tl.inject)(We)),m(0,(0,Tl.named)(lt)),m(1,(0,Tl.inject)(Ch)),m(2,(0,Tl.inject)(We)),m(2,(0,Tl.named)(ei)),m(3,(0,Tl.inject)(et))],Fg);function $B(n){n.addSingletonInstance(K2,p9),n.addSingleton(oa,mg),n.addSingleton(il,Sg),n.addSingleton(_i,Tc),n.addSingleton(Sl,yg),n.addSingleton(oC,pg),n.addSingleton(Ch,vh),n.addSingleton(gs,bg),n.addSingleton(gP,Ig),n.addSingleton(No,fg),n.addSingleton(wg,Cg),n.addSingleton(me,Eg),n.addSingleton(me,Fg),n.addSingleton(me,dg),n.addSingleton(me,Og),_B(n),NB(n),jB(n)}var fx=k(N());var jo=Le(__dirname,"..");var lM=Le(jo,"pythonFiles"),fae=lM;function qB(){let e=[Le(fae,"normalizeSelection.py")];function t(r){return r}return[e,t]}var Ti=require("vscode");var mx=class{async normalizeLines(e,t){return e}async getFileToExecute(){let e=Ti.window.activeTextEditor;if(!e){Ti.window.showErrorMessage("No open file to run in terminal").then(h,h);return}if(e.document.isUntitled){Ti.window.showErrorMessage("The active file needs to be saved before it can be run").then(h,h);return}if(e.document.languageId!==ge){Ti.window.showErrorMessage("The active file is not a Python source file").then(h,h);return}return e.document.isDirty&&await e.document.save(),e.document.uri}getSelectedTextToExecute(e){if(!e)return;let t=e.selection,r;return t.isEmpty?r=e.document.lineAt(t.start.line).text:t.isSingleLine?r=this.getSingleLineSelectionText(e):r=this.getMultiLineSelectionText(e),sh(r.trimEnd())}async saveFileIfDirty(e){let t=Ti.workspace.textDocuments.filter(r=>r.uri.path===e.path);t.length===1&&t[0].isDirty&&await t[0].save()}getSingleLineSelectionText(e){let t=e.selection,r=new Ti.Range(t.start,t.end),i=e.document.getText(r),o=e.document.lineAt(t.start.line).text;return i.trim()===o.trim()?o:i}getMultiLineSelectionText(e){let t=e.selection,r=new Ti.Range(t.start,t.end),i=e.document.getText(r),o=new Ti.Range(new Ti.Position(t.start.line,0),new Ti.Position(t.end.line,e.document.lineAt(t.end.line).text.length)),s=e.document.getText(o);if(i.trim()===s.trim())return s;let a=e.document.lineAt(t.start.line).text,l=new Ti.Range(t.start,new Ti.Position(t.start.line,a.length)),c=e.document.getText(l);return c.trimStart()===a.trimStart()?a+i.substring(c.length):i}};var Lg=class extends mx{constructor(t){super();this.processServiceFactory=t.get(Di),this.interpreterService=t.get(Xe)}async normalizeLines(t,r){let i=[];try{let o=t.trim();if(o.length===0)return"";if(t=t.replace(new RegExp("\\r","g"),""),o.indexOf(`
|
||
`)===-1)return o+`
|
||
`;let s=await this.interpreterService.getActiveInterpreter(r),a=await this.processServiceFactory.create(r),[l,c]=qB(),u=a.execObservable(ke(s?.uri)||"python",l,{throwOnStdErr:!0}),d="";u.out.onDidChange(A=>{A.source==="stdout"&&(d+=A.out)},this,i);let f=JSON.stringify({code:t});u.proc?.stdin?.write(f),u.proc?.stdin?.end(),await u.out.done;let b=JSON.parse(d),I=c(b.normalized),E=Oe(t,{trim:!0,removeEmptyEntries:!1}).findIndex(A=>A.length),x=Oe(I,{trim:!0,removeEmptyEntries:!1}).findIndex(A=>A.length);if(E>x){let A=E-x;return`${`
|
||
`.repeat(A)}${I}`}return I}catch(o){return p.error(o,"Python: Failed to normalize code for execution in Interactive Window"),t}finally{z(i)}}};Lg=v([(0,fx.injectable)(),m(0,(0,fx.inject)(rt))],Lg);var hx=Symbol("ICodeExecutionHelper");function HB(n){n.addSingleton(hx,Lg)}var kd=k(N()),zB=k(Fh()),gC=require("vscode");var GB="CONDA_INFORMATION_CACHE";function cM(n){return n&&DE(n.fsPath)&&n.fsPath.startsWith(Tn)&&`${Tn}${Ce(n.fsPath)}`===n.fsPath?Ce(n.fsPath):n?.fsPath}var _s=class{constructor(e,t,r){this.pythonApi=e;this.globalState=t;this.fs=r}async getCondaVersion(){if(this._version)return this._version;if(this._previousVersionCall)return this._previousVersionCall;let e=async()=>{let t=this.getCondaVersionFromPython();t.then(i=>{this._version=i,this.updateCache().catch(h)}).catch(h);let r=us(this.getCachedInformation());return await Promise.race([r.promise,t]),r.completed&&r.value?.version?this._version=r.value.version:t};return this._previousVersionCall=e(),this._previousVersionCall}async getCondaFile(){if(this._file)return cM(this._file);if(this._previousFileCall)return this._previousFileCall.then(cM);let e=async()=>{let t=this.pythonApi.getApi().then(i=>i.getCondaFile?i.getCondaFile():void 0);t.then(i=>{p.trace(`Conda file is ${i}`),this._file=i?gC.Uri.file(i):void 0,this.updateCache().catch(h)}).catch(h);let r=us(this.getCachedInformation());return await Promise.race([r.promise,t]),r.completed&&r.value?.file?this._file=r.value.file:t.then(i=>i?gC.Uri.file(i):void 0)};return this._previousFileCall=e(),this._previousFileCall.then(cM)}async isCondaAvailable(){return typeof this.isAvailable=="boolean"?this.isAvailable:this.getCondaVersion().then(e=>this.isAvailable=e!==void 0).catch(()=>this.isAvailable=!1)}async updateCache(){if(!this._file||!this._version)return;let e=this._file.fsPath.toLowerCase().endsWith("conda")?"":await this.fs.getFileHash(this._file);await this.globalState.update(GB,{version:this._version.raw,file:this._file.fsPath,fileHash:e})}async getCachedInformation(){let e=this.globalState.get(GB,void 0);if(!e)return;let t=e.file.toLowerCase().endsWith("conda")?"":await this.fs.getFileHash(gC.Uri.file(e.file));if(e.fileHash===t)return{version:new zB.SemVer(e.version),file:gC.Uri.file(e.file)}}async getCondaVersionFromPython(){return this.pythonApi.getApi().then(e=>e.getCondaVersion?e.getCondaVersion():void 0)}};_s=v([(0,kd.injectable)(),m(0,(0,kd.inject)(Ht)),m(1,(0,kd.inject)(We)),m(1,(0,kd.named)(lt)),m(2,(0,kd.inject)(tt))],_s);var vC=k(N());var YB=k(gx());var QB="_VSCODE_getDataFrame",vx=YB.default`
|
||
try:
|
||
del _VSCODE_getDataFrame
|
||
except:
|
||
pass
|
||
`,Rl=class{constructor(e,t){this.fs=e;this.context=t}async generateCodeToGetDataFrameInfo(e){let t=await this.getContentsOfDataFrameScript(),r=e.isDebugging?"True":"False",i=`${QB}("info", ${r}, ${e.variableName})`;return e.isDebugging?{initializeCode:t,code:i,cleanupCode:vx}:{code:`${t}
|
||
|
||
${i}
|
||
|
||
${vx}`}}async generateCodeToGetDataFrameRows(e){let t=await this.getContentsOfDataFrameScript(),r=e.isDebugging?"True":"False",i=`${QB}("rows", ${r}, ${e.variableName}, ${e.startIndex}, ${e.endIndex})`;return e.isDebugging?{initializeCode:t,code:i,cleanupCode:vx}:{code:`${t}
|
||
|
||
${i}
|
||
|
||
${vx}`}}async getContentsOfDataFrameScript(){if(Rl.contentsOfDataFrameScript)return Rl.contentsOfDataFrameScript;let e=zt(this.context.extensionUri,"pythonFiles","vscode_datascience_helpers","dataframes","vscodeDataFrame.py"),t=await this.fs.readFile(e);return Rl.contentsOfDataFrameScript=t,t}};Rl=v([(0,vC.injectable)(),m(0,(0,vC.inject)(tt)),m(1,(0,vC.inject)(et))],Rl);var bC=k(N());function yx(n,e){e===void 0&&(e=!1);var t=n.length,r=0,i="",o=0,s=16,a=0,l=0,c=0,u=0,d=0;function f(T,J){for(var ne=0,H=0;ne<T||!J;){var oe=n.charCodeAt(r);if(oe>=48&&oe<=57)H=H*16+oe-48;else if(oe>=65&&oe<=70)H=H*16+oe-65+10;else if(oe>=97&&oe<=102)H=H*16+oe-97+10;else break;r++,ne++}return ne<T&&(H=-1),H}function g(T){r=T,i="",o=0,s=16,d=0}function b(){var T=r;if(n.charCodeAt(r)===48)r++;else for(r++;r<n.length&&Ug(n.charCodeAt(r));)r++;if(r<n.length&&n.charCodeAt(r)===46)if(r++,r<n.length&&Ug(n.charCodeAt(r)))for(r++;r<n.length&&Ug(n.charCodeAt(r));)r++;else return d=3,n.substring(T,r);var J=r;if(r<n.length&&(n.charCodeAt(r)===69||n.charCodeAt(r)===101))if(r++,(r<n.length&&n.charCodeAt(r)===43||n.charCodeAt(r)===45)&&r++,r<n.length&&Ug(n.charCodeAt(r))){for(r++;r<n.length&&Ug(n.charCodeAt(r));)r++;J=r}else d=3;return n.substring(T,J)}function I(){for(var T="",J=r;;){if(r>=t){T+=n.substring(J,r),d=2;break}var ne=n.charCodeAt(r);if(ne===34){T+=n.substring(J,r),r++;break}if(ne===92){if(T+=n.substring(J,r),r++,r>=t){d=2;break}var H=n.charCodeAt(r++);switch(H){case 34:T+='"';break;case 92:T+="\\";break;case 47:T+="/";break;case 98:T+="\b";break;case 102:T+="\f";break;case 110:T+=`
|
||
`;break;case 114:T+="\r";break;case 116:T+=" ";break;case 117:var oe=f(4,!0);oe>=0?T+=String.fromCharCode(oe):d=4;break;default:d=5}J=r;continue}if(ne>=0&&ne<=31)if(yC(ne)){T+=n.substring(J,r),d=2;break}else d=6;r++}return T}function E(){if(i="",d=0,o=r,l=a,u=c,r>=t)return o=t,s=17;var T=n.charCodeAt(r);if(dM(T)){do r++,i+=String.fromCharCode(T),T=n.charCodeAt(r);while(dM(T));return s=15}if(yC(T))return r++,i+=String.fromCharCode(T),T===13&&n.charCodeAt(r)===10&&(r++,i+=`
|
||
`),a++,c=r,s=14;switch(T){case 123:return r++,s=1;case 125:return r++,s=2;case 91:return r++,s=3;case 93:return r++,s=4;case 58:return r++,s=6;case 44:return r++,s=5;case 34:return r++,i=I(),s=10;case 47:var J=r-1;if(n.charCodeAt(r+1)===47){for(r+=2;r<t&&!yC(n.charCodeAt(r));)r++;return i=n.substring(J,r),s=12}if(n.charCodeAt(r+1)===42){r+=2;for(var ne=t-1,H=!1;r<ne;){var oe=n.charCodeAt(r);if(oe===42&&n.charCodeAt(r+1)===47){r+=2,H=!0;break}r++,yC(oe)&&(oe===13&&n.charCodeAt(r)===10&&r++,a++,c=r)}return H||(r++,d=1),i=n.substring(J,r),s=13}return i+=String.fromCharCode(T),r++,s=16;case 45:if(i+=String.fromCharCode(T),r++,r===t||!Ug(n.charCodeAt(r)))return s=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=b(),s=11;default:for(;r<t&&x(T);)r++,T=n.charCodeAt(r);if(o!==r){switch(i=n.substring(o,r),i){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return i+=String.fromCharCode(T),r++,s=16}}function x(T){if(dM(T)||yC(T))return!1;switch(T){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function A(){var T;do T=E();while(T>=12&&T<=15);return T}return{setPosition:g,getPosition:function(){return r},scan:e?A:E,getToken:function(){return s},getTokenValue:function(){return i},getTokenOffset:function(){return o},getTokenLength:function(){return r-o},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return o-u},getTokenError:function(){return d}}}function dM(n){return n===32||n===9||n===11||n===12||n===160||n===5760||n>=8192&&n<=8203||n===8239||n===8287||n===12288||n===65279}function yC(n){return n===10||n===13||n===8232||n===8233}function Ug(n){return n>=48&&n<=57}var bx;(function(n){n.DEFAULT={allowTrailingComma:!1}})(bx||(bx={}));function XB(n,e){var t=[],r=new Object,i=void 0,o={value:{},offset:0,length:0,type:"object",parent:void 0},s=!1;function a(l,c,u,d){o.value=l,o.offset=c,o.length=u,o.type=d,o.colonOffset=void 0,i=o}try{fM(n,{onObjectBegin:function(l,c){if(e<=l)throw r;i=void 0,s=e>l,t.push("")},onObjectProperty:function(l,c,u){if(e<c||(a(l,c,u,"property"),t[t.length-1]=l,e<=c+u))throw r},onObjectEnd:function(l,c){if(e<=l)throw r;i=void 0,t.pop()},onArrayBegin:function(l,c){if(e<=l)throw r;i=void 0,t.push(0)},onArrayEnd:function(l,c){if(e<=l)throw r;i=void 0,t.pop()},onLiteralValue:function(l,c,u){if(e<c||(a(l,c,u,ZB(l)),e<=c+u))throw r},onSeparator:function(l,c,u){if(e<=c)throw r;if(l===":"&&i&&i.type==="property")i.colonOffset=c,s=!1,i=void 0;else if(l===","){var d=t[t.length-1];typeof d=="number"?t[t.length-1]=d+1:(s=!0,t[t.length-1]=""),i=void 0}}})}catch(l){if(l!==r)throw l}return{path:t,previousNode:i,isAtPropertyKey:s,matches:function(l){for(var c=0,u=0;c<l.length&&u<t.length;u++)if(l[c]===t[u]||l[c]==="*")c++;else if(l[c]!=="**")return!1;return c===l.length}}}function pM(n,e,t){e===void 0&&(e=[]),t===void 0&&(t=bx.DEFAULT);var r={type:"array",offset:-1,length:-1,children:[],parent:void 0};function i(l){r.type==="property"&&(r.length=l-r.offset,r=r.parent)}function o(l){return r.children.push(l),l}var s={onObjectBegin:function(l){r=o({type:"object",offset:l,length:-1,parent:r,children:[]})},onObjectProperty:function(l,c,u){r=o({type:"property",offset:c,length:-1,parent:r,children:[]}),r.children.push({type:"string",value:l,offset:c,length:u,parent:r})},onObjectEnd:function(l,c){i(l+c),r.length=l+c-r.offset,r=r.parent,i(l+c)},onArrayBegin:function(l,c){r=o({type:"array",offset:l,length:-1,parent:r,children:[]})},onArrayEnd:function(l,c){r.length=l+c-r.offset,r=r.parent,i(l+c)},onLiteralValue:function(l,c,u){o({type:ZB(l),offset:c,length:u,parent:r,value:l}),i(c+u)},onSeparator:function(l,c,u){r.type==="property"&&(l===":"?r.colonOffset=c:l===","&&i(c))},onError:function(l,c,u){e.push({error:l,offset:c,length:u})}};fM(n,s,t);var a=r.children[0];return a&&delete a.parent,a}function mM(n,e){if(n){for(var t=n,r=0,i=e;r<i.length;r++){var o=i[r];if(typeof o=="string"){if(t.type!=="object"||!Array.isArray(t.children))return;for(var s=!1,a=0,l=t.children;a<l.length;a++){var c=l[a];if(Array.isArray(c.children)&&c.children[0].value===o){t=c.children[1],s=!0;break}}if(!s)return}else{var u=o;if(t.type!=="array"||u<0||!Array.isArray(t.children)||u>=t.children.length)return;t=t.children[u]}}return t}}function Ix(n){switch(n.type){case"array":return n.children.map(Ix);case"object":for(var e=Object.create(null),t=0,r=n.children;t<r.length;t++){var i=r[t],o=i.children[1];o&&(e[i.children[0].value]=Ix(o))}return e;case"null":case"string":case"number":case"boolean":return n.value;default:return}}function fM(n,e,t){t===void 0&&(t=bx.DEFAULT);var r=yx(n,!1);function i(Y){return Y?function(){return Y(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter())}:function(){return!0}}function o(Y){return Y?function(Ie){return Y(Ie,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter())}:function(){return!0}}var s=i(e.onObjectBegin),a=o(e.onObjectProperty),l=i(e.onObjectEnd),c=i(e.onArrayBegin),u=i(e.onArrayEnd),d=o(e.onLiteralValue),f=o(e.onSeparator),g=i(e.onComment),b=o(e.onError),I=t&&t.disallowComments,E=t&&t.allowTrailingComma;function x(){for(;;){var Y=r.scan();switch(r.getTokenError()){case 4:A(14);break;case 5:A(15);break;case 3:A(13);break;case 1:I||A(11);break;case 2:A(12);break;case 6:A(16);break}switch(Y){case 12:case 13:I?A(10):g();break;case 16:A(1);break;case 15:case 14:break;default:return Y}}}function A(Y,Ie,Ke){if(Ie===void 0&&(Ie=[]),Ke===void 0&&(Ke=[]),b(Y),Ie.length+Ke.length>0)for(var pt=r.getToken();pt!==17;){if(Ie.indexOf(pt)!==-1){x();break}else if(Ke.indexOf(pt)!==-1)break;pt=x()}}function T(Y){var Ie=r.getTokenValue();return Y?d(Ie):a(Ie),x(),!0}function J(){switch(r.getToken()){case 11:var Y=r.getTokenValue(),Ie=Number(Y);isNaN(Ie)&&(A(2),Ie=0),d(Ie);break;case 7:d(null);break;case 8:d(!0);break;case 9:d(!1);break;default:return!1}return x(),!0}function ne(){return r.getToken()!==10?(A(3,[],[2,5]),!1):(T(!1),r.getToken()===6?(f(":"),x(),ae()||A(4,[],[2,5])):A(5,[],[2,5]),!0)}function H(){s(),x();for(var Y=!1;r.getToken()!==2&&r.getToken()!==17;){if(r.getToken()===5){if(Y||A(4,[],[]),f(","),x(),r.getToken()===2&&E)break}else Y&&A(6,[],[]);ne()||A(4,[],[2,5]),Y=!0}return l(),r.getToken()!==2?A(7,[2],[]):x(),!0}function oe(){c(),x();for(var Y=!1;r.getToken()!==4&&r.getToken()!==17;){if(r.getToken()===5){if(Y||A(4,[],[]),f(","),x(),r.getToken()===4&&E)break}else Y&&A(6,[],[]);ae()||A(4,[],[4,5]),Y=!0}return u(),r.getToken()!==4?A(8,[4],[]):x(),!0}function ae(){switch(r.getToken()){case 3:return oe();case 1:return H();case 10:return T(!0);default:return J()}}return x(),r.getToken()===17?t.allowEmptyContent?!0:(A(4,[],[]),!1):ae()?(r.getToken()!==17&&A(9,[],[]),!0):(A(4,[],[]),!1)}function ZB(n){switch(typeof n){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(n){if(Array.isArray(n))return"array"}else return"null";return"object"}default:return"null"}}var hM=XB;var e3=pM,t3=mM;var r3=Ix;var vM=require("vscode");var Sx=k(N()),Nc=require("vscode");var ri=class{constructor(e){this.disposables=[];this._onDidChange=new Nc.EventEmitter;e.push(this),tn()||Nc.workspace.onDidChangeConfiguration(t=>{t.affectsConfiguration("jupyter.kernels.excludePythonEnvironments")&&this._onDidChange.fire()},this,this.disposables)}get onDidChange(){return this._onDidChange.event}dispose(){this._onDidChange.dispose(),z(this.disposables)}isPythonEnvironmentExcluded(e){if(tn())return!1;let t=this.getExcludedPythonEnvironments(),r=gM(e,t),i="uri"in e?e.uri:e.executable.uri;return r&&(R("DATASCIENCE.JUPYTER_KERNEL_HIDDEN_VIA_FILTER"),p.debug(`Python Env hidden via filter: ${j(i)}`)),r}getExcludedPythonEnvironments(){if(!Nc.workspace.workspaceFolders||Nc.workspace.workspaceFolders.length===0)return Nc.workspace.getConfiguration("jupyter",void 0).get("kernels.excludePythonEnvironments",[]);let e=[];return Nc.workspace.workspaceFolders.forEach(t=>{e.push(...Nc.workspace.getConfiguration("jupyter",t.uri).get("kernels.excludePythonEnvironments",[]))}),e}};ri=v([(0,Sx.injectable)(),m(0,(0,Sx.inject)(M))],ri);function gM(n,e){let t="uri"in n?n.envPath:n.environment?.folderUri,r="uri"in n?n.uri:n.executable.uri;return!r&&!t?!1:e.some(o=>{let s=j(o.trim()).toLowerCase().replace(/\\/g,"/");if(o=o.trim().toLowerCase().replace(/\\/g,"/"),o.length===0||s.length===0)return!1;let a=j(r).toLowerCase().replace(/\\/g,"/"),l=r?r.fsPath.toLowerCase().replace(/\\/g,"/"):"";if(o===a||s===a||o===l||s===l)return!0;let c=j(t||"").toLowerCase().replace(/\\/g,"/"),u=j(t||"").toLowerCase().replace(/\\/g,"/");return o===c||s===c||o===u||s===u})}var xd=class{constructor(e,t){this.disposableRegistry=e;this.pythonExtChecker=t;this.supportedWorkspaceTypes={untrustedWorkspace:!1,virtualWorkspace:!1}}async activate(){this.disposableRegistry.push(vM.languages.registerCompletionItemProvider({language:"json"},this,",","[")),this.disposableRegistry.push(vM.languages.registerCompletionItemProvider({language:"jsonc"},this,",","["))}async provideCompletionItems(e,t,r){if(!this.pythonExtChecker.isPythonExtensionInstalled||!this.pythonExtChecker.isPythonExtensionActive||so().length===0||!xd.canProvideCompletions(e,t))return[];let i=this.getCurrentItemsInList(e,t);return so().filter(o=>!gM(o,i)).map(o=>{let s=qr(o),a=j(o.executable.uri);return{label:s,detail:a,insertText:`"${a.replace(/\\/g,"\\\\")}"`,filterText:`${s} ${a}`}})}static canProvideCompletions(e,t){if(Ce(e.uri.fsPath)!=="settings.json")return!1;let r=hM(e.getText(),e.offsetAt(t));return r.path[0]==="jupyter.kernels.excludePythonEnvironments"&&r.path.length===2}getCurrentItemsInList(e,t){try{let r=e.getText(),i=hM(r,e.offsetAt(t)),o=e3(r),s=t3(o,[i.path[0]]);if(!s)return[];let a=r3(s);return Array.isArray(a)?a:[]}catch(r){return p.warn("Failed to provide completions for python env filter",r),[]}}};xd=v([(0,bC.injectable)(),m(0,(0,bC.inject)(M)),m(1,(0,bC.inject)(Be))],xd);var n3=k(N()),Ri=require("vscode");var Wg=class{activate(){this.migrateFilters().catch(h)}async migrateFilters(){let e=Array.isArray(Ri.workspace.workspaceFolders)?Ri.workspace.workspaceFolders:[];await this.migrateWorkspaceFilters(Ri.workspace.getConfiguration("jupyter",void 0),Ri.ConfigurationTarget.Global),e.length===0?await this.migrateWorkspaceFilters(Ri.workspace.getConfiguration("jupyter",void 0),Ri.ConfigurationTarget.Global):e.length===1?await this.migrateWorkspaceFilters(Ri.workspace.getConfiguration("jupyter",e[0].uri),Ri.ConfigurationTarget.WorkspaceFolder):(await this.migrateWorkspaceFilters(Ri.workspace.getConfiguration("jupyter",void 0),Ri.ConfigurationTarget.Workspace),await Promise.all(e.map(t=>this.migrateWorkspaceFilters(Ri.workspace.getConfiguration("jupyter",t.uri),Ri.ConfigurationTarget.WorkspaceFolder))))}async migrateWorkspaceFilters(e,t){let r=e.inspect("kernels.filter"),i=[];switch(t){case Ri.ConfigurationTarget.Global:i=r?.globalValue||[];break;case Ri.ConfigurationTarget.Workspace:i=r?.workspaceValue||[];break;default:i=r?.workspaceFolderValue||[]}let o=i.filter(s=>s.type==="pythonEnvironment").map(s=>s.path);i.length&&await e.update("kernels.filter",void 0,t),o.length&&await e.update("kernels.excludePythonEnvironments",Array.from(new Set(o)),t)}};Wg=v([(0,n3.injectable)()],Wg);var Cx=k(N());var yM=require("vscode");var Vg=class{constructor(e){this.disposables=e}activate(){this.disposables.push(yM.commands.registerCommand("jupyter.filterKernels",()=>yM.commands.executeCommand("workbench.action.openSettings","jupyter.kernels.excludePythonEnvironments").then(h,h),this))}};Vg=v([(0,Cx.injectable)(),m(0,(0,Cx.inject)(M))],Vg);var Ex=k(N());var Cm=Symbol("IModuleInstaller"),b1e=Symbol("IPythonInstallation"),wx=Symbol("IInstallationChannelManager"),IC=Symbol("IProductService"),SC=Symbol("IProductPathService");var Ai=Symbol("IInstaller");var Jg=require("vscode");var jg=class{constructor(e){this.serviceContainer=e}async getInstallationChannel(e,t){let r=await this.getInstallationChannels(t);if(r.length>=1)return r[0];if(r.length===0){await this.showNoInstallersMessage(t);return}}async getInstallationChannels(e){let t=this.serviceContainer.getAll(Cm),r=[];if(t.length===0)return[];t.sort((o,s)=>s.priority-o.priority);let i=t[0].priority;for(let o of t){if(o.priority!==i){if(r.length>0)break;i=o.priority}await o.isSupported(e)&&r.push(o)}return r}async showNoInstallersMessage(e){let t=Ve(e);if(await Jg.window.showErrorMessage(t==="Conda"?bh.noCondaOrPipInstaller:bh.noPipInstaller,{modal:!0},bh.searchForHelp)===bh.searchForHelp){let i=this.serviceContainer.get(br),o=i.isWindows?"Windows":i.isMac?"MacOS":"Linux";Jg.env.openExternal(Jg.Uri.parse(`https://www.bing.com/search?q=Install Pip ${o} ${t==="Conda"?"Conda":""}`))}}};jg=v([(0,Ex.injectable)(),m(0,(0,Ex.inject)(rt))],jg);var xx=k(N());var Px=require("vscode");function Gi(n){switch(n){case 18:return"jupyter";case 20:return"notebook";case 23:return"pandas";case 19:return"ipykernel";case 22:return"nbconvert";case 21:return"kernelspec";case 27:return"pip";case 28:return"ensurepip";default:throw new Error(`Product ${n} cannot be installed as a Python Module.`)}}var i3=require("os");var Bg=class extends qe{constructor(t,r,i){super("windowsLongPathNotEnabled",i);this.product=t;this.interpreter=r;this.originalMessage=i}};var Nr=Symbol("IPythonExecutionFactory"),O1e=Symbol("IPythonExecutionService");var Al=class{constructor(e){this.serviceContainer=e}async installModule(e,t,r,i){let o=typeof e=="string"?e:Gi(e),s=await this.getExecutionArgs(o,t,i),a=this.serviceContainer.get(Nr),l=this.serviceContainer.get(Di),c=this.serviceContainer.get(ks),u=this.serviceContainer.get(gl);if(r.token.isCancellationRequested)return;let d=async(g,b)=>{let I=re(),E=[];b.onCancellationRequested(()=>{r.cancel(),I.resolve()},this,E);let x;if(s.useShellExec){let H=await l.create(void 0);if(r.token.isCancellationRequested)return;try{let oe=await H.shellExec(s.args.join(" "),{cwd:s.cwd});p.debug(oe.stdout),I.resolve()}catch(oe){I.reject(oe)}}else if(s.exe){let H=await c.getActivatedEnvironmentVariables(void 0,t);if(r.token.isCancellationRequested)return;let oe={...process.env};u.mergeVariables(H||{},oe),u.mergePaths(H||{},oe);let ae=await l.create(void 0);if(r.token.isCancellationRequested)return;x=ae.execObservable(s.exe,s.args,{encoding:"utf-8",token:b,env:oe,cwd:s.cwd})}else{let H=await a.createActivatedEnvironment({interpreter:t});if(r.token.isCancellationRequested)return;x=H.execObservable(s.args,{encoding:"utf-8",token:b,cwd:s.cwd})}let A,T,J=[".","..","..."],ne=0;return x&&(x.out.onDidChange(H=>{let oe=J[ne%3],ae=H.out.trim();ne+=1;let Y=ae.length>28?`${ae.substring(0,28)}${oe}`:ae;g.report({message:Y}),p.debug(H.out),H.source==="stderr"&&(T?T+=H.out:!T&&H.out.includes("ERROR: Could not install packages")&&(T=H.out.substring(H.out.indexOf("ERROR: Could not install packages"))),A=H.out)},this,E),x.out.done.then(()=>{x?.proc?.exitCode!==0?T&&T.includes("https://pip.pypa.io/warnings/enable-long-paths")?(T=Oe(T,{trim:!0,removeEmptyEntries:!0}).filter(H=>!H.startsWith("[notice]")).join(i3.EOL),I.reject(new Bg(e,t,T))):I.reject(A||x?.proc?.exitCode):I.resolve()},H=>{I.reject(H)}).finally(()=>z(E))),I.promise},f={location:Px.ProgressLocation.Notification,cancellable:!0,title:gA.installingModule(o)};await Px.window.withProgress(f,async(g,b)=>d(g,b))}};var Cae=[Gi(18),Gi(20)];function kx(n,e){return Cae.includes(e)?n==="pip"?["jupyter-client<8","pyzmq<25"]:["jupyter_client<8","pyzmq<25"]:[]}var o3=require("vscode");var $g=class extends Al{constructor(t){super(t)}get name(){return"Conda"}get displayName(){return"Conda"}get type(){return"Conda"}get priority(){return 0}async isSupported(t){if(this._isCondaAvailable===!1)return!1;let r=this.serviceContainer.get(_s);return this._isCondaAvailable=await r.isCondaAvailable(),this._isCondaAvailable?Ve(t)==="Conda":!1}async installModule(t,r,i,o){if(await super.installModule(t,r,i,o),Vr(r)){if(!this.serviceContainer.get(Be).isPythonExtensionActive)return;let l=await this.serviceContainer.get(Xe).getInterpreterDetails(r.id);l&&!Vr(l)&&Object.assign(r,l)}}async getExecutionArgs(t,r,i=0){let s=await this.serviceContainer.get(_s).getCondaFile(),a=Pr(r)?.environment?.name,l=this.getEnvironmentPath(r),c=[i&1?"update":"install"];return[19,23,22,18,20].map(Gi).includes(t)&&c.push("-c","conda-forge"),a?(c.push("--name"),c.push(fS(a))):l&&(c.push("--prefix"),c.push(hS(l))),i&2&&c.push("--update-deps"),i&4&&c.push("--force-reinstall"),c.push(t),c.push(...kx("conda",t)),c.push("-y"),{exe:s,args:c}}getEnvironmentPath(t){let r,i=Pr(t);if(i?.environment?.folderUri)return i.environment.folderUri.fsPath;r=i?.executable.uri||o3.Uri.file(t.id);let o=nt(r.fsPath),s=Ce(o);return["BIN","SCRIPTS"].indexOf(s.toUpperCase())!==-1?Le(o,".."):o}};$g=v([(0,xx.injectable)(),m(0,(0,xx.inject)(rt))],$g);var _x=k(N());function wae(){let n=vm("PIPENV_MAX_DEPTH");if(n===void 0)return 3;let e=parseInt(n,10);return isNaN(e)?(p.error(`PIPENV_MAX_DEPTH is incorrectly set. Converting value '${n}' to number results in NaN`),1):e}async function s3(n,e){let t=vm("PIPENV_PIPFILE")||"Pipfile",r=e.lookIntoParentDirectories?wae():1;for(;r>0&&!wd(n,nt(n));){let i=Le(n,t);if(await Tg(i))return i;n=nt(n),r-=1}}async function Eae(n){let e=Le(n,".project");if(!await Tg(e))return;let t=await IB(e);if(!await Tg(t)){p.error(`The .project file inside environment folder: ${n} doesn't contain a valid path to the project`);return}return t}async function Pae(n){let e=nt(nt(n.fsPath)),t=await Eae(e);if(!(t===void 0||!Ce(Cd(e)).startsWith(`${Ce(Cd(t))}-`)))return s3(t,{lookIntoParentDirectories:!1})}async function a3(n,e){let t=await Pae(n);if(!t)return!1;let r=vm("PIPENV_NO_INHERIT")===void 0,i=await s3(e.fsPath,{lookIntoParentDirectories:r});return i?wd(t,i):!1}var Dx=require("vscode");function CC(n){let e="executable"in n?n.executable.uri||Dx.Uri.file(n.path):n.uri;return Dx.workspace.getWorkspaceFolder(e)?.uri||ll()}var c3=require("vscode");var l3="pipenv",qg=class extends Al{constructor(e){super(e)}get name(){return"pipenv"}get type(){return"Pipenv"}get displayName(){return l3}get priority(){return 10}async isSupported(e){if(Nu(e)){let t=await this.serviceContainer.get(Xe).getActiveInterpreter(e),r=e?c3.workspace.getWorkspaceFolder(e):void 0;return!t||!r||Ve(t)!=="PipEnv"?!1:a3(t.uri,r.uri)}else return Ve(e)==="PipEnv"}async getExecutionArgs(e,t,r=0){let o=[r&4||r&2||r&1?"update":"install",e,"--dev"],s=CC(t);return{args:o,exe:l3,cwd:s?ke(s):void 0}}};qg=v([(0,_x.injectable)(),m(0,(0,_x.inject)(rt))],qg);var Tx=k(N());var u3=require("vscode");var Hg=class extends Al{constructor(e){super(e)}get name(){return"Pip"}get type(){return"Pip"}get displayName(){return"Pip"}get priority(){return 0}async isSupported(e){switch(Ve(e)){case"Conda":case"PipEnv":case"Poetry":return!1}return this.isPipAvailable(e)}async getExecutionArgs(e,t,r=0){if(e===Gi(27))return await this.serviceContainer.get(Ai).isInstalled(28,t)?{args:["-m","ensurepip"]}:{args:[Le(lM,"get-pip.py")]};let i=[],o=u3.workspace.getConfiguration("http").get("proxy","");return o.length>0&&(i.push("--proxy"),i.push(o)),i.push("install","-U"),r&4&&i.push("--force-reinstall"),Ve(t)==="Unknown"&&i.push("--user"),{args:["-m","pip",...i,e].concat(kx("pip",e))}}isPipAvailable(e){return this.serviceContainer.get(Nr).create({resource:void 0,interpreter:e}).then(r=>r.isModuleInstalled("pip")).catch(()=>!1)}};Hg=v([(0,Tx.injectable)(),m(0,(0,Tx.inject)(rt))],Hg);var wC=k(N());var kae=5e4,Mc=class Mc{constructor(e,t){this.command=e;this.cwd=t;this.fixCwd()}static{this.poetryPromise=new Map}static async getPoetry(e){if(xae(e))return(Mc.poetryPromise.get(e)===void 0||Er())&&Mc.poetryPromise.set(e,Mc.locate(e)),Mc.poetryPromise.get(e)}static async locate(e){p.debug(`Getting poetry for cwd ${e}`);function*t(){let r=wB("poetryPath");r&&r!=="poetry"&&(yield r),yield"poetry";let i=Rg();if(i){let o=Le(i.fsPath,".poetry","bin","poetry");XN(o)&&(yield o)}}for(let r of t()){p.debug(`Probing poetry binary for ${e}: ${r}`);let i=new Mc(r,e);if(await i.getEnvList()!==void 0)return p.debug(`Found poetry via filesystem probing for ${e}: ${r}`),i;p.debug(`Failed to find poetry for ${e}: ${r}`)}p.debug(`No poetry binary found for ${e}`)}async getEnvList(){return this.getEnvListCached(this.command,this.cwd)}async getEnvListCached(e,t){let r=await this.safeShellExecute(`${e} env list --full-path`);if(!r)return;let i="(Activated)";return(await Promise.all(Oe(r.stdout).map(async s=>{s.endsWith(i)&&(s=s.slice(0,-i.length));let a=s.trim();return await Tg(a)?a:void 0}))).filter(s=>s!==void 0).map(s=>s)}async getActiveEnvPath(){return this.getActiveEnvPathCached(this.cwd)}async getActiveEnvPathCached(e){let t=await this.safeShellExecute(`${this.command} env info -p`,!0);if(t)return t.stdout.trim()}async getVirtualenvsPathSetting(){let e=await this.safeShellExecute(`${this.command} config virtualenvs.path`);if(e)return e.stdout.trim()}fixCwd(){if(Rr()==="Windows"&&/^[a-z]:/.test(this.cwd)){let e=this.cwd.split(":");e[0]=e[0].toUpperCase(),this.cwd=e.join(":")}}async safeShellExecute(e,t=!1){let r=new Ue,i=await bB(e,{cwd:this.cwd,throwOnStdErr:!0,timeout:kae}).catch(o=>{t?p.debug(o):p.error(o)});return p.debug(`Time taken to run ${e} in ms`,r.elapsedTime),i}};v([gR(3e4)],Mc.prototype,"getEnvListCached",1),v([gR(2e4)],Mc.prototype,"getActiveEnvPathCached",1);var Rx=Mc;async function d3(n,e,t){let i=await(t?new Rx(t,e):await Rx.getPoetry(e))?.getActiveEnvPath();return i?_g(n,i):!1}function xae(n){let e=Le(n,"pyproject.toml");return!(!XN(e)||!SB(e).includes("[tool.poetry]"))}var p3=require("vscode");var Dae="poetry",Gg=class extends Al{constructor(t,r){super(t);this.configurationService=r}get name(){return"poetry"}get type(){return"Poetry"}get displayName(){return Dae}get priority(){return 10}async isSupported(t){if(Ve(t)!=="Poetry")return!1;let r=CC(t);if(r){let i="executable"in t?t.executable.uri||p3.Uri.file(t.path):t.uri;return d3(i.fsPath,r.fsPath,this.configurationService.getSettings(void 0).poetryPath)}return!1}async getExecutionArgs(t,r){let o=[this.configurationService.getSettings(void 0).poetryPath,"add","--dev",t],s=CC(r)?.fsPath;return{useShellExec:!0,args:o,cwd:s}}};Gg=v([(0,wC.injectable)(),m(0,(0,wC.inject)(rt)),m(1,(0,wC.inject)(ie))],Gg);var Nl=k(N()),y3=require("vscode");var ar=new Map;ar.set(18,"jupyter");ar.set(20,"notebook");ar.set(19,"ipykernel");ar.set(22,"nbconvert");ar.set(21,"kernelspec");ar.set(23,"pandas");ar.set(27,"pip");ar.set(28,"ensurepip");var Dd=k(N());var m3=new Set(["ipykernel","ipython-genutils","jupyter","jupyter-client","jupyter-core","ipywidgets","nbconvert","nbformat","notebook","pyzmq","pyzmq32","tornado","traitlets"].map(n=>n.toLowerCase())),f3="NOT INSTALLED",Ts=class{constructor(e,t,r,i,o){this.pythonExtensionChecker=e;this.interpreterService=t;this.executionFactory=r;this.apiProvider=i;this.disposables=o;this.interpreterInformation=new Map;this.pendingInterpreterInformation=new Map;this.pendingInterpreterBeforeActivation=new Set;this.interpreterPackages=new Map;Ts._instance=this,this.apiProvider.onDidActivatePythonExtension(()=>this.pendingInterpreterBeforeActivation.forEach(s=>this.trackPackages(s)),this,this.disposables)}static get instance(){return Ts._instance}getPackageVersions(e){if(!this.pythonExtensionChecker.isPythonExtensionInstalled)return Promise.resolve(new Map);let t=cn(e.uri),r=this.interpreterInformation.get(t);return r||(r=re(),this.interpreterInformation.set(t,r),this.trackInterpreterPackages(e).catch(h)),r.promise}async getPackageVersion(e,t){if(!this.pythonExtensionChecker.isPythonExtensionInstalled)return Promise.resolve(void 0);let r=await this.getPackageVersions(e),i=await at(t.toLocaleLowerCase());if(!r.has(i))return;let o=r.get(i);if(o)return o===f3?void 0:o}trackPackages(e,t){this.trackPackagesInternal(e,t).catch(h)}async listPackages(e){if(!this.pythonExtensionChecker.isPythonExtensionInstalled)return[];let t=bs(e);if(!this.interpreterPackages.has(t)){let r=this.listPackagesImpl(e);this.interpreterPackages.set(t,r),r.catch(i=>{this.interpreterPackages.get(t)===r&&this.interpreterPackages.delete(t),p.warn(`Failed to get list of installed packages for ${t}`,i)})}return this.interpreterPackages.get(t).then(r=>Array.from(r))}async listPackagesImpl(e){let t=await this.interpreterService.getActiveInterpreter(e);if(!t)return new Set;let r=await this.executionFactory.createActivatedEnvironment({interpreter:t,resource:e}),i="389a87b7-288f-4235-92bf-73bf19bf6491",o=`import pkgutil;import json;print("${i}");print(json.dumps(list([x.name for x in pkgutil.iter_modules()])));print("${i}");`,s=await r.exec(["-c",o],{throwOnStdErr:!1});if(s.stdout){let a=JSON.parse(s.stdout.split(i)[1].trim());return new Set(a.concat(a.map(l=>l.toLowerCase())))}else return p.error(`Failed to get list of installed packages for ${zr(t.uri)}`,s.stderr),new Set}async trackPackagesInternal(e,t){if(!this.pythonExtensionChecker.isPythonExtensionActive){this.pendingInterpreterBeforeActivation.add(e);return}let r;if(Nu(e)){let i=await this.interpreterService.getActiveInterpreter(e);if(!i)return;r=i}else r=e;this.trackInterpreterPackages(r,t).catch(h)}async trackInterpreterPackages(e,t){let r=cn(e.uri);if(this.pendingInterpreterInformation.has(r)&&!t)return;let i=this.getPackageInformation({interpreter:e});i.finally(()=>{let o=setTimeout(()=>{this.pendingInterpreterInformation.get(r)===i&&this.pendingInterpreterInformation.delete(r)},3e5),s={dispose:()=>clearTimeout(o)};this.disposables.push(s)}).catch(h),this.pendingInterpreterInformation.set(r,i)}async getPackageInformation({interpreter:e}){if(Vr(e))return;let r=await(await this.executionFactory.createActivatedEnvironment({interpreter:e})).execModule("pip",["list"],{throwOnStdErr:!1,mergeStdOutErr:!0}),i=new Map;await Promise.all(Array.from(m3).map(async a=>{i.set(await at(a),f3)})),await Promise.all(r.stdout.split(`
|
||
`).map(a=>a.trim().toLowerCase()).filter(a=>a.length>0).map(async a=>{let l=a.split(" ").filter(f=>f.trim().length);if(l.length<2)return;let[c,u]=l;if(!m3.has(c.toLowerCase().trim()))return;let d=Bu(u);i.set(await at(c),d||"")}));let o=cn(e.uri),s=this.interpreterInformation.get(o);s||(s=re(),this.interpreterInformation.set(o,s)),s.resolve(i)}};Ts=v([(0,Dd.injectable)(),m(0,(0,Dd.inject)(Be)),m(1,(0,Dd.inject)(Xe)),m(2,(0,Dd.inject)(Nr)),m(3,(0,Dd.inject)(Ht)),m(4,(0,Dd.inject)(M))],Ts);async function Ax(n,e,t){if(Nu(t))return;let r=`${await sl(t)}#${ar.get(e)}`;await n.update(r,!0)}async function h3(n,e,t){let r=`${await sl({uri:t})}#${ar.get(e)}`;await n.update(r,void 0)}async function g3(n,e,t){let r=`${await sl(t)}#${ar.get(e)}`;return n.get(r,!1)}var Nx=Symbol("IReservedPythonNamedProvider"),_d=Symbol("IInterpreterPackages"),Mx=Symbol("IWorkspaceInterpreterTracker");async function b3(n,e,t){let r=`${await sl(t)}#${ar.get(e)}`;if(n.get(r,!1))return!0;let i=Gi(e),o=Ts.instance?Ts.instance.getPackageVersion(t,i).then(s=>typeof s=="string"?"found":"notfound").catch(s=>{p.error("Failed to get interpreter package version",s)}):Promise.resolve(void 0);try{let s=await fr(500,o);if(typeof s=="string")return s==="found"}catch{p.error(`Failed to check if package exists ${ar.get(e)}`)}}var Kx=class{constructor(e,t){this.serviceContainer=e;this.configService=e.get(ie),this.productService=e.get(IC),this.persistentStateFactory=e.get(il)}async install(e,t,r,i,o){let a=await this.serviceContainer.get(wx).getInstallationChannel(e,t);if(!a)return 2;if(r.token.isCancellationRequested)return 3;let l=i===!0?6:void 0;return o===!0&&(l=l?l|8:8),await a.installModule(e,t,r,l),r.token.isCancellationRequested?3:this.isInstalled(e,t).then(c=>c?0:2)}async isInstalled(e,t){let r=this.getExecutableNameFromSettings(e,void 0);return this.isExecutableAModule(e,void 0)?(await this.serviceContainer.get(Nr).createActivatedEnvironment({resource:void 0,interpreter:t})).isModuleInstalled(r):(await this.serviceContainer.get(Di).create(void 0)).exec(r,["--version"],{mergeStdOutErr:!0}).then(()=>!0).catch(()=>!1)}getExecutableNameFromSettings(e,t){let r=this.productService.getProductType(e);return this.serviceContainer.get(SC,r).getExecutableNameFromSettings(e,t)}isExecutableAModule(e,t){let r=this.productService.getProductType(e);return this.serviceContainer.get(SC,r).isExecutableAModule(e,t)}};v([Zn("Checking if product is installed"),m(1,wc("path"))],Kx.prototype,"isInstalled",1);var zg=class{constructor(e,t,r,i){this.serviceContainer=e;this.interpreterPackages=t;this.memento=r;this.output=i;this._onInstalled=new y3.EventEmitter;this.productService=e.get(IC)}get onInstalled(){return this._onInstalled.event}dispose(){}async install(e,t,r,i,o){t&&this.interpreterPackages.trackPackages(t);let s="installed";try{let a=await this.createInstaller(e).install(e,t,r,i,o);switch(Ax(this.memento,e,t).catch(h),a===0&&this._onInstalled.fire({product:e,resource:t}),a){case 3:s="cancelled";break;case 0:s="installed";break;case 2:s="ignored";break;case 1:s="disabled";break;default:break}return a}catch(a){throw s="failed",a}finally{R("DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:s,moduleName:ar.get(e)})}}async isInstalled(e,t){return this.createInstaller(e).isInstalled(e,t)}translateProductToModuleName(e){return Gi(e)}createInstaller(e){switch(this.productService.getProductType(e)){case"DataScience":return new Kx(this.serviceContainer,this.output);default:break}throw new Error(`Unknown product ${e}`)}};zg=v([(0,Nl.injectable)(),m(0,(0,Nl.inject)(rt)),m(1,(0,Nl.inject)(_d)),m(2,(0,Nl.inject)(We)),m(2,(0,Nl.named)(lt)),m(3,(0,Nl.inject)(Ao)),m(3,(0,Nl.named)(Tu))],zg);var Ox=k(N());var CM=class{constructor(e){this.serviceContainer=e;this.configService=e.get(ie),this.productInstaller=e.get(Ai)}isExecutableAModule(e,t){if(e===21)return!1;let r;try{r=this.productInstaller.translateProductToModuleName(e,2)}catch{}let i=this.getExecutableNameFromSettings(e,t);return typeof r=="string"&&r.length>0&&Ce(i)===i}},Qg=class extends CM{constructor(e){super(e)}getExecutableNameFromSettings(e,t){return this.productInstaller.translateProductToModuleName(e,2)}};Qg=v([(0,Ox.injectable)(),m(0,(0,Ox.inject)(rt))],Qg);var I3=k(N());var Yg=class{constructor(){this.ProductTypes=new Map;this.ProductTypes.set(18,"DataScience"),this.ProductTypes.set(20,"DataScience"),this.ProductTypes.set(19,"DataScience"),this.ProductTypes.set(22,"DataScience"),this.ProductTypes.set(21,"DataScience"),this.ProductTypes.set(23,"DataScience"),this.ProductTypes.set(27,"DataScience"),this.ProductTypes.set(28,"DataScience")}getProductType(e){return this.ProductTypes.get(e)}};Yg=v([(0,I3.injectable)()],Yg);var Fx=k(N());var Xg=class{constructor(e){this.interpreterService=e}activate(){this.interpreterService.initialize()}};Xg=v([(0,Fx.injectable)(),m(0,(0,Fx.inject)(Xe))],Xg);var wM=require("vscode"),Zg=k(N());var Rs=class{constructor(e,t,r){this.title=y.localPythonEnvironments;this._onDidChange=new wM.EventEmitter;this._onDidChangeStatus=new wM.EventEmitter;this.onDidChange=this._onDidChange.event;this.onDidChangeStatus=this._onDidChangeStatus.event;this.refreshedOnceBefore=!1;this.disposables=[];this.promiseMonitor=new lo;this._status="idle";r.push(this),this.promiseMonitor.onStateChange(()=>this.status=this.promiseMonitor.isComplete?"idle":"discovering",this,this.disposables);let i=()=>{let o=e.getNewApi();this.promiseMonitor.push(o),o.then(s=>{if(this.api=s,!s){this.status="idle",this._onDidChangeStatus.fire();return}this._onDidChange.fire(),s.environments.onDidChangeEnvironments(()=>this._onDidChange.fire(),this,this.disposables)}).catch(s=>p.error("Failed to get python api",s))};t.isPythonExtensionInstalled?i():t.onPythonExtensionInstallationStatusChanged(()=>{t.isPythonExtensionInstalled&&i()},this,this.disposables)}get items(){return this.api?(this.refreshedOnceBefore||(this.refreshedOnceBefore=!0,this.refresh().catch(h)),this.api.environments.known):[]}get status(){return this._status}set status(e){this._status=e,this._onDidChangeStatus.fire()}activate(){}dispose(){z(this.disposables)}async refresh(){if(!this.api)return;let e=this.api.environments.refreshEnvironments();this.promiseMonitor.push(e),await e.catch(h)}withFilter(e){return new Proxy(this,{get(t,r){switch(r){case"items":return t.items.filter(e);case"dispose":return h;default:return t[r]}}})}};Rs=v([(0,Zg.injectable)(),m(0,(0,Zg.inject)(Ht)),m(1,(0,Zg.inject)(Be)),m(2,(0,Zg.inject)(M))],Rs);var tv=k(N());function EM(n,e){if(Array.isArray(n)){let t=n.slice(1);return e&&t.push(...e),{args:t,command:n[0],python:[...n],pythonExecutable:n[n.length-1]}}return{command:n,args:e||[],python:[n],pythonExecutable:n}}function S3(n,e){let t={command:n.command,args:[...n.args],python:[...n.python],pythonExecutable:n.pythonExecutable};return e&&t.args.push(...e),t.pythonExecutable===void 0&&(t.pythonExecutable=t.python[t.python.length-1]),t}var P3=require("vscode");function PM(n,e){return["-m",n,...e]}function C3(){let n=["-c","import sys;print(sys.executable)"];function e(t){return t.trim()}return[n,e]}function w3(n){let e=["-c",`import ${n};print('6af208d0-cb9c-427f-b937-ff563e17efdf')`];function t(r){return r.includes("6af208d0-cb9c-427f-b937-ff563e17efdf")?!0:(p.debug(`Module ${n} is not installed. Output ${r}`),!1)}return[e,t]}async function k3(n,e){let[t,r]=C3(),i=S3(n,t),o=await e(i.command,i.args);return P3.Uri.file(r(o.stdout))}var Lx=class{constructor(e,t){this.deps=t;if(this.pythonEnvId=e.id,"executable"in e){if(!e.executable.uri)throw new Error(`interpreter.executable.uri is not defined for ${e.id}`);this.executable=e.executable.uri}else this.executable=e.uri}getExecutionInfo(e=[]){let t=this.deps.getPythonArgv(this.executable);return EM(t,e)}getExecutionObservableInfo(e=[]){let t=this.deps.getObservablePythonArgv(this.executable);return EM(t,e)}async getExecutablePath(){if(await this.deps.isValidExecutable(this.executable))return this.executable;let e=this.getExecutionInfo();return k3(e,this.deps.exec)}async isModuleInstalled(e){let[t,r]=w3(e),i=this.getExecutionInfo(t);try{let o=await this.deps.exec(i.command,i.args,{throwOnStdErr:!1});return r(o.stdout)}catch(o){return p.warn(`Module ${e} not installed in environment ${this.pythonEnvId}`,o),!1}}};function x3(n,e,t,r,i){return{getPythonArgv:o=>e||[ke(o)],getObservablePythonArgv:o=>t||[ke(o)],isValidExecutable:n,exec:async(o,s,a)=>r(o,s,Object.assign({throwOnStdErr:!0},a||{})),shellExec:async(o,s)=>i(o,{timeout:s})}}function D3(n,e,t){let r=x3(async i=>t.exists(i),void 0,void 0,(i,o,s)=>e.exec(i,o,s),(i,o)=>e.shellExec(i,o));return new Lx(n,r)}function _3(n,e,t,r,i){let o=["run"];e.name===""?o.push("-p",e.path):o.push("-n",e.name);let s=[n,...o,"python"],a=x3(async l=>i.exists(l),s,void 0,(l,c,u)=>r.exec(l,c,u),(l,c)=>r.shellExec(l,c));return new Lx(t,a)}var Ux=class extends qe{constructor(t){super("notinstalled",`Module '${t}' not installed.`);this.moduleName=t}};var kM=class{constructor(e){this.deps=e}execObservable(e,t){let r={...t},i=this.deps.getExecutionObservableInfo(e);return this.deps.execObservable(i.command,i.args,r)}execModuleObservable(e,t,r){let i=PM(e,t),o={...r},s=this.deps.getExecutionObservableInfo(i),a={...r};return a.token=void 0,this.deps.execObservable(s.command,s.args,o)}async exec(e,t){let r={...t},i=this.deps.getExecutionInfo(e);return this.deps.exec(i.command,i.args,r)}async execModule(e,t,r){let i=PM(e,t),o={...r},s=this.deps.getExecutionInfo(i),a=await this.deps.exec(s.command,s.args,o);if(e&&vP.outputHasModuleNotInstalledError(e,a.stderr)&&!await this.deps.isModuleInstalled(e))throw new Ux(e);return a}};function T3(n,e){let t={isModuleInstalled:async r=>e.isModuleInstalled(r),getExecutionInfo:r=>e.getExecutionInfo(r),getExecutionObservableInfo:r=>e.getExecutionObservableInfo(r),exec:async(r,i,o)=>n.exec(r,i,o),execObservable:(r,i,o)=>n.execObservable(r,i,o)};return new kM(t)}var Wx=require("vscode");var ev=class{constructor(e,t,r){this.serviceContainer=e;this.activationHelper=t;this.processServiceFactory=r;this.disposables=this.serviceContainer.get(M),this.fileSystem=this.serviceContainer.get(tt)}async create(e){let t=await this.processServiceFactory.create(e.resource);return R3(e.interpreter,t,this.fileSystem,void 0)}async createActivatedEnvironment(e){if(e.resource=e.resource?e.resource:Wx.workspace.workspaceFolders?.length?Wx.workspace.workspaceFolders[0].uri:void 0,!Wx.workspace.isTrusted)throw new Error("Workspace not trusted");let t=await this.activationHelper.getActivatedEnvironmentVariables(e.resource,e.interpreter);if(!(t&&Object.keys(t).length>0))return this.create({resource:e.resource,interpreter:e.interpreter});let i=new Dl({...t});return this.disposables.push(i),R3(e.interpreter,i,this.fileSystem)}};ev=v([(0,tv.injectable)(),m(0,(0,tv.inject)(rt)),m(1,(0,tv.inject)(ks)),m(2,(0,tv.inject)(Di))],ev);function R3(n,e,t,r){let i=D3(n,e,t);if(r){let[s,a]=r;i=_3(s,a,n,e,t)}let o=T3(e,i);return{isModuleInstalled:s=>i.isModuleInstalled(s),execObservable:(s,a)=>o.execObservable(s,a),execModuleObservable:(s,a,l)=>o.execModuleObservable(s,a,l),exec:(s,a)=>o.exec(s,a),execModule:(s,a,l)=>o.execModule(s,a,l)}}var Kc=k(N()),Oc=require("vscode");var A3="https://aka.ms/JupyterKernelStartFailureOverrideReservedName",N3=["abc","aifc","antigravity","argparse","array","ast","asynchat","asyncio","asyncore","atexit","audioop","base64","bdb","binascii","binhex","bisect","builtins","bz2","cProfile","calendar","cgi","cgitb","chunk","cmath","cmd","code","codecs","codeop","collections","colorsys","compileall","concurrent","configparser","contextlib","contextvars","copy","copyreg","crypt","csv","ctypes","curses","dataclasses","datetime","dbm","decimal","difflib","dis","distutils","doctest","email","encodings","ensurepip","enum","errno","faulthandler","fcntl","filecmp","fileinput","fnmatch","formatter","fractions","ftplib","functools","gc","genericpath","getopt","getpass","gettext","glob","graphlib","grp","gzip","hashlib","heapq","hmac","html","http","idlelib","imaplib","imghdr","imp","importlib","inspect","io","ipaddress","itertools","json","keyword","lib2to3","linecache","locale","logging","lzma","mailbox","mailcap","marshal","math","mimetypes","mmap","modulefinder","multiprocessing","netrc","nis","nntplib","ntpath","nturl2path","numbers","opcode","operator","optparse","os","parser","pathlib","pdb","pickle","pickletools","pipes","pkgutil","platform","plistlib","poplib","posix","posixpath","pprint","profile","pstats","pty","pwd","py_compile","pyclbr","pydoc","pydoc_data","queue","quopri","random","re","readline","reprlib","resource","rlcompleter","runpy","sched","secrets","select","selectors","shelve","shlex","shutil","signal","site","smtpd","smtplib","sndhdr","socket","socketserver","sqlite3","sre_compile","sre_constants","sre_parse","ssl","stat","statistics","string","stringprep","struct","subprocess","sunau","symbol","symtable","sys","sysconfig","syslog","tabnanny","tarfile","telnetlib","tempfile","termios","textwrap","this","threading","time","timeit","tkinter","token","tokenize","trace","traceback","tracemalloc","tty","turtle","turtledemo","types","typing","unicodedata","unittest","urllib","uu","uuid","warnings","wave","weakref","webbrowser","wsgiref","xdrlib","xml","xmlrpc","zipapp","zipfile","zipimport","zlib","zoneinfo"];var e6=k(PC());var lr=Symbol("IFileSystemNode");var Qae="jupyter.pythonPackages",AM="diagnostics.reservedPythonNames.exclude",nv=class{constructor(e,t,r,i){this.cache=e;this.platform=t;this.fs=i;this.ignoredFiles=new Set;this.cachedModules=new Set;this.pendingUpdate=Promise.resolve();this.disposables=[];r.push(this),this.cachedModules=new Set(this.cache.get(Qae,N3).map(o=>o.toLowerCase())),Oc.workspace.onDidChangeConfiguration(o=>{o.affectsConfiguration(`jupyter.${AM}`)&&this.initializeIgnoreList()},this,this.disposables),this.initializeIgnoreList()}dispose(){z(this.disposables)}async getUriOverridingReservedPythonNames(e){let[t,r]=await Promise.all([this.fs.searchLocal("*.py",e.fsPath,!0),this.fs.searchLocal("*/__init__.py",e.fsPath,!0)]),i=[],o=Promise.all(t.map(a=>Oc.Uri.joinPath(e,a)).map(async a=>{await this.isReserved(a)&&i.push({uri:a,type:"file"})})),s=Promise.all(r.map(a=>Oc.Uri.joinPath(e,a)).map(async a=>{await this.isReserved(a)&&i.push({uri:a,type:"__init__"})}));return await Promise.all([o,s]),i}async isReserved(e){if(!e.fsPath.toLowerCase().endsWith(".py"))return!1;await this.pendingUpdate;let t=this.platform.isWindows?e.fsPath.toLowerCase():e.fsPath;if(Array.from(this.ignoredFiles).some(o=>{if(o===t||(0,e6.default)(t,o,{dot:!0}))return!0}))return!1;let r=un(e,Vu(e)).toLowerCase(),i=r==="__init__"?un(yi(e)).toLowerCase():r;return this.cachedModules.has(i)}async addToIgnoreList(e){await this.pendingUpdate;let t=Oc.workspace.getConfiguration("jupyter"),r=this.platform.isWindows?e.fsPath.toLowerCase():e.fsPath;this.initializeIgnoreList();let i=this.ignoredFiles.size;if(this.ignoredFiles.add(r),i!==this.ignoredFiles.size)return this.pendingUpdate=this.pendingUpdate.finally(()=>t.update(AM,Array.from(this.ignoredFiles),Oc.ConfigurationTarget.Global)),this.pendingUpdate}initializeIgnoreList(){let t=Oc.workspace.getConfiguration("jupyter").get(AM,[]);this.platform.isWindows&&(t=t.map(r=>r.toLowerCase())),this.ignoredFiles=new Set(t)}};nv=v([(0,Kc.injectable)(),m(0,(0,Kc.inject)(We)),m(0,(0,Kc.named)(lt)),m(1,(0,Kc.inject)(br)),m(2,(0,Kc.inject)(M)),m(3,(0,Kc.inject)(lr))],nv);var kC=k(N());var MM=k(gx());var NM="_VSCODE_getVariable",iv=MM.default`
|
||
try:
|
||
del _VSCODE_getVariable
|
||
except:
|
||
pass
|
||
`,Bo=class{constructor(e,t){this.fs=e;this.context=t}async generateCodeToGetVariableInfo(e){let t=await this.getContentsOfScript(),r=e.isDebugging?"True":"False",i=`${NM}("info", ${r}, ${e.variableName})`;return e.isDebugging?{initializeCode:t,code:i,cleanupCode:iv}:{code:`${t}
|
||
|
||
${i}
|
||
|
||
${iv}`}}async generateCodeToGetVariableProperties(e){let t=await this.getContentsOfScript(),r=e.isDebugging?"True":"False",i=`${NM}("properties", ${r}, ${e.variableName}, ${e.stringifiedAttributeNameList})`;return e.isDebugging?{initializeCode:t,code:i,cleanupCode:iv}:{code:`${t}
|
||
|
||
${i}
|
||
|
||
${iv}`}}async generateCodeToGetAllVariableDescriptions(e){let t=await this.getContentsOfVariablesScript();return e?t=t+`
|
||
|
||
return _VSCODE_getAllChildrenDescriptions('${e.root}', ${JSON.stringify(e.propertyChain)}, ${e.startIndex})`:t=t+`
|
||
|
||
variables= %who_ls
|
||
return _VSCODE_getVariableDescriptions(variables)`,t}async generateCodeToGetVariableTypes(e){let r=`${await this.getContentsOfScript()}
|
||
|
||
_VSCODE_rwho_ls = %who_ls
|
||
`,i=e.isDebugging?"True":"False",o=MM.default`
|
||
try:
|
||
del _VSCODE_rwho_ls
|
||
except:
|
||
pass
|
||
`,s=`${NM}("types", ${i}, _VSCODE_rwho_ls)`;return e.isDebugging?{initializeCode:r,code:s,cleanupCode:`${iv}
|
||
${o}`}:{code:`${r}${s}
|
||
|
||
${iv}
|
||
${o}`}}async generateCodeToGetVariableValueSummary(e){let t=await this.getContentsOfVariablesScript();return t=t+`
|
||
|
||
variables= %who_ls
|
||
return _VSCODE_getVariableSummary(${e})`,t}async getContentsOfScript(){if(Bo.contentsOfScript)return Bo.contentsOfScript;let e=zt(this.context.extensionUri,"pythonFiles","vscode_datascience_helpers","getVariableInfo","vscodeGetVariableInfo.py"),t=await this.fs.readFile(e);return Bo.contentsOfScript=t,t}async getContentsOfVariablesScript(){if(Bo.contentsOfVariablesScript)return Bo.contentsOfVariablesScript;let e=zt(this.context.extensionUri,"pythonFiles","vscode_datascience_helpers","getVariableInfo","vscodeGetVariablesForProvider.py"),t=await this.fs.readFile(e);return Bo.contentsOfVariablesScript=t,t}};Bo=v([(0,kC.injectable)(),m(0,(0,kC.inject)(tt)),m(1,(0,kC.inject)(et))],Bo);var ov=k(N());var ua=class{constructor(e){this.workspaceInterpreterTracker=e;ua.isActiveWorkspaceInterpreter=this.isActiveWorkspaceInterpreterImpl.bind(this)}activate(){this.workspaceInterpreterTracker?.activate()}isActiveWorkspaceInterpreterImpl(e,t){return this.workspaceInterpreterTracker?.isActiveWorkspaceInterpreter(e,t)??!1}};ua.isActiveWorkspaceInterpreter=()=>!1,ua=v([(0,ov.injectable)(),m(0,(0,ov.inject)(Mx)),m(0,(0,ov.optional)())],ua);var xC=require("vscode");var av=k(N());var sv=class{constructor(e,t,r){this.pythonExtensionChecker=e;this.disposables=t;this.interpreterService=r;this.workspaceInterpreters=new Map}activate(){this.trackActiveInterpreters(),xC.extensions.onDidChange(this.trackActiveInterpreters,this,this.disposables)}isActiveWorkspaceInterpreter(e,t){if(!t)return!1;let r=bs(e),i=this.workspaceInterpreters.get(r);return i?Mo(i,t.uri):!1}trackActiveInterpreters(){tn()||this.trackingInterpreters||!this.pythonExtensionChecker.isPythonExtensionActive||(this.trackingInterpreters=!0,this.interpreterService.onDidChangeInterpreter(async()=>{let e=Array.isArray(xC.workspace.workspaceFolders)?xC.workspace.workspaceFolders.map(t=>t.uri):[];await Promise.all(e.map(async t=>{try{let r=bs(t),i=await this.interpreterService.getActiveInterpreter(t);this.workspaceInterpreters.set(r,i?.uri)}catch{}}))},this,this.disposables))}};sv=v([(0,av.injectable)(),m(0,(0,av.inject)(Be)),m(1,(0,av.inject)(M)),m(2,(0,av.inject)(Xe))],sv);function t6(n){n.addSingleton(Nr,ev),n.addSingleton(_s,_s),n.addSingleton(Il,Il),n.addSingleton(_d,Ts),n.addSingleton(me,ua),n.addSingleton(me,Xg),n.addSingleton(Mx,sv),n.addSingleton(me,Wg),n.addSingleton(me,Vg),n.addSingleton(me,xd),n.addSingleton(ri,ri),n.addSingleton(Nx,nv),n.addSingleton(Eh,Bo),n.addSingleton(Ph,Rl),n.addSingleton(Cm,$g),n.addSingleton(Cm,Hg),n.addSingleton(Cm,qg),n.addSingleton(Cm,Gg),n.addSingleton(wx,jg),n.addSingleton(IC,Yg),n.addSingleton(Ai,zg),n.addSingleton(SC,Qg,"DataScience"),n.addSingleton(Rs,Rs),n.addBinding(Rs,me)}var o6=k(N()),cv=require("vscode");var n6=new Set;function i6(n){n6.add(n)}function r6(n){try{n6.forEach(e=>e.report(n))}catch(e){p.error("Failed to report progress",e)}}function lv(n){return function(e,t,r){let i=r.value;r.value=async function(...o){return r6({action:n,phase:"started"}),i.apply(this,o).finally(()=>{r6({action:n,phase:"completed"})})}}}var $o=class{constructor(){this.progressReporters=[];this.actionPhases=new Map;this.currentActions=[];i6(this)}get currentAction(){return this.currentActions.length===0?void 0:this.currentActions[this.currentActions.length-1]}createProgressIndicator(e,t=!1){let r=new cv.CancellationTokenSource,i=re(),o={location:cv.ProgressLocation.Notification,cancellable:t,title:e};return cv.window.withProgress(o,async(s,a)=>{a.onCancellationRequested(()=>{a.isCancellationRequested&&r.cancel(),i.resolve()}),r.token.onCancellationRequested(()=>{i.resolve()}),this.progressReporters.push(s),await i.promise}).then(h,h),{token:r.token,dispose:()=>i.resolve()}}report(e){if(this.progressReporters.length!==0&&(this.actionPhases.set(e.action,e.phase),e.phase==="started"&&this.currentActions.push(e.action),!!this.currentAction)){for(;this.actionPhases.get(this.currentAction)&&this.actionPhases.get(this.currentAction)!=="started";)this.actionPhases.delete(this.currentAction),this.currentActions.pop();this.updateProgressMessage()}}updateProgressMessage(){if(!this.currentAction||this.progressReporters.length===0)return;let e=Ik(this.currentAction);e&&this.progressReporters.forEach(t=>t.report({message:e}))}};$o=v([(0,o6.injectable)()],$o);var s6=k(N());var qn=require("vscode");var Fc=require("vscode");var DC=class n{constructor(e){this.jupyterConfig=e}static{this.migratedSettings={interactiveWindowMode:"interactiveWindow.creationMode",interactiveWindowViewColumn:"interactiveWindow.viewColumn",splitRunFileIntoCells:"interactiveWindow.splitRunFileIntoCells",sendSelectionToInteractiveWindow:"interactiveWindow.textEditor.executeSelection",normalizeSelectionForInteractiveWindow:"interactiveWindow.textEditor.normalizeSelection",magicCommandsAsComments:"interactiveWindow.textEditor.magicCommandsAsComments",enableAutoMoveToNextCell:"interactiveWindow.textEditor.autoMoveToNextCell",newCellOnRunLast:"interactiveWindow.textEditor.autoAddNewCell",pythonCellFolding:"interactiveWindow.textEditor.cellFolding",enableCellCodeLens:"interactiveWindow.codeLens.enable",addGotoCodeLenses:"interactiveWindow.codeLens.enableGotoCell",codeLenses:"interactiveWindow.codeLens.commands",debugCodeLenses:"interactiveWindow.codeLes.debugCommands",codeRegularExpression:"interactiveWindow.cellMarker.codeRegex",markdownRegularExpression:"interactiveWindow.cellMarker.markdownRegex",decorateCells:"interactiveWindow.cellMarker.decorateCells",defaultCellMarker:"interactiveWindow.cellMarker.default",enableExtendedKernelCompletions:"enableExtendedPythonKernelCompletions"}}static{this.fullSettingIds={...this.migratedSettings}}async migrateSettings(){let e=[];for(let t of Object.keys(n.migratedSettings))e.push(...this.migrateSetting(t,n.migratedSettings[t]));e.push(this.migrateIntellisenseSettings());try{await Promise.all(e)}catch(t){uv(t)}}async migrateIntellisenseSettings(){let e="pythonCompletionTriggerCharacters",t="completionTriggerCharacters",r=this.jupyterConfig.inspect(e),i=this.jupyterConfig.inspect(t);try{if(r?.globalValue===r?.defaultValue||!i||i?.globalValue&&i.globalValue[ge])return;if(typeof r?.globalValue=="string"){let o=i.globalValue||i.defaultValue||{};o[ge]=r.globalValue.split(""),await this.jupyterConfig.update(t,o,Fc.ConfigurationTarget.Global).then(h,uv)}}finally{r?.globalValue&&await this.jupyterConfig.update(e,void 0,Fc.ConfigurationTarget.Global).then(h,uv)}}migrateSetting(e,t){let r=this.jupyterConfig.inspect(e),i=this.jupyterConfig.inspect(t),o=[];if(r?.workspaceValue!==void 0){let s=Promise.resolve();i?.workspaceValue===void 0&&(s=this.jupyterConfig.update(t,r.workspaceValue,Fc.ConfigurationTarget.Workspace)),o.push(s.then(()=>this.jupyterConfig.update(e,void 0,Fc.ConfigurationTarget.Workspace),uv))}if(r?.workspaceFolderValue!==void 0){let s=Promise.resolve();i?.workspaceFolderValue===void 0&&(s=this.jupyterConfig.update(t,r.workspaceFolderValue,Fc.ConfigurationTarget.WorkspaceFolder)),o.push(s.then(()=>this.jupyterConfig.update(e,void 0,Fc.ConfigurationTarget.WorkspaceFolder),uv))}if(r?.globalValue!==void 0){let s=Promise.resolve();i?.globalValue===void 0&&(s=this.jupyterConfig.update(t,r.globalValue,Fc.ConfigurationTarget.Global)),o.push(s.then(()=>this.jupyterConfig.update(e,void 0,Fc.ConfigurationTarget.Global),uv))}return o}};function uv(n){p.warn("Error migrating Jupyter configuration",n)}function Yae(n){return(e,t,r)=>{let i=null,o=null;if(typeof r.value=="function"?(i="value",o=r.value):typeof r.get=="function"&&(i="get",o=r.get),!o)throw new Error("not supported");r[i]=n(o,t)}}function dv(n,e,t){return Yae((r,i)=>{let o=`$debounce$${i}`,s=`$debounce$result$${i}`;return function(...a){this[s]||(this[s]=t?t():void 0),clearTimeout(this[o]),e&&(this[s]=e(this[s],...a),a=[this[s]]),this[o]=setTimeout(()=>{r.apply(this,a),this[s]=t?t():void 0},n)}})}var da=class da{constructor(e,t,r){this._systemVariablesCtor=t;this._type=r;this.allowUnauthorizedRemoteConnection=!1;this.jupyterInterruptTimeout=1e4;this.jupyterLaunchTimeout=6e4;this.jupyterLaunchRetries=3;this.notebookFileRoot="";this.useDefaultConfigForJupyter=!1;this.sendSelectionToInteractiveWindow=!1;this.normalizeSelectionForInteractiveWindow=!0;this.splitRunFileIntoCells=!0;this.markdownRegularExpression="";this.codeRegularExpression="";this.errorBackgroundColor="";this.variableExplorerExclude="";this.decorateCells="currentCell";this.enableCellCodeLens=!1;this.askForLargeDataFrames=!1;this.enableAutoMoveToNextCell=!1;this.askForKernelRestart=!1;this.codeLenses="";this.debugCodeLenses="";this.debugpyDistPath="";this.stopOnFirstLineWhileDebugging=!1;this.magicCommandsAsComments=!1;this.pythonExportMethod="direct";this.stopOnError=!1;this.addGotoCodeLenses=!1;this.runStartupCommands=[];this.debugJustMyCode=!1;this.defaultCellMarker="";this.themeMatplotlibPlots=!1;this.disableJupyterAutoStart=!1;this.enablePythonKernelLogging=!1;this.jupyterCommandLineArguments=[];this.widgetScriptSources=[];this.interactiveWindowMode="multiple";this.pythonCellFolding=!0;this.interactiveWindowViewColumn="secondGroup";this.disableZMQSupport=!1;this.forceIPyKernelDebugger=!1;this.verboseLogging=!1;this.showVariableViewWhenDebugging=!0;this.newCellOnRunLast=!0;this.logKernelOutputSeparately=!1;this.development=!1;this.poetryPath="";this.excludeUserSitePackages=!1;this.enableExtendedPythonKernelCompletions=!1;this.formatStackTraces=!1;this._changeEmitter=new qn.EventEmitter;this._disposables=[];this._workspaceRoot=e,this.initialize(),qn.workspace.isTrusted===!1&&(this.disableJupyterAutoStart=!0)}get onDidChange(){return this._changeEmitter.event}static{this.jupyterSettings=new Map}static getInstance(e,t,r){let i=da.getSettingsUriAndTarget(e).uri,o=i?i.path:"",s=da.jupyterSettings.get(o);return s?s._type==="web"&&r==="node"&&(s._systemVariablesCtor=t,s._type=r):(s=new da(i,t,r),da.jupyterSettings.set(o,s)),s}static getSettingsUriAndTarget(e){let t=e?qn.workspace.getWorkspaceFolder(e):void 0,r=t?t.uri:void 0;!r&&Array.isArray(qn.workspace.workspaceFolders)&&qn.workspace.workspaceFolders.length>0&&(r=qn.workspace.workspaceFolders[0].uri);let i=r?qn.ConfigurationTarget.WorkspaceFolder:qn.ConfigurationTarget.Global;return{uri:r,target:i}}static dispose(){if(!Er())throw new Error("Dispose can only be called from unit tests");da.jupyterSettings.forEach(e=>e&&e.dispose()),da.jupyterSettings.clear()}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}createSystemVariables(e){return new this._systemVariablesCtor(e,this._workspaceRoot)}toJSON(){let e={};return this.getSerializableKeys().forEach(r=>e[r]=this[r]),e}update(e,t){let r=this.createSystemVariables(void 0),i=r.resolveAny(e.get("experiments"));this.experiments?Object.assign(this.experiments,i):this.experiments=i,this.experiments=this.experiments?this.experiments:{enabled:!0,optInto:[],optOutFrom:[]};let o=(a,l)=>{let c=DC.fullSettingIds[a],u=c&&l.get(c)!==void 0?l.get(c):l.get(a),d=r.resolveAny(u);d!==void 0&&(this[a]=d)};this.getSerializableKeys().filter(a=>a!=="experiments"&&a!=="logging"&&a!=="kernelPickerType").forEach(a=>o(a,e)),t&&o("poetryPath",t)}onWorkspaceFoldersChanged(){let e=(qn.workspace.workspaceFolders||[]).map(i=>i.uri.path),r=Array.from(da.jupyterSettings.keys()).filter(i=>e.indexOf(i)<0);if(r.length>0)for(let i of r)da.jupyterSettings.delete(i)}initialize(){let e=()=>{let i=qn.workspace.getConfiguration("jupyter",this._workspaceRoot),o=qn.workspace.getConfiguration("python",this._workspaceRoot);this.update(i,o),this.debounceChangeNotification()};this._disposables.push(qn.workspace.onDidChangeWorkspaceFolders(this.onWorkspaceFoldersChanged,this)),this._disposables.push(qn.workspace.onDidChangeConfiguration(i=>{i.affectsConfiguration("jupyter")&&e(),i.affectsConfiguration("python.poetryPath")&&e()}));let t=qn.workspace.getConfiguration("jupyter",this._workspaceRoot),r=qn.workspace.getConfiguration("python",this._workspaceRoot);t&&(this.update(t,r),this.migrateSettings(t).catch(h))}async migrateSettings(e){await new DC(e).migrateSettings()}debounceChangeNotification(){this._changeEmitter.fire()}fireChangeNotification(){this._changeEmitter.fire()}getSerializableKeys(){return Object.getOwnPropertyNames(this).filter(e=>!e.startsWith("_"))}};v([dv(1)],da.prototype,"debounceChangeNotification",1);var pv=da;var Ml=require("vscode");var Jx=class{async updateSectionSetting(e,t,r,i,o){let a={uri:i,target:o||Ml.ConfigurationTarget.WorkspaceFolder};e==="jupyter"&&o!==Ml.ConfigurationTarget.Global&&(a=pv.getSettingsUriAndTarget(i));let l=Ml.workspace.getConfiguration(e,a.uri),c=l.inspect(t);c!==void 0&&(o===Ml.ConfigurationTarget.Global&&c.globalValue===r||o===Ml.ConfigurationTarget.Workspace&&c.workspaceValue===r||o===Ml.ConfigurationTarget.WorkspaceFolder&&c.workspaceFolderValue===r)||(await l.update(t,r,o),o&&await this.verifySetting(l,o,t,r))}async updateSetting(e,t,r,i){return this.updateSectionSetting("jupyter",e,t,r,i)}async verifySetting(e,t,r,i){if(Er()&&!cS()){let o=0;do{let s=e.inspect(r);if(!s&&i===void 0||s&&i!==void 0&&(t===Ml.ConfigurationTarget.Global?s.globalValue:t===Ml.ConfigurationTarget.Workspace?s.workspaceValue:s.workspaceFolderValue)===i)break;await new Promise(a=>setTimeout(a,250)),o+=1}while(o<20)}}};var mv=class extends Jx{getSettings(e){return pv.getInstance(e,Kg,"node")}};mv=v([(0,s6.injectable)()],mv);var Kn=k(kl()),t7=k(HM()),r7=k(N()),n7=k(G6()),i7=require("util");var Z6=k(N()),Kd=k(require("vscode"));var Y6=k(Q6()),X6=require("vscode"),Kl=class{constructor(e=Y6.fetch){this.fetchImplementation=e;this.requestOptions={};let t=X6.workspace.getConfiguration("http").get("proxy","");t&&(this.requestOptions={headers:{proxy:t}})}async downloadFile(e){return this.fetchImplementation(e,this.requestOptions)}async exists(e){try{return(await this.downloadFile(e)).status===200}catch(t){return p.debug(`HttpClient - Failure checking for file ${e}: ${t}`),!1}}};var e7="utf8",yv=class{constructor(){this.vscfs=Kd.workspace.fs}arePathsSame(e,t){return vi(e,t)}async getFiles(e){return(await this.vscfs.readDirectory(e)).filter(r=>r[1]===Kd.FileType.File).map(r=>Kd.Uri.file(r[0]))}async copy(e,t,r){await this.vscfs.copy(e,t,r)}async createDirectory(e){await this.vscfs.createDirectory(e)}async delete(e){await this.vscfs.delete(e)}async readFile(e){let t=await this.vscfs.readFile(e);return new TextDecoder().decode(t)}async stat(e){return this.vscfs.stat(e)}async writeFile(e,t){return this.vscfs.writeFile(e,typeof t=="string"?new TextEncoder().encode(t):t)}async exists(e,t){if(e.scheme.toLowerCase()==="http"||e.scheme.toLowerCase()==="https")return new Kl().exists(e.toString());let r;try{r=await this.stat(e)}catch(i){return ax(i)||p.error(`stat() failed for "${e}"`,i),!1}return t===void 0?!0:t===Kd.FileType.Unknown?r.type===Kd.FileType.Unknown:(r.type&t)===t}async getFileHash(e){let t=await this.stat(e),r=`${t.ctime}-${t.mtime}`;return na(r,"SHA-512")}};yv=v([(0,Z6.injectable)()],yv);var o7=require("vscode");var Wc=class extends yv{constructor(){super();this.globFiles=(0,i7.promisify)(t7.default)}createLocalWriteStream(t){return Kn.createWriteStream(t)}async createTemporaryLocalFile(t){let r=typeof t=="string"?t:t.fileExtension,i=t&&typeof t=="object"?t.prefix:void 0,o={postfix:r,prefix:i};return new Promise((s,a)=>{n7.file(o,(l,c,u,d)=>{if(l)return a(l);s({filePath:c,dispose:d})})})}async searchLocal(t,r,i){let o;r&&(o={...o,cwd:r}),i&&(o={...o,dot:i});let s=await this.globFiles(t,o);return Array.isArray(s)?s:[]}async writeLocalFile(t,r){return await Kn.ensureDir(nt(t)),Kn.writeFile(t,r)}async readFile(t){if(Dm(t)){let r=await Kn.readFile(ke(t));return Buffer.from(r).toString(e7)}else return super.readFile(t)}async delete(t){Dm(t)?await this.exists(t)&&((await this.stat(t)).type===o7.FileType.Directory?await new Promise(i=>Kn.rm(ke(t),{force:!0,recursive:!0},i)):await Kn.unlink(ke(t))):await super.delete(t)}async exists(t,r){return Dm(t)?Kn.pathExists(ke(t)):super.exists(t,r)}async createDirectory(t){Dm(t)?await Kn.ensureDir(ke(t)):await this.vscfs.createDirectory(t)}async writeFile(t,r){if(Dm(t)){let i=ke(t);return await Kn.ensureDir(nt(i)),Kn.writeFile(i,typeof r=="string"?Buffer.from(r):r)}else await this.vscfs.writeFile(t,typeof r=="string"?new TextEncoder().encode(r):r)}async copy(t,r,i){if(Dm(t)&&Dm(r)){let o=typeof i===void 0||typeof i?.overwrite==null?!0:i?.overwrite;await Kn.copy(ke(t),ke(r),{overwrite:o})}else await super.copy(t,r,i)}};Wc=v([(0,r7.injectable)()],Wc);function Dm(n){return n.scheme==="file"}var KC=k(kl());var s7=k(N()),a7=require("vscode");var bv=class extends KP{async computeWorkingDirectory(e){return OC(e)}};bv=v([(0,s7.injectable)()],bv);async function OC(n){let e=n&&n.scheme==="file"?await KC.pathExists(n.fsPath):!1;return(n&&n.scheme==="file"?await KC.pathExists(nt(n.fsPath)):!1)&&n&&n.fsPath.includes(".")?nt(n.fsPath):e&&n&&(await KC.stat(n.fsPath)).isDirectory()?n.fsPath:n&&a7.workspace.getWorkspaceFolder(n)?.uri.fsPath||ll()?.fsPath||process.cwd()}var _m=k(N());var l7=require("vscode");var Iv=class{constructor(e,t){this.jupyterOutput=e;this.disposableRegistry=t}register(){this.disposableRegistry.push(l7.commands.registerCommand(B.ViewJupyterOutput,this.viewJupyterOutput,this))}viewJupyterOutput(){this.jupyterOutput.show(!0)}};Iv=v([(0,_m.injectable)(),m(0,(0,_m.inject)(Ao)),m(0,(0,_m.named)(Tu)),m(1,(0,_m.inject)(M))],Iv);var FC=k(N()),u7=require("vscode");var c7=require("vscode");var Sv=class{constructor(e,t,r,i=[]){this.fs=e;this.disposableRegistry=t;this.options=r;this.loadFailedEmitter=new c7.EventEmitter;let o={enableScripts:!0,localResourceRoots:[this.options.rootPath,this.options.cwd,...i]};r.webviewHost?(this.webviewHost=r.webviewHost,this.webviewHost.webview.options=o):this.webviewHost=this.createWebview(o),this.loadPromise=this.load()}get loadFailed(){return this.loadFailedEmitter.event}asWebviewUri(e){if(!this.webviewHost?.webview)throw new Error("WebView not initialized, too early to get a Uri");return this.webviewHost.webview.asWebviewUri(e)}postMessage(e){this.webviewHost?.webview&&this.webviewHost?.webview.postMessage(e)}async generateLocalReactHtml(){if(!this.webviewHost?.webview)throw new Error("WebView not initialized, too early to get a Uri");let e=this.webviewHost.webview.asWebviewUri(this.options.cwd).toString(),t=this.options.scripts.map(o=>this.webviewHost.webview.asWebviewUri(o)),r=this.webviewHost.webview.asWebviewUri(this.options.rootPath).toString(),i="false";return`<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
|
||
<meta http-equiv="Content-Security-Policy" content="img-src 'self' data: https: http: blob: ${this.webviewHost.webview.cspSource}; default-src 'unsafe-inline' 'unsafe-eval' data: https: http: blob: ${this.webviewHost.webview.cspSource};">
|
||
<meta name="theme-color" content="#000000">
|
||
<meta name="theme" content="${je.GeneratedThemeName}"/>
|
||
<title>VS Code Python React UI</title>
|
||
<base href="${e}${e.endsWith("/")?"":"/"}"/>
|
||
</head>
|
||
<body>
|
||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||
<div id="root"></div>
|
||
<script type="text/javascript">
|
||
// Public path that will be used by webpack.
|
||
window.__PVSC_Public_Path = "${r}/";
|
||
function resolvePath(relativePath) {
|
||
if (relativePath && relativePath[0] == '.' && relativePath[1] != '.') {
|
||
return "${e}" + relativePath.substring(1);
|
||
}
|
||
|
||
return "${e}" + relativePath;
|
||
}
|
||
function forceTestMiddleware() {
|
||
return ${i};
|
||
}
|
||
</script>
|
||
${t.map(o=>`<script type="text/javascript" src="${o}"></script>`).join(`
|
||
`)}
|
||
</body>
|
||
</html>`}async load(){try{this.webviewHost?.webview&&((await Promise.all(this.options.scripts.map(t=>this.fs.exists(t)))).every(t=>t===!0)?(this.webviewHost.webview.html=await this.generateLocalReactHtml(),this.postLoad(this.webviewHost)):this.webviewHost.webview.html=y.badWebPanelFormatString(this.options.scripts.join(", ")))}catch(e){p.error(`Error Loading WebviewPanel: ${e}`),this.loadFailedEmitter.fire()}}};var lK=class extends Sv{constructor(t,r,i,o=[]){super(t,r,i,o);this.panelOptions=i;this._onDidChangeVisibility=new u7.EventEmitter}get visible(){return this.webviewHost?this.webviewHost.visible:!1}get onDidChangeVisibility(){return this._onDidChangeVisibility.event}createWebview(t){throw new Error("Webview Views must be passed in an initial view")}postLoad(t){this.disposableRegistry.push(t.onDidDispose(()=>{this.webviewHost=void 0,this.panelOptions.listener.dispose()})),this.disposableRegistry.push(t.webview.onDidReceiveMessage(r=>{this.panelOptions.listener.onMessage(r.type,r.payload)})),this.disposableRegistry.push(t.onDidChangeVisibility(()=>{this._onDidChangeVisibility.fire()})),this._onDidChangeVisibility.fire()}},Cv=class{constructor(e,t){this.disposableRegistry=e;this.fs=t}async create(e){return new lK(this.fs,this.disposableRegistry,e)}};Cv=v([(0,FC.injectable)(),m(0,(0,FC.inject)(M)),m(1,(0,FC.inject)(tt))],Cv);var Ev=k(N()),Qx=require("vscode");var cK=class extends Sv{get panel(){return this.webviewHost}get panelOptions(){return this.options}constructor(e,t,r,i=[]){super(e,t,r,i)}async show(e){await this.loadPromise,this.panel&&(e?this.panel.visible||this.panel.reveal(this.panel.viewColumn,e):this.panel.active||this.panel.reveal(this.panel.viewColumn,e))}close(){this.panel&&this.panel.dispose()}get viewColumn(){return this.panel?.viewColumn}isVisible(){return this.panel?this.panel.visible:!1}isActive(){return this.panel?this.panel.active:!1}setTitle(e){this.panelOptions.title=e,this.panel&&(this.panel.title=e)}createWebview(e){return Qx.window.createWebviewPanel(this.panelOptions.title.toLowerCase().replace(" ",""),this.panelOptions.title,{viewColumn:this.panelOptions.viewColumn,preserveFocus:!0},{retainContextWhenHidden:!0,enableFindWidget:!0,...e})}postLoad(e){this.disposableRegistry.push(e.onDidDispose(()=>{this.webviewHost=void 0,this.panelOptions.listener.dispose()})),this.disposableRegistry.push(e.webview.onDidReceiveMessage(t=>{this.panelOptions.listener.onMessage(t.type,t.payload)})),this.disposableRegistry.push(e.onDidChangeViewState(t=>{this.panelOptions.listener.onChangeViewState(this)})),this.panelOptions.listener.onChangeViewState(this)}},wv=class{constructor(e,t,r){this.disposableRegistry=e;this.fs=t;this.context=r}async create(e){let t=[Qx.Uri.file(Le(this.context.extensionPath,"temp"))];return Array.isArray(e.additionalPaths)&&t.push(...e.additionalPaths),new cK(this.fs,this.disposableRegistry,e,t)}};wv=v([(0,Ev.injectable)(),m(0,(0,Ev.inject)(M)),m(1,(0,Ev.inject)(tt)),m(2,(0,Ev.inject)(et))],wv);function d7(n){n.addSingleton(Wc,Wc),n.addBinding(Wc,lr),n.addBinding(Wc,tt),n.addSingleton(Pk,bv),n.addSingleton(ie,mv),jj(n),$B(n),HB(n),t6(n),n.addSingletonInstance(dU,Date.now()),n.addSingleton($o,$o),n.addSingleton(me,st),n.addSingleton(wh,Iv),n.add(kk,Cv),n.add(md,wv)}var Tm=k(N()),v7=require("vscode");var Ld=k(N()),xv=require("vscode");var LC=k(N()),Vc=require("vscode");var Pv=Symbol("IJupyterCommandFactory"),Od=Symbol("IJupyterSubCommandExecutionService");function jle(n){n.sort((e,t)=>e===18?-1:t===18?1:e===20?-1:t===20?1:0)}function uK(n,e){let t=qr(e)||qr(e)||Pr(e)?.environment?.folderUri?.fsPath||e.uri.fsPath,r=n.map(i=>ar.get(i)).filter(i=>!!i).map(i=>i);switch(r.length){case 0:return"";case 1:return t?y.libraryRequiredToLaunchJupyterNotInstalledInterpreter(t,r[0]):y.libraryRequiredToLaunchJupyterNotInstalled(r[0]);default:{let i=r.pop();return t?y.librariesRequiredToLaunchJupyterNotInstalledInterpreter(t,`${r.join(", ")} ${de.and} ${i}`):y.librariesRequiredToLaunchJupyterNotInstalled(`${r.join(", ")} ${de.and} ${i}`)}}}var As=class{constructor(e,t){this.installer=e;this.commandFactory=t;this.dependenciesInstalledInInterpreter=new Set}async installMissingDependencies(e,t){let r=new Vc.CancellationTokenSource;try{let i=Ve(e)==="Conda"?Promise.resolve(void 0):this.installer.isInstalled(27,e),[o,s]=await Promise.all([this.getDependenciesNotInstalled(e,void 0),i]);if(o.length===0)return 0;let a=uK(s===!1?[27].concat(o):o,e);switch(R("DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"displayed",moduleName:ar.get(18),pythonEnvType:Ve(e)}),await Vc.window.showErrorMessage(a,{modal:!0},y.jupyterInstall,y.selectDifferentJupyterInterpreter)){case y.jupyterInstall:{o.includes(21)&&!o.includes(18)&&o.push(18);let c=o.filter(d=>d!==21);jle(c);let u=c.shift();for(;u;)if(await Xt(r.token,2,this.installer.install(u,e,r,void 0,s===!1))===0){u=c.shift();continue}else return 2;return R("DATASCIENCE.USER_INSTALLED_JUPYTER"),this.checkKernelSpecAvailability(e)}case y.selectDifferentJupyterInterpreter:return R("DATASCIENCE.USER_DID_NOT_INSTALL_JUPYTER"),1;case y.pythonInteractiveHelpLink:return Vc.env.openExternal(Vc.Uri.parse(lS.PythonInteractiveHelpLink)),R("DATASCIENCE.USER_DID_NOT_INSTALL_JUPYTER"),2;default:return R("DATASCIENCE.USER_DID_NOT_INSTALL_JUPYTER"),2}}finally{r.dispose()}}async areDependenciesInstalled(e,t){return this.getDependenciesNotInstalled(e,t).then(r=>r.length===0)}async getDependenciesNotInstalled(e,t){let r=cn(e.uri);if(this.dependenciesInstalledInInterpreter.has(r))return[];let i=[];if(await Xt(t,Promise.all([this.installer.isInstalled(18,e).then(s=>s?void 0:i.push(18)),this.installer.isInstalled(20,e).then(s=>s?void 0:i.push(20))])),i.length>0)return i;if(t?.isCancellationRequested)return[];let o=await this.isKernelSpecAvailable(e,t).then(s=>s?[]:[21]);return o.length===0&&this.dependenciesInstalledInInterpreter.add(r),o}async isKernelSpecAvailable(e,t){return this.commandFactory.createInterpreterCommand("kernelspec","jupyter",["-m","jupyter","kernelspec"],e,!1).exec(["--version"],{throwOnStdErr:!0}).then(()=>!0).catch(i=>(p.error("Kernel spec not found: ",i),!1))}async checkKernelSpecAvailability(e,t){return await this.isKernelSpecAvailable(e)?0:t?.isCancellationRequested?2:await Vc.window.showErrorMessage(y.jupyterKernelSpecModuleNotFound(e.uri.fsPath),{modal:!0},y.selectDifferentJupyterInterpreter)===y.selectDifferentJupyterInterpreter?1:2}};v([lv("InstallingMissingDependencies")],As.prototype,"installMissingDependencies",1),As=v([(0,LC.injectable)(),m(0,(0,LC.inject)(Ai)),m(1,(0,LC.inject)(Pv))],As);var tD=k(N());var rD=require("vscode");var m7=require("vscode");function Yx(n,e){let t=qr(n),i={label:`${n.id===e.recommended?.id?"$(star-full) ":Vr(n)?"$(warning) ":""}${t}`};return i.description=j(n.executable.uri||n.path,m7.workspace.workspaceFolders||[],new xl().homeDir),i.tooltip=Vr(n)?y.pythonCondaKernelsWithoutPython:"",i}function Xx(n){switch(Ve(n)){case"Conda":return Vr(n)?{label:y.kernelCategoryForCondaWithoutPython,sortKey:"Z"}:{label:y.kernelCategoryForConda};case"PipEnv":return{label:y.kernelCategoryForPipEnv};case"Poetry":return{label:y.kernelCategoryForPoetry};case"Pyenv":return{label:y.kernelCategoryForPyEnv};case"Venv":case"VirtualEnv":case"VirtualEnvWrapper":return{label:y.kernelCategoryForVirtual};default:return{label:y.kernelCategoryForGlobal}}}var Ns=k(N()),f7=require("vscode");var Zx="INTERPRETER_PATH_SELECTED_FOR_JUPYTER_SERVER",dK="INTERPRETER_PATH_WAS_SELECTED_FOR_JUPYTER_SERVER",pa=class{constructor(e){this.memento=e}get interpreterSetAtleastOnce(){return!!this.selectedPythonPath||this.memento.get(dK,!1)}get selectedPythonPath(){if(this._interpreterPath)return this._interpreterPath;let e=this.memento.get(Zx,void 0);if(e)return f7.Uri.parse(e)}updateSelectedPythonPath(e){this._interpreterPath=e,this.memento.update(Zx,e?.toString()).then(h,h),this.memento.update(dK,!0).then(h,h)}};pa=v([(0,Ns.injectable)(),m(0,(0,Ns.inject)(We)),m(0,(0,Ns.named)(lt))],pa);var kv=class{constructor(e,t,r,i){this.api=e;this.memento=t;this.checker=r;this.disposables=i}activate(){this.activateBackground().catch(h),this.api.onDidActivatePythonExtension(this.activateBackground,this,this.disposables)}async activateBackground(){!this.memento.get(Zx)&&this.checker.isPythonExtensionActive&&await this.migrateSettings()}async migrateSettings(){if(this.settingsMigrated)return;this.settingsMigrated=!0;let t=(await this.api.getApi()).getInterpreterPathSelectedForJupyterServer();await this.memento.update(Zx,t),await this.memento.update(dK,!0)}};kv=v([(0,Ns.injectable)(),m(0,(0,Ns.inject)(Ht)),m(1,(0,Ns.inject)(We)),m(1,(0,Ns.named)(lt)),m(2,(0,Ns.inject)(Be)),m(3,(0,Ns.inject)(M))],kv);var qo=require("vscode");var pK=class{constructor(e){this.label=e}},eD=class extends pK{constructor(t,r){super(t);this.sortKey=r;this.kind=qo.QuickPickItemKind.Separator}},Fd=class extends Qt{constructor(t,r,i,o,s,a){super();this.provider=t;this.createQuickPickItem=r;this.getCategory=i;this.options=o;this.createErrorQuickPickItem=s;this._title=a;this.categories=new Map;this.quickPickItems=[];this.previouslyEnteredValue="";this.commands=new Set;this._placeholder="";this.quickPickItemMap=new WeakSet;this.errorQuickPickItemMap=new WeakSet}set recommended(t){let r=this._recommended?.id!==t?.id;this._recommended=t,r&&this.quickPick&&this.rebuildQuickPickItems(this.quickPick)}get recommended(){return this._recommended}set placeholder(t){this.quickPick&&(this.quickPick.placeholder=t),this._placeholder=t}get placeholder(){return this._placeholder}set selected(t){let r=this._selected!==t;this._selected=t,r&&this.quickPick&&this.rebuildQuickPickItems(this.quickPick)}get selected(){return this._selected}createQuickPick(){let t=[],r={iconPath:new qo.ThemeIcon("refresh"),tooltip:de.refresh},i=this.quickPick=qo.window.createQuickPick();return t.push(i),this.quickPickItems=[],i.placeholder=this.placeholder,i.matchOnDescription=!0,i.buttons=this.options.supportsBack?[qo.QuickInputButtons.Back,r]:[r],i.ignoreFocusOut=!0,i.busy=!0,i.value=this.previouslyEnteredValue,i.onDidChangeValue(o=>this.previouslyEnteredValue=o,this,t),i.onDidHide(()=>z(t),this,t),i.title=this._title||y.kernelPickerSelectKernelFromRemoteTitleWithoutName,this.provider.then(o=>{this.resolvedProvider=o,this._title||(i.title=y.kernelPickerSelectKernelFromRemoteTitle(o.title)),i.busy=o.status==="discovering",o.onDidChange(()=>this.updateQuickPickItems(i,o),this,t),i.onDidTriggerButton(async a=>{a===r&&(i.busy=!0,await o.refresh().catch(h),this.updateQuickPickItems(i,o),i.busy=!1)},this,t);let s;o.onDidChangeStatus(()=>{switch(s&&clearTimeout(s),o.status){case"discovering":i.busy=!0;break;case"idle":s=setTimeout(()=>i.busy=!1,500),t.push(new qo.Disposable(()=>s&&clearTimeout(s)));break}},this,t),h7(o.items.map(a=>this.toQuickPickItem(a)),(a,l)=>g7(this.getCategory(a.item,this),this.getCategory(l.item,this))).forEach(a=>{let l=this.connectionToCategory(a[0].item);this.quickPickItems.push(l),a.sort((c,u)=>c.label.localeCompare(u.label)),this.quickPickItems.push(...a),this.categories.set(l,new Set(a))}),this.updateQuickPickItems(i,o)}).catch(o=>p.error(`Failed to get quick pick items for ${i.title}`,o)),t.forEach(o=>this._register(o)),{quickPick:i,disposables:t}}isCommandQuickPickItem(t){return this.commands.has(t)}addCommand(t,r){let i=t;return i.execute=r,this.commands.add(i),this.quickPick&&this.rebuildQuickPickItems(this.quickPick),{dispose:()=>{this.commands.delete(i)}}}async selectItem(t){for(;!t.isCancellationRequested;){let{quickPick:r,disposables:i}=this.createQuickPick();r.show();try{this.previouslySelectedItem=void 0;let o=await new Promise((s,a)=>{r.onDidChangeSelection(l=>{if(l.length){let c=l[0];this.isSelectorQuickPickItem(c)?s(c.item):this.isCommandQuickPickItem(c)?s(c):this.isErrorQuickPickItem(c)}}),r.onDidTriggerButton(l=>l===qo.QuickInputButtons.Back?s(_e.back):void 0,this,i),r.onDidHide(()=>s(void 0),this,i)});if(t.isCancellationRequested||!o)return;if(o instanceof _e)return o===_e.back?_e.back:void 0;if(o&&"label"in o&&this.isCommandQuickPickItem(o)){this.previouslySelectedItem=o;let s=await o.execute();if(!s||s===_e.back)continue;return s instanceof _e,s}return o||void 0}finally{z(i)}}}updateQuickPickItems(t,r){let i=new Map(t.items.filter(a=>this.isSelectorQuickPickItem(a)).map(a=>a).map(a=>[a.item.id,a.item])),o=new Map(r.items.map(a=>[a.id,a]));this.quickPickItems=this.quickPickItems.map(a=>{if(this.isSelectorQuickPickItem(a)){let l=i.get(a.item.id);if(l&&l!==a.item)return this.toQuickPickItem(l);let c=o.get(a.item.id);if(c){let u=this.toQuickPickItem(c);if(JSON.stringify({...a,item:""})!==JSON.stringify({...u,item:""}))return this.toQuickPickItem(c)}}return a});let s=r.items.filter(a=>!i.has(a.id)).map(a=>this.toQuickPickItem(a));this.removeOutdatedQuickPickItems(t,r),h7(s,(a,l)=>g7(this.getCategory(a.item,this),this.getCategory(l.item,this))).forEach(a=>{a.sort((u,d)=>u.label.localeCompare(d.label));let l=this.connectionToCategory(a[0].item),c=this.quickPickItems.find(u=>u.kind===qo.QuickPickItemKind.Separator&&u.label===l.label);if(c){let u=this.quickPickItems.indexOf(c),d=this.categories.get(c),f=new Map(Array.from(d).map(I=>[I.item.id,I])),g=d.size;a.forEach(I=>{let E=f.get(I.item.id);E&&d.delete(E),d.add(I)});let b=Array.from(d);b.sort((I,E)=>I.label.localeCompare(E.label)),this.quickPickItems.splice(u+1,g,...b)}else{let u=this.quickPickItems.filter(g=>g instanceof eD).map((g,b)=>[g,b]);u.push([l,-1]),u.sort((g,b)=>g[0].sortKey.localeCompare(b[0].sortKey));let d=u.findIndex(g=>g[1]===-1),f=0;d>0&&(f=u.length===d+1?this.quickPickItems.length:u[d+1][1]),a.sort((g,b)=>g.label.localeCompare(b.label)),this.quickPickItems.splice(f,0,l,...a),this.categories.set(l,new Set(a))}}),this.rebuildQuickPickItems(t)}rebuildQuickPickItems(t){let r=this.recommended?this.toQuickPickItem(this.recommended):void 0,i=[];r&&i.push({label:y.recommendedItemCategoryInQuickPick,kind:qo.QuickPickItemKind.Separator},r);let o=r;o=this.selected?this.quickPickItems.filter(d=>this.isSelectorQuickPickItem(d)).map(d=>d).find(d=>d.item.id===this.selected?.id):o;let s=this.quickPickItems.filter(d=>!this.isSelectorQuickPickItem(d)||d.item.id!==r?.item?.id),a=t.activeItems.length?t.activeItems[0]:void 0;o&&a&&(this.isSelectorQuickPickItem(a)?a.item.id!==o.item.id&&(o=void 0):o=void 0);let l=this.resolvedProvider?.lastError?this.toErrorQuickPickItem(this.resolvedProvider.lastError):void 0,c=[].concat(Array.from(this.commands.values())).concat(i).concat(s).concat(l?[l]:[]),u=o?[o]:t.activeItems.length?[t.activeItems[0]]:[];if(u.length&&!c.includes(u[0])){let d=u[0],f=this.isSelectorQuickPickItem(d)&&c.find(g=>this.isSelectorQuickPickItem(g)&&g.item.id===d.item.id);f?u[0]=f:u.length=0}t.items=c,t.activeItems=u,!t.activeItems.length&&this.previouslySelectedItem&&c.includes(this.previouslySelectedItem)&&(t.activeItems=[this.previouslySelectedItem])}isErrorQuickPickItem(t){return this.errorQuickPickItemMap.has(t)}toErrorQuickPickItem(t){if(!this.createErrorQuickPickItem)return;let r=this.createErrorQuickPickItem(t,this);return this.errorQuickPickItemMap.add(r),r}isSelectorQuickPickItem(t){return this.quickPickItemMap.has(t)}toQuickPickItem(t){let r=this.createQuickPickItem(t,this);return r.item=t,this.quickPickItemMap.add(r),r}removeOutdatedQuickPickItems(t,r){let i=t.items.filter(a=>this.isSelectorQuickPickItem(a)).map(a=>a).map(a=>a.item.id),o=new Map(r.items.map(a=>[a.id,a])),s=i.filter(a=>!o.has(a));if(s.length){let a=[];this.categories.forEach((l,c)=>{l.forEach(u=>{s.includes(u.item.id)&&(l.delete(u),a.push(u))}),l.size||(a.push(c),this.categories.delete(c))}),this.quickPickItems=this.quickPickItems.filter(l=>!a.includes(l)),this.rebuildQuickPickItems(t)}}connectionToCategory(t){let r=this.getCategory(t,this);return new eD(r.label,r.sortKey||r.label)}};function h7(n,e){let t=[],r;for(let i of n.slice(0).sort(e))!r||e(r[0],i)!==0?(r=[i],t.push(r)):r.push(i);return t}function g7(n,e){return(n.sortKey||n.label).localeCompare(e.sortKey||e.label,void 0,{sensitivity:"accent"})}var jc=class{constructor(e){this.serviceContainer=e}async selectPythonInterpreter(){let e=await this.selectPythonEnvironment();return e?.executable?.uri&&await this.serviceContainer.get(Xe).getInterpreterDetails(e.executable.uri)}async selectPythonEnvironment(){let e=new rD.CancellationTokenSource,t=new xl,r=this.serviceContainer.get(pa).selectedPythonPath,i=be.instance.get(ri),o=be.instance.get(Rs).withFilter(u=>!Vr(u)&&!i.isPythonEnvironmentExcluded(u)),s=()=>o.items.find(u=>Mo(u.executable.uri,r,t.osType)),a=r?y.currentlySelectedJupyterInterpreterForPlaceholder(j(r,rD.workspace.workspaceFolders||[],t.homeDir)):"",l=[],c=new Fd(Promise.resolve(o),Yx,Xx,{supportsBack:!1},void 0,y.quickPickSelectPythonEnvironmentTitle);c.placeholder=a,c.selected=s(),l.push(c),l.push(e);try{if(!c.selected&&r){let d=o.onDidChange(()=>{c.selected=s(),c.selected&&d.dispose()});l.push(d)}let u=await c.selectItem(e.token);return!u||u instanceof _e?void 0:u}catch(u){p.error("Failed to select a Python Environment to start Jupyter",u)}finally{z(l)}}};jc=v([(0,tD.injectable)(),m(0,(0,tD.inject)(rt))],jc);var ii=class{constructor(e,t,r,i,o){this.interpreterSelectionState=e;this.jupyterInterpreterSelector=t;this.interpreterConfiguration=r;this.interpreterService=i;this._onDidChangeInterpreter=new xv.EventEmitter;xv.workspace.onDidGrantWorkspaceTrust(()=>{this.getInitialInterpreterPromiseFailed&&(this.getInitialInterpreterPromise=void 0,this.getInitialInterpreterPromiseFailed=!1)},this,o)}get onDidChangeInterpreter(){return this._onDidChangeInterpreter.event}async getSelectedInterpreter(e){return await this.setInitialInterpreter(e),this._selectedInterpreter}async setInitialInterpreter(e){return this.getInitialInterpreterPromise||(this.getInitialInterpreterPromise=this.getInitialInterpreterImpl(e).then(t=>(t&&this.changeSelectedInterpreterProperty(t),t)),this.getInitialInterpreterPromise.catch(()=>this.getInitialInterpreterPromiseFailed=!0)),this.getInitialInterpreterPromise}async selectInterpreter(){let e=await this.jupyterInterpreterSelector.selectPythonInterpreter();if(!e)return;switch(await this.interpreterConfiguration.installMissingDependencies(e,void 0)){case 0:return await this.setAsSelectedInterpreter(e),e;case 2:return;default:return this.selectInterpreter()}}async installMissingDependencies(e){let t=await this.getSelectedInterpreter(),r=t;if(!r&&(r=await this.interpreterService.getActiveInterpreter(void 0),!r))return e&&await xv.window.showErrorMessage(e.message,{modal:!0},y.selectDifferentJupyterInterpreter)!==y.selectDifferentJupyterInterpreter?2:(await this.selectInterpreter(),1);let i=await this.interpreterConfiguration.installMissingDependencies(r,e);return i===1?(r=await this.selectInterpreter(),r?0:2):(i===0&&r!==t&&await this.setAsSelectedInterpreter(r),i)}async setAsSelectedInterpreter(e){await this.setInitialInterpreter(),this.changeSelectedInterpreterProperty(e)}changeSelectedInterpreterProperty(e){this._selectedInterpreter=e,this._onDidChangeInterpreter.fire(e),this.interpreterSelectionState.updateSelectedPythonPath(e.uri)}async validateInterpreterPath(e,t){try{let r=await Xt(t,this.interpreterService.getInterpreterDetails(e));if(r&&await this.interpreterConfiguration.areDependenciesInstalled(r,t))return r}catch{}}async getInitialInterpreterImpl(e){let t;if(this.interpreterSelectionState.selectedPythonPath&&(t=await this.validateInterpreterPath(this.interpreterSelectionState.selectedPythonPath,e),t||this.interpreterSelectionState.updateSelectedPythonPath(void 0)),!t){let r=await this.interpreterService.getActiveInterpreter(void 0);r&&await this.interpreterConfiguration.areDependenciesInstalled(r,e)&&(t=r)}return t}};ii=v([(0,Ld.injectable)(),m(0,(0,Ld.inject)(pa)),m(1,(0,Ld.inject)(jc)),m(2,(0,Ld.inject)(As)),m(3,(0,Ld.inject)(Xe)),m(4,(0,Ld.inject)(M))],ii);var nD=Symbol("IKernelLauncher"),oi=Symbol("IRawNotebookSupportedService"),iD=Symbol("IRawKernelSessionFactory");var Dv=class{constructor(e,t,r,i){this.jupyterInterpreterService=e;this.disposables=t;this.rawSupported=r;this.extensionChecker=i;this.notebookOpened=!1}activate(){this.disposables.push(v7.workspace.onDidOpenNotebookDocument(this.onDidOpenNotebookEditor,this)),this.disposables.push(this.jupyterInterpreterService.onDidChangeInterpreter(this.onDidChangeInterpreter,this))}onDidOpenNotebookEditor(e){Et(e)&&(this.notebookOpened=!0,R("DATASCIENCE.NATIVE.OPEN_NOTEBOOK_ALL",fV(e)),!this.rawSupported.isSupported&&this.extensionChecker.isPythonExtensionInstalled&&this.jupyterInterpreterService.setInitialInterpreter().catch(h))}onDidChangeInterpreter(){this.notebookOpened&&!this.rawSupported.isSupported&&this.extensionChecker.isPythonExtensionInstalled&&this.jupyterInterpreterService.setInitialInterpreter().catch(h)}};Dv=v([(0,Tm.injectable)(),m(0,(0,Tm.inject)(ii)),m(1,(0,Tm.inject)(M)),m(2,(0,Tm.inject)(oi)),m(3,(0,Tm.inject)(Be))],Dv);var oD=k(N()),y7=require("vscode");var Qr=class{static dispose(){z(Qr.disposables)}constructor(e){e.push({dispose:()=>{Qr.dispose()}})}activate(){y7.workspace.onDidChangeNotebookDocument(e=>{Et(e.notebook)&&e.cellChanges.filter(t=>t.outputs?.length===0).map(t=>{let r=Qr.cellToDisplayIdMapping.get(t.cell);r&&(Qr.cellToDisplayIdMapping.delete(t.cell),Qr.displayIdCellOutputMappingPerDocument.get(e.notebook)?.delete(r))})})}static trackOutputByDisplayId(e,t,r,i){let o=Qr.displayIdCellOutputMappingPerDocument.get(e.notebook);o||(o=new Map,Qr.displayIdCellOutputMappingPerDocument.set(e.notebook,o)),o.set(t,{outputContainer:r,cell:e,outputItems:i}),Qr.cellToDisplayIdMapping.set(e,t)}static getMappedOutput(e,t){let r=Qr.displayIdCellOutputMappingPerDocument.get(e);if(!r)return;let i=r.get(t);return i?.cell.document.isClosed?void 0:i}};Qr.displayIdCellOutputMappingPerDocument=new WeakMap,Qr.cellToDisplayIdMapping=new WeakMap,Qr.disposables=[],Qr=v([(0,oD.injectable)(),m(0,(0,oD.inject)(M))],Qr);var Rm=k(N());var mK="Active_Kernel_Id_List",Jle=100,Ho=class{constructor(e,t){this.globalMemento=e;this.crypto=t}async getPreferredRemoteKernelId(e){let t=this.globalMemento.get(mK,[]);if(t.length){let r=e.uri,i=await this.crypto.createHash(r.toString()),o=t.find(s=>s.fileHash===i);return p.trace(`Preferred Remote kernel for ${j(r)} is ${o?.kernelId}`),o?.kernelId}}async clearPreferredRemoteKernelId(e){await this.updatePreferredRemoteKernelIdInternal(e)}async storePreferredRemoteKernelId(e,t){await this.updatePreferredRemoteKernelIdInternal(e,t)}async updatePreferredRemoteKernelIdInternal(e,t){let r=!1,i=JSON.parse(JSON.stringify(this.globalMemento.get(mK,[]))),o=await this.crypto.createHash(e.toString()),s=i.findIndex(a=>a.fileHash===o);for(s>=0&&(r=!0,i.splice(s,1)),t&&(r=!0,i.push({fileHash:o,kernelId:t}),p.trace(`Storing Preferred remote kernel for ${j(e)} is ${t}`));i.length>Jle;)r=!0,i.shift();r&&await this.globalMemento.update(mK,i)}};Ho=v([(0,Rm.injectable)(),m(0,(0,Rm.inject)(We)),m(0,(0,Rm.named)(lt)),m(1,(0,Rm.inject)(Ch))],Ho);var Tv=k(N());var sD=require("vscode");var er;(r=>{let n=Zs(new sD.EventEmitter);r.onDidChangeNotebookCellExecutionState=n.event;function t(i,o,s){if(o!==1||!s){n.fire({cell:i,state:o});return}let a=Zs(sD.workspace.onDidChangeNotebookDocument(l=>{if(l.notebook!==i.notebook)return;l.cellChanges.find(u=>u.cell===i)?.cell?.executionSummary?.executionOrder===s&&(a.dispose(),n.fire({cell:i,state:1}))}))}r.changeCellState=t})(er||={});var Ble=1e3,_v=class{constructor(e,t,r){this.serverStorage=e;this.kernelProvider=t;this.disposables=[];this.timeouts=new Set;this.kernelSpecificUpdates=new WeakMap;r.push(this)}dispose(){z(this.disposables),z(Array.from(this.timeouts.values()))}activate(){this.disposables.push(er.onDidChangeNotebookCellExecutionState(this.onDidChangeNotebookCellExecutionState,this))}onDidChangeNotebookCellExecutionState(e){let t=this.kernelProvider.get(e.cell.notebook);if(!t)return;let r=t.kernelConnectionMetadata;if(!_t(r))return;let i=this.kernelSpecificUpdates.get(t)||new cs(Ble);this.kernelSpecificUpdates.set(t,i),i.trigger(()=>{t.disposed||t.disposing||this.serverStorage.update(r.serverProviderHandle).catch(h)})}};_v=v([(0,Tv.injectable)(),m(0,(0,Tv.inject)($t)),m(1,(0,Tv.inject)(De)),m(2,(0,Tv.inject)(M))],_v);var ma=k(N()),UC=require("vscode");var b7=require("vscode"),Jt=class{constructor(e){this._event=new b7.EventEmitter;this._disableUI=e}get disableUI(){return this._disableUI}set disableUI(e){let t=this._disableUI!==e;this._disableUI=e,t&&this._event.fire()}get onDidChangeDisableUI(){return this._event.event}dispose(){this._event.dispose()}};var $le="last-python-notebook-created",I7="last-notebook-created",Rv=class{constructor(e,t,r,i,o,s){this.configService=e;this.serverConnector=t;this.disposables=r;this.rawKernelSupport=i;this.mementoStorage=o;this.kernelProvider=s;UC.workspace.onDidOpenNotebookDocument(this.onDidOpenNotebook.bind(this),this,r)}activate(){this.checkDateForServerStart(),this.disposables.push(this.kernelProvider.onDidStartKernel(this.kernelStarted,this))}get lastNotebookCreated(){let e=this.mementoStorage.get(I7);return e?new Date(e):void 0}checkDateForServerStart(){this.shouldAutoStartStartServer(this.lastNotebookCreated)&&this.createServerIfNecessary().catch(h)}shouldAutoStartStartServer(e){if(!e)return!1;let r=new Date().getTime()-e.getTime();return Math.floor(r/(24*3600*1e3))<=7}async createServerIfNecessary(){if(!UC.workspace.isTrusted||this.rawKernelSupport.isSupported)return;let e=new UC.CancellationTokenSource,t=new Jt(!0);try{p.info("Attempting to start a server because of preload conditions ..."),this.configService.getSettings(void 0).disableJupyterAutoStart||await this.serverConnector.connect({resource:void 0,ui:t,token:e.token})}catch(r){p.error("Error starting server in serverPreload: ",r)}finally{t.dispose(),e.dispose()}}onDidOpenNotebook(e){Et(e)&&this.createServerIfNecessary().catch(h)}kernelStarted(e){let t=po(e.kernelConnectionMetadata);this.mementoStorage.update(I7,Date.now()).then(h,h),t===ge&&this.mementoStorage.update($le,Date.now()).then(h,h)}};Rv=v([(0,ma.injectable)(),m(0,(0,ma.inject)(ie)),m(1,(0,ma.inject)(GP)),m(2,(0,ma.inject)(M)),m(3,(0,ma.inject)(oi)),m(4,(0,ma.inject)(We)),m(4,(0,ma.named)(ei)),m(5,(0,ma.inject)(De))],Rv);var bo=k(N());var Ms=k(N());var zi=class extends qe{constructor(e){super("jupyterinstall",e)}};var xr=require("vscode");var Am=class extends xn{constructor(e){super("timeout",y.rawKernelStartFailedDueToTimeout(it(e)),e)}};var Ud=class extends ml{constructor(t,r,i,o){super(t,i,o);this.stdErr=r}};var Av=class extends xn{constructor(e){super("timeout",y.rawKernelStartFailedDueToTimeoutWaitingForPort(it(e)),e)}};var Ol=class extends xn{constructor(t=-1,r,i){super("kerneldied",y.kernelDied(r.trim()),i);this.exitCode=t;this.stdErr=r}};var Nm=class extends xn{constructor(t,r){super("noipykernel",y.kernelInvalid(it(r)),r);this.reason=t}};var Wd=class extends ml{constructor(e){super(y.kernelDiedWithoutError(it(e)),void 0,e)}};var aD=class extends qe{constructor(e){super("jupyterexpiredcert",e)}};var Vd=class extends qe{constructor(t){super("invalidremotejupyterserverurihandle","Server handle not in list of known handles");this.serverProviderHandle=t}};var Jc=class extends qe{constructor(t,r,i){super("jupyternotebooknotinstalled",t+(r?`
|
||
${r}`:""));this.interpreter=i}};var S7=new Map;function lD(n,e){S7.set(Ot(n),e)}function Nv(n,e,t){let r=e.jupyterCollections.find(i=>i.extensionId===n.extensionId&&i.id===n.id);return S7.get(Ot(n))||r?.label||t||`${n.id}:${n.handle}`}var Kv=class{constructor(e,t,r,i,o,s,a){this.dependencyManager=e;this.configuration=t;this.kernelDependency=r;this.serverUriStorage=i;this.jupyterUriProviderRegistration=o;this.fs=s;this.interpreterService=a;this.handledErrors=new WeakSet;this.handledKernelErrors=new WeakSet}async handleError(e){if(p.warn("DataScience Error",e),e=rn.unwrap(e),!this.handledErrors.has(e)){if(this.handledErrors.add(e),e instanceof zi)await this.dependencyManager?.installMissingDependencies(e);else if(e instanceof Oo)await $P(this.configuration,e.message);else if(e instanceof aD)await qP(this.configuration,e.message);else if(!sr(e))if(e instanceof Am||e instanceof Av)xr.window.showErrorMessage(e.message).then(h,h);else if(e instanceof Ud||e instanceof Ol||e instanceof Jc||e instanceof vs)xr.window.showErrorMessage(Mv(e)).then(h,h);else if(e instanceof xi&&tn())xr.window.showErrorMessage(y.jupyterNotebookRemoteConnectFailedWeb(e.baseUrl)).then(h,h);else if(e instanceof xi){let t=await this.handleJupyterServerConnectionError(e,void 0);xr.window.showErrorMessage(t).then(h,h)}else if(e instanceof ld){let t=await this.handleJupyterServerUriProviderError(e,void 0);xr.window.showErrorMessage(t).then(h,h)}else{let t=C7(e.message||e.toString());xr.window.showErrorMessage(t).then(h,h)}}}async getErrorMessageForDisplayInCell(e,t,r){if(e=rn.unwrap(e),sr(e)||p.error("Error in execution (get message for cell)",e),e instanceof Wd)return"";if(e instanceof Nm)return fK(e.kernelConnectionMetadata)||e.message;if(e instanceof zi)return Gle(e)||e.message;if(e instanceof xi&&!tn())return e.message;if(e instanceof xi&&tn())return y.jupyterNotebookRemoteConnectFailedWeb(e.baseUrl);if(sr(e))return"";if(e instanceof Bg){let i=typeof e.product=="string"?e.product:ar.get(e.product)||`${e.product}`,o=qr(e.interpreter)||e.interpreter.id||"",s=Pr(e.interpreter),a=j(s?.executable.uri),l=o?` ${o} (${a})`:a;return y.packageNotInstalledWindowsLongPathNotEnabledError(i,l)}else{if((e instanceof Ud||e instanceof Ol)&&(e.kernelConnectionMetadata.kind==="startUsingLocalKernelSpec"||e.kernelConnectionMetadata.kind==="startUsingPythonInterpreter")&&e.kernelConnectionMetadata.interpreter&&!await this.fs.exists(e.kernelConnectionMetadata.interpreter.uri))return y.failedToStartKernelDueToMissingPythonEnv(qr(e.kernelConnectionMetadata.interpreter)||Ro(e.kernelConnectionMetadata.interpreter)||j(e.kernelConnectionMetadata.interpreter.uri));if((e instanceof Ud||e instanceof Ol)&&(e.kernelConnectionMetadata.kind==="startUsingLocalKernelSpec"||e.kernelConnectionMetadata.kind==="startUsingPythonInterpreter")&&e.kernelConnectionMetadata.interpreter&&this.kernelDependency&&!await this.kernelDependency.areDependenciesInstalled(e.kernelConnectionMetadata,void 0,!0))return fK(e.kernelConnectionMetadata)||e.message;if(e instanceof xn||e instanceof ml){let[i,o]=await Promise.all([this.getFilesInWorkingDirectoryThatCouldPotentiallyOverridePythonModules(r),ia(e.kernelConnectionMetadata.interpreter)]),s=Qp(xr.workspace.workspaceFolders||[],e,it(e.kernelConnectionMetadata),o,i.map(a=>a.uri));if(s){if(s.reason==="moduleNotFound"&&["ipykernel_launcher","ipykernel"].includes(s.moduleName))return fK(e.kernelConnectionMetadata)||e.message;let a=[s.message];return s.moreInfoLink&&a.push(de.clickHereForMoreInfoWithHtml(s.moreInfoLink)),ct(e.kernelConnectionMetadata)&&s.reason==="moduleNotFound"&&!["ipykernel_launcher","ipykernel"].includes(s.moduleName)&&await this.addErrorMessageIfPythonArePossiblyOverridingPythonModules(a,r),a.join(`
|
||
`)}}else{if(e instanceof xi)return this.handleJupyterServerConnectionError(e,t);if(e instanceof ld)return this.handleJupyterServerUriProviderError(e,t);if(e instanceof Vd){let i=xr.extensions.getExtension(e.serverProviderHandle.extensionId)?.packageJSON.displayName||e.serverProviderHandle.extensionId;return Mv(y.remoteJupyterServerProvidedBy3rdPartyExtensionNoLongerValid(i),t)}}}return Mv(e,t)}async handleJupyterServerUriProviderError(e,t){let r=await Nv(e.serverProviderHandle,this.jupyterUriProviderRegistration),i=e.originalError?.message||e.message;return Mv(y.remoteJupyterConnectionFailedWithServerWithError(r,i),t)}async handleJupyterServerConnectionError(e,t){let r=await Nv(e.serverProviderHandle,this.jupyterUriProviderRegistration,e.baseUrl),i=e.originalError.message||"";return Mv(y.remoteJupyterConnectionFailedWithServerWithError(r,i),t)}async handleJupyterServerProviderConnectionError(e,t){let r=new xr.CancellationTokenSource;try{let i=await Promise.resolve(t.serverProvider.provideJupyterServers(r.token));return i&&(i.find(o=>o.id===e.handle)||await this.serverUriStorage.remove(e).catch(h)),!0}catch{return!1}finally{r.dispose()}}async handleKernelError(e,t,r,i,o){if(sr(e)||p.warn(`Kernel Error, context = ${t}`,e),e=rn.unwrap(e),sr(e))return this.sendKernelTelemetry(e,t,i,"cancelled"),1;if(e instanceof Nm)if(p.warn(`Jupyter Kernel Dependency Error, reason=${e.reason}`,e),this.sendKernelTelemetry(e,t,i,e.category),e.reason===4&&this.kernelDependency){let s=new xr.CancellationTokenSource;try{let a=o==="3rdPartyExtension";return this.kernelDependency.installMissingDependencies({resource:i,kernelConnection:r,ui:new Jt(!1),token:s.token,ignoreCache:!0,cannotChangeKernels:a})}finally{s.dispose()}}else return e.reason;else{if((t==="start"||t==="restart")&&e instanceof zi)return this.sendKernelTelemetry(e,t,i,e.category),(this.dependencyManager?await this.dependencyManager.installMissingDependencies(e):2)===0?0:1;if(e instanceof xi||e instanceof ld||e instanceof Vd){this.sendKernelTelemetry(e,t,i,e.category);let s=e instanceof Vd?"":e instanceof xi?e.originalError.message||"":e.originalError?.message||e.message,a=e.serverProviderHandle.extensionId,l=e.serverProviderHandle.id,c=this.jupyterUriProviderRegistration.jupyterCollections.find(I=>I.extensionId===a&&I.id==l);if(!c||await this.handleJupyterServerProviderConnectionError(e.serverProviderHandle,c))return 3;let u=e instanceof xi?e.baseUrl:"",d=Nv(e.serverProviderHandle,this.jupyterUriProviderRegistration,u),f=e instanceof Vd?xr.extensions.getExtension(e.serverProviderHandle.extensionId)?.packageJSON.displayName||e.serverProviderHandle.extensionId:"",g=o==="jupyterExtension"?[y.selectDifferentKernel]:[];switch(await xr.window.showErrorMessage(e instanceof Vd?y.remoteJupyterServerProvidedBy3rdPartyExtensionNoLongerValid(f):y.remoteJupyterConnectionFailedWithServer(d),{detail:s,modal:!0},y.removeRemoteJupyterConnectionButtonText,y.changeRemoteJupyterConnectionButtonText,...g)){case y.removeRemoteJupyterConnectionButtonText:return await this.serverUriStorage.remove(e.serverProviderHandle).catch(h),1;case y.changeRemoteJupyterConnectionButtonText:return 1;case y.selectDifferentKernel:return 3}return 1}else if(e instanceof Oo){this.sendKernelTelemetry(e,t,i,e.category);let s=y.jupyterSelfCertEnable,a=y.jupyterSelfCertClose;return xr.window.showErrorMessage(y.jupyterSelfCertFail(e.message),s,a).then(l=>{l===s?(R("DATASCIENCE.SELFCERTSMESSAGEENABLED"),this.configuration.updateSetting("allowUnauthorizedRemoteConnection",!0,void 0,xr.ConfigurationTarget.Workspace).catch(h)):l===a&&R("DATASCIENCE.SELFCERTSMESSAGECLOSE")}).then(h,h),2}else{if((t==="start"||t==="restart")&&r.kind==="startUsingPythonInterpreter"&&this.interpreterService&&!await this.fs.exists(r.interpreter.uri))return this.sendKernelTelemetry(e,t,i,"pythonEnvironmentMissing"),xr.window.showErrorMessage(y.failedToStartKernelDueToMissingPythonEnv(qr(r.interpreter)||Ro(r.interpreter)||j(r.interpreter.uri))).then(h,h),this.interpreterService.refreshInterpreters(!0).catch(h),2;if((t==="start"||t==="restart")&&this.kernelDependency&&!await this.kernelDependency.areDependenciesInstalled(r,void 0,!0)){this.sendKernelTelemetry(e,t,i,"noipykernel");let s=new xr.CancellationTokenSource;try{let a=o==="3rdPartyExtension";return this.kernelDependency.installMissingDependencies({resource:i,kernelConnection:r,ui:new Jt(!1),token:s.token,ignoreCache:!0,cannotChangeKernels:a})}finally{s.dispose()}}else{let[s,a]=await Promise.all([this.getFilesInWorkingDirectoryThatCouldPotentiallyOverridePythonModules(i),ia(r.interpreter)]),l=Qp(xr.workspace.workspaceFolders||[],e,it(r),a,s.map(c=>c.uri));return this.sendKernelTelemetry(e,t,i,l?.reason),l?this.showMessageWithMoreInfo(l.message,l?.moreInfoLink).catch(h):this.showMessageWithMoreInfo(Mv(e,t)).catch(h),2}}}}sendKernelTelemetry(e,t,r,i){this.handledKernelErrors.has(e)||(this.handledKernelErrors.add(e),t==="start"&&Pt(r,"DATASCIENCE.NOTEBOOK_START",void 0,{disableUI:!1,failureCategory:i},e))}async showMessageWithMoreInfo(e,t){e.includes(B.ViewJupyterOutput)||(e=`${e}
|
||
${y.viewJupyterLogForFurtherInfo}`);let r=t?[de.learnMore]:[];await xr.window.showErrorMessage(e,...r).then(i=>{i===de.learnMore&&t&&xr.env.openExternal(xr.Uri.parse(t))})}};Kv=v([m(0,(0,Ms.inject)(sd)),m(0,(0,Ms.optional)()),m(1,(0,Ms.inject)(ie)),m(2,(0,Ms.inject)(Es)),m(2,(0,Ms.optional)()),m(3,(0,Ms.inject)($t)),m(4,(0,Ms.inject)(jt)),m(5,(0,Ms.inject)(tt)),m(6,(0,Ms.inject)(Xe)),m(6,(0,Ms.optional)())],Kv);var qle={restart:y.failedToRestartKernel,start:y.failedToStartKernel,interrupt:y.failedToInterruptKernel,execution:""};function Mv(n,e){n=typeof n=="string"?n:rn.unwrap(n);let t=e?qle[e]:"",r="";return n instanceof Jc?r=y.jupyterNotebookNotInstalledOrNotFound(n.interpreter):n instanceof qe?r=yP(n.stdErr)||n.stdErr||n.message:r=typeof n=="string"?n:n.message,C7(t,r)}function Hle(n){return(new RegExp(/\[([^\[]+)\]\((.*)\)/).exec(n)?.length??0)>0}function C7(n="",e=""){n&&e.startsWith(n.substring(0,n.length-1))&&(n="");let t=[n,e].map(r=>r.trim()).filter(r=>r.length>0).join(`
|
||
`);return!Hle(t)&&t.length&&t.indexOf("command:jupyter.viewOutput")===-1?`${t.endsWith(".")?t:t+"."}
|
||
${y.viewJupyterLogForFurtherInfo}`:t}function fK(n){if(n.kind==="connectToLiveRemoteKernel"||n.kind==="startUsingRemoteKernelSpec"||!n.interpreter)return;let e=qr(n.interpreter)||ke(n.interpreter.uri),t=ar.get(19),r=Gi(19),i=`${hS(ke(n.interpreter.uri))} -m pip install ${r} -U --force-reinstall`;if(n.interpreter&&Ve(n.interpreter)==="Conda"){let a=Pr(n.interpreter);a?.environment?.name?i=`conda install -n ${a?.environment?.name} ${r} --update-deps --force-reinstall`:a?.environment?.folderUri&&(i=`conda install -p ${ke(a?.environment?.folderUri)} ${r} --update-deps --force-reinstall`)}else n.interpreter&&Ve(n.interpreter)==="Unknown"&&(i=`${hS(ke(n.interpreter.uri))} -m pip install ${r} -U --user --force-reinstall`);let o=y.libraryRequiredToLaunchJupyterKernelNotInstalledInterpreter(e,ar.get(19)),s=y.installPackageInstructions(t,i);return o+`
|
||
`+s}function Gle(n){let e=`${ar.get(18)} ${de.and} ${ar.get(20)}`,t=[18,20].map(Gi).join(" "),r=`python -m pip install ${t} -U
|
||
or
|
||
conda install ${t} -U`,i=y.installPackageInstructions(e,r);return n.message+`
|
||
`+i+`
|
||
`+de.clickHereForMoreInfoWithHtml("https://aka.ms/installJupyterForVSCode")}var Ov=class extends Kv{constructor(t,r,i,o,s,a,l,c){super(t,r,i,o,s,l,c);this.reservedPythonNames=a}async addErrorMessageIfPythonArePossiblyOverridingPythonModules(t,r){let i=await this.getFilesInWorkingDirectoryThatCouldPotentiallyOverridePythonModules(r);if(i.length>0){let o=r?yi(r):void 0,s=i.map(l=>{if(l.type==="file"){let c=r?j(l.uri,[],o):un(l.uri);return`<a href='${l.uri.toString()}?line=1'>${c}</a>`}else{let c=r?j(l.uri,[],o):`${un(yi(l.uri))}/__init__.py`;return`<a href='${l.uri.toString()}?line=1'>${c}</a>`}}),a="";s.length===1?a=s[0]:a=`${s.slice(0,-1).join(", ")} ${de.and} ${s.slice(-1)}`,t.push(y.filesPossiblyOverridingPythonModulesMayHavePreventedKernelFromStarting(a)),t.push(y.listOfFilesWithLinksThatMightNeedToBeRenamed(a)),t.push(de.clickHereForMoreInfoWithHtml(A3))}}async getFilesInWorkingDirectoryThatCouldPotentiallyOverridePythonModules(t){return t?this.reservedPythonNames.getUriOverridingReservedPythonNames(yi(t)):[]}};Ov=v([(0,bo.injectable)(),m(0,(0,bo.inject)(sd)),m(0,(0,bo.optional)()),m(1,(0,bo.inject)(ie)),m(2,(0,bo.inject)(Es)),m(2,(0,bo.optional)()),m(3,(0,bo.inject)($t)),m(4,(0,bo.inject)(jt)),m(5,(0,bo.inject)(Nx)),m(6,(0,bo.inject)(tt)),m(7,(0,bo.inject)(Xe))],Ov);var uD=k(N());var WC=class{constructor(e,t,r,i){this.moduleName=e;this.args=t;this.pythonExecutionFactory=r;this._interpreter=i;this.interpreterPromise=Promise.resolve(this._interpreter),this.pythonLauncher=this.interpreterPromise.then(async o=>r.createActivatedEnvironment({interpreter:o}))}interpreter(){return this.interpreterPromise}async exec(e,t){let r={...t},i=await this.pythonLauncher,o=[...this.args,...e],s=o[1];return o.shift(),o.shift(),i.execModule(s,o,r)}},hK=class extends WC{constructor(e,t,r,i){super(e,t,r,i)}},gK=class extends WC{constructor(e,t,r,i){super(e,t,r,i)}async exec(e,t){let r,i={stdout:""};try{i=await super.exec(e,t)}catch(a){r=a}if(!i.stderr&&!r)return i;let o=()=>{if(r)throw p.error("Exception attempting to enumerate kernelspecs: ",r),r;return i},s=await this.interpreter();if(!s||this.moduleName.toLowerCase()!=="jupyter"||this.args.join(" ").toLowerCase()!=="-m jupyter kernelspec".toLowerCase())return o();try{if(e.join(" ").toLowerCase()==="list --json")return i=await this.getKernelSpecList(s,t),i;if(e.join(" ").toLowerCase()==="--version")return i=await this.getKernelSpecVersion(s,t),i}catch(a){p.error("Failed to get a list of the kernelspec using python script",a)}return o()}async getKernelSpecList(e,t){return(await this.pythonExecutionFactory.createActivatedEnvironment({interpreter:e})).exec([Le(jo,"pythonFiles","vscode_datascience_helpers","getJupyterKernels.py")],{...t,throwOnStdErr:!0})}async getKernelSpecVersion(e,t){return(await this.pythonExecutionFactory.createActivatedEnvironment({interpreter:e})).exec([Le(jo,"pythonFiles","vscode_datascience_helpers","getJupyterKernelspecVersion.py")],{...t,throwOnStdErr:!0})}},Fv=class{constructor(e){this.executionFactory=e}createInterpreterCommand(e,t,r,i){return e==="notebook"?new hK(t,r,this.executionFactory,i):e==="kernelspec"?new gK(t,r,this.executionFactory,i):new WC(t,r,this.executionFactory,i)}};Fv=v([(0,uD.injectable)(),m(0,(0,uD.inject)(Nr))],Fv);var VC=k(N());var w7=require("vscode");var Lv=class{constructor(e,t){this.service=e;this.disposables=t}activate(){this.disposables.push(w7.commands.registerCommand("jupyter.selectJupyterInterpreter",()=>{this.service.selectInterpreter().catch(h)}))}};Lv=v([(0,VC.injectable)(),m(0,(0,VC.inject)(ii)),m(1,(0,VC.inject)(M))],Lv);var Os=k(N());var Ks=k(N());var Ir=require("vscode");var E7=k(kl()),P7=require("vscode");async function dD(n){try{let e=await E7.realpath(n.fsPath);return Rr()!="Windows"&&(e=e.replace(/\\/g,"/")),P7.Uri.file(e)}catch{return n}}var zle=Le("AppData","Roaming","jupyter","kernels"),k7=Le(".local","share","jupyter","kernels"),x7=Le("Library","Jupyter","kernels"),Qle=Le("AppData","Roaming","jupyter","runtime"),Yle=Le("Library","Jupyter","runtime"),D7=Le("share","jupyter","kernels"),pD="CACHE_KEY_FOR_JUPYTER_KERNELSPEC_ROOT_PATH.",vK="CACHE_KEY_FOR_JUPYTER_KERNEL_PATHS_.",Mr=class{constructor(e,t,r,i,o,s,a){this.platformService=e;this.envVarsProvider=t;this.globalState=i;this.fs=o;this.context=s;this.pythonExecFactory=a;this.cachedDataDirs=new Map;this.envVarsProvider.onDidEnvironmentVariablesChange(()=>{this.cachedJupyterKernelPaths=void 0,this.cachedJupyterPaths=void 0},this,r)}async getKernelSpecTempRegistrationFolder(){let e=zt(this.context.extensionUri,"temp","jupyter","kernels");return await this.fs.createDirectory(e),e}async getKernelSpecRootPath(){let e=this.getCachedRootPath();return e||this.cachedKernelSpecRootPath?e||this.cachedKernelSpecRootPath:(this.cachedKernelSpecRootPath=(async()=>{let t=this.platformService.homeDir;if(t)return this.platformService.isWindows?dD(zt(t,zle)):this.platformService.isMac?zt(t,x7):zt(t,k7)})(),this.cachedKernelSpecRootPath.then(t=>{p.trace(`Getting Jupyter KernelSpec Root Path ${t?.toString()}`),this.updateCachedRootPath(t)}).catch(h),this.cachedKernelSpecRootPath)}async getRuntimeDir(){let e,t=this.platformService.homeDir;if(t&&(this.platformService.isWindows?e=await dD(zt(t,Qle)):this.platformService.isMac?e=zt(t,Yle):e=process.env.$XDG_RUNTIME_DIR?Ir.Uri.file(Le(process.env.$XDG_RUNTIME_DIR,"jupyter","runtime")):zt(t,".local","share","jupyter","runtime")),!e){p.error("Failed to determine Jupyter runtime directory");return}try{return await this.fs.createDirectory(e),e}catch(r){p.error(`Failed to create runtime directory, reverting to temp directory ${e}`,r)}}async getDataDirs(e){let t=e.interpreter?e.interpreter.uri.toString():"";return this.cachedDataDirs.has(t)||this.cachedDataDirs.set(t,this.getDataDirsImpl(e.resource,e.interpreter)),this.cachedDataDirs.get(t)}async getDataDirsImpl(e,t){let r=new mo,i=await this.getJupyterPaths();for(let f of i)f&&!r.has(f)&&r.set(f,r.size);if(t)try{p.ci(`Getting Jupyter Data Dir for ${t.uri.fsPath}`);let f=await this.pythonExecFactory.createActivatedEnvironment({interpreter:t,resource:e}),g=Ir.Uri.joinPath(this.context.extensionUri,"pythonFiles","printJupyterDataDir.py"),b=await f.exec([g.fsPath],{});if(b.stdout.trim().length){let I=Ir.Uri.file(b.stdout.trim());await this.fs.exists(I)&&(r.has(I)||r.set(I,r.size))}else p.debug(`Got an empty Jupyter Data Dir from ${t.id}, stderr = ${b.stderr}`)}catch(f){p.error(`Failed to get DataDir based on ENABLE_USER_SITE for ${qr(t)}`,f)}let o;t&&(o=await ia(t));let s=o?Ir.Uri.joinPath(Ir.Uri.file(o),"share","jupyter"):void 0,a=this.getSystemJupyterPaths(),l=s?new bl(a).has(s)?void 0:s:void 0,c=this.getJupyterDataDir(),u=(process.env.JUPYTER_PREFER_ENV_PATH||"no").toLowerCase();return["no","n","false","off","0","0.0"].includes(u)?[c,l].forEach(f=>{f&&!r.has(f)&&r.set(f,r.size)}):[l,c].forEach(f=>{f&&!r.has(f)&&r.set(f,r.size)}),a.forEach(f=>{f&&!r.has(f)&&r.set(f,r.size)}),Array.from(r.entries()).sort((f,g)=>f[1]-g[1]).map(f=>f[0])}getJupyterConfigDir(){return process.env.JUPYTER_CONFIG_DIR?Ir.Uri.file(hn(process.env.JUPYTER_CONFIG_DIR)):this.platformService.homeDir?Ir.Uri.joinPath(this.platformService.homeDir,".jupyter"):void 0}getSystemJupyterPaths(){if(this.platformService.isWindows){let e=process.env.PROGRAMDATA?hn(process.env.PROGRAMDATA):void 0;return e?[Ir.Uri.joinPath(Ir.Uri.file(e),"jupyter")]:[]}else return[Ir.Uri.file("/usr/local/share/jupyter"),Ir.Uri.file("/usr/share/jupyter")]}getJupyterDataDir(){if(process.env.JUPYTER_DATA_DIR)return Ir.Uri.file(hn(process.env.JUPYTER_DATA_DIR));if(this.platformService.homeDir)switch(this.platformService.osType){case"OSX":return Ir.Uri.joinPath(this.platformService.homeDir,"Library","Jupyter");case"Windows":let e=process.env.APPDATA?Ir.Uri.file(hn(process.env.APPDATA)):"";if(e)return Ir.Uri.joinPath(e,"jupyter");let t=this.getJupyterConfigDir();return t?Ir.Uri.joinPath(t,"data"):Ir.Uri.joinPath(this.platformService.homeDir,"Library","Jupyter");default:{let r=process.env.XDG_DATA_HOME?Ir.Uri.file(hn(process.env.XDG_DATA_HOME)):Ir.Uri.joinPath(this.platformService.homeDir,".local","share");return Ir.Uri.joinPath(r,"jupyter")}}}async getKernelSpecRootPaths(e){if(this.cachedKernelSpecRootPaths?.promise&&this.cachedKernelSpecRootPaths.stopWatch.elapsedTime<=6e4)return this.cachedKernelSpecRootPaths.promise;let t=new Ue,r=this.getKernelSpecRootPathsImpl(e);this.cachedKernelSpecRootPaths={promise:r,stopWatch:t};let i=e.onCancellationRequested(()=>{this.cachedKernelSpecRootPaths?.promise===r&&(this.cachedKernelSpecRootPaths=void 0)},this);return r.finally(()=>i.dispose()).catch(h),r}async getKernelSpecRootPathsImpl(e){let t=new bl(await this.getJupyterPathKernelPaths(e));if(e.isCancellationRequested)return[];if(this.platformService.isWindows){let r=await this.getKernelSpecRootPath();if(e.isCancellationRequested)return[];r&&t.add(r),process.env.PROGRAMDATA&&t.add(Ir.Uri.file(Le(process.env.PROGRAMDATA,"jupyter","kernels")))}else{let r=this.platformService.isMac?x7:k7;t.add(Ir.Uri.file(Le("/","usr","share","jupyter","kernels"))),t.add(Ir.Uri.file(Le("/","usr","local","share","jupyter","kernels"))),this.platformService.homeDir&&t.add(zt(this.platformService.homeDir,r))}return p.debug(`Kernel Spec Root Paths, ${Array.from(t).map(r=>j(r)).join(", ")}`),Array.from(t)}async getJupyterPathKernelPaths(e){return this.cachedJupyterKernelPaths=this.cachedJupyterKernelPaths||this.getJupyterPathSubPaths(e,"kernels"),this.cachedJupyterKernelPaths.then(t=>{t.length>0&&this.updateCachedPaths(t).then(h,h)},h),this.getCachedPaths().length>0?this.getCachedPaths():this.cachedJupyterKernelPaths}async getJupyterPaths(e){return this.cachedJupyterPaths=this.cachedJupyterPaths||this.getJupyterPathSubPaths(e),this.cachedJupyterPaths}async getJupyterPathSubPaths(e,t){let r=new bl,i=await this.envVarsProvider.getEnvironmentVariables(void 0,"RunPythonCode");if(e?.isCancellationRequested)return[];let o=i.JUPYTER_PATH?i.JUPYTER_PATH.split(Vn).map(s=>t?Le(s,t):s):[];return o.length>0&&(await Promise.all(o.map(async a=>dD(Ir.Uri.file(a))))).forEach(a=>{a&&r.add(a)}),p.debug(`Jupyter Paths ${j(t)}: ${Array.from(r).map(s=>j(s))}`),Array.from(r)}getCachedPaths(){return this.globalState.get(vK,[]).map(e=>Ir.Uri.parse(e))}async updateCachedPaths(e){let t=this.globalState.get(vK,[]),r=e.map(Ir.Uri.toString);t.join(",")!==r.join(",")&&await this.globalState.update(vK,r)}getCachedRootPath(){if(this.globalState.get(pD)){let e=this.globalState.get(pD);if(e)return Ir.Uri.parse(e)}}updateCachedRootPath(e){e?this.globalState.update(pD,e.toString()).then(h,h):this.globalState.update(pD,void 0).then(h,h)}};v([Zn("getDataDirsImpl",7),m(1,wc("id"))],Mr.prototype,"getDataDirsImpl",1),v([m(0,zu())],Mr.prototype,"getJupyterPathKernelPaths",1),Mr=v([(0,Ks.injectable)(),m(0,(0,Ks.inject)(br)),m(1,(0,Ks.inject)(vl)),m(2,(0,Ks.inject)(M)),m(3,(0,Ks.inject)(We)),m(3,(0,Ks.named)(lt)),m(4,(0,Ks.inject)(lr)),m(5,(0,Ks.inject)(et)),m(6,(0,Ks.inject)(Nr))],Mr);var Mm=class{constructor(e,t,r,i,o,s,a){this.jupyterInterpreter=e;this.interpreterService=t;this.jupyterDependencyService=r;this.pythonExecutionFactory=i;this.jupyterOutputChannel=o;this.jupyterPaths=s;this.activationHelper=a}async refreshCommands(){}async isNotebookSupported(e){let t=await this.jupyterInterpreter.getSelectedInterpreter(e);return t?this.jupyterDependencyService.areDependenciesInstalled(t,e):!1}async getReasonForJupyterNotebookNotBeingSupported(e){let t=await this.jupyterInterpreter.getSelectedInterpreter(e);if(!t&&(t=await this.interpreterService.getActiveInterpreter(void 0),!t))return y.selectJupyterInterpreter;let r=await this.jupyterDependencyService.getDependenciesNotInstalled(t,e);return r.length===0?"":r.length===1&&r[0]===21?y.jupyterKernelSpecModuleNotFound(t.uri.fsPath):uK(r,t)}async getSelectedInterpreter(e){return this.jupyterInterpreter.getSelectedInterpreter(e)}async startNotebook(e,t){let r=await this.getSelectedInterpreterAndThrowIfNotAvailable(t.token);this.jupyterOutputChannel.appendLine(y.startingJupyterLogMessage(zr(r.uri),e.join(" ")));let i=await this.pythonExecutionFactory.createActivatedEnvironment({interpreter:r}),o={...t};o.token=void 0;let s=await this.activationHelper.getActivatedEnvironmentVariables(void 0,r)||process.env,a=(process.env.JUPYTER_PATH||s.JUPYTER_PATH||"").split(Vn).filter(c=>c.trim().length);a.push(yi(await this.jupyterPaths.getKernelSpecTempRegistrationFolder()).fsPath),o.env={...s,JUPYTER_PATH:a.join(Vn)},p.trace(`Start Jupyter Notebook with JUPYTER_PATH=${a.join(Vn)}`),p.trace(`Start Jupyter Notebook with PYTHONPATH=${s.PYTHONPATH||""}`);let l=Object.keys(s).filter(c=>c.toLowerCase()==="path");if(l.length){let c=l.map(u=>`${u}=${s[u]}`).join(",");p.trace(`Start Jupyter Notebook with PATH variable. ${c}`)}else p.error("Start Jupyter Notebook without a PATH variable");return i.execModuleObservable("jupyter",["notebook"].concat(e),o)}async getRunningJupyterServers(e){let t=await this.getSelectedInterpreterAndThrowIfNotAvailable(e),r=await this.pythonExecutionFactory.createActivatedEnvironment({interpreter:t}),i={mergeStdOutErr:!0,token:e},o=Le(jo,"pythonFiles","vscode_datascience_helpers","getServerInfo.py"),s=await r.exec([o],i),a;try{a=JSON.parse(s.stdout.trim())}catch(l){p.warn("Failed to parse JSON when getting server info out from getServerInfo.py",l);return}return a}async installMissingDependencies(e){return this.jupyterInterpreter.installMissingDependencies(e)}async getSelectedInterpreterAndThrowIfNotAvailable(e){let t=await this.jupyterInterpreter.getSelectedInterpreter(e);if(!t){let r=await this.getReasonForJupyterNotebookNotBeingSupported();throw new zi(r)}return t}};Mm=v([(0,Os.injectable)(),m(0,(0,Os.inject)(ii)),m(1,(0,Os.inject)(Xe)),m(2,(0,Os.inject)(As)),m(3,(0,Os.inject)(Nr)),m(4,(0,Os.inject)(Ao)),m(4,(0,Os.named)(Zf)),m(5,(0,Os.inject)(Mr)),m(6,(0,Os.inject)(ks))],Mm);var mD=k(N());var Km=class{constructor(e){this.pythonExecutionFactory=e}async exportNotebookToPython(e,t,r,i){let o=await this.pythonExecutionFactory.createActivatedEnvironment({resource:e,interpreter:t}),s=r?[e.fsPath,"--to","python","--stdout","--template",r]:[e.fsPath,"--to","python","--stdout"];return o.execModule("jupyter",["nbconvert"].concat(s),{throwOnStdErr:!1,encoding:"utf8",token:i}).then(a=>{if(a.stdout==="")throw p.error("nbconvert zero size output"),new Error(a.stderr);return a.stdout})}};v([lv("ExportNotebookToPython")],Km.prototype,"exportNotebookToPython",1),Km=v([(0,mD.injectable)(),m(0,(0,mD.inject)(Nr))],Km);var jC=k(N());var Uv=class{constructor(e,t){this.installer=e;this.commandFactory=t;this.nbconvertInstalledInInterpreter=new bl}async isNbConvertInstalled(e,t){if(this.nbconvertInstalledInInterpreter.has(e.uri))return!0;let r=!!await this.installer.isInstalled(22,e)&&!!await this.installer.isInstalled(18,e);return r===!0&&this.nbconvertInstalledInInterpreter.add(e.uri),r}async getNbConvertVersion(e,t){let i=await this.commandFactory.createInterpreterCommand("nbconvert","jupyter",["-m","jupyter","nbconvert"],e,!1).exec(["--version"],{throwOnStdErr:!0});return UP(i.stdout)}};Uv=v([(0,jC.injectable)(),m(0,(0,jC.inject)(Ai)),m(1,(0,jC.inject)(Pv))],Uv);var Lm=k(N());var Wv=require("vscode");var jd=k(N());var T7=require("vscode");async function Qi(n,e){if(!n)return;let t=cn(n),[r,i]=WP.get(t)||[{resourceType:$i(n),resourceHash:n?await at(n.toString()):void 0,kernelSessionId:await at(Date.now().toString()),capturedEnvVars:void 0,userExecutedCell:void 0,disableUI:void 0,kernelLanguage:void 0,kernelId:void 0,kernelSpecHash:void 0,isUsingActiveInterpreter:void 0,pythonEnvironmentType:void 0,pythonEnvironmentPath:void 0,pythonEnvironmentVersion:void 0,kernelConnectionType:void 0},{previouslySelectedKernelConnectionId:""}];typeof e.capturedEnvVars=="boolean"&&(r.capturedEnvVars=e.capturedEnvVars),e.userExecutedCell&&(r.userExecutedCell=!0),typeof e.disableUI=="boolean"&&(r.disableUI=e.disableUI);let o=e.kernelConnection;if(o){let s=o.id;i.previouslySelectedKernelConnectionId!==s&&(r.userExecutedCell=e.userExecutedCell,r.disableUI=e.disableUI),i.previouslySelectedKernelConnectionId&&i.previouslySelectedKernelConnectionId!==s&&(r.kernelSessionId=await at(Date.now().toString()));let a;switch(o.kind){case"connectToLiveRemoteKernel":a=o.kernelModel.language;break;case"startUsingRemoteKernelSpec":case"startUsingLocalKernelSpec":a=o.kernelSpec.language;break;case"startUsingPythonInterpreter":a=ge;break;default:break}let l="kernelSpec"in o&&o.kernelSpec.specFile?at(o.kernelSpec.specFile):Promise.resolve("");r.kernelLanguage=a,[r.kernelId,r.kernelSpecHash]=await Promise.all([at(o.id),l]),i.previouslySelectedKernelConnectionId=o.id;let c=o.interpreter;if(c){r.isUsingActiveInterpreter=ua.isActiveWorkspaceInterpreter(n,c),r.pythonEnvironmentType=Ve(c);let[u,d]=await Promise.all([at(ke(ol(c.uri))),qu(c)]);r.pythonEnvironmentPath=u,JA.set(r.pythonEnvironmentPath,c),d?r.pythonEnvironmentVersion=`${d.major}.${d.minor}.${d.micro}`:r.pythonEnvironmentVersion=void 0,BA(r)}r.kernelConnectionType=r.kernelConnectionType||o?.kind}else i.previouslySelectedKernelConnectionId="";WP.set(t,[r,i])}async function Fs(n,e){await Qi(n,{kernelConnection:e,userExecutedCell:!0})}var fa=class{constructor(e,t,r,i,o){this.interpreterService=e;this.envActivation=t;this.envVarsService=r;this.customEnvVars=i;this.configService=o}async getEnvironmentVariables(e,t,r,i){let o=r.env&&Object.keys(r.env).length>0?r.env:void 0,s=(r.language||"").toLowerCase()===ge;if(!t&&r.interpreterPath&&(t=await this.interpreterService.getInterpreterDetails(T7.Uri.file(r.interpreterPath),i).catch(d=>{p.error("Failed to fetch interpreter information for interpreter that owns a kernel",d)})),i?.isCancellationRequested)return;let[a,l]=await Promise.all([this.customEnvVars.getCustomEnvironmentVariables(e,s?"RunPythonCode":"RunNonPythonCode",i).catch(h),t?this.envActivation.getActivatedEnvironmentVariables(e,t,i).catch(d=>{p.error("Failed to get env variables for interpreter, hence no variables for Kernel",d)}):void 0]);if(i?.isCancellationRequested)return;await Qi(e,{capturedEnvVars:Object.keys(l||{}).length>0}),!l&&Object.keys(a||{}).length===0&&p.debug("No custom variables nor do we have a conda environment");let c={...process.env};process.platform==="win32"&&(c={},Object.keys(process.env).forEach(d=>{c[d.toUpperCase()]=process.env[d]})),o=o||{},a=a||{};let u={};for(let[d,f]of Object.entries(o||{}))typeof f=="string"&&_7(d,f,process.env)!==f&&(u[d]=f,delete o[d]);s||t?(l=l||a,Object.assign(c,l,o),this.configService.getSettings(void 0).excludeUserSitePackages&&(p.info(`Adding env Variable PYTHONNOUSERSITE to ${j(t?.uri)}`),c.PYTHONNOUSERSITE="True"),s&&(c.PYDEVD_IPYTHON_COMPATIBLE_DEBUGGING="1")):(this.envVarsService.mergeVariables(o,c),this.envVarsService.mergeVariables(a,c));for(let[d,f]of Object.entries(u))c[d]=_7(d,f,c);return c}};fa=v([(0,jd.injectable)(),m(0,(0,jd.inject)(Xe)),m(1,(0,jd.inject)(ks)),m(2,(0,jd.inject)(gl)),m(3,(0,jd.inject)(vl)),m(4,(0,jd.inject)(ie))],fa);var Xle=/\${([a-zA-Z]\w*)?([^}\w].*)?}/g;function _7(n,e,t){if(!e.includes("$"))return e;let r=!1,i=e;return i=i.replace(Xle,(o,s,a,l,c)=>l>0&&c[l-1]==="\\"?o:a&&a!==""||!s||s===""?(r=!0,o):t[s]||""),!r&&i!==e&&(p.debug(`${n} value in kernelSpec updated from ${e} to ${i}`),e=i),e.replace(/\\\$/g,"$")}var R7=require("vscode");async function A7(n,e,t){if(!t.interpreter||!dt(t)||!n.kernel||n.kernel.status==="dead"||n.kernel.status==="terminating"||t.kind!=="startUsingLocalKernelSpec"&&t.kind!=="startUsingPythonInterpreter")return;let r=new Ue;try{let i=await pn(n.kernel,`import sys as _VSCODE_sys
|
||
print(_VSCODE_sys.executable); del _VSCODE_sys`);if(i.length===0)return;let o=i[0];if(o.name!=="stdout"&&o.output_type!=="stream")return;let s=Is(o.text).trim().toLowerCase(),a=Mo(t.interpreter.uri,R7.Uri.file(s));await Qi(e,{interpreterMatchesKernel:a})}catch(i){p.error(`Failed to compare interpreters after ${r.elapsedTime}ms`,i)}}function Zle(n){let e="kernelSpec"in n?n:void 0;if(e?.kind==="startUsingPythonInterpreter")return!0;if(e&&!ct(e))return!1;let t=e?e.kernelSpec:n;return fD(t.argv[0])}function Om(n){let e="kernelSpec"in n?n:void 0;if(e?.kind==="startUsingPythonInterpreter")return!0;if(e&&!ct(e))return!1;let t=e?e.kernelSpec:n;if(t.language&&t.language.toLowerCase()!==ge||!Zle(n))return!1;let r=t.argv.indexOf("-m");if(r===-1)return!1;let i=t.argv.length-1>=r?t.argv[r+1].toLowerCase():void 0;return i?i.includes("ipykernel_launcher")||i.includes("ipykernel"):!1}function fD(n){return n=Ce(n).trim().toLowerCase(),n==="python"||n==="python3"||n==="python.exe"||n==="python3.exe"}var Fm=class{constructor(e,t,r,i){this.kernelDependencyService=e;this.fs=t;this.jupyterPaths=r;this.kernelEnvVars=i}async ensureKernelIsUsable(e,t,r,i,o){if(p.debug(`Check if a kernel ${t.id} is usable`),Om(t)&&t.interpreter){let a=await this.kernelDependencyService.installMissingDependencies({resource:e,kernelConnection:t,ui:r,token:i,ignoreCache:!0,cannotChangeKernels:o});switch(a){case 1:case 3:case 2:case 4:throw new Nm(a,t);default:break}}var s=void 0;ct(t)&&(s=t.kernelSpec.specFile,!s||!await this.fs.exists(Wv.Uri.file(s))?s=await this.registerKernel(t,i):t.interpreter&&s&&Ce(nt(s)).toLowerCase()!=t.kernelSpec.name.toLowerCase()&&(s=await this.registerKernel(t,i)),t.interpreter&&s?(p.debug(`Updating Kernel Environment for ${t.id} for interpreter ${t.interpreter.id}`),await this.updateKernelEnvironment(e,t,s,i)):p.trace(`Not Updating Kernel Environment for ${t.id}`))}async registerKernel(e,t){let r=await this.jupyterPaths.getKernelSpecTempRegistrationFolder();if(!e.kernelSpec||t.isCancellationRequested||!e.kernelSpec.name)return;let i=zt(r,e.kernelSpec.name,"kernel.json");if(await this.fs.exists(i))return p.info(`Kernel spec file for ${e.id} already exists ${j(i)}`),i.fsPath;let o={...e.kernelSpec};if(e.kernelSpec.specFile&&!wd(ke(i),e.kernelSpec.specFile)&&(o.metadata=o.metadata||{},o.metadata={...o.metadata,vscode:{...o.metadata.vscode||{},originalSpecFile:e.kernelSpec.metadata?.vscode?.originalSpecFile||e.kernelSpec.specFile,originalDisplayName:e.kernelSpec.metadata?.vscode?.originalDisplayName||e.kernelSpec.display_name}}),e.interpreter&&(o.metadata={...o.metadata,interpreter:om(e.interpreter)}),p.info(`RegisterKernel for ${e.id} into ${j(i)}`),p.debug(`RegisterKernel for ${e.id} into ${j(i)} with contents ${JSON.stringify(o)}`),await this.fs.writeFile(i,JSON.stringify(o,void 0,4)),t.isCancellationRequested)return;let s=o.metadata?.vscode?.originalSpecFile||o.metadata?.originalSpecFile;if(s){let a=nt(s),l=nt(i.fsPath),c=await this.fs.searchLocal("*.*[^json]",a);await Promise.all(c.map(async u=>{let d=Le(a,u),f=Le(l,u);await this.fs.copy(Wv.Uri.file(d),Wv.Uri.file(f))}))}return i.fsPath}async updateKernelEnvironment(e,t,r,i){let o=t.interpreter,s=t.kernelSpec,a=await this.jupyterPaths.getKernelSpecTempRegistrationFolder(),l=s;if(r&&a){let c=Ce(r).toLowerCase()===s.name.toLowerCase()?r:zt(a,s.name,"kernel.json").fsPath;if(!await this.fs.exists(Wv.Uri.file(c))){p.warn(`Spec file for ${t.id} does not exist ${c} hence not updating env vars.`);return}let u=Wv.Uri.file(c);try{let d=JSON.parse(await this.fs.readFile(u));if(i?.isCancellationRequested||(d.metadata?.interpreter?(Om(s)&&(p.debug(`Python KernelSpec argv[0] updated for ${t.id} from '${d.argv[0]}' to '${j(o.uri)}'`),d.argv[0]=o.uri.fsPath),d.metadata=d.metadata||{},d.metadata.interpreter=o):p.trace(`KernelSpec argv[0] not updated for ${t.id} ('${d.argv[0]}')`),d.env=await this.kernelEnvVars.getEnvironmentVariables(e,o,l),d=ij(d),await this.fs.writeFile(u,JSON.stringify(d,void 0,2)),p.debug(`Updated kernel spec for ${t.id} with environment variables for ${j(u)}`),i?.isCancellationRequested))return;l.metadata=d.metadata}catch(d){if(i?.isCancellationRequested)return;throw p.error(`Failed to update kernel spec for ${t.id} with environment variables for ${j(u)}`,d),d}}else p.warn(`Either Kernel spec file or root spec file path does not exist for ${t.id}.`)}};v([Sh("Failed to register an interpreter as a kernel")],Fm.prototype,"registerKernel",1),Fm=v([(0,Lm.injectable)(),m(0,(0,Lm.inject)(Es)),m(1,(0,Lm.inject)(lr)),m(2,(0,Lm.inject)(Mr)),m(3,(0,Lm.inject)(fa))],Fm);var JC=k(N());var N7=require("vscode");var Vv=class{constructor(e,t){this.liveKernelConnectionTracker=e;this.providerRegistration=t}async isValid(e){if(!this.liveKernelConnectionTracker.wasKernelUsed(e))return!1;let t=await this.providerRegistration.jupyterCollections.find(i=>i.extensionId===e.serverProviderHandle.extensionId&&i.id===e.serverProviderHandle.id);if(!t)return p.warn(`Extension ${e.serverProviderHandle.extensionId} may have been uninstalled for provider ${e.serverProviderHandle.id}, handle ${e.serverProviderHandle.handle}`),!1;let r=new N7.CancellationTokenSource;try{let i=await Promise.resolve(t.serverProvider.provideJupyterServers(r.token));return i?i.map(o=>o.id).includes(e.serverProviderHandle.handle)?!0:(p.warn(`Hiding remote kernel ${e.id} for ${t.id} as the remote Jupyter Server ${e.serverProviderHandle.extensionId}:${e.serverProviderHandle.id}:${e.serverProviderHandle.handle} is no longer available`),!1):!1}catch(i){return p.warn(`Failed to fetch remote servers from ${e.serverProviderHandle.extensionId}:${e.serverProviderHandle.id}`,i),!1}finally{r.dispose()}}};Vv=v([(0,JC.injectable)(),m(0,(0,JC.inject)(um)),m(1,(0,JC.inject)(jt))],Vv);var W7=k(Io()),hD=require("vscode"),Ls=k(N());var jv=class extends xn{constructor(e){super("timeout",y.jupyterLaunchTimedOut,e)}};var Jv=class extends jn{constructor(t,r,i,o,s,a){super();this.interpreterService=t;this.disposableRegistry=r;this.configuration=o;this.notebookStarter=s;this.jupyterInterpreterService=a;this._isDisposing=!1;this.disposableRegistry.push(this.interpreterService.onDidChangeInterpreter(()=>this.onSettingsChanged())),this.disposableRegistry.push(this),hD.workspace.onDidChangeConfiguration(l=>{l.affectsConfiguration("python.dataScience",void 0)&&this.onSettingsChanged()},this,this.disposableRegistry),i.push({dispose:()=>Ss(this)})}dispose(){this._isDisposing||(this._isDisposing=!0,this.cache?this.cache.then(t=>t.dispose()).catch(h).finally(()=>super.dispose()):super.dispose())}async startServer(t,r){if(this.isDisposed||this._isDisposing)throw new Error("Notebook server is disposed");if(!this.cache){let i=this.cache=this.startJupyterWithRetry(t,r);i.catch(o=>{p.error("Failed to start the Jupyter Server",o),this.cache===i&&(this.cache=void 0)})}return this.cache}async refreshCommands(){await this.jupyterInterpreterService?.refreshCommands()}async isJupyterServerSupported(t){return this.jupyterInterpreterService?this.jupyterInterpreterService.isNotebookSupported(t):!1}async getJupyterServerError(){return this.jupyterInterpreterService?this.jupyterInterpreterService.getReasonForJupyterNotebookNotBeingSupported():y.webNotSupported}async getUsableJupyterPython(t){return!this.usablePythonInterpreter&&!this.isDisposed&&!this._isDisposing&&this.jupyterInterpreterService&&(this.usablePythonInterpreter=await Zt(t,this.jupyterInterpreterService.getSelectedInterpreter(t))),this.usablePythonInterpreter}startJupyterWithRetry(t,r){return Zt(r,(async()=>{let o,s=1,a=Math.max(1,this.configuration.getSettings(void 0).jupyterLaunchRetries),l;for(;s<=a&&!this.isDisposed&&!this._isDisposing;){try{return o=await this.startImpl(t,r),p.trace("Connection complete server"),o}catch(c){if(l=c,c instanceof jv&&s<a)p.info("Retry because of wait for idle problem."),o?.dispose(),s+=1;else throw o&&(this.isDisposed||this._isDisposing),c}throw l}throw new Error("Max number of attempts reached")})())}async startImpl(t,r){p.debug("Launching server");let i=this.configuration.getSettings(t),o=i.useDefaultConfigForJupyter,s=await OC(t),a=ll(),l=BP(s,a?zt(a,`${(0,W7.default)()}.txt`):void 0,i);if(!this.notebookStarter)throw new Error("Notebook Starter cannot be undefined");return this.notebookStarter.start(t,o,this.configuration.getSettings(void 0).jupyterCommandLineArguments,hD.Uri.file(l),r)}onSettingsChanged(){this.usablePythonInterpreter=void 0}};Jv=v([(0,Ls.injectable)(),m(0,(0,Ls.inject)(Xe)),m(1,(0,Ls.inject)(M)),m(2,(0,Ls.inject)(No)),m(3,(0,Ls.inject)(ie)),m(4,(0,Ls.inject)(fk)),m(4,(0,Ls.optional)()),m(5,(0,Ls.inject)(Od)),m(5,(0,Ls.optional)())],Jv);var $C=k(N());var gD=class extends rn{constructor(){super("Python Extension not installed",void 0,"pythonExtension")}};var Bv=class{constructor(e,t){this.jupyterServerProvider=e;this.extensionChecker=t;this.startupUi=new Jt(!0)}async connect(e){e.ui.disableUI||(this.startupUi.disableUI=!1);let t=e.ui.onDidChangeDisableUI(()=>{e.ui.disableUI||(this.startupUi.disableUI=!1,t.dispose())});if(e.ui=this.startupUi,this.extensionChecker.isPythonExtensionInstalled)return this.jupyterServerProvider.getOrStartServer(e).finally(()=>t.dispose());throw t.dispose(),this.startupUi.disableUI||await this.extensionChecker.showPythonExtensionInstallRequiredPrompt(),new gD}};Bv=v([(0,$C.injectable)(),m(0,(0,$C.inject)(ng)),m(1,(0,$C.inject)(Be))],Bv);var Um=k(N());var vD=class extends qe{constructor(){super("nodeonly",y.webNotSupported)}};var $v=class{constructor(e,t){this.jupyterServerHelper=e;this.interpreterService=t}async getOrStartServer(e){if(!this.serverPromise){let t=this.serverPromise=this.startServerImpl(e);t.catch(()=>{t===this.serverPromise&&(this.serverPromise=void 0)})}return this.serverPromise}async startServerImpl(e){let t=this.jupyterServerHelper;if(!t)throw new vD;try{if(p.trace("Checking for server usability."),!await this.checkUsable())throw p.trace("Server not usable (should ask for install now)"),new zi(y.jupyterNotSupported(await t.getJupyterServerError()));p.debug("Starting notebook server.");let i=await t.startServer(e.resource,e.token);return vn.throwIfCanceled(e.token),i}catch(r){throw e.token?.isCancellationRequested&&sr(r)||await t.refreshCommands(),r}}async checkUsable(){try{return this.jupyterServerHelper?!!await this.jupyterServerHelper.getUsableJupyterPython():!0}catch(e){let t=await this.interpreterService.getActiveInterpreter(void 0);if(t){let r=qr(t)||ke(t.uri);throw new Error(y.jupyterNotSupportedBecauseOfEnvironment(r,e.toString()))}else throw new zi(y.jupyterNotSupported(this.jupyterServerHelper?await this.jupyterServerHelper.getJupyterServerError():"Error"))}}};$v=v([(0,Um.injectable)(),m(0,(0,Um.inject)(od)),m(0,(0,Um.optional)()),m(1,(0,Um.inject)(Xe))],$v);var V7=k(require("child_process")),Bc=k(N()),j7=k(require("os"));var J7=k(Io()),qC=require("vscode");var bD=require("vscode");var qv=class extends qe{constructor(t,r,i){super("jupytercannotbelaunchedwitheroot",t+(r?`
|
||
${r}`:""));this.interpreter=i}};var oce=new RegExp(jp.UrlPatternRegEx),yD=class{constructor(e,t,r,i,o,s){this.launchResult=e;this.notebookDir=t;this.rootDir=r;this.getServerInfo=i;this.serviceContainer=o;this.interpreter=s;this.startPromise=re();this.output="";this.subscriptions=[];this.ready=this.startPromise.promise;let l=o.get(ie).getSettings(void 0).jupyterLaunchTimeout;this.launchTimeout=setTimeout(()=>{this.startPromise.completed||this.rejectStartPromise(y.jupyterLaunchTimedOut)},l);let c=0;e.proc&&e.proc.on("exit",u=>c=u||0),this.subscriptions.push(e.out.onDidChange(u=>{p.trace(u.out),this.output+=u.out,jp.HttpPattern.exec(this.output)&&!this.startPromise.completed&&this.getServerInfo().then(d=>this.getJupyterURL(d,this.output)).catch(d=>p.warn("Failed to get server info",d))})),e.out.done.then(()=>this.rejectStartPromise(y.jupyterServerCrashed(c))).catch(u=>this.rejectStartPromise(u))}dispose(){clearTimeout(this.launchTimeout),z(this.subscriptions)}getJupyterURL(e,t){if(e&&e.length>0&&!this.startPromise.completed){let r=e.find(i=>wd(ke(this.notebookDir),ke(bD.Uri.file(i.notebook_dir))));if(r){let i=r.url,o=r.token;this.resolveStartPromise(i,o)}}if(!this.startPromise.completed){let i=oce.exec(t)?.groups;if(!this.startPromise.completed&&i&&(i.LOCAL||i.IP)){let o=i.LOCAL?i.LOCAL:i.IP,s=`${i.PREFIX}${o}${i.REST}`,a;try{a=new URL(s)}catch(c){p.error(`Failed to parse ${s}`,c),this.rejectStartPromise(y.jupyterLaunchNoURL);return}let l=a.pathname.endsWith("/tree")?a.pathname.replace("/tree",""):a.pathname;this.resolveStartPromise(`${a.protocol}//${a.host}${l}`,`${a.searchParams.get("token")}`)}}}resolveStartPromise(e,t){if(clearTimeout(this.launchTimeout),!this.startPromise.rejected){let r=this.serviceContainer.get(ie),i=this.serviceContainer.get(Dc),o=this.serviceContainer.get(ad),s=qS({handle:"",id:"_builtin.jupyterServerLauncher",extensionId:Fe},{baseUrl:e,token:t,displayName:JP(t,e)},i,o,r,this.rootDir,new bD.Disposable(()=>this.launchResult.dispose()));this.startPromise.resolve(s)}}rejectStartPromise(e){if(clearTimeout(this.launchTimeout),!this.startPromise.resolved){e=typeof e=="string"?e:e.message;let t,r=this.output;r.includes("Jupyter command `jupyter-notebook` not found")?t=new Jc(e,r,this.interpreter):r.includes("Running as root is not recommended. Use --allow-root to bypass")?t=new qv(e,r,this.interpreter):t=new vs(e,r,this.interpreter),this.startPromise.reject(t)}}};var Hv=require("vscode");var Us=new Set;function ID(...n){let e=new Wr;try{let t=new class{async providePortAttributes(r,i){if(n.includes(r.port))return new Hv.PortAttributes(Hv.PortAutoForwardAction.Ignore)}};for(let r of n){let i={portRange:r};e.add(Hv.workspace.registerPortAttributesProvider(i,t))}}catch(t){p.error("Failure in registering port attributes",t)}return e}var Gv=class{constructor(e,t,r,i){this.jupyterInterpreterService=e;this.fs=t;this.serviceContainer=r;this.jupyterOutputChannel=i;this.disposables=[]}dispose(){for(;this.disposables.length>0;){let e=this.disposables.shift();try{e&&e.dispose()}catch{}}}async start(e,t,r,i,o){p.info("Starting Jupyter Server");let s=0,a,l=[],c=st.reportProgress(e,"NotebookStart");try{let u=this.generateTempDir();u.then(E=>this.disposables.push(E)).catch(h);let d=await this.generateArguments(t,r,u,i.fsPath);vn.throwIfCanceled(o);let[f,g,b]=await Promise.all([this.jupyterInterpreterService.startNotebook(d||[],{throwOnStdErr:!1,encoding:"utf8",token:o}),u,this.jupyterInterpreterService.getSelectedInterpreter(o).catch(()=>{})]);f.proc&&(f.proc.on("exit",E=>s=E),f.out.onDidChange(E=>this.jupyterOutputChannel.append(E.out))),f&&o.onCancellationRequested(()=>{f.dispose()},this,l),p.debug("Waiting for Jupyter Notebook"),a=new yD(f,qC.Uri.file(g.path),i,()=>this.jupyterInterpreterService.getRunningJupyterServers(o),this.serviceContainer,b),vn.throwIfCanceled(o);let I=await Zt(o,a.ready);try{let E=parseInt(new URL(I.baseUrl).port||"0",10);if(E&&!isNaN(E)){let x=ID(E);f.proc&&f.proc.on("exit",()=>{Us.delete(E),x.dispose()}),Us.add(E)}}catch(E){p.error(`Parsing failed ${I.baseUrl}`,E)}return z(l),I}catch(u){throw z(l),sr(u)||u instanceof vs||u instanceof qv||u instanceof Jc?u:await this.jupyterInterpreterService.isNotebookSupported()?s!==0?new Error(y.jupyterServerCrashed(s)):rn.from(y.jupyterNotebookFailure(u),u):new zi(await this.jupyterInterpreterService.getReasonForJupyterNotebookNotBeingSupported())}finally{c.dispose(),a?.dispose()}}async generateDefaultArguments(e,t,r){let i=[];i.push(Promise.resolve("--no-browser")),i.push(Promise.resolve(this.getNotebookDirArgument(r))),e&&i.push(this.getConfigArgument(t)),i.push(Promise.resolve("--NotebookApp.iopub_data_rate_limit=10000000000.0"));let[o,s]=await Promise.all([Promise.all(i),this.getDockerArguments()]),a=process.env&&process.env.VSCODE_JUPYTER_DEBUG_JUPYTER?["--debug"]:[];return[...o,...s,...a]}async generateCustomArguments(e){return[...["--no-browser","--NotebookApp.iopub_data_rate_limit=10000000000.0","--KernelManager.autorestart=False"],...e]}async generateArguments(e,t,r,i){return!t||t.length===0?this.generateDefaultArguments(e,r,i):this.generateCustomArguments(t)}getNotebookDirArgument(e){return`--notebook-dir="${e.replace(/\\/g,"\\\\")}"`}async getConfigArgument(e){let t=await e,r=Le(t.path,"jupyter_notebook_config.py");return await this.fs.writeFile(qC.Uri.file(r),""),p.debug(`Generating custom default config at ${r}`),`--config=${r}`}async getDockerArguments(){let e=[];try{let t=await this.fs.readFile(qC.Uri.file("/proc/self/cgroup")).catch(()=>"");return!t.includes("docker")&&!t.includes("kubepods")?e:(e.push("--ip"),e.push("127.0.0.1"),new Promise(r=>{V7.exec("id",{encoding:"utf-8"},(i,o)=>{o&&o.toString().includes("(root)")&&e.push("--allow-root"),r(e)})}))}catch{return e}}async generateTempDir(){let e=qC.Uri.file(Le(j7.tmpdir(),(0,J7.default)()));return await this.fs.createDirectory(e),{path:ke(e),dispose:async()=>{let t=0;for(;t<10;)try{await this.fs.delete(e),t=10}catch{t+=1}}}}};Gv=v([(0,Bc.injectable)(),m(0,(0,Bc.inject)(Od)),m(1,(0,Bc.inject)(tt)),m(2,(0,Bc.inject)(rt)),m(3,(0,Bc.inject)(Ao)),m(3,(0,Bc.named)(Zf))],Gv);var Fl=require("vscode"),Wm=k(N());var zv=class extends Qt{constructor(t,r){super();this._onDidLoad=this._register(new Fl.EventEmitter);this._onDidChangeUri=this._register(new Fl.EventEmitter);this._onDidRemoveUris=this._register(new Fl.EventEmitter);this._onDidAddUri=this._register(new Fl.EventEmitter);this._all=[];r.push(this),this.newStorage=this._register(new yK(t))}get onDidLoad(){return this._onDidLoad.event}get onDidChange(){return this._onDidChangeUri.event}get onDidRemove(){return this._onDidRemoveUris.event}get onDidAdd(){return this._onDidAddUri.event}get all(){return this.updateStore(),this._all}hookupStorageEvents(){this.storageEventsHooked||(this.storageEventsHooked=!0,this._register(this.newStorage.onDidAdd(t=>this._onDidAddUri.fire(t),this)),this._register(this.newStorage.onDidChange(t=>this._onDidChangeUri.fire(t),this)),this._register(this.newStorage.onDidRemove(t=>this._onDidRemoveUris.fire(t),this)))}updateStore(){this.hookupStorageEvents();let t=this._all;return this._all=this.newStorage.getAll(),(t.length!==this._all.length||JSON.stringify(this._all)!==JSON.stringify(t))&&this._onDidLoad.fire(),this._all}async clear(){this.hookupStorageEvents(),await this.newStorage.clear(),this._all=[],this._onDidLoad.fire()}async add(t,r){this.hookupStorageEvents(),p.ci(`setUri: ${t.id}.${t.handle}`);let i={time:r?.time??Date.now(),displayName:"",provider:t};await this.newStorage.add(i),this.updateStore()}async update(t){this.hookupStorageEvents(),await this.newStorage.update(t),this.updateStore()}async remove(t){this.hookupStorageEvents(),await this.newStorage.remove(t),this.updateStore()}};zv=v([(0,Wm.injectable)(),m(0,(0,Wm.inject)(We)),m(0,(0,Wm.named)(lt)),m(1,(0,Wm.inject)(M))],zv);var yK=class{constructor(e){this.memento=e;this._onDidChangeUri=new Fl.EventEmitter;this._onDidRemoveUris=new Fl.EventEmitter;this._onDidAddUri=new Fl.EventEmitter;this.updatePromise=Promise.resolve();this.mementoKey=`MEMENTO_KEY_FOR_STORING_USED_JUPYTER_PROVIDERS_${Fl.env.machineId}`}get onDidChange(){return this._onDidChangeUri.event}get onDidRemove(){return this._onDidRemoveUris.event}get onDidAdd(){return this._onDidAddUri.event}dispose(){this._onDidAddUri.dispose(),this._onDidChangeUri.dispose(),this._onDidRemoveUris.dispose()}async add(e){return this.updatePromise=this.updatePromise.then(async()=>{let t=this.getAll(),r=t.find(a=>Ot(a.provider)===Ot(e.provider)),o=[{displayName:e.displayName||r?.displayName||Ot(e.provider),serverHandle:e.provider,time:e.time}].concat(t.sort((a,l)=>l.time-a.time).filter(a=>Ot(a.provider)!==Ot(e.provider)).map(a=>({displayName:a.displayName,serverHandle:a.provider,time:a.time}))),s=o.splice(Qn.JupyterServerUriListMax);if(await this.memento.update(this.mementoKey,o),r||this._onDidAddUri.fire(e),s.length){let a=s.map(l=>({provider:l.serverHandle,time:l.time,displayName:l.displayName||""}));this._onDidRemoveUris.fire(a.map(l=>l.provider))}this._onDidChangeUri.fire()}).catch(h)}async update(e){let r=this.getAll().find(o=>o.provider.id===e.id&&o.provider.handle===e.handle),i={provider:e,time:Date.now(),displayName:r?.displayName||""};await this.add(i)}async remove(e){await(this.updatePromise=this.updatePromise.then(async()=>{let t=!1;try{let r=this.getAll();if(r.length===0)return;let i=r.filter(s=>s.provider.id!==e.id||s.provider.handle!==e.handle),o=r.filter(s=>s.provider.id===e.id&&s.provider.handle===e.handle);if(i.length===0)await this.clear();else if(o.length){let s=i.map(a=>({displayName:a.displayName,serverHandle:a.provider,time:a.time}));t=!0,await this.memento.update(this.mementoKey,s),this._onDidRemoveUris.fire(o.map(a=>a.provider))}}finally{t||this._onDidRemoveUris.fire([e])}}).catch(t=>p.error(`Failed to remove Server handle ${JSON.stringify(e)}`,t)))}getAll(){let e=this.memento.get(this.mementoKey,[]),t=[];return e.forEach(async r=>{let i=Ot(r.serverHandle),o={time:r.time,displayName:r.displayName||i,provider:r.serverHandle};t.push(o)}),t}async clear(){let e=this.getAll();await this.memento.update(this.mementoKey,[]),e.length&&this._onDidRemoveUris.fire(e.map(t=>t.provider))}};var Jd=k(N());var SD="removeKernelUrisAndSessionsUsedByResources",Qv=class{constructor(e,t,r){this.disposables=e;this.uriStorage=t;this.memento=r;this.usedRemoteKernelServerIdsAndSessions={}}activate(){this.usedRemoteKernelServerIdsAndSessions=this.memento.get(SD,{}),this.uriStorage.onDidRemove(this.onDidRemoveServers,this,this.disposables)}wasKernelUsed(e){let t=Ot(e.serverProviderHandle);return t in this.usedRemoteKernelServerIdsAndSessions&&typeof e.kernelModel.id=="string"&&e.kernelModel.id in this.usedRemoteKernelServerIdsAndSessions[t]}trackKernelIdAsUsed(e,t,r){let i=Ot(t);this.usedRemoteKernelServerIdsAndSessions[i]=this.usedRemoteKernelServerIdsAndSessions[i]||{},this.usedRemoteKernelServerIdsAndSessions[i][r]=this.usedRemoteKernelServerIdsAndSessions[i][r]||[];let o=this.usedRemoteKernelServerIdsAndSessions[i][r];o.includes(e.toString())||(o.push(e.toString()),this.memento.update(SD,this.usedRemoteKernelServerIdsAndSessions).then(h,h))}trackKernelIdAsNotUsed(e,t,r){let i=Ot(t);if(!(i in this.usedRemoteKernelServerIdsAndSessions)||!(r in this.usedRemoteKernelServerIdsAndSessions[i]))return;let o=this.usedRemoteKernelServerIdsAndSessions[i][r];!Array.isArray(o)||!o.includes(e.toString())||(o.splice(o.indexOf(e.toString()),1),o.length===0&&delete this.usedRemoteKernelServerIdsAndSessions[i][r],Object.keys(this.usedRemoteKernelServerIdsAndSessions[i]).length===0&&delete this.usedRemoteKernelServerIdsAndSessions[i],this.memento.update(SD,this.usedRemoteKernelServerIdsAndSessions).then(h,h))}onDidRemoveServers(e){e.forEach(t=>{let r=Ot(t);delete this.usedRemoteKernelServerIdsAndSessions[r],this.memento.update(SD,this.usedRemoteKernelServerIdsAndSessions).then(h,h)})}};Qv=v([(0,Jd.injectable)(),m(0,(0,Jd.inject)(M)),m(1,(0,Jd.inject)($t)),m(2,(0,Jd.inject)(We)),m(2,(0,Jd.named)(lt))],Qv);var Bm=k(require("node-fetch")),t8=k(Z$());var e8=require("vscode");function GK(n){return class extends n{constructor(...r){super(...r);this._onAnyMessage=new e8.EventEmitter;this.onAnyMessage=this._onAnyMessage.event;this.msgChain=Promise.resolve(),this.sendChain=Promise.resolve(),this.receiveHooks=[],this.sendHooks=[]}patchSuperEmit(r){super.emit=r}send(r,i){this.sendHooks?this.sendChain=this.sendChain.then(()=>Promise.all(this.sendHooks.map(o=>o(r,i)))).then(()=>super.send(r,i)):super.send(r,i)}handleEvent(r,i,...o){return i==="message"&&this.receiveHooks.length?(this.msgChain=this.msgChain.then(()=>Promise.all(this.receiveHooks.map(s=>s(o[0])))).then(()=>r(i,...o)).catch(s=>p.error(`Exception while handling messages: ${s}`)),!0):r(i,...o)}emit(r,...i){return this.handleEvent((o,...s)=>super.emit(o,...s),r,...i)}addReceiveHook(r){this.receiveHooks.push(r)}removeReceiveHook(r){this.receiveHooks=this.receiveHooks.filter(i=>i!==r)}addSendHook(r){this.sendHooks.push(r)}removeSendHook(r){this.sendHooks=this.sendHooks.filter(i=>i!==r)}}}var r8=k(N());var Yi=new Map;var Zv=class{getRequestCtor(e,t,r){class i extends Bm.Request{constructor(s,a){super(s,a);let l=this.headers,c=r();Object.keys(c).forEach(f=>l.append(f,c[f].toString())),l.set("Content-Type","application/json");let d=l.append.bind(l);l.append=(f,g)=>{f.toLowerCase()!=="authorization"&&d(f,g)}}}return r&&Object.keys(r()||{}).length?i:Bm.Request}getWebsocketCtor(e,t,r){let i=()=>{let s={},a;if(t&&(s={...s,rejectUnauthorized:!1}),e&&(a={Cookie:e}),r){let l=r();a=a?{...a,...l}:l}return a&&(s={...s,headers:a}),s};class o extends GK(t8.default){constructor(l,c){super(l,c,i());let u,d=/.*\/kernels\/(.*)\/.*/.exec(l);d&&d.length>1&&(this.kernelId=d[1]),this.kernelId?(Yi.set(this.kernelId,this),this.on("close",()=>{u&&this.timer!==u&&clearInterval(u),Yi.get(this.kernelId)===this&&Yi.delete(this.kernelId)})):p.error("KernelId not extracted from Kernel WebSocket URL"),u=this.timer=setInterval(()=>this.ping(h),3e4)}}return o}wrapWebSocketCtor(e){class t extends GK(e){constructor(o,s,a){super(o,s,a);let l,c=/.*\/kernels\/(.*)\/.*/.exec(o);c&&c.length>1&&(this.kernelId=c[1]),this.kernelId?(Yi.set(this.kernelId,this),this.on("close",()=>{l&&this.timer!==l&&clearInterval(l),Yi.get(this.kernelId)===this&&Yi.delete(this.kernelId)})):p.error("KernelId not extracted from Kernel WebSocket URL"),l=this.timer=setInterval(()=>this.ping(h),3e4)}}return t}getFetchMethod(){return Bm.default}getHeadersCtor(){return Bm.Headers}getRequestInit(){return{cache:"no-store",credentials:"same-origin"}}};Zv=v([(0,r8.injectable)()],Zv);var n8=require("https"),i8=k(N());var ey=class{createHttpRequestAgent(){return new n8.Agent({rejectUnauthorized:!1})}};ey=v([(0,i8.injectable)()],ey);var zo=k(N());var Go=require("vscode");var pue=["/bin/sh","/bin/bash","/bin/zsh"];function AD(n,e){let t=(n.argv||[]).some(r=>(r=r.toLowerCase(),pue.some(i=>r.includes(i))));R("DATASCIENCE.KERNEL_SPEC_LANGUAGE",void 0,{language:n.language,kind:e,usesShell:t})}var ty="remoteKernelSpecCache.json";var mue=2e3,ND=class extends jn{constructor(t,r,i,o,s,a,l,c,u,d){super();this.id=t;this.displayName=r;this.env=i;this.cachedRemoteKernelValidator=o;this.kernelProvider=a;this.serverProviderHandle=l;this.jupyterConnection=c;this.fs=u;this.context=d;this._status="idle";this._onDidChangeStatus=new Go.EventEmitter;this.onDidChangeStatus=this._onDidChangeStatus.event;this.promiseMonitor=new lo;this.kernelIdsToHide=new Set;this.kind="remote";this.cache=[];this._onDidChangeKernels=new Go.EventEmitter;this.onDidChangeKernels=this._onDidChangeKernels.event;this._onDidChange=new Go.EventEmitter;this.onDidChange=this._onDidChange.event;this.cacheFile=Go.Uri.joinPath(d.globalStorageUri,ty),this.cacheKey=Ot(l),this._register(s.registerKernelFinder(this)),this._register(this._onDidChangeKernels.event(()=>this._onDidChange.fire(),this)),this._register(this._onDidChangeKernels),this._register(this._onDidChange),this._register(this._onDidChangeStatus),this._register(this.promiseMonitor)}get status(){return this._status}set status(t){this._status!==t&&(this._status=t,this._onDidChangeStatus.fire())}get lastError(){return this._lastError}get kernels(){return this.cache}get items(){return this.kernels}get title(){return this.displayName}dispose(){super.dispose(),this._cacheUpdateCancelTokenSource?.dispose(),this.kernelDisposeDelayTimer?.dispose()}async activate(){this.promiseMonitor.onStateChange(()=>{this.status=this.promiseMonitor.isComplete?"idle":"discovering"}),this.loadCache().then(h,h),this._register(this.kernelProvider.onDidStartKernel(t=>{_t(t.kernelConnectionMetadata)&&this.updateCache().then(h,h)},this)),this._register(this.kernelProvider.onDidDisposeKernel(t=>{if(t&&_t(t.kernelConnectionMetadata)){this.kernelDisposeDelayTimer?.dispose();let r=setTimeout(()=>{this.updateCache().then(h,h)},mue);return this.kernelDisposeDelayTimer=new Go.Disposable(()=>clearTimeout(r)),r}},this))}async refresh(){await this.loadCache(!0,!0)}getListOfKernelsWithCachedConnection(t,r=!1){return(!this.cachedConnection||r)&&(this.cachedConnection=this.getRemoteConnectionInfo(t)),this.cachedConnection.then(i=>i?(this.cachedConnection=Promise.resolve(i),this.listKernelsFromConnection(i)):Promise.resolve([])).catch(i=>this.isDisposed?Promise.reject(i):r?(this.cachedConnection=void 0,Promise.reject(i)):this.getListOfKernelsWithCachedConnection(t,!0))}async loadCache(t=!1,r=!1){p.ci(`Remote Kernel Finder load cache Server: ${this.id}`);let i=(async()=>{let o=t?[]:await this.getFromCache(),s=[];if(!t&&Array.isArray(o)&&o.length>0)s=o,this.updateCache().then(h,h),this.loadCache(!0).then(h,h);else try{s=await this.getListOfKernelsWithCachedConnection(r),this._lastError=void 0}catch(a){a instanceof Go.CancellationError||(p.error("UniversalRemoteKernelFinder: Failed to get kernels without cache",a),this._lastError=a,this._onDidChange.fire())}await this.writeToCache(s)})();this.promiseMonitor.push(i),await i}async updateCache(){let t=(async()=>{let r=[];this._cacheUpdateCancelTokenSource?.dispose();let i=new Go.CancellationTokenSource;this._cacheUpdateCancelTokenSource=i;try{r=await this.getListOfKernelsWithCachedConnection(!1)}catch(o){p.warn(`Could not fetch kernels from the ${this.kind} server, falling back to cache: ${o}`),r=await this.getFromCache(i.token),r=r.filter(s=>s.kind==="connectToLiveRemoteKernel")}i.token.isCancellationRequested||await this.writeToCache(r)})();this.promiseMonitor.push(t),await t}async getRemoteConnectionInfo(t=!0){let r=[];return t&&r.push(st.createProgressReporter(void 0,y.connectingToJupyter)),this.jupyterConnection.createConnectionInfo(this.serverProviderHandle).finally(()=>z(r))}async getFromCache(t){try{if(t?.isCancellationRequested)throw new Go.CancellationError;let r=this.cache;(!r||r.length===0)&&(r=await this.getCacheContents());let i=[],o=Promise.all(r.map(async s=>{await this.isValidCachedKernel(s)&&i.push(s)}));return await Xt(t,o),i}catch(r){p.error("UniversalRemoteKernelFinder: Failed to get from cache",r)}return[]}async getCacheContents(){try{let t=await this.fs.readFile(this.cacheFile),r=JSON.parse(t);if(r.extensionVersion!==this.env.extensionVersion)return[];let i=r.data[this.cacheKey]||[];return Array.isArray(i)?i.map(o=>ws.fromJSON(o)):[]}catch{return[]}}async listKernelsFromConnection(t){let r=[];try{let i=cd.create(t.settings);r.push({dispose:()=>Ss(i)});let[o,s,a,l]=await Promise.all([i.getRunningKernels(),i.getKernelSpecs(),i.getRunningSessions(),TV(t.serverProviderHandle)]),c=s.map(f=>(AD(f,"remote"),GS.create({kernelSpec:f,id:ki(f,void 0,l),baseUrl:t.baseUrl,serverProviderHandle:t.serverProviderHandle})));return[...a.map(f=>{let g=f.kernel,b=g.last_activity?new Date(Date.parse(g.last_activity.toString())):new Date,I=g.connections?parseInt(g.connections.toString(),10):0,E=o.find(T=>T.id===f.kernel?.id)||{},x=s.find(T=>T.name===f.kernel?.name)||{};return HS.create({kernelModel:{...f.kernel,...x,...E,name:f.kernel?.name||"",lastActivityTime:b,numberOfConnections:I,model:f},baseUrl:t.baseUrl,id:f.kernel?.id||"",serverProviderHandle:t.serverProviderHandle})}).filter(f=>!this.kernelIdsToHide.has(f.kernelModel.id||"")),...c]}catch(i){throw p.error(`Error fetching kernels from ${t.baseUrl} (${t.displayName}):`,i),i}finally{await Promise.all(r.map(i=>i.dispose().catch(h)))}}async writeToCache(t){try{p.trace(`UniversalRemoteKernelFinder: Writing ${t.length} remote kernel connection metadata to cache`);let r=this.cache,i=new Map(r.map(f=>[f.id,f])),o=new Map(t.map(f=>[f.id,f])),s=t.filter(f=>!i.has(f.id)),a=t.filter(f=>i.has(f.id)&&!Ys(f,i.get(f.id))),l=r.filter(f=>!o.has(f.id)),c=this.cacheKey;this.cache=r.filter(f=>o.has(f.id)).concat(s),this.cache.forEach(f=>{let g=o.get(f.id);f!==g&&g.kind==="connectToLiveRemoteKernel"&&f.kind==="connectToLiveRemoteKernel"&&f.updateModel(g.kernelModel)});let u=t.map(f=>f.toJSON()),d={extensionVersion:this.env.extensionVersion,data:{}};try{let f=await this.fs.readFile(this.cacheFile),g=JSON.parse(f);g.extensionVersion===this.env.extensionVersion&&(d=g)}catch{}d.data[c]=u,await this.fs.createDirectory(this.context.globalStorageUri).then(()=>this.fs.writeFile(this.cacheFile,JSON.stringify(d))).catch(f=>{p.error("Failed to cache the remote kernels.",f)}),(s.length||a.length||l.length)&&this._onDidChangeKernels.fire({removed:l})}catch(r){p.error("UniversalRemoteKernelFinder: Failed to write to cache",r)}}async isValidCachedKernel(t){switch(t.kind){case"startUsingRemoteKernelSpec":return!1;case"connectToLiveRemoteKernel":return this.cachedRemoteKernelValidator.isValid(t)}}};var MD=require("vscode");var zc=class{constructor(e,t,r,i,o,s,a,l,c,u){this.serverUriStorage=e;this.env=t;this.cachedRemoteKernelValidator=r;this.kernelFinder=i;this.kernelProvider=o;this.jupyterConnection=s;this.disposables=a;this.fs=l;this.context=c;this.jupyterServerProviderRegistry=u;this.serverFinderMapping=new Map;this.handledProviders=new WeakSet;this.mappedProviders=new WeakSet;this.mappedServers=new Set}activate(){this.serverUriStorage.onDidAdd(e=>this.validateAndCreateFinder(e),this,this.disposables),this.serverUriStorage.onDidChange(this.buildListOfFinders,this,this.disposables),this.serverUriStorage.onDidLoad(this.handleProviderChanges,this,this.disposables),this.serverUriStorage.onDidLoad(this.buildListOfFinders,this,this.disposables),this.jupyterServerProviderRegistry.onDidChangeCollections(this.handleProviderHandleChanges,this,this.disposables),this.serverUriStorage.onDidRemove(this.urisRemoved,this,this.disposables),this.jupyterServerProviderRegistry.onDidChangeCollections(this.handleProviderChanges,this,this.disposables),this.buildListOfFinders(),this.handleProviderChanges().catch(h)}buildListOfFinders(){this.serverUriStorage.all.map(e=>this.validateAndCreateFinder(e).catch(h))}handleProviderHandleChanges(){this.jupyterServerProviderRegistry.jupyterCollections.forEach(e=>{this.handledProviders.has(e)||(this.handledProviders.add(e),e.serverProvider.onDidChangeServers&&e.serverProvider.onDidChangeServers(this.buildListOfFinders,this,this.disposables))}),this.buildListOfFinders()}async handleProviderChanges(){if(!this.serverUriStorage.all.length)return;let e=new MD.CancellationTokenSource;this.disposables.push(e),await Promise.all(this.jupyterServerProviderRegistry.jupyterCollections.map(t=>{let r=t.serverProvider;if(!(!r||this.mappedProviders.has(r)))return this.mappedProviders.add(r),r?.onDidChangeServers&&r?.onDidChangeServers(()=>this.lookForServersInCollectionAndRemoveOldServers(t),this,this.disposables),this.serverUriStorage.onDidLoad(()=>this.lookForServersInCollectionAndRemoveOldServers(t),this,this.disposables),this.lookForServersInCollectionAndRemoveOldServers(t).catch(h)})),e.dispose()}async lookForServersInCollectionAndRemoveOldServers(e){if(!this.serverUriStorage.all.length)return;let t=new Set(this.serverUriStorage.all.map(o=>Ot(o.provider))),r=e.serverProvider;if(!r)return;let i=new MD.CancellationTokenSource;try{let o=await Promise.resolve(r.provideJupyterServers(i.token)),s=new Set;(o||[]).forEach(a=>{let l={extensionId:e.extensionId,handle:a.id,id:e.id},c=Ot(l);s.add(c),lD(l,a.label),!(this.mappedServers.has(c)||!t.has(c))&&(this.mappedServers.add(c),this.createRemoteKernelFinder(l,a.label))}),this.serverFinderMapping.forEach((a,l)=>{a.serverProviderHandle.extensionId===e.extensionId&&a.serverProviderHandle.id===e.id&&!s.has(Ot(a.serverProviderHandle))&&(a.dispose(),this.serverFinderMapping.delete(l))})}catch(o){p.error(`Failed to get servers for Collection ${e.id} in ${e.extensionId}`,o)}finally{i.dispose()}}async validateAndCreateFinder(e){let t=Ot(e.provider);if(this.serverFinderMapping.has(t))return;let r=new MD.CancellationTokenSource,i=async()=>{let s=this.jupyterServerProviderRegistry.jupyterCollections.find(c=>c.extensionId===e.provider.extensionId&&c.id===e.provider.id);if(!s||!s.serverProvider)return;let l=(await Promise.resolve(s.serverProvider.provideJupyterServers(r.token)))?.find(c=>c.id===e.provider.handle)?.label;l&&this.createRemoteKernelFinder(e.provider,l)},o=async()=>{let s=await this.jupyterServerProviderRegistry.jupyterCollections.find(a=>a.extensionId===e.provider.extensionId&&a.extensionId===La&&a.id===e.provider.id)?.label;s&&this.createRemoteKernelFinder(e.provider,s)};await Promise.all([i().catch(h),o().catch(h)]),r.dispose()}getOrCreateRemoteKernelFinder(e,t){let r=Ot(e);if(!this.serverFinderMapping.has(r)){let i=new ND(`remote-${r}`,t,this.env,this.cachedRemoteKernelValidator,this.kernelFinder,this.kernelProvider,e,this.jupyterConnection,this.fs,this.context);this.disposables.push(i),this.serverFinderMapping.set(r,i),i.activate().then(h,h)}return this.serverFinderMapping.get(r)}createRemoteKernelFinder(e,t){this.getOrCreateRemoteKernelFinder(e,t)}urisRemoved(e){e.forEach(t=>{let r=Ot(t),i=this.serverFinderMapping.get(r);i&&i.dispose(),this.serverFinderMapping.delete(r)})}dispose(){this.serverFinderMapping.forEach(e=>e.dispose())}};v([Br("Handle Jupyter Provider Changes")],zc.prototype,"handleProviderChanges",1),v([Br("Check Servers in Jupyter Server Provider")],zc.prototype,"lookForServersInCollectionAndRemoveOldServers",1),v([Br("Failed to create a Remote Kernel Finder")],zc.prototype,"validateAndCreateFinder",1),zc=v([(0,zo.injectable)(),m(0,(0,zo.inject)($t)),m(1,(0,zo.inject)(Sl)),m(2,(0,zo.inject)(hk)),m(3,(0,zo.inject)(kr)),m(4,(0,zo.inject)(De)),m(5,(0,zo.inject)(on)),m(6,(0,zo.inject)(M)),m(7,(0,zo.inject)(tt)),m(8,(0,zo.inject)(et)),m(9,(0,zo.inject)(jt))],zc);var qd=k(N());var jD=require("vscode");var JD=k(Io());var jl=k(N());var KD=class extends qe{constructor(t){super("localjupyterserverconnection",y.jupyterNotebookFailure(t.message||t.toString()));this.originalError=t}};function ny(n){if(Er()){let e=n;if(e&&e._futures){let t=e._futures;t.forEach&&t.forEach(r=>{r._status!==void 0&&(r._status|=4)})}e&&e._reconnectLimit&&(e._reconnectLimit=0)}}var ry=class extends rn{constructor(e){super(e.message,e)}};var YC=require("vscode");var $m=class extends xn{constructor(e){super("invalidkernel",y.kernelInvalid(it(e)),e)}};async function iy(n,e,t,r,i){if(!t.kernel)throw new $m(n);let o=st.reportProgress(e,y.waitingForJupyterSessionToBeIdle),s=[];o&&s.push(o);try{p.trace(`Waiting for idle on (kernel): ${t.kernel.id} -> ${t.kernel.status}`);let a=re();i.onCancellationRequested(()=>a.reject(new YC.CancellationError),void 0,s);let l=(f,g)=>{p.trace(`Got status ${g} in waitForIdleOnSession`),g=="idle"&&a.resolve(g)};t.kernel.statusChanged?.connect(l),s.push(new YC.Disposable(()=>Xn(()=>t.kernel?.statusChanged?.disconnect(l)))),t.kernel.status=="idle"&&a.resolve(t.kernel.status);let c=re(),u=()=>c.resolve("");t.disposed.connect(u,c),s.push(new YC.Disposable(()=>Xn(()=>t.disposed.disconnect(u,c)))),c.promise.catch(h),a.promise.catch(h);let d=await fr(r,"",a.promise,c.promise);if(t.isDisposed)throw p.error("Session disposed while waiting for session to be idle."),new $m(n);if(p.trace(`Finished waiting for idle on (kernel): ${t.kernel.id} -> ${t.kernel.status}`),d=="idle")return;throw p.error(`Shutting down after failing to wait for idle on (kernel): ${t.kernel.id} -> ${t.kernel.status}`),new jv(n)}catch(a){throw p.ci("Error waiting for idle",a),a}finally{z(s)}}var VD=require("vscode");var Vl=k(UD()),zK=require("vscode");var oy=class extends jn{constructor(t,r){super();this.kind=t;this.session=r;this.propertyChanged=new Vl.Signal(this);this.kernelChanged=new Vl.Signal(this);this.statusChanged=new Vl.Signal(this);this.connectionStatusChanged=new Vl.Signal(this);this.iopubMessage=new Vl.Signal(this);this.unhandledMessage=new Vl.Signal(this);this.anyMessage=new Vl.Signal(this);this.disposed=new Vl.Signal(this);this.didShutdown=this._register(new zK.EventEmitter);this._onDidKernelSocketChange=this._register(new zK.EventEmitter);r.propertyChanged.connect(this.onPropertyChanged,this),r.kernelChanged.connect(this.onKernelChanged,this),r.statusChanged.connect(this.onStatusChanged,this),r.connectionStatusChanged.connect(this.onConnectionStatusChanged,this),r.iopubMessage.connect(this.onIOPubMessage,this),r.unhandledMessage.connect(this.onUnhandledMessage,this),r.anyMessage.connect(this.onAnyMessage,this),this._register({dispose:()=>{this.session.propertyChanged.disconnect(this.onPropertyChanged,this),this.session.kernelChanged.disconnect(this.onKernelChanged,this),this.session.statusChanged.disconnect(this.onStatusChanged,this),this.session.connectionStatusChanged.disconnect(this.onConnectionStatusChanged,this),this.session.iopubMessage.disconnect(this.onIOPubMessage,this),this.session.unhandledMessage.disconnect(this.onUnhandledMessage,this),this.session.anyMessage.disconnect(this.onAnyMessage,this)}})}get id(){return this.session.id}get path(){return this.session.path}get name(){return this.session.name}get type(){return this.session.type}get serverSettings(){return this.session.serverSettings}get model(){return this.session.model}get kernel(){return this.isDisposed||!this.session.kernel?null:this.session.kernel}get onDidShutdown(){return this.didShutdown.event}get kernelId(){return this.session?.kernel?.id||""}get onDidKernelSocketChange(){return this._onDidKernelSocketChange.event}dispose(){this.isDisposed||(super.dispose(),this.statusChanged.emit("dead"),this.disposed.emit(),Vl.Signal.disconnectAll(this))}async restart(){await this.session.kernel?.restart(),this.initializeKernelSocket(),p.info(`Restarted ${this.session?.kernel?.id}`)}initializeKernelSocket(){if(!this.session.kernel)throw new Error("Kernel not initialized in Session");let t={kernel:this.session.kernel,options:{clientId:this.session.kernel.clientId,id:this.session.kernel.id,model:{...this.session.kernel.model},userName:this.session.kernel.username},socket:Yi.get(this.session.kernel.id)};JSON.stringify(this.previousKernelSocketInformation?.kernel.model)===JSON.stringify(t.kernel.model)&&this.previousKernelSocketInformation?.kernel===t.kernel&&this.previousKernelSocketInformation?.kernel.id===t.kernel.id&&this.previousKernelSocketInformation?.socket===t.socket||(this.previousKernelSocketInformation=t,this.session.kernel?.connectionStatusChanged.disconnect(this.onKernelConnectionStatusHandler,this),this.session.kernel?.connectionStatusChanged.connect(this.onKernelConnectionStatusHandler,this),this._onDidKernelSocketChange.fire())}onPropertyChanged(t,r){this.propertyChanged.emit(r)}onKernelChanged(t,r){this.kernelChanged.emit(r)}onStatusChanged(t,r){this.statusChanged.emit(r);let i=this.status;p.ci(`Server Status = ${i}`)}onConnectionStatusChanged(t,r){this.connectionStatusChanged.emit(r)}onIOPubMessage(t,r){this.iopubMessage.emit(r)}onUnhandledMessage(t,r){p.warn(`Unhandled message found: ${r.header.msg_type}`),this.unhandledMessage.emit(r)}onAnyMessage(t,r){this.anyMessage.emit(r)}setPath(t){return this.session.setPath(t)}setName(t){return this.session.setName(t)}setType(t){return this.session.setType(t)}changeKernel(t){return this.session.changeKernel(t)}onKernelConnectionStatusHandler(t,r){p.ci(`Server Kernel Status = ${r}`)}};var WD=class extends oy{constructor(t,r,i,o,s){super(ct(i)?"localJupyter":"remoteJupyter",t);this.resource=r;this.kernelConnectionMetadata=i;this.kernelService=o;this.creator=s;this.isShuttingDown=!1;this.initializeKernelSocket()}get status(){return this.isDisposed?"dead":this.session?.kernel?this.session.kernel.status:(p.ci(`Kernel status not started because real session is ${this.session?"defined":"undefined"} & real kernel is ${this.session?.kernel?"defined":"undefined"}`),"unknown")}dispose(){this.restartToken?.cancel(),this.restartToken?.dispose(),this.shutdownImplementation(!1).finally(()=>super.dispose())}async waitForIdle(t,r){try{await iy(this.kernelConnectionMetadata,this.resource,this.session,t,r)}catch(i){throw p.ci("Error waiting for idle",i),await this.shutdown().catch(h),i}}async restart(){let t=[],r=new VD.CancellationTokenSource;this.restartToken=r;let i=new Jt(!1);t.push(i),t.push(r);try{await this.validateLocalKernelDependencies(r.token,i),await super.restart()}finally{z(t)}}async validateLocalKernelDependencies(t,r){if(!(!this.kernelConnectionMetadata?.interpreter||!ct(this.kernelConnectionMetadata)||!this.kernelService)){if(t.isCancellationRequested)throw new VD.CancellationError;await this.kernelService.ensureKernelIsUsable(this.resource,this.kernelConnectionMetadata,r,t,this.creator==="3rdPartyExtension")}}async shutdown(){return this.restartToken?.cancel(),this.restartToken?.dispose(),this.shutdownImplementation(!0)}async shutdownImplementation(t){if(this.isDisposed||this.isShuttingDown)return;this.isShuttingDown=!0;let r=(new Error().stack||"").split(`
|
||
`).filter(o=>o.includes(Fe));p.trace(`Shutdown session - current session, called from
|
||
${r.map(o=>` ${o}`).join(`
|
||
`)}`);let i=`${this.session.kernel?.id}, ${this.kernelConnectionMetadata.id}`;p.debug(`shutdownSession ${i} - start`);try{if(t||this.canShutdownSession())try{p.debug(`Session can be shutdown ${this.kernelConnectionMetadata.id}`),ny(this.session.kernel),this.session.isDisposed||await fr(1e3,this.session.shutdown().catch(h))}catch{try{this.session.isDisposed||this.session.dispose()}catch(o){p.warn("Failures in disposing the session",o)}}finally{this.didShutdown.fire()}else p.debug(`Session cannot be shutdown ${this.kernelConnectionMetadata.id}`);try{this.session.isDisposed||this.session.dispose()}catch(o){p.warn("Failures in disposing the session",o)}super.dispose(),p.trace("Shutdown session -- complete")}catch(o){p.warn("Failures in disposing the session",o)}p.debug(`shutdownSession ${i} - shutdown complete`)}canShutdownSession(){return ct(this.kernelConnectionMetadata)?!0:this.kernelConnectionMetadata.kind==="connectToLiveRemoteKernel"?!1:this.resource&&$i(this.resource)==="interactive"?!0:!(this.resource&&$i(this.resource)==="notebook"&&_t(this.kernelConnectionMetadata))}};var Qc=class{constructor(e,t,r,i,o){this.jupyterNotebookProvider=e;this.jupyterConnection=t;this.asyncDisposables=r;this.kernelService=i;this.configService=o}async create(e){let t=[],r,i=()=>{e.ui.disableUI||r||(r=st.createProgressReporter(e.resource,_t(e.kernelConnection)?y.connectingToJupyter:y.startingJupyter),t.push(r))};e.ui.disableUI&&e.ui.onDidChangeDisableUI(i,this,t),i();let o,s=[],a=this.configService.getSettings(e.resource).jupyterLaunchTimeout;try{o=_t(e.kernelConnection)?await Zt(e.token,this.jupyterConnection.createConnectionInfo(e.kernelConnection.serverProviderHandle)):await this.jupyterNotebookProvider.getOrStartServer({resource:e.resource,token:e.token,ui:e.ui}),await Zt(e.token,this.validateLocalKernelDependencies(e));let l=cd.create(o.settings);this.asyncDisposables.push({dispose:()=>Ss(l)}),s.push(l),await Zt(e.token,this.validateRemoteServer(e,l));let c=await this.connectToOrCreateSession({...e,contentsManager:l.contentsManager,sessionManager:l.sessionManager,kernelManager:l.kernelManager,kernelSpecManager:l.kernelSpecManager,idleTimeout:a,connection:o});e.token.isCancellationRequested&&(await c.shutdown().catch(h),Xn(()=>c.dispose())),vn.throwIfCanceled(e.token),p.info(`Started session for kernel ${e.kernelConnection.kind}:${e.kernelConnection.id}`);let u=new WD(c,e.resource,e.kernelConnection,this.kernelService,e.creator),d=c.disposed,f=()=>{l.dispose(),d.disconnect(f)};this.asyncDisposables.push({dispose:()=>u.shutdown().finally(()=>u.dispose())}),c.disposed.connect(f);let g=u.onDidDispose(f);return this.asyncDisposables.push(g),u}catch(l){throw z(s),_t(e.kernelConnection)?o?Oo.isSelfCertsError(l)?new Oo(o.baseUrl):pl.isSelfCertsExpiredError(l)?new pl(o.baseUrl):new xi(o.baseUrl,e.kernelConnection.serverProviderHandle,l):l:l instanceof qe?l:new KD(l)}finally{z(t)}}async validateRemoteServer(e,t){if(t.isDisposed)throw new dn;if(!ct(e.kernelConnection))try{await Promise.all([t.getRunningKernels(),t.getKernelSpecs()])}catch(r){throw p.error("Failed to fetch running kernels from remote server, connection may be outdated or remote server may be unreachable",r),new xi(e.kernelConnection.baseUrl,e.kernelConnection.serverProviderHandle,r)}}async validateLocalKernelDependencies(e){if(e.token.isCancellationRequested)throw new jD.CancellationError;e.kernelConnection?.interpreter&&ct(e.kernelConnection)&&this.kernelService&&await this.kernelService.ensureKernelIsUsable(e.resource,e.kernelConnection,e.ui,e.token,e.creator==="3rdPartyExtension")}async connectToOrCreateSession(e){if(e.token.isCancellationRequested)throw new jD.CancellationError;let t;try{if(e.kernelConnection&&e.kernelConnection.kind==="connectToLiveRemoteKernel"&&e.kernelConnection.kernelModel.id&&e.kernelConnection.kernelModel.model){if(!e.kernelConnection.kernelModel.model)throw new Error("Kernel model not defined when connecting to an existing session");t=e.sessionManager.connectTo({...e.kernelConnection.kernelModel,model:e.kernelConnection.kernelModel.model}),await Zt(e.token,vE(async()=>t.kernel?.connectionStatus==="connected"||e.token.isCancellationRequested,e.idleTimeout,100))}else p.trace(`createNewKernelSession ${e.kernelConnection?.id}`),t=await this.createNewSession(e),await iy(e.kernelConnection,e.resource,t,e.idleTimeout,e.token).catch(h);if(e.token.isCancellationRequested)throw new jD.CancellationError;return t}catch(r){let i=e.ui.disableUI?p.debug:p.error;throw r instanceof qe?(i("Failed to change kernel, re-throwing",r),r):(i("Failed to change kernel",r),new $m(e.kernelConnection))}}async createNewSession(e){let t=(e.connection,e.resource,void 0),r=t?.path,i=Xh(e.kernelConnection)??e.kernelSpecManager?.specs?.default??"",o;if(t?.name)o=t.name;else{let a=e.resource?Vu(e.resource):"";o=`${e.resource?un(e.resource,a):""}-${(0,JD.default)()}${a}`}let s={path:r||gue(e.resource),kernel:{name:i},name:o,type:(e.resource?.path||"").toLowerCase().endsWith(".ipynb")?"notebook":"console"};try{let a=await Zt(e.token,e.sessionManager.startNew(s,{kernelConnectionOptions:{handleComms:!0}}));if(!a.kernel)throw new ry(new Error("No kernel created"));return p.info(y.createdNewKernel(e.connection.baseUrl,a?.kernel?.id||"")),a}catch(a){throw a instanceof ry?a:new ry(a)}}};Qc=v([(0,jl.injectable)(),m(0,(0,jl.inject)(ng)),m(1,(0,jl.inject)(on)),m(2,(0,jl.inject)(No)),m(3,(0,jl.inject)(mk)),m(3,(0,jl.optional)()),m(4,(0,jl.inject)(ie))],Qc);function hue(){return`${Yh}${(0,JD.default)()}`}function gue(n){let e=`${hue()}${(0,JD.default)()}.ipynb`;return n?`${un(n,".ipynb")}${e}`:`${y.defaultNotebookName}${e}`}var sy=class{constructor(e,t,r){this.rawKernelSupported=e;this.newRawKernelSessionFactory=t;this.newJupyterSessionFactory=r}async create(e){let t=e.kernelConnection;return this.rawKernelSupported.isSupported&&ct(t)&&this.newRawKernelSessionFactory?this.newRawKernelSessionFactory.create({...e,kernelConnection:t}):this.newJupyterSessionFactory.create(e)}};sy=v([(0,qd.injectable)(),m(0,(0,qd.inject)(oi)),m(1,(0,qd.inject)(iD)),m(1,(0,qd.optional)()),m(2,(0,qd.inject)(Qc))],sy);var XC=Symbol("RemoteKernelFinderController");function u8(n,e){n.add(Pv,Fv),n.addSingleton(me,Lv),n.addSingleton(me,kv),n.addSingleton(od,Jv),n.addSingleton(As,As),n.addSingleton(rg,Uv),n.addSingleton(pk,Km),n.addSingleton(jc,jc),n.addSingleton(ii,ii),n.addSingleton(pa,pa),n.addSingleton(aa,aa),n.addSingleton(mk,Fm),n.addSingleton(ng,$v),n.addSingleton(sd,Mm),n.addSingleton(Od,Mm),n.addSingleton($t,zv),n.addSingleton(fk,Gv),n.addSingleton(GP,Bv),n.addSingleton(zS,sy),n.addSingleton(Qc,Qc),n.addSingleton(Dc,Zv),n.addSingleton(ad,ey),n.addSingleton(on,on),n.addSingleton(um,Qv),n.addBinding(um,me),n.addSingleton(hk,Vv),n.addSingleton(Gr,Ov),n.addSingleton(XC,zc),n.addBinding(XC,me),n.addSingleton(jt,sg)}var qm=k(N()),Yc=require("vscode");var ay=class{constructor(e,t,r,i){this.disposableRegistry=e;this.kernelProvider=t;this.serverUriStorage=r;this.jupyterUriProviderRegistration=i;this.kernelsStartedSuccessfully=new WeakSet;this.kernelDisposables=new WeakMap;this.kernelConnectionToKernelMapping=new WeakMap;this.kernelsRestarting=new WeakSet;this.kernelReconnectProgress=new WeakMap;this.lastExecutedCellPerKernel=new WeakMap}activate(){this.kernelProvider.onDidStartKernel(this.onDidStartKernel,this,this.disposableRegistry),this.disposableRegistry.push(this.kernelProvider.onDidDisposeKernel(e=>{this.kernelDisposables.get(e)?.dispose(),this.kernelDisposables.delete(e),this.kernelReconnectProgress.get(e)?.dispose(),this.kernelReconnectProgress.delete(e)},this)),this.disposableRegistry.push(this.kernelProvider.onDidRestartKernel(e=>{this.kernelReconnectProgress.get(e)?.dispose(),this.kernelReconnectProgress.delete(e)},this)),this.disposableRegistry.push(er.onDidChangeNotebookCellExecutionState(e=>{if(!Et(e.cell.notebook)||e.state!==1)return;let t=this.kernelProvider.get(e.cell.notebook);!t||this.lastExecutedCellPerKernel.get(t)!==e.cell||this.lastExecutedCellPerKernel.delete(t)}))}getKernelSpecificDisposables(e){let t=this.kernelDisposables.get(e)||new Wr;return this.disposableRegistry.push(t),this.kernelDisposables.set(e,t),t}onDidStartKernel(e){if(this.kernelsStartedSuccessfully.has(e)||!e.session?.kernel)return;let t=this.getKernelSpecificDisposables(e);t.add(er.onDidChangeNotebookCellExecutionState(r=>{r.cell.notebook===e.notebook&&this.kernelProvider.get(r.cell.notebook)===e&&r.state===3&&this.lastExecutedCellPerKernel.set(e,r.cell)},this)),this.kernelsStartedSuccessfully.add(e),this.kernelConnectionToKernelMapping.set(e.session.kernel,e),e.session?.kernel?.connectionStatusChanged.connect(this.onKernelStatusChanged,this),t.add(e.addHook("willRestart",async()=>{this.kernelReconnectProgress.get(e)?.dispose(),this.kernelReconnectProgress.delete(e),this.kernelsRestarting.add(e)},this)),t.add(e.onRestarted(()=>this.kernelsRestarting.delete(e),this))}onKernelStatusChanged(e,t){let r=this.kernelConnectionToKernelMapping.get(e);if(r&&!this.kernelsRestarting.has(r))switch(t){case"connected":{this.kernelReconnectProgress.get(r)?.dispose(),this.kernelReconnectProgress.delete(r);return}case"disconnected":{this.kernelReconnectProgress.has(r)&&(this.kernelReconnectProgress.get(r)?.dispose(),this.kernelReconnectProgress.delete(r),this.onKernelDisconnected(r)?.catch(h));return}case"connecting":this.kernelReconnectProgress.has(r)||this.onKernelConnecting(r)?.catch(h);return;default:return}}async onKernelConnecting(e){let t=this.getKernelSpecificDisposables(e),r=re(),i=new Yc.Disposable(()=>r.resolve());if(this.kernelReconnectProgress.set(e,i),_t(e.kernelConnectionMetadata)&&await this.handleRemoteServerShutdown(e,e.kernelConnectionMetadata))return;let o=y.automaticallyReconnectingToAKernelProgressMessage(it(e.kernelConnectionMetadata));Yc.window.withProgress({location:Yc.ProgressLocation.Notification,title:o},async()=>r.promise).then(h,h),t.add(i)}async onKernelDisconnected(e){if(e.disposed||e.disposing||(Pt(e.resourceUri,"DATASCIENCE.KERNEL_CRASH"),_t(e.kernelConnectionMetadata)&&await this.handleRemoteServerShutdown(e,e.kernelConnectionMetadata)))return;let t=ct(e.kernelConnectionMetadata)?y.kernelDisconnected(it(e.kernelConnectionMetadata)):y.remoteJupyterConnectionFailedWithServer(e.kernelConnectionMetadata.baseUrl);Yc.window.showErrorMessage(t).then(h,h);try{let r=this.lastExecutedCellPerKernel.get(e);if(!r||r.document.isClosed||r.notebook.isClosed||r.executionSummary?.success===!1)return;await rd(r,e.controller,t,!1)}finally{await e.dispose()}}async handleRemoteServerShutdown(e,t){let r=this.jupyterUriProviderRegistration.jupyterCollections.find(o=>o.extensionId===t.serverProviderHandle.extensionId&&o.id===t.serverProviderHandle.id);if(!r)return!1;let i=new Yc.CancellationTokenSource;try{return(await Promise.resolve(r.serverProvider.provideJupyterServers(i.token))||[]).map(a=>a.id).includes(t.serverProviderHandle.handle)?!1:(await this.serverUriStorage.remove(t.serverProviderHandle),this.kernelReconnectProgress.get(e)?.dispose(),this.kernelReconnectProgress.delete(e),!0)}catch{return!1}finally{i.dispose()}}};ay=v([(0,qm.injectable)(),m(0,(0,qm.inject)(M)),m(1,(0,qm.inject)(De)),m(2,(0,qm.inject)($t)),m(3,(0,qm.inject)(jt))],ay);var ZC=k(N());var ly=class{constructor(e,t){this.disposableRegistry=e;this.kernelProvider=t;this.kernelsStartedSuccessfully=new WeakSet;this.kernelRestartProgress=new WeakMap}activate(){this.kernelProvider.onKernelStatusChanged(this.onKernelStatusChanged,this,this.disposableRegistry),this.kernelProvider.onDidStartKernel(this.onDidStartKernel,this,this.disposableRegistry),this.disposableRegistry.push(this.kernelProvider.onDidDisposeKernel(e=>{this.kernelRestartProgress.get(e)?.dispose(),this.kernelRestartProgress.delete(e)},this)),this.disposableRegistry.push(this.kernelProvider.onDidRestartKernel(e=>{this.kernelRestartProgress.get(e)?.dispose(),this.kernelRestartProgress.delete(e)},this))}onDidStartKernel(e){this.kernelsStartedSuccessfully.add(e)}onKernelStatusChanged({kernel:e}){if(!(!this.kernelsStartedSuccessfully.has(e)||!e.session||e.session.kind==="localRaw"))if(e.status==="autorestarting"){let t=st.createProgressReporter(e.resourceUri,y.restartingKernelStatus(it(e.kernelConnectionMetadata)));this.kernelRestartProgress.set(e,t)}else e.status!=="starting"&&e.status!=="busy"&&e.status!=="unknown"&&this.kernelRestartProgress.has(e)&&(this.kernelRestartProgress.get(e)?.dispose(),this.kernelRestartProgress.delete(e))}};ly=v([(0,ZC.injectable)(),m(0,(0,ZC.inject)(M)),m(1,(0,ZC.inject)(De))],ly);var ew=k(N()),QK=require("vscode");var Hm=class{constructor(e,t){this.disposableRegistry=e;this.kernelProvider=t;this.lastExecutedCellPerKernel=new WeakMap;this.kernelsStartedSuccessfully=new WeakSet}activate(){this.kernelProvider.onKernelStatusChanged(this.onKernelStatusChanged,this,this.disposableRegistry),this.kernelProvider.onDidStartKernel(this.onDidStartKernel,this,this.disposableRegistry)}onDidStartKernel(e){this.kernelsStartedSuccessfully.add(e),er.onDidChangeNotebookCellExecutionState(t=>{t.cell.notebook===e.notebook&&this.kernelProvider.get(t.cell.notebook)===e&&this.lastExecutedCellPerKernel.set(e,t.cell)})}async onKernelStatusChanged({kernel:e}){this.kernelsStartedSuccessfully.has(e)&&(e.disposed||e.disposing||!e.session||(e.session.kind==="localRaw"&&e.status==="dead"&&(QK.window.showErrorMessage(y.kernelDiedWithoutError(it(e.kernelConnectionMetadata))).then(h,h),await this.endCellAndDisplayErrorsInCell(e)),e.session.kind!=="localRaw"&&e.status==="autorestarting"&&(QK.window.showErrorMessage(y.kernelDiedWithoutErrorAndAutoRestarting(it(e.kernelConnectionMetadata))).then(h,h),await this.endCellAndDisplayErrorsInCell(e))))}async endCellAndDisplayErrorsInCell(e){let t=this.lastExecutedCellPerKernel.get(e);if(Pt(e.resourceUri,"DATASCIENCE.KERNEL_CRASH"),!!t)return rd(t,e.controller,y.kernelCrashedDueToCodeInCurrentOrPreviousCell,!1)}};v([Br()],Hm.prototype,"onKernelStatusChanged",1),Hm=v([(0,ew.injectable)(),m(0,(0,ew.inject)(M)),m(1,(0,ew.inject)(De))],Hm);var Xc=k(N()),Gd=require("vscode");var Hd=class{constructor(e,t,r,i){this.installer=e;this.memento=t;this.rawSupport=r;this.serviceContainer=i;this.installPromises=new Map}async installMissingDependencies({resource:e,kernelConnection:t,ui:r,token:i,ignoreCache:o,cannotChangeKernels:s,installWithoutPrompting:a}){if(!ct(t)||!dt(t)||!t.interpreter)return 0;p.info(`Check & install missing Kernel dependencies for ${j(t.interpreter?.uri)}, ui.disabled=${r.disableUI} for resource '${j(e)}'`);let l=async()=>{if(await st.wrapAndReportProgress(e,y.validatingKernelDependencies,()=>this.areDependenciesInstalled(t,i,o)))return 0;if(i?.isCancellationRequested)return 1};if(!a){let g=await l();if(g===0||g===1)return g}let c=cn(t.interpreter.uri),u=this.installPromises.get(c),d;if(!u){let g=new Gd.CancellationTokenSource,b=i.onCancellationRequested(()=>{g.cancel(),b.dispose()});u=st.wrapAndReportProgress(e,y.installingMissingDependencies,async()=>{if(a){let I=await l();if(I===0||I===1)return I}return this.runInstaller(e,t.interpreter,r,g,s,a)}),u.finally(()=>{b.dispose(),g.dispose()}).catch(h),this.installPromises.set(c,u)}let f=2;try{f=await u,(d?.token?.isCancellationRequested||i.isCancellationRequested)&&(f=1)}catch(g){p.ci("Failed to install kernel dependency",g),f=2}finally{this.installPromises.delete(c)}return f}async areDependenciesInstalled(e,t,r){if(e.kind==="connectToLiveRemoteKernel"||e.kind==="startUsingRemoteKernelSpec"||e.interpreter===void 0)return!0;if(!r&&this.rawSupport.isSupported&&await g3(this.memento,19,e.interpreter))return p.info(`IPyKernel found previously in this environment ${j(e.interpreter.uri)}`),!0;let i=this.installer.isInstalled(19,e.interpreter).then(o=>o===!0);return i.then(o=>{o&&Ax(this.memento,19,e.interpreter).catch(h)},h),Xt(t,!1,i)}async runInstaller(e,t,r,i,o,s){if(p.ci(`Run Installer for ${j(e)} ui.disableUI=${r.disableUI}, cancelTokenSource.token.isCancellationRequested=${i.token.isCancellationRequested}`),r.disableUI)return 4;let a=Ve(t),[l,c]=await Promise.all([b3(this.memento,19,t),a==="Conda"?void 0:await this.installer.isInstalled(27,t)]);if(i.token.isCancellationRequested)return 1;let u=l?y.libraryRequiredToLaunchJupyterKernelNotInstalledInterpreterAndRequiresUpdate:y.libraryRequiredToLaunchJupyterKernelNotInstalledInterpreter,d=c===!1?[19,27]:[19],f=u(qr(t)||t.uri.fsPath,d.map(J=>ar.get(J)).join(` ${de.and} `)),g=d.map(J=>ar.get(J)).join(", "),b=e?$i(e):void 0,I=e?await at(e.toString()):void 0;Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"displayed",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a});let E=de.install,x=y.selectKernel,A=de.moreInfo,T=[E];e&&!o&&T.push(x),T.push(A);try{(!Wp()||!s)&&Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"prompted",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a});let J;do J=Wp()||s?E:await Xt(i.token,Gd.window.showInformationMessage(f,{modal:!0},...T)),J===A&&(Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"moreInfo",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a}),Gd.env.openExternal(Gd.Uri.parse("https://aka.ms/AAhi594")));while(J===A);if(i.token.isCancellationRequested)return Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"dismissed",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a}),1;if(J===x)return Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"differentKernel",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a}),3;if(J===E){Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"install",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a});let ne=await Xt(i.token,3,this.installer.install(19,t,i,l===!0,c===!1));if(ne===0)return Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"installed",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a}),0;if(ne===2)return Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"failed",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a}),2}return Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"dismissed",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a}),1}catch(J){throw p.error(`Failed to install ${g}`,J),Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"error",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a}),J}}};v([Zn("Install Missing Dependencies")],Hd.prototype,"installMissingDependencies",1),v([Zn("Are Dependencies Installed"),m(0,wc("id"))],Hd.prototype,"areDependenciesInstalled",1),Hd=v([(0,Xc.injectable)(),m(0,(0,Xc.inject)(Ai)),m(1,(0,Xc.inject)(We)),m(1,(0,Xc.named)(lt)),m(2,(0,Xc.inject)(oi)),m(3,(0,Xc.inject)(rt))],Hd);var BD=k(N()),uy=require("vscode");var cy=class extends Qt{constructor(t){super();this._onDidChangeRegistrations=this._register(new uy.EventEmitter);this.onDidChangeRegistrations=this._onDidChangeRegistrations.event;this._finders=[];this.connectionFinderMapping=new Map;this._onDidChangeKernels=this._register(new uy.EventEmitter);this.onDidChangeKernels=this._onDidChangeKernels.event;this._status="idle";this._onDidChangeStatus=this._register(new uy.EventEmitter);t.push(this),this._register(this._onDidChangeStatus),this._register(this._onDidChangeRegistrations)}get status(){return this._status}set status(t){this._status!=t&&(this._status=t,this._onDidChangeStatus.fire())}get onDidChangeStatus(){return this._onDidChangeStatus.event}registerKernelFinder(t){this._finders.push(t);let r=()=>{this.status=this._finders.every(s=>s.status==="idle")?"idle":"discovering"};r();let i=this._register(new Wr),o=()=>{let s=this._finders.findIndex(a=>a===t);s>=0&&this._finders.splice(s,1),i.dispose(),r(),this._onDidChangeKernels.fire(),this._onDidChangeRegistrations.fire({added:[],removed:[t]})};return i.add(t.onDidChangeStatus(r,this)),i.add(t.onDidChangeKernels(()=>this._onDidChangeKernels.fire())),i.add(t.onDidDispose(()=>o())),this._onDidChangeKernels.fire(),this._onDidChangeRegistrations.fire({added:[t],removed:[]}),new uy.Disposable(()=>o())}get kernels(){let t=[];this.connectionFinderMapping.clear();let r=new Set;this._finders.filter(o=>o.kind==="localPythonEnvironment").forEach(o=>{o.kernels.forEach(s=>{(s.kind==="startUsingLocalKernelSpec"||s.kind==="startUsingPythonInterpreter")&&s.kernelSpec.specFile&&r.add(s.kernelSpec.specFile),t.push(s),this.connectionFinderMapping.set(s.id,o)})}),this._finders.filter(o=>o.kind==="localKernelSpec").forEach(o=>{o.kernels.forEach(s=>{(s.kind==="startUsingLocalKernelSpec"||s.kind==="startUsingPythonInterpreter")&&s.kernelSpec.specFile&&r.has(s.kernelSpec.specFile)||(t.push(s),this.connectionFinderMapping.set(s.id,o))})});let i=this._finders.filter(o=>o.kind==="remote");for(let o of i){let s=o.kernels;s.forEach(a=>{this.connectionFinderMapping.set(a.id,o)}),t.push(...s)}return t}getFinderForConnection(t){return this.connectionFinderMapping.get(t.id)}get registered(){return this._finders}};cy=v([(0,BD.injectable)(),m(0,(0,BD.inject)(M))],cy);var an=k(N());var ai=require("vscode");var $D=class{constructor(e,t){this.asyncDisposables=e;this.disposables=t;this.executions=new WeakMap;this.kernelsByNotebook=new WeakMap;this.kernelsById=new Map;this.pendingDisposables=new Set;this._onDidRestartKernel=new ai.EventEmitter;this._onDidStartKernel=new ai.EventEmitter;this._onDidCreateKernel=new ai.EventEmitter;this._onDidDisposeKernel=new ai.EventEmitter;this._onKernelStatusChanged=new ai.EventEmitter;this.onKernelStatusChanged=this._onKernelStatusChanged.event;this.asyncDisposables.push(this),ai.workspace.onDidCloseNotebookDocument(r=>this.disposeOldKernel(r),this,t),t.push(this._onDidDisposeKernel),t.push(this._onDidRestartKernel),t.push(this._onKernelStatusChanged),t.push(this._onDidStartKernel),t.push(this._onDidCreateKernel)}get kernels(){let e=new Set;return ai.workspace.notebookDocuments.forEach(t=>{let r=this.get(t);r&&e.add(r)}),Array.from(e)}get onDidDisposeKernel(){return this._onDidDisposeKernel.event}get onDidRestartKernel(){return this._onDidRestartKernel.event}get onDidStartKernel(){return this._onDidStartKernel.event}get onDidCreateKernel(){return this._onDidCreateKernel.event}get(e){if(fn(e)){let t=ai.workspace.notebookDocuments.find(r=>r.uri.toString()===e.toString());return t?this.get(t):void 0}else return typeof e=="string"?this.kernelsById.get(e)?.kernel:this.kernelsByNotebook.get(e)?.kernel}getKernelExecution(e){return this.executions.get(e)}getInternal(e){return this.kernelsByNotebook.get(e)}async dispose(){p.ci("Disposing all kernels from kernel provider");let e=Array.from(this.pendingDisposables.values());this.pendingDisposables.clear(),await Promise.all(e),await Promise.all(this.kernels.map(t=>t.dispose()))}storeKernel(e,t,r){this.kernelsByNotebook.set(e,{options:t,kernel:r}),this.kernelsById.set(r.id,{options:t,kernel:r}),this._onDidCreateKernel.fire(r)}deleteMappingIfKernelIsDisposed(e){e.onDisposed(()=>{this.get(e.notebook)===e&&(this.kernelsByNotebook.delete(e.notebook),this.kernelsById.delete(e.id),p.debug(`Kernel got disposed, hence there is no longer a kernel associated with ${j(e.uri)}`)),this.pendingDisposables.delete(e)},this,this.disposables)}disposeOldKernel(e){let t=this.kernelsByNotebook.get(e);t&&(p.debug(`Disposing kernel associated with ${j(e.uri)}, isClosed=${e.isClosed}`),this.kernelsById.delete(t.kernel.id),this.pendingDisposables.add(t.kernel),t.kernel.dispose().catch(r=>p.warn("Failed to dispose old kernel",r)).finally(()=>this.pendingDisposables.delete(t.kernel)).catch(h)),this.kernelsByNotebook.delete(e)}handleServerRemoval(e){ai.workspace.notebookDocuments.forEach(t=>{let r=this.kernelsByNotebook.get(t);if(r){let i=r.options.metadata;(i.kind==="connectToLiveRemoteKernel"||i.kind==="startUsingRemoteKernelSpec")&&e.find(s=>s.id===i.serverProviderHandle.id&&s.handle===i.serverProviderHandle.handle)&&(this.kernelsByNotebook.delete(t),this.kernelsById.delete(r.kernel.id))}})}},qD=class{constructor(e,t){this.asyncDisposables=e;this.disposables=t;this.kernelsByUri=new Map;this.kernelsById=new Map;this.pendingDisposables=new Set;this._onDidRestartKernel=new ai.EventEmitter;this._onDidStartKernel=new ai.EventEmitter;this._onDidCreateKernel=new ai.EventEmitter;this._onDidDisposeKernel=new ai.EventEmitter;this._onKernelStatusChanged=new ai.EventEmitter;this.onKernelStatusChanged=this._onKernelStatusChanged.event;this.asyncDisposables.push(this),ai.workspace.onDidCloseNotebookDocument(r=>{p.debug(`Notebook document ${j(r.uri)} got closed`),this.disposeOldKernel(r.uri)},this,t),t.push(this._onDidDisposeKernel),t.push(this._onDidRestartKernel),t.push(this._onKernelStatusChanged),t.push(this._onDidStartKernel),t.push(this._onDidCreateKernel)}get kernels(){return Array.from(this.kernelsByUri.values()).map(e=>e.kernel)}get onDidDisposeKernel(){return this._onDidDisposeKernel.event}get onDidRestartKernel(){return this._onDidRestartKernel.event}get onDidStartKernel(){return this._onDidStartKernel.event}get onDidCreateKernel(){return this._onDidCreateKernel.event}get(e){return this.kernelsByUri.get(e.toString())?.kernel||this.kernelsById.get(e.toString())?.kernel}getInternal(e){return this.kernelsByUri.get(e.toString())}async dispose(){p.ci("Disposing all kernels from kernel provider");let e=Array.from(this.pendingDisposables.values());this.pendingDisposables.clear(),await Promise.all(e),await Promise.all(this.kernels.map(t=>t.dispose()))}storeKernel(e,t,r){this.kernelsByUri.set(e.toString(),{options:t,kernel:r}),this.kernelsById.set(r.id,{options:t,kernel:r}),this._onDidCreateKernel.fire(r)}deleteMappingIfKernelIsDisposed(e,t){t.onDisposed(()=>{this.get(e)===t&&(this.kernelsByUri.delete(e.toString()),this.kernelsById.delete(t.id),p.debug(`Kernel got disposed, hence there is no longer a kernel associated with ${j(e)}`)),this.pendingDisposables.delete(t)},this,this.disposables)}disposeOldKernel(e){let t=this.kernelsByUri.get(e.toString());t&&(p.ci(`Disposing kernel associated with ${j(e)}`),this.kernelsById.delete(t.kernel.id),this.pendingDisposables.add(t.kernel),t.kernel.dispose().catch(r=>p.warn("Failed to dispose old kernel",r)).finally(()=>this.pendingDisposables.delete(t.kernel)).catch(h)),this.kernelsByUri.delete(e.toString())}};var XK=k(Io()),Dr=require("vscode");var m8=k(gx());var YK="KERNEL_INFO",vue=1e3*60*60*24*2;async function p8(n,e,t){let r=[],i={banner:"",help_links:[],implementation:"",implementation_version:"",language_info:{name:"",version:""},protocol_version:"",status:"ok"};if(!n.kernel)return;n.kernel?.info&&(r.push(n.kernel.info),n.kernel.info.then(a=>d8(t,e,a)).catch(h));let o=n.kernel.requestKernelInfo().then(a=>a?.content);if(r.push(o),o.then(a=>d8(t,e,a)).catch(h),e.kind==="connectToLiveRemoteKernel"){let a=yue(t,e);a?r.push(Promise.resolve(a)):r.push(gi(5e3).then(()=>i))}let s=await Promise.race(r);return s===i?p.warn("Failed to Kernel info in a timely manner, defaulting to empty info!"):p.trace("Got Kernel info"),s}async function d8(n,e,t){if(!t||!_t(e))return;let r=n.get(YK,[]).filter(i=>Date.now()-i.age<vue).filter(i=>i.id!==e.id);r.push({id:e.id,age:Date.now(),info:t}),await n.update(YK,r)}function yue(n,e){if(_t(e))return n.get(YK,[]).find(t=>t.id===e.id)?.info}var HD=class extends xn{constructor(e){super("kernelpromisetimeout",y.interruptingKernelFailed,e)}};var GD="e976ee50-99ed-4aba-9b6b-9dcd5634d07d:IPyWidgets:";function XD(n){let e=typeof n=="string"?n:"";return typeof n!="string"&&"content"in n&&"code"in n.content&&typeof n.content.code=="string"&&(e=n.content.code),!e.includes(GD)}function ZD(n){return n.status==="dead"||n.status==="terminating"&&!n.disposed&&!n.disposing||!n.disposed&&!n.disposing&&(n.session?.status=="unknown"||n.session?.kernel?.status=="unknown")&&(n.session.kernel?.isDisposed||n.session.isDisposed)}function f8(n){return n.status==="dead"||n.status==="terminating"&&!n.isDisposed||!n.isDisposed&&(n.status=="unknown"||n.kernel?.status=="unknown")&&(n.kernel?.isDisposed||n.isDisposed)}var zD=class{constructor(e,t,r,i,o,s,a,l,c){this.id=e;this.uri=t;this.resourceUri=r;this.kernelConnectionMetadata=i;this.sessionCreator=o;this.kernelSettings=s;this.startupCodeProviders=a;this._creator=l;this.workspaceMemento=c;this.disposables=[];this._onIPyWidgetVersionResolved=new Dr.EventEmitter;this._onDidKernelSocketChange=new Dr.EventEmitter;this._onStatusChanged=new Dr.EventEmitter;this._onRestarted=new Dr.EventEmitter;this._onStarted=new Dr.EventEmitter;this._onDisposed=new Dr.EventEmitter;this.hookedSessionForEvents=new WeakSet;this.hooks=new Map;this.startCancellation=new Dr.CancellationTokenSource;this.startupUI=new Jt(!0);this.disposables.push(this._onStatusChanged),this.disposables.push(this._onRestarted),this.disposables.push(this._onStarted),this.disposables.push(this._onDisposed),this.disposables.push(this._onIPyWidgetVersionResolved),this.disposables.push(this._onDidKernelSocketChange),Qi(this.resourceUri,{kernelConnection:this.kernelConnectionMetadata,actionSource:this.creator,disableUI:this.startupUI.disableUI}).catch(h),this.startupUI.onDidChangeDisableUI(()=>{this.startupUI.disableUI||Qi(this.resourceUri,{disableUI:!1}).catch(h)},this.disposables)}get ipywidgetsVersion(){return this._ipywidgetsVersion}get onIPyWidgetVersionResolved(){return this._onIPyWidgetVersionResolved.event}get onStatusChanged(){return this._onStatusChanged.event}get onRestarted(){return this._onRestarted.event}get onStarted(){return this._onStarted.event}get onDisposed(){return this._onDisposed.event}get creator(){return this._creator}get startedAtLeastOnce(){return this._startedAtLeastOnce}get info(){return this._info}get status(){return this._jupyterSessionPromise&&!this._session?"starting":this._session?.status??(this.isKernelDead?"dead":"unknown")}get disposed(){return this._disposed===!0||this._session?.isDisposed===!0}get disposing(){return this._disposing===!0}get onDidKernelSocketChange(){return this._onDidKernelSocketChange.event}get session(){return this._session}get restarting(){return this._restartPromise||Promise.resolve()}addHook(e,t,r,i){let o=this.hooks.get(e)||new Set;this.hooks.set(e,o),t=r?t.bind(r):t,o.add(t);let s={dispose:()=>{o.delete(t)}};return i&&i.push(s),s}async start(e){return this.startCancellation.token.isCancellationRequested&&(this.startCancellation.dispose(),this.startCancellation=new Dr.CancellationTokenSource),this.startJupyterSession(e)}async interrupt(){let e=Promise.all(Array.from(this.hooks.get("willInterrupt")||new Set).map(r=>r()));p.info(`Interrupt requested ${j(this.resourceUri||this.uri)}`);let t;try{let r=this._jupyterSessionPromise?await this._jupyterSessionPromise.catch(()=>{}):void 0;p.info("Interrupt kernel execution"),r?(t=this._interruptPromise?await this._interruptPromise:await(this._interruptPromise=this.interruptExecution(r,e)),this._interruptPromise=void 0):(p.info("No kernel session to interrupt"),this._interruptPromise=void 0,t="success")}finally{await Promise.all(Array.from(this.hooks.get("interruptCompleted")||new Set).map(r=>r())).catch(h)}if(p.info(`Interrupt requested & sent for ${j(this.uri)} in notebookEditor.`),t==="timeout"){let r=y.restartKernelAfterInterruptMessage(it(this.kernelConnectionMetadata)),i=y.restartKernelMessageYes;await Dr.window.showInformationMessage(r,{modal:!0},i)===i&&await this.restart()}}async dispose(){if(p.info(`Dispose Kernel '${j(this.uri)}' associated with '${j(this.resourceUri)}'`),this._disposing=!0,this.disposingPromise)return this.disposingPromise;this._ignoreJupyterSessionDisposedErrors=!0,this.startCancellation.cancel();let e=async()=>{let t=[];t.push(Promise.all(Array.from(this.hooks.get("willCancel")||new Set).map(r=>r())).then(h).catch(h)),this._session=this._session?this._session:this._jupyterSessionPromise?await this._jupyterSessionPromise.catch(()=>{}):void 0,this._jupyterSessionPromise=void 0,this._session&&(t.push(Ss(this._session,this.disposables)),this._session=void 0),this._disposed=!0,this._onDisposed.fire(),this._onStatusChanged.fire("dead");try{await Promise.all(t)}finally{this.startCancellation.dispose(),z(this.disposables)}};this.disposingPromise=e(),await this.disposingPromise}async restart(){try{let e=$i(this.resourceUri);p.info(`Restart requested ${j(this.uri)}`),await Promise.all(Array.from(this.hooks.get("willRestart")||new Set).map(r=>r(this._jupyterSessionPromise))),this.startCancellation.cancel(),this.startCancellation.dispose();let t=new Ue;try{let r=this._jupyterSessionPromise?await this._jupyterSessionPromise.catch(()=>{}):void 0;r?(this._restartPromise||(this._restartPromise=r.restart(),this._restartPromise.finally(()=>this._restartPromise=void 0).catch(h)),await this._restartPromise,this.startCancellation=new Dr.CancellationTokenSource):await this.start(new Jt(!1)),Pt(this.resourceUri,"DATASCIENCE.NOTEBOOK_RESTART",{duration:t.elapsedTime},{resourceType:e})}catch(r){p.error(`Restart failed ${j(this.uri)}`,r),this._ignoreJupyterSessionDisposedErrors=!0;let i=this._session;throw this._session=void 0,this._jupyterSessionPromise=void 0,Pt(this.resourceUri,"DATASCIENCE.NOTEBOOK_RESTART",{duration:t.elapsedTime},void 0,r),i&&await Ss(i,this.disposables),this._ignoreJupyterSessionDisposedErrors=!1,r}await this.initializeAfterStart(this._session),this._onRestarted.fire()}catch(e){throw p.error(`Failed to restart kernel ${j(this.uri)}`,e),e}finally{Promise.all(Array.from(this.hooks.get("restartCompleted")||new Set).map(e=>e())).catch(h)}}async startJupyterSession(e=new Jt(!1)){if(this._startedAtLeastOnce=!0,e.disableUI||(this.startupUI.disableUI=!1),e.onDidChangeDisableUI(()=>{!e.disableUI&&this.startupUI.disableUI&&(this.startupUI.disableUI=!1)},this.disposables),this.startupUI.disableUI&&this.startupUI.onDidChangeDisableUI(()=>{this.disposing||this.disposed||this.startupUI.disableUI||Fs(this.resourceUri,this.kernelConnectionMetadata).catch(h)},this,this.disposables),this.disposing)throw new Dr.CancellationError;if(vn.throwIfCanceled(this.startCancellation.token),!this._jupyterSessionPromise){let t=new Ue;this._jupyterSessionPromise=this.createJupyterSession();try{let r=await this._jupyterSessionPromise;return Pt(this.resourceUri,"DS_INTERNAL.PERCEIVED_JUPYTER_STARTUP_NOTEBOOK",{duration:t.elapsedTime}),r}catch(r){throw p.ci(`Failed to create Jupyter Session in Kernel.startNotebook for ${j(this.uri)}`),this.startCancellation.cancel(),this._jupyterSessionPromise=void 0,r}}return this._jupyterSessionPromise}async interruptExecution(e,t){let r=re(),i=new Ue,o=[],s=c=>{(c==="restarting"||c==="autorestarting")&&(p.warn("Kernel restarting during interrupt"),r.resolve(!0))},a=(c,u)=>s(u);return e.statusChanged.connect(a),o.push(new Dr.Disposable(()=>Xn(()=>e.statusChanged.disconnect(a)))),e&&e.kernel&&(p.info(`Interrupting kernel: ${e.kernel.name}`),await nh(this.kernelSettings.interruptTimeout,new HD(this.kernelConnectionMetadata),e.kernel.interrupt()).catch(c=>{p.warn(`Error during interrupt: ${c}`),r.resolve(!0)})),(async()=>{let c=re();this.status==="busy"&&(this.onDisposed(()=>c.resolve("dead"),this,o),this.onStatusChanged(()=>this.status==="dead"?c.resolve("dead"):void 0,this,o));try{return await fr(this.kernelSettings.interruptTimeout,"timeout",t.then(()=>"success"),r.promise.then(()=>"restart"),c.promise)}catch(u){if(r.completed)return"restart";throw Pt(this.resourceUri,"DATASCIENCE.NOTEBOOK_INTERRUPT",{duration:i.elapsedTime},void 0,u),u}finally{z(o)}})().then(c=>(Pt(this.resourceUri,"DATASCIENCE.NOTEBOOK_INTERRUPT",{duration:i.elapsedTime},{result:c}),c))}async createJupyterSession(){let e=Dr.workspace.notebookDocuments.find(i=>i.uri.toString()===this.uri.toString()),t=e?Pn(e)?.jupyterSessionTelemetry():void 0;if(await Qi(this.resourceUri,{kernelConnection:this.kernelConnectionMetadata,actionSource:this.creator,userExecutedCell:!this.startupUI.disableUI}),t?.stop(),this.disposing)throw new Dr.CancellationError;vn.throwIfCanceled(this.startCancellation.token);let r=[];try{p.info(`Starting Kernel ${Iue(this,this.startupUI)}`),this.createProgressIndicator(r),this.isKernelDead=!1,this._onStatusChanged.fire("starting");let i=await this.sessionCreator.create({resource:this.resourceUri,ui:this.startupUI,kernelConnection:this.kernelConnectionMetadata,token:this.startCancellation.token,creator:this.creator});if(this.disposing)throw new Dr.CancellationError;if(vn.throwIfCanceled(this.startCancellation.token),await this.initializeAfterStart(i),this.disposing)throw new Dr.CancellationError;return this.sendKernelStartedTelemetry(),this._session=i,this._onStarted.fire(),p.info("Kernel successfully started"),i}catch(i){if(this.startupUI.disableUI?p.trace(`failed to create IJupyterKernelConnectionSession in kernel, UI Disabled = ${this.startupUI.disableUI}`,i):!this.startCancellation.token&&!sr(i)&&p.error(`failed to create IJupyterKernelConnectionSession in kernel, UI Disabled = ${this.startupUI.disableUI}`,i),vn.throwIfCanceled(this.startCancellation.token),i instanceof vs)throw i;let o=y.sessionStartFailedWithKernel(it(this.kernelConnectionMetadata));throw rn.from(o+" "+("message"in i?i.message:i.toString()),i)}finally{z(r)}}sendKernelStartedTelemetry(){this.uiWasDisabledWhenKernelStartupTelemetryWasLastSent&&this.uiWasDisabledWhenKernelStartupTelemetryWasLastSent===this.startupUI.disableUI||this.startTelemetrySent&&!this.startupUI.disableUI||(this.uiWasDisabledWhenKernelStartupTelemetryWasLastSent=this.startupUI.disableUI===!0,this.startTelemetrySent=!0,Pt(this.resourceUri,"DATASCIENCE.NOTEBOOK_START",void 0,{disableUI:this.startupUI.disableUI}))}createProgressIndicator(e){let t=st.createProgressReporter(this.resourceUri,y.connectingToKernel(it(this.kernelConnectionMetadata)),this.startupUI.disableUI);e.push(t),this.startupUI.disableUI&&this.startupUI.onDidChangeDisableUI(()=>{this.disposing||this.disposed||this.startupUI.disableUI||t.show&&t.show()},this,e)}async initializeAfterStart(e){let t=Dr.workspace.notebookDocuments.find(o=>o.uri.toString()===this.uri.toString()),r=Pn(t),i=t?r?.postKernelStartup():void 0;try{if(await Promise.all(Array.from(this.hooks.get("didStart")||new Set).map(a=>a(e,this.startCancellation.token).catch(h))),p.trace(`Started running kernel initialization for ${j(this.uri)}`),!e){p.trace("Not running kernel initialization");return}if(!this.hookedSessionForEvents.has(e)){this.hookedSessionForEvents.add(e),e.onDidKernelSocketChange(l=>this._onDidKernelSocketChange.fire(l)),e.onDidDispose(()=>{if(p.ci(`Kernel got disposed as a result of session.onDisposed (1) ${j(this.resourceUri||this.uri)}`),!this._ignoreJupyterSessionDisposedErrors){p.info(`Kernel got disposed as a result of session.onDisposed ${j(this.resourceUri||this.uri)} & _ignoreJupyterSessionDisposedErrors = false.`);let l=this._session===e;this._jupyterSessionPromise=void 0,this._session=void 0,l&&(this.isKernelDead=!0,this._onStatusChanged.fire("dead"))}});let a=(l,c)=>this._onStatusChanged.fire(c);e.statusChanged.connect(a),this.disposables.push(new Dr.Disposable(()=>Xn(()=>e.statusChanged.disconnect(a))))}if(e.kernel?.registerCommTarget(je.DefaultCommTarget,h),this.kernelConnectionMetadata.kind==="connectToLiveRemoteKernel")this.determineVersionOfIPyWidgets(e).catch(a=>p.error("Failed to determine IPyWidget version",a)),this.gatherInternalStartupCode().then(a=>this.executeSilently(e,a,{traceErrors:!0,traceErrorsMessage:"Error executing jupyter extension internal startup code"})).catch(a=>p.error("Failed to execute internal startup code",a));else{await this.determineVersionOfIPyWidgets(e);let a=await this.gatherInternalStartupCode();await this.executeSilently(e,a,{traceErrors:!0,traceErrorsMessage:"Error executing jupyter extension internal startup code"}),await this.executeSilently(e,this.getUserStartupCommands(),{traceErrors:!1})}i?.stop();let o=r?.kernelInfo();try{p.debug("Requesting Kernel info"),this._info=await p8(e,this.kernelConnectionMetadata,this.workspaceMemento)}catch(a){p.warn("Failed to request KernelInfo",a)}o?.stop();let s=r?.kernelIdle();this.kernelConnectionMetadata.kind!=="connectToLiveRemoteKernel"&&(p.trace("End running kernel initialization, now waiting for idle"),await e.waitForIdle(this.kernelSettings.launchTimeout,this.startCancellation.token),p.trace("End running kernel initialization, session is idle")),s?.stop()}finally{i?.stop()}}async determineVersionOfIPyWidgets(e){if(!dt(this.kernelConnectionMetadata)){this._ipywidgetsVersion==dS,this._onIPyWidgetVersionResolved.fire(dS);return}let t=async()=>{let r=m8.default`
|
||
try:
|
||
import ipywidgets as _VSCODE_ipywidgets
|
||
print("${GD}" + _VSCODE_ipywidgets.__version__)
|
||
del _VSCODE_ipywidgets
|
||
except:
|
||
pass
|
||
`,i=await this.executeSilently(e,[r]).catch(o=>p.error("Failed to determine version of IPyWidgets",o));if(Array.isArray(i)){let o=i.some(l=>(l.text||"")?.toString().includes(`${GD}8.`)),s=i.some(l=>(l.text||"")?.toString().includes(`${GD}7.`)),a=this._ipywidgetsVersion=s?7:o?8:void 0;p.trace(`Determined IPyWidgets Version as ${a}`),this._ipywidgetsVersion==a,this._onIPyWidgetVersionResolved.fire(a)}else p.warn("Failed to determine IPyKernel Version",JSON.stringify(i))};if(await t(),!this._ipywidgetsVersion&&this.session?.kernel){let r=(i,o)=>{if(o.direction==="send")return;let s=o.msg;s.content&&"data"in s.content&&s.content.data&&(s.content.data[Ui]||"target_name"in s.content&&s.content.target_name===je.DefaultCommTarget)&&(this._ipywidgetsVersion||(t().catch(h),this.session?.kernel&&this.session.kernel.anyMessage.disconnect(r,this)))};this.session.kernel.anyMessage.connect(r,this)}}async gatherInternalStartupCode(){let e=[],t=await Promise.all(this.startupCodeProviders.sort((r,i)=>i.priority-r.priority).map(r=>r.getCode(this)));for(let r of t)e.push(...r);if(dt(this.kernelConnectionMetadata)&&this.kernelConnectionMetadata.kind!=="connectToLiveRemoteKernel"){let r=ke(this.resourceUri);r&&e.push(`__vsc_ipynb_file__ = "${r.replace(/\\/g,"\\\\")}"`),this.kernelSettings.enableExtendedPythonKernelCompletions||e.push(Xf.DisableJedi),e.push(...bue(this.getMatplotLibInitializeCode(),"Failed to initialize matplotlib startup code. Matplotlib might be missing."))}return e}getMatplotLibInitializeCode(){let e=[];if(this.kernelSettings.themeMatplotlibPlots){p.ci(`Initialize config for plots for ${j(this.resourceUri||this.uri)}`);let t=Xf.MatplotLibInit;p.trace(`Initialize matplotlib for ${j(this.resourceUri||this.uri)}`),e.push(...Oe(t,{trim:!1}));let r=Dr.window.activeColorTheme.kind===Dr.ColorThemeKind.Dark;e.push(r?"matplotlib.style.use('dark_background')":`matplotlib.rcParams.update(${je.MatplotLibDefaultParams})`)}return e}getUserStartupCommands(){let e=this.kernelSettings.runStartupCommands;if(Array.isArray(e)&&(e=e.join(`
|
||
`)),e){let t=e.replace(/\\n/g,`
|
||
`);return Oe(t,{trim:!1})}return[]}async executeSilently(e,t,r){if(t.join("").trim().length!==0){if(!e.kernel){p.trace(`Not executing startup as there is no session, code: ${t}`);return}return pn(e.kernel,t.join(`
|
||
`),r)}}},QD=class extends zD{get creator(){return"3rdPartyExtension"}constructor(e,t,r,i,o,s,a){super(`3rdPartyKernel_${(0,XK.default)()}`,e,t,r,i,o,s,"3rdPartyExtension",a)}},YD=class extends zD{constructor(t,r,i,o,s,a,l,c){super((0,XK.default)(),r.uri,t,i,o,s,l,"jupyterExtension",c);this.notebook=r;this.controller=a}get creator(){return"jupyterExtension"}};function bue(n,e){return!n||n.length===0||(n=n.map(t=>` ${t}`),n.unshift("try:"),n.push("except:",` print('${e}')`)),n}function e_(n){if(n.length>0){let e=n[0].data;if(e&&e.hasOwnProperty("text/plain"))return Is(e["text/plain"]);if(n[0].output_type==="stream"){let t=n[0];return Is(t.text)}}}function Iue(n,e){let t=n.kernelConnectionMetadata.interpreter,r=[];if(t){r.push(`Python Path: ${j(t.uri)}`),r.push(t?Ve(t):"");let i=Ji(t);i&&r.push(`${i.major}.${i.minor}.${i.micro}`)}else(n.kernelConnectionMetadata.kind==="startUsingLocalKernelSpec"||n.kernelConnectionMetadata.kind==="startUsingRemoteKernelSpec")&&r.push(n.kernelConnectionMetadata.kernelSpec.display_name);return`(${r.filter(i=>i).join(", ")}) for '${j(n.uri)}' (disableUI=${e.disableUI})`}function ZK(n,e){return{get enableExtendedPythonKernelCompletions(){return n.getSettings(e).enableExtendedPythonKernelCompletions},get interruptTimeout(){return n.getSettings(e).jupyterInterruptTimeout},get launchTimeout(){return n.getSettings(e).jupyterLaunchTimeout},get runStartupCommands(){return n.getSettings(e).runStartupCommands},get themeMatplotlibPlots(){return n.getSettings(e).themeMatplotlibPlots}}}var Gm=require("vscode");var tO=require("vscode");var eO=k(zA()),Sr=require("vscode");var dy=new WeakMap;function Zc(n){if(n.parent_header&&"msg_id"in n.parent_header)return n.parent_header.msg_id}var zd=class zd{constructor(e,t,r,i,o,s,a,l){this.cell=e;this.controller=t;this.context=r;this.formatters=i;this.kernel=o;this.request=s;this._onErrorHandlingIOPubMessage=new Sr.EventEmitter;this.onErrorHandlingExecuteRequestIOPubMessage=this._onErrorHandlingIOPubMessage.event;this.outputsAreSpecificToAWidget=[];this.commIdsMappedToParentWidgetModel=new Map;this.disposables=[];this.prompts=new Set;this.ownedCommIds=new Set;this.commIdsMappedToWidgetOutputModels=new Set;this.ownedRequestMsgIds=new Set;this._completed=re();this.gotIdleIOPubStatus=!1;this.gotShellReply=!1;this.streamsReAttachedToExecutingCell=!1;this._completed.promise.catch(h),this.executeRequestMessageId=l,this.ownedRequestMsgIds.add(l),Sr.workspace.onDidChangeNotebookDocument(c=>{if(!Et(c.notebook))return;let u=c.cellChanges.find(({cell:d})=>d===this.cell);u&&u.outputs?.length===0&&(this.clearLastUsedStreamOutput(),this.cellHasErrorsInOutput=!1)},this,this.disposables),this.execution=a,this.kernel.anyMessage.connect(this.onKernelAnyMessage,this),this.kernel.iopubMessage.connect(this.onKernelIOPubMessage,this),s&&(s.onIOPub=()=>{this.cell.document.isClosed&&!this.completedExecution&&s.dispose()},s.onReply=c=>{if(this.cell.document.isClosed){s.dispose();return}this.handleReply(c)},s.onStdin=this.handleInputRequest.bind(this),s.done.finally(()=>{this.completedExecution=!0,this.endCellExecution()}).catch(h))}static{this.modelIdsOwnedByCells=new WeakMap}get hasErrorOutput(){return this.cellHasErrorsInOutput===!0}static{this.outputsOwnedByWidgetModel=new Map}get completed(){return this._completed.promise}dispose(){this.disposed||(this.disposed=!0,ut(this.cell,"Execution Message Handler disposed"),z(this.disposables),this.prompts.forEach(e=>e.dispose()),this.prompts.clear(),this.request&&this.clearLastUsedStreamOutput(),this.execution=void 0,this.kernel.anyMessage.disconnect(this.onKernelAnyMessage,this),this.kernel.iopubMessage.disconnect(this.onKernelIOPubMessage,this),this._onErrorHandlingIOPubMessage.dispose())}endCellExecution(){this.prompts.forEach(e=>e.dispose()),this.prompts.clear(),this.request&&this.clearLastUsedStreamOutput(),this.execution=void 0,this._completed.resolve()}onKernelAnyMessage(e,{direction:t,msg:r}){if(this.cell.document.isClosed)return this.endCellExecution();let i=require("@jupyterlab/services");if(!this.request&&t==="recv"){let o=Zc(r);i.KernelMessage.isStatusMsg(r)&&r.content.execution_state==="idle"&&o===this.executeRequestMessageId&&(this.gotIdleIOPubStatus=!0),r.channel==="shell"&&o===this.executeRequestMessageId&&(this.gotShellReply=!0);let s=i.KernelMessage.isStatusMsg(r)&&r.content.execution_state!=="idle"&&o!==this.executeRequestMessageId;typeof r.parent_header=="object"&&r.parent_header&&"msg_type"in r.parent_header&&r.parent_header.msg_type;let a=o?o!==this.executeRequestMessageId&&!s:!1,l=typeof r.parent_header=="object"&&r.parent_header&&"msg_type"in r.parent_header&&r.parent_header.msg_type==="interrupt_request",c=this.gotIdleIOPubStatus&&this.gotShellReply,u=["kernel_info_reply","execute_input","execute_reply"],d="msg_type"in r&&typeof r.msg_type=="string"&&u.includes(r.msg_type);if(!this.completedExecution&&c)return this.completedExecution=!0,this.endAbnormallyTimeout&&clearTimeout(this.endAbnormallyTimeout),this.endCellExecution();if(!this.completedExecution&&(d||a)){this.endAbnormallyTimeout&&clearTimeout(this.endAbnormallyTimeout),this.endAbnormallyTimeout=setTimeout(()=>(this.completedExecution=!0,this.endAbnormallyTimeout=void 0,this.endCellExecution()),l?1e3:100),this.disposables.push(new Sr.Disposable(()=>{clearTimeout(this.endAbnormallyTimeout),this.endAbnormallyTimeout=void 0}));return}}t!=="send"||!this.completedExecution||i.KernelMessage.isCommMsgMsg(r)&&this.ownedCommIds.has(r.content.comm_id)&&this.ownedRequestMsgIds.add(r.header.msg_id)}onKernelIOPubMessage(e,t){if(this.cell.document.isClosed)return this.endCellExecution();if(!(!t.parent_header||!("msg_id"in t.parent_header)||!this.ownedRequestMsgIds.has(t.parent_header.msg_id)||t.channel!=="iopub"))try{this.handleIOPub(t)}catch(r){p.error("Failed to handle iopub message as a result of some comm message",t,r),!this.completedExecution&&!this.cell.document.isClosed&&this._onErrorHandlingIOPubMessage.fire(r)}}clearLastUsedStreamOutput(){this.lastUsedStreamOutput=void 0}createTemporaryTask(){if(this.cell.document.isClosed)return;let e=dy.get(this.cell.notebook);return e||(this.previousResultsToRestore={...this.cell.executionSummary||{}},this.temporaryExecution=Pi.getOrCreate(this.cell,this.controller),this.temporaryExecution?.start(),this.previousResultsToRestore?.executionOrder&&this.temporaryExecution&&(this.temporaryExecution.executionOrder=this.previousResultsToRestore.executionOrder),this.temporaryExecution)}endTemporaryTask(){this.previousResultsToRestore?.executionOrder&&this.execution&&(this.execution.executionOrder=this.previousResultsToRestore.executionOrder),this.previousResultsToRestore&&this.temporaryExecution?(this.previousResultsToRestore.executionOrder&&(this.temporaryExecution.executionOrder=this.previousResultsToRestore.executionOrder),this.temporaryExecution.end(this.previousResultsToRestore.success,this.previousResultsToRestore.timing?.endTime)):this.temporaryExecution?.end(void 0),this.previousResultsToRestore=void 0,this.temporaryExecution=void 0}handleIOPub(e){this.startTime||(this.startTime=new Date().getTime(),this.execution?.start(this.startTime),p.debug(`Kernel acknowledged execution of cell ${this.cell.index} @ ${this.startTime}`));let t=require("@jupyterlab/services");if(t.KernelMessage.isCommOpenMsg(e))this.handleCommOpen(e);else if(t.KernelMessage.isExecuteResultMsg(e))this.handleExecuteResult(e);else if(t.KernelMessage.isExecuteInputMsg(e))this.handleExecuteInput(e);else if(t.KernelMessage.isStatusMsg(e)){let r=e;this.handleStatusMessage(r)}else t.KernelMessage.isStreamMsg(e)?this.handleStreamMessage(e):t.KernelMessage.isDisplayDataMsg(e)?this.handleDisplayData(e):t.KernelMessage.isUpdateDisplayDataMsg(e)?this.handleUpdateDisplayDataMessage(e):t.KernelMessage.isClearOutputMsg(e)?this.handleClearOutput(e):t.KernelMessage.isErrorMsg(e)?this.handleError(e):t.KernelMessage.isCommOpenMsg(e)||(t.KernelMessage.isCommMsgMsg(e)?this.handleCommMsg(e):t.KernelMessage.isCommCloseMsg(e)||p.warn(`Unknown message ${e.header.msg_type} : hasData=${"data"in e.content}`));"execution_count"in e.content&&typeof e.content.execution_count=="number"&&this.execution&&(this.execution.executionOrder=e.content.execution_count)}handleCommOpen(e){this.ownedCommIds.add(e.content.comm_id);let t=e.content.data?.state||void 0;e.content.target_name===je.DefaultCommTarget&&t&&t._model_module==="@jupyter-widgets/output"&&this.commIdsMappedToWidgetOutputModels.add(e.content.comm_id)}handleCommMsg(e){let t=e.content.data;if(!(!t||t.method!=="update"||typeof t.state!="object")){if("msg_id"in t.state&&typeof t.state.msg_id=="string"){let r="msg_id"in e.parent_header?e.parent_header:void 0;(this.ownedRequestMsgIds.has(e.content.comm_id)||r&&this.ownedRequestMsgIds.has(r.msg_id))&&(t.state.msg_id?this.outputsAreSpecificToAWidget.push({handlingCommId:e.content.comm_id,msgIdsToSwallow:t.state.msg_id}):this.outputsAreSpecificToAWidget.length&&this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].handlingCommId===e.content.comm_id&&this.outputsAreSpecificToAWidget.pop())}else if("children"in t.state&&Array.isArray(t.state.children)&&this.ownedCommIds.has(e.content.comm_id)){let r="IPY_MODEL_";t.state.children.forEach(i=>{if(typeof i!="string")return p.warn("Came across a comm update message a child that isn't a string",i);if(!i.startsWith(r))return p.warn(`Came across a comm update message a child that start start with ${r}`,i);let o=i.substring(r.length);this.ownedCommIds.add(o),this.commIdsMappedToParentWidgetModel.set(o,e.content.comm_id)})}}}clearOutputIfNecessary(e){return this.clearOutputOnNextUpdateToOutput?(ut(this.cell,"Clear cell output"),this.clearLastUsedStreamOutput(),e?.clearOutput().then(h,h),this.clearOutputOnNextUpdateToOutput=!1,{previousValueOfClearOutputOnNextUpdateToOutput:!0}):{previousValueOfClearOutputOnNextUpdateToOutput:!1}}addToCellData(e,t){if(e.data&&typeof e.data=="object"&&Ui in e.data){let l=e.data[Ui];if(l&&this.context.extensionMode===Sr.ExtensionMode.Test&&(l._vsc_test_cellIndex=this.cell.index),l&&"model_id"in l){let c=zd.modelIdsOwnedByCells.get(this.cell)||new Set;c.add(l.model_id),zd.modelIdsOwnedByCells.set(this.cell,c)}}let r=uo(e),i="transient"in e&&typeof e.transient=="object"&&e.transient&&"display_id"in e.transient&&typeof e.transient?.display_id=="string"?e.transient?.display_id:void 0;if(this.cell.document.isClosed)return;ut(this.cell,()=>`Update output with mimes ${r.items.map(l=>l.mime).toString()}`);let o=this.execution||this.createTemporaryTask();this.clearOutputIfNecessary(o),i&&Qr.trackOutputByDisplayId(this.cell,i,r,r.items),this.clearLastUsedStreamOutput(),ut(this.cell,"Append output in addToCellData");let s=!0,a=Zc(t);(this.outputsAreSpecificToAWidget.length&&this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].msgIdsToSwallow===a&&r.items.every(l=>this.canMimeTypeBeRenderedByWidgetManager(l))||this.outputsAreSpecificToAWidget.length&&this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].msgIdsToSwallow===a&&this.updateJupyterOutputWidgetWithOutput({commId:this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].handlingCommId,outputToAppend:r},o)?.outputAdded)&&(s=!1),s&&o?.appendOutput([r]).then(h,h),this.endTemporaryTask()}canMimeTypeBeRenderedByWidgetManager(e){let t=e.mime;if(t=="application/vnd.code.notebook.stderr"||t=="application/vnd.code.notebook.stdout"||t=="application/vnd.code.notebook.error")return!0;if(t===Ui){let r=JSON.parse(new TextDecoder().decode(e.data));return!(typeof r.model_id=="string"&&this.commIdsMappedToWidgetOutputModels.has(r.model_id))}return!t.startsWith("application/vnd")}updateJupyterOutputWidgetWithOutput(e,t){let r=this.outputsAreSpecificToAWidget.length?this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].handlingCommId:void 0,i="commId"in e?e.commId:r;if(!i)return;let o="outputToAppend"in e?e.outputToAppend:void 0,s=this.commIdsMappedToParentWidgetModel.get(i)||i,a=this.cell.notebook.getCells().find(E=>zd.modelIdsOwnedByCells.get(E)?.has(s));if(!a){p.warn(`Unable to find a cell that owns the model ${s}`);return}let l=a.outputs.find(E=>E.items.find(x=>{if(x.mime!==Ui)return!1;try{return JSON.parse(new TextDecoder().decode(x.data)).model_id===s}catch(A){p.warn("Failed to deserialize the widget data",A)}return!1}));if(!l)return;let c=zd.outputsOwnedByWidgetModel.get(s)||new Set,d=("clearOutput"in e?e.clearOutput:!1)||(this.outputsAreSpecificToAWidget.length?this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].clearOutputOnNextUpdateToOutput===!0:!1);this.outputsAreSpecificToAWidget.length&&(this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].clearOutputOnNextUpdateToOutput=!1);let f=a.outputs.slice().filter(E=>d?!c.has(E.id):!0),g=f.slice(0,f.indexOf(l)+1),b=f.slice(f.indexOf(l)+1);zd.outputsOwnedByWidgetModel.set(s,c),o&&c.add(o.id);let I=o?g.concat(o).concat(b):g.concat(b);return b.length===0&&o?t?.appendOutput(o,a).then(h,h):d&&!o&&b.length===0||t?.replaceOutput(I,a).then(h,h),{outputAdded:!0}}async handleInputRequest(e){if(e.content&&"prompt"in e.content){let t=new Sr.CancellationTokenSource;this.prompts.add(t);let r=e.content.password!==null&&e.content.password;await Sr.window.showInputBox({prompt:e.content.prompt?e.content.prompt.toString():"",ignoreFocusOut:!0,password:r},t.token).then(i=>{this.kernel.sendInputReply({value:i||"",status:"ok"})},h),this.prompts.delete(t)}}handleExecuteResult(e){this.addToCellData({output_type:"execute_result",data:e.content.data,metadata:e.content.metadata,transient:e.content.transient,execution_count:e.content.execution_count},e)}handleExecuteReply(e){let t=e.content;t.payload&&t.payload.forEach(r=>{r.source&&r.source==="set_next_input"&&"text"in r&&"replace"in r&&this.handleSetNextInput(r),r.data&&r.data.hasOwnProperty("text/plain")&&this.addToCellData({output_type:"stream",text:r.data["text/plain"].toString(),name:"stdout",metadata:{},execution_count:t.execution_count},e)})}handleSetNextInput(e){let t=new Sr.WorkspaceEdit;if(e.replace)t.replace(this.cell.document.uri,new Sr.Range(this.cell.document.lineAt(0).range.start,this.cell.document.lineAt(this.cell.document.lineCount-1).range.end),e.text);else{ut(this.cell,"Create new cell after current");let r=new Sr.NotebookCellData(Sr.NotebookCellKind.Code,e.text,this.cell.document.languageId);r.outputs=[],r.metadata={};let i=Sr.NotebookEdit.insertCells(this.cell.index+1,[r]);t.set(this.cell.notebook.uri,[i])}Sr.workspace.applyEdit(t).then(h,h)}handleExecuteInput(e){e.content.execution_count&&this.execution&&(this.execution.executionOrder=e.content.execution_count)}handleStatusMessage(e){ut(this.cell,`Kernel switching to ${e.content.execution_state}`)}handleStreamMessage(e){if(Zc(e)&&this.outputsAreSpecificToAWidget.length&&this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].msgIdsToSwallow==Zc(e))return;ut(this.cell,`Update streamed output, new output '${e.content.text.substring(0,100)}'`);let t=this.execution||this.createTemporaryTask(),r=e.content.name==="stdout"?Sr.NotebookCellOutputItem.stdout("").mime:Sr.NotebookCellOutputItem.stderr("").mime;!this.request&&!this.streamsReAttachedToExecutingCell&&!this.lastUsedStreamOutput&&this.cell.outputs.length&&this.cell.outputs[this.cell.outputs.length-1].items.length>=1&&this.cell.outputs[this.cell.outputs.length-1].items.every(o=>o.mime===r)&&(this.lastUsedStreamOutput={output:this.cell.outputs[0],stream:e.content.name}),this.streamsReAttachedToExecutingCell=!0;let{previousValueOfClearOutputOnNextUpdateToOutput:i}=this.clearOutputIfNecessary(t);if(this.lastUsedStreamOutput?.stream===e.content.name){let o=uo({output_type:"stream",name:e.content.name,text:e.content.text});ut(this.cell,`Append output items '${e.content.text.substring(0,100)}`),t?.appendOutputItems(o.items,this.lastUsedStreamOutput.output).then(h,h)}else if(i){let o=Is(e.content.text),s=uo({output_type:"stream",name:e.content.name,text:o});this.lastUsedStreamOutput={output:s,stream:e.content.name},ut(this.cell,`Replace output with '${o.substring(0,100)}'`),t?.replaceOutput([s]).then(h,h)}else{let o=gV(Is(e.content.text)),s=uo({output_type:"stream",name:e.content.name,text:o});this.lastUsedStreamOutput={output:s,stream:e.content.name},ut(this.cell,`Append new output '${o.substring(0,100)}'`),t?.appendOutput([s]).then(h,h)}this.endTemporaryTask()}handleDisplayData(e){let t={output_type:"display_data",data:QS(e.content.data),metadata:e.content.metadata,transient:e.content.transient};this.addToCellData(t,e)}handleClearOutput(e){if(this.outputsAreSpecificToAWidget.length&&this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].msgIdsToSwallow===Zc(e)){if(e.content.wait)this.outputsAreSpecificToAWidget.length&&(this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].clearOutputOnNextUpdateToOutput=!0);else{let t=this.execution||this.createTemporaryTask();this.updateJupyterOutputWidgetWithOutput({clearOutput:!0},t),this.endTemporaryTask()}return}if(e.content.wait)this.clearOutputOnNextUpdateToOutput=!0;else{let t=this.execution||this.createTemporaryTask();this.clearLastUsedStreamOutput(),t?.clearOutput().then(h,h),this.endTemporaryTask()}}handleError(e){let t=e.content.traceback;p.ci(`Traceback for error ${t}`),this.formatters.forEach(i=>{t=i.format(this.cell,t)}),p.ci(`Traceback for error after formatting ${t}`);let r={output_type:"error",ename:e.content.ename,evalue:e.content.evalue,traceback:t};if(this.cell.notebook.notebookType!=="interactive"){let i=Pi.get(this.cell);i&&e.content.ename!=="KeyboardInterrupt"&&(i.errorInfo={message:`${e.content.ename}: ${e.content.evalue}`,location:tj(e.content.traceback,this.cell),uri:this.cell.document.uri,stack:e.content.traceback.join(`
|
||
`)})}this.addToCellData(r,e),this.cellHasErrorsInOutput=!0}handleReply(e){require("@jupyterlab/services").KernelMessage.isExecuteReplyMsg(e)&&(this.handleExecuteReply(e),"execution_count"in e.content&&typeof e.content.execution_count=="number"&&this.execution&&(this.execution.executionOrder=e.content.execution_count))}handleUpdateDisplayDataMessage(e){let t=e.content.transient.display_id;if(!t){p.warn("Update display data message received, but no display id",e.content);return}let r=Qr.getMappedOutput(this.cell.notebook,t);if(!r){p.trace("Update display data message received, but no output found to update",e.content);return}if(r.cell.document.isClosed){p.warn("Update display data message received, but output cell is closed",e.content);return}let i=XA(new Sr.NotebookCellOutput(r.outputItems,r.outputContainer.metadata)),o=uo({...i,data:e.content.data,metadata:e.content.metadata});if(r.outputItems.length===0&&o.items.length===0){p.trace("Update display data message received, but no output to update",e.content);return}let s=!1;if(r.outputItems.length===o.items.length){let l=!0;if((0,eO.default)(r.outputContainer.metadata||{},o.metadata||{})||(s=!0,l=!1),l){for(let c=0;c<r.outputItems.length;c++)if(!(0,eO.default)(r.outputItems[c],o.items[c])){l=!1;break}}if(l){p.trace("Update display data message received, but no output to update (data is the same)",e.content);return}}let a=this.execution||this.createTemporaryTask();if(ut(this.cell,`Replace output items in display data ${o.items.length}`),s){let l=r.cell.outputs.map(c=>{let u=XA(c);return u.output_type==="display_data"&&"transient"in u&&u.transient&&typeof u.transient=="object"&&"display_id"in u.transient&&typeof u.transient.display_id=="string"&&u.transient.display_id===t?o:c});a?.replaceOutput(l,r.cell).then(h,h),Qr.trackOutputByDisplayId(r.cell,t,o,o.items)}else a?.replaceOutputItems(o.items,r.outputContainer).then(h,h),Qr.trackOutputByDisplayId(r.cell,t,r.outputContainer,o.items);this.endTemporaryTask()}};v([Br()],zd.prototype,"handleReply",1);var tw=zd;var Qd=class extends Error{constructor(t){super(t.evalue||t.ename);this.ename=t.ename,this.evalue=t.evalue,this.traceback=t.traceback}};var t_=class{constructor(e,t){this.controller=e;this.requestListener=t}create(e,t,r,i){return rO.fromCell(e,t,r,this.controller,this.requestListener,i)}},rO=class n{constructor(e,t,r,i,o,s){this.cell=e;this.codeOverride=t;this.kernelConnection=r;this.controller=i;this.requestListener=o;this.resumeExecution=s;this.type="cell";this._result=re();this.cancelHandled=!1;this.disposables=[];if(tO.workspace.onDidCloseTextDocument(a=>{if(a===this.cell.document){p.info(`Disposing request as the cell (${this.cell.index}) was deleted ${j(this.cell.notebook.uri)}`);try{this.request?.dispose()}catch(l){p.error(`Error during cell execution dispose: ${l}`)}this.started&&!this._completed&&this.completedDueToCancellation()}},this,this.disposables),this.canExecuteCell())this.execution=Pi.getOrCreate(e,this.controller,!s?.msg_id),td.setCellState(e,2);else{let a=Pi.get(e);a&&(a.start(),a.end(void 0))}}get result(){return this._result.promise}get executionOrder(){return this._executionOrder}static fromCell(e,t,r,i,o,s){return new n(e,t,r,i,o,s)}async start(e){if(this.session=e,this.resumeExecution?.msg_id)return this.resume(e,this.resumeExecution);if(this.cancelHandled){ut(this.cell,"Not starting as it was cancelled");return}if(ut(this.cell,"Start execution"),p.ci(`Cell Exec contents ${this.cell.document.getText().substring(0,50)}...`),!this.canExecuteCell()){this.execution?.end(void 0),this.execution=void 0,this._result.resolve();return}return e.kind==="remoteJupyter"&&e.status==="unknown"&&(!e.kernel||e.kernel.isDisposed||e.isDisposed)?(this.execution?.start(),this.execution?.clearOutput().then(h,h),this.completedWithErrors(new dn),this.result):this.started?(ut(this.cell,"Cell has already been started yet CellExecution.Start invoked again"),p.error(`Cell has already been started yet CellExecution.Start invoked again ${this.cell.index}`),this.result):(this.started=!0,dy.set(this.cell.notebook,this.execution),td.setCellState(this.cell,3),this.execute(this.codeOverride||this.cell.document.getText().replace(/\r\n/g,`
|
||
`),e).catch(t=>this.completedWithErrors(t)).catch(h),this.result)}async resume(e,t){if(this.cancelHandled){ut(this.cell,"Not resuming as it was cancelled");return}if(!e.kernel)throw new Error("Kernel not available to resume execution");if(ut(this.cell,"Start resuming execution"),p.ci(`Cell Exec (resuming) contents ${this.cell.document.getText().substring(0,50)}...`),!this.canExecuteCell()){this.execution?.end(void 0),this.execution=void 0,this._result.resolve();return}return this.started?(p.error(`Cell has already been started yet CellExecution.resume invoked again ${this.cell.index}`),this.result):(this.started=!0,dy.set(this.cell.notebook,this.execution),this.execution?.start(t.startTime),t.executionCount&&this.execution&&(this.execution.executionOrder=t.executionCount),td.setCellState(this.cell,3),this.cellExecutionHandler=this.requestListener.registerListenerForResumingExecution(this.cell,{kernel:e.kernel,cellExecution:this.execution,msg_id:t.msg_id}),this.cellExecutionHandler.onErrorHandlingExecuteRequestIOPubMessage(r=>{p.error(`Cell (index = ${this.cell.index}) execution completed with errors (2).`,r),this.completedWithErrors(r.error)},this,this.disposables),this.cellExecutionHandler.completed.finally(()=>this.completedSuccessfully()).catch(h),this.result)}async cancel(e=!1){if(!this.cancelHandled){if(this.cancelRequested=!0,this.started&&!e&&this.execution?.started){ut(this.cell,"Cell is already running, waiting for it to finish or kernel to start"),await this.result.catch(h);return}this.cancelHandled||this._completed||(ut(this.cell,"Execution cancelled"),this.cancelHandled=!0,this.completedDueToCancellation(),this.dispose())}}dispose(){this.disposed||(this.disposed=!0,ut(this.cell,"Execution disposed"),z(this.disposables))}completedWithErrors(e,t,r=!0){if(!this.cancelHandled){if(!this.disposed&&!this.cancelRequested?p.warn("Cell completed with errors",e):p.warn(`Cell completed with errors (${this.disposed?"disposed":"cancelled"})`),ut(this.cell,"Completed with errors"),r){let i,o;e&&!(e instanceof qe)&&e.message?.includes("Canceled future for execute_request message before replies were done")&&this.session&&f8(this.session)&&(e=new dn),e&&(e instanceof qe?i=Qp(tO.workspace.workspaceFolders||[],e,it(this.kernelConnection),yh(this.kernelConnection.interpreter))?.message:i=e.message||e.name||e.stack),o=Dh(i||""),o&&this.execution?.appendOutput(o).then(h,h)}this.endCellTask("failed",t),ut(this.cell,"Completed with errors, & resolving"),this._result.reject(e)}}get isEmptyCodeCell(){return this.cell.document.getText().trim().length===0}completedSuccessfully(e){ut(this.cell,"Completed successfully");let t="success";this.endCellTask("success",e),ut(this.cell,`Completed successfully & resolving with status = ${t}`),this._result.resolve()}endCellTask(e,t=new Date().getTime()){if(!this._completed){if(this._completed=!0,this.isEmptyCodeCell)this.execution&&(this.execution.executionOrder=void 0),this.execution?.end(void 0);else if(e==="success"||e==="failed")this.endTime=t,this.execution?.end(e==="success",this.endTime);else{try{this.request?.dispose()}catch{}this.execution?.end(void 0)}dy.get(this.cell.notebook)===this.execution&&dy.set(this.cell.notebook,void 0),this._executionOrder=this.execution?.executionOrder,td.setCellState(this.cell,1),this.execution=void 0}}completedDueToCancellation(){ut(this.cell,"Completed due to cancellation"),this.endCellTask("cancelled"),ut(this.cell,"Cell cancelled & resolving"),this._result.resolve()}canExecuteCell(){return this.cell.document.languageId==="raw"?!1:!this.cell.document.isClosed}async execute(e,t){if(!t.kernel)throw new Error("No kernel available to execute code");if(ut(this.cell,"Send code for execution"),e.trim().length===0||this.cell.document.isClosed)return e.trim().length===0&&(this.execution?.start(this.resumeExecution?.startTime),this.execution?.clearOutput()?.then(h,h)),ut(this.cell,"Empty cell execution"),this.completedSuccessfully();let r={cellId:this.cell.document.uri.toString(),...Yu(this.cell).metadata},i=t.kernel;try{er.changeCellState(this.cell,3),p.trace(`Cell Index:${this.cell.index} sent to kernel`),this.request=i.requestExecute({code:e,silent:!1,stop_on_error:!1,allow_stdin:!0,store_history:!0},!1,r),this.request.done.then(h,h)}catch(o){return p.error(`Cell execution failed without request, for cell Index ${this.cell.index}`,o),this.completedWithErrors(o)}this.cellExecutionHandler=this.requestListener.registerListenerForExecution(this.cell,{kernel:i,cellExecution:this.execution,request:this.request}),this.cellExecutionHandler.onErrorHandlingExecuteRequestIOPubMessage(o=>{p.error(`Cell (index = ${this.cell.index}) execution completed with errors (2).`,o),this.completedWithErrors(o.error)},this,this.disposables);try{ut(this.cell,"Wait for jupyter execution");let o=await this.request.done,s=new Date().getTime();ut(this.cell,"Jupyter execution completed"),o.content.status==="error"?this.completedWithErrors(new Qd(o.content),s,!1):this.completedSuccessfully(s),ut(this.cell,"Executed successfully in executeCell")}catch(o){if(this.cancelHandled)return;!this.disposed&&!this.cancelRequested&&p.error("Error in waiting for cell to complete",o),ut(this.cell,"Some other execution error"),o&&o instanceof Error&&sr(o,!0)?this.completedWithErrors({message:o.message}):this.completedWithErrors(o)}}};var h8=require("vscode");var r_=class{constructor(e,t,r,i){this.controller=e;this.context=t;this.formatters=r;this.notebook=i;this.disposables=[];this.messageHandlers=new WeakMap;h8.workspace.onDidChangeNotebookDocument(o=>{o.notebook===this.notebook&&o.contentChanges.forEach(s=>s.removedCells.forEach(a=>this.messageHandlers.get(a)?.dispose()))},this,this.disposables)}dispose(){z(this.disposables),this.notebook&&this.notebook.getCells().forEach(e=>this.messageHandlers.get(e)?.dispose())}registerListenerForExecution(e,t){this.messageHandlers.get(e)?.dispose();let r=new tw(e,this.controller,this.context,this.formatters,t.kernel,t.request,t.cellExecution,t.request.msg.header.msg_id);return this.messageHandlers.set(e,r),r}registerListenerForResumingExecution(e,t){this.messageHandlers.get(e)?.dispose();let r=new tw(e,this.controller,this.context,this.formatters,t.kernel,void 0,t.cellExecution,t.msg_id);return this.messageHandlers.set(e,r),r}};var n_=require("vscode");function Jl(n,e,t){n!==Fe&&p.trace(`Execution Id:${e}. ${t}.`)}var g8=new Map,py=class n{constructor(e,t){this.code=e;this.extensionId=t;this.type="code";this._onDidEmitOutput=new n_.EventEmitter;this.onDidEmitOutput=this._onDidEmitOutput.event;this._onRequestSent=new n_.EventEmitter;this.onRequestSent=this._onRequestSent.event;this._onRequestAcknowledge=new n_.EventEmitter;this.onRequestAcknowledged=this._onRequestAcknowledge.event;this._done=re();this.cancelHandled=!1;this.disposables=[];let r=g8.get(t)||0;r+=1,g8.set(t,r),this.executionId=`${t}-${r}`,this.disposables.push(this._onDidEmitOutput)}get done(){return this._done.promise}get result(){return this._done.promise}static fromCode(e,t){return new n(e,t)}async start(e){if(this.session=e,this.cancelHandled){Jl(this.extensionId,this.executionId,"Not starting as it was cancelled");return}if(Jl(this.extensionId,this.executionId,"Start Code execution"),p.ci(`Code Exec contents ${this.code.substring(0,50)}...`),!e.kernel||e.kernel.isDisposed||e.isDisposed){this._done.reject(new dn);return}if(this.started)return Jl(this.extensionId,this.executionId,"Code has already been started yet CodeExecution.Start invoked again"),p.error(`Code has already been started yet CodeExecution.Start invoked again ${this.executionId}`),this.done;await this.execute(this.code.replace(/\r\n/g,`
|
||
`),e).catch(h)}async cancel(){if(!(this.cancelHandled||this._completed)){if(this.cancelRequested=!0,this.started){Jl(this.extensionId,this.executionId,"Code is already running, interrupting and waiting for it to finish or kernel to start");let e=this.session?.kernel;e&&this.extensionId!==Fe&&await e.interrupt().catch(h),this.request?.dispose(),await this.request?.done.catch(h)}this.cancelHandled||this._completed||(Jl(this.extensionId,this.executionId,"Execution cancelled"),this.cancelHandled=!0,this._done.resolve(),this.dispose())}}dispose(){this.disposed||(this.disposed=!0,this._completed||Jl(this.extensionId,this.executionId,"Execution disposed"),z(this.disposables))}async execute(e,t){if(!t.kernel){let i=new Error("No kernel available to execute code");throw this._done.resolve(),i}Jl(this.extensionId,this.executionId,"Send code for execution");let r=t.kernel;try{this.started=!0,this._onRequestSent.fire(),Jl(this.extensionId,this.executionId,"Execution Request Sent to Kernel"),this.request=aj(r,e,()=>this._onRequestAcknowledge.fire(),i=>this._onDidEmitOutput.fire(i)),this.request.done.then(h,h)}catch(i){p.error(`Code execution failed without request, for exec ${this.executionId}`,i),this._completed=!0,this._done.reject(i);return}try{let i=await this.request.done;this._completed=!0,i.content.status==="error"?(Jl(this.extensionId,this.executionId,"Executed with errors"),this._done.reject(new Qd(i.content))):(Jl(this.extensionId,this.executionId,"Executed successfully"),this._done.resolve())}catch(i){if(this._completed=!0,this.cancelHandled)return;!this.disposed&&!this.cancelRequested&&p.error(`Error in waiting for code ${this.executionId} to complete`,i),this._done.reject(i)}}};var i_=class{constructor(e,t,r,i){this.session=e;this.executionFactory=t;this.metadata=r;this.resourceUri=i;this.queueOfItemsToExecute=[];this.cancelledOrCompletedWithErrors=!1;this.startedRunningCells=!1;this.disposables=[]}get queueOfCellsToExecute(){return this.queueOfItemsToExecute.filter(e=>e.type==="cell").map(e=>e)}get isEmpty(){return this.queueOfItemsToExecute.length===0}get failed(){return this.cancelledOrCompletedWithErrors}get queue(){return this.queueOfCellsToExecute.map(e=>e.cell)}dispose(){this.disposables.forEach(e=>e.dispose()),this.lastCellExecution?.dispose()}queueCell(e,t){this.enqueue({cell:e,codeOverride:t})}queueCode(e,t,r){return this.enqueue({code:e,extensionId:t,token:r})}enqueue(e){let t;if("cell"in e){let{cell:r,codeOverride:i}=e,o=this.queueOfCellsToExecute.find(a=>a.cell===r);if(o)return ut(r,"Use existing cell execution"),o;let s=this.executionFactory.create(r,i,this.metadata);t=s,this.disposables.push(s),this.queueOfItemsToExecute.push(s),ut(r,"User queued cell for execution")}else{let{code:r,extensionId:i,token:o}=e,s=py.fromCode(r,i);t=s,this.disposables.push(s),this.queueOfItemsToExecute.push(s),this.disposables.push(sa(o.onCancellationRequested)(()=>s.cancel()))}return this.startExecutingCells(),t}resumeCell(e,t){if(this.queueOfCellsToExecute.find(o=>o.cell===e)){ut(e,"Use existing cell execution");return}let i=this.executionFactory.create(e,"",this.metadata,t);this.disposables.push(i),this.queueOfItemsToExecute.push(i),ut(e,"User queued cell for execution"),this.startExecutingCells()}async cancel(e){this.cancelledOrCompletedWithErrors=!0,p.debug("Cancel pending cells"),await Promise.all(this.queueOfItemsToExecute.map(t=>t.cancel(e))),this.lastCellExecution?.dispose(),this.queueOfItemsToExecute.splice(0,this.queueOfItemsToExecute.length)}async cancelQueuedCells(){this.cancelledOrCompletedWithErrors=!0,p.debug("Cancel pending cells"),await Promise.all(this.queueOfCellsToExecute.map(e=>e.cancel())),this.lastCellExecution?.type==="cell"&&this.lastCellExecution?.dispose(),this.queueOfItemsToExecute.push(...this.queueOfItemsToExecute.filter(e=>e.type==="code"))}async waitForCompletion(e){let t=e?this.queueOfCellsToExecute.filter(r=>e===r.cell):this.queueOfItemsToExecute;await Promise.all(t.map(r=>r.result))}startExecutingCells(){this.startedRunningCells||this.start().catch(h),this.startedRunningCells=!0}async start(){try{await this.executeQueuedCells()}catch(e){p.error("Failed to execute cells in CellExecutionQueue",e),this.cancelledOrCompletedWithErrors=!0,await this.cancelQueuedCells()}}async executeQueuedCells(){let e,t=await this.session;for(this.queueOfItemsToExecute.forEach(r=>r.type==="cell"&&ut(r.cell,"Ready to execute"));this.queueOfItemsToExecute.length;){this.lastCellExecution?.dispose();let r=this.queueOfItemsToExecute[0];this.lastCellExecution=r,r.type==="cell"&&ut(r.cell,"Before Execute individual cell");let i=!0;try{r.type==="cell"&&r.cell.notebook.isClosed?e=!0:r.type==="cell"&&this.cancelledOrCompletedWithErrors||(i=await r.start(t).then(()=>!0).catch(()=>!1))}finally{r.type==="cell"&&ut(r.cell,`After Execute individual cell ${i}`);let s=this.queueOfItemsToExecute.indexOf(r);s>=0&&this.queueOfItemsToExecute.splice(s,1),r.type==="cell"&&er.changeCellState(r.cell,1,r.executionOrder)}let o=!1;if(r.type==="cell"&&Yu(r.cell).metadata?.tags?.includes("raises-exception")&&(o=!0),e||this.cancelledOrCompletedWithErrors||!i&&!o){this.cancelledOrCompletedWithErrors=!0;let s=[];if(this.cancelledOrCompletedWithErrors&&s.push("cancellation or failure in execution"),e&&s.push("Notebook being closed"),typeof i=="number"&&!i&&s.push("failure in cell execution"),s.length===0&&s.push("an unknown reason"),this.queueOfCellsToExecute.length>0&&this.queueOfCellsToExecute.length===this.queueOfItemsToExecute.length){p.warn(`Cancel all remaining cells due to ${s.join(" or ")}`),await this.cancel();break}else if(this.queueOfCellsToExecute.length>0&&this.queueOfCellsToExecute.length!==this.queueOfItemsToExecute.length)p.warn(`Cancel all remaining cells due to ${s.join(" or ")}`),await this.cancelQueuedCells();else if(e){p.warn(`Cancel all remaining cells due to ${s.join(" or ")}`),await this.cancel();break}}if(t.status==="dead"||t.status==="terminating"){this.cancelledOrCompletedWithErrors=!0,p.warn("Cancel all remaining cells due to dead kernel"),await this.cancel();break}}}};var o_=class{constructor(e,t,r,i){this.kernel=e;this.notebook=i;this.disposables=[];this._visibleExecutionCount=0;this.documentExecutions=new WeakMap;this._onDidReceiveDisplayUpdate=new Gm.EventEmitter;this.onDidReceiveDisplayUpdate=this._onDidReceiveDisplayUpdate.event;this.hookedSesions=new WeakSet;let o=new r_(e.controller,t,r,i);this.disposables.push(o),this.executionFactory=new t_(e.controller,o),er.onDidChangeNotebookCellExecutionState(s=>{s.cell.notebook===e.notebook&&s.state===1&&s.cell.executionSummary?.executionOrder&&(this._visibleExecutionCount=Math.max(this._visibleExecutionCount,s.cell.executionSummary.executionOrder))}),e.onRestarted(()=>this._visibleExecutionCount=0,this,this.disposables),e.onStarted(()=>this._visibleExecutionCount=0,this,this.disposables),e.addHook("willInterrupt",this.onWillInterrupt,this,this.disposables),e.addHook("willCancel",this.onWillCancel,this,this.disposables),e.addHook("willRestart",s=>this.onWillRestart(s),this,this.disposables),e.onStatusChanged(this.hookupIOPubHandler,this,this.disposables),e.onRestarted(this.hookupIOPubHandler,this,this.disposables),this.hookupIOPubHandler()}get executionCount(){return this._visibleExecutionCount}hookupIOPubHandler(){let e=this.kernel.session;if(!e||this.hookedSesions.has(e))return;this.hookedSesions.add(e);let t=(r,i)=>{if(i.header.msg_type!=="update_display_data"&&i.header.msg_type!=="display_data")return;let o=i,s=o.content.transient?.display_id;if(!s||!uj(e,s))return;let a=uo({output_type:"display_data",data:o.content.data,metadata:o.content.metadata,transient:o.content.transient});this._onDidReceiveDisplayUpdate.fire(a)};e.iopubMessage.connect(t),this.disposables.push({dispose:()=>{e?.iopubMessage.disconnect(t)}})}get pendingCells(){return this.documentExecutions.get(this.notebook)?.queue||[]}async resumeCellExecution(e,t){if(ut(e,`NotebookKernelExecution.resumeCellExecution (start), ${j(e.notebook.uri)}`),e.kind==Gm.NotebookCellKind.Markup)return;await Fs(this.kernel.resourceUri,this.kernel.kernelConnectionMetadata),Pt(this.kernel.resourceUri,"DATASCIENCE.RESUME_EXECUTE_CELL");let r=this.kernel.start(new Jt(!1)),i=this.getOrCreateCellExecutionQueue(e.notebook,r);i.resumeCell(e,t);let o=await i.waitForCompletion(e).then(()=>!0).catch(()=>!1);ut(e,`NotebookKernelExecution.resumeCellExecution (completed), ${j(e.notebook.uri)}`),p.trace(`Cell ${e.index} executed ${o?"successfully":"with an error"}`)}async executeCell(e,t){ut(e,`NotebookKernelExecution.executeCell (1), ${j(e.notebook.uri)}`);let r=new Ue;if(e.kind==Gm.NotebookCellKind.Markup)return;ut(e,`NotebookKernelExecution.executeCell, ${j(e.notebook.uri)}`),await Fs(this.kernel.resourceUri,this.kernel.kernelConnectionMetadata);let i=this.kernel.start(new Jt(!1));await this.kernel.restarting,ut(e,`NotebookKernelExecution.executeCell (2), ${j(e.notebook.uri)}`);let o=this.getOrCreateCellExecutionQueue(e.notebook,i);o.queueCell(e,t);let s=!0;try{await o.waitForCompletion(e)}catch(a){throw s=!1,a}finally{ut(e,`NotebookKernelExecution.executeCell completed (3), ${j(e.notebook.uri)}`),p.trace(`Cell ${e.index} executed ${s?"successfully":"with an error"}`),Pt(this.kernel.resourceUri,"DATASCIENCE.EXECUTE_CELL",{duration:r.elapsedTime})}}async*executeCode(e,t,r,i){let o=new Ue;await Fs(this.kernel.resourceUri,this.kernel.kernelConnectionMetadata);let s=this.kernel.start(new Jt(!1));await this.kernel.restarting;let a=this.getOrCreateCellExecutionQueue(this.notebook,s),l;t===Fe?(l=py.fromCode(e,t),s.then(b=>l.start(b))):l=a.queueCode(e,t,i),t!==Fe&&p.trace(`Queue code ${l.executionId} from ${t} after ${o.elapsedTime}ms:
|
||
${e}`);let c=!1,u=[];l.result.finally(()=>{c=!0,!i.isCancellationRequested&&p.debug(`Execution of code ${l.executionId} completed in ${o.elapsedTime}ms`),t!==Fe&&Pt(this.kernel.resourceUri,"DATASCIENCE.EXECUTE_CODE",{duration:o.elapsedTime},{extensionId:t}),z(u)}).catch(h);let d=us(l.result),f=[],g=re();for(u.push(l.onRequestSent(()=>r.started.fire())),u.push(l.onRequestAcknowledged(()=>r.executionAcknowledged.fire())),l.onDidEmitOutput(b=>{f.push(b),g.resolve(),g=re()},this,u),i.onCancellationRequested(()=>{c||p.debug(`Code execution cancelled by extension ${t}`)},this,u);;){await Promise.race([g.promise,d.promise]),c&&(g=re());let b=this.kernel.session;for(;f.length;){let I=f.shift();b&&ik(t,b,I),yield I}if(d.completed)break}}executeHidden(e){return this.kernel.start().then(r=>r.kernel?pn(r.kernel,e):Promise.reject(new dn))}async onWillInterrupt(){let e=this.documentExecutions.get(this.notebook);!e&&this.kernel.kernelConnectionMetadata.kind!=="connectToLiveRemoteKernel"||(p.info("Interrupt kernel execution"),e&&(await e.cancel(),await e.waitForCompletion().catch(h)))}async onWillCancel(){let e=this.documentExecutions.get(this.notebook);e&&await e.cancel(!0)}async onWillRestart(e){let t=this.documentExecutions.get(this.notebook),r=e?await e.catch(()=>{}):void 0,i=t?t.cancel(!0).then(()=>t.waitForCompletion().catch(h)):Promise.resolve();r||(p.info("No kernel session to interrupt"),await i)}getOrCreateCellExecutionQueue(e,t){let r=this.documentExecutions.get(e);if(r&&!r.isEmpty&&!r.failed)return r;let i=new i_(t,this.executionFactory,this.kernel.kernelConnectionMetadata,this.kernel.resourceUri);return this.disposables.push(i),Gm.workspace.onDidCloseNotebookDocument(async o=>{o===e&&(p.debug(`Cancel executions after closing notebook ${j(o.uri)}`),(!i.failed||!i.isEmpty)&&await i.cancel(!0))},this,this.disposables),this.documentExecutions.set(e,i),i}};var my=class extends $D{constructor(t,r,i,o,s,a,l,c,u){super(t,r);this.sessionCreator=i;this.configService=o;this.context=s;this.formatters=l;this.startupCodeProviders=c;this.workspaceStorage=u;r.push(a.onDidRemove(this.handleServerRemoval.bind(this)))}getOrCreate(t,r){let i=this.getInternal(t);if(i&&i.options.metadata.id===r.metadata.id)return i.kernel;this.disposeOldKernel(t);let o=t.notebookType===ft?r.resourceUri:t.uri,s=ZK(this.configService,o),a=t.uri.path.endsWith(".interactive")||r.resourceUri?.path.endsWith(".interactive")?ft:St,l=new YD(o,t,r.metadata,this.sessionCreator,s,r.controller,this.startupCodeProviders.getProviders(a),this.workspaceStorage);return l.onRestarted(()=>this._onDidRestartKernel.fire(l),this,this.disposables),l.onDisposed(()=>{this._onDidDisposeKernel.fire(l)},this,this.disposables),l.onStarted(()=>this._onDidStartKernel.fire(l),this,this.disposables),l.onStatusChanged(c=>this._onKernelStatusChanged.fire({kernel:l,status:c}),this,this.disposables),this.executions.set(l,new o_(l,this.context,this.formatters,t)),this.asyncDisposables.push(l),this.storeKernel(t,r,l),this.deleteMappingIfKernelIsDisposed(l),l}};my=v([(0,an.injectable)(),m(0,(0,an.inject)(No)),m(1,(0,an.inject)(M)),m(2,(0,an.inject)(zS)),m(3,(0,an.inject)(ie)),m(4,(0,an.inject)(et)),m(5,(0,an.inject)($t)),m(6,(0,an.multiInject)(qh)),m(7,(0,an.inject)(kc)),m(8,(0,an.inject)(We)),m(8,(0,an.named)(ei))],my);var fy=class extends qD{constructor(t,r,i,o,s,a){super(t,r);this.sessionCreator=i;this.configService=o;this.startupCodeProviders=s;this.workspaceStorage=a}getOrCreate(t,r){let i=this.getInternal(t);if(i&&i.options.metadata.id===r.metadata.id)return i.kernel;this.disposeOldKernel(t);let o=t,s=ZK(this.configService,o),a=o.path.endsWith(".interactive")?ft:St,l=new QD(t,o,r.metadata,this.sessionCreator,s,this.startupCodeProviders.getProviders(a),this.workspaceStorage);return l.onRestarted(()=>this._onDidRestartKernel.fire(l),this,this.disposables),l.onDisposed(()=>{this._onDidDisposeKernel.fire(l)},this,this.disposables),l.onStarted(()=>this._onDidStartKernel.fire(l),this,this.disposables),l.onStatusChanged(c=>this._onKernelStatusChanged.fire({kernel:l,status:c}),this,this.disposables),this.asyncDisposables.push(l),this.storeKernel(t,r,l),this.deleteMappingIfKernelIsDisposed(t,l),l}};fy=v([(0,an.injectable)(),m(0,(0,an.inject)(No)),m(1,(0,an.inject)(M)),m(2,(0,an.inject)(zS)),m(3,(0,an.inject)(ie)),m(4,(0,an.inject)(kc)),m(5,(0,an.inject)(We)),m(5,(0,an.named)(ei))],fy);var zm=k(N()),eu=require("vscode");var hy=class{constructor(e,t,r,i){this.extensionChecker=t;this.interpreterService=r;this.kernelFinder=i;this.refreshedOnceBefore=!1;this.disposables=[];e.push(this)}dispose(){z(this.disposables)}activate(){this.extensionChecker.isPythonExtensionInstalled?this.startRefreshWithPython():(this.startRefreshWithoutPython(),this.extensionChecker.onPythonExtensionInstallationStatusChanged(()=>{this.extensionChecker.isPythonExtensionInstalled&&this.startRefreshWithPython()},this,this.disposables))}startRefreshWithoutPython(){if(this.refreshedOnceBefore)return;this.refreshedOnceBefore=!0;let e=()=>{let t=Date.now().toString();p.debug(`Start refreshing Kernel Picker (${t})`);let r=eu.notebooks.createNotebookControllerDetectionTask(St),i=eu.notebooks.createNotebookControllerDetectionTask(ft);this.disposables.push(r),this.disposables.push(i),this.kernelFinder.onDidChangeStatus(()=>{this.kernelFinder.status==="idle"&&(p.debug(`End refreshing Kernel Picker (${t})`),r.dispose(),i.dispose())},this,this.disposables)};if(this.kernelFinder.status==="discovering")return e();this.kernelFinder.onDidChangeStatus(()=>{this.kernelFinder.status==="discovering"&&e()},this,this.disposables)}startRefreshWithPython(){if(this.refreshedOnceBefore)return;this.refreshedOnceBefore=!0;let e=!1;eu.window.onDidChangeActiveNotebookEditor(o=>{!e&&o&&Et(o.notebook)&&(e=!0,p.debug("Start refreshing Interpreter Kernel Picker"),this.interpreterService.refreshInterpreters().catch(h))},this,this.disposables),eu.workspace.onDidOpenNotebookDocument(o=>{!e&&Et(o)&&(e=!0,p.debug("Start refreshing Interpreter Kernel Picker"),this.interpreterService.refreshInterpreters().catch(h))},this,this.disposables);let t,r="",i=()=>(t&&!t.isDisposed||(r=Date.now().toString(),p.debug(`Start refreshing Kernel Picker (${r})`),t=new Wr(eu.notebooks.createNotebookControllerDetectionTask(St),eu.notebooks.createNotebookControllerDetectionTask(ft)),this.disposables.push(t)),t);this.kernelFinder.status==="idle"?(p.debug(`End refreshing Kernel Picker (${r})`),t?.dispose()):i(),this.kernelFinder.onDidChangeStatus(()=>{this.kernelFinder.status==="idle"?(p.debug(`End refreshing Kernel Picker (${r})`),t?.dispose()):i()},this,this.disposables)}};hy=v([(0,zm.injectable)(),m(0,(0,zm.inject)(M)),m(1,(0,zm.inject)(Be)),m(2,(0,zm.inject)(Xe)),m(3,(0,zm.inject)(kr))],hy);var v8=k(N());var gy=class{constructor(){this.providers=new Map}getProviders(e){return(this.providers.get(e)||[]).slice()}register(e,t){this.providers.set(t,this.providers.get(t)||[]),this.providers.get(t).push(e)}};gy=v([(0,v8.injectable)()],gy);var rw=k(N());var vy=class{constructor(e,t){this.kernelProvider=e;this.disposables=t}activate(){this.kernelProvider.onDidCreateKernel(e=>this.addOnStartHooks(e),this,this.disposables)}addOnStartHooks(e){e.addHook("didStart",async t=>{t&&await A7(t,e.resourceUri,e.kernelConnectionMetadata)},this,this.disposables)}};vy=v([(0,rw.injectable)(),m(0,(0,rw.inject)(De)),m(1,(0,rw.inject)(M))],vy);var nw=k(N());var y8=require("vscode");var yy=class{constructor(e,t){this.kernelProvider=e;this.disposables=[];this.restartProgress=new WeakMap;this.interruptProgress=new WeakMap;t.push(this)}dispose(){z(this.disposables)}activate(){this.kernelProvider.onDidCreateKernel(this.onDidCreateKernel,this,this.disposables),this.kernelProvider.onDidDisposeKernel(e=>{this.restartProgress.get(e)?.dispose(),this.interruptProgress.get(e)?.dispose()},this,this.disposables)}onDidCreateKernel(e){e.addHook("willRestart",async()=>{this.restartProgress.get(e)?.dispose();let t=st.createProgressReporter(e.resourceUri,y.restartingKernelStatus(`: ${it(e.kernelConnectionMetadata)}`));this.restartProgress.set(e,t)},this,this.disposables),e.addHook("restartCompleted",async()=>{this.restartProgress.get(e)?.dispose(),this.interruptProgress.get(e)?.dispose()},this,this.disposables),e.addHook("willInterrupt",async()=>{let t=new Wr,r=setTimeout(()=>{t.isDisposed||t.add(st.createProgressReporter(e.resourceUri,y.interruptKernelStatus(it(e.kernelConnectionMetadata))))},1e3);t.add(new y8.Disposable(()=>clearTimeout(r))),this.interruptProgress.set(e,t)},this,this.disposables),e.addHook("interruptCompleted",async()=>this.interruptProgress.get(e)?.dispose(),this,this.disposables)}};yy=v([(0,nw.injectable)(),m(0,(0,nw.inject)(De)),m(1,(0,nw.inject)(M))],yy);var ru=k(N()),ow=require("vscode");var ga=k(N()),iw=require("vscode");var Qo=require("vscode");var Sue=/python\s\d*.?\d*$/,nO="__old_vscode_kernelspecs",iO=class{constructor(e,t,r){this.fs=e;this.globalState=t;this.jupyterPaths=r;this.findKernelSpecsInPathCache=new Map;this.pathToKernelSpec=new Map;this.disposables=[];this.oldKernelSpecsFolder&&p.trace(`Old kernelSpecs (created by Jupyter Extension) stored in directory ${this.oldKernelSpecsFolder}`)}get oldKernelSpecsFolder(){return this._oldKernelSpecsFolder||this.globalState.get("OLD_KERNEL_SPECS_FOLDER__","")}set oldKernelSpecsFolder(e){this._oldKernelSpecsFolder=e,this.globalState.update("OLD_KERNEL_SPECS_FOLDER__",e).then(h,h)}clearCache(){this.pathToKernelSpec.clear(),this.findKernelSpecsInPathCache.clear()}dispose(){z(this.disposables)}async loadKernelSpec(e,t,r){if(e.fsPath.includes(nO))return;let i=cn(e);if(!this.pathToKernelSpec.has(i)){let o=this.loadKernelSpecImpl(e,t,r).then(async s=>{let a=await this.jupyterPaths.getKernelSpecRootPath(),l=s&&a&&Nn(s)&&s.specFile&&ah(Qo.Uri.file(s.specFile),a);if(s&&!l)return s;s?.specFile&&l&&this.deleteOldKernelSpec(s.specFile).catch(h),this.pathToKernelSpec.get(i)===o&&this.pathToKernelSpec.delete(i),this.cache=this.cache?.filter(c=>vi(c.kernelSpecFile,e))});this.pathToKernelSpec.set(i,o),o.finally(()=>{t.isCancellationRequested&&this.pathToKernelSpec.get(i)===o&&this.pathToKernelSpec.delete(i)}).catch(h)}return this.pathToKernelSpec.get(i)}async deleteOldKernelSpec(e){let t=Ce(nt(e)),r=Le(nt(nt(e)),nO);this.oldKernelSpecsFolder=r;let i=Le(r,t,Ce(e));await this.fs.createDirectory(Qo.Uri.file(nt(i))),await this.fs.copy(Qo.Uri.file(e),Qo.Uri.file(i)).catch(h),await this.fs.delete(Qo.Uri.file(e)),p.trace(`Old KernelSpec '${e}' deleted and backup stored in ${r}`)}async loadKernelSpecImpl(e,t,r){return Cue(e,this.fs,t,r)}async findKernelSpecsInPaths(e,t){let r=cn(e),i=this.findKernelSpecsInPathCache.get(r);if(i)return i;let o=(async()=>await this.fs.exists(e)?t.isCancellationRequested?[]:(await this.fs.searchLocal("**/kernel.json",e.fsPath,!0)).map(l=>zt(e,l)):[])();this.findKernelSpecsInPathCache.set(r,o);let s=t.onCancellationRequested(()=>{this.findKernelSpecsInPathCache.get(r)===o&&this.findKernelSpecsInPathCache.delete(r)});return o.finally(()=>{t.isCancellationRequested&&this.findKernelSpecsInPathCache.get(r)===o&&this.findKernelSpecsInPathCache.delete(r),s.dispose()}).catch(h),o.catch(a=>{this.findKernelSpecsInPathCache.get(r)===o&&this.findKernelSpecsInPathCache.delete(r),p.warn(`Failed to search for kernels in ${j(e)} with an error`,a)}),o}},by=class{constructor(e,t,r,i,o,s){this.fs=e;this.extensionChecker=t;this.memento=r;this.env=o;this.jupyterPaths=s;this.disposables=[];this._status="idle";this.promiseMonitor=new lo;this._onDidChangeStatus=new Qo.EventEmitter;this.onDidChangeStatus=this._onDidChangeStatus.event;this._onDidChangeKernels=new Qo.EventEmitter;this.onDidChangeKernels=this._onDidChangeKernels.event;this.timeouts=new Map;i.push(this),this.disposables.push(this.promiseMonitor),this.promiseMonitor.onStateChange(()=>{this.status=this.promiseMonitor.isComplete?"idle":"discovering"}),this.kernelSpecFinder=new iO(e,r,s),this.disposables.push(this.kernelSpecFinder),this.disposables.push(new Qo.Disposable(()=>z(Array.from(this.timeouts.values()))))}get status(){return this._status}set status(e){this._status!==e&&(this._status=e,this._onDidChangeStatus.fire())}clearCache(){this.kernelSpecFinder.clearCache()}async listKernelsFirstTimeFromMemento(e){let t=(async()=>{let r=this.memento.get(e,JSON.stringify({kernels:[],extensionVersion:""})),i=JSON.parse(r),o=[];i&&Array.isArray(i.kernels)&&i.extensionVersion===this.env.extensionVersion&&(o=i.kernels.map(a=>ws.fromJSON(a)));let s=[];return await Promise.all(o.map(async a=>{await this.isValidCachedKernel(a)&&s.push(a)})),s})();return this.promiseMonitor.push(t),t}writeToMementoCache(e,t){this.timeouts.get(t)?.dispose();let r=setTimeout(()=>{this.memento.update(t,JSON.stringify({kernels:e.map(i=>i.toJSON()),extensionVersion:this.env.extensionVersion}))},500);this.timeouts.set(t,{dispose:()=>Ft(clearTimeout)(r)})}async isValidCachedKernel(e){switch(e.kind){case"startUsingPythonInterpreter":return this.fs.exists(e.interpreter.uri);case"startUsingLocalKernelSpec":return(e.kernelSpec.specFile?this.fs.exists(Qo.Uri.file(e.kernelSpec.specFile)):Promise.resolve(!0)).then(r=>r&&e.interpreter?this.fs.exists(e.interpreter.uri):Promise.resolve(!0))}}};async function Cue(n,e,t,r){if(n.fsPath.includes(nO))return;let i;try{i=JSON.parse(await e.readFile(n))}catch(c){p.error(`Failed to parse kernelspec ${n}`,c);return}if(t.isCancellationRequested||(i.name=r?await rN(r):i.name,t.isCancellationRequested))return;if(!i.display_name.toLowerCase().match(Sue)&&i.language===ge&&i.argv.length>2){let c=i.argv.slice(1).map(u=>u.toLowerCase()).filter(u=>!["-m","ipykernel","ipykernel_launcher","-f","{connection_file}"].includes(u));c.length&&(i.name=`${i.name}.${c.join("#")}`)}i.metadata=i.metadata||{},i.metadata.vscode=i.metadata.vscode||{},i.metadata.vscode.originalSpecFile||(i.metadata.vscode.originalSpecFile=n.fsPath),i.metadata.vscode.originalDisplayName||(i.metadata.vscode.originalDisplayName=i.display_name),i.metadata.originalSpecFile&&(i.metadata.vscode.originalSpecFile=i.metadata.originalSpecFile,delete i.metadata.originalSpecFile);let s=new ed(i,n.fsPath,r?.uri.fsPath||i?.metadata?.interpreter?.path,Nn(i));s.name=i?.name||Ce(nt(n.fsPath));let a=r?.uri.fsPath||i?.metadata?.interpreter?.path,l=Vr(r);if(!(a&&!l&&!await e.exists(Qo.Uri.file(a))))return i.isRegisteredByVSC=Nn(i),s}function b8(){return`LOCAL_KERNEL_SPECS_CACHE_KEY_V_2023_2:${iw.env.appHost}:${iw.env.remoteName||""}`}var Yo=class extends by{constructor(t,r,i,o,s,a){super(t,i,o,s,a,r);this._kernels=new Map}activate(){this.listKernelsFirstTimeFromMemento(b8()).then(t=>{this._kernels.size===0&&t.length&&(t.forEach(r=>this._kernels.set(r.id,r)),this._onDidChangeKernels.fire())}).catch(h),this.refresh().then(h,h)}get kernels(){return Array.from(this._kernels.values())}dispose(){this._onDidChangeKernels.dispose()}async refresh(){this.clearCache(),await this.refreshData()}async refreshData(){let t=new iw.CancellationTokenSource;try{await this.listKernelSpecs(t.token)}finally{t.dispose()}}writeKernelsToMemento(){this.writeToMementoCache(Array.from(this._kernels.values()),b8())}async listKernelSpecs(t){let i=(async()=>{let o=await this.findKernelSpecs(t);if(t.isCancellationRequested)return[];let s=Array.from(this._kernels.values()).sort((u,d)=>u.id.localeCompare(d.id)),a=o.sort((u,d)=>u.id.localeCompare(d.id)),l=new Set(o.map(u=>u.id)),c=s.filter(u=>!l.has(u.id));return o.forEach(u=>this._kernels.set(u.id,u)),c.length&&(p.debug(`Local kernel spec connection deleted ${c.map(u=>`${u.kind}:'${u.id}'`)}`),c.forEach(u=>this._kernels.delete(u.id))),(s.length!==a.length||c.length||JSON.stringify(s)!==JSON.stringify(a))&&(this._onDidChangeKernels.fire(),this.writeKernelsToMemento()),o})();return this.promiseMonitor.push(i),i}async findKernelSpecs(t){let r=await this.jupyterPaths.getKernelSpecRootPaths(t);if(t.isCancellationRequested)return[];let i=await Promise.all(r.map(l=>this.kernelSpecFinder.findKernelSpecsInPaths(l,t)));if(t.isCancellationRequested)return[];let o=new Set,s=[],a=new Map;return await Promise.all(i.flat().map(async l=>{try{let c=await this.kernelSpecFinder.loadKernelSpec(l,t);if(!c||t.isCancellationRequested)return;if(AD(c,"local"),c.metadata?.originalSpecFile){if(o.has(c.metadata.originalSpecFile))return;o.add(c.metadata.originalSpecFile)}if(c.specFile){if(o.has(c.specFile))return;o.add(c.specFile)}let u=a.get(c.display_name),d=Zu.create({kernelSpec:c,interpreter:void 0,id:ki(c)});u&&u.executable!==c.executable?(s.push(d),Ys(d,this._kernels.get(d.id))||(this._kernels.set(d.id,d),this._onDidChangeKernels.fire(),this.writeKernelsToMemento())):u?p.warn(`Duplicate kernel found ${c.display_name} ${c.executable} in ${c.specFile}`):(s.push(d),a.set(c.display_name,c),Ys(d,this._kernels.get(d.id))||(this._kernels.set(d.id,d),this._onDidChangeKernels.fire(),this.writeKernelsToMemento()))}catch(c){p.error(`Failed to load kernelSpec for ${l}`,c);return}})),s}};v([dv(100)],Yo.prototype,"writeKernelsToMemento",1),Yo=v([(0,ga.injectable)(),m(0,(0,ga.inject)(lr)),m(1,(0,ga.inject)(Mr)),m(2,(0,ga.inject)(Be)),m(3,(0,ga.inject)(We)),m(3,(0,ga.named)(lt)),m(4,(0,ga.inject)(M)),m(5,(0,ga.inject)(Sl))],Yo);var wo=k(N()),I8=require("vscode");var Yd=Symbol("ITrustedKernelPaths");var Hn=require("vscode");function oO(){return`LOCAL_KERNEL_PYTHON_AND_RELATED_SPECS_CACHE_KEY_V_2023_3:${Hn.env.appHost}:${Hn.env.remoteName||""}`}async function wue(n,e,t,r,i){let o=await ia(n);if(!o){p.warn(`Failed to get sysPrefix for interpreter ${zr(n.id)}`);return}let s=Hn.Uri.file(Le(o,D7)),a=await t.getKernelSpecRootPaths(e);if(e.isCancellationRequested||a.some(d=>vi(d,s)))return;let l=await r.findKernelSpecsInPaths(s,e);if(e.isCancellationRequested)return;let c=new Set,u=new Map;await Promise.all(l.map(async d=>{try{let f=await r.loadKernelSpec(d,e,n);if(e.isCancellationRequested||!f)return;if(f.metadata?.originalSpecFile){if(c.has(f.metadata.originalSpecFile))return;c.add(f.metadata.originalSpecFile)}if(f.specFile){if(c.has(f.specFile))return;c.add(f.specFile)}let g=u.get(f.display_name);g&&g.executable!==f.executable?i.fire(f):g||(u.set(f.display_name,f),i.fire(f))}catch(f){p.error(`Failed to load kernel spec ${d}`,f)}}))}var s_=class extends Qt{constructor(t,r,i,o,s){super();this.interpreter=t;this.interpreterService=r;this.jupyterPaths=i;this.extensionChecker=o;this.kernelSpecFinder=s;this.cancelToken=new Hn.CancellationTokenSource;this._kernels=new Map;this._onDidChangeKernels=this._register(new Hn.EventEmitter);this.onDidChangeKernels=this._onDidChangeKernels.event;this.lastKnownInterpreterVersion=Ji(t),this.lastKnownInterpreterSysPrefix=yh(t),this.lastKnownEnvFolder=Pr(t)?.environment?.folderUri,this._register({dispose:()=>this.cancelToken.cancel()}),this._register(this.cancelToken),this._register(this.interpreterService.onDidChangeInterpreter(this.clearCacheWhenInterpretersChange,this)),this._register(this.interpreterService.onDidChangeInterpreters(this.clearCacheWhenInterpretersChange,this))}async listKernelSpecs(t){return this.extensionChecker.isPythonExtensionInstalled?!t&&this.kernelSpecPromise?this.kernelSpecPromise:(this.cancelToken.cancel(),this.cancelToken.dispose(),this.cancelToken=this._register(new Hn.CancellationTokenSource),this.kernelSpecPromise=this.listKernelSpecsImpl(),this.kernelSpecPromise.then(()=>{switch(this._kernels.size){case 0:p.trace(`No Kernels found in interpreter ${this.interpreter.id}`);break;case 1:break;default:p.trace(`Kernels for interpreter ${this.interpreter.id} are ${Array.from(this._kernels.keys()).join(", ")}`)}}),this.kernelSpecPromise):[]}clearCacheWhenInterpretersChange(){let t=Pr({id:this.interpreter.id});if(!t)return;let r=Ji(t),i=yh(t);(this.lastKnownEnvFolder?.fsPath!==t.environment?.folderUri?.fsPath||this.lastKnownInterpreterVersion?.sysVersion!==r?.sysVersion||Ve(this.interpreter)!==Ve(t)||this.lastKnownInterpreterSysPrefix!==i)&&(this.lastKnownInterpreterVersion=r,this.lastKnownInterpreterSysPrefix=i,this.listKernelSpecs(!0).catch(h))}async listKernelSpecsImpl(){let t=this.cancelToken.token;if(!yh(this.interpreter))return;p.trace(`Search for KernelSpecs in Interpreter ${zr(this.interpreter.uri)}`);let i=new Map,o=new Hn.EventEmitter,s=o.event(f=>{if(t.isCancellationRequested)return;if(f.language===ge&&(!f.env||Object.keys(f.env).length===0)&&XS(f)){p.trace(`Hiding default KernelSpec ${zr(f.argv[0])} for interpreter ${zr(f.interpreterPath)} (KernelSpec file ${zr(f.specFile)})`);return}let g=Om(f)?Ko.create({kernelSpec:f,interpreter:this.interpreter,id:ki(f,this.interpreter)}):Zu.create({kernelSpec:f,interpreter:this.interpreter,id:ki(f,this.interpreter)});g&&!this._kernels.has(g.id)&&(this._kernels.set(g.id,g),this._onDidChangeKernels.fire({added:[g],removed:[]})),g&&!i.has(g.id)&&i.set(g.id,g)}),[a]=await Promise.all([this.jupyterPaths.getKernelSpecTempRegistrationFolder(),wue(this.interpreter,t,this.jupyterPaths,this.kernelSpecFinder,o)]);if(o.dispose(),s.dispose(),t.isCancellationRequested)return;let c=await Ps(this.interpreter,a);if(t.isCancellationRequested)return;let u=Ko.create({kernelSpec:c,interpreter:this.interpreter,id:ki(c,this.interpreter)});this._kernels.has(u.id)||(this._kernels.set(u.id,u),this._onDidChangeKernels.fire({added:[u],removed:[]})),i.has(u.id)||i.set(u.id,u);let d=Array.from(this._kernels.keys()).filter(f=>!i.has(f)).map(f=>this._kernels.get(f));d.forEach(f=>this._kernels.delete(f.id)),this._onDidChangeKernels.fire({added:[],removed:d})}},a_=class n{constructor(e,t,r,i){this.interpreterService=e;this.kernelSpecsFromKnownLocations=t;this.extensionChecker=r;this.trustedKernels=i;this.kernelsPerInterpreter=new Map;this.disposables=[];this.cancelToken=new Hn.CancellationTokenSource;this.lastKnownGlobalPythonKernelSpecs=[];t.onDidChangeKernels(()=>{let o=this.lastKnownGlobalPythonKernelSpecs,s=this.listGlobalPythonKernelSpecs();if(o.length!==s.length||!Ys(o,s)){this.kernelSpecPromise=void 0;return}})}static{this.globalPythonKernelSpecsForWhichWeCouldNotFindInterpreterInfo=new Set}dispose(){z(this.disposables),this.cancelToken.dispose()}async listKernelSpecs(e){return this.extensionChecker.isPythonExtensionInstalled?!e&&this.kernelSpecPromise?this.kernelSpecPromise:(this.clear(),this.cancelToken=new Hn.CancellationTokenSource,this.kernelSpecPromise=this.listKernelSpecsImpl(),this.kernelSpecPromise):[]}clear(){this.kernelsPerInterpreter.clear(),this.cancelToken.cancel(),this.cancelToken.dispose(),this.kernelSpecPromise=void 0}async findMatchingInterpreter(e,t,r){let i=this.extensionChecker.isPythonExtensionInstalled?so():[],o=e&&Array.isArray(e.argv)&&e.argv.length>0?e.argv[0]:void 0,s=e.language||"",a=e.specFile?await at(e.specFile):"",l=!!Nn(e);if(e.language&&e.language!==ge){!l&&o&&e.specFile&&fD(o)&&R("GLOBAL_PYTHON_KERNELSPEC",void 0,{kernelSpecHash:a,kernelConnectionType:t,pythonPathDefined:Ce(o)!==o,argv0:Ce(o),language:s,isCreatedByUs:l});return}let c=i.find(u=>e.metadata?.interpreter?.path&&Mo(Hn.Uri.file(e.metadata.interpreter.path),u.executable.uri)?(p.trace(`Kernel ${e.name} matches ${zr(u.id)} based on metadata.interpreter.`),!0):!1);if(c)return wi(c);if(o&&Ce(o)===o&&e.specFile&&!l&&R("GLOBAL_PYTHON_KERNELSPEC",void 0,{kernelSpecHash:a,kernelConnectionType:t,pythonPathDefined:!1,argv0:Ce(o),language:s,isCreatedByUs:l}),o&&Ce(o)!==o){let u=Hn.Uri.file(o),d=i.find(f=>Mo(u,f.executable.uri)?(p.trace(`Kernel ${e.name} matches ${zr(f.id)} based on argv.`),!0):!1);if(d)return e.specFile&&!l&&R("GLOBAL_PYTHON_KERNELSPEC",void 0,{kernelSpecHash:a,kernelConnectionType:t,pythonPathDefined:!0,argv0:Ce(o),pythonEnvFound:"found",language:s,isCreatedByUs:l}),wi(d);if(!e.specFile||this.trustedKernels.isTrusted(Hn.Uri.file(e.specFile))){let f=await this.interpreterService.getInterpreterDetails(u,r);if(r?.isCancellationRequested)return;if(f)return e.specFile&&!l&&R("GLOBAL_PYTHON_KERNELSPEC",void 0,{kernelSpecHash:a,kernelConnectionType:t,pythonPathDefined:!0,argv0:Ce(o),pythonEnvFound:"foundViaGetEnvDetails",language:s,isCreatedByUs:l}),f;e.specFile&&!l&&R("GLOBAL_PYTHON_KERNELSPEC",void 0,{kernelSpecHash:a,kernelConnectionType:t,pythonPathDefined:!0,argv0:Ce(o),pythonEnvFound:"notFound",language:s,isCreatedByUs:l})}else e.specFile&&!l&&R("GLOBAL_PYTHON_KERNELSPEC",void 0,{kernelSpecHash:a,kernelConnectionType:t,pythonPathDefined:!0,argv0:Ce(o),pythonEnvFound:"notTrusted",language:s,isCreatedByUs:l})}if(e.interpreterPath){let u=Hn.Uri.file(e.interpreterPath),d=i.find(f=>e.interpreterPath&&Mo(u,f.executable.uri)?(p.trace(`Kernel ${e.name} matches ${zr(f.id)} based on interpreterPath.`),!0):!1);if(d)return wi(d);if(!e.specFile||this.trustedKernels.isTrusted(Hn.Uri.file(e.specFile))){let f=await this.interpreterService.getInterpreterDetails(u,r);if(f)return f}}if(!r?.isCancellationRequested)return wi(i.find(u=>e.display_name===Pr(u)?.environment?.name?(p.trace(`Kernel ${e.name} matches ${zr(u.id)} based on display name`),R("GLOBAL_PYTHON_KERNELSPEC",void 0,{kernelSpecHash:a,kernelConnectionType:t,pythonPathDefined:!0,argv0:o?Ce(o):"",pythonEnvFound:"matchDisplayName",language:s,isCreatedByUs:l}),!0):!1))}listGlobalPythonKernelSpecs(){return this.lastKnownGlobalPythonKernelSpecs=this.kernelSpecsFromKnownLocations.kernels.filter(e=>e.kernelSpec.language===ge)}warnAboutPythonKernelSpecWithInvalidPythonExec(e){let t=e.specFile||JSON.stringify(e);n.globalPythonKernelSpecsForWhichWeCouldNotFindInterpreterInfo.has(t)||(n.globalPythonKernelSpecsForWhichWeCouldNotFindInterpreterInfo.add(t),p.warn(`Kernel Spec for '${e.display_name}' (${zr(e.specFile)}) hidden, as we cannot find a matching interpreter argv = '${e.argv[0]}'. To resolve this, please change '${e.argv[0]}' to point to the fully qualified Python executable.`))}async listKernelSpecsImpl(){let e=this.cancelToken.token,t=this.listGlobalPythonKernelSpecs().filter(s=>!Nn(s.kernelSpec)),r=s=>{if(s.kernelSpec.language!==ge)return!1;let a=s.kernelSpec.argv.map(u=>u.toLowerCase()),l=a.indexOf("-m");if(l===-1)return!1;let c=a.length-1>=l?a[l+1]:void 0;return c?c!=="ipykernel_launcher":!1},i=new Map,o=new Set;return await Promise.all(t.filter(s=>{let a=Nn(s.kernelSpec);return!a&&(r(s)||Object.keys(s.kernelSpec.env||{}).length>0)||!a&&s.kernelSpec.language===ge&&!XS(s.kernelSpec)?!0:(p.trace(`Kernel Spec for '${s.kernelSpec.display_name}' (${zr(s.kernelSpec.specFile)}) is hidden. (isDefaultKernelSpec = ${XS(s.kernelSpec)}, language = ${s.kernelSpec.language}, registrationInfo = ${a})`),!1)}).map(async s=>{let a=await this.findMatchingInterpreter(s.kernelSpec,"startUsingLocalKernelSpec",e);if(e.isCancellationRequested)return;if(!a){let c=s.kernelSpec.argv.length?s.kernelSpec.argv[0].toLowerCase():"";if(fD(c)){this.warnAboutPythonKernelSpecWithInvalidPythonExec(s.kernelSpec);return}}let l=Zu.create({kernelSpec:s.kernelSpec,interpreter:a,id:ki(s.kernelSpec,a)});i.set(l.id,l),l.kernelSpec.specFile&&o.add(l.kernelSpec.specFile)})),e.isCancellationRequested?[]:e.isCancellationRequested?[]:Array.from(i.values())}};var tu=class extends by{constructor(t,r,i,o,s,a,l,c,u){super(r,o,a,l,c,i);this.interpreterService=t;this.kernelSpecsFromKnownLocations=s;this._kernels=new Map;this._kernelsExcludingCachedItems=new Map;this._kernelsFromCache=[];this.cachedInformationForPythonInterpreter=new Map;this.updateCachePromise=Promise.resolve();this.discoveredKernelSpecFiles=new Set;this.lastKnownGlobalPythonKernelSpecs=[];this.interpreterKernelSpecs=new Map;this.globalPythonKernelSpecFinder=new a_(this.interpreterService,this.kernelSpecsFromKnownLocations,this.extensionChecker,u),this.disposables.push(this._onDidChangeKernels),t.onDidChangeInterpreters(()=>{this.refreshCancellation?.cancel(),this.refreshData().catch(h)},this,this.disposables),t.onDidRemoveInterpreter(async d=>{if(await gi(1e3),Pr(d))return;p.debug(`Interpreter removed ${d.id}`);let f=[];this._kernels.forEach(g=>{g.interpreter?.id===d.id&&(p.debug(`Interpreter ${d.id} deleted, hence deleting corresponding kernel ${g.kind}:'${g.id}`),f.push(g),this._kernels.delete(g.id))}),f.length&&(p.debug(`Local Python connection deleted ${f.map(g=>`${g.kind}:'${g.id}: (interpreter id=${zr(g.interpreter?.id)})'`)}`),this.updateCache().catch(h))},this,this.disposables)}activate(){this.listKernelsFirstTimeFromMemento(oO()).then(t=>{t.length&&(t.filter(r=>!this._kernels.has(r.id)).forEach(r=>{this._kernelsFromCache.push(r),this._kernels.set(r.id,r)}),this._onDidChangeKernels.fire())}).finally(async()=>{this.refreshCancellation?.cancel(),this.refreshData().catch(h),this.kernelSpecsFromKnownLocations.onDidChangeKernels(()=>{let t=this.lastKnownGlobalPythonKernelSpecs,r=this.listGlobalPythonKernelSpecsIncludingThoseRegisteredByUs();(t.length!==r.length||!Ys(t,r))&&(this.refreshCancellation?.cancel(),this.refreshData().catch(h))},this,this.disposables)}).catch(h)}get kernels(){return Array.from(this._kernels.values())}dispose(){z(this.disposables)}async refresh(){this.globalPythonKernelSpecFinder.clear(),this.clearCache(),this.cachedInformationForPythonInterpreter.clear(),this.discoveredKernelSpecFiles.clear(),this.interpreterService.refreshInterpreters(!0).catch(h),await this.refreshData(!0)}refreshData(t=!1){if(!t&&this.refreshCancellation&&!this.refreshCancellation.token.isCancellationRequested&&this.previousRefresh)return this.previousRefresh;this.refreshCancellation?.cancel(),this.refreshCancellation?.dispose();let r=this.refreshCancellation=new I8.CancellationTokenSource,i=(async()=>{if(await this.listKernelsImplementation(r.token,t).catch(o=>p.error("Failure in listKernelsImplementation",o)),!r.token.isCancellationRequested){if(this.interpreterService.status==="idle"){let o=this._kernelsFromCache.filter(c=>!this._kernelsExcludingCachedItems.has(c.id)),s=[];o.length&&(p.warn(`Kernels ${o.map(c=>`${c.kind}:'${c.id}'`).join(", ")} found in cache but not discovered in current session ${Array.from(this._kernelsExcludingCachedItems.values()).map(c=>`${c.kind}:'${c.id}'`).join(", ")}`),o.forEach(c=>{this._kernels.delete(c.id),s.push(c)}));let a=new Set(so().map(c=>c.id)),l=Array.from(this._kernels.values()).filter(c=>!!(c.interpreter&&!a.has(c.interpreter.id)));l.length&&(p.warn(`The following kernels use interpreters that are no longer valid or not recognized by Python extension, Kernels ${l.map(c=>`${c.kind}:'id=${c.id}'(interpreterId='${zr(c.interpreter?.id)}')`).join(",")} and valid interpreter ids include ${Array.from(a).join(", ")}`),l.forEach(c=>{this._kernels.delete(c.id),s.push(c)})),s.length&&(p.debug(`Local Python connection deleted ${s.map(c=>`${c.kind}:'${c.id}: (interpreter id=${zr(c.interpreter?.id)})'`)}`),await this.updateCache())}t&&(this._kernelsFromCache=[])}})().catch(o=>p.error("Failed to discover kernels in interpreters",o)).finally(()=>{r===this.refreshCancellation&&(this.refreshCancellation?.cancel(),this.refreshCancellation?.dispose(),this.refreshCancellation=void 0)});return this.previousRefresh=i,this.promiseMonitor.push(i),i}async updateCache(){this._onDidChangeKernels.fire();let t=Array.from(this._kernels.values());return this.updateCachePromise=this.updateCachePromise.finally(()=>this.writeToMementoCache(t,oO())),this.updateCachePromise}async listKernelsImplementation(t,r){let i=this.extensionChecker.isPythonExtensionInstalled?so():[],o=Promise.all(i.map(async a=>{let l=this.interpreterKernelSpecs.get(a.id);l||(l=new s_(wi(a),this.interpreterService,this.jupyterPaths,this.extensionChecker,this.kernelSpecFinder),this.disposables.push(l),this.interpreterKernelSpecs.set(a.id,l),l.onDidChangeKernels(c=>{c.removed.forEach(u=>this._kernels.delete(u.id)),this.appendNewKernels(c.added),!c.added.length&&c.removed.length&&this.updateCache()},this,this.disposables)),await Xt(t,[],l.listKernelSpecs(r))})),s=Xt(t,[],this.globalPythonKernelSpecFinder.listKernelSpecs(r)).then(a=>this.appendNewKernels(a));await Promise.all([o,s])}async appendNewKernels(t){if(t.length)return t.forEach(r=>{ct(r)&&r.kernelSpec.specFile?(this._kernelsExcludingCachedItems.set(r.id,r),this._kernels.has(r.id)?this._kernels.set(r.id,r):this._kernels.set(r.id,r)):p.warn(`Found a kernel ${r.kind}:'${r.id}', but excluded as specFile is undefined`)}),this.updateCache()}listGlobalPythonKernelSpecs(t){return this.kernelSpecsFromKnownLocations.kernels.filter(i=>i.kernelSpec.language===ge).filter(i=>t?!0:!Nn(i.kernelSpec))}listGlobalPythonKernelSpecsIncludingThoseRegisteredByUs(){return this.lastKnownGlobalPythonKernelSpecs=this.listGlobalPythonKernelSpecs(!0)}};tu=v([(0,wo.injectable)(),m(0,(0,wo.inject)(Xe)),m(1,(0,wo.inject)(lr)),m(2,(0,wo.inject)(Mr)),m(3,(0,wo.inject)(Be)),m(4,(0,wo.inject)(Yo)),m(5,(0,wo.inject)(We)),m(5,(0,wo.named)(ei)),m(6,(0,wo.inject)(M)),m(7,(0,wo.inject)(Sl)),m(8,(0,wo.inject)(Yd))],tu);var Qm=class extends jn{constructor(t,r,i,o,s,a){super();this.nonPythonKernelFinder=t;this.pythonKernelFinder=r;this.disposables=o;this.extensionChecker=s;this.interpreters=a;this._status="idle";this._onDidChangeStatus=new ow.EventEmitter;this.onDidChangeStatus=this._onDidChangeStatus.event;this.promiseMonitor=new lo;this.kind="localKernelSpec";this.id="localKernelSpec";this.displayName=y.localKernelSpecs;this._onDidChangeKernels=new ow.EventEmitter;this.onDidChangeKernels=this._onDidChangeKernels.event;this.wasPythonInstalledWhenFetchingControllers=!1;this.cache=[];this.disposables.push(this),i.registerKernelFinder(this),this.disposables.push(this._onDidChangeStatus),this.disposables.push(this._onDidChangeKernels),this.disposables.push(this.promiseMonitor)}get status(){return this._status}set status(t){this._status!==t&&(this._status=t,this._onDidChangeStatus.fire())}activate(){this.promiseMonitor.onStateChange(()=>{this.status=this.promiseMonitor.isComplete&&this.interpreters.status==="idle"&&this.nonPythonKernelFinder.status==="idle"&&this.pythonKernelFinder.status==="idle"?"idle":"discovering"}),this.updateCache();let t,r=()=>{[this.nonPythonKernelFinder.status,this.pythonKernelFinder.status,this.interpreters.status==="refreshing"?"discovering":"idle"].includes("discovering")?t||(t=re(),this.promiseMonitor.push(t.promise)):(t?.resolve(),t=void 0)};r(),this.nonPythonKernelFinder.onDidChangeStatus(r,this,this.disposables),this.pythonKernelFinder.onDidChangeStatus(r,this,this.disposables),this.interpreters.onDidChangeStatus(r,this,this.disposables),this.updateCache(),this.interpreters.onDidChangeInterpreters(this.updateCache,this,this.disposables),ow.extensions.onDidChange(()=>{!this.wasPythonInstalledWhenFetchingControllers&&this.extensionChecker.isPythonExtensionInstalled&&this.updateCache()},this,this.disposables),this.nonPythonKernelFinder.onDidChangeKernels(this.updateCache,this,this.disposables),this.pythonKernelFinder.onDidChangeKernels(this.updateCache,this,this.disposables),this.wasPythonInstalledWhenFetchingControllers=this.extensionChecker.isPythonExtensionInstalled}async refresh(){let t=(async()=>{await this.nonPythonKernelFinder.refresh(),await this.pythonKernelFinder.refresh(),this.updateCache()})();this.promiseMonitor.push(t),await t}updateCache(){try{let t=[],r=this.nonPythonKernelFinder.kernels.filter(o=>this.extensionChecker.isPythonExtensionInstalled?o.kernelSpec.language!==ge:!0),i=this.pythonKernelFinder.kernels.filter(o=>Zh(o));t=t.concat(r).concat(i),this.writeToCache(t)}catch(t){p.error("Exception Saving loaded kernels",t)}}get kernels(){let t=new Set,r=[];return this.pythonKernelFinder.kernels.forEach(i=>{let o=Nn(i.kernelSpec);i.kernelSpec.specFile&&o==="registeredByNewVersionOfExtForCustomKernelSpec"&&(t.add(i.kernelSpec.specFile),r.push(i))}),this.cache.forEach(i=>{i.kernelSpec.specFile&&t.has(i.kernelSpec.specFile)||r.push(i)}),r}writeToCache(t){let r=new Set;t=t.filter(u=>r.has(u.id)?!1:(r.add(u.id),!0));let i=this.cache,o=new Map(i.map(u=>[u.id,u])),s=new Map(t.map(u=>[u.id,u])),a=t.filter(u=>!o.has(u.id)),l=t.filter(u=>o.has(u.id)&&!Ys(u,o.get(u.id))),c=i.filter(u=>!s.has(u.id));this.cache=t,(a.length||l.length||c.length)&&this._onDidChangeKernels.fire({removed:c})}};v([Sh("List kernels failed")],Qm.prototype,"updateCache",1),Qm=v([(0,ru.injectable)(),m(0,(0,ru.inject)(Yo)),m(1,(0,ru.inject)(tu)),m(2,(0,ru.inject)(kr)),m(3,(0,ru.inject)(M)),m(4,(0,ru.inject)(Be)),m(5,(0,ru.inject)(Xe))],Qm);var Iy=k(N());var sw=require("vscode"),C8=require("os");function S8(n){let e=Ve(n);return!!(w8(n)&&(e==="Unknown"||e==="Pyenv"||e==="Conda"))}function w8(n){let e=Ji(n)?.major??3,t=Ji(n)?.minor??6;return e>=3&&t>=6}var nu=class{constructor(e,t,r){this.pythonExecutionFactory=e;this.disposableRegistry=t;this.context=r;this.messages=new Map;this.requestCounter=0}async createInterrupter(e,t){try{return await this.createInterrupterImpl(e,t)}catch(r){return p.error("Failed to create interrupter, trying again",r),this.createInterrupterImpl(e,t)}}async createInterrupterImpl(e,t){let r=await this.sendCommand({command:"INITIALIZE_INTERRUPT"},e,t);if(!r)throw p.error("Unable to initialize interrupt handle"),new Error("Unable to initialize interrupt handle");return{handle:r,interrupt:async()=>{await this.sendCommand({command:"INTERRUPT",handle:r},e,t)},dispose:()=>{this.sendCommand({command:"DISPOSE_INTERRUPT_HANDLE",handle:r},e,t).catch(i=>p.error(`Failed to dispose interrupt handle for ${e.id}`,i))}}}async getInterpreter(e){if(e&&S8(e))return e;let t=so();return t.length===0?e:wi(t.find(S8))||wi(t.find(w8))||e}async initializeInterrupter(e,t){if(this.startupPromise)return this.startupPromise;let r=(async()=>{let i=await this.getInterpreter(e),o=await this.pythonExecutionFactory.createActivatedEnvironment({interpreter:i,resource:t}),s=sw.Uri.joinPath(this.context.extensionUri,"pythonFiles","vscode_datascience_helpers"),a=sw.Uri.joinPath(s,"kernel_interrupt_daemon.py"),l=o.execObservable([a.fsPath,"--ppid",process.pid.toString()],{cwd:s.fsPath});return await new Promise((c,u)=>{let d=!1,f=l.out.onDidChange(g=>{if(p.ci(`Output from interrupt daemon started = ${d}, output (${g.source}) = ${g.out} ('END)`),g.source==="stdout"&&g.out.trim().includes("DAEMON_STARTED:")&&!d)d=!0,c();else if(g.source==="stderr"&&g.out.includes("INTERRUPT:")&&g.out.includes("ERROR: handling command :INITIALIZE_INTERRUPT:")&&d)Oe(g.out,{trim:!0,removeEmptyEntries:!0}).filter(b=>b.includes("INTERRUPT:")).forEach(b=>{try{let I=b.split(":"),E=parseInt(I[I.indexOf("INITIALIZE_INTERRUPT")+1],10),x=this.messages.get(E);x&&(p.error(`Failed to initialize interrupt daemon for ${E}, ${g.out}`),x.deferred.reject(new Error(`Failed to start interrupt daemon ${g.out}`)),this.messages.delete(E))}catch(I){p.error(`Failed to parse interrupt daemon response, ${g.out}`,I)}});else if(g.source==="stdout"&&g.out.includes("INTERRUPT:")&&d)Oe(g.out,{trim:!0,removeEmptyEntries:!0}).filter(b=>b.includes("INTERRUPT:")).forEach(b=>{try{let[I,E,x]=b.split(":"),A=this.messages.get(parseInt(E,10));A?(p.trace(`Got a response of ${x} for ${I}:${E}`),A.deferred.resolve(x),this.messages.delete(parseInt(E,10))):p.error(`Got a response of ${x} for ${I}:${E} but no command entry found in ${g.out}`)}catch(I){p.error(`Failed to parse interrupt daemon response, ${g.out}`,I)}});else if(g.out.includes("ERROR: handling command")){if(p.warn(`Error output in interrupt daemon response ${g.out} ('END')`),!d)return u(new Error(`Interrupt daemon failed to start, ${g.out}`));try{let b=g.out.split(":")[2],I=this.messages.get(parseInt(b,10));if(I){I.deferred.reject(new Error(g.out)),this.messages.delete(parseInt(b,10));return}}catch(b){p.error(`Failed to parse interrupt daemon response, ${g.out}`,b)}}});this.disposableRegistry.push(f)}),this.disposableRegistry.push(new sw.Disposable(()=>Xn(()=>l.proc?.kill()))),l.proc?.on("close",()=>{p.ci("Interrupt daemon closed"),this.startupPromise=void 0}),l.proc?.on("exit",()=>{p.ci("Interrupt daemon exited"),this.startupPromise=void 0}),l})();return r.catch(i=>p.error(`Failed to start interrupt daemon for (${e.id})`,i)),this.startupPromise=r,r}async sendCommand(e,t,r){let i=re(),o=this.requestCounter++;this.messages.set(o,{command:e,deferred:i});let s=e.command==="INITIALIZE_INTERRUPT"?`${e.command}:${o}`:`${e.command}:${o}:${e.handle}`,{proc:a}=await this.initializeInterrupter(t,r);if(!a||!a.stdin)throw p.error("No process or stdin"),new Error("No process or stdin");a.stdin.write(`${s}${C8.EOL}`),p.ci(`Sending Interrupt Request id=${o}, Command ${e.command} for ${t.id}`);let l=await i.promise;if(p.ci(`Got Interrupt Response id=${o}, Command ${e.command} for ${t.id}`),e.command==="INITIALIZE_INTERRUPT")return parseInt(l,10)}};nu=v([(0,Iy.injectable)(),m(0,(0,Iy.inject)(Nr)),m(1,(0,Iy.inject)(M)),m(2,(0,Iy.inject)(et))],nu);var l_=k(N());var aw=require("vscode");var Bl=class{constructor(e){this.platform=e;this.programData=process.env.PROGRAMDATA?aw.Uri.file(hn(process.env.PROGRAMDATA)):void 0}get trustedKernelSpecs(){return aw.workspace.getConfiguration("jupyter",void 0).get("kernels.trusted",[])}isTrusted(e){let t=this.isTrustedImpl(e);return!t&&!Bl.IsKernelSpecHidden.completed&&Bl.IsKernelSpecHidden.resolve(!0),t}isTrustedImpl(e){return e.scheme!=="file"||this.trustedKernelSpecs.map(t=>this.platform.isWindows?t.toLowerCase():t).map(t=>aw.Uri.file(t).path).includes(this.platform.isWindows?e.path.toLowerCase():e.path)?!0:this.platform.isWindows&&this.programData?!e.path.toLowerCase().startsWith(this.programData.path.toLowerCase()):!0}};Bl.IsKernelSpecHidden=re(),Bl=v([(0,l_.injectable)(),m(0,(0,l_.inject)(br))],Bl);var O5=k(kl()),Zo=k(N()),F5=k(require("os"));var L5=require("util"),U5=k(Io()),w_=require("vscode");var I5=require("process"),S5=k(kl()),xy=k(require("os"));var Dy=require("vscode");var C5=k(F8());var v5="To connect another client to this kernel, use:",y5=["NOTE: When using the `ipython kernel` entry point, Ctrl-C will not work.","To exit, you will have to explicitly quit this process, by either sending",'"quit" from a client, or using Ctrl-\\ in UNIX-like environments.',"To read more about this, see https://github.com/ipython/ipython/issues/2049","It seems that frozen modules are being used, which may","make the debugger miss breakpoints. Please pass -Xfrozen_modules=off","to python to disable frozen modules","Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION"],ky=class extends jn{constructor(t,r,i,o,s,a,l,c,u,d,f,g,b){super();this.processExecutionFactory=t;this._connection=r;this.fileSystem=o;this.resource=s;this.extensionChecker=a;this.kernelEnvVarsService=l;this.pythonExecFactory=c;this.outputChannel=u;this.jupyterSettings=d;this.jupyterPaths=f;this.pythonKernelInterruptDaemon=g;this.platform=b;this.exitEvent=new Dy.EventEmitter;this.exitEventFired=!1;this._kernelConnectionMetadata=i}get pid(){return this._pid}get exited(){return this.exitEvent.event}get kernelConnectionMetadata(){return this._kernelConnectionMetadata}get connection(){return this._connection}get isPythonKernel(){return dt(this.kernelConnectionMetadata)&&Om(this.kernelConnectionMetadata)}get canInterrupt(){return this._kernelConnectionMetadata.kernelSpec.interrupt_mode!=="message"}async interrupt(){if(this.canInterrupt)if(this._kernelConnectionMetadata.kernelSpec.interrupt_mode!=="message"&&this._process&&!this.interrupter)p.info("Interrupting kernel via SIGINT"),this._process.pid&&(0,I5.kill)(this._process.pid,"SIGINT");else{if(this._kernelConnectionMetadata.kernelSpec.interrupt_mode!=="message"&&this._process&&this.interrupter&&dt(this._kernelConnectionMetadata))return p.info("Interrupting kernel via custom event (Win32)"),this.interrupter.interrupt();p.error("No process to interrupt in KernleProcess.ts")}else throw new Error("Kernel interrupt not supported in KernelProcess.ts")}async launch(t,r,i){if(this.launchedOnce)throw new Error("Kernel has already been launched.");this.launchedOnce=!0;let o=Pn(this.resource),s=o?.updateConnection();await this.updateConnectionArgs(),s?.stop(),vn.throwIfCanceled(i);let a=o?.spawn(),l=await this.launchAsObservable(t,i);a?.stop();let c=l.proc;if(i.isCancellationRequested)throw new Dy.CancellationError;p.debug(`Kernel process ${c?.pid}.`);let u="",d,f=re();if(f.promise.catch(h),c){let b=c.pid;c.on("exit",E=>{if(E=E||d,this.isDisposed){p.debug(`KernelProcess Exited ${b}, Exit Code - ${E}`);return}p.debug(`KernelProcess Exited ${b}, Exit Code - ${E}`,u),this.exitEventFired||(this.exitEvent.fire({exitCode:E||void 0,reason:xh(u)||u,stderr:u}),this.exitEventFired=!0),i.isCancellationRequested||(p.ci("KernelProcessExitedError raised",u),f.reject(new Ol(E||-1,u,this.kernelConnectionMetadata)))});let I=!1;c.stdout?.on("data",E=>{let x=(E||"").toString();dt(this.kernelConnectionMetadata)&&!I&&(x=b5(x),x.includes(v5)&&(x=x.trimStart())),x.includes(v5)&&(I=!0),p.debug(`Kernel output ${b}: ${x}`),this.sendToOutput(x)}),c.stderr?.on("data",E=>{let x=b5((E||"").toString());u+=x,x.trim().length&&!x.includes("It seems that frozen modules are being used, which may")&&!x.includes("make the debugger miss breakpoints. Please pass -Xfrozen_modules=off")&&!x.includes("to python to disable frozen modules")&&!x.includes("Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION")&&(p.debug(`KernelProcess error ${b}: ${x}`),this.sendToOutput(x))})}l.out.done.catch(b=>{if(this.isDisposed){p.warn("Kernel died",b,u);return}p.error("Kernel died",b,u),f.reject(b)});let g=Pn(this.resource)?.portUsage();try{f.rejected&&await f.promise;let b=be.instance.get(gs).inExperiment("DoNotWaitForZmqPortsToBeUsed"),I=(await Promise.resolve().then(()=>k(g5()))).default,E=new Ue,x=b?Promise.resolve():Promise.all([I.waitUntilUsed(this.connection.shell_port,200,r),I.waitUntilUsed(this.connection.iopub_port,200,r)]).catch(A=>{if(!(i.isCancellationRequested||f.rejected)&&(p.warn(`Waited ${E.elapsedTime}ms for kernel to start`,A),!b))return Promise.reject(new Av(this.kernelConnectionMetadata))});await Zt(i,x,f.promise)}catch(b){let I=(u||"").trim();if(!i?.isCancellationRequested&&!sr(b)&&(p.error("Disposing kernel process due to an error",b),b&&b instanceof Error&&I.length&&b.message.includes(I)||p.error(I)),await this.dispose(),!i?.isCancellationRequested&&b instanceof qe)throw b;{i?.isCancellationRequested&&p.debug("User cancelled the kernel launch");let E=yP(I)||I.substring(0,100);throw p.ci("KernelDiedError raised",E,u+`
|
||
`+u+`
|
||
`),new Ud(y.kernelDied(E),u+`
|
||
`+u+`
|
||
`,b,this.kernelConnectionMetadata)}}finally{g?.stop()}}dispose(){if(this._disposingPromise||this.isDisposed)return;let t=this._process?.pid;p.debug(`Dispose Kernel process ${t}.`),this._disposingPromise=(async()=>{await fr(1e3,this.killChildProcesses(this._process?.pid).catch(h));try{this.interrupter?.dispose(),this._process?.kill(),this.exitEventFired||this.exitEvent.fire({stderr:""})}catch(r){p.error(`Error disposing kernel process ${t}`,r)}this.connectionFile&&await this.fileSystem.delete(this.connectionFile).catch(r=>p.warn(`Failed to delete connection file ${this.connectionFile} for pid ${t}`,r)),p.debug(`Disposed Kernel process ${t}.`)})(),this._disposingPromise.finally(()=>super.dispose()).catch(h)}async killChildProcesses(t){if(!(!t||!Dl.isAlive(t)))try{if(this.platform.isWindows){let r=process.env.WINDIR||"C:\\Windows",i=Le(r,"System32","taskkill.exe");await new Dl().exec(i,["/F","/T","/PID",t.toString()])}else await new Promise(r=>{(0,C5.default)(t,(i,o)=>{i?p.warn(`Failed to kill children for ${t}`,i):o.forEach(s=>Dl.kill(s)),r()})})}catch(r){p.warn(`Failed to kill children for ${t}`,r)}}sendToOutput(t){this.outputChannel&&this.outputChannel.append(t)}get launchKernelSpec(){if(this._launchKernelSpec)return this._launchKernelSpec;let t=this._kernelConnectionMetadata.kernelSpec;if(!t)throw new Error("KernelSpec cannot be empty in KernelProcess.ts");return Array.isArray(t.argv)?this._launchKernelSpec={...t,argv:[...t.argv]}:(p.error("KernelSpec.argv in KernelProcess is undefined"),this._launchKernelSpec=void 0),this._launchKernelSpec}async updateConnectionArgs(){let t=nj(this.launchKernelSpec);if(t===-1)throw new Error(`Connection file not found in kernelspec json args, ${this.launchKernelSpec.argv.join(" ")}`);if(this.isPythonKernel&&t===0&&this.launchKernelSpec.argv[t-1]!=="-f")throw new Error(`Connection file not found in kernelspec json args, ${this.launchKernelSpec.argv.join(" ")}`);if(this.connectionFile=await this.createConnectionFile(),this.isPythonKernel)this.launchKernelSpec.argv.splice(t-1,2),this.launchKernelSpec.argv.push(...this.addPythonConnectionArgs(this.connectionFile)),await this.fileSystem.writeFile(this.connectionFile,JSON.stringify(this._connection));else{await this.fileSystem.writeFile(this.connectionFile,JSON.stringify(this._connection));let r=this.connectionFile.fsPath.includes(" ")?`"${this.connectionFile.fsPath}"`:this.connectionFile.fsPath;this.launchKernelSpec.argv[t].includes("--connection-file")?this.launchKernelSpec.argv[t]=this.launchKernelSpec.argv[t].replace(lm,r):this.launchKernelSpec.argv[t].includes(`=${lm}`)&&!this.launchKernelSpec.argv[t].trim().startsWith("=")?this.launchKernelSpec.argv[t]=this.launchKernelSpec.argv[t].replace(lm,r):this.launchKernelSpec.argv[t]=this.launchKernelSpec.argv[t].replace(lm,this.connectionFile.fsPath)}}async createConnectionFile(){let t=await this.jupyterPaths.getRuntimeDir(),r=await this.fileSystem.createTemporaryLocalFile({fileExtension:".json",prefix:"kernel-v2-"}),i=t?Le(t.fsPath,Ce(r.filePath)):r.filePath;return await r.dispose(),Dy.Uri.file(i)}addPythonConnectionArgs(t){let r=[],i=t.fsPath.includes(" ")?`"${t.fsPath}"`:t.fsPath;return r.push(`--f=${i}`),r}async launchAsObservable(t,r){let i;if(p.debug(`Launching kernel ${this.kernelConnectionMetadata.id} for ${j(this.resource)} in ${j(t)} with ports ${this.connection.control_port}, ${this.connection.hb_port}, ${this.connection.iopub_port}, ${this.connection.shell_port}, ${this.connection.stdin_port}`),this.isPythonKernel&&this.extensionChecker.isPythonExtensionInstalled&&this._kernelConnectionMetadata.interpreter){let o=Pn(this.resource),[s,a,l]=[o?.pythonEnvVars(),o?.envVars(),xy.platform()==="win32"?o?.interruptHandle():void 0],c=this.pythonExecFactory.createActivatedEnvironment({resource:this.resource,interpreter:this._kernelConnectionMetadata.interpreter}),u=xy.platform()==="win32"?this.getWin32InterruptHandle().finally(()=>l?.stop()):l?.stop(),[d,f,g]=await Promise.all([c.finally(()=>s?.stop()),S5.pathExists(t),this.kernelEnvVarsService.getEnvironmentVariables(this.resource,this._kernelConnectionMetadata.interpreter,this._kernelConnectionMetadata.kernelSpec,r).finally(()=>a?.stop())]);if(vn.throwIfCanceled(r),xy.platform()==="win32"&&u){g=g||process.env;try{let I=await u;g.JPY_INTERRUPT_EVENT=`${I}`,p.ci(`Got interrupt handle kernel id ${I} for interpreter ${this._kernelConnectionMetadata.interpreter.id}`)}catch(I){p.error(`Failed to get interrupt handle kernel id ${this._kernelConnectionMetadata.id} for interpreter ${this._kernelConnectionMetadata.interpreter.id}`,I)}}vn.throwIfCanceled(r);let b=this.launchKernelSpec.argv.slice(1);this.jupyterSettings.enablePythonKernelLogging&&b.push("--debug"),i=d.execObservable(b,{cwd:f?t:process.cwd(),env:g}),vn.throwIfCanceled(r)}else{let o=this.launchKernelSpec.argv[0];p.info(`Launching Raw Kernel ${this.launchKernelSpec.display_name} # ${o}`);let[s,a]=await Promise.all([this.processExecutionFactory.create(this.resource,r),this.kernelEnvVarsService.getEnvironmentVariables(this.resource,this._kernelConnectionMetadata.interpreter,this.launchKernelSpec,r)]);vn.throwIfCanceled(r);let l=this.launchKernelSpec.argv.slice(1);i=s.execObservable(o,l,{env:a,cwd:t})}if(!i.proc)throw new Error("KernelProcess failed to launch");return this._process=i.proc,this._pid=i.proc.pid,i}async getWin32InterruptHandle(){return this.interrupter||(this.interrupter=await this.pythonKernelInterruptDaemon.createInterrupter(this._kernelConnectionMetadata.interpreter,this.resource)),this.interrupter.handle}};v([or("DS_INTERNAL.RAWKERNEL_PROCESS_LAUNCH")],ky.prototype,"launch",1),v([m(1,zu())],ky.prototype,"launchAsObservable",1);function b5(n){let e=Oe(n,{trim:!0,removeEmptyEntries:!0});return e.some(t=>t.includes("FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0."))&&e.some(t=>t.trim()==="warn(")&&e.some(t=>t.includes("FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0."))||e.some(t=>y5.some(r=>t.includes(r)))?e.filter(t=>!t.endsWith(`FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '"hmac-sha256"' if you require traitlets >=5.`)&&t.trim()!=="warn("&&!t.includes("FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use")&&y5.every(r=>!t.includes(r))).join(xy.EOL).trimStart():n}var Xde="kernelLauncherPortStart_{0}.tmp",Vs=class{constructor(e,t,r,i,o,s,a,l,c,u){this.processExecutionFactory=e;this.fs=t;this.extensionChecker=r;this.kernelEnvVarsService=i;this.disposables=o;this.pythonExecFactory=s;this.configService=a;this.jupyterPaths=l;this.pythonKernelInterruptDaemon=c;this.platformService=u}static async computeStartPort(){if(Er()){let e=9e3,t=0;for(;t===0&&e<65e3;)try{let r=Le(F5.tmpdir(),gS(Xde,e.toString()));await O5.open(r,"wx"),t=e}catch{e+=1e3}return p.trace(`Computed port start for KernelLauncher is : ${t}`),t}else return 9e3}async launch(e,t,r,i,o){Zde(r,e,this.pythonExecFactory,o).catch(h);let s=new Ue,a=Pn(r)?.getConnection(),l=await Zt(o,this.getKernelConnection(e));a?.stop();let c=r?Ce(r.fsPath):"",u=this.configService.getSettings(r),d=u.logKernelOutputSeparately||u.development?w_.window.createOutputChannel(y.kernelConsoleOutputChannel(c),"log"):void 0;d?.clear();let f=ID(l.control_port,l.hb_port,l.iopub_port,l.shell_port,l.stdin_port),g=new ky(this.processExecutionFactory,l,e,this.fs,r,this.extensionChecker,this.kernelEnvVarsService,this.pythonExecFactory,d,u,this.jupyterPaths,this.pythonKernelInterruptDaemon,this.platformService);sa(g.onDidDispose)(()=>f.dispose(),this,this.disposables),sa(g.exited)(()=>d?.dispose(),this,this.disposables);try{await Zt(o,g.launch(i,t,o))}catch(I){throw await g.dispose(),vn.throwIfCanceled(o),I}let b=sa(g.exited)(({exitCode:I,reason:E})=>{Pt(r,"DS_INTERNAL.RAWKERNEL_SESSION_KERNEL_PROCESS_EXITED",I?{exitCode:I}:void 0,{exitReason:xh(E)}),Us.delete(l.control_port),Us.delete(l.hb_port),Us.delete(l.iopub_port),Us.delete(l.shell_port),Us.delete(l.stdin_port),b.dispose()},this,this.disposables);if(o?.isCancellationRequested)throw await g.dispose(),new w_.CancellationError;return R("DS_INTERNAL.KERNEL_LAUNCHER_PERF",{duration:s.elapsedTime},{resourceType:$i(r)}),g}async chainGetConnectionPorts(){return this.portChain&&await this.portChain,this.portChain=this.getConnectionPorts(),this.portChain}static async findNextFreePort(e){let r=await(0,L5.promisify)((await Promise.resolve().then(()=>k(K5()))).getPorts)(5,{host:"127.0.0.1",port:e});if(r.some(i=>Us.has(i))){let i=Math.max(...Us,...r);return Vs.findNextFreePort(i)}return r.forEach(i=>Us.add(i)),r}async getConnectionPorts(){let e=await Vs.startPortPromise;return Vs.findNextFreePort(e)}async getKernelConnection(e){let t=await this.chainGetConnectionPorts();return{key:(0,U5.default)(),signature_scheme:"hmac-sha256",transport:"tcp",ip:"127.0.0.1",hb_port:t[0],control_port:t[1],shell_port:t[2],stdin_port:t[3],iopub_port:t[4],kernel_name:e.kernelSpec?.name||"python"}}};Vs.startPortPromise=Vs.computeStartPort(),Vs=v([(0,Zo.injectable)(),m(0,(0,Zo.inject)(Di)),m(1,(0,Zo.inject)(lr)),m(2,(0,Zo.inject)(Be)),m(3,(0,Zo.inject)(fa)),m(4,(0,Zo.inject)(M)),m(5,(0,Zo.inject)(Nr)),m(6,(0,Zo.inject)(ie)),m(7,(0,Zo.inject)(Mr)),m(8,(0,Zo.inject)(nu)),m(9,(0,Zo.inject)(br))],Vs);async function Zde(n,e,t,r){let i=e.interpreter;if(!ct(e)||!dt(e)||!i)return;let s=await(await t.createActivatedEnvironment({interpreter:i,resource:n})).exec(["-c",'import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)'],{token:r});if(r.isCancellationRequested)return;let a=j(i.uri);if(s.stdout){let l=s.stdout.trim().split("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d").map(c=>c.trim()).filter(c=>c.length>0);l.length===2?p.trace(`ipykernel version & path ${l[0]}, ${RB(l[1])} for ${a}`):p.trace(`ipykernel version & path ${s.stdout.trim()} for ${a}`)}if(s.stderr){let l=Oe(s.stderr.trim(),{removeEmptyEntries:!0,trim:!0}).map((c,u)=>u===0?c:` ${c}`).join(`
|
||
`);p.warn(`Stderr output when getting ipykernel version & path ${l} for ${a}`)}}var ou=k(require("vscode"));var Ay=k(N());var W5=require("vscode"),E_=class extends oy{constructor(t,r,i){super("localRaw",t);this.resource=r;this.kernelConnectionMetadata=i;this.shutdownInProgress=!1;this._register(new W5.Disposable(()=>this.session.dispose())),this.initializeKernelSocket()}get status(){return this.terminatingStatus&&!this.isDisposed?this.terminatingStatus:this.isDisposed?"dead":this.session.kernel?this.session.kernel.status:(p.ci(`Real kernel is ${this.session.kernel?"defined":"undefined"}`),"unknown")}dispose(){this.shutdown().finally(()=>super.dispose())}async waitForIdle(t,r){try{await iy(this.kernelConnectionMetadata,this.resource,this.session,t,r)}catch(i){throw p.ci("Error waiting for idle",i),await this.shutdown().catch(h),i}}async shutdown(){if(this.isDisposed||this.shutdownInProgress)return;this.shutdownInProgress=!0,this.terminatingStatus="terminating",this.statusChanged.emit("terminating");let t=`${this.session.kernel?.id}, ${this.kernelConnectionMetadata?.id}`;p.debug(`Shutdown session ${t} - start called from ${new Error("").stack}`),ny(this.session.kernel),await fr(1e3,this.session.shutdown().catch(h)),this.didShutdown.fire(),this.dispose(),p.debug(`Shutdown session ${t} - shutdown complete`)}};var Ia=k(UD()),Y5=k(Io());var T_=k(Io());var __=k(B5()),Q5=k(Io());var iu=k(kl());var k_=k(require("os"));var $5=k(kl()),IO=k(require("os"));var npe=["AlmaLinux","Alt","Amazon","Arch","ArchLinux","Asahi","Asahi Linux","Asianux","Alpine","Berry","BlackArch","BlackArch Linux","Cent","CentOS","Clear","Clear Linux","Clear","ClearOS","Debian","Elementary","Endeavour","EndeavourOS","Easy","EasyOS","Fedora","Fermi","Fuduntu","FreeBSD","Gecko","Gentoo","Kali","KDE","Knoppix","Kubuntu","Linux","LinuxMint","Mageia","Manjaro","Mint","Miracle","MX","MX Linux","Navy","Navy Linux","Nitrux","NixOS","openSUSE","Oracle","Pop!_OS","RasPiOS","Raspbian","Red Hat Enterprise Linux","Red Hat Linux","Red Hat","Rocks","Rocky","Rocky Linux","Rosa","Scientific","Scientific Linux","Slackware","SmartOS","SUSE","SUSE Linux","SUSE Liberty Linux","Ubuntu","VZLinux","Xubuntu","Zorin"],ipe=new RegExp(/^[0-9 .]*$/);async function q5(){let n={id:"",version_id:""};if(IO.platform()==="darwin"||IO.platform()==="win32")return n;try{let e=await $5.readFile("/etc/os-release","utf-8");Oe(e).forEach(t=>{let r=t.toUpperCase().trim().startsWith("ID="),i=t.toUpperCase().trim().startsWith("VERSION_ID=");if(r||i){let o=t.substring(t.indexOf("=")+1).replace(/"/g,"").toUpperCase();if(r)n.id=npe.filter(s=>o.includes(s.toUpperCase())).join(", ");else{let s=parseFloat(o)||"";n.version_id=ipe.test(o)?o:s.toString()}}})}catch(e){p.error("Failed to read distro info",e)}return n}var ope="zeromq";function x_(){try{let n=require(ope);return n.context.blocky=!1,SO(!1).catch(h),n}catch(n){try{let e=require(Le(jo,"dist","node_modules","zeromqold"));return p.info("ZMQ loaded via fallback mechanism."),SO(!1,!0,n.message||n.toString()).catch(h),e}catch(e){throw SO(!0,!0,n.message||n.toString(),e.message||e.toString()).catch(h),p.warn("Exception while attempting zmq :",n.message||n),p.warn("Exception while attempting zmq (fallback) :",e.message||e),e}}}async function spe(){try{let n=Le(jo,"dist","node_modules","zeromq","prebuilds");if(!await iu.pathExists(Le(jo,"dist","node_modules")))return;let e=await iu.readdir(n).then(r=>r.map(async i=>{let o=Le(n,i);return(await iu.stat(o)).isDirectory()?iu.readdir(o).then(a=>a.map(l=>Le(o,l))):[]}));return(await Promise.all(e.flat())).flat().map(r=>r.substring(r.lastIndexOf("prebuilds")+9+1).replace(/\\/g,"<sep>").replace(/\//g,"<sep>"))}catch(n){return p.warn("Failed to determine local zmq binaries.",n),["Failed to determine local zmq binaries."]}}var H5=!1;async function SO(n,e=!1,t="",r=""){if(H5)return;H5=!0;let[i,o]=await Promise.all([q5().catch(()=>({id:"",version_id:""})),spe()]),s=ape();R("DS_INTERNAL.JUPYTER_ZMQ_SUPPORT",void 0,{distro_id:i.id,distro_version_id:i.version_id,failed:n,fallbackTried:e,alpine:s.alpine,libc:s.libc,armv:s.armv,zmqarch:s.zmqarch}),R("DS_INTERNAL.JUPYTER_ZMQ_SUPPORT_FAILURE",void 0,{distro_id:i.id,distro_version_id:i.version_id,failed:n,fallbackTried:e,alpine:s.alpine,libc:s.libc,armv:s.armv,zmqarch:s.zmqarch,errorMessage:t,zmqBinaries:o,fallbackErrorMessage:r})}function G5(n){return n==="linux"&&iu.existsSync("/etc/alpine-release")}function ape(){try{let n=process.config&&process.config.variables||{},t=(process.env.npm_config_arch||"").trim()||k_.arch(),r=process.env.npm_config_platform||k_.platform(),i=G5(r),o=process.env.LIBC||(G5(r)?"musl":"glibc"),s=process.env.ARM_VERSION||(t==="arm64"?"8":n.arm_version)||"";return{alpine:i,libc:String(o),armv:String(s),zmqarch:t}}catch(n){return p.warn("Failed to determine platform information used to load zeromq binary.",n),{}}}function lpe(n,e){let t=n.transport==="tcp"?":":"-",r=n[`${e}_port`];if(!r)throw new Error(`Port not found for channel "${e}"`);return`${n.transport}://${n.ip}${t}${r}`}var D_=class{constructor(e,t){this.connection=e;this.serialize=t;this.onopen=h;this.onerror=h;this.onclose=h;this.onmessage=h;this.receiveHooks=[];this.sendHooks=[];this.msgChain=Promise.resolve();this.sendChain=Promise.resolve();this.closed=!1;this.channels=this.generateChannels(e)}dispose(){this.closed||this.close()}close(){this.closed=!0;let e=t=>{try{t.close()}catch(r){p.error("Error during socket shutdown",r)}};e(this.channels.control),e(this.channels.iopub),e(this.channels.shell),e(this.channels.stdin)}emit(e,...t){switch(e){case"message":this.onmessage({data:t[0],type:"message",target:this});break;case"close":this.onclose({wasClean:!0,code:0,reason:"",target:this});break;case"error":this.onerror({error:"",message:"to do",type:"error",target:this});break;case"open":this.onopen({target:this});break;default:break}return!0}send(e,t){this.sendMessage(e,!1)}addReceiveHook(e){this.receiveHooks.push(e)}removeReceiveHook(e){this.receiveHooks=this.receiveHooks.filter(t=>t!==e)}addSendHook(e){this.sendHooks.push(e)}removeSendHook(e){this.sendHooks=this.sendHooks.filter(t=>t!==e)}generateChannel(e,t,r){let i=r();return i.connect(lpe(e,t)),this.processSocketMessages(t,i).catch(o=>p.error(`Failed to read messages from channel ${t}`,o)),i}async processSocketMessages(e,t){for await(let r of t){if(this.closed)break;this.onIncomingMessage(e,r)}}generateChannels(e){let t=x_(),r=(0,Q5.default)(),i={iopub:this.generateChannel(e,"iopub",()=>new t.Subscriber({maxMessageSize:-1,receiveHighWaterMark:0})),shell:this.generateChannel(e,"shell",()=>new t.Dealer({routingId:r,sendHighWaterMark:0,receiveHighWaterMark:0,maxMessageSize:-1})),control:this.generateChannel(e,"control",()=>new t.Dealer({routingId:r,sendHighWaterMark:0,receiveHighWaterMark:0,maxMessageSize:-1})),stdin:this.generateChannel(e,"stdin",()=>new t.Dealer({routingId:r,sendHighWaterMark:0,receiveHighWaterMark:0,maxMessageSize:-1}))};return i.iopub.subscribe(),i}onIncomingMessage(e,t){let r=this.closed?{}:__.decode(t,this.connection.key,this.connection.signature_scheme);r.channel=e,this.receiveHooks.length?this.msgChain=this.msgChain.then(()=>{let i=this.serialize(r);return Promise.all(this.receiveHooks.map(o=>o(i)))}).then(()=>this.fireOnMessage(r,e)):this.msgChain=this.msgChain.then(()=>this.fireOnMessage(r,e))}fireOnMessage(e,t){if(!this.closed)try{upe(e,t),this.onmessage({data:e,type:"message",target:this})}catch(r){p.error(`Failed to handle message in Jupyter Kernel package ${JSON.stringify(e)}`,r)}}sendMessage(e,t){let r=__.encode(e,this.connection.key,this.connection.signature_scheme);if(!t&&this.sendHooks.length){let i=this.serialize(e);this.sendChain=this.sendChain.then(()=>Promise.all(this.sendHooks.map(o=>o(i,h)))).then(async()=>{try{await this.postToSocket(e.channel,r)}catch(o){p.error(`Failed to write data to the kernel channel ${e.channel}`,r,o)}})}else this.sendChain=this.sendChain.then(()=>{this.postToSocket(e.channel,r)});this.sendChain.catch(h)}postToSocket(e,t){let r=this.channels[e];r?r.send(t).catch(i=>{p.error("Error communicating with the kernel",i)}):p.error(`Attempting to send message on invalid channel: ${e}`)}},cpe=["username","version","session","msg_id","msg_type"],z5={stream:{name:"string",text:"string"},display_data:{data:"object",metadata:"object"},execute_input:{code:"string",execution_count:"number"},execute_result:{execution_count:"number",data:"object",metadata:"object"},error:{ename:"string",evalue:"string",traceback:"object"},status:{execution_state:["string",["starting","idle","busy","restarting","dead"]]},clear_output:{wait:"boolean"},comm_open:{comm_id:"string",target_name:"string",data:"object"},comm_msg:{comm_id:"string",data:"object"},comm_close:{comm_id:"string"},shutdown_reply:{restart:"boolean"}};function upe(n,e){let t=n.header;cpe.forEach(r=>{typeof t[r]!="string"&&(t[r]="")}),typeof n.channel!="string"&&(n.channel=e),n.content||(n.content={}),n.metadata||(n.metadata={}),n.channel==="iopub"&&dpe(n)}function dpe(n){if(n.channel!=="iopub")return;let e=n.header.msg_type;if(e in z5){let t=z5[e];if(t===void 0)return;let r=Object.keys(t),i=n.content;for(let o=0;o<r.length;o++){let s=t[r[o]];Array.isArray(s)||(s=[s]);let a=r[o];if(!(a in i)||typeof i[a]!==s[0])switch(s[0]){case"string":i[a]="";break;case"boolean":i[a]=!1;break;case"object":i[a]={};break;case"number":i[a]=0;break}}}}var Zd=k(UD()),ep=require("vscode");var CO,R_=class{constructor(e,t,r,i,o){this.resource=e;this.kernelLauncher=t;this.workingDirectory=r;this.launchTimeout=i;this.kernelConnectionMetadata=o;this.statusChanged=new Zd.Signal(this);this.connectionStatusChanged=new Zd.Signal(this);this.iopubMessage=new Zd.Signal(this);this.unhandledMessage=new Zd.Signal(this);this.anyMessage=new Zd.Signal(this);this.disposed=new Zd.Signal(this);this.id=(0,T_.default)();this.clientId=(0,T_.default)();this.username=(0,T_.default)();this.infoDeferred=re();this.name=Xh(o)||"python3",this.model={name:this.name,id:this.id}}get connectionStatus(){return this.realKernel?this.realKernel.connectionStatus:"connecting"}get serverSettings(){return this.realKernel.serverSettings}get status(){return this.isDisposed||this.hasShutdown?"dead":this.isRestarting?"restarting":this.isShuttingDown?"terminating":this.realKernel?this.realKernel.status:"starting"}get info(){return this.realKernel?this.realKernel.info:this.infoDeferred.promise}get handleComms(){return this.realKernel.handleComms}get isDisposed(){return this._isDisposed||this.realKernel?.isDisposed===!0}async restart(){this.stopHandlingKernelMessages(),this._isDisposed=!1,this.isShuttingDown=!1,this.hasShutdown=!1,this.isRestarting=!0,this.restartToken=new ep.CancellationTokenSource;try{this.statusChanged.emit("restarting"),await this.start(this.restartToken.token)}finally{this.restartToken.dispose()}}async start(e){let t=[],r=og(e);t.push(r);let i;try{let o=this.kernelProcess;this.kernelProcess=void 0,o?.dispose(),Xn(()=>this.socket?.dispose()),Xn(()=>this.realKernel?.dispose());let s=this.kernelProcess=await st.wrapAndReportProgress(this.resource,y.connectingToKernel(it(this.kernelConnectionMetadata)),()=>this.kernelLauncher.launch(this.kernelConnectionMetadata,this.launchTimeout,this.resource,this.workingDirectory.fsPath,e));if(e.isCancellationRequested)throw new ep.CancellationError;this.hookupKernelProcessExitHandler(s);let a=mpe(this.kernelProcess,this.clientId,this.username,this.model);this.kernelProcess=a.kernelProcess,this.realKernel=a.realKernel,this.socket=a.socket,a.realKernel.info.then(c=>this.infoDeferred.resolve(c),c=>this.infoDeferred.reject(c)),Ft(this.kernelProcess.exited)(c=>{i=new Ol(c.exitCode||-1,c.stderr,this.kernelConnectionMetadata),r.cancel()},this,t);let l=setTimeout(()=>r.cancel(),this.launchTimeout);if(t.push({dispose:()=>clearTimeout(l)}),await st.wrapAndReportProgress(this.resource,y.waitingForJupyterSessionToBeIdle,()=>{let c=Pn(this.resource)?.kernelReady();return ppe(r.token,this.launchTimeout,this.resource,this.kernelConnectionMetadata,a.realKernel).finally(()=>c?.stop())}),i)throw i;if(e.isCancellationRequested)throw new ep.CancellationError;this.startHandleKernelMessages(),this.isRestarting=!1,this.statusChanged.emit(this.status)}catch(o){throw await Promise.all([this.kernelProcess?Ss(this.kernelProcess):Promise.resolve(),this.realKernel?.shutdown().catch(s=>p.warn(`Failed to shutdown kernel, ${this.kernelConnectionMetadata.id}`,s))]),i||(sr(o)&&r.token.isCancellationRequested&&!e.isCancellationRequested?new Am(this.kernelConnectionMetadata):(sr(o)||e.isCancellationRequested?p.debug("Starting of raw session cancelled by user"):p.error(`Failed to connect raw kernel session: ${o}`),o))}finally{z(t)}}hookupKernelProcessExitHandler(e){let t=this.exitHandler;this.exitHandler=void 0,t?.dispose(),this.exitHandler=e.exited(r=>{e!==this.kernelProcess||this.isDisposing||!this.kernelProcess||this.status==="dead"||this.status==="terminating"||(p.error(`Disposing session as kernel process died ExitCode: ${r.exitCode}, Reason: ${r.reason}`),Pt(this.resource,"DS_INTERNAL.RAWKERNEL_SESSION_KERNEL_PROCESS_EXITED",r.exitCode?{exitCode:r.exitCode}:void 0,{exitReason:xh(r.reason)}),this.shutdown().catch(h))},this)}dispose(){this.isDisposed||this.isDisposing||(this.isDisposing=!0,this.shutdown().finally(()=>{this._isDisposed=!0,this.disposed.emit(),Zd.Signal.disconnectAll(this)}).catch(h))}async shutdown(){this.isShuttingDown||this.hasShutdown||(this.isShuttingDown=!0,this.restartToken?.cancel(),this.restartToken?.dispose(),ny(this.realKernel),await(this.kernelProcess?Ss(this.kernelProcess).catch(h):Promise.resolve()),this.socket.dispose(),this.stopHandlingKernelMessages(),this.isShuttingDown=!1,this.hasShutdown=!0,this.isDisposing&&(this._isDisposed=!0),this.statusChanged.emit(this.status),this.connectionStatusChanged.emit("disconnected"))}createComm(e,t){return this.realKernel.createComm(e,t)}hasComm(e){return this.realKernel.hasComm(e)}clone(e){return this}get spec(){if(Zh(this.kernelConnectionMetadata)){let e=JSON.parse(JSON.stringify(this.kernelConnectionMetadata.kernelSpec)),t="resources"in e?e.resources:{};return{...e,resources:t}}return p.error("Fetching kernel spec from raw kernel using JLab API"),this.realKernel.spec}sendShellMessage(e,t,r){return this.realKernel.sendShellMessage(e,t,r)}sendControlMessage(e,t,r){return this.realKernel.sendControlMessage(e,t,r)}reconnect(){throw new Error("Reconnect is not supported for Local Kernels as connections cannot be lost.")}async interrupt(){if(this.kernelProcess?.canInterrupt)return this.kernelProcess?.interrupt();if(this.kernelConnectionMetadata.kernelSpec.interrupt_mode==="message"){p.info("Interrupting kernel with a shell message");let t=require("@jupyterlab/services").KernelMessage.createMessage({msgType:"interrupt_request",channel:"shell",username:this.realKernel.username,session:this.realKernel.clientId,content:{}});await this.realKernel.sendShellMessage(t,!0,!0).done.catch(r=>p.error("Failed to interrupt via a message",r))}else p.error("Kernel interrupt not supported")}requestKernelInfo(){return this.realKernel.requestKernelInfo()}requestComplete(e){return this.realKernel.requestComplete(e)}requestInspect(e){return this.realKernel.requestInspect(e)}requestHistory(e){return this.realKernel.requestHistory(e)}requestExecute(e,t,r){return this.realKernel.requestExecute(e,t,r)}requestDebug(e,t){return this.realKernel.requestDebug(e,t)}requestIsComplete(e){return this.realKernel.requestIsComplete(e)}requestCommInfo(e){return this.realKernel.requestCommInfo(e)}sendInputReply(e){return this.realKernel.sendInputReply(e)}registerCommTarget(e,t){return this.realKernel.registerCommTarget(e,t)}removeCommTarget(e,t){return this.realKernel.removeCommTarget(e,t)}registerMessageHook(e,t){this.realKernel.registerMessageHook(e,t)}removeMessageHook(e,t){this.realKernel.removeMessageHook(e,t)}startHandleKernelMessages(){this.realKernel.anyMessage.connect(this.onAnyMessage,this),this.realKernel.iopubMessage.connect(this.onIOPubMessage,this),this.realKernel.unhandledMessage.connect(this.onUnhandledMessage,this),this.realKernel.statusChanged.connect(this.onStatusChanged,this),this.realKernel.disposed.connect(this.onDisposed,this)}stopHandlingKernelMessages(){this.realKernel.anyMessage.disconnect(this.onAnyMessage,this),this.realKernel.iopubMessage.disconnect(this.onIOPubMessage,this),this.realKernel.unhandledMessage.disconnect(this.onUnhandledMessage,this),this.realKernel.statusChanged.disconnect(this.onStatusChanged,this),this.realKernel.disposed.disconnect(this.onDisposed,this)}onAnyMessage(e,t){this.anyMessage.emit(t)}onIOPubMessage(e,t){this.iopubMessage.emit(t)}onUnhandledMessage(e,t){this.unhandledMessage.emit(t)}onStatusChanged(e,t){this.statusChanged.emit(t)}onDisposed(e){this.disposed.emit()}};async function ppe(n,e,t,r,i){try{p.debug("Waiting for Raw Session to be ready in postStartRawSession"),await Zt(n,fpe(i,r,e)),p.debug("Successfully waited for Raw Session to be ready in postStartRawSession")}catch(u){throw p.error("Failed waiting for Raw Session to be ready",u),sr(u)||n.isCancellationRequested?new ep.CancellationError:u}p.debug(`Kernel status is '${i?.status}' before requesting kernel info and after ready`);let o=re(),s=re(),a=()=>o.resolve(!0);o.promise.catch(h),s.promise.catch(h),i.iopubMessage.connect(a);let l=()=>{let d=require("@jupyterlab/services").KernelMessage.createMessage({msgType:"kernel_info_request",channel:"control",username:i.username,session:i.clientId,content:{}});i.sendControlMessage(d,!0,!0).done.then(()=>s.resolve(!0)).catch(h)},c=()=>{i.requestKernelInfo().then(()=>s.resolve(!0)).catch(h)};try{let u=new Ue,d=0;for(;u.elapsedTime<e*1e3;){d+=1;try{p.debug("Sending request for kernelInfo"),l(),c(),await Zt(n,Promise.all([o.promise,s.promise]),gi(Math.min(e,500)).then(h))}catch(f){throw p.error("Failed to request kernel info",f),f}if(o.completed&&s.completed){p.trace("Got response for requestKernelInfo");break}else{p.trace("Did not get a response for requestKernelInfo");continue}}o.completed&&s.completed?p.debug(`Successfully completed postStartRawSession after ${d} attempt(s) in ${u.elapsedTime}ms`):p.warn(`Didn't get response for requestKernelInfo after ${d} attempt(s) in ${u.elapsedTime}ms.`),Pt(t,"DS_INTERNAL.RAWKERNEL_INFO_RESPONSE",{duration:u.elapsedTime,attempts:d},{timedout:!o.completed||!s.completed})}finally{i.iopubMessage.disconnect(a)}}function mpe(n,e,t,r){let i=require("@jupyterlab/services"),o=require("@jupyterlab/services/lib/kernel/serialize"),s;class a extends D_{constructor(){super(n.connection,o.serialize),s=this}}let l=i.ServerConnection.makeSettings({WebSocket:a,wsUrl:"RAW"});CO||(CO=require("@jupyterlab/services/lib/kernel/nonSerializingKernel"));let c=new CO.KernelConnection({serverSettings:l,clientId:e,handleComms:!0,username:t,model:r});return ep.workspace.getConfiguration("jupyter").get("enablePythonKernelLogging",!1)&&c.anyMessage.connect((u,d)=>{p.trace(`[AnyMessage Event] [${d.direction}] [${n.pid}] ${JSON.stringify(d.msg)}`)}),Yi.set(c.id,s),s.emit("open"),{realKernel:c,socket:s,kernelProcess:n}}async function fpe(n,e,t){p.debug(`Waiting for Raw session to be ready, status: ${n.connectionStatus}`);let r=re(),i=(s,a)=>{a=="connected"?(p.trace("Raw session connected"),r.resolve(a)):p.trace(`Raw session not connected, status: ${a}`)};n.connectionStatusChanged.connect(i),n.connectionStatus==="connected"&&(p.trace("Raw session connected"),r.resolve(n.connectionStatus));let o=await fr(t,r.promise);if(n.connectionStatusChanged.disconnect(i),p.debug(`Waited for Raw session to be ready & got status: ${o}`),o!=="connected")throw new Am(e)}var A_=class{constructor(e,t,r,i,o,s){this.resource=e;this.kernelConnectionMetadata=i;this.type=s;this.isDisposed=!1;this.statusChanged=new Ia.Signal(this);this.kernelChanged=new Ia.Signal(this);this.terminated=new Ia.Signal(this);this.iopubMessage=new Ia.Signal(this);this.unhandledMessage=new Ia.Signal(this);this.anyMessage=new Ia.Signal(this);this.disposed=new Ia.Signal(this);this.connectionStatusChanged=new Ia.Signal(this);this.propertyChanged=new Ia.Signal(this);this._didShutDownOnce=!1;this.id=(0,Y5.default)(),this.name=Xh(this.kernelConnectionMetadata)||"python3",this.path=this.resource?.fsPath||this.kernelConnectionMetadata.interpreter?.uri.fsPath||"kernel_path",this._kernel=new R_(e,t,r,o,i),this._kernel.statusChanged.connect(this.onKernelStatus,this),this._kernel.iopubMessage.connect(this.onIOPubMessage,this),this._kernel.connectionStatusChanged.connect(this.onKernelConnectionStatus,this),this._kernel.unhandledMessage.connect(this.onUnhandledMessage,this),this._kernel.anyMessage.connect(this.onAnyMessage,this),this._kernel.disposed.connect(this.onDisposed,this)}get connectionStatus(){return this._kernel?.connectionStatus||"disconnected"}get serverSettings(){return require("@jupyterlab/services").ServerConnection.makeSettings({wsUrl:"RAW"})}get model(){return{id:this.id,name:this.name,path:this.path,type:"notebook",kernel:{id:this._kernel?.id,name:this.name}}}get status(){return this.isDisposed?"dead":this.isTerminating?"terminating":this.kernel?.status??"unknown"}get kernel(){return this._kernel}async startKernel(e){await Qi(this.resource,{kernelConnection:this.kernelConnectionMetadata}),await this._kernel.start(e.token)}dispose(){this._isDisposing=!0;let e=new Error().stack;Pt(this.resource,"DS_INTERNAL.RAWKERNEL_SESSION_DISPOSED",void 0,{stacktrace:e});try{this._kernel.statusChanged.disconnect(this.onKernelStatus,this),this._kernel.iopubMessage.disconnect(this.onIOPubMessage,this),this._kernel.connectionStatusChanged.disconnect(this.onKernelConnectionStatus,this),this._kernel.unhandledMessage.disconnect(this.onUnhandledMessage,this),this._kernel.anyMessage.disconnect(this.onAnyMessage,this),this._kernel.disposed.disconnect(this.onDisposed,this)}catch{}this.shutdown().catch(h).finally(()=>{this._kernel.dispose(),this.isDisposed=!0,this.disposed.emit(),Ia.Signal.disconnectAll(this)})}async shutdown(){this._didShutDownOnce||(this._didShutDownOnce=!0,this.isTerminating=!0,this.statusChanged.emit("terminating"),await this._kernel.shutdown().catch(e=>p.warn(`Failed to shutdown kernel, ${this.kernelConnectionMetadata.id}`,e)),this.isTerminating=!1,this._isDisposing&&(this.isDisposed=!0),this.terminated.emit(),this.statusChanged.emit(this.status))}onKernelStatus(e,t){p.ci(`RawSession status changed to ${t}`),this.statusChanged.emit(t)}setPath(e){throw new Error("Not yet implemented")}setName(e){throw new Error("Not yet implemented")}setType(e){throw new Error("Not yet implemented")}changeKernel(e){throw new Error("Not yet implemented")}onIOPubMessage(e,t){this.iopubMessage.emit(t)}onAnyMessage(e,t){this.anyMessage.emit(t)}onUnhandledMessage(e,t){this.unhandledMessage.emit(t)}onKernelConnectionStatus(e,t){this.connectionStatusChanged.emit(t)}onDisposed(e){this.disposed.emit()}};var Ry=class{constructor(e,t,r){this.configService=e;this.kernelLauncher=t;this.fs=r}async create(e){p.trace(`Creating raw notebook for resource '${j(e.resource)}'`);let t,r=Pn(e.resource)?.computeCwd(),[i,o]=await Promise.all([Zt(e.token,OC(e.resource).then(a=>ou.Uri.file(a))),ct(e.kernelConnection)?Zt(e.token,hpe(e.resource,this.configService,this.fs).then(a=>a?ou.Uri.file(a):void 0)):void 0,Zt(e.token,Qi(e.resource,{kernelConnection:e.kernelConnection}))]);r?.stop();let s=this.configService.getSettings(e.resource).jupyterLaunchTimeout;t=new A_(e.resource,this.kernelLauncher,o||i,e.kernelConnection,s,(e.resource?.path||"").toLowerCase().endsWith(".ipynb")?"notebook":"console");try{await Zt(e.token,t.startKernel(e))}catch(a){throw sr(a)||e.token.isCancellationRequested?p.debug("Starting of raw session cancelled by user"):p.error(`Failed to connect raw kernel session: ${a}`),t?.shutdown().catch(l=>p.error(`Failed to dispose of raw session on launch error: ${l} `)).finally(()=>t?.dispose()).catch(h),a}return new E_(t,e.resource,e.kernelConnection)}};Ry=v([(0,Ay.injectable)(),m(0,(0,Ay.inject)(ie)),m(1,(0,Ay.inject)(nD)),m(2,(0,Ay.inject)(tt))],Ry);async function hpe(n,e,t){let r=await gpe(n,e,t);if(r&&await t.exists(r))return r.fsPath;if(n&&n.scheme!=="untitled"&&await t.exists(n)&&(r=ou.Uri.file(BP(ke(r),n,e.getSettings(n))),r&&await t.exists(r)))return r.fsPath}async function gpe(n,e,t){let r,i=e.getSettings(n),o=CB(i.notebookFileRoot);if(o&&ou.workspace.workspaceFolders?.length){let s=ou.Uri.file(o),a=ou.workspace.workspaceFolders[0].uri;if(DE(o))await t.exists(s)?r=s:r=a;else if(o.includes("${"))r=s;else{let l=ou.Uri.joinPath(a,o);await t.exists(l)?r=l:r=a}}return r}var N_=k(N());var Ny=class{constructor(e){this.configuration=e}get isSupported(){return this.isSupportedForLocalLaunch()}isSupportedForLocalLaunch(){return!this.isZQMDisabled()&&this.zmqSupported()}isZQMDisabled(){return this.configuration.getSettings().disableZMQSupport}zmqSupported(){if(typeof this._isSupported=="boolean")return this._isSupported;if((process.env.VSC_JUPYTER_NON_RAW_NATIVE_TEST||"").toLowerCase()==="true")return!1;try{x_(),this._isSupported=!0}catch{this._isSupported=!1}return this._isSupported}};Ny=v([(0,N_.injectable)(),m(0,(0,N_.inject)(ie))],Ny);var su=k(N()),X5=require("vscode");var yn=Symbol("IJupyterVariables"),M_=Symbol("IKernelVariableRequester"),K_=Symbol("IJupyterVariablesProvider");var Zm=class{constructor(e,t,r){this.kernelVariables=t;this.debuggerVariables=r;this.refreshEventEmitter=new X5.EventEmitter;e.push(r.refreshRequired(this.fireRefresh.bind(this))),e.push(t.refreshRequired(this.fireRefresh.bind(this)))}get refreshRequired(){return this.refreshEventEmitter.event}getAllVariableDiscriptions(e,t,r,i){return this.variableHandler.getAllVariableDiscriptions(e,t,r,i)}async getVariables(e,t){return this.variableHandler.getVariables(e,t)}async getFullVariable(e,t){return this.variableHandler.getFullVariable(e,t)}async getMatchingVariable(e,t,r){return this.variableHandler.getMatchingVariable(e,t,r)}async getDataFrameInfo(e,t,r,i){return this.variableHandler.getDataFrameInfo(e,t,r,i)}async getVariableValueSummary(e,t,r){return this.variableHandler.getVariableValueSummary(e,t,r)}async getDataFrameRows(e,t,r,i,o){return this.variableHandler.getDataFrameRows(e,t,r,i,o)}get variableHandler(){return this.debuggerVariables.active?this.debuggerVariables:this.kernelVariables}fireRefresh(){this.refreshEventEmitter.fire()}};v([or("DS_INTERNAL.VARIABLE_EXPLORER_FETCH_TIME")],Zm.prototype,"getVariables",1),Zm=v([(0,su.injectable)(),m(0,(0,su.inject)(M)),m(1,(0,su.inject)(yn)),m(1,(0,su.named)(je.KERNEL_VARIABLES)),m(2,(0,su.inject)(yn)),m(2,(0,su.named)(je.DEBUGGER_VARIABLES))],Zm);var ef=k(N());var eq=require("vscode");var Z5=1e3*60*60*24*2,Sa=class extends Qt{constructor(t,r,i,o){super();this.serverStorage=r;this.context=i;this.fs=o;this.executedCells=new WeakMap;this.chainedPromises=Promise.resolve();i.globalStorageUri,t.push(this),this.storageFile=eq.Uri.joinPath(this.context.globalStorageUri,"lastExecutedRemoteCell.json")}activate(){this._register(this.serverStorage.onDidRemove(this.onDidRemoveServers,this))}async getLastTrackedCellExecution(t,r){if(t.isUntitled||!_t(r.kernelConnectionMetadata)||!r.session?.id)return;if(this.staleState&&this.staleState[t.uri.toString()])return this.staleState[t.uri.toString()];let i=await this.getStorageFile(),o={};try{let s=await this.fs.readFile(i);o=JSON.parse(s.toString()),this.staleState=o}catch{return}return o[t.uri.toString()]}trackCellExecution(t,r){if(!_t(r.kernelConnectionMetadata)||t.document.isUntitled)return;this.executedCells.delete(t);let i=[],o=(a,l)=>{if(l.direction==="send"){let c=l.msg;if(c.header.msg_type==="execute_request"&&c.metadata&&typeof c.metadata=="object"&&c.metadata&&"cellId"in c.metadata&&typeof c.metadata.cellId=="string"&&c.metadata.cellId===t.document.uri.toString()){let u=c.header.msg_id;this.executedCells.set(t,{msg_id:u,kernelId:r.session?.kernel?.id||"",cellIndex:t.index})}}else if(l.direction==="recv"){let c=l.msg,u=this.executedCells.get(t);if(u?.msg_id&&Zc(c)===u.msg_id){if(!u.startTime){u.startTime=new Date().getTime();try{u.startTime=new Date(c.header.date).getTime()}catch{}this.executedCells.set(t,u)}"execution_count"in c.content&&typeof c.content.execution_count=="number"&&!u.executionCount&&u.executionCount!==c.content.execution_count&&(u.executionCount=c.content.execution_count,this.executedCells.set(t,u),this.trackLastExecution(t,r,u),z(i))}}},s=()=>{let a=r.session;a&&(a.anyMessage.connect(o),i.push({dispose:()=>Xn(()=>a.anyMessage?.disconnect(o))}))};r.onStarted(()=>s(),i),r.session&&s()}deleteTrackedCellExecution(t,r){t.notebook.isUntitled||!_t(r.kernelConnectionMetadata)||!r.session?.id||(this.chainedPromises=this.chainedPromises.finally(async()=>{let i={};try{let s=await this.getStorageFile().then(()=>this.fs.readFile(this.storageFile));i=JSON.parse(s.toString())}catch{return}let o=t.notebook.uri.toString();i[o].cellIndex===t.index&&(delete i[o],this.staleState=i,await this.fs.writeFile(this.storageFile,JSON.stringify(i)))}))}getStorageFile(){return this.ensureStorageExistsPromise=this.ensureStorageExistsPromise||(async()=>(await this.fs.createDirectory(this.context.globalStorageUri),this.storageFile))(),this.ensureStorageExistsPromise}trackLastExecution(t,r,i){if(!i.executionCount||!i.msg_id||!i.startTime||!_t(r.kernelConnectionMetadata)||!r.session?.id)return;let o={cellIndex:t.index,executionCount:i.executionCount,kernelId:r.session?.kernel?.id||"",msg_id:i.msg_id,serverId:Ot(r.kernelConnectionMetadata.serverProviderHandle),sessionId:r.session?.id,startTime:i.startTime};this.chainedPromises=this.chainedPromises.finally(async()=>{let s={};try{let l=await this.getStorageFile().then(()=>this.fs.readFile(this.storageFile));s=JSON.parse(l.toString())}catch{}let a=t.notebook.uri.toString();s[a]=o,this.removeOldItems(s),this.staleState=s,await this.fs.writeFile(this.storageFile,JSON.stringify(s))})}onDidRemoveServers(t){t.length!==0&&(this.chainedPromises=this.chainedPromises.finally(async()=>{await this.getStorageFile();let r={};try{let s=await this.fs.readFile(this.storageFile);r=JSON.parse(s.toString())}catch{}let i=!1,o=new Set(t.map(s=>Ot(s)));Object.keys(r).forEach(s=>{let a=r[s];(o.has(a.serverId)||Date.now()-a.startTime>Z5)&&(delete r[s],i=!0)}),i&&(this.removeOldItems(r),this.staleState=r,await this.fs.writeFile(this.storageFile,JSON.stringify(r)))}))}removeOldItems(t){Object.keys(t).forEach(r=>{let i=t[r];i&&Date.now()-i.startTime>Z5&&delete t[r]})}};Sa=v([(0,ef.injectable)(),m(0,(0,ef.inject)(M)),m(1,(0,ef.inject)($t)),m(2,(0,ef.inject)(et)),m(3,(0,ef.inject)(tt))],Sa);var Ky=k(N());var uw=require("vscode");var My=class{constructor(e,t,r){this.serverUriStorage=e;this.registrations=t;this.disposables=r}activate(){this.disposables.push(uw.commands.registerCommand(B.ClearSavedJupyterUris,async()=>{await this.serverUriStorage.clear().catch(h),await Promise.all(this.registrations.jupyterCollections.filter(e=>e.id.startsWith("_builtin")||e.extensionId===Fe).map(async e=>{if(!e.serverProvider||!e.serverProvider.removeJupyterServer)return;let t=new uw.CancellationTokenSource,r=await Promise.resolve(e.serverProvider.provideJupyterServers(t.token));await Promise.all((r||[]).map(i=>e.serverProvider.removeJupyterServer(i).catch(h)))})).catch(h),await uw.commands.executeCommand("dataScience.ClearUserProviderJupyterServerCache").then(h,h)},this))}};My=v([(0,Ky.injectable)(),m(0,(0,Ky.inject)($t)),m(1,(0,Ky.inject)(jt)),m(2,(0,Ky.inject)(M))],My);var O_=k(N());var Oy=class{constructor(e){this.registry=e;this.priority=0}activate(){this.registry.register(this,St),this.registry.register(this,ft)}async getCode(e){return dt(e.kernelConnectionMetadata)?[lj]:[]}};Oy=v([(0,O_.injectable)(),m(0,(0,O_.inject)(kc))],Oy);function tq(n,e){n.addSingleton(me,Dv),n.addSingleton(me,Rv),n.addSingleton(oi,Ny),n.addSingleton(Ho,Ho),n.addSingleton(iD,Ry),n.addSingleton(nD,Vs),n.addSingleton(fa,fa),n.addSingleton(kr,cy),n.addSingleton(me,Qm),n.addSingleton(me,_v),n.addSingleton(Mr,Mr),n.addSingleton(Yd,Bl),n.addSingleton(Yo,Yo),n.addBinding(Yo,me),n.addSingleton(tu,tu),n.addSingleton(me,yy),n.addSingleton(yn,Zm,je.ALL_VARIABLES),n.addSingleton(Es,Hd),n.addSingleton(me,Hm),n.addSingleton(me,hy),n.addSingleton(me,ay),n.addSingleton(me,ly),n.addSingleton(me,vy),n.addSingleton(De,my),n.addSingleton(sm,fy),n.addSingleton(me,My),n.addSingleton(Sa,Sa),n.addBinding(Sa,me),u8(n,e),_h("isInsiderExtension",Qf()?"true":"false");let t=n.get(Be);_h("isPythonExtensionInstalled",t.isPythonExtensionInstalled?"true":"false");let r=n.get(oi);_h("rawKernelSupported",r.isSupported?"true":"false"),n.addSingleton(me,Qr),n.addSingleton(kc,gy),n.addSingleton(nu,nu),n.addSingleton(me,Oy)}var tp=k(N()),tf=require("vscode");var Fy=class{constructor(e,t,r,i,o){this.disposables=e;this.extensionChecker=t;this.progressReporter=r;this.pythonApi=i;this.errorHandler=o}activate(){this.disposables.push(tf.commands.registerCommand(B.InstallPythonExtensionViaKernelPicker,this.installPythonExtensionViaKernelPicker,this)),this.disposables.push(tf.commands.registerCommand(B.InstallPythonViaKernelPicker,this.installPythonViaKernelPicker,this))}async installPythonViaKernelPicker(){R("DS_INTERNAL.PYTHON_NOT_INSTALLED",void 0,{action:"displayed"});let e=this.installedOnceBefore?[de.install,de.reload]:[de.install],t=await tf.window.showErrorMessage(y.pythonNotInstalled,{modal:!0},...e);t===de.install?(this.installedOnceBefore=!0,R("DS_INTERNAL.PYTHON_NOT_INSTALLED",void 0,{action:"download"}),await tf.commands.executeCommand("python.installPython")):t===de.reload?(R("DS_INTERNAL.PYTHON_NOT_INSTALLED",void 0,{action:"reload"}),await tf.commands.executeCommand("jupyter.reloadVSCode",y.reloadRequired)):R("DS_INTERNAL.PYTHON_NOT_INSTALLED",void 0,{action:"dismissed"})}async installPythonExtensionViaKernelPicker(){if(!this.extensionChecker.isPythonExtensionInstalled){R("DS_INTERNAL.PYTHON_EXTENSION_NOT_INSTALLED",void 0,{action:"displayed"});let e=this.progressReporter.createProgressIndicator(y.installingPythonExtension);try{await this.extensionChecker.directlyInstallPythonExtension();let t="hooked",r=await fr(6e4,"timeout",this.pythonApi.pythonExtensionHooked.then(()=>t));if(this.extensionChecker.isPythonExtensionInstalled&&r===t)return p.debug("Python Extension installed via Kernel Picker command"),R("DS_INTERNAL.PYTHON_EXTENSION_INSTALLED_VIA_KERNEL_PICKER",void 0,{action:"success"}),!0;p.error("Failed to install Python Extension via Kernel Picker command"),R("DS_INTERNAL.PYTHON_EXTENSION_INSTALLED_VIA_KERNEL_PICKER",void 0,{action:"failed"}),this.errorHandler.handleError(new Error(y.failedToInstallPythonExtension)).then(h,h)}finally{e.dispose()}}}};Fy=v([(0,tp.injectable)(),m(0,(0,tp.inject)(M)),m(1,(0,tp.inject)(Be)),m(2,(0,tp.inject)($o)),m(3,(0,tp.inject)(Ht)),m(4,(0,tp.inject)(Gr))],Fy);var Ly=k(N()),nf=require("vscode");var rf=class{constructor(e,t,r){this.disposables=e;this.controllerRegistration=t;this.preferredRemoteKernelIdProvider=r}activate(){nf.workspace.onDidOpenNotebookDocument(this.onDidOpenNotebook,this,this.disposables),nf.workspace.notebookDocuments.forEach(e=>this.onDidOpenNotebook(e))}async onDidOpenNotebook(e){if(!Et(e))return;let t=await this.preferredRemoteKernelIdProvider.getPreferredRemoteKernelId(e);if(!t)return;let r=()=>{let o=this.controllerRegistration.getSelected(e),s=this.controllerRegistration.registered.find(a=>a.id===t);return s&&o?.id!==s.id?(this.switchKernel(e,s.connection).catch(h),!0):!1};if(r())return;let i=this.controllerRegistration.onDidChange(o=>{o.added.length&&r()&&i.dispose()},this,this.disposables);this.controllerRegistration.onControllerSelected(o=>{o.notebook===e&&i.dispose()},this,this.disposables)}async switchKernel(e,t){p.debug(`Using notebook.selectKernel to force remote kernel for ${j(e.uri)} to ${t.id}`),await nf.commands.executeCommand("notebook.selectKernel",{id:t.id,extension:Fe}),await vE(async()=>{if(nf.window.activeNotebookEditor?.notebook===e){let i=this.controllerRegistration.getSelected(e);if(i?.connection.id===t.id)return i.restoreConnection(e).catch(h),!0}return!1},2e3,100)?p.debug(`Successfully switched remote kernel for ${j(e.uri)} to ${t.id}`):p.warn(`Failed to switch remote kernel for ${j(e.uri)} to ${t.id}`)}};v([Br()],rf.prototype,"onDidOpenNotebook",1),rf=v([(0,Ly.injectable)(),m(0,(0,Ly.inject)(M)),m(1,(0,Ly.inject)(ot)),m(2,(0,Ly.inject)(Ho))],rf);var Wy=k(N()),np=require("vscode");var Po=require("vscode");function ql(n){if(typeof n!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof n}\``);var e=nq();let t=e;return t.default&&(t=t.default),n.replace(t(),"")}var pw=k(N()),cq=require("vscode");var wO=k(Io()),sq=require("vscode");function iq(n){if(!n||!Array.isArray(n)||n.length===0)return;let e=[];for(let t=0;t<n.length;t+=1){let r=n[t];if("buffer"in r&&"byteOffset"in r){let i=Array.apply(null,new Uint8Array(r.buffer));e.push({...r,byteLength:r.byteLength,byteOffset:r.byteOffset,buffer:i})}else e.push([...new Uint8Array(r)])}return e}function oq(n){if(!Array.isArray(n)||n.length===0)return n;let e=[];for(let t=0;t<n.length;t+=1){let r=n[t];if("buffer"in r&&"byteOffset"in r){let i=new Uint8Array(r.buffer).buffer,o=new DataView(i,r.byteOffset,r.byteLength);e.push(o)}else{let i=new Uint8Array(r).buffer;e.push(i)}}return e}var dw=new WeakMap;function aq(n,e){let t=dw.get(n);t&&(t.targets.add(e),t.registerCommTarget(e))}function lq(n,e){dw.get(n)?.targets?.delete?.(e)}var F_=class{constructor(e,t){this.kernelProvider=e;this.document=t;this.commTargetsRegistered=new Set;this.pendingTargetNames=new Set;this._postMessageEmitter=new sq.EventEmitter;this.messageHooks=new Map;this.pendingHookRemovals=new Map;this.messageHookRequests=new Map;this.disposables=[];this.disposed=!1;this.pendingMessages=[];this.subscribedToKernelSocket=!1;this.waitingMessageIds=new Map;this.outputWidgetIds=new Set;this.isUsingIPyWidgets=!1;this.pendingTargetNames.add("jupyter.widget"),e.onDidStartKernel(i=>{i.notebook===t&&this.initialize()},this,this.disposables),this.mirrorSend=this.mirrorSend.bind(this),this.onKernelSocketMessage=this.onKernelSocketMessage.bind(this);let r=require("@jupyterlab/services/lib/kernel/serialize");this.deserialize=r.deserialize}get postMessage(){return this._postMessageEmitter.event}dispose(){for(this.disposed=!0;this.disposables.length;)this.disposables.shift()?.dispose()}receiveMessage(e){switch(e.message){case"IPyWidgets_logMessage":{let t=e.payload;t.category==="error"?p.error(`Widget Error: ${t.message}`):p.trace(`Widget Message: ${t.message}`);break}case"IPyWidgets_Ready":this.sendKernelOptions(),this.initialize();break;case"IPyWidgets_msg":this.sendRawPayloadToKernelSocket(e.payload);break;case"IPyWidgets_binary_msg":this.sendRawPayloadToKernelSocket(oq(e.payload)[0]);break;case"IPyWidgets_msg_received":this.onKernelSocketResponse(e.payload);break;case"IPyWidgets_registerCommTarget":this.registerCommTarget(e.payload);break;case"IPyWidgets_RegisterMessageHook":this.registerMessageHook(e.payload);break;case"IPyWidgets_RemoveMessageHook":this.possiblyRemoveMessageHook(e.payload);break;case"IPyWidgets_MessageHookResult":this.handleMessageHookResponse(e.payload);break;case"IPyWidgets_iopub_msg_handled":this.iopubMessageHandled(e.payload);break;default:break}}sendRawPayloadToKernelSocket(e){this.pendingMessages.push(e),this.sendPendingMessages()}registerCommTarget(e){this.pendingTargetNames.add(e),this.initialize()}initialize(){this.jupyterLab||(this.jupyterLab=require("@jupyterlab/services"));let e=this.getKernel();e&&(this.subscribeToKernelSocket(e),this.registerCommTargets(e))}raisePostMessage(e,t){this._postMessageEmitter.fire({message:e,payload:t})}subscribeToKernelSocket(e){if(this.subscribedToKernelSocket||!e.session)return;this.subscribedToKernelSocket=!0,this.subscribeToKernelSocketImpl(e);let t=e.session.kernel?.id;e.session.onDidKernelSocketChange(()=>{this.subscribeToKernelSocketImpl(e,t),t=e.session?.kernel?.id||""})}subscribeToKernelSocketImpl(e,t){let r=t?Yi.get(t):void 0;if(r?.removeReceiveHook(this.onKernelSocketMessage),r?.removeSendHook(this.mirrorSend),this.kernelWasConnectedAtLeastOnce){for(;this.pendingMessages.length;)this.pendingMessages.shift();this.waitingMessageIds.forEach(s=>s.resultPromise.resolve()),this.waitingMessageIds.clear(),this.messageHookRequests.forEach(s=>s.resolve(!1)),this.messageHookRequests.clear(),this.messageHooks.clear(),this.sendRestartKernel()}if(!e.session?.kernel?.id||!Yi.get(e.session?.kernel?.id))return;dw.has(e.session.kernel)||dw.set(e.session.kernel,{targets:new Set,registerCommTarget:s=>{this.raisePostMessage("IPyWidgets_registerCommTarget",s)}}),this.kernelWasConnectedAtLeastOnce=!0;let i=e.session.kernel?.id,o=i?Yi.get(i):void 0;o?.addReceiveHook(this.onKernelSocketMessage),o?.addSendHook(this.mirrorSend),this.sendKernelOptions(),this.registerCommTargets(e),this.sendPendingMessages()}sendKernelOptions(){this.kernel?.session?.kernel&&this.raisePostMessage("IPyWidgets_kernelOptions",{id:this.kernel?.session?.kernel?.id||"",clientId:this.kernel?.session?.kernel?.clientId||"",userName:this.kernel?.session?.kernel?.username||"",model:this.kernel?.session?.kernel?.model||{id:"",name:""}})}async mirrorSend(e,t){if(typeof e=="string"&&e.includes("shell")&&e.includes("execute_request")){let r=this.deserialize(e);if(r.channel==="shell"&&r.header.msg_type==="execute_request"){if(!XD(r))return;let i=this.mirrorExecuteRequest(r);this.isUsingIPyWidgets&&await i}}}sendRestartKernel(){this.raisePostMessage("IPyWidgets_onRestartKernel",void 0)}mirrorExecuteRequest(e){let t=re();return this.waitingMessageIds.set(e.header.msg_id,{startTime:Date.now(),resultPromise:t}),this.raisePostMessage("IPyWidgets_mirror_execute",{id:e.header.msg_id,msg:e}),t.promise}messageNeedsFullHandle(e){return e.channel==="iopub"&&e.header?.msg_type==="comm_msg"&&e.content?.data?.method==="update"&&this.outputWidgetIds.has(e.content?.comm_id)}iopubMessageHandled(e){let t=e.id;this.fullHandleMessage&&this.fullHandleMessage.id===t&&(this.fullHandleMessage.promise.resolve(),this.fullHandleMessage=void 0)}async onKernelSocketMessage(e){let t=(0,wO.default)(),r=re();if(this.waitingMessageIds.set(t,{startTime:Date.now(),resultPromise:r}),typeof e=="string"?XD(e)&&this.raisePostMessage("IPyWidgets_msg",{id:t,data:e}):this.raisePostMessage("IPyWidgets_binary_msg",{id:t,data:iq([e])}),typeof e!="string"||e.includes(Ui)||e.includes(je.DefaultCommTarget)||e.includes("comm_open")||e.includes("comm_close")||e.includes("comm_msg")){let o=this.deserialize(e);if(!XD(o))return;o&&o.content&&o.content.data&&(o.content.data[Ui]||o.content.target_name===je.DefaultCommTarget)&&(this.isUsingIPyWidgets=!0);let s=o.header?.msg_type==="comm_open"&&o.content?.data?.state?._model_module==="@jupyter-widgets/output"&&o.content?.data?.state?._model_name==="OutputModel",a=o.header?.msg_type==="comm_close"&&this.outputWidgetIds.has(o.content?.comm_id);s?this.outputWidgetIds.add(o.content.comm_id):a?this.outputWidgetIds.delete(o.content.comm_id):this.messageNeedsFullHandle(o)&&(this.fullHandleMessage={id:o.header.msg_id,promise:re()},await r.promise,await this.fullHandleMessage.promise.promise,this.fullHandleMessage=void 0)}}onKernelSocketResponse(e){let t=this.waitingMessageIds.get(e.id);t&&(this.waitingMessageIds.delete(e.id),t.resultPromise.resolve())}sendPendingMessages(){if(this.kernel?.session?.kernel)for(;this.pendingMessages.length;)try{let e=this.pendingMessages[0],t=typeof e=="string"?JSON.parse(e):this.deserialize(e);t.buffers?.length&&(t.buffers=t.buffers.map(r=>r instanceof DataView?r.buffer:r)),t.channel==="control"?this.kernel.session.kernel.sendControlMessage(t):this.kernel.session.kernel.sendShellMessage(t),this.pendingMessages.shift()}catch(e){p.error("Failed to send message to Kernel",e);return}}registerCommTargets(e){for(;this.pendingTargetNames.size>0;){let r=Array.from([...this.pendingTargetNames.values()]).shift();if(r){if(this.commTargetsRegistered.has(r))return;p.trace(`Registering commtarget ${r}`),this.commTargetsRegistered.add(r),this.pendingTargetNames.delete(r),e.session?.kernel&&r!==je.DefaultCommTarget&&!dw.get(e.session.kernel)?.targets?.has(r)&&e.session.kernel.registerCommTarget(r,h)}}}getKernel(){return this.document&&!this.kernel?.session&&(this.kernel=this.kernelProvider.get(this.document),this.kernel?.onDisposed(()=>this.kernel=void 0)),this.kernel&&!this.kernelRestartHandlerAttached&&(this.kernelRestartHandlerAttached=!0,this.disposables.push(this.kernel.onRestarted(this.handleKernelRestarts,this))),this.kernel}async handleKernelRestarts(){this.disposed||this.commTargetsRegistered.size===0||!this.kernel?.session||(Array.from(this.commTargetsRegistered.keys()).forEach(e=>{this.commTargetsRegistered.delete(e),this.pendingTargetNames.add(e)}),this.subscribeToKernelSocket(this.kernel),this.registerCommTargets(this.kernel))}registerMessageHook(e){try{if(this.kernel?.session?.kernel&&!this.messageHooks.has(e)){let t=this.messageHookCallback.bind(this);this.messageHooks.set(e,t),this.kernel.session.kernel.registerMessageHook(e,t)}}finally{this.raisePostMessage("IPyWidgets_ExtensionOperationHandled",{id:e,type:"IPyWidgets_RegisterMessageHook"})}}possiblyRemoveMessageHook(e){try{e.lastHookedMsgId?this.pendingHookRemovals.set(e.lastHookedMsgId,e.hookMsgId):this.removeMessageHook(e.hookMsgId)}finally{this.raisePostMessage("IPyWidgets_ExtensionOperationHandled",{id:e.hookMsgId,type:"IPyWidgets_RemoveMessageHook"})}}removeMessageHook(e){if(this.kernel?.session?.kernel&&this.messageHooks.has(e)){let t=this.messageHooks.get(e);this.messageHooks.delete(e),this.kernel.session.kernel.removeMessageHook(e,t)}}async messageHookCallback(e){let t=re(),r=(0,wO.default)(),i=e.parent_header.msg_id;if(this.messageHooks.has(i)?(this.messageHookRequests.set(r,t),this.raisePostMessage("IPyWidgets_MessageHookCall",{requestId:r,parentId:i,msg:e})):t.resolve(!0),this.pendingHookRemovals.has(e.header.msg_id)){let o=this.pendingHookRemovals.get(e.header.msg_id);this.pendingHookRemovals.delete(e.header.msg_id),this.removeMessageHook(o)}return t.promise}handleMessageHookResponse(e){let t=this.messageHookRequests.get(e.requestId);t&&(this.messageHookRequests.delete(e.requestId),t.resolve(e.msgType.includes("comm")?!0:e.result))}};var EO=class{constructor(e,t){this.baseMulticaster=e;this.oldMessages=t;this._postMessageEmitter=new cq.EventEmitter;this.disposables=[];e.postMessage(this.raisePostMessage,this,this.disposables)}get postMessage(){return this._postMessageEmitter.event}dispose(){for(;this.disposables.length;)this.disposables.shift()?.dispose()}initialize(){return this.baseMulticaster.initialize()}receiveMessage(e){this.baseMulticaster.receiveMessage(e)}raisePostMessage(e){this.oldMessages.forEach(t=>{this._postMessageEmitter.fire(t)}),this.oldMessages=[],this._postMessageEmitter.fire(e)}},au=class{constructor(e,t){this.kernelProvider=t;this.messageDispatchers=new WeakMap;this.messagesPerNotebook=new WeakMap;this.disposed=!1;this.disposables=[];e.push(this),t.onDidDisposeKernel(this.trackDisposingOfKernels,this,e)}dispose(){for(this.disposed=!0;this.disposables.length;)this.disposables.shift()?.dispose()}create(e){let t=this.messageDispatchers.get(e);t||(t=new F_(this.kernelProvider,e),this.messageDispatchers.set(e,t),this.disposables.push(t.postMessage(o=>this.onMessage(o,e),this)));let r=[];e&&this.messagesPerNotebook.get(e)&&(r=this.messagesPerNotebook.get(e)||[]);let i=new EO(t,r);return this.disposables.push(i),i}trackDisposingOfKernels(e){if(this.disposed)return;let t=e.notebook,r=this.messageDispatchers.get(t);this.messageDispatchers.delete(t),r?.dispose()}onMessage(e,t){t&&(this.messagesPerNotebook.set(t,this.messagesPerNotebook.get(t)||[]),(e.message==="IPyWidgets_kernelOptions"||e.message==="IPyWidgets_registerCommTarget")&&this.messagesPerNotebook.get(t).push(e))}};au=v([(0,pw.injectable)(),m(0,(0,pw.inject)(M)),m(1,(0,pw.inject)(De))],au);var dq=require("vscode");var uq=require("vscode");var Uy=class Uy extends Qt{constructor(t,r,i,o,s,a){super();this.kernel=t;this.localResourceUriConverter=r;this.configurationSettings=i;this.sourceProviderFactory=o;this.isWebViewOnline=s;this.cdnScriptProvider=a;this.id="all";this.scriptProviders=this.sourceProviderFactory.getProviders(this.kernel,this.localResourceUriConverter),this.scriptProviders.forEach(l=>this._register(l)),this.monitorKernel()}get configuredScriptSources(){return this.configurationSettings.getSettings(void 0).widgetScriptSources}static{this.trackedWidgetModuleNames=new Set}async getBaseUrl(){let t=this.scriptProviders.find(r=>r.getBaseUrl);if(t)return t.getBaseUrl()}async getWidgetScriptSources(){let t=[];return await Promise.all(this.scriptProviders.map(async r=>{r.getWidgetScriptSources&&t.push(...await r.getWidgetScriptSources())})),t}async getWidgetScriptSource(t,r){let i=await this.isWebViewOnline,o=this.scriptProviders.slice(),s={moduleName:t};for(;o.length;){let a=o.shift();if(!a)continue;let l=await a.getWidgetScriptSource(t,r,i);if(l.scriptUri){s=l;break}else p.warn(`Widget Script Source not found for ${t}@${r} from ${a.id}`)}return this.sendTelemetryForWidgetModule(t,r,"",s.source).catch(h),s.scriptUri?p.trace(`Script source for Widget ${t}@${r} was found from source ${s.source} and ${s.scriptUri}`):p.error(`Script source for Widget ${t}@${r} not found in ${this.scriptProviders.map(a=>a.id).join(", ")}`),s}async sendTelemetryForWidgetModule(t,r,i,o){let s=`${t}.${t}@${r}`;if(Uy.trackedWidgetModuleNames.has(s))return;Uy.trackedWidgetModuleNames.add(s);let a=t.toLowerCase().startsWith("@jupyter-widgets"),l=o==="cdn"||a||await this.cdnScriptProvider.isOnCDN(t),c=l?t.replace(/\//g,"_").replace(/\\/g,"_").replace(/@/g,"_at_"):void 0,u=l?i.replace(/\//g,"_").replace(/\\/g,"_").replace(/@/g,"_at_"):void 0;R("DS_INTERNAL.IPYWIDGET_USED_BY_USER",void 0,{hashedName:await at(t),moduleName:c,modelName:u,source:o,moduleVersion:l?r:void 0,cdnSearched:this.configuredScriptSources.length>0})}monitorKernel(){this.hookKernelEvents(),this._register(this.kernel.onStarted(this.hookKernelEvents,this)),this._register(this.kernel.onRestarted(this.hookKernelEvents,this)),this._register(this.kernel.onDidKernelSocketChange(()=>this.hookKernelEvents(),this))}hookKernelEvents(){let t=this.kernel.session?.kernel;t&&(t.anyMessage.connect(this.onAnyMessage,this),this._register(new uq.Disposable(()=>t.anyMessage.disconnect(this.onAnyMessage,this))))}onAnyMessage(t,r){if(r.direction==="recv"&&r.msg.header.msg_type==="comm_open"){let o=r.msg.content.data;o.state?._model_module&&o.state._model_name&&this.sendTelemetryForWidgetModule(o.state?._model_module,o.state?._model_module_version||"",o.state?._model_name).catch(h)}}};v([Br()],Uy.prototype,"sendTelemetryForWidgetModule",1),v([Br()],Uy.prototype,"onAnyMessage",1);var U_=Uy;var W_=class{constructor(e,t){this.isWebExtension=e;this.converter=t}async asWebviewUri(e){return this.isWebExtension?e:this.converter(e)}};var V_=class{constructor(e,t,r,i,o,s){this.document=e;this.kernelProvider=t;this.configurationSettings=i;this.sourceProviderFactory=o;this.cdnScriptProvider=s;this.postEmitter=new dq.EventEmitter;this.disposables=[];this.isWebViewOnline=re();this.widgetSources=new Map;this.pendingModuleRequests=new Map;this.uriTranslationRequests=new mo;this.uriConverter=new W_(tn(),a=>(this.uriTranslationRequests.has(a)||this.uriTranslationRequests.set(a,re()),this.postEmitter.fire({message:"ConvertUriForUseInWebViewRequest",payload:a}),this.uriTranslationRequests.get(a).promise)),this.isWebViewOnline.promise.catch(h),r.push(this),this.kernelProvider.onDidStartKernel(a=>{a.notebook===this.document&&this.initialize()},this,this.disposables)}get postMessage(){return this.postEmitter.event}dispose(){for(;this.disposables.length;)this.disposables.shift()?.dispose()}onMessage(e,t){if(e==="ConvertUriForUseInWebViewResponse"){let r=t;r&&this.uriTranslationRequests.has(r.request)&&this.uriTranslationRequests.get(r.request).resolve(r.response)}else if(e==="IPyWidgets_Ready")this.sendBaseUrl(),this.sendWidgetScriptSources().catch(h);else if(e==="IPyWidgets_IsOnline"){let r=t.isOnline;this.isWebViewOnline.resolve(r)}else e==="IPyWidgets_WidgetScriptSourceRequest"&&t&&this.onRequestWidgetScript(t).catch(h)}initialize(){this.jupyterLab||(this.jupyterLab=require("@jupyterlab/services")),this.kernel||(this.kernel=this.kernelProvider.get(this.document)),this.kernel?.session&&(this.scriptProvider&&!this.scriptProvider.isDisposed||(this.scriptProvider=new U_(this.kernel,this.uriConverter,this.configurationSettings,this.sourceProviderFactory,this.isWebViewOnline.promise,this.cdnScriptProvider),this.kernel.onDisposed(()=>this.dispose()),this.handlePendingRequests(),this.sendBaseUrl(),p.trace("IPyWidgetScriptSource.initialize")))}sendBaseUrl(){this.scriptProvider&&this.scriptProvider.getBaseUrl().then(e=>{e&&this.postEmitter.fire({message:"IPyWidgets_BaseUrl_Response",payload:e.toString()})}).catch(e=>p.error("Failed to get baseUrl",e))}async sendWidgetScriptSources(){if(this.scriptProvider&&!this.allWidgetScriptsSent)try{(await this.scriptProvider.getWidgetScriptSources()).forEach(t=>{this.widgetSources.get(t.moduleName)?.source!=="cdn"&&this.widgetSources.set(t.moduleName,t),this.postEmitter.fire({message:"IPyWidgets_WidgetScriptSource_Response",payload:t})})}catch(e){p.warn("Failed to fetch script sources",e)}finally{this.allWidgetScriptsSent=!0}}async onRequestWidgetScript(e){let{moduleName:t,moduleVersion:r,requestId:i}=e;if(p.trace(`\x1B[32mFetch Script for ${JSON.stringify(e)}`),await this.sendWidgetSource(t,r,i).catch(o=>p.error("Failed to send widget sources upon ready",o)),this.scriptProvider&&!this.allWidgetScriptsSent)try{await this.sendWidgetScriptSources()}finally{this.sendWidgetSource(t,r,i).catch(o=>p.error("Failed to send widget sources upon ready",o))}}async sendWidgetSource(e,t="*",r){if(!e||e.startsWith("@jupyter"))return;if(!this.kernel||!this.scriptProvider){this.pendingModuleRequests.set(e,{moduleVersion:t,requestId:r});return}let i={moduleName:e,requestId:r};try{p.trace(`\x1B[32mFetch Script for ${e}`),i=await this.scriptProvider.getWidgetScriptSource(e,t),this.widgetSources.get(i.moduleName)?.source!=="cdn"&&this.widgetSources.set(i.moduleName,i)}catch(o){p.error("Failed to get widget source due to an error",o),R("DS_INTERNAL.IPYWIDGET_DISCOVERY_ERRORED")}finally{p.trace(`\x1B[32mScript for ${e}, is ${i.scriptUri} from ${i.source}`),this.postEmitter.fire({message:"IPyWidgets_WidgetScriptSource_Response",payload:i})}}handlePendingRequests(){let e=Array.from(this.pendingModuleRequests.keys());for(;e.length;){let t=e.shift();if(t){let{moduleVersion:r,requestId:i}=this.pendingModuleRequests.get(t);this.pendingModuleRequests.delete(t),this.sendWidgetSource(t,r,i).catch(o=>p.error(`Failed to send WidgetScript for ${t}`,o))}}}};var J_=Symbol("IWidgetScriptSourceProviderFactory"),B_=Symbol("INbExtensionsPathProvider"),$_=Symbol("IIPyWidgetScriptManagerFactory"),ktt=Symbol("IIPyWidgetScriptManager");var of=k(N()),Eo=require("vscode");var fq="https://unpkg.com/",kO="https://cdn.jsdelivr.net/npm/",q_="IPYWidgetCDNConfigured",pq="IPYWidgetNotFoundOnCDN",mq="IPYWidgetNoNetWorkAccess";function ype(n,e,t){let r=e,i="index",o=e.indexOf("/");return o!==-1&&e[0]==="@"&&(o=e.indexOf("/",o+1)),o!==-1&&(i=e.substr(o+1),r=e.substr(0,o)),n===kO&&(t.startsWith("^")&&(t=t.slice(1)),i.endsWith(".js")||(i=i.concat(".js"))),`${n}${r}@${t}/dist/${i}`}function bpe(n){switch(n){case"unpkg.com":return fq;case"jsdelivr.com":return kO;default:break}}var Ca=class{constructor(e,t){this.globalMemento=e;this.configurationSettings=t;this.id="cdn";this.cache=new Map;this.isOnCDNCache=new Map;this.notifiedUserAboutWidgetScriptNotFound=new Set}get cdnProviders(){return this.configurationSettings.getSettings(void 0).widgetScriptSources}dispose(){this.cache.clear()}async isOnCDN(e){let t=`MODULE_VERSION_ON_CDN_${e}`;if(this.isOnCDNCache.has(t))return this.isOnCDNCache.get(t);if(this.globalMemento.get(t,!1))return!0;let r=(async()=>{let i=new Kl,o=us(i.exists(`${fq}${e}`)),s=us(i.exists(`${kO}${e}`));return await Promise.race([o.promise,s.promise]),o.value||s.value?!0:(await Promise.all([o.promise,s.promise]),!!(o.value||s.value))})();return r.then(i=>{if(i)return this.globalMemento.update(t,!0)}).then(h,h),this.isOnCDNCache.set(t,r),r}async getWidgetScriptSource(e,t,r){if(r===!1)return p.ci(`Webview is offline, cannot use CDN for ${e}`),this.warnIfNoAccessToInternetFromWebView(e).catch(h),{moduleName:e};if(this.cdnProviders.length===0&&this.globalMemento.get(q_,!1))return p.ci("No CDN providers and user configured CDN"),{moduleName:e};let i=this.getModuleKey(e,t);return this.cache.get(i)||this.cache.set(i,this.getWidgetScriptSourceImplementation(e,t)),this.cache.get(i)}async generateDownloadUri(e,t,r){let i=bpe(r);if(i)return ype(i,e,t)}getModuleKey(e,t){return`${e}${t}`}async getWidgetScriptSourceImplementation(e,t){if(p.trace(`\x1B[32mSearching for Widget Script ${e}#${t} using cdns ${this.cdnProviders.join(" ")}`),await this.configureWidgets(),this.cdnProviders.length===0)return{moduleName:e};let i=(await Promise.all(this.cdnProviders.map(o=>this.getValidUri(e,t,o)))).find(o=>o);return i?(p.trace(`\x1B[32mWidget Script ${e}#${t} found at URI: ${i}`),{moduleName:e,scriptUri:i,source:"cdn"}):(p.error(`Widget Script ${e}#${t} was not found on on any cdn`),this.handleWidgetSourceNotFound(e,t).catch(h),{moduleName:e})}async getValidUri(e,t,r){try{let i=await this.generateDownloadUri(e,t,r),o=new Kl;if(i&&await o.exists(i))return i}catch{p.trace(`Failed downloading ${e}:${t} from ${r}`);return}}async warnIfNoAccessToInternetFromWebView(e){if(this.globalMemento.get(mq,!1)||this.notifiedUserAboutWidgetScriptNotFound.has(e)||this.cdnProviders.length===0)return;switch(this.notifiedUserAboutWidgetScriptNotFound.add(e),await Eo.window.showWarningMessage(y.cdnWidgetScriptNotAccessibleWarningMessage(e,JSON.stringify(this.cdnProviders)),de.ok,de.doNotShowAgain,de.moreInfo)){case de.doNotShowAgain:return this.globalMemento.update(mq,!0);case de.moreInfo:return Eo.env.openExternal(Eo.Uri.parse("https://aka.ms/PVSCIPyWidgets"));default:}}async configureWidgets(){if(this.cdnProviders.length!==0||this.globalMemento.get(q_,!1))return;if(this.configurationPromise)return this.configurationPromise.promise;this.configurationPromise=re(),R("DS_INTERNAL.IPYWIDGET_PROMPT_TO_USE_CDN");let e=await Eo.window.showInformationMessage(y.useCDNForWidgetsNoInformation,{modal:!0},de.ok,de.doNotShowAgain,de.moreInfo),t="dismissed";switch(e){case de.ok:{t="ok",await Promise.all([this.updateScriptSources(["jsdelivr.com","unpkg.com"]),this.globalMemento.update(q_,!0)]);break}case de.doNotShowAgain:{t="doNotShowAgain",await Promise.all([this.updateScriptSources([]),this.globalMemento.update(q_,!0)]);break}case de.moreInfo:{Eo.env.openExternal(Eo.Uri.parse("https://aka.ms/PVSCIPyWidgets"));break}default:t=e===de.cancel?"cancel":"dismissed";break}R("DS_INTERNAL.IPYWIDGET_PROMPT_TO_USE_CDN_SELECTION",void 0,{selection:t}),this.configurationPromise.resolve()}async updateScriptSources(e){let t="widgetScriptSources";await this.configurationSettings.updateSetting(t,e,void 0,Eo.ConfigurationTarget.Global)}async handleWidgetSourceNotFound(e,t){if(this.globalMemento.get(pq,!1)||this.notifiedUserAboutWidgetScriptNotFound.has(e)||this.cdnProviders.length===0)return;switch(this.notifiedUserAboutWidgetScriptNotFound.add(e),await Eo.window.showWarningMessage(y.widgetScriptNotFoundOnCDNWidgetMightNotWork(e,t,JSON.stringify(this.cdnProviders)),de.ok,de.doNotShowAgain,de.reportThisIssue)){case de.doNotShowAgain:return this.globalMemento.update(pq,!0);case de.reportThisIssue:return Eo.env.openExternal(Eo.Uri.parse("https://aka.ms/CreatePVSCDataScienceIssue"));default:}}};Ca=v([(0,of.injectable)(),m(0,(0,of.inject)(We)),m(0,(0,of.named)(lt)),m(1,(0,of.inject)(ie))],Ca);var mw=class{constructor(e,t){this.document=e;this.serviceContainer=t;this.cachedMessages=[];this.postEmitter=new Po.EventEmitter;this.attachedWebviews=new WeakSet;this.modulesForWhichWeHaveDisplayedWidgetErrorMessage=new Set;this.queuedMessages=[];this.disposables=this.serviceContainer.get(M),this.jupyterOutput=this.serviceContainer.get(Ao,Tu),this.configService=this.serviceContainer.get(ie),this.initialize()}get postMessage(){return this.listeningToPostMessageEvent=!0,this.postEmitter.event}dispose(){this.cachedMessages=[],this.ipyWidgetMessageDispatcher?.dispose(),this.ipyWidgetScriptSource?.dispose()}attach(e){if(this.attachedWebviews.has(e))return;this.attachedWebviews.add(e),this.postMessage(i=>{if(p.ci(`\x1B[32mWidget Coordinator sent ${i.message}`),i.message==="ConvertUriForUseInWebViewRequest")this.onMessage(e,"ConvertUriForUseInWebViewResponse",{request:i.payload,response:e.asWebviewUri(i.payload)});else{if(!this.readyMessageReceived){this.queuedMessages.push({type:i.message,payload:i.payload});return}this.sendPendingWebViewMessages(e),e.postMessage({type:i.message,payload:i.payload}).then(h,h)}},this,this.disposables);let t=re(),r=async()=>{let i=new Ue;if(!t.completed){let s=[],a=this.serviceContainer.get(De),l=re();a.get(this.document)?l.resolve(a.get(this.document)):a.onDidCreateKernel(u=>{u.notebook===this.document&&l.resolve(u)},this,s);let c=await l.promise;c&&(dt(c.kernelConnectionMetadata)?c.ipywidgetsVersion?t.completed||t.resolve(c.ipywidgetsVersion):c.onIPyWidgetVersionResolved(()=>{c.ipywidgetsVersion&&(t.completed||t.resolve(c.ipywidgetsVersion),z(s))},this,s):t.completed||t.resolve(dS)),s.length&&this.disposables.push(...s)}let o=await t.promise;p.trace(`Version of IPyWidgets ${o} determined after ${i.elapsedTime/1e3}s`),e.postMessage({type:"IPyWidgets_Reply_Widget_Version",payload:o}).then(h,h)};e.onDidReceiveMessage(async i=>{p.ci(`\x1B[32mWidget Coordinator received ${i.type}`),this.onMessage(e,i.type,i.payload),i.type==="IPyWidgets_Request_Widget_Version"&&await r(),i.type==="IPyWidgets_Window_Alert"&&Po.window.showInformationMessage(i.message),i.type==="IPyWidgets_Window_Open"&&Po.env.openExternal(Po.Uri.parse(i.url)),i.type==="IPyWidgets_Ready"&&(p.trace("Web view is ready to receive widget messages"),this.readyMessageReceived=!0,this.sendPendingWebViewMessages(e))},this,this.disposables),e.postMessage({type:"IPyWidgets_IsReadyRequest",payload:void 0}).then(h,h),r().catch(h)}onMessage(e,t,r){t==="ipywidget_load_success"?this.sendLoadSucceededTelemetry(r).catch(h):t==="ipywidget_load_failure"?this.handleWidgetLoadFailure(e,r).catch(h):t==="ipywidget_widget_version_not_supported"?this.sendUnsupportedWidgetVersionFailureTelemetry(r).catch(h):t==="ipywidget_render_failure"?this.sendRenderFailureTelemetry(r):t==="ipywidget_unhandled_kernel_message"&&this.handleUnhandledMessage(r),this.getIPyWidgetMessageDispatcher().receiveMessage({message:t,payload:r}),this.getIPyWidgetScriptSource().onMessage(t,r)}sendPendingWebViewMessages(e){if(this.readyMessageReceived)for(;this.queuedMessages.length;)e.postMessage(this.queuedMessages.shift()).then(h,h)}initialize(){this.getIPyWidgetScriptSource().initialize(),this.getIPyWidgetMessageDispatcher().initialize()}async sendLoadSucceededTelemetry(e){try{R("DS_INTERNAL.IPYWIDGET_LOAD_SUCCESS",0,{moduleHash:await at(e.moduleName),moduleVersion:e.moduleVersion})}catch{}}async handleWidgetLoadFailure(e,t){try{let r=t.error.toString(),i=this.configService.getSettings(void 0).widgetScriptSources,o=i.length>0,s=`${t.moduleName}:${t.moduleVersion}`;if(!t.isOnline)r=y.loadClassFailedWithNoInternet(t.moduleName,t.moduleVersion),Po.window.showErrorMessage(r).then(h,h);else if(!o&&!this.modulesForWhichWeHaveDisplayedWidgetErrorMessage.has(s)){this.modulesForWhichWeHaveDisplayedWidgetErrorMessage.add(s);let a=de.moreInfo,l=y.enableCDNForWidgetsButton;r=y.enableCDNForWidgetsSetting(t.moduleName,t.moduleVersion),Po.window.showErrorMessage(r,{modal:!0},l,a).then(c=>{switch(c){case a:Po.env.openExternal(Po.Uri.parse("https://aka.ms/PVSCIPyWidgets"));break;case l:this.enableCDNForWidgets(e).catch(h);break;default:break}},h)}p.error(`Widget load failure ${r}`,i,t),R("DS_INTERNAL.IPYWIDGET_LOAD_FAILURE",0,{isOnline:t.isOnline,moduleHash:await at(t.moduleName),moduleVersion:t.moduleVersion,timedout:t.timedout})}catch{}}async enableCDNForWidgets(e){await Po.commands.executeCommand(B.EnableLoadingWidgetsFrom3rdPartySource),await e.postMessage({type:"IPyWidgets_AttemptToDownloadFailedWidgetsAgain"})}async sendUnsupportedWidgetVersionFailureTelemetry(e){try{R("DS_INTERNAL.IPYWIDGET_WIDGET_VERSION_NOT_SUPPORTED_LOAD_FAILURE",0,{moduleHash:await at(e.moduleName),moduleVersion:e.moduleVersion})}catch{}}sendRenderFailureTelemetry(e){try{p.error("Error rendering a widget: ",e),R("DS_INTERNAL.IPYWIDGET_RENDER_FAILURE")}catch{}}handleUnhandledMessage(e){if(e.header.msg_type!=="status")try{if(e.header.msg_type==="error"){let t=e;t.content.traceback=t.content.traceback.map(ql)}p.trace(`Unhandled widget kernel message: ${e.header.msg_type} ${e.content}`),this.jupyterOutput.appendLine(y.unhandledMessage(e.header.msg_type,JSON.stringify(e.content))),R("DS_INTERNAL.IPYWIDGET_UNHANDLED_MESSAGE",void 0,{msg_type:e.header.msg_type})}catch{}}getIPyWidgetMessageDispatcher(){return this.ipyWidgetMessageDispatcher||(this.ipyWidgetMessageDispatcher=this.serviceContainer.get(au).create(this.document),this.disposables.push(this.ipyWidgetMessageDispatcher.postMessage(this.cacheOrSend,this))),this.ipyWidgetMessageDispatcher}getIPyWidgetScriptSource(){return this.ipyWidgetScriptSource||(this.ipyWidgetScriptSource=new V_(this.document,this.serviceContainer.get(De),this.serviceContainer.get(M),this.serviceContainer.get(ie),this.serviceContainer.get(J_),this.serviceContainer.get(Ca)),this.disposables.push(this.ipyWidgetScriptSource.postMessage(this.cacheOrSend,this))),this.ipyWidgetScriptSource}cacheOrSend(e){if(!this.listeningToPostMessageEvent){p.ci("\x1B[32mQueuing messages (no listeners)"),this.cachedMessages.push(e);return}this.cachedMessages.forEach(t=>this.postEmitter.fire(t)),this.cachedMessages=[],this.postEmitter.fire(e)}};v([Br()],mw.prototype,"enableCDNForWidgets",1);var xO=class{constructor(e,t){this.editor=e;this.pendingMessages=[];this.disposables=[];this._onDidReceiveMessage=new np.EventEmitter;this.changeController(t)}get controller(){if(!this._controller)throw new Error("No controller defined");return this._controller.controller}changeController(e){this._controller?.id!==e.id&&(this.controllerMessageHandler?.dispose(),this._controller=e,this.controllerMessageHandler=e.onDidReceiveMessage(t=>{t.editor===this.editor&&this.controller?.id===e.id&&(this.eventHandlerListening?(this.sendPendingMessages(),this._onDidReceiveMessage.fire(t.message)):this.pendingMessages.push(t.message))},this,this.disposables))}dispose(){z(this.disposables)}get onDidReceiveMessage(){return this.eventHandlerListening=!0,setTimeout(()=>this.sendPendingMessages(),0),this._onDidReceiveMessage.event}postMessage(e){return this.controller.postMessage(e,this.editor)}asWebviewUri(e){return this.controller.asWebviewUri(e)}sendPendingMessages(){if(this.pendingMessages.length){let e=this.pendingMessages.shift();for(;e;)this._onDidReceiveMessage.fire(e),e=this.pendingMessages.shift()}}},rp=class{constructor(e,t,r){this.serviceContainer=e;this.disposableRegistry=t;this.controllerManager=r;this.messageCoordinators=new WeakMap;this.notebookDisposables=new WeakMap;this.notebookCommunications=new WeakMap;this.notebookEditors=new WeakMap}activate(){np.window.onDidChangeVisibleNotebookEditors(this.onDidChangeVisibleNotebookEditors,this,this.disposableRegistry),np.workspace.onDidCloseNotebookDocument(this.onDidCloseNotebookDocument,this,this.disposableRegistry),this.controllerManager.onControllerSelected(this.onDidSelectController,this,this.disposableRegistry)}onDidSelectController(e){let t=this.messageCoordinators.get(e.notebook);t&&(this.messageCoordinators.delete(e.notebook),np.window.visibleNotebookEditors.filter(r=>r.notebook===e.notebook).forEach(r=>{let i=this.notebookCommunications.get(r);this.notebookCommunications.delete(r),i&&i.controller!==e.controller.controller&&(this.notebookCommunications.delete(r),i&&i.dispose())}),t?.dispose()),np.window.visibleNotebookEditors.filter(r=>r.notebook===e.notebook).forEach(r=>this.initializeNotebookCommunication(r,e.controller))}initializeNotebookCommunication(e,t){if(e.notebook.isClosed||!Et(e.notebook))return;let r=e.notebook;if(!t){p.trace(`No controller, hence notebook communications cannot be initialized for editor ${j(e.notebook.uri)}`);return}if(this.notebookCommunications.has(e))return;let i=new xO(e,t);this.addNotebookDisposables(r,[i]),this.notebookCommunications.set(e,i);let o=this.messageCoordinators.get(r);o||(o=new mw(r,this.serviceContainer),this.messageCoordinators.set(r,o)),o.attach(i)}addNotebookDisposables(e,t){let r=this.notebookDisposables.get(e)||[];r.push(...t),this.notebookDisposables.set(e,r)}async onDidChangeVisibleNotebookEditors(e){e.forEach(t=>{let r=this.controllerManager.getSelected(t.notebook);this.initializeNotebookCommunication(t,r)})}onDidCloseNotebookDocument(e){let t=this.notebookEditors.get(e)||[];z(this.notebookDisposables.get(e)||[]),t.forEach(r=>this.notebookCommunications.get(r)?.dispose()),this.messageCoordinators.get(e)?.dispose(),this.messageCoordinators.delete(e)}};rp=v([(0,Wy.injectable)(),m(0,(0,Wy.inject)(rt)),m(1,(0,Wy.inject)(M)),m(2,(0,Wy.inject)(ot))],rp);var ip=k(N());var Vy=class{constructor(e,t,r,i,o){this.disposables=e;this.kernelProvider=t;this.controllers=r;this.liveKernelTracker=i;this.preferredRemoteKernelIdProvider=o}activate(){this.kernelProvider.onDidStartKernel(this.onDidStartKernel,this,this.disposables),this.controllers.onControllerSelectionChanged(this.onNotebookControllerSelectionChanged,this,this.disposables)}onNotebookControllerSelectionChanged({selected:e,notebook:t,controller:r}){t.isClosed||(r.connection.kind==="connectToLiveRemoteKernel"&&r.connection.kernelModel.id&&(e?this.liveKernelTracker.trackKernelIdAsUsed(t.uri,r.connection.serverProviderHandle,r.connection.kernelModel.id):this.liveKernelTracker.trackKernelIdAsNotUsed(t.uri,r.connection.serverProviderHandle,r.connection.kernelModel.id)),ct(r.connection)&&this.preferredRemoteKernelIdProvider.clearPreferredRemoteKernelId(t.uri).catch(h))}onDidStartKernel(e){if(!e.resourceUri)return;let t=e.resourceUri;if(e.kernelConnectionMetadata.kind!=="startUsingRemoteKernelSpec")return;let r=e.kernelConnectionMetadata.serverProviderHandle,i=()=>{let o=e.session?.kernel?.id;!e.disposed&&!e.disposing&&o&&(p.debug(`Updating preferred kernel for remote notebook ${o}`),this.preferredRemoteKernelIdProvider.storePreferredRemoteKernelId(t,o).catch(h),this.liveKernelTracker.trackKernelIdAsUsed(t,r,o))};i(),e.onDidKernelSocketChange(i,this,this.disposables)}};Vy=v([(0,ip.injectable)(),m(0,(0,ip.inject)(M)),m(1,(0,ip.inject)(De)),m(2,(0,ip.inject)(ot)),m(3,(0,ip.inject)(um)),m(4,(0,ip.inject)(Ho))],Vy);var af=k(N());var hq=require("vscode");var sf=class{constructor(e,t,r,i){this.disposables=e;this.uriStorage=t;this.controllers=r;this.serverProviderRegistry=i;this.handledServerProviderChanges=new WeakSet}activate(){this.serverProviderRegistry.jupyterCollections.forEach(e=>this.checkExpiredServersInJupyterCollection(e)),this.serverProviderRegistry.onDidChangeCollections(({added:e,removed:t})=>{e.forEach(r=>this.checkExpiredServersInJupyterCollection(r)),t.forEach(r=>this.removeControllersBelongingToDisposedProvider(r.extensionId,r.id))},this,this.disposables)}async checkExpiredServersInJupyterCollection(e){!this.handledServerProviderChanges.has(e.serverProvider)&&e.serverProvider.onDidChangeServers&&(this.handledServerProviderChanges.add(e.serverProvider),e.serverProvider.onDidChangeServers(()=>this.checkExpiredServersInJupyterCollection(e).catch(h),this,this.disposables));let t=new hq.CancellationTokenSource;this.disposables.push(t);try{let r=await Promise.resolve(e.serverProvider.provideJupyterServers(t.token));await this.removeControllersAndUriStorageBelongingToInvalidServers(e.extensionId,e.id,(r||[]).map(i=>i.id))}finally{t.dispose()}}async removeControllersAndUriStorageBelongingToInvalidServers(e,t,r){let i=this.uriStorage.all;await Promise.all(i.filter(o=>o.provider.extensionId===e&&o.provider.id===t).map(async o=>{r.includes(o.provider.handle)||await this.uriStorage.remove(o.provider)})),this.controllers.registered.forEach(o=>{let s=o.connection;ct(s)||s.serverProviderHandle.extensionId!==e||s.serverProviderHandle.id!==t||r.includes(s.serverProviderHandle.handle)||(p.warn(`Deleting controller ${o.id} as it is associated with a server Id that has been removed`),o.dispose())})}removeControllersBelongingToDisposedProvider(e,t){this.controllers.registered.forEach(r=>{let i=r.connection;ct(i)||i.serverProviderHandle.extensionId!==e||i.serverProviderHandle.id!==t||(p.warn(`Deleting controller ${r.id} as it is associated with a Provider Id that has been removed`),r.dispose())})}};v([Br("Failed to check what servers were shutdown in Controller Watcher")],sf.prototype,"checkExpiredServersInJupyterCollection",1),sf=v([(0,af.injectable)(),m(0,(0,af.inject)(M)),m(1,(0,af.inject)($t)),m(2,(0,af.inject)(ot)),m(3,(0,af.inject)(jt))],sf);var lf=k(N());var gq=require("vscode");var H_=class{constructor(e,t,r,i,o,s){this.label=e;this._description=t;this.detail=r;this.category=i;this.serverDisplayName=o;this.getDescription=s;this._onDidChange=new gq.EventEmitter;this.onDidChange=this._onDidChange.event}get description(){return this.getDescription?.()||this._description}set description(e){this._description=e}dispose(){this._onDidChange.dispose()}triggerChange(){this._onDidChange.fire(this)}};function vq(n){switch(n.kind){case"connectToLiveRemoteKernel":return y.kernelCategoryForJupyterSession;case"startUsingRemoteKernelSpec":return y.kernelCategoryForRemoteJupyterKernel;default:return G_(n)}}function G_(n){switch(n.kind){case"startUsingLocalKernelSpec":return y.kernelCategoryForJupyterKernel;case"startUsingPythonInterpreter":{if(Nn(n.kernelSpec)==="registeredByNewVersionOfExtForCustomKernelSpec")return y.kernelCategoryForJupyterKernel;switch(Ve(n.interpreter)){case"Conda":return Vr(n.interpreter)?y.kernelCategoryForCondaWithoutPython:y.kernelCategoryForConda;case"PipEnv":return y.kernelCategoryForPipEnv;case"Poetry":return y.kernelCategoryForPoetry;case"Pyenv":return y.kernelCategoryForPyEnv;case"Venv":case"VirtualEnv":case"VirtualEnvWrapper":return y.kernelCategoryForVirtual;default:return y.kernelCategoryForGlobal}}default:return""}}var jy=class{constructor(e,t,r,i){this.platform=e;this.jupyterUriProviderRegistration=t;this.disposables=r;this.interpreters=i;this.details=new Map}getDisplayData(e){if(!this.details.get(e.id)){let i=it(e),o=tN(e,this.platform);e.kind==="connectToLiveRemoteKernel"&&(o=eN(e));let s=G_(e),a=e.kind==="connectToLiveRemoteKernel"?()=>eN(e):void 0,l=new H_(i,o,"",s,void 0,a);if(this.disposables.push(l),this.details.set(e.id,l),e.kind==="startUsingPythonInterpreter"&&Vr(e.interpreter)){let c=u=>{let d=u.find(g=>g.id===e.interpreter?.id),f=wi(so().find(g=>g.id===d?.id));if(e.kind==="startUsingPythonInterpreter"&&f){e.updateInterpreter(f);let g=it(e),b=tN(e,this.platform),I=G_(e),E=!1;g!==l.label&&(l.label=g,E=!0),b!==l.description&&(l.description=b,E=!0),I!==l.category&&(l.category=I,E=!0),E&&l.triggerChange()}};this.interpreters.onDidChangeInterpreter(u=>u?c([u]):void 0,this,this.disposables)}}let t=this.details.get(e.id);if(this.details.set(e.id,t),e.kind==="connectToLiveRemoteKernel"||e.kind==="startUsingRemoteKernelSpec"){let i=Nv(e.serverProviderHandle,this.jupyterUriProviderRegistration,y.kernelDefaultRemoteDisplayName);t.serverDisplayName!==i&&(t.serverDisplayName=i,t.triggerChange())}let r=vq(e);return t.category!==r&&(t.category=r,t.triggerChange()),t}};jy=v([(0,lf.injectable)(),m(0,(0,lf.inject)(br)),m(1,(0,lf.inject)(jt)),m(2,(0,lf.inject)(M)),m(3,(0,lf.inject)(Xe))],jy);var lu=k(N()),cu=require("vscode");var op=k(N()),Iq=require("vscode");var yq=require("vscode");function z_(n){try{return rk(co(n))||n.getCells().find(t=>t.kind===yq.NotebookCellKind.Code)?.document.languageId}catch(e){p.warn("Failed to determine language of first cell",e)}}var bq="DATASCIENCE.LAST_SAVED_CELL_LANGUAGE",es=class{constructor(e,t,r){this.disposables=e;this.globalMemento=t;this.pythonExtensionChecker=r}getPreferredLanguage(e){let t=e?.language_info?.name||e?.kernelspec?.language||this.lastSavedNotebookCellLanguage,r=this.pythonExtensionChecker.isPythonExtensionInstalled?ge:"plaintext";return cl(t||r)}activate(){Iq.workspace.onDidSaveNotebookDocument(this.onDidSaveNotebookDocument,this,this.disposables)}getSupportedLanguages(e){if(dt(e))return cU;{let t=cl(po(e)||"");return t&&uS.includes(t.toLowerCase())?[t,"raw"]:[]}}get lastSavedNotebookCellLanguage(){return this.globalMemento.get(bq)}async onDidSaveNotebookDocument(e){if(!Et(e))return;let t=z_(e);t&&t!==this.lastSavedNotebookCellLanguage&&await this.globalMemento.update(bq,t)}};v([Br("Saving last saved cell language")],es.prototype,"onDidSaveNotebookDocument",1),es=v([(0,op.injectable)(),m(0,(0,op.inject)(M)),m(1,(0,op.inject)(We)),m(1,(0,op.named)(lt)),m(2,(0,op.inject)(Be))],es);function Sq(n){let e={kernelSpecCount:0,localKernelSpecCount:0,remoteKernelSpecCount:0,kernelInterpreterCount:0,kernelLiveCount:0};n.forEach(t=>{switch(t.kind){case"connectToLiveRemoteKernel":e.kernelLiveCount+=1;break;case"startUsingRemoteKernelSpec":e.localKernelSpecCount+=1,e.kernelSpecCount+=1;break;case"startUsingLocalKernelSpec":e.remoteKernelSpecCount+=1,e.kernelSpecCount+=1;break;case"startUsingPythonInterpreter":{e.kernelInterpreterCount+=1;break}default:break}}),R("DS_INTERNAL.KERNEL_COUNT",{...e})}var Tt=require("vscode");var Hl=require("vscode");var ci=Symbol("INotebookEditorProvider");var Cq=require("vscode");async function wq(n,e){let t=e?.findNotebookEditor(n);return t?Cq.commands.executeCommand("notebook.selectKernel",{notebookEditor:t}):(p.error("Unable to select kernel as the Notebook document could not be identified"),!1)}var Eq=require("vscode");var Q_=class extends ml{constructor(e){super(y.failedToStartAnUntrustedKernelSpec(it(e),e.kernelSpec.specFile?j(Eq.Uri.file(e.kernelSpec.specFile)):""),void 0,e)}};var js=class n{static async switchController(e,t){let i=t.get(ci).findNotebookEditor(e),o=t.get(ot),s,a=re(),l=o.onControllerSelected(u=>a.resolve(u.controller));return await wq(e,t.get(ci))&&i&&(s=await a.promise),l.dispose(),s?{controller:s.controller,metadata:s.connection}:void 0}static async notifyAndRestartDeadKernel(e){let t=await Hl.window.showErrorMessage(y.cannotRunCellKernelIsDead(it(e.kernelConnectionMetadata)),{modal:!0},y.showJupyterLogs,y.restartKernel),r=!1;switch(t){case y.restartKernel:{await e.restart(),r=!0;break}case y.showJupyterLogs:Hl.commands.executeCommand(B.ViewJupyterOutput).then(h,h)}return r}static async handleKernelError(e,t,r,i,o,s,a,l){let c=e.get(We,lt),u=e.get(Gr);a.interpreter&&r==="start"&&h3(c,19,a.interpreter.uri).catch(h);let d=await u.handleKernelError(t,r,a,i,l),f=ct(a);switch(e.tryGet(oi)?.isSupported&&f&&r==="start"&&Pt(i,"DS_INTERNAL.RAWKERNEL_SESSION_NO_IPYKERNEL",{reason:d}),o.dispose().catch(h),d){case 1:case 2:throw t;case 3:{let I=await n.switchController(i,e);if(!I)throw t;s=I.controller,a=I.metadata;break}}return{controller:s,metadata:a}}static convertContextToFunction(e,t){switch(e){case"start":case"execution":return r=>r.start(t);case"interrupt":return r=>r.interrupt();case"restart":return r=>r.restart()}}static{this.connectionsByNotebook=new WeakMap}static{this.connectionsByUri=new Map}static async verifyKernelState(e,t,r,i,o,s,a){let{kernel:l,deadKernelAction:c}=await i;if(ZD(l)){if(this.deleteKernelInfo(t,i),c==="deadKernelWasNoRestarted")throw new Wd(l.kernelConnectionMetadata);return c==="deadKernelWasRestarted"?l:n.wrapKernelMethod(l.kernelConnectionMetadata,"start",o,e,t,r,a,s)}return l}static async wrapKernelMethod(e,t,r,i,o,s,a,l=()=>void 0){let c=this.getKernelInfo(o);if(!s.disableUI&&c?.options.disableUI&&(c.options.disableUI=!1),!s.disableUI&&c?.kernel.resolved&&(c?.kernel.value?.kernel?.disposed||c?.kernel.value?.kernel?.disposing)&&(this.deleteKernelInfo(o),c=void 0),c&&t!=="restart"&&t!=="interrupt")return n.verifyKernelState(i,o,s,c.kernel.promise,r,l,a);p.debug(`${t} the kernel, options.disableUI=${s.disableUI} for ${j("notebook"in o?o.notebook.uri:o.resource)}`);let u=n.wrapKernelMethodImpl(e,t,i,o,s,r,l),d=us(u);return d.promise.catch(h),u.then(f=>{f.kernel.onDisposed(()=>{this.deleteKernelInfo(o,d.promise)},void 0,a)}).catch(()=>{this.deleteKernelInfo(o,d.promise)}),this.setKernelInfo(o,d,s),n.verifyKernelState(i,o,s,d.promise,r,l,a)}static getKernelInfo(e){return"notebook"in e?n.connectionsByNotebook.get(e.notebook):n.connectionsByUri.get(e.resource.toString())}static setKernelInfo(e,t,r){"notebook"in e?n.connectionsByNotebook.set(e.notebook,{kernel:t,options:r}):n.connectionsByUri.set(e.resource.toString(),{kernel:t,options:r})}static deleteKernelInfo(e,t){if(!t){"notebook"in e?n.connectionsByNotebook.delete(e.notebook):n.connectionsByUri.delete(e.resource.toString());return}"notebook"in e&&n.connectionsByNotebook.get(e.notebook)?.kernel.promise===t?n.connectionsByNotebook.delete(e.notebook):e.resource&&n.connectionsByUri.get(e.resource.toString())?.kernel.promise===t&&n.connectionsByUri.delete(e.resource.toString())}static verifyWeCanStartKernel(e,t){if(!ct(e)||!e.kernelSpec.specFile)return;if(!t.get(Yd).isTrusted(Hl.Uri.file(e.kernelSpec.specFile)))throw new Q_(e)}static async wrapKernelMethodImpl(e,t,r,i,o,s,a){let l=r.get(De),c=r.get(sm),u,d=n.convertContextToFunction(t,o),f=t,g="controller"in i?i.controller:void 0;for(t==="start"&&n.verifyWeCanStartKernel(e,r);u===void 0;){if("notebook"in i&&i.notebook.isClosed)throw new Hl.CancellationError;u="notebook"in i?l.getOrCreate(i.notebook,{metadata:e,controller:g||i.controller,resourceUri:i.resource}):c.getOrCreate(i.resource,{metadata:e,resourceUri:i.resource});try{if(t!=="restart"&&ZD(u)&&!o.disableUI){let b=await n.notifyAndRestartDeadKernel(u);return{kernel:u,deadKernelAction:b?"deadKernelWasRestarted":"deadKernelWasNoRestarted"}}else{if(a(f,u),await d(u),"notebook"in i&&i.notebook.isClosed)throw new Hl.CancellationError;ZD(u)&&!o.disableUI&&f!=="interrupt"&&await n.notifyAndRestartDeadKernel(u)}}catch(b){if(sr(b)||p.warn(`Error occurred while trying to ${f} the kernel, options.disableUI=${o.disableUI}`,b),o.disableUI)throw b;if("notebook"in i&&i.notebook.isClosed)throw new Hl.CancellationError;let I=await n.handleKernelError(r,b,f,i.resource,u,g,e,s);if(g=I.controller,e=I.metadata,d=E=>E.start(o),f="start",s==="3rdPartyExtension")throw b;u=void 0}}return{kernel:u}}static async connectToNotebookKernel(e,t,r,i,o,s="jupyterExtension",a=()=>void 0){return n.wrapKernelMethod(e,"start",s,t,r,i,o,a)}static async connectToKernel(e,t,r,i,o,s="jupyterExtension",a=()=>void 0){return n.wrapKernelMethod(e,"start",s,t,r,i,o,a)}};var cf=class{constructor(e){this.controller=e}get id(){return this.controller.id}createNotebookCellExecution(e){return this.controller.createNotebookCellExecution(e)}};var X_=require("vscode");var Y_=class extends Qt{constructor(t,r,i){super();this.kernel=t;this.controller=r;this.notebook=i}initialize(){let t=this.kernel,r=this.controller,i=this.notebook;if(t.kernelConnectionMetadata.kind!=="connectToLiveRemoteKernel"||t.status!=="busy"&&t.status!=="unknown"||!r.createNotebookExecution)return;this._register(X_.workspace.onDidCloseNotebookDocument(s=>{s===i&&this.dispose()},this)),this._register(r.onDidChangeSelectedNotebooks(s=>{s.notebook===i&&s.selected===!1&&this.dispose()},this)),this._register(t.onStatusChanged(s=>{s!=="busy"&&s!=="unknown"&&this.dispose()},this));let o=r.createNotebookExecution(i);o.start(),this._register(new X_.Disposable(()=>o.end()))}};var Z_=class n{constructor(e,t,r,i,o,s,a,l,c,u,d){this.kernelConnection=e;this._viewType=r;this.kernelProvider=i;this.context=o;this.languageService=a;this.configuration=l;this.extensionChecker=c;this.serviceContainer=u;this.displayDataProvider=d;this._onNotebookControllerSelectionChanged=new Tt.EventEmitter;this._onConnecting=new Tt.EventEmitter;this.pendingCellAdditions=new WeakMap;this._onDidDispose=new Tt.EventEmitter;this.disposables=[];this.notebookKernels=new WeakMap;this.isDisposed=!1;this.runningCellExecutions=new WeakMap;this.associatedDocuments=new WeakMap;this.restoredConnections=new WeakSet;kV(e.id,e.interpreter?.id),s.push(this),this._onNotebookControllerSelected=new Tt.EventEmitter,this.displayData=this.displayDataProvider.getDisplayData(this.connection),this.controller=Tt.notebooks.createNotebookController(t,r,this.displayData.label,this.handleExecution.bind(this),this.getRendererScripts()),this.displayData.onDidChange(this.updateDisplayData,this,this.disposables),this.updateDisplayData(),this.controller.interruptHandler=this.handleInterrupt.bind(this),this.controller.supportsExecutionOrder=!0,this.controller.supportedLanguages=this.languageService.getSupportedLanguages(e),this.controller.onDidChangeSelectedNotebooks(this.onDidChangeSelectedNotebooks,this,this.disposables),Tt.workspace.onDidCloseNotebookDocument(f=>{this.associatedDocuments.delete(f)},this,this.disposables)}get id(){return this.controller.id}get label(){return this.controller.label}get connection(){return this.kernelConnection}get viewType(){return this._viewType}get onNotebookControllerSelected(){return this._onNotebookControllerSelected.event}get onNotebookControllerSelectionChanged(){return this._onNotebookControllerSelectionChanged.event}get onConnecting(){return this._onConnecting.event}get onDidReceiveMessage(){return this.controller.onDidReceiveMessage}get onDidDispose(){return this._onDidDispose.event}isAssociatedWithDocument(e){return this.associatedDocuments.has(e)}static create(e,t,r,i,o,s,a,l,c,u,d,f){let g=new n(e,t,r,i,o,s,a,l,c,u,d);try{g.controller.variableProvider=f}catch(b){p.warn("Failed to attach variable provider",b)}return g}async restoreConnection(e){if(this.restoredConnections.has(e))return;this.restoredConnections.add(e);let t=await this.connectToKernel(e,new Jt(!0));if(this.kernelConnection.kind==="connectToLiveRemoteKernel"){let u=new Y_(t,this.controller,e);this.disposables.push(u),u.initialize()}let r=this.kernelProvider.getKernelExecution(t),o=await this.serviceContainer.get(Sa).getLastTrackedCellExecution(e,t);if(!t.session?.kernel||r.pendingCells.length||!o||e.cellCount<o.cellIndex||e.cellAt(o.cellIndex).kind!==Tt.NotebookCellKind.Code)return;let s=!1,a=[],l,c=(u,d)=>{if(!(d.direction==="send"||s)&&Zc(d.msg)===o.msg_id){if("msg_type"in d.msg&&d.msg.msg_type==="status"&&"execution_state"in d.msg.content&&d.msg.content.execution_state==="idle")return;s=!0,r.resumeCellExecution(e.cellAt(o.cellIndex),{msg_id:o.msg_id,startTime:o.startTime,executionCount:o.executionCount}).catch(h),z(a)}};t.session.kernel.anyMessage.connect(c),l=new Tt.Disposable(()=>{Xn(()=>t.session?.kernel?.anyMessage.disconnect(c))}),a.push(l),this.disposables.push(l)}updateConnection(e){e.kind!=="connectToLiveRemoteKernel"&&(this.controller.label=it(e))}asWebviewUri(e){return this.controller.asWebviewUri(e)}postMessage(e,t){let r=e&&"message"in e?e.message:"";return p.ci(`\x1B[32mPosting message to Notebook UI ${r}`),this.controller.postMessage(e,t)}setPendingCellAddition(e,t){if(this.viewType!==ft)throw new Error("setPendingCellAddition only applies to the Interactive Window");this.pendingCellAdditions.set(e,t)}dispose(){if(this.isDisposed)return;let e=Tt.workspace.notebookDocuments.filter(t=>this.associatedDocuments.has(t)).map(t=>t.uri.toString());p.debug(`Disposing controller ${this.id} associated with connection ${this.connection.id} ${e.length?"and documents "+e.join(", "):""}`),p.ci(`Disposing controller ${this.id} associated with connection ${this.connection.id} ${e.length?"and documents "+e.join(", "):""} called from ${new Error("").stack}`),this.isDisposed=!0,this._onNotebookControllerSelected.dispose(),this._onNotebookControllerSelectionChanged.dispose(),this._onConnecting.dispose(),this.controller.dispose(),this._onDidDispose.fire(),this._onDidDispose.dispose(),z(this.disposables)}updateDisplayData(){this.controller.label=this.displayData.label;let e=this.connection.kind==="connectToLiveRemoteKernel"?"":this.displayData.description;this.controller.description=e,this.displayData.serverDisplayName&&(this.controller.description=e?`${e} (${this.displayData.serverDisplayName})`:this.displayData.serverDisplayName)}async handleExecution(e,t){if(e.length<1)return;let r=Pn(t);r?.cellExecutionCount(e.length);let i=r?.preExecuteCellTelemetry();this.pendingCellAdditions.has(t)&&await this.pendingCellAdditions.get(t),e=e.filter(o=>o.index<0?(p.warn(`Attempting to run a cell with index ${o.index}, kind ${o.kind}, text = ${o.document.getText()}`),!1):!0),Tt.workspace.isTrusted&&(p.debug(`Handle Execution of Cells ${e.map(o=>o.index)} for ${j(t.uri)}`),await Fs(t.uri,this.connection),i?.stop(),await Promise.all(e.map(o=>this.executeCell(t,o))))}async onDidChangeSelectedNotebooks(e){if(p.ci(`NotebookController selection event called for notebook ${e.notebook.uri.toString()} & controller ${this.connection.kind}:${this.id}. Selected ${e.selected} `),this.associatedDocuments.has(e.notebook)&&e.selected)return;if(!e.selected){let r=this.kernelProvider.get(e.notebook);r?.kernelConnectionMetadata.id===this.kernelConnection.id&&(p.info(`Disposing kernel ${this.kernelConnection.id} for notebook ${j(e.notebook.uri)} due to selection of another kernel or closing of the notebook`),r.dispose().catch(h)),this.associatedDocuments.delete(e.notebook),this._onNotebookControllerSelectionChanged.fire(e);return}if(!Et(e.notebook)&&e.notebook.notebookType!==ft||!Tt.workspace.isTrusted)return;Pn(e.notebook)?.kernelSelected(this.kernelConnection.id,this.kernelConnection.interpreter?.id),Ipe(this.kernelConnection);let t=re();p.ci(`Controller ${this.connection.kind}:${this.id} associated with nb ${j(e.notebook.uri)}`),this.associatedDocuments.set(e.notebook,t.promise),await this.onDidSelectController(e.notebook),await this.updateCellLanguages(e.notebook),this._onNotebookControllerSelected.fire({notebook:e.notebook,controller:this}),this._onNotebookControllerSelectionChanged.fire(e),p.debug("Controller selection change completed"),t.resolve()}async updateCellLanguages(e){let t=this.controller.supportedLanguages;if(!t||t?.length===0)return;let i=dt(this.kernelConnection)?ge:t[0];await Promise.all(e.getCells().filter(o=>o.kind===Tt.NotebookCellKind.Code).map(async o=>{t.includes(o.document.languageId)||await Tt.languages.setTextDocumentLanguage(o.document,i).then(h,h)}))}getRendererScripts(){return this.context.extensionMode===Tt.ExtensionMode.Development||this.context.extensionMode===Tt.ExtensionMode.Test?[new Tt.NotebookRendererScript(Tt.Uri.joinPath(this.context.extensionUri,"dist","webviews","webview-side","widgetTester","widgetTester.js"))]:[]}handleInterrupt(e){p.debug(`VS Code interrupted kernel for ${j(e.uri)}`),e.getCells().forEach(t=>ut(t,"Cell cancellation requested")),Tt.commands.executeCommand(B.InterruptKernel,{notebookEditor:{notebookUri:e.uri}}).then(h,t=>p.error("Failed to interrupt",t))}createCellExecutionIfNecessary(e,t){let r=this.runningCellExecutions.get(e.notebook);if(!r||r.cell===e){r?.end(void 0,void 0),r=Pi.getOrCreate(e,t,!0),this.runningCellExecutions.set(e.notebook,r);let i=r.end.bind(r);r.end=(o,s)=>{this.runningCellExecutions.delete(e.notebook),i(o,s)}}return r}async executeCell(e,t,r){let i=new Wr,o=i.add(new Tt.CancellationTokenSource);i.add(Tt.workspace.onDidCloseNotebookDocument(f=>f===e?o.cancel():void 0));let s=this.createCellExecutionIfNecessary(t,new cf(this.controller)),a="start",l,c=new cf(this.controller),u=!1,d=this.serviceContainer.get(Sa);try{if(l=await this.connectToKernel(e,new Jt(!1)),l.disposing)throw new Tt.CancellationError;let f=Pn(e)?.executeCell();f&&i.add(new Tt.Disposable(()=>f.stop())),u=!0,l&&l.controller.id!==c.id&&(c=l.controller,s=this.createCellExecutionIfNecessary(t,l.controller)),a="execution",l.controller.id===this.id&&this.updateKernelInfoInNotebookWhenAvailable(l,e),d.trackCellExecution(t,l);let b=this.kernelProvider.getKernelExecution(l).executeCell(t,r);return b.then(()=>{if(l&&!sS.isExiting)return d.deleteTrackedCellExecution(t,l)}).catch(h),await b}catch(f){if(f instanceof Qd)return;sr(f)||p.error("Error in execution",f),u||(s.start(),s.clearOutput(t).then(h,h));let g=this.serviceContainer.get(Gr);f=rn.unwrap(f);let b=sr(f)||f instanceof Wd;await rd(t,c,await g.getErrorMessageForDisplayInCell(f,a,e.uri),b)}finally{i.dispose()}}async connectToKernel(e,t){let r=Pn(e)?.startKernel();return this._onConnecting.fire(),js.connectToNotebookKernel(this.kernelConnection,this.serviceContainer,{resource:e.uri,notebook:e,controller:this.controller},t,this.disposables).finally(()=>r?.stop())}updateKernelInfoInNotebookWhenAvailable(e,t){if(this.notebookKernels.get(t)===e)return;this.notebookKernels.set(t,e);let r=[];Tt.workspace.onDidCloseNotebookDocument(s=>{s===t&&z(r)},this,r);let i=e.onDisposed(()=>z(r)),o=e.onStatusChanged(async()=>{e.disposed||!e.info||this.associatedDocuments.has(t)&&(await Pq(t,e.kernelConnectionMetadata,e.info),e.info.status==="ok"&&z(r))});r.push({dispose:()=>o.dispose()}),r.push({dispose:()=>i?.dispose()})}async onDidSelectController(e){let t=this.connection,r=this.kernelProvider.get(e);if(r&&sj(r.kernelConnectionMetadata,t)){p.info("Switch kernel did not change kernel.");return}if(Pt(e.uri,"DS_INTERNAL.SWITCH_KERNEL"),r&&Tt.window.visibleNotebookEditors.filter(s=>s.notebook===e).forEach(s=>this.postMessage({message:"IPyWidgets_onKernelChanged",payload:void 0},s)),await Pq(e,t),e.notebookType===ft)return;let i=this.kernelProvider.getOrCreate(e,{metadata:t,controller:this.controller,resourceUri:e.uri});if(p.debug(`KernelProvider switched kernel to id = ${i.kernelConnectionMetadata.id}`),dt(this.kernelConnection)&&!this.extensionChecker.isPythonExtensionInstalled)return;let o=this.serviceContainer.get(Yd);!this.configuration.getSettings(void 0).disableJupyterAutoStart&&ct(this.kernelConnection)&&this.kernelConnection.kernelSpec.specFile&&o.isTrusted(Tt.Uri.file(this.kernelConnection.kernelSpec.specFile))&&this.connectToKernel(e,new Jt(!0))}};async function Pq(n,e,t){let r=co(n)||{},{changed:i}=await ej(r,e,t);i&&await hV(n,r)}async function Ipe(n){let e=await qu(n.interpreter,!0),t=e?.major||0,r=e?.minor||0;!e||t>=4||t<=0||r<=-1||n.kind!=="startUsingLocalKernelSpec"&&n.kind!=="startUsingPythonInterpreter"||(t<3||t===3&&r<=5)&&Tt.window.showWarningMessage(y.warnWhenSelectingKernelWithUnSupportedPythonVersion,de.learnMore).then(i=>{if(i===de.learnMore)return yd("https://aka.ms/jupyterUnSupportedPythonKernelVersions")},h)}var Jy=class{constructor(e,t,r,i,o,s){this.disposables=e;this.pythonEnvFilter=t;this.extensionChecker=r;this.serviceContainer=i;this.serverUriStorage=o;this.kernelFinder=s;this.registeredControllers=new Map;this.changeEmitter=new cu.EventEmitter;this.registeredMetadatas=new Map;this.selectedEmitter=new cu.EventEmitter;this.selectionChangedEmitter=new cu.EventEmitter;this.selectedControllers=new WeakMap;this._activeInterpreterControllerIds=new Set}get onDidChange(){return this.changeEmitter.event}get registered(){return[...this.registeredControllers.values()]}get all(){return this.metadatas}get metadatas(){return[...this.registeredMetadatas.values()]}get onControllerSelected(){return this.selectedEmitter.event}get onControllerSelectionChanged(){return this.selectionChangedEmitter.event}activate(){this.kernelFinder.onDidChangeKernels(()=>this.loadControllers(),this,this.disposables),this.kernelFinder.registered.forEach(e=>this.monitorDeletionOfConnections(e)),this.kernelFinder.onDidChangeRegistrations(e=>e.added.forEach(t=>this.monitorDeletionOfConnections(t)),this,this.disposables),this.pythonEnvFilter.onDidChange(this.onDidChangeFilter,this,this.disposables),this.serverUriStorage.onDidChange(this.onDidChangeFilter,this,this.disposables),this.serverUriStorage.onDidChange(this.onDidChangeUri,this,this.disposables),this.serverUriStorage.onDidRemove(this.onDidRemoveServers,this,this.disposables),this.onDidChange(({added:e})=>{e.forEach(t=>{t.onNotebookControllerSelectionChanged(r=>{!r.selected&&this.isFiltered(t.connection)&&this.canControllerBeDisposed(t)&&(p.warn(`Removing controller ${t.id} for ${t.connection.kind} from kernel list`),t.dispose())},this,this.disposables)})},this,this.disposables),cu.workspace.onDidOpenNotebookDocument(this.onDidOpenNotebookDocument,this,this.disposables),cu.workspace.notebookDocuments.forEach(e=>this.onDidOpenNotebookDocument(e).catch(h)),this.loadControllers()}loadControllers(){this.controllersPromise=this.loadControllersImpl(),Sq(this.registered.map(e=>e.connection)),p.ci(`Providing notebook controllers with length ${this.registered.length}.`)}get loaded(){return this.controllersPromise}async onDidOpenNotebookDocument(e){e.notebookType!==St&&e.notebookType!==ft||cu.workspace.isTrusted}async loadControllersImpl(){let e=this.kernelFinder.kernels;this.createNotebookControllers(e),Array.from(this.registered).filter(r=>{let i=e.some(o=>o.id===r.connection.id)||hi&&this._activeInterpreterControllerIds.has(r.id);return!i&&r.connection.kind==="connectToLiveRemoteKernel"?!0:this.canControllerBeDisposed(r)?(i||p.debug(`Controller ${r.connection.kind}:'${r.id}' for view = '${r.viewType}' is no longer a valid`),!i):!1}).forEach(r=>{p.warn(`Disposing old controller ${r.connection.kind}:'${r.id}' for view = '${r.viewType}'`),r.dispose()})}createNotebookControllers(e){if(e.length!==0)try{this.batchAdd(e,[St,ft])}catch(t){if(!sr(t,!0))throw t}}async monitorDeletionOfConnections(e){let t=e.onDidChangeKernels(({removed:r})=>{let i=new Set((r||[]).map(o=>o.id));this.registered.filter(o=>i.has(o.connection.id)).forEach(o=>{p.warn(`Deleting controller ${o.id} as it is associated with a connection that has been deleted ${o.connection.kind}:${o.id}`),o.dispose()})},this,this.disposables);this.kernelFinder.onDidChangeRegistrations(r=>{r.removed.includes(e)&&t.dispose()})}onDidChangeUri(){this.onDidChangeFilter()}async onDidRemoveServers(e){e.forEach(t=>{this.registered.forEach(r=>{_t(r.connection)&&r.connection.serverProviderHandle.id===t.id&&r.connection.serverProviderHandle.handle===t.handle&&(p.warn(`Deleting controller ${r.id} as it is associated with a connection that has been removed`),r.dispose())})}),this.onDidChangeFilter()}onDidChangeFilter(){this.all.filter(t=>!this.isFiltered(t)).forEach(t=>this.addOrUpdate(t,[St,ft])),this.registered.forEach(t=>{this.isFiltered(t.connection)&&this.canControllerBeDisposed(t)&&(p.warn(`Deleting controller ${t.id} as it is associated with a connection that has been hidden`),t.dispose())})}batchAdd(e,t){let r=[];e.forEach(i=>{let{added:o}=this.addImpl(i,t,!1);r.push(...o)}),r.length&&this.changeEmitter.fire({added:r,removed:[]})}trackActiveInterpreterControllers(e){e.forEach(t=>this._activeInterpreterControllerIds.add(t.id))}canControllerBeDisposed(e){return!this._activeInterpreterControllerIds.has(e.id)&&!this.isControllerAttachedToADocument(e)}getSelected(e){return this.selectedControllers.get(e)}addOrUpdate(e,t){let{added:r,existing:i}=this.addImpl(e,t,!0);return r.concat(i)}addImpl(e,t,r){let i=[],o=[];p.ci(`Create Controller for ${e.kind} and id '${e.id}' for view ${t.join(", ")}`);try{t.map(s=>{let a=this.getControllerId(e,s);return this.registeredMetadatas.set(e.id,e),[a,s]}).filter(([s])=>{let a=this.registeredControllers.get(s);return a?(a.updateConnection(e),o.push(a),p.ci(`Found existing controller '${a.id}', not creating a new one just updating it`),!1):this.isFiltered(e)?(p.ci(`Existing controller '${s}' will be excluded as it is filtered`),!1):(p.ci(`Existing controller not found for '${s}', hence creating a new one`),!0)}).forEach(([s,a])=>{let l=Z_.create(e,s,a,this.serviceContainer.get(De),this.serviceContainer.get(et),this.disposables,this.serviceContainer.get(es),this.serviceContainer.get(ie),this.extensionChecker,this.serviceContainer,this.serviceContainer.get(id),this.serviceContainer.get(K_)),c=[];l.onDidDispose(()=>{p.ci(`Deleting controller '${l.id}' associated with view ${a} from registration as it was disposed`),this.registeredControllers.delete(l.id),c.forEach(u=>u.dispose())},this,this.disposables),this.disposables.push(l),this.registeredControllers.set(l.id,l),i.push(l),l.onNotebookControllerSelected(u=>{p.ci(`Controller ${u.controller?.id} selected for ${u.notebook.uri.toString()}`),this.selectedControllers.set(u.notebook,u.controller),this.selectedEmitter.fire(u)},this,c),l.onNotebookControllerSelectionChanged(u=>this.selectionChangedEmitter.fire({...u,controller:l}),this,c)}),r&&i.length&&this.changeEmitter.fire({added:i,removed:[]})}catch(s){if(sr(s,!0))return{added:i,existing:o};p.error(`Failed to create notebook controller for ${e.id}`,s)}return{added:i,existing:o}}get(e,t){let r=this.getControllerId(e,t);return this.registeredControllers.get(r)}isFiltered(e){return!1}getControllerId(e,t){return t===St?e.id:`${e.id}${yj}`}isControllerAttachedToADocument(e){return cu.workspace.notebookDocuments.some(t=>e.isAssociatedWithDocument(t))}};Jy=v([(0,lu.injectable)(),m(0,(0,lu.inject)(M)),m(1,(0,lu.inject)(ri)),m(2,(0,lu.inject)(Be)),m(3,(0,lu.inject)(rt)),m(4,(0,lu.inject)($t)),m(5,(0,lu.inject)(kr))],Jy);var sp=k(N());var eT=class{constructor(e,t,r){this.kernel=e;this.localResourceUriConverter=t;this.scriptManagerFactory=r;this.id="local"}async getWidgetScriptSource(e){return(await this.getWidgetScriptSources()).find(i=>i.moduleName.toLowerCase()===e.toLowerCase())||{moduleName:e}}dispose(){}async getWidgetScriptSources(){let t=await this.scriptManagerFactory.getOrCreate(this.kernel).getWidgetModuleMappings();return t&&Object.keys(t).length?await Promise.all(Object.keys(t).map(async i=>{let o=(await this.localResourceUriConverter.asWebviewUri(t[i])).toString();return{moduleName:i,scriptUri:o,source:"local"}})):[]}async getBaseUrl(){let e=this.scriptManagerFactory.getOrCreate(this.kernel);if(!e.getBaseUrl)return;let t=await e.getBaseUrl();if(t)return this.localResourceUriConverter.asWebviewUri(t)}};var kq=require("vscode"),tT=class{constructor(e,t){this.id="remote";if(e.kernelConnectionMetadata.kind!=="connectToLiveRemoteKernel"&&e.kernelConnectionMetadata.kind!=="startUsingRemoteKernelSpec")throw new Error("Invalid usage of this class, can only be used with remtoe kernels");this.kernelConnection=e.kernelConnectionMetadata,this.scriptManager=t.getOrCreate(e)}static{this.validUrls=new Map}dispose(){}async getBaseUrl(){return kq.Uri.parse(this.kernelConnection.baseUrl)}async getWidgetScriptSource(e){let r=(await this.getWidgetScriptSources()).find(i=>i.moduleName.toLowerCase()===e.toLowerCase());if(!r&&e.includes("/")){let i=await this.getBaseUrl();return{moduleName:e,scriptUri:`${i.toString()}${e}`,source:"remote"}}return r||{moduleName:e}}async getWidgetScriptSources(){let e=await this.scriptManager.getWidgetModuleMappings();return e&&Object.keys(e).length?await Promise.all(Object.keys(e).map(async r=>({moduleName:r,scriptUri:e[r].toString(),source:"remote"}))):[]}};var By=class{constructor(e,t,r){this.configurationSettings=e;this.widgetScriptManagerFactory=t;this.globalMemento=r}getProviders(e,t){let r=[];switch(r.push(new Ca(this.globalMemento,this.configurationSettings)),e.kernelConnectionMetadata.kind){case"connectToLiveRemoteKernel":case"startUsingRemoteKernelSpec":r.push(new tT(e,this.widgetScriptManagerFactory));break;default:r.push(new eT(e,t,this.widgetScriptManagerFactory))}return r}};By=v([(0,sp.injectable)(),m(0,(0,sp.inject)(ie)),m(1,(0,sp.inject)($_)),m(2,(0,sp.inject)(We)),m(2,(0,sp.named)(lt))],By);var xq=k(N()),rT=require("vscode");var $y=class{async getNbExtensionsParentPath(e){switch(e.kernelConnectionMetadata.kind){case"connectToLiveRemoteKernel":case"startUsingRemoteKernelSpec":return rT.Uri.parse(e.kernelConnectionMetadata.baseUrl);case"startUsingPythonInterpreter":{let t=await ia(e.kernelConnectionMetadata.interpreter);return t?rT.Uri.joinPath(rT.Uri.file(t),"share","jupyter"):void 0}default:return}}};$y=v([(0,xq.injectable)()],$y);var uu=k(N());var uf=require("vscode");var TO=require("vscode");var Wq=k(Lq());var Uq=["require.config({","requirejs?.config({","window.requirejs?.config({","requirejs.config({",'["require"].config({',"['require'].config({",'["requirejs"].config({',"['requirejs'].config({",'["require"]["config"]({',"['require']['config']({",'["requirejs"]["config"]({',"['requirejs']['config']({"];async function Epe(n,e,t){let r=[...Uq],i=await at(e),o=0,s;for(;o<=0&&r.length&&(s=r.pop(),!!s);)o=t.indexOf(s);if(o<0){let f=[...Uq].map(g=>g.substring(0,g.length-2));for(;o<=0&&f.length&&(s=f.pop(),!!s);)o=t.indexOf(s)}if(o<0){R("DS_INTERNAL.IPYWIDGET_EXTENSIONJS_INFO",void 0,{widgetFolderNameHash:i,failed:!0,patternUsedToRegisterRequireConfig:s,failure:"couldNotLocateRequireConfigStart"});return}let a=t.indexOf(")",o);if(a<=0||!s){R("DS_INTERNAL.IPYWIDGET_EXTENSIONJS_INFO",void 0,{widgetFolderNameHash:i,failed:!0,patternUsedToRegisterRequireConfig:s,failure:"couldNotLocateRequireConfigEnd"});return}let l=t.indexOf("{",o),c=t.substring(l,a);c=(0,Wq.default)(c,{language:"javascript"}),c=Oe(c,{trim:!0,removeEmptyEntries:!0}).join("");let u=c.split("{")[c.split("{").length-1].split("}")[0].split(",").map(f=>f.trim()).filter(f=>f.length&&f.includes(":")),d={};if(u.forEach(f=>{let g=f.split(":"),b=Bp(g[0].replace(/\\r/g,"").replace(/\\n/g,"").trim()).trim(),I=Bp(f.substring(f.indexOf(":")+1).replace(/\\r/g,"").replace(/\\n/g,"").trim()).trim();d[b]=I.startsWith("http")?TO.Uri.parse(I):TO.Uri.joinPath(n,I)}),!d||!Object.keys(d).length){R("DS_INTERNAL.IPYWIDGET_EXTENSIONJS_INFO",void 0,{widgetFolderNameHash:i,failed:!0,patternUsedToRegisterRequireConfig:s,failure:"noRequireConfigEntries"});return}return R("DS_INTERNAL.IPYWIDGET_EXTENSIONJS_INFO",{requireEntryPointCount:Object.keys(d).length},{widgetFolderNameHash:i,patternUsedToRegisterRequireConfig:s}),d}var qy=class{constructor(e){this.kernel=e;this.disposables=[];e.onRestarted(this.onKernelRestarted,this,this.disposables)}dispose(){z(this.disposables)}async getWidgetModuleMappings(){return this.widgetModuleMappings||(this.widgetModuleMappings=this.getWidgetModuleMappingsImpl()),this.widgetModuleMappings}onKernelRestarted(){this.widgetModuleMappings=void 0}async getConfigFromWidget(e,t,r){let i=await this.getWidgetScriptSource(t);try{let o=await Epe(e,r,i);if(!o){let s=`Failed to extract require.config from widget for ${r} from ${j(t)}`;hi&&(s+=`with contents ${i}`),p.warn(s)}return o}catch(o){p.error(`Failed to extract require.config entry for ${r} from ${j(t)}`,o)}}async getWidgetModuleMappingsImpl(){let e=new Ue,[t,r]=await Promise.all([this.getWidgetEntryPoints(),this.getNbExtensionsParentPath()]);if(!r)return;let o=(await Promise.all(t.map(s=>this.getConfigFromWidget(r,s.uri,s.widgetFolderName)))).reduce((s,a)=>Object.assign(s||{},a),{});return o&&Object.keys(o).length&&(delete o["jupyter-js-widgets"],delete o["@jupyter-widgets/base"],delete o["@jupyter-widgets/controls"],delete o["@jupyter-widgets/output"]),R("DS_INTERNAL.IPYWIDGET_DISCOVER_WIDGETS_NB_EXTENSIONS",{duration:e.elapsedTime},{type:ct(this.kernel.kernelConnectionMetadata)?"local":"remote"}),o&&Object.keys(o).length?o:void 0}};var sT=class extends qy{constructor(t,r,i,o){super(t);this.context=r;this.fs=i;this.connection=o;if(t.kernelConnectionMetadata.kind!=="connectToLiveRemoteKernel"&&t.kernelConnectionMetadata.kind!=="startUsingRemoteKernelSpec")throw new Error("Invalid usage, can only be used for remote kernels");this.kernelConnection=t.kernelConnectionMetadata,this.getWidgetEntryPoints().catch(h)}getBaseUrl(){return this.getNbExtensionsParentPath()}async getNbExtensionsParentPath(){return uf.Uri.parse(this.kernelConnection.baseUrl)}onKernelRestarted(){this.widgetEntryPointsPromise=void 0,super.onKernelRestarted()}async getWidgetEntryPoints(){return this.widgetEntryPointsPromise||(this.widgetEntryPointsPromise=this.getWidgetEntryPointsImpl()),this.widgetEntryPointsPromise}getCodeToExecute(){return this.code||(this.code=this.fs.readFile(uf.Uri.joinPath(this.context.extensionUri,"pythonFiles","printJupyWidgetEntryPoints.py"))),this.code}async getWidgetEntryPointsImpl(){if(!dt(this.kernelConnection))return[];let t=await this.getCodeToExecute();if(!this.kernel.session?.kernel)return p.ci("No Kernel session to get list of widget entry points"),[];let r=[];r.push(pn(this.kernel.session.kernel,t,{traceErrors:!0,traceErrorsMessage:"Failed to get widget entry points from remote kernel"})),!hi&&this.context.extensionMode===uf.ExtensionMode.Production&&r.push(gi(1e4).then(()=>[])),r.forEach(s=>s.catch(h));let i=await Promise.race(r);if(i.length===0)return p.ci("Unable to get widget entry points, no outputs after running the code"),[];let o=i[0];if(o.output_type!=="stream"||o.name!=="stdout")return p.ci("Unable to get widget entry points, no stream/stdout outputs after running the code"),[];try{return p.trace(`Widget Outputs include, ${o.text}`),o.text.trim().substring(1).slice(0,-1).split(",").map(a=>Bp(a.trim()).replace(/\\\\/g,"/").replace(/\\/g,"/")).map(a=>({uri:uf.Uri.joinPath(uf.Uri.parse(this.kernelConnection.baseUrl),"nbextensions",a),widgetFolderName:nt(a)}))}catch(s){return p.error(`Failed to parse output to get list of IPyWidgets, output is ${o.text}`,s),[]}}async getWidgetScriptSource(t){let r=this.getWidgetScriptSourceUsingHttpClient(t),i=this.getWidgetScriptSourceUsingFetch(t),o=r.catch(()=>i);return o.catch(s=>{r.catch(a=>p.error(`Failed to download widget script source from ${t.toString(!0)}`,a)),p.error(`Failed to download widget script source from ${t.toString(!0)}`,s)}),o}async getWidgetScriptSourceUsingHttpClient(t){let r=t.toString(!0),o=await new Kl().downloadFile(r);if(o.status===200)return o.text();throw new Error(`Error downloading from ${r}: ${o.statusText}`)}async getWidgetScriptSourceUsingFetch(t){let r=await this.connection.createConnectionInfo(this.kernelConnection.serverProviderHandle),i=t.toString(!0),s=await new Kl(r.settings.fetch).downloadFile(i);if(s.status===200)return s.text();throw new Error(`Error downloading from ${i} using custom fetch: ${s.statusText}`)}};var Hy=require("vscode");var aT=class n extends qy{constructor(t,r,i,o,s){super(t);this.fs=r;this.nbExtensionsPathProvider=i;this.context=o;this.jupyterPaths=s;this.overwriteExistingFiles=!0;this.overwriteExistingFiles=!n.nbExtensionsCopiedKernelConnectionList.has(t.kernelConnectionMetadata.id)}static{this.nbExtensionsCopiedKernelConnectionList=new Set}getBaseUrl(){return this.getNbExtensionsParentPath()}onKernelRestarted(){this.nbExtensionsParentPath=void 0,this.overwriteExistingFiles=!0,super.onKernelRestarted()}async getNbExtensionsParentPath(){return this.nbExtensionsParentPath||(this.nbExtensionsParentPath=this.getNbExtensionsParentPathImpl()),this.nbExtensionsParentPath}async getNbExtensionsParentPathImpl(){let t=this.overwriteExistingFiles;try{let r=new Ue;if(this.sourceNbExtensionsPath=await this.nbExtensionsPathProvider.getNbExtensionsParentPath(this.kernel),!this.sourceNbExtensionsPath){p.warn(`No nbextensions folder found for kernel ${this.kernel.kernelConnectionMetadata.id}`);return}let i=await at(this.kernel.kernelConnectionMetadata.id),o=Hy.Uri.joinPath(this.context.extensionUri,"temp","scripts",i,"jupyter"),s=Hy.Uri.joinPath(o,"nbextensions"),[a]=await Promise.all([this.jupyterPaths.getDataDirs({resource:this.kernel.resourceUri,interpreter:this.kernel.kernelConnectionMetadata.interpreter}),this.fs.createDirectory(s)]),l=a.map(c=>Hy.Uri.joinPath(c,"nbextensions"));l.reverse();for(let c of l)await this.fs.exists(c)&&await this.fs.copy(c,s,{overwrite:t});return this.overwriteExistingFiles=!1,n.nbExtensionsCopiedKernelConnectionList.add(this.kernel.kernelConnectionMetadata.id),R("DS_INTERNAL.IPYWIDGET_TIME_TO_COPY_NBEXTENSIONS_DIR",{duration:r.elapsedTime}),o}catch(r){throw R("DS_INTERNAL.IPYWIDGET_TIME_TO_COPY_NBEXTENSIONS_DIR",void 0,void 0,r),r}}async getWidgetEntryPoints(){let t=await this.getNbExtensionsParentPath();if(!t)return[];let r=Hy.Uri.joinPath(t,"nbextensions");return(await this.fs.searchLocal("**/extension.js",r.fsPath,!0)).map(o=>({uri:Hy.Uri.joinPath(r,o),widgetFolderName:nt(o)}))}getWidgetScriptSource(t){return this.fs.readFile(t)}};var Gy=class{constructor(e,t,r,i,o,s){this.nbExtensionsPathProvider=e;this.fs=t;this.context=r;this.jupyterPaths=i;this.disposables=o;this.connection=s;this.managers=new WeakMap}getOrCreate(e){if(!this.managers.has(e))if(e.kernelConnectionMetadata.kind==="connectToLiveRemoteKernel"||e.kernelConnectionMetadata.kind==="startUsingRemoteKernelSpec"){let t=new sT(e,this.context,this.fs,this.connection);this.managers.set(e,t),e.onDisposed(()=>t.dispose(),this,this.disposables)}else{let t=new aT(e,this.fs,this.nbExtensionsPathProvider,this.context,this.jupyterPaths);this.managers.set(e,t),e.onDisposed(()=>t.dispose(),this,this.disposables)}return this.managers.get(e)}};Gy=v([(0,uu.injectable)(),m(0,(0,uu.inject)(B_)),m(1,(0,uu.inject)(lr)),m(2,(0,uu.inject)(et)),m(3,(0,uu.inject)(Mr)),m(4,(0,uu.inject)(M)),m(5,(0,uu.inject)(on))],Gy);var lT=k(N()),wa=require("vscode");var Js=class{constructor(e){this.disposables=[];e.push(this)}dispose(){z(this.disposables)}activate(){let e=new cs(1e3);this.disposables.push(e),wa.workspace.onDidChangeNotebookDocument(t=>{e.trigger(()=>this.onDidChangeNotebookDocument(t))},this,this.disposables)}onDidChangeNotebookDocument(e){Et(e.notebook)&&e.cellChanges.some(t=>t.outputs&&t.outputs.some(r=>r.items&&r.items.some(i=>i.mime===Ui)))&&this.checkRendererExtensionVersion()}checkRendererExtensionVersion(){if(!wa.workspace.isTrusted)return;let e=wa.extensions.getExtension(eh);if(!e){this.displayNotInstalledMessage();return}let t=e.packageJSON.version;if(!t){this.displayUpdateMessage();return}let r=t.split("."),i=parseInt(r[0],10),o=parseInt(r[1],10),s=parseInt(r[2],10);(i<1||i===1&&o===0&&s<15)&&this.displayUpdateMessage()}displayNotInstalledMessage(){Js.messageDisplayed||(Js.messageDisplayed=!0,wa.window.showInformationMessage(y.rendererExtensionRequired,{modal:!0},de.bannerLabelYes).then(e=>{e===de.bannerLabelYes&&wa.commands.executeCommand("extension.open",eh).then(h,h)}).then(h,h))}displayUpdateMessage(){Js.messageDisplayed||(Js.messageDisplayed=!0,wa.window.showInformationMessage(y.rendererExtension1015Required,{modal:!0},de.bannerLabelYes).then(e=>{e===de.bannerLabelYes&&wa.commands.executeCommand("extension.open",eh).then(h,h)}).then(h,h))}};Js.messageDisplayed=!1,Js=v([(0,lT.injectable)(),m(0,(0,lT.inject)(M))],Js);function Vq(n,e){n.addSingleton(au,au),n.addSingleton(J_,By),n.addSingleton($_,Gy),n.addSingleton(B_,$y),n.addSingleton(Ca,Ca),n.addSingleton(me,Js)}var lp=k(N()),Kr=require("vscode");var zy=class{constructor(e,t,r,i,o){this.controllerRegistration=e;this.kernelFinder=t;this.notebookEditorProvider=r;this.kernelDependency=i;this.localDisposables=[];this.providerMappings=new Map;this.kernelSpecsSourceRegistered=!1;o.push(this)}dispose(){z(this.localDisposables)}activate(){if(!tn()){this.localDisposables.push(Kr.notebooks.registerKernelSourceActionProvider(St,{provideNotebookKernelSourceActions:()=>[{label:y.localPythonEnvironments,documentation:Kr.Uri.parse("https://aka.ms/vscodeJupyterExtKernelPickerPythonEnv"),command:"jupyter.kernel.selectLocalPythonEnvironment"}]})),this.localDisposables.push(Kr.notebooks.registerKernelSourceActionProvider(ft,{provideNotebookKernelSourceActions:()=>[{label:y.localPythonEnvironments,documentation:Kr.Uri.parse("https://aka.ms/vscodeJupyterExtKernelPickerPythonEnv"),command:"jupyter.kernel.selectLocalPythonEnvironment"}]}));let t=[],r=new Kr.EventEmitter;this.localDisposables.push(Kr.notebooks.registerKernelSourceActionProvider(St,{onDidChangeNotebookKernelSourceActions:r.event,provideNotebookKernelSourceActions:()=>t})),this.localDisposables.push(Kr.notebooks.registerKernelSourceActionProvider(ft,{onDidChangeNotebookKernelSourceActions:r.event,provideNotebookKernelSourceActions:()=>t}));let i=()=>{this.kernelSpecsSourceRegistered||this.kernelFinder.kernels.some(o=>Zh(o))&&(this.kernelSpecsSourceRegistered=!0,t=[{label:y.localKernelSpecs,documentation:Kr.Uri.parse("https://aka.ms/vscodeJupyterExtKernelPickerJupyterKernels"),command:"jupyter.kernel.selectLocalKernelSpec"}],r.fire())};i(),this.kernelFinder.onDidChangeKernels(()=>i(),this,this.localDisposables),this.localDisposables.push(Kr.commands.registerCommand("jupyter.kernel.selectLocalKernelSpec",this.onSelectLocalKernel.bind(this,"localKernelSpec"),this)),this.localDisposables.push(Kr.commands.registerCommand("jupyter.kernel.selectLocalPythonEnvironment",this.onSelectLocalKernel.bind(this,"localPythonEnvironment"),this))}this.localDisposables.push(Kr.commands.registerCommand("jupyter.kernel.selectJupyterServerKernel",this.onSelectRemoteKernel,this)),be.instance.get(jt).onDidChangeCollections(this.registerUriCommands,this,this.localDisposables),this.registerUriCommands()}registerUriCommands(){let e=be.instance.get(jt),t=new Set;e.jupyterCollections.map(r=>{let i=`${r.extensionId}:${r.id}`;if(r.id===mE||(t.add(i),this.providerMappings.has(i)))return;let o=Kr.notebooks.registerKernelSourceActionProvider(St,{provideNotebookKernelSourceActions:()=>[{get label(){return r.label},get documentation(){return r.documentation},command:{command:"jupyter.kernel.selectJupyterServerKernel",arguments:[r.extensionId,r.id],title:r.label}}]}),s=Kr.notebooks.registerKernelSourceActionProvider(ft,{provideNotebookKernelSourceActions:()=>[{get label(){return r.label},get documentation(){return r.documentation},command:{command:"jupyter.kernel.selectJupyterServerKernel",arguments:[r.extensionId,r.id],title:r.label}}]});this.localDisposables.push(o),this.localDisposables.push(s),this.providerMappings.set(i,{disposables:[o,s],provider:r})}),this.providerMappings.forEach(({disposables:r},i)=>{t.has(i)||(z(r),this.providerMappings.delete(i))})}async onSelectLocalKernel(e,t){if(t=t||Kr.window.activeNotebookEditor?.notebook,!!t)if(e==="localPythonEnvironment"){let i=await be.instance.get(cm).selectLocalKernel(t);return this.getSelectedController(t,i)}else{let i=await be.instance.get(ck).selectLocalKernel(t);return this.getSelectedController(t,i)}}async onSelectRemoteKernel(e,t,r){if(r=r||Kr.window.activeNotebookEditor?.notebook,!r&&Kr.window.activeTextEditor&&(r=this.notebookEditorProvider.findNotebookEditor(Kr.window.activeTextEditor.document.uri)?.notebook),!r)return;let i=`${e}:${t}`,o=this.providerMappings.get(i)?.provider;if(!o)return;let a=await be.instance.get(lk).selectRemoteKernel(r,o);return this.getSelectedController(r,a)}async getSelectedController(e,t){if(!t)return;let r=this.controllerRegistration.addOrUpdate(t,[e.notebookType]);if(!Array.isArray(r)||r.length===0){p.warn(`No controller created for selected kernel connection ${t.kind}:${t.id}`);return}Fs(e.uri,t).finally(()=>Pt(e.uri,"DS_INTERNAL.SWITCH_KERNEL",void 0,{newKernelPicker:!0})).catch(h),r.find(o=>o.viewType===e.notebookType)?.controller.updateNotebookAffinity(e,Kr.NotebookControllerAffinity.Preferred);let i=r[0];return await this.onControllerSelected(e,i),i.controller.id}async onControllerSelected(e,t){if(wV(e),ct(t.connection)&&dt(t.connection)&&Vr(t.connection.interpreter)&&!tn()){let r=[];try{let i=new Kr.CancellationTokenSource;r.push(i);let o=new Jt(!1);r.push(o),await this.kernelDependency.installMissingDependencies({resource:e.uri,kernelConnection:t.connection,token:i.token,ui:o,cannotChangeKernels:!0,ignoreCache:!0,installWithoutPrompting:!0})}catch(i){p.error(`Failed to install missing dependencies for Conda kernel ${t.connection.id}`,i)}finally{z(r)}}}};zy=v([(0,lp.injectable)(),m(0,(0,lp.inject)(ot)),m(1,(0,lp.inject)(kr)),m(2,(0,lp.inject)(ci)),m(3,(0,lp.inject)(Es)),m(4,(0,lp.inject)(M))],zy);var df=k(N()),pT=require("vscode");var Gl=require("vscode");var cT=require("vscode");var cp=class{constructor(e){this.jupyterConnection=e;this.disposables=[]}dispose(){z(this.disposables)}async findPreferredRemoteKernelConnection(e,t,r){return this.findPreferredRemoteKernelConnectionImpl(e,t,r,!1)}async findPreferredRemoteKernelConnectionImpl(e,t,r,i){let o=await be.instance.get(Ho).getPreferredRemoteKernelId(e),s=async()=>{let l=t.kernels.find(u=>u.kind==="connectToLiveRemoteKernel"&&u.id===o);if(l)return l;if(t.status==="idle")return;let c=await new Promise(u=>t.onDidChangeKernels(()=>{let d=t.kernels.find(f=>f.kind==="connectToLiveRemoteKernel"&&f.id===o);d&&u(d),(t.status==="idle"||r.isCancellationRequested)&&u(void 0)},this,this.disposables));if(c)return c};if(o){let l=await s();if(l||i)return l}let a=t.kernels.find(l=>_t(l))?.serverProviderHandle;if(a){let l=await this.jupyterConnection.createConnectionInfo(a),c=(e.uri,void 0),u=c&&t.kernels.find(d=>_t(d)&&d.kind==="connectToLiveRemoteKernel"&&d.kernelModel.model&&d.kernelModel.model.path===c.path&&d.kernelModel.model.name===c.name);if(u)return u}return this.findPreferredKernelSpecConnection(e,t,r,i)}async findPreferredLocalKernelSpecConnection(e,t,r){return this.findPreferredKernelSpecConnection(e,t,r,!1)}async findPreferredKernelSpecConnection(e,t,r,i){let s=co(e)?.kernelspec?.name,a=()=>{let u=s?t.kernels.filter(f=>(f.kind==="startUsingLocalKernelSpec"||f.kind==="startUsingRemoteKernelSpec")&&f.kernelSpec.name===s):[];if(u.length||i)return u;let d=z_(e);if(d)return t.kernels.filter(f=>(f.kind==="startUsingLocalKernelSpec"||f.kind==="startUsingRemoteKernelSpec")&&f.kernelSpec.language&&(f.kernelSpec.language===d||cl(f.kernelSpec.language)===cl(d)))},l=a();if(Array.isArray(l)&&l.length)return i&&l.length>1?void 0:l[0];if(t.status==="idle")return;let c=[];return new Promise(u=>t.onDidChangeKernels(()=>{if(r.isCancellationRequested)return u(void 0);let d=a();if(Array.isArray(d)&&d.length)return i&&d.length>1?u(void 0):u(d[0]);t.status==="idle"&&u(void 0)},this,this.disposables)).finally(()=>z(c))}async findPreferredPythonKernelConnection(e,t,r){return this.findPreferredPythonKernelConnectionImpl(e,t,r)}async findPreferredPythonKernelConnectionImpl(e,t,r){t=t||be.instance.get(kr).registered.find(c=>c.kind==="localPythonEnvironment");let i=be.instance.get(Xe),o=RO(e,t);if(o)return o;let s=await i.getActiveInterpreter(e.uri);if(!s)return;let a=()=>{if(!r.isCancellationRequested)return t.kernels.filter(c=>c.kind==="startUsingPythonInterpreter").map(c=>c).find(c=>c.interpreter.id===s.id)},l=a();if(l)return l;if(t.status==="discovering")return await new Promise(c=>{t.onDidChangeStatus(()=>t.status==="idle"&&c(),this,this.disposables),t.onDidChangeKernels(()=>(RO(e,t)||a())&&c(),this,this.disposables)}),RO(e,t)||a()}};function RO(n,e){let t=cT.workspace.getWorkspaceFolder(n.uri)?.uri||(cT.workspace.workspaceFolders?.length===1?cT.workspace.workspaceFolders[0].uri:void 0),r=jq(yi(n.uri),e);if(r)return r;if(t)return jq(t,e)}function jq(n,e){let r=e.kernels.filter(a=>a.kind==="startUsingPythonInterpreter").map(a=>a).filter(a=>_g(Pr(a.interpreter)?.environment?.folderUri?.fsPath||a.interpreter.uri.fsPath,n.fsPath)),i=r.find(a=>Ve(a.interpreter)==="Venv"&&Ro(a.interpreter)?.toLowerCase()===".venv");if(i)return i;let o=r.find(a=>Ve(a.interpreter)==="Conda"&&Ro(a.interpreter)?.toLowerCase()===".venv");if(o)return o;let s=r.find(a=>Ro(a.interpreter)?.toLowerCase()===".venv");return s||(r.length?r[0]:void 0)}var uT=class{constructor(e,t,r,i,o){this.notebook=e;this.pythonEnvFilter=i;this.connection=o;this._onDidRefresh=new Gl.EventEmitter;this.onDidRefresh=this._onDidRefresh.event;this._onDidChange=new Gl.EventEmitter;this.onDidChange=this._onDidChange.event;this.kernels=[];this._onDidChangeStatus=new Gl.EventEmitter;this.onDidChangeStatus=this._onDidChangeStatus.event;this._onDidChangeRecommended=new Gl.EventEmitter;this.onDidChangeRecommended=this._onDidChangeRecommended.event;this._onDidFailToListKernels=new Gl.EventEmitter;this.onDidFailToListKernels=this._onDidFailToListKernels.event;this.status="idle";this.disposables=[];this.refresh=async()=>{this.refreshInvoked=!0},this.title=y.kernelPickerSelectKernelTitle,this.kind=t,this.disposables.push(this._onDidRefresh),Au(r)?r.then(s=>this.setupFinder(s)).catch(s=>p.error(`Failed to setup finder for ${this.title}`,s)):this.setupFinder(r)}dispose(){z(this.disposables)}setupFinder(e){switch(this.refresh=async()=>e.refresh(),this.status!==e.status&&!this.refreshInvoked&&(this.status=e.status,this._onDidChangeStatus.fire()),this.refreshInvoked?e.refresh().catch(i=>p.error(`Failed to refresh finder for ${this.title}`,i)):e.kind==="remote"&&e.status==="idle"&&this.filteredKernels(e.kernels).length===0&&e.refresh().catch(i=>p.error(`Failed to refresh finder for ${this.title}`,i)),e.kind){case"localKernelSpec":this.title=y.kernelPickerSelectLocalKernelSpecTitle;break;case"localPythonEnvironment":this.title=y.quickPickSelectPythonEnvironmentTitle;break;default:this.title=y.kernelPickerSelectKernelFromRemoteTitle(e.displayName);break}e.onDidChangeKernels(()=>{this.kernels.length=0,this.kernels.push(...this.filteredKernels(e.kernels)),this._onDidChange.fire()},this,this.disposables),e.onDidChangeStatus(()=>{this.status=e.status,this._onDidChangeStatus.fire(),this.status==="idle"&&e.lastError&&this.filteredKernels(e.kernels).length===0&&(this.kernels.length=0,this._onDidFailToListKernels.fire(e.lastError))}),this.kernels.length=0,this.kernels.push(...this.filteredKernels(e.kernels)),this._onDidChange.fire(),this._onDidChangeStatus.fire();let t=new Gl.CancellationTokenSource;this.disposables.push(new Gl.Disposable(()=>t.cancel())),this.disposables.push(t);let r=new cp(this.connection);this.disposables.push(r),e.kind==="remote"?this.computePreferredRemoteKernel(e,r,t.token):this.computePreferredLocalKernel(e,r,t.token)}filteredKernels(e){let t=this.pythonEnvFilter;return t?e.filter(r=>r.kind!=="startUsingPythonInterpreter"||!t.isPythonEnvironmentExcluded(r.interpreter)):e}computePreferredRemoteKernel(e,t,r){t.findPreferredRemoteKernelConnection(this.notebook,e,r).then(i=>{this.recommended=i,this._onDidChangeRecommended.fire()}).catch(i=>p.error(`Preferred connection failure ${j(this.notebook.uri)}`,i))}computePreferredLocalKernel(e,t,r){let i=()=>{this.recommended&&!this.kernels.find(s=>s.id===this.recommended?.id)&&(this.recommended=void 0),(e.kind==="localKernelSpec"?t.findPreferredLocalKernelSpecConnection.bind(t):t.findPreferredPythonKernelConnection.bind(t))(this.notebook,e,r).then(s=>{this.recommended?.id!==s?.id&&(this.recommended=s,this._onDidChangeRecommended.fire())}).catch(s=>p.error(`Preferred connection failure ${j(this.notebook?.uri)}`,s))};i(),e.onDidChangeKernels(i,this,this.disposables)}};var up=require("vscode");function zl(n){return"connection"in n}function Ppe(n){return"command"in n}function kpe(n,e,t){let r=t?[t]:n.activeItems.length?[n.activeItems[0]]:[];if(r.length&&!e.includes(r[0])){let i=r[0],o=zl(i)&&e.find(s=>zl(s)&&s.connection.id===i.connection.id);o?r[0]=o:r.length=0}n.items=e,n.activeItems=r}var AO=class extends Error{},dT=class extends Qt{constructor(t,r){super();this.provider=t;this.token=r;this.recommendedItems=[];this.existingItems=new Set;this.quickPickItems=[];this.displayDataProvider=be.instance.get(id)}async selectKernel(t){return this.selectKernelImpl(t,{quickPick:void 0})}async selectKernelImpl(t,r){if(this.token.isCancellationRequested)return;let i=this.provider.kernels.map(o=>this.connectionToQuickPick(o));return this.quickPickItems.push({kind:up.QuickPickItemKind.Separator,label:y.kernelCategoryForJupyterKernel}),i.sort((o,s)=>o.label.localeCompare(s.label)),this.quickPickItems.push(...i),this.existingItems=new Set(i),this.selectKernelImplInternal(t,r)}async selectKernelImplInternal(t,r){let i={iconPath:new up.ThemeIcon("refresh"),tooltip:de.refresh},o={iconPath:new up.ThemeIcon("loading~spin"),tooltip:de.refreshing},{quickPick:s,selection:a}=t({title:this.provider.title,items:this.quickPickItems,buttons:[i],onDidTriggerButton:async u=>{if(u===i){let d=s.buttons;s.buttons=d.filter(f=>f!==i).concat(o),await this.provider.refresh().catch(h),s.buttons=d}}});r.quickPick=s,this.provider.status==="discovering"&&(s.busy=!0);let l;this._register(this.provider.onDidChangeStatus(()=>{switch(l&&clearTimeout(l),this.provider.status){case"discovering":s.busy=!0;break;case"idle":l=setTimeout(()=>s.busy=!1,500),this._register(new up.Disposable(()=>l&&clearTimeout(l)));break}},this)),this.updateRecommended(s),this.updateQuickPickItems(s),this._register(this.provider.onDidChangeRecommended(()=>this.updateRecommended(s),this)),this._register(this.provider.onDidChange(()=>this.updateQuickPickItems(s),this));let c=await a;if(!this.token.isCancellationRequested){if(Ppe(c))try{let u=await c.command();return u?{selection:"controller",connection:u}:void 0}catch(u){if(u instanceof AO)return{selection:"userPerformedSomeOtherAction"};if(u===_e.back)return this.selectKernelImplInternal(t,r);throw u}if(c&&"connection"in c)return{selection:"controller",connection:c.connection};if(c&&"error"in c)throw _e.back}}updateQuickPickItems(t){t.title=this.provider.title;let r=new Set(t.items.filter(u=>zl(u)).map(u=>u).map(u=>u.connection.id)),i=this.provider.kernels.filter(u=>!r.has(u.id)).map(u=>this.connectionToQuickPick(u));this.updateQuickPickWithLatestConnection(t),this.removeMissingKernels(t),this.updateRecommended(t),i.sort((u,d)=>u.label.localeCompare(d.label));let o=0,s=this.existingItems,a=new Map(Array.from(s).map(u=>[u.connection.id,u])),l=s.size;i.forEach(u=>{let d=a.get(u.connection.id);d&&s.delete(d),s.add(u)});let c=Array.from(s);c.sort((u,d)=>u.label.localeCompare(d.label)),this.quickPickItems.splice(o+1,l,...c),this.rebuildQuickPickItems(t)}rebuildQuickPickItems(t){let r=this.recommendedItems.find(a=>zl(a)),i=new Set(this.recommendedItems.filter(zl).map(a=>a.connection.id)),o=this.quickPickItems.filter(a=>!zl(a)||!i.has(a.connection.id)),s=t.activeItems.length?t.activeItems[0]:void 0;r&&zl(r)&&s&&(zl(s)?s.connection.id!==r.connection.id&&(r=void 0):r=void 0),kpe(t,this.recommendedItems.concat(o),r)}removeMissingKernels(t){let r=t.items.filter(s=>zl(s)).map(s=>s).map(s=>s.connection.id),i=new Map(this.provider.kernels.map(s=>[s.id,s])),o=r.filter(s=>!i.has(s));if(o.length){let s=[];this.existingItems.forEach(a=>{o.includes(a.connection.id)&&(this.existingItems.delete(a),s.push(a))}),this.quickPickItems=this.quickPickItems.filter(a=>!s.includes(a)),this.rebuildQuickPickItems(t)}}updateRecommended(t){if(!this.provider.recommended){this.recommendedItems.length=0;return}this.recommendedItems.length||this.recommendedItems.push({label:y.recommendedItemCategoryInQuickPick,kind:up.QuickPickItemKind.Separator});let r=this.connectionToQuickPick(this.provider.recommended,!0);this.recommendedItems.length===2?this.recommendedItems[1]=r:this.recommendedItems.push(r),this.rebuildQuickPickItems(t)}updateQuickPickWithLatestConnection(t){let r=new Map(this.provider.kernels.map(i=>[i.id,i]));this.recommendedItems.concat(this.quickPickItems).forEach(i=>{if(!zl(i)||!r.has(i.connection.id))return;let o=r.get(i.connection.id);o&&(i.label=this.connectionToQuickPick(o,i.isRecommended).label,i.tooltip=this.connectionToQuickPick(o,i.isRecommended).tooltip,i.detail=this.connectionToQuickPick(o,i.isRecommended).detail,i.description=this.connectionToQuickPick(o,i.isRecommended).description,i.isRecommended=this.connectionToQuickPick(o,i.isRecommended).isRecommended,i.connection=o)}),this.rebuildQuickPickItems(t)}connectionToQuickPick(t,r=!1){let i=r?"$(star-full) ":"",o=(l,c,u)=>{l.label=`${i}${c.label}`,l.detail=c.detail,l.description=c.description,this.quickPickItems.forEach(d=>{"connection"in d&&d.connection.id===u.id&&(d.label=c.label,d.detail=c.detail,d.description=c.description)})},s=this.displayDataProvider.getDisplayData(t),a={label:"",detail:"",description:"",isRecommended:r,connection:t};return o(a,s,t),this._register(s.onDidChange(l=>o(a,l,t),this)),a}};var Qy=class{constructor(e,t,r,i){this.kernelFinder=e;this.multiStepFactory=t;this.pythonEnvFilter=r;this.jupyterConnection=i;this.localDisposables=[]}async selectLocalKernel(e){if(e.notebookType!==St&&e.notebookType!==ft)return;this.localDisposables.forEach(o=>o.dispose()),this.localDisposables=[],this.cancellationTokenSource?.cancel(),this.cancellationTokenSource?.dispose(),this.cancellationTokenSource=new pT.CancellationTokenSource;let t=this.multiStepFactory.create(),r={disposables:[],notebook:e},i=this.kernelFinder.registered.find(o=>o.id==="localKernelSpec");try{if(await t.run(this.selectKernelFromKernelFinder.bind(this,i,this.cancellationTokenSource.token,t,r),r)===_e.cancel||r.selection?.type==="userPerformedSomeOtherAction")throw new pT.CancellationError;if(this.cancellationTokenSource.token.isCancellationRequested){z(r.disposables);return}if(r.selection?.type==="connection")return r.selection.connection}finally{z(r.disposables)}}selectKernelFromKernelFinder(e,t,r,i){let o=new uT(i.notebook,e.kind,e,this.pythonEnvFilter,this.jupyterConnection);return i.disposables.push(o),this.selectKernel(o,t,r,i)}async selectKernel(e,t,r,i){if(t.isCancellationRequested)return;let o=new dT(e,t);i.disposables.push(o);let s=l=>{let{quickPick:c,selection:u}=r.showLazyLoadQuickPick({...l,placeholder:"",matchOnDescription:!0,matchOnDetail:!0,supportBackInFirstStep:!0,activeItem:void 0,ignoreFocusOut:!1});return{quickPick:c,selection:u}},a=await o.selectKernel(s);a?.selection==="controller"?i.selection={type:"connection",connection:a.connection}:a?.selection==="userPerformedSomeOtherAction"&&(i.selection={type:"userPerformedSomeOtherAction"})}};Qy=v([(0,df.injectable)(),m(0,(0,df.inject)(kr)),m(1,(0,df.inject)(wg)),m(2,(0,df.inject)(ri)),m(3,(0,df.inject)(on))],Qy);var du=k(N()),mf=require("vscode");var pf=require("vscode");var Yy=require("vscode");var mT=class{constructor(e,t){this.notebook=e;this.disposables=[];be.instance.get(ot).onControllerSelected(i=>{i.notebook===this.notebook&&(i.controller.connection.kind!=="startUsingPythonInterpreter"||!i.controller.connection.interpreter||i.controller.connection.interpreter.id!==this.createdEnvId)&&this.cancelTokeSource.cancel()},this,this.disposables),this.cancelTokeSource=og(t)}dispose(){this.cancelTokeSource.dispose(),z(this.disposables)}async createPythonEnvFromKernelPicker(){let e,t=await this.createPythonEnvironment();if(this.cancelTokeSource.token.isCancellationRequested||t.action)return R("DATASCIENCE.CREATE_PYTHON_ENVIRONMENT",void 0,{failed:!0,reason:"cancelled"}),{action:t.action||"Cancel"};if(!t.interpreter)return R("DATASCIENCE.CREATE_PYTHON_ENVIRONMENT",void 0,{failed:!0,reason:"cancelled"}),{action:"Cancel"};e=t.interpreter,p.debug(`Python Environment created ${e.id}`);let r=await this.waitForPythonKernel(t.interpreter);if(this.cancelTokeSource.token.isCancellationRequested)return R("DATASCIENCE.CREATE_PYTHON_ENVIRONMENT",void 0,{failed:!0,reason:"cancelled"}),{action:"Cancel"};if(!r)return R("DATASCIENCE.CREATE_PYTHON_ENVIRONMENT",void 0,{failed:!0,reason:"kernelConnectionNotCreated"}),p.debug(`Python Environment ${e.id} not found as a kernel`),{action:"Cancel"};p.debug(`Python Environment ${e.id} found as a kernel ${r.kind}:${r.id}`);let o=await be.instance.get(Es).installMissingDependencies({resource:this.notebook.uri,kernelConnection:r,ui:new Jt(!1),token:this.cancelTokeSource.token,ignoreCache:!0,cannotChangeKernels:!0,installWithoutPrompting:!0}),s=!0;return o!==0&&(s=!1,p.warn(`Dependencies not installed for new Python Env ${j(e.uri)} for notebook ${j(this.notebook.uri)}`)),R("DATASCIENCE.CREATE_PYTHON_ENVIRONMENT",void 0,{dependenciesInstalled:s,envType:Ve(t.interpreter)}),{kernelConnection:r}}async waitForPythonKernel(e){let r=be.instance.get(kr).registered.find(i=>i.kind==="localPythonEnvironment");if(r)return this.waitForPythonKernelFromFinder(e,r)}async waitForPythonKernelFromFinder(e,t){let r=t.kernels.find(i=>i.interpreter.id===e.id);return r||new Promise(i=>{let o=[];o.push(t.onDidChangeKernels(()=>{if(this.cancelTokeSource.token.isCancellationRequested)return;let s=t.kernels.find(a=>a.interpreter.id===e.id);if(s)return z(o),i(s)},this,this.disposables)),o.push(this.cancelTokeSource.token.onCancellationRequested(()=>{z(o)}))}).then(i=>{if(!this.cancelTokeSource.token.isCancellationRequested)return i||p.warn(`New Python Environment ${j(e.uri)} not found as a kernel`),i})}async createPythonEnvironment(){let e=be.instance.get(Xe),t=new Yy.CancellationTokenSource;try{let r=await Yy.commands.executeCommand("python.createEnvironment",{showBackButton:!0,selectEnvironment:!0});if(r?.action==="Cancel")return{action:"Cancel"};if(r?.action==="Back")return{action:"Back"};let i=r?.path;if(this.cancelTokeSource.token.isCancellationRequested)return{action:"Cancel"};if(!i)return p.warn("Python Environment not created, either user cancelled the creation or there was an error in the Python Extension"),{action:"Cancel"};this.createdEnvId=i,p.debug(`Python Environment created ${i}`);let o=await e.getInterpreterDetails({path:i});return this.cancelTokeSource.token.isCancellationRequested?{action:"Cancel"}:(o||p.warn(`No interpreter details for New Python Environment ${j(Yy.Uri.file(i))}`),this.createdEnvId=o?.id,{interpreter:o})}finally{t.cancel(),t.dispose()}}};var fT=require("vscode");function Bq(n,e){let t=xpe(n,e.environments.known);return t||(()=>{let i=e.environments.getActiveEnvironmentPath(n.uri);return i&&e.environments.known.find(o=>o.id===i.id)})()}function xpe(n,e){let t=fT.workspace.getWorkspaceFolder(n.uri)?.uri||(fT.workspace.workspaceFolders?.length===1?fT.workspace.workspaceFolders[0].uri:void 0),r=Jq(yi(n.uri),e);if(r)return r;if(t)return Jq(t,e)}function Jq(n,e){let t=e.filter(r=>_g(r.environment?.folderUri?.fsPath||r.executable.uri?.fsPath||r.path,n.fsPath));return t.find(r=>Ve(r)==="Venv"&&r.environment?.name?.toLowerCase()===".venv")||t.find(r=>Ve(r)==="Conda"&&r.environment?.name?.toLowerCase()===".conda")||t.find(r=>["VirtualEnv","VirtualEnvWrapper"].includes(Ve(r))&&r.environment?.name?.toLowerCase()===".venv")||t.find(r=>r.environment?.name?.toLowerCase()===".venv"||r.environment?.name?.toLowerCase()===".conda")||t.length?t[0]:void 0}var hT=class extends Qt{constructor(t,r){super();this.notebook=t;this.token=r;let i=be.instance.get(ri),o=be.instance.get(Be),s=be.instance.get(Ht);this.provider=be.instance.get(Rs).withFilter(g=>!i.isPythonEnvironmentExcluded(g)),this.pythonEnvPicker=this._register(new Fd(Promise.resolve(this.provider),Yx,Xx,{supportsBack:!0},void 0,y.quickPickSelectPythonEnvironmentTitle));let a=!1,l=()=>{a||(a=!0,this.pythonEnvPicker.addCommand({label:`$(add) ${y.createPythonEnvironmentInQuickPick}`},this.createNewEnvironment.bind(this)))};this.provider.items.length&&l();let c={dispose:h},u=this._register(this.provider.onDidChange(()=>{this.provider.items.length&&(l(),c.dispose(),u.dispose())}));this.provider.refresh().finally(()=>{this.provider.items.length||(c=this.pythonEnvPicker.addCommand({label:y.installPythonQuickPickTitle,tooltip:y.installPythonQuickPickToolTip,description:y.pleaseReloadVSCodeOncePythonHasBeenInstalled},()=>{throw setTimeout(()=>pf.commands.executeCommand(B.InstallPythonViaKernelPicker).then(h,h)),new pf.CancellationError}))}).catch(h);let d=()=>{!this.pythonApi||r.isCancellationRequested||(this.pythonEnvPicker.recommended=Bq(this.notebook,this.pythonApi))},f=g=>{g&&(this.pythonApi=g,d(),this._register(g.environments.onDidChangeActiveEnvironmentPath(d)),this._register(g.environments.onDidChangeEnvironments(d)))};o.isPythonExtensionInstalled?s.getNewApi().then(f).catch(h):this._register(o.onPythonExtensionInstallationStatusChanged(()=>s.getNewApi().then(f),this)),d()}async selectKernel(){let t=re();pf.extensions.getExtension(Yn)||pf.commands.executeCommand(B.InstallPythonExtensionViaKernelPicker).then(l=>{l===!0?this.provider.refresh().catch(h):t.resolve()},l=>{p.error("Failed to install the Python extension",l),t.resolve()});let r=await Promise.race([this.pythonEnvPicker.selectItem(this.token),t.promise]);if(!r||r instanceof _e)return r||_e.cancel;let i=be.instance.get(Xe),o=be.instance.get(Mr),s=await i.getInterpreterDetails(r.path);if(!s)return _e.cancel;let a=await Ps(s,await o.getKernelSpecTempRegistrationFolder());return Ko.create({kernelSpec:a,interpreter:s,id:ki(a,s)})}async createNewEnvironment(){let t=be.instance.get(Ht);if(!be.instance.get(Be).isPythonExtensionInstalled)return;let o=await this._register(new mT(this.notebook,this.token)).createPythonEnvFromKernelPicker();return o?"action"in o?o.action==="Back"?_e.back:_e.cancel:(await t.getNewApi())?.environments.known.find(a=>a.id===o.kernelConnection.interpreter.id):_e.cancel}};var Xy=class extends jn{constructor(t,r,i,o,s,a){super();this.pythonApi=r;this.filter=i;this.jupyterPaths=o;this.checker=s;this.kind="localPythonEnvironment";this.id="localPythonEnvironment";this.displayName=y.localPythonEnvironments;this._onDidChangeKernels=this._register(new mf.EventEmitter);this.onDidChangeKernels=this._onDidChangeKernels.event;this._kernels=new Map;this._onDidChangeStatus=this._register(new mf.EventEmitter);this._status="idle";this.promiseMonitor=new lo;this.onDidChangeStatus=this._onDidChangeStatus.event;this.previousCancellationTokens=[];this.apiHooked=!1;t.push(this),a.registerKernelFinder(this)}get status(){return this._status}set status(t){this._status=t,this._onDidChangeStatus.fire()}get kernels(){return Array.from(this._kernels.values())}activate(){this._register(this.promiseMonitor.onStateChange(()=>this.status=this.promiseMonitor.isComplete?"idle":"discovering",this)),this.checker.isPythonExtensionInstalled?(this.getKernelSpecsDir().catch(h),this.hookupPythonApi().catch(h)):this._register(this.checker.onPythonExtensionInstallationStatusChanged(()=>{this.checker.isPythonExtensionInstalled&&(this.getKernelSpecsDir().catch(h),this.hookupPythonApi().catch(h))},this))}async selectLocalKernel(t){let r=new mf.CancellationTokenSource,i=[r];try{let o=new hT(t,r.token);i.push(o);let s=await o.selectKernel();if(s instanceof Error){if(s instanceof _e&&s===_e.back)return;throw new mf.CancellationError}return this.addUpdateKernel(s),s}finally{z(i)}}async getKernelConnection(t){let r=be.instance.get(Xe),i=be.instance.get(Mr),o=await r.getInterpreterDetails(t.path);if(!o){p.warn(`Python Env ${j(t.id)} not found}`);return}if(!o||this.filter.isPythonEnvironmentExcluded(o)){p.warn(`Python Env hidden via filter: ${j(o.id)}`);return}let s=await Ps(o,await i.getKernelSpecTempRegistrationFolder()),a=Ko.create({kernelSpec:s,interpreter:o,id:ki(s,o)}),l=this._kernels.get(a.id);return l||(this.addUpdateKernel(a),a)}addUpdateKernel(t){let r=this._kernels.get(t.id);r?(r.updateInterpreter(t.interpreter),this._kernels.set(t.id,Object.assign(r,t)),this._onDidChangeKernels.fire({})):(this._kernels.set(t.id,t),this._onDidChangeKernels.fire({}))}async refresh(){this.previousCancellationTokens.forEach(t=>t.cancel()),z(this.previousCancellationTokens),this.previousCancellationTokens=[],this._kernels.clear(),this.pythonApi.getNewApi().then(t=>{t&&(this.promiseMonitor.push(t.environments.refreshEnvironments({forceRefresh:!0}).catch(h)),t.environments.known.forEach(r=>this.buildDummyEnvironment(r).catch(h)))}).catch(h)}getKernelSpecsDir(){return this.tempDirForKernelSpecs||(this.tempDirForKernelSpecs=this.jupyterPaths.getKernelSpecTempRegistrationFolder()),this.tempDirForKernelSpecs}async hookupPythonApi(){if(this.apiHooked)return;this.apiHooked=!0;let t=await this.pythonApi.getNewApi();t&&(t.environments.known.map(r=>this.buildDummyEnvironment(r).catch(h)),this._register(t.environments.onDidChangeEnvironments(r=>{if(r.type==="remove"){let i=this._kernels.get(r.env.id);i&&(this._kernels.delete(r.env.id),this._onDidChangeKernels.fire({removed:[i]}))}else this.buildDummyEnvironment(r.env).catch(h)},this)))}async buildDummyEnvironment(t){let r=_V(t);if(!r||this.filter.isPythonEnvironmentExcluded(r))return;let i=await Ps(r,await this.getKernelSpecsDir()),o=Ko.create({kernelSpec:i,interpreter:r,id:ki(i,r)});this._kernels.get(t.id)||(this._kernels.set(t.id,o),this._onDidChangeKernels.fire({}))}};Xy=v([(0,du.injectable)(),m(0,(0,du.inject)(M)),m(1,(0,du.inject)(Ht)),m(2,(0,du.inject)(ri)),m(3,(0,du.inject)(Mr)),m(4,(0,du.inject)(Be)),m(5,(0,du.inject)(kr))],Xy);var Ql=k(N()),On=require("vscode");function gT(n){return n===Fe||n===Yf}var Zy=class{constructor(e,t,r,i,o,s,a){this.kernelFinder=e;this.serverUriStorage=t;this.serverSelector=r;this.jupyterConnection=i;this.displayDataProvider=o;this.kernelFinderController=s;this.jupyterServerRegistry=a;this.localDisposables=[]}async selectRemoteKernel(e,t){if(e.notebookType!==St&&e.notebookType!==ft)return;this.localDisposables.forEach(o=>o.dispose()),this.localDisposables=[],this.cancellationTokenSource?.cancel(),this.cancellationTokenSource?.dispose(),this.cancellationTokenSource=new On.CancellationTokenSource;let r=new aC,i={disposables:[],notebook:e};try{if(await r.run(this.getRemoteServersFromProvider.bind(this,t,this.cancellationTokenSource.token),i)===_e.cancel||i.selection?.type==="userPerformedSomeOtherAction")throw new On.CancellationError;if(this.cancellationTokenSource.token.isCancellationRequested){z(i.disposables);return}if(i.selection?.type==="connection")return i.selection.connection}finally{z(i.disposables)}}async getRemoteServersFromProvider(e,t,r,i){let o=this.kernelFinder.registered.filter(T=>T.kind==="remote"),s=[],a=[],l=[],c=this.jupyterServerRegistry.jupyterCollections.find(T=>T.extensionId===e.extensionId&&T.id===e.id)?.serverProvider,u=c?.provideJupyterServers?Promise.resolve(c.provideJupyterServers.bind(c)(t)).then(T=>T||[]):Promise.resolve([]),d=new Set,f=await u,g=new Set(f.map(T=>T.id));if(o.filter(T=>T.serverProviderHandle.id===e.id).filter(T=>g.has(T.serverProviderHandle.id)).map(T=>{let J=this.serverUriStorage.all.find(ne=>Ot(ne.provider)===Ot(T.serverProviderHandle));d.add(Ot(T.serverProviderHandle)),l.push({server:T,time:J?.time})}),l.sort((T,J)=>!T.time&&!J.time?T.server.displayName.localeCompare(J.server.displayName):!T.time&&J.time?1:T.time&&!J.time||(T.time||0)>(J.time||0)?-1:1),l.filter(({time:T})=>(T||0)>0).forEach(({server:T,time:J})=>{s.push({type:"finder",kernelFinderInfo:T,idAndHandle:T.serverProviderHandle,label:T.displayName,description:J?y.jupyterServerLastConnectionForQuickPickDescription(new Date(J)):void 0,buttons:c?.removeJupyterServer&&gT(e.extensionId)?[{iconPath:new On.ThemeIcon("close"),tooltip:y.removeRemoteJupyterServerEntryInQuickPick}]:[]})}),l.filter(({time:T})=>!T).forEach(({server:T})=>{s.push({type:"finder",kernelFinderInfo:T,idAndHandle:T.serverProviderHandle,label:T.displayName,buttons:c?.removeJupyterServer&&gT(e.extensionId)?[{iconPath:new On.ThemeIcon("close"),tooltip:y.removeRemoteJupyterServerEntryInQuickPick}]:[]})}),f.sort((T,J)=>T.label.localeCompare(J.label)).forEach(T=>{let J=Ot({extensionId:e.extensionId,id:e.id,handle:T.id});d.has(J)||s.push({type:"jupyterServer",label:T.label,idAndHandle:{extensionId:e.extensionId,id:e.id,handle:T.id},server:T,buttons:c?.removeJupyterServer&&gT(e.extensionId)?[{iconPath:new On.ThemeIcon("close"),tooltip:y.removeRemoteJupyterServerEntryInQuickPick}]:[]})}),e.commandProvider){let T=(await Promise.resolve(e.commandProvider.provideCommands(void 0,t))||[]).map(J=>({...J,provider:e,type:"uriProviderQuickPick",command:J}));s.length>0&&T.length&&a.push({label:"",kind:On.QuickPickItemKind.Separator}),a.push(...T)}let b=s.concat(a),I=new On.EventEmitter,E=b.length===1&&"command"in b[0]&&b[0].command.canBeAutoSelected?b[0]:void 0;if(c){let T=b.filter(J=>"type"in J);T.length===1&&T.every(J=>J.type!=="uriProviderQuickPick")?E=T[0]:T.every(J=>J.type==="uriProviderQuickPick")&&T.filter(J=>J.picked).length===1&&(E=b.filter(J=>J.picked)[0])}let x,A;if(E)A=E;else{let{quickPick:T,selection:J}=r.showLazyLoadQuickPick({items:b,placeholder:e.extensionId===Fe||e.extensionId===Yf?y.enterOrSelectRemoteJupyterPlaceholder:y.selectRemoteJupyterPlaceholder,title:y.quickPickTitleForSelectionOfJupyterServer,supportBackInFirstStep:!0,onDidTriggerItemButton:async ne=>{if("type"in ne.item&&(ne.item.type==="finder"||ne.item.type==="jupyterServer")){let H=ne.item.idAndHandle.handle,oe=f.find(ae=>ae.id===H);c?.removeJupyterServer&&oe&&gT(e.extensionId)&&(T.busy=!0,this.serverUriStorage.remove({extensionId:e.extensionId,id:e.id,handle:H}).catch(h),await c.removeJupyterServer(oe),T.busy=!1,b.splice(b.indexOf(ne.item),1),I.fire(b.concat([])))}},onDidChangeItems:I.event});T.onDidChangeValue(async ne=>{if(!e.commandProvider?.provideCommands)return;let H=[];s.length>0&&H.push({label:"",kind:On.QuickPickItemKind.Separator});let ae=(await Promise.resolve(e.commandProvider.provideCommands(ne,t))||[]).map(Y=>({...Y,provider:e,type:"uriProviderQuickPick",command:Y}));T.items=s.concat(H).concat(ae)},this),x=T,A=await J}if(!t.isCancellationRequested&&A&&"type"in A)switch(A.type){case"finder":{let T=await this.selectRemoteKernelFromPicker(i.notebook,Promise.resolve(A.kernelFinderInfo),t).catch(J=>p.error("Failed to select a kernel",J));if(T&&T===_e.back){if(A===E)throw _e.back;return this.getRemoteServersFromProvider(e,t,r,i)}if(!T||T instanceof _e)throw new On.CancellationError;i.selection={type:"connection",connection:T};return}case"jupyterServer":{let T=(async()=>{let ne={id:e.id,handle:A.server.id,extensionId:e.extensionId};return e.extensionId.toLowerCase()===La.toLowerCase()&&await Zt(t,this.serverSelector.addJupyterServer(ne)),this.kernelFinderController.getOrCreateRemoteKernelFinder(ne,A.server.label)})(),J=await this.selectRemoteKernelFromPicker(i.notebook,T,t).catch(ne=>p.error("Failed to select a kernel",ne));if(J&&J===_e.back){if(A===E)throw _e.back;return this.getRemoteServersFromProvider(e,t,r,i)}if(!J||J instanceof _e)throw new On.CancellationError;i.selection={type:"connection",connection:J};return}case"uriProviderQuickPick":{let T=On.notebooks.createNotebookControllerDetectionTask(St);try{x&&(x.busy=!0);let J=await this.selectRemoteServerFromRemoteKernelFinder(A,i,t);return x&&(x.busy=!1),J}catch(J){if(J===_e.back&&!E)return this.getRemoteServersFromProvider(e,t,r,i);throw J}finally{T.dispose()}}default:break}}async selectRemoteServerFromRemoteKernelFinder(e,t,r){if(!e.provider.commandProvider?.handleCommand||r.isCancellationRequested)return;let i=await Promise.resolve(e.provider.commandProvider.handleCommand(e.command,r));if(!i)throw _e.back;if(r.isCancellationRequested)throw new On.CancellationError;let o=(async()=>{let a={id:e.provider.id,handle:i.id,extensionId:e.provider.extensionId};return a.extensionId.toLowerCase()===La.toLowerCase()&&await Zt(r,this.serverSelector.addJupyterServer(a)),this.kernelFinderController.getOrCreateRemoteKernelFinder(a,i.label)})(),s=await this.selectRemoteKernelFromPicker(t.notebook,o,r).catch(a=>p.error("Failed to select a kernel",a));if(s&&s===_e.back)throw _e.back;if(!s||s instanceof _e)throw new On.CancellationError;t.selection={type:"connection",connection:s}}async selectRemoteKernelFromPicker(e,t,r){let i,o=u=>{let d=this.displayDataProvider.getDisplayData(u);return{label:`${u===i?"$(star-full) ":""}${d.label}`,description:d.description,detail:d.detail}},s=u=>({label:this.displayDataProvider.getDisplayData(u).category||"Other"}),a=u=>({label:y.failedToFetchKernelSpecsRemoteErrorMessageForQuickPickLabel,detail:y.failedToFetchKernelSpecsRemoteErrorMessageForQuickPickDetail}),l=new Fd(t,o,s,{supportsBack:!0},a),c=new cp(this.jupyterConnection);return t.then(u=>c.findPreferredRemoteKernelConnection(e,u,r)).then(u=>{i=u,u?.kind==="startUsingRemoteKernelSpec"&&(l.recommended=u),l.selected=u}).catch(u=>p.error("Failed to determine preferred remote kernel",u)),l.selectItem(r)}};Zy=v([(0,Ql.injectable)(),m(0,(0,Ql.inject)(kr)),m(1,(0,Ql.inject)($t)),m(2,(0,Ql.inject)(aa)),m(3,(0,Ql.inject)(on)),m(4,(0,Ql.inject)(id)),m(5,(0,Ql.inject)(XC)),m(6,(0,Ql.inject)(jt))],Zy);function $q(n,e){n.addSingleton(ot,Jy),n.addBinding(ot,me),n.addSingleton(id,jy),n.addSingleton(lk,Zy),n.addSingleton(ck,Qy),n.addSingleton(cm,Xy),n.addBinding(cm,me),n.addSingleton(me,zy),Vq(n,e)}var hw=k(N()),ff=require("vscode");var Ea=Symbol("IJupyterDebugService"),dp=Symbol("INotebookDebuggingManager");var vT=Symbol("IDebugLocationTrackerFactory"),yT=Symbol("IDebugLocationTracker");var eb=class{constructor(e,t){this.debuggingManager=e;this.disposables=t}activate(){this.disposables.push(ff.commands.registerCommand(B.RunByLine,this.runByLine,this)),this.disposables.push(ff.commands.registerCommand(B.RunByLineNext,this.runByLineNext,this)),this.disposables.push(ff.commands.registerCommand(B.RunByLineStop,this.runByLineStop,this)),this.disposables.push(ff.commands.registerCommand(B.RunAndDebugCell,this.runAndDebugCell,this))}async runByLine(e){R("DATASCIENCE.DEBUGGING.CLICKED_RUNBYLINE"),e??=this.getCellFromActiveEditor(),e&&await this.debuggingManager.tryToStartDebugging(0,e)}async runByLineNext(e){e??=this.getCellFromActiveEditor(),e&&this.debuggingManager.runByLineNext(e)}async runByLineStop(e){e??=this.getCellFromActiveEditor(),e&&this.debuggingManager.runByLineStop(e)}async runAndDebugCell(e){R("DATASCIENCE.DEBUGGING.CLICKED_RUN_AND_DEBUG_CELL"),e??=this.getCellFromActiveEditor(),e&&await this.debuggingManager.tryToStartDebugging(1,e)}getCellFromActiveEditor(){let e=ff.window.activeNotebookEditor;if(e){let t=e.selections[0];if(t)return e.notebook.cellAt(t.start)}}dispose(){this.disposables.forEach(e=>e.dispose())}};eb=v([(0,hw.injectable)(),m(0,(0,hw.inject)(dp)),m(1,(0,hw.inject)(M))],eb);var pu=k(N());var tb=class{constructor(e,t,r){this.debugService=e;this.disposables=t;this.debugVariables=r}activate(){this.disposables.push(this.debugService.registerDebugAdapterTrackerFactory(ge,this)),this.disposables.push(this.debugService.registerDebugAdapterTrackerFactory("debugpy",this)),this.disposables.push(this.debugService.registerDebugAdapterTrackerFactory(AS,this)),this.disposables.push(this.debugService.registerDebugAdapterTrackerFactory(NS,this))}createDebugAdapterTracker(e){return this.debugVariables}};tb=v([(0,pu.injectable)(),m(0,(0,pu.inject)(Ea)),m(0,(0,pu.named)(je.MULTIPLEXING_DEBUGSERVICE)),m(1,(0,pu.inject)(M)),m(2,(0,pu.inject)(yn)),m(2,(0,pu.named)(je.DEBUGGER_VARIABLES))],tb);var Pa=k(N());var gw=require("vscode");var NO=new Set(["DataFrame","list","dict","ndarray","Series","Tensor","EagerTensor","DataArray"]);function IT(n){return{name:n.evaluateName??n.name,type:n.type,count:0,shape:"",size:0,supportsDataExplorer:NO.has(n.type||""),value:n.value,truncated:!0,frameId:n.variablesReference}}function ST(n){let e=n.index,t=n.columns;return{data:n.data.map((o,s)=>{let a={index:e[s]};return t.forEach((l,c)=>{a[l]=o[c]}),a})}}var MO=require("vscode"),rb=class{constructor(e){this._sessionId=e;this.topMostFrameId=0;this.sequenceNumbersOfRequestsPendingResponses=new Set;this.waitingForStackTrace=!1;this.debugLocationUpdatedEvent=new MO.EventEmitter;this.sessionEndedEmitter=new MO.EventEmitter;this.DebugLocation=void 0}get sessionId(){return this._sessionId}get sessionEnded(){return this.sessionEndedEmitter.event}get debugLocationUpdated(){return this.debugLocationUpdatedEvent.event}get debugLocation(){return this._debugLocation}onDidSendMessage(e){if(this.isResponseForRequestToFetchAllFrames(e)){let t=e.body?.stackFrames[0];this.topMostFrameId=t?.id,this.sequenceNumbersOfRequestsPendingResponses.delete(e.request_seq),this.waitingForStackTrace&&(this.DebugLocation={lineNumber:t?.line,fileName:this.normalizeFilePath(t?.source?.path),column:t.column},this.waitingForStackTrace=!1)}this.isStopEvent(e)&&(this.waitingForStackTrace=!0),this.isContinueEvent(e)&&(this.DebugLocation=void 0,this.waitingForStackTrace=!1)}onWillStopSession(){this.sessionEndedEmitter.fire(this)}onWillReceiveMessage(e){this.isRequestToFetchAllFrames(e)&&this.sequenceNumbersOfRequestsPendingResponses.add(e.seq)}set DebugLocation(e){let t=this._debugLocation;this._debugLocation=e,this._debugLocation!==t&&this.debugLocationUpdatedEvent.fire()}normalizeFilePath(e){return process.platform!=="win32"?e.replace(/\\/g,"/"):e}isStopEvent(e){return e.type==="event"&&e.event==="stopped"}isContinueEvent(e){if(e.type==="event"){if(e.event==="continue")return!0}else if(e.type==="response"&&e.command==="continue")return!0;return!1}isResponseForRequestToFetchAllFrames(e){return e.type==="response"&&e.command==="stackTrace"&&e.body?.stackFrames[0]&&this.sequenceNumbersOfRequestsPendingResponses.has(e.request_seq)}isRequestToFetchAllFrames(e){return e.type==="request"&&e.command==="stackTrace"&&(e.arguments.startFrame===0||e.arguments.startFrame===void 0)}};var Dpe=new Set(["In","Out","exit","quit"]),CT=100,nb=class extends rb{constructor(t,r,i,o,s,a){super(void 0);this.debugService=t;this.debuggingManager=r;this.configService=i;this.varScriptGenerator=o;this.dfScriptGenerator=s;this.kernelProvider=a;this.refreshEventEmitter=new gw.EventEmitter;this.lastKnownVariables=[];this.importedGetVariableInfoScriptsIntoKernel=new Set;this.watchedNotebooks=new Map;this.debuggingStarted=!1;this.currentVariablesReference=0;this.currentSeqNumsForVariables=new Set;this.debuggingManager.onDoneDebugging(()=>this.refreshEventEmitter.fire(),this)}get refreshRequired(){return this.refreshEventEmitter.event}get active(){return(this.debugService.activeDebugSession!==void 0||this.activeNotebookIsDebugging())&&this.debuggingStarted}getAllVariableDiscriptions(){throw new Error("Method not implemented.")}async getVariables(t,r){r&&this.watchKernel(r);let i=r&&this.kernelProvider.getKernelExecution(r),o={executionCount:i?i.executionCount:t.executionCount,pageStartIndex:0,pageResponse:[],totalCount:0,refreshCount:t.refreshCount};if(this.active){let s=t.sortColumn,a=(u,d)=>{let f=u[s]?u[s]:"",g=d[s]?d[s]:"";return t.sortAscending?f.localeCompare(g,void 0,{sensitivity:"base"}):g.localeCompare(f,void 0,{sensitivity:"base"})};this.lastKnownVariables.sort(a);let l=t.startIndex?t.startIndex:0,c=t.pageSize?t.pageSize:CT;o.pageStartIndex=l;for(let u=l;u<l+c&&u<this.lastKnownVariables.length;u+=1){let d=this.lastKnownVariables[u].truncated?await this.getFullVariable(this.lastKnownVariables[u]):this.lastKnownVariables[u];this.lastKnownVariables[u]=d,o.pageResponse.push(d)}o.totalCount=this.lastKnownVariables.length}return o}async getMatchingVariable(t,r){if(this.active){let i=this.lastKnownVariables.find(o=>o.name===t);return i&&r?.resourceUri&&Vu(r?.resourceUri).toLowerCase()===".ipynb"&&R("DATASCIENCE.RUN_BY_LINE_VARIABLE_HOVER"),i}}async getVariableValueSummary(t){}async getDataFrameInfo(t,r,i,o){if(!this.active)return t;o&&(t=await this.getFullVariable(t)),r&&this.watchKernel(r);let s=t.name;i&&(s=`${t.name}${i}`);let{cleanupCode:a,initializeCode:l,code:c}=await this.dfScriptGenerator.generateCodeToGetDataFrameInfo({isDebugging:!0,variableName:s}),u=await this.evaluate({code:c,cleanupCode:a,initializeCode:l,frameId:t.frameId}),d=r?.notebook,f=d?Ce(d.uri.path):"";return!f&&this.debugLocation?.fileName&&(f=Ce(this.debugLocation.fileName)),u?{...t,...JSON.parse(u.result),maximumRowChunkSize:CT,fileName:f}:t}async getDataFrameRows(t,r,i,o,s){if(i-r>CT)throw new Error(`Debugger cannot provide more than ${CT} rows at once`);if(!this.debugService.activeDebugSession||t.columns===void 0)return{data:[]};o&&this.watchKernel(o);let a=t.name;s&&(a=`${t.name}${s}`);let{cleanupCode:l,initializeCode:c,code:u}=await this.dfScriptGenerator.generateCodeToGetDataFrameRows({isDebugging:!0,variableName:a,startIndex:r,endIndex:i}),d=await this.evaluate({code:u,cleanupCode:l,initializeCode:c,frameId:t.frameId});return ST(JSON.parse(d.result))}onWillReceiveMessage(t){super.onWillReceiveMessage(t),t.type==="request"&&t.command==="variables"&&t.arguments&&this.currentVariablesReference===t.arguments.variablesReference&&this.currentSeqNumsForVariables.add(t.seq)}onDidSendMessage(t){if(super.onDidSendMessage(t),t.type==="response"&&t.command==="initialize")this.debuggingStarted=!0;else if(t.type==="event"&&t.event==="stopped"&&this.activeNotebookIsDebugging())this.handleNotebookVariables(t).catch(h);else if(t.type==="response"&&t.command==="scopes"&&t.body&&t.body.scopes){let i=t.body.scopes[0].variablesReference;i!==this.currentVariablesReference&&(this.currentVariablesReference=i,this.currentSeqNumsForVariables.clear())}else if(t.type==="response"&&t.command==="variables"&&t.body)this.currentSeqNumsForVariables.has(t.request_seq)&&this.updateVariables(void 0,t),this.monkeyPatchDataViewableVariables(t);else if(t.type==="event"&&t.event==="terminated"){this.lastKnownVariables=[],this.topMostFrameId=0,this.debuggingStarted=!1,this.refreshEventEmitter.fire();let r=this.debugService.activeDebugSession?.id;r&&this.importedGetVariableInfoScriptsIntoKernel.delete(r)}}watchKernel(t){let r=t.notebook?.uri.toString();if(r&&!this.watchedNotebooks.has(r)){let i=[];i.push(t.onRestarted(this.resetImport.bind(this,r))),i.push(t.onDisposed(()=>{this.resetImport(r),i.forEach(o=>o.dispose()),this.watchedNotebooks.delete(r)})),this.watchedNotebooks.set(r,i)}}resetImport(t){this.importedGetVariableInfoScriptsIntoKernel.delete(t)}async evaluate({code:t,cleanupCode:r,frameId:i,initializeCode:o}){if(this.debugService.activeDebugSession){i=this.topMostFrameId||i;let s={frameId:i,context:"repl",format:{rawString:!0}};p.debug(`Evaluating in debugger : ${this.debugService.activeDebugSession.id}: ${t}`);try{o&&await this.debugService.activeDebugSession.customRequest("evaluate",{...s,expression:o});let a=await this.debugService.activeDebugSession.customRequest("evaluate",{...s,expression:t});if(a&&a.result!=="None")return a;p.error(`Cannot evaluate ${t}`);return}finally{r&&await this.debugService.activeDebugSession.customRequest("evaluate",{...s,expression:r})}}throw Error("Debugger is not active, cannot evaluate.")}async getFullVariable(t){let{initializeCode:r,code:i,cleanupCode:o}=await this.varScriptGenerator.generateCodeToGetVariableInfo({isDebugging:!0,variableName:t.name}),s=await this.evaluate({code:i,initializeCode:r,cleanupCode:o,frameId:t.frameId});return s&&s.result?{...t,truncated:!1,...JSON.parse(s.result)}:t}monkeyPatchDataViewableVariables(t){t.body.variables.forEach(r=>{r.type&&NO.has(r.type)&&(r.__vscodeVariableMenuContext="viewableInDataViewer")})}updateVariables(t,r){let i=this.configService.getSettings(t).variableExplorerExclude?this.configService.getSettings().variableExplorerExclude?.split(";"):[],o=r.body.variables.filter(s=>!(!s.name||!s.type||!s.value||i&&i.includes(s.type)||s.name.startsWith("_")||Dpe.has(s.name)||s.type==="NoneType"));this.lastKnownVariables=o.map(s=>IT(s)),this.refreshEventEmitter.fire()}activeNotebookIsDebugging(){let t=gw.window.activeNotebookEditor;return!!t&&this.debuggingManager.isDebugging(t.notebook)}async handleNotebookVariables(t){let r=gw.window.activeNotebookEditor?.notebook,i=t.body.threadId;if(r){let o=this.debuggingManager.getDebugSession(r);if(o){let s=await o.customRequest("stackTrace",{threadId:i,startFrame:0,levels:1});if(s&&s.stackFrames[0]){let a=s.stackFrames[0],l=this.debuggingManager.getDebugMode(r),c;if(l===0){let u=this.debuggingManager.getDebugCell(r);a.source&&u&&a.source.path===u.document.uri.toString()&&(c=await o.customRequest("scopes",{frameId:a.id}))}else{let u=Ce(r.uri.toString());a.source&&a.source.path&&a.source.path.includes(u)&&(c=await o.customRequest("scopes",{frameId:a.id}))}c&&(c.scopes.forEach(u=>{o.customRequest("variables",{variablesReference:u.variablesReference}).then(h,h)}),this.refreshEventEmitter.fire())}}}}};nb=v([(0,Pa.injectable)(),m(0,(0,Pa.inject)(Ea)),m(0,(0,Pa.named)(je.MULTIPLEXING_DEBUGSERVICE)),m(1,(0,Pa.inject)(dp)),m(2,(0,Pa.inject)(ie)),m(3,(0,Pa.inject)(Eh)),m(4,(0,Pa.inject)(Ph)),m(5,(0,Pa.inject)(De))],nb);var mu=k(N()),pp=require("vscode");var qq=require("vscode"),tr=class{constructor(e){this.name=e}get value(){return this.lastValue}async set(e){this.lastValue!==e&&(this.lastValue=e,await qq.commands.executeCommand("setContext",this.name,this.lastValue))}};var Xq=require("vscode");var vw=(o=>(o[o.Unknown=0]="Unknown",o[o.Ok=1]="Ok",o[o.Outdated=2]="Outdated",o[o.NotInstalled=3]="NotInstalled",o[o.ControllerNotSelected=4]="ControllerNotSelected",o))(vw||{});async function Hq(n){let e="5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d",t=`import builtins
|
||
import ipykernel
|
||
builtins.print("${e}" + ipykernel.__version__ + "${e}")`,r=await n.executeHidden(t),i=/^(\d+)\.\d+\.\d+$/;for(let o of r){if(o.output_type!=="stream")continue;let s=o.text?.toString().trim()??"";if(!s.includes(e))continue;let a=s.split(e)[1].trim().match(i);if(a){let l=a[1];return Number(l)>=6?1:2}}return 0}function yw(n){let e=n;if(typeof e.__notebookUri>"u"||typeof e.__mode>"u"||(e.__mode===1||e.__mode===2||e.__mode===0)&&typeof e.__cellIndex>"u")throw new Error("Invalid launch configuration")}function Gq(n){if(yw(n),n.__mode!==2)throw new Error("Invalid launch configuration")}function wT(n,e){switch(n.type){case"event":let t=n;switch(t.event){case"output":e(t.body);break;case"loadedSource":e(t.body);break;case"breakpoint":e(t.body.breakpoint);break;default:break}break;case"request":let r=n;switch(r.command){case"setBreakpoints":let o=r.arguments,s=o.breakpoints;if(s&&s.length){let a=s[0].line;s.forEach(c=>{e(c,{...o.source})});let l={source:o.source,line:a};e(l),o.source=l.source}break;case"breakpointLocations":e(r.arguments);break;case"source":e(r.arguments);break;case"gotoTargets":e(r.arguments);break;default:break}break;case"response":let i=n;if(i.success&&i.body)switch(i.command){case"stackTrace":i.body.stackFrames.forEach(o=>{e(o)});break;case"loadedSources":i.body.sources.forEach(o=>{let s={source:o};e(s),o.path=s.source.path});break;case"scopes":i.body.scopes.forEach(o=>{e(o)});break;case"setFunctionBreakpoints":i.body.breakpoints.forEach(o=>{e(o)});break;case"setBreakpoints":i.body.breakpoints.forEach(o=>{e(o)});break;default:break}break}}function zq(n){return/~\d+\\/.test(n)}function Qq(n,e){return new RegExp(n.replace(/\\/g,"\\\\").replace(/~\d+\\\\/g,"[^\\\\]+\\\\"),"i").test(e)}async function hf(n,e){let t=`import debugpy
|
||
debugpy.debug_this_thread()`;await n.executeHidden(t),await e.dumpAllCells()}function Yq(n){return!!n.header&&n.header.msg_type==="debug_event"}function bw(n){return n.includes("Frame skipped from debugging during step-in")}function KO(n){return n.event==="debugpyAttach"}var ET=class{constructor(e,t,r){this.debugAdapter=e;this.debugCell=t;this.execution=r;R("DATASCIENCE.DEBUGGING.SUCCESSFULLY_STARTED_RUN_AND_DEBUG_CELL")}trace(e,t){p.debug(`[Debug-Cell] ${e}: ${t}`)}async willSendEvent(e){return KO(e)?(this.trace("intercept","debugpyAttach request for subprocess, not supported"),!0):e.event==="output"&&bw(e.body.output)?(this.trace("intercept","justMyCode notification"),!0):!1}async willSendRequest(e){e.command==="configurationDone"&&(await hf(this.execution,this.debugAdapter),Xq.commands.executeCommand("notebook.cell.execute",{ranges:[{start:this.debugCell.index,end:this.debugCell.index+1}],document:this.debugCell.notebook.uri}).then(h,h))}};var Iw=class{constructor(e,t,r,i){this.mode=e;this.debugAdapter=t;this.debugCell=r;this.serviceContainer=i;this.debuggingManager=this.serviceContainer.get(dp)}trace(e,t){p.debug(`[Debug-Restart] ${e}: ${t}`)}error(e,t){p.error(`[Debug-Restart] ${e}: ${t}`)}async willSendResponse(e){e.command==="initialize"&&e.body&&(e.body.supportsRestartRequest=!0)}async willSendRequest(e){if(e.command==="restart")return this.trace("restart","Handling restart request"),setTimeout(()=>{this.debugAdapter.disconnect().then(()=>(this.trace("restart","doRestart"),this.debuggingManager.tryToStartDebugging(this.mode,this.debugCell,!0))).catch(t=>{this.error("restart",`Error restarting: ${t}`)})},0),{command:e.command,request_seq:e.seq,seq:e.seq,success:!0,type:"response"}}};var Sw=require("vscode");var PT=class{constructor(e,t,r,i){this.debugAdapter=e;this.debugCell=t;this.execution=r;this.settings=i;R("DATASCIENCE.DEBUGGING.SUCCESSFULLY_STARTED_RUNBYLINE")}continue(){if(typeof this.lastPausedThreadId!="number"){p.debug("No paused thread, can't do RBL"),this.stop();return}this.debugAdapter.stepIn(this.lastPausedThreadId).then(h,h)}stop(){p.ci("RunbylineController::stop()"),this.execution.executeHidden("pass").then(h,h),this.debugAdapter.disconnect().then(h,h)}getMode(){return this.debugAdapter.getConfiguration().__mode}async willSendEvent(e){return e.event==="stopped"&&(this.lastPausedThreadId=e.body.threadId,await this.handleStoppedEvent(this.lastPausedThreadId))?(this.trace("intercepted","handled stop event"),!0):e.event==="output"&&bw(e.body.output)?(this.trace("intercept","justMyCode notification"),!0):!1}async willSendRequest(e){p.ci(`willSendRequest: ${e.command}`),e.command==="configurationDone"&&await this.initializeExecute()}async handleStoppedEvent(e){return await this.shouldStepIn(e)?(this.debugAdapter.stepIn(e).then(h,h),!0):!1}async shouldStepIn(e){let t=await this.debugAdapter.stackTrace({threadId:e,startFrame:0,levels:1});if(t&&t.stackFrames[0]){let r=t.stackFrames[0],i=new Sw.Position(r.line,r.column);return this.lastPausePosition?.isEqual(i)?(this.trace("intercept","working around duplicate stop event"),!0):(this.lastPausePosition=i,!!r.source&&r.source.path!==this.debugCell.document.uri.toString())}return!1}trace(e,t){p.debug(`[Debug-RBL] ${e}: ${t}`)}async initializeExecute(){await hf(this.execution,this.debugAdapter);let e=Oe(this.debugCell.document.getText(),{trim:!1,removeEmptyEntries:!1}),t=[];if(nm(e,()=>void 0,(r,i)=>{r.trim().length!==0&&t.push(i)}),t.sort(),t.length!==0){let r={line:t[0]+1};await this.debugAdapter.setBreakpoints({source:{name:Ce(this.debugCell.notebook.uri.path),path:this.debugCell.document.uri.toString()},breakpoints:[r],sourceModified:!1}),this.settings.getSettings(this.debugCell.notebook.uri).showVariableViewWhenDebugging&&Sw.commands.executeCommand(B.OpenVariableView).then(h,h)}Sw.commands.executeCommand("notebook.cell.execute",{ranges:[{start:this.debugCell.index,end:this.debugCell.index+1}],document:this.debugCell.notebook.uri}).then(h,h)}};var ib=class{constructor(e,t,r){this.document=e;this.config=t;this.session=r}};var Fn=require("vscode");var ob=class{constructor(e,t,r){this.kernelProvider=e;this.controllerRegistration=t;this.serviceContainer=r;this.notebookToDebugger=new Map;this.notebookToDebugAdapter=new Map;this.notebookInProgress=new Set;this.disposables=[];this._doneDebugging=new Fn.EventEmitter}activate(){this.disposables.push(Fn.debug.onDidTerminateDebugSession(this.endSession.bind(this)),Fn.workspace.onDidCloseNotebookDocument(async e=>{let t=this.notebookToDebugger.get(e);t&&(await Fn.debug.stopDebugging(t.session),this.onDidStopDebugging(e))}))}getDebugCell(e){return this.notebookToDebugAdapter.get(e)?.debugCell}get onDoneDebugging(){return this._doneDebugging.event}dispose(){this.disposables.forEach(e=>e.dispose())}isDebugging(e){return this.notebookToDebugger.has(e)}getDebugSession(e){let t=this.notebookToDebugger.get(e);if(t)return t.session}getDebugAdapter(e){return this.notebookToDebugAdapter.get(e)}onDidStopDebugging(e){}async startDebuggingConfig(e,t){p.ci(`Attempting to start debugging with config ${JSON.stringify(e)}`);try{await Fn.debug.startDebugging(void 0,e,t)}catch(r){p.error(`Can't start debugging (${r})`),Fn.window.showErrorMessage(y.cantStartDebugging).then(h,h)}}trackDebugAdapter(e,t){this.notebookToDebugAdapter.set(e,t),this.disposables.push(t.onDidEndSession(this.endSession.bind(this)))}async endSession(e){p.info(`Ending debug session ${e.id}`),this._doneDebugging.fire();for(let[t,r]of this.notebookToDebugger.entries())if(r&&e.id===r.session.id){this.notebookToDebugger.delete(t),this.notebookToDebugAdapter.delete(t),this.onDidStopDebugging(t);break}}getDebuggerByUri(e){for(let[t,r]of this.notebookToDebugger.entries())if(e===t)return r}async ensureKernelIsRunning(e){let t=this.controllerRegistration.getSelected(e),r=this.kernelProvider.get(e);return t&&(!r||r&&r.status==="unknown")&&(r=await js.connectToNotebookKernel(t.connection,this.serviceContainer,{notebook:e,controller:t.controller,resource:e.uri},new Jt(!1),this.disposables,"jupyterExtension")),r}findEditorForCell(e){let t=e.notebook.uri.toString();return Fn.window.visibleNotebookEditors.find(r=>r.notebook.uri.toString()===t)}async checkIpykernelAndPrompt(e,t=!0){let r=this.findEditorForCell(e);if(!r)return Fn.window.showErrorMessage(y.noNotebookToDebug).then(h,h),0;let i=await this.checkForIpykernel6(r.notebook);switch(i){case 3:break;case 2:case 0:{this.promptInstallIpykernel6().then(h,h);break}case 4:if(t)return await Fn.commands.executeCommand("notebook.selectKernel",{notebookEditor:r}),await this.checkIpykernelAndPrompt(e,!1)}return i}async checkForIpykernel6(e){try{let t=this.kernelProvider.get(e);if(!t){let s=this.controllerRegistration.getSelected(e);if(!s)return 4;t=this.kernelProvider.getOrCreate(e,{metadata:s.connection,controller:s?.controller,resourceUri:e.uri})}let r=t.kernelConnectionMetadata;if(_t(r)){if(r.kind==="startUsingRemoteKernelSpec"&&r.kernelSpec.metadata?.debugger)return 1;if(r.kind==="connectToLiveRemoteKernel"&&r.kernelModel.metadata?.debugger)return 1}let i=this.kernelProvider.getKernelExecution(t),o=await Hq(i);return R("DATASCIENCE.DEBUGGING.IPYKERNEL6_STATUS",void 0,{status:o===1?"installed":"notInstalled"}),o}catch(t){p.error("Debugging: Could not check for ipykernel 6",t)}return 0}async promptInstallIpykernel6(){await Fn.window.showInformationMessage(y.needIpykernel6,{modal:!0},y.setup)===y.setup?(R("DATASCIENCE.DEBUGGING.CLICKED_ON_SETUP"),Fn.env.openExternal(Fn.Uri.parse("https://github.com/microsoft/vscode-jupyter/wiki/Setting-Up-Run-by-Line-and-Debugging-for-Notebooks"))):R("DATASCIENCE.DEBUGGING.CLOSED_MODAL")}};var ka=require("vscode");var kT=class{constructor(e){this.debugAdapter=e}trace(e,t){p.debug(`[Debug-Reset] ${e}: ${t}`)}async willSendRequest(e){e.command==="attach"&&(this.trace("attach","Continuing paused kernel threads if needed"),(await this.debugAdapter.debugInfo()).stoppedThreads.forEach(r=>this.debugAdapter.continueDirect(r)))}};var sb=class{constructor(e,t,r,i,o,s){this.session=e;this.notebookDocument=t;this.jupyterSession=r;this.kernel=i;this.platformService=o;this.debugService=s;this.fileToCell=new Map;this.sendMessage=new ka.EventEmitter;this.endSession=new ka.EventEmitter;this.disposables=[];this.delegates=[];this.onDidSendMessage=this.sendMessage.event;this.onDidEndSession=this.endSession.event;this.disconnected=!1;p.ci("Creating kernel debug adapter for debugging notebooks");let a=this.session.configuration;yw(a),this.configuration=a,this.debugCell=t.cellAt(a.__cellIndex),this.addDebuggingDelegates([new kT(this)]),this.jupyterSession.kernel?.iopubMessage.connect(this.onIOPubMessage,this),this.disposables.push(new ka.Disposable(()=>this.jupyterSession.kernel?.iopubMessage.disconnect(this.onIOPubMessage,this))),this.kernel&&(this.kernel.addHook("willRestart",()=>this.disconnect(),this,this.disposables),this.kernel.addHook("interruptCompleted",()=>this.disconnect(),this,this.disposables),this.disposables.push(this.kernel.onDisposed(()=>{this.disconnected||(ka.debug.stopDebugging(this.session).then(h,h),this.disconnect().catch(h),R("DATASCIENCE.DEBUGGING.ENDED_SESSION",void 0,{reason:"onKernelDisposed"}))}))),this.disposables.push(er.onDidChangeNotebookCellExecutionState(l=>{this.configuration.__cellIndex===l.cell.index&&l.state===1&&!this.disconnected&&(R("DATASCIENCE.DEBUGGING.ENDED_SESSION",void 0,{reason:"normally"}),this.disconnect().catch(h))},this,this.disposables)),this.disposables.push(ka.workspace.onDidChangeNotebookDocument(l=>{l.contentChanges.forEach(c=>{c.removedCells.forEach(u=>{u===this.debugCell&&this.disconnect().catch(h)})})},this,this.disposables)),this.disposables.push(this.debugService.onDidTerminateDebugSession(l=>{(l===this.session||l===this.session)&&this.disconnect().catch(h)}))}addDebuggingDelegates(e){this.delegates.push(...e)}trace(e,t){p.debug(`[Debug] ${e}: ${t}`)}async onIOPubMessage(e,t){if(p.ci(`Debug IO Pub message: ${JSON.stringify(t)}`),Yq(t)){this.trace("event",JSON.stringify(t));for(let r of this.delegates??[])if(await r?.willSendEvent?.(t.content))return;this.sendMessage.fire(t.content)}}handleMessage(e){this.handleClientMessageAsync(e).catch(h)}async handleClientMessageAsync(e){try{if(p.ci(`KernelDebugAdapter::handleMessage ${JSON.stringify(e,void 0," ")}`),e.type==="request"&&e.command==="setBreakpoints"){let t=e.arguments;if(t.source&&t.source.path&&t.source.path.indexOf("vscode-notebook-cell:")===0){let r=this.notebookDocument.getCells().find(i=>i.document.uri.toString()===t.source.path);r&&await this.dumpCell(r.index)}}if(e.type==="request")for(let t of this.delegates??[]){let r=await t?.willSendRequest?.(e);if(r){this.trace("response",JSON.stringify(r)),this.sendMessage.fire(r);return}}await this.sendMessageToJupyterSession(e)}catch(t){p.error(`KernelDebugAdapter::handleMessage failure: ${t}`)}}getConfiguration(){return this.configuration}stepIn(e){return this.session.customRequest("stepIn",{threadId:e})}async debugInfo(){return await this.session.customRequest("debugInfo")}continueDirect(e){if(!this.jupyterSession.kernel)throw new dn;this.jupyterSession.kernel.requestDebug({seq:0,type:"request",command:"continue",arguments:{threadId:e}})}async disconnect(){if(!this.disconnected){if(this.disconnected=!0,this.debugService.activeDebugSession===this.session||this.debugService.activeDebugSession?.id===this.session.id)try{await Promise.all([this.deleteDumpedFiles().catch(e=>p.warn("Error deleting temporary debug files.",e)),this.session.customRequest("disconnect",{restart:!1})])}catch(e){p.error("Failed to disconnect debug session",e)}this.endSession.fire(this.session)}}dispose(){this.disposables.forEach(e=>e.dispose())}stackTrace(e){return this.session.customRequest("stackTrace",e)}setBreakpoints(e){return this.session.customRequest("setBreakpoints",e)}async dumpAllCells(){await Promise.all(this.notebookDocument.getCells().map(async e=>{e.kind===ka.NotebookCellKind.Code&&await this.dumpCell(e.index)}))}lookupCellByLongName(e){if(this.platformService.isWindows){e=hn(e);for(let[t,r]of this.fileToCell.entries())if(zq(t)&&Qq(t,e))return r}}async sendMessageToJupyterSession(e){if(this.jupyterSession.isDisposed||this.jupyterSession.status==="dead"||!this.jupyterSession.kernel){p.info(`Skipping sending message ${e.type} because session is disposed`);return}if(this.trace("to kernel",JSON.stringify(e)),e.type==="request"){let t=await this.sendRequestToJupyterSession(e);t&&this.sendMessage.fire(t)}else if(e.type==="response"){wT(e,this.translateRealLocationToDebuggerLocation.bind(this));let t=e;return this.jupyterSession.kernel.requestDebug({seq:t.seq,type:"request",command:t.command},!0).done}else p.error(`Unknown message type to send ${e.type}`)}async sendRequestToJupyterSession(e){if(wT(e,this.translateRealLocationToDebuggerLocation.bind(this)),!this.jupyterSession.kernel)throw new dn;this.trace("to kernel, mapped",JSON.stringify(e));let t=e,o=(await this.jupyterSession.kernel.requestDebug({seq:t.seq,type:"request",command:t.command,arguments:t.arguments},!0).done).content;wT(o,this.translateDebuggerLocationToRealLocation.bind(this));for(let s of this.delegates??[])await s?.willSendResponse?.(o);return this.trace("response",JSON.stringify(o)),o}translateDebuggerLocationToRealLocation(e,t){if(t=e?.source??t,t&&t.path){let r=this.fileToCell.get(t.path)??this.lookupCellByLongName(t.path);r&&(t.name=Ce(r.path),t.path=r.toString())}}async deleteDumpedFiles(){let e=this.getDumpFilesForDeletion();if(this.jupyterSession.kernel&&e.length){let r=`import os as _VSCODE_os
|
||
_VSCODE_fileList = [${e.map(i=>'"'+i.replace(/\\/g,"\\\\")+'"').join(",")}]
|
||
for file in _VSCODE_fileList:
|
||
try:
|
||
_VSCODE_os.remove(file)
|
||
except:
|
||
pass
|
||
del _VSCODE_fileList
|
||
del _VSCODE_os`;await pn(this.jupyterSession.kernel,r,{traceErrors:!0,traceErrorsMessage:"Error deleting temporary debugging files"})}}};var xT=class extends sb{constructor(){super(...arguments);this.cellToFile=new Map}async dumpCell(t){let r=this.notebookDocument.cellAt(t);try{let i=await this.session.customRequest("dumpCell",{code:r.document.getText().replace(/\r\n/g,`
|
||
`)}),o=hn(i.sourcePath);this.fileToCell.set(o,r.document.uri),this.cellToFile.set(r.document.uri.toString(),o)}catch(i){p.error(i)}}translateRealLocationToDebuggerLocation(t){let r=t.source;if(r&&r.path){let i=this.cellToFile.get(r.path);i&&(r.path=i)}}getDumpFilesForDeletion(){return Array.from(this.cellToFile.values())}};var ab=class extends ob{constructor(t,r,i,o,s,a){super(t,r,a);this.configurationService=i;this.platform=o;this.debugService=s;this.notebookToRunByLineController=new Map;this.runByLineCells=new tr(mr.RunByLineCells),this.runByLineDocuments=new tr(mr.RunByLineDocuments),this.debugDocuments=new tr(mr.DebugDocuments)}activate(){super.activate(),this.disposables.push(pp.debug.registerDebugAdapterDescriptorFactory(AS,{createDebugAdapterDescriptor:async t=>this.createDebugAdapterDescriptor(t)}))}getDebugMode(t){return this.notebookToRunByLineController.get(t)?.getMode()}onDidStopDebugging(t){super.onDidStopDebugging(t),this.notebookToRunByLineController.delete(t),this.updateRunByLineContextKeys(),this.updateDebugContextKey()}updateRunByLineContextKeys(){let t=[],r=[];this.notebookToRunByLineController.forEach(i=>{t.push(i.debugCell.document.uri),r.push(i.debugCell.notebook.uri)}),this.runByLineCells.set(t).catch(h),this.runByLineDocuments.set(r).catch(h)}updateDebugContextKey(){let t=new bl;this.notebookToDebugAdapter.forEach((r,i)=>t.add(i.uri)),this.notebookInProgress.forEach(r=>t.add(r.uri)),this.debugDocuments.set(Array.from(t.values())).catch(h)}async tryToStartDebugging(t,r,i=!1){if(p.info(`Starting debugging with mode ${t}`),!i){let o=await this.checkIpykernelAndPrompt(r);if(o!==1){p.info(`Ipykernel check failed: ${vw[o]}`);return}}(t===0||t===1)&&await this.startDebuggingCell(t,r)}runByLineNext(t){let r=this.notebookToRunByLineController.get(t.notebook);r&&r.debugCell.document.uri.toString()===t.document.uri.toString()&&r.continue()}runByLineStop(t){let r=this.notebookToRunByLineController.get(t.notebook);r&&(R("DATASCIENCE.DEBUGGING.ENDED_SESSION",void 0,{reason:"withKeybinding"}),r.stop())}async startDebuggingCell(t,r){let i=r.notebook,o=this.configurationService.getSettings(i.uri),s={type:AS,name:Ce(i.uri.toString()),request:"attach",justMyCode:t===1?o.debugJustMyCode:!0,__mode:t,__cellIndex:r.index,__notebookUri:i.uri.toString()},a=t===0?{suppressDebugStatusbar:!0,suppressDebugToolbar:!0,suppressDebugView:!0,suppressSaveBeforeStart:!0}:{suppressSaveBeforeStart:!0};return this.startDebuggingConfig(s,a)}async createDebugAdapterDescriptor(t){let r=t.configuration;yw(r);let i=r.__notebookUri,o=pp.workspace.notebookDocuments.find(s=>s.uri.toString()===i);if(!o){p.info(`Cannot start debugging. Notebook ${i} not found.`);return}if(this.notebookInProgress.has(o)){p.info("Cannot start debugging. Already debugging this notebook");return}if(this.isDebugging(o)){p.info("Cannot start debugging. Already debugging this notebook document.");return}this.notebookToDebugger.set(o,new ib(o,r,t));try{return this.notebookInProgress.add(o),this.updateDebugContextKey(),await this.doCreateDebugAdapterDescriptor(r,t,o)}finally{this.notebookInProgress.delete(o),this.updateDebugContextKey()}}async doCreateDebugAdapterDescriptor(t,r,i){let o=await this.ensureKernelIsRunning(i);if(o?.session){let s=new xT(r,i,o.session,o,this.platform,this.debugService);if(t.__mode===0&&typeof t.__cellIndex=="number"){let a=i.cellAt(t.__cellIndex),l=new PT(s,a,this.kernelProvider.getKernelExecution(o),this.configurationService);s.addDebuggingDelegates([l,new Iw(0,s,a,this.serviceContainer)]),this.notebookToRunByLineController.set(i,l),this.updateRunByLineContextKeys()}else if(t.__mode===1&&typeof t.__cellIndex=="number"){let a=i.cellAt(t.__cellIndex),l=new ET(s,a,this.kernelProvider.getKernelExecution(o));s.addDebuggingDelegates([l,new Iw(1,s,a,this.serviceContainer)])}return this.trackDebugAdapter(i,s),this.updateDebugContextKey(),new pp.DebugAdapterInlineImplementation(s)}else pp.window.showInformationMessage(y.kernelWasNotStarted).then(h,h)}};ab=v([(0,mu.injectable)(),m(0,(0,mu.inject)(De)),m(1,(0,mu.inject)(ot)),m(2,(0,mu.inject)(ie)),m(3,(0,mu.inject)(br)),m(4,(0,mu.inject)(_i)),m(5,(0,mu.inject)(rt))],ab);var Cw=k(N()),Zq=require("vscode");var lb=class{constructor(e,t){this.disposableRegistry=t;this.activeTrackers=new WeakMap;this.activeTrackersById=new Map;this.updatedEmitter=new Zq.EventEmitter;t.push(e.registerDebugAdapterTrackerFactory("python",this))}createDebugAdapterTracker(e){let t=new rb(e.id);return this.activeTrackers.set(e,t),this.activeTrackersById.set(e.id,t),t.sessionEnded(()=>{this.activeTrackers.delete(e),this.activeTrackersById.delete(e.id)},this,this.disposableRegistry),t.debugLocationUpdated(this.onLocationUpdated,this,this.disposableRegistry),this.onLocationUpdated(),t}get updated(){return this.updatedEmitter.event}getLocation(e){let t=this.activeTrackers.get(e)||this.activeTrackersById.get(e.id);if(t)return t.debugLocation}onLocationUpdated(){this.updatedEmitter.fire()}};lb=v([(0,Cw.injectable)(),m(0,(0,Cw.inject)(_i)),m(1,(0,Cw.inject)(M))],lb);var _T=k(N()),rH=k(require("net"));var nH=k(Io()),gf=require("vscode");var tH=require("events"),eH=`\r
|
||
\r
|
||
`,DT=class{constructor(){this.rawData=Buffer.concat([]);this.contentLength=-1;this.disposed=!1;this.dataCallbackHandler=e=>{this.handleData(e)};this.events=new tH.EventEmitter}dispose(){this.stream&&(this.stream.removeListener("data",this.dataCallbackHandler),this.stream=void 0)}connect(e){this.stream=e,e.addListener("data",this.dataCallbackHandler)}on(e,t){return this.events.on(e,t),this}once(e,t){return this.events.once(e,t),this}dispatch(e){let t=JSON.parse(e);switch(t.type){case"event":{let r=t;typeof r.event=="string"&&this.events.emit(`${t.type}_${r.event}`,r);break}case"request":{let r=t;typeof r.command=="string"&&this.events.emit(`${t.type}_${r.command}`,r);break}case"response":{let r=t;typeof r.command=="string"&&this.events.emit(`${t.type}_${r.command}`,r);break}default:this.events.emit(`${t.type}`,t)}this.events.emit("data",t)}handleData(e){if(!this.disposed)for(this.rawData=Buffer.concat([this.rawData,e]);;){if(this.contentLength>=0){if(this.rawData.length>=this.contentLength){let t=this.rawData.toString("utf8",0,this.contentLength);this.rawData=this.rawData.slice(this.contentLength),this.contentLength=-1,t.length>0&&this.dispatch(t);continue}}else{let t=this.rawData.indexOf(eH);if(t!==-1){let i=this.rawData.toString("utf8",0,t).split(`\r
|
||
`);for(let o of i){let s=o.split(/: +/);s[0]==="Content-Length"&&(this.contentLength=+s[1])}this.rawData=this.rawData.slice(t+eH.length);continue}}break}}};var OO=class{constructor(e,t,r){this._id=e;this._configuration=t;this.customRequestHandler=r;this._name="JupyterDebugSession";}get id(){return this._id}get type(){return"python"}get name(){return this._name}get workspaceFolder(){}get configuration(){return this._configuration}customRequest(e,t){return this.customRequestHandler(e,t)}getDebugProtocolBreakpoint(e){return Promise.resolve(void 0)}},cb=class{constructor(e){this.sequence=1;this.breakpointEmitter=new gf.EventEmitter;this.debugAdapterTrackerFactories=[];this.debugAdapterTrackers=[];this.sessionChangedEvent=new gf.EventEmitter;this.sessionStartedEvent=new gf.EventEmitter;this.sessionTerminatedEvent=new gf.EventEmitter;this.sessionCustomEvent=new gf.EventEmitter;this.breakpointsChangedEvent=new gf.EventEmitter;this._breakpoints=[];e.push(this),this.protocolParser=new DT}dispose(){this.socket&&(this.socket.end(),this.socket=void 0)}get activeDebugSession(){return this.session}get activeDebugConsole(){return{append(e){},appendLine(e){}}}get breakpoints(){return this._breakpoints}get onDidChangeActiveDebugSession(){return this.sessionChangedEvent.event}get onDidStartDebugSession(){return this.sessionStartedEvent.event}get onDidReceiveDebugSessionCustomEvent(){return this.sessionCustomEvent.event}get onDidTerminateDebugSession(){return this.sessionTerminatedEvent.event}get onDidChangeBreakpoints(){return this.breakpointsChangedEvent.event}registerDebugConfigurationProvider(e,t){return{dispose:()=>{}}}registerDebugAdapterTrackerFactory(e,t){return this.debugAdapterTrackerFactories.push(t),{dispose:()=>{this.debugAdapterTrackerFactories=this.debugAdapterTrackerFactories.filter(r=>r!==t)}}}startRunByLine(e){return this.startDebugging(void 0,e)}startDebugging(e,t,r){let i=t;return i.port?(this.session=new OO((0,nH.default)(),i,this.sendCustomRequest.bind(this)),this.sessionChangedEvent.fire(this.session),this.debugAdapterTrackers=this.debugAdapterTrackerFactories.map(o=>o.createDebugAdapterTracker(this.session)),this.socket=rH.createConnection(i.port),this.protocolParser.connect(this.socket),this.protocolParser.on("event_stopped",this.onBreakpoint.bind(this)),this.protocolParser.on("event_output",this.onOutput.bind(this)),this.protocolParser.on("event_terminated",this.sendToTrackers.bind(this)),this.socket.on("error",this.onError.bind(this)),this.socket.on("close",this.onClose.bind(this)),this.sendStartSequence(i,this.session.id).then(()=>!0)):Promise.resolve(!0)}addBreakpoints(e){this._breakpoints=this._breakpoints.concat(e)}removeBreakpoints(e){}get onBreakpointHit(){return this.breakpointEmitter.event}async continue(){await this.sendMessage("continue",{threadId:0}),this.sendToTrackers({type:"event",event:"continue"})}async step(){await this.sendMessage("stepIn",{threadId:this._stoppedThreadId?this._stoppedThreadId:1}),this.sendToTrackers({type:"event",event:"stepIn"})}async getStack(){let e=re();return this.protocolParser.once("response_stackTrace",t=>{this.sendToTrackers(t);let r=t,i=r.body.stackFrames?r.body.stackFrames:[];e.resolve(i),this._topFrameId=i[0]?.id}),await this.emitMessage("stackTrace",{threadId:this._stoppedThreadId?this._stoppedThreadId:1,startFrame:0,levels:1}),e.promise}async requestVariables(){await this.getStack();let e=re(),t=0;return this.protocolParser.once("response_scopes",r=>{this.sendToTrackers(r);let i=r;i&&(t=i.body.scopes[0].variablesReference),this.emitMessage("variables",{threadId:this._stoppedThreadId?this._stoppedThreadId:1,variablesReference:t}).catch(h)}),this.protocolParser.once("response_variables",r=>{this.sendToTrackers(r),e.resolve()}),await this.emitMessage("scopes",{frameId:this._topFrameId?this._topFrameId:1}),e.promise}stop(){this.onClose()}sendToTrackers(e){switch(e.type){case"request":this.debugAdapterTrackers.forEach(t=>{t.onWillReceiveMessage&&t.onWillReceiveMessage(e)});break;default:this.debugAdapterTrackers.forEach(t=>t.onDidSendMessage(e));break}}sendCustomRequest(e,t){return this.sendMessage(e,t)}async sendStartSequence(e,t){p.info("Sending debugger initialize..."),await this.sendInitialize(),this._breakpoints.length>0&&(p.info("Sending breakpoints"),await this.sendBreakpoints()),p.info("Sending debugger attach...");let r=this.sendAttach(e,t);return p.info("Sending configuration done"),await this.sendConfigurationDone(),p.info("Session started."),r.then(()=>{this.sessionStartedEvent.fire(this.session)})}sendBreakpoints(){let e=this._breakpoints.map(r=>r),t=e[0].location.uri.fsPath;return this.sendMessage("setBreakpoints",{source:{name:Ce(t),path:t},lines:e.map(r=>r.location.range.start.line),breakpoints:e.map(r=>({line:r.location.range.start.line})),sourceModified:!0})}sendAttach(e,t){return this.sendMessage("attach",{debugOptions:["RedirectOutput","FixFilePathCase","WindowsClient","ShowReturnValue"],workspaceFolder:jo,__sessionId:t,...e})}sendConfigurationDone(){return this.sendMessage("configurationDone")}sendInitialize(){return this.sendMessage("initialize",{clientID:"vscode",clientName:"Visual Studio Code",adapterID:"python",pathFormat:"path",linesStartAt1:!0,columnsStartAt1:!0,supportsVariableType:!0,supportsVariablePaging:!0,supportsRunInTerminalRequest:!0,locale:"en-us"})}sendDisconnect(){return this.sendMessage("disconnect",{})}sendMessage(e,t){let r=re(),i=this.sessionTerminatedEvent.event(()=>{r.resolve({body:{}})}),o=this.sequence;return this.protocolParser.on(`response_${e}`,s=>{s.request_seq===o&&(this.sendToTrackers(s),p.info(`Received response from debugger: ${JSON.stringify(t)}`),i.dispose(),r.resolve(s.body))}),this.socket?.on("error",s=>r.reject(s)),this.emitMessage(e,t).catch(s=>{p.error(`Exception attempting to emit ${e} to debugger: `,s)}),r.promise}emitMessage(e,t){return new Promise((r,i)=>{try{if(this.socket){let o={command:e,arguments:t,type:"request",seq:this.sequence};this.sequence+=1;let s=JSON.stringify(o);p.info(`Sending request to debugger: ${s}`);let a=`Content-Length: ${s.length}\r
|
||
\r
|
||
${s}`;this.socket.write(a,l=>{this.sendToTrackers(o),r()})}}catch(o){i(o)}})}onBreakpoint(e){this._stoppedThreadId=e.body.threadId,this.sendToTrackers(e),this.breakpointEmitter.fire()}onOutput(e){this.sendToTrackers(e),p.info(JSON.stringify(e))}onError(e){this.sendToTrackers(e),p.info(JSON.stringify(e))}onClose(){this.socket&&(this.sessionTerminatedEvent.fire(this.activeDebugSession),this.session=void 0,this.sessionChangedEvent.fire(void 0),this.debugAdapterTrackers.forEach(e=>e.onExit?e.onExit(0,void 0):void 0),this.debugAdapterTrackers=[],this.sendDisconnect().catch(h),this.socket.destroy(),this.socket=void 0)}};cb=v([(0,_T.injectable)(),m(0,(0,_T.inject)(M))],cb);var Yl=k(N()),vf=require("vscode");var ub=class{constructor(e,t,r){this.vscodeDebugService=t;this.jupyterDebugService=r;this.sessionChangedEvent=new vf.EventEmitter;this.sessionStartedEvent=new vf.EventEmitter;this.sessionTerminatedEvent=new vf.EventEmitter;this.sessionCustomEvent=new vf.EventEmitter;e.push(t.onDidTerminateDebugSession(this.endedDebugSession.bind(this))),e.push(t.onDidStartDebugSession(this.startedDebugSession.bind(this))),e.push(t.onDidChangeActiveDebugSession(this.changedDebugSession.bind(this))),e.push(t.onDidReceiveDebugSessionCustomEvent(this.gotCustomEvent.bind(this))),r&&(e.push(r.onDidTerminateDebugSession(this.endedDebugSession.bind(this))),e.push(r.onDidStartDebugSession(this.startedDebugSession.bind(this))),e.push(r.onDidChangeActiveDebugSession(this.changedDebugSession.bind(this))),e.push(r.onDidReceiveDebugSessionCustomEvent(this.gotCustomEvent.bind(this))))}get activeDebugSession(){return this.activeService.activeDebugSession}get activeDebugConsole(){return this.activeService.activeDebugConsole}get breakpoints(){return this.activeService.breakpoints}get onDidChangeActiveDebugSession(){return this.sessionChangedEvent.event}get onDidStartDebugSession(){return this.sessionStartedEvent.event}get onDidReceiveDebugSessionCustomEvent(){return this.sessionCustomEvent.event}get onDidTerminateDebugSession(){return this.sessionTerminatedEvent.event}get onDidChangeBreakpoints(){return this.activeService.onDidChangeBreakpoints}get onBreakpointHit(){if(!this.jupyterDebugService)throw new Error("No jupyter debugger service");return this.jupyterDebugService.onBreakpointHit}startRunByLine(e){if(this.lastStartedService=this.jupyterDebugService,!this.jupyterDebugService)throw new Error("No jupyter debugger service");return this.jupyterDebugService.startRunByLine(e)}registerDebugConfigurationProvider(e,t){let r=this.vscodeDebugService.registerDebugConfigurationProvider(e,t);if(this.jupyterDebugService){let i=this.jupyterDebugService.registerDebugConfigurationProvider(e,t);return this.combineDisposables(r,i)}return r}registerDebugAdapterTrackerFactory(e,t){let r=this.vscodeDebugService.registerDebugAdapterTrackerFactory(e,t);if(this.jupyterDebugService){let i=this.jupyterDebugService.registerDebugAdapterTrackerFactory(e,t);return this.combineDisposables(r,i)}return r}startDebugging(e,t,r){return this.lastStartedService=this.vscodeDebugService,this.vscodeDebugService.startDebugging(e,t,r)}addBreakpoints(e){return this.activeService.addBreakpoints(e)}removeBreakpoints(e){return this.activeService.removeBreakpoints(e)}getStack(){if(!this.jupyterDebugService)throw new Error("No jupyter debugger service");if(this.lastStartedService===this.jupyterDebugService)return this.jupyterDebugService.getStack();throw new Error("Requesting jupyter specific stack when not debugging.")}step(){if(!this.jupyterDebugService)throw new Error("No jupyter debugger service");if(this.lastStartedService===this.jupyterDebugService)return this.jupyterDebugService.step();throw new Error("Requesting jupyter specific step when not debugging.")}continue(){if(!this.jupyterDebugService)throw new Error("No jupyter debugger service");if(this.lastStartedService===this.jupyterDebugService)return this.jupyterDebugService.continue();throw new Error("Requesting jupyter specific step when not debugging.")}requestVariables(){if(!this.jupyterDebugService)throw new Error("No jupyter debugger service");if(this.lastStartedService===this.jupyterDebugService)return this.jupyterDebugService.requestVariables();throw new Error("Requesting jupyter specific variables when not debugging.")}stop(){this.jupyterDebugService&&this.lastStartedService===this.jupyterDebugService?this.jupyterDebugService.stop():vf.commands.executeCommand("workbench.action.debug.stop").then(h,h)}get activeService(){return this.lastStartedService?this.lastStartedService:this.vscodeDebugService}combineDisposables(e,t){return{dispose:()=>{e.dispose(),t.dispose()}}}endedDebugSession(e){this.sessionTerminatedEvent.fire(e),this.lastStartedService=void 0}startedDebugSession(e){this.sessionStartedEvent.fire(e)}changedDebugSession(e){this.sessionChangedEvent.fire(e)}gotCustomEvent(e){this.sessionCustomEvent.fire(e)}};ub=v([(0,Yl.injectable)(),m(0,(0,Yl.inject)(M)),m(1,(0,Yl.inject)(_i)),m(2,(0,Yl.optional)()),m(2,(0,Yl.inject)(Ea)),m(2,(0,Yl.named)(je.RUN_BY_LINE_DEBUGSERVICE))],ub);var hu=k(N());var NT=require("vscode");var db=Symbol("IFileConverter"),mp=Symbol("IExportBase"),Rft=Symbol("IExport"),fp=Symbol("IExportUtil");var AT=k(N()),iH=k(require("os"));var oH=k(Io());var pb=require("vscode");var ww=require("vscode");var _pe={PDF:["pdf"]},Tpe={HTML:["html","htm"]},Rpe={Python:["py"]},xa=class{async showDialog(e,t,r){let i={},o;switch(e){case"python":i=Rpe,o=".py";break;case"pdf":o=".pdf",i=_pe;break;case"html":o=".html",i=Tpe;break;case"ipynb":o=".ipynb";let l=y.exportDialogFilter;i[l]=["ipynb"];break;default:return}let s=r||!t?r||"":`${Ce(t.path,Wi(t.path))}${o}`,a={defaultUri:await this.getDefaultUri(t,s),saveLabel:y.exportButtonTitle,filters:i};return ww.window.showSaveDialog(a)}async getDefaultUri(e,t){if(e&&e.scheme==="untitled"&&tn())return;if(!e||e.scheme==="file"||e.scheme==="untitled"||e.scheme==="vscode-interactive"){let i=be.instance.get(Pk);return ww.Uri.file(Le(await i.computeWorkingDirectory(e),t))}let r=Le(nt(e.path),t);return ww.Uri.parse(`${e.scheme}://${r}`).with({authority:e.authority})}};var TT=class{async getContent(e){let t=pb.extensions.getExtension("vscode.ipynb");if(!t)throw new Error("Unable to export notebook as the built-in vscode.ipynb extension is currently unavailable.");t.isActive||await t.activate();let i=e.getCells().map(s=>{let a=new pb.NotebookCellData(s.kind,s.document.getText(),s.document.languageId);return a.metadata=s.metadata,a.mime=s.mime,a.outputs=[...s.outputs],a}),o=new pb.NotebookData(i);return o.metadata=JSON.parse(JSON.stringify(e.metadata)),t.exports.exportNotebook(o)}async getTargetFile(e,t,r){return await new xa().showDialog(e,t,r)}};var RT=require("vscode");var mb=class extends TT{constructor(t){super();this.fs=t}async getTargetFile(t,r,i){let o;return t!=="python"?o=await new xa().showDialog(t,r,i):o=RT.Uri.file((await this.fs.createTemporaryLocalFile(".py")).filePath),o}};mb=v([(0,AT.injectable)(),m(0,(0,AT.inject)(lr))],mb);var Ew=class{async generateTempDir(){let e=RT.Uri.file(Le(iH.tmpdir(),(0,oH.default)())),t=be.instance.get(lr);return await t.createDirectory(e),{path:ke(e),dispose:async()=>{let r=0;for(;r<10;)try{await t.delete(e),r=10}catch{await gi(3e3),r+=1}}}}async makeFileInDirectory(e,t,r){let i=Le(r,t);return await be.instance.get(lr).writeFile(RT.Uri.file(i),e),i}};async function sH(n){let e=JSON.parse(n);for(let t of e.cells){let r="outputs"in t?t.outputs:void 0;r&&Array.isArray(r)&&Ape(r)}return JSON.stringify(e,void 0,4)}function Ape(n){let e="image/svg+xml",t="image/png";for(let r of n)if("data"in r){let i=r.data;if(!(e in i))continue;t in i&&delete i[e]}}var fb=k(N());var fu=class{constructor(e,t,r){this.dependencyManager=e;this.nbConvertDependencyChecker=t;this.jupyterInterpreterService=r}async getExportInterpreter(e){if(e&&await this.checkNotebookInterpreter(e))return e;let t=await this.jupyterInterpreterService.getSelectedInterpreter();if(t||await this.jupyterInterpreterService.selectInterpreter(),t){if(await this.checkNotebookInterpreter(t))return t;if(await this.dependencyManager.installMissingDependencies(),await this.checkNotebookInterpreter(t))return t}throw new Error(y.jupyterNbConvertNotSupported)}async checkNotebookInterpreter(e){return this.nbConvertDependencyChecker.isNbConvertInstalled(e)}};fu=v([(0,fb.injectable)(),m(0,(0,fb.inject)(sd)),m(1,(0,fb.inject)(rg)),m(2,(0,fb.inject)(ii))],fu);var yf=class{constructor(e,t,r,i,o,s){this.pythonExecutionFactory=e;this.jupyterService=t;this.fs=r;this.exportUtil=i;this.importer=o;this.exportInterpreterFinder=s}async export(e,t,r,i){}async executeCommand(e,t,r,i,o){if(o.isCancellationRequested)return;if(i=await this.exportInterpreterFinder.getExportInterpreter(i),r==="python"){let g=await this.importer.importFromFile(e.uri,i);await this.fs.writeFile(t,g);return}let s=await this.exportUtil.getContent(e);r==="pdf"&&(s=await sH(s));let a=await new Ew().generateTempDir(),l=await this.makeSourceFile(t,s,a),c=await this.getExecutionService(l,i);if(!c||o.isCancellationRequested)return;let u=await this.fs.createTemporaryLocalFile(Wi(t.fsPath)),d=[l.fsPath,"--to",r,"--output",Ce(u.filePath),"--output-dir",nt(u.filePath),"--debug"],f=await c.execModule("jupyter",["nbconvert"].concat(d),{throwOnStdErr:!1,encoding:"utf8",token:o});if(o.isCancellationRequested){u.dispose();return}try{if((await this.fs.stat(NT.Uri.file(u.filePath))).size>1)await this.fs.copy(NT.Uri.file(u.filePath),t);else throw new Error("File size is zero during conversion. Outputting error.")}catch{throw new Error(f.stderr)}finally{u.dispose()}}async makeSourceFile(e,t,r){let i=Ce(e.fsPath,Wi(e.fsPath)),o=await new Ew().makeFileInDirectory(t,`${i}.ipynb`,r.path);return NT.Uri.file(o)}async getExecutionService(e,t){return this.pythonExecutionFactory.createActivatedEnvironment({resource:e,interpreter:t})}};v([lv("PerformingExport")],yf.prototype,"executeCommand",1),yf=v([(0,hu.injectable)(),m(0,(0,hu.inject)(Nr)),m(1,(0,hu.inject)(Od)),m(2,(0,hu.inject)(lr)),m(3,(0,hu.inject)(fp)),m(4,(0,hu.inject)(dk)),m(5,(0,hu.inject)(fu))],yf);var bf=k(N());var gu=require("vscode");var hb=class{constructor(){this.fs=be.instance.get(tt)}async openFile(e,t,r=!1){if(e==="python")await this.openPythonFile(t,r),R("DATASCIENCE.EXPORT_NOTEBOOK_AS",void 0,{format:e,successful:!0,opened:!0});else{let i=await this.askOpenFile(t,r);R("DATASCIENCE.EXPORT_NOTEBOOK_AS",void 0,{format:e,successful:!0,opened:i})}}async openPythonFile(e,t){let r;if(t)r=await gu.window.showTextDocument(e);else{let i=await this.fs.readFile(e);await this.fs.delete(e);let o=await gu.workspace.openTextDocument({language:ge,content:i});r=await gu.window.showTextDocument(o)}await r.edit(i=>{i.insert(new gu.Position(r.document.lineCount,0),`
|
||
`)})}async askOpenFile(e,t){let r=y.openExportFileYes,i=y.openExportFileNo,o=[r,i];return await gu.window.showInformationMessage(y.openExportedFileMessage,...o).then(a=>a)===r?(t?gu.window.showTextDocument(e).then(h,h):yd(e.toString()),!0):!1}};var LT=k(N()),UT=require("vscode");var MT=class{async export(e,t,r,i){await be.instance.get(mp).executeCommand(e,t,"python",r,i)}};var KT=class{async export(e,t,r,i){await be.instance.get(mp).executeCommand(e,t,"pdf",r,i)}};var OT=class{async export(e,t,r,i){await be.instance.get(mp).executeCommand(e,t,"html",r,i)}};var FO=require("vscode");var FT=class{constructor(){this.fs=be.instance.get(tt),this.configuration=be.instance.get(ie),this.platform=be.instance.get(br)}async writeFile(e,t){await this.fs.writeFile(e,t)}getEOL(){return this.platform.isWindows?`\r
|
||
`:`
|
||
`}async export(e,t,r){if(r.isCancellationRequested)return;let i=this.exportDocument(e);await this.writeFile(t,i)}exportDocument(e){return e.getCells().filter(t=>!t.metadata?.isInteractiveWindowMessageCell).reduce((t,r)=>t+this.exportCell(r),"")}exportCell(e){if(e.document.lineCount){let t=this.cellMarker(e),r=this.getEOL();switch(e.kind){case FO.NotebookCellKind.Code:return`${t}${r}${this.exportCodeCell(e)}${r}${r}`;case FO.NotebookCellKind.Markup:return`${t} [markdown]${r}${this.exportMarkdownCell(e)}${r}${r}`}}return""}exportCodeCell(e){let t=Oe(e.document.getText(),{trim:!1,removeEmptyEntries:!1}),r=this.configuration.getSettings(e.notebook.uri).pythonExportMethod==="commentMagics";return Wh(t,this.getEOL(),r?Npe:void 0).join("")}exportMarkdownCell(e){let t=Oe(e.document.getText(),{trim:!1,removeEmptyEntries:!1});return Wh(t,this.getEOL(),Mpe).join("")}cellMarker(e){let t=this.configuration.getSettings(e.notebook.uri);return e.metadata.interactiveWindowCellMarker??t.defaultCellMarker}};function Npe(n){return/^\s*!/.test(n)||/^\s*%/.test(n)?`# ${n}`:n}function Mpe(n){return`# ${n}`}var gb=class{constructor(e,t,r){this.exportUtil=e;this.progressReporter=t;this.configuration=r}async importIpynb(e){let t=this.progressReporter.createProgressIndicator(y.importingIpynb,!0);try{let r=await UT.workspace.openNotebookDocument(e);await this.exportImpl("python",r,void 0,t.token)}finally{t.dispose()}}async export(e,t,r,i){let o=this.progressReporter.createProgressIndicator(y.exportingToFormat(e.toString()),!0);try{await this.exportImpl(e,t,r,o.token,i)}finally{o.dispose()}if(o.token.isCancellationRequested){R("DATASCIENCE.EXPORT_NOTEBOOK_AS",void 0,{format:e,cancelled:!0});return}}async exportImpl(e,t,r,i,o){try{let s=await this.exportUtil.getTargetFile(e,t.uri,r);if(!s)return;await this.performExport(e,t,s,i,o)}catch(s){p.error("Export failed",s),R("DATASCIENCE.EXPORT_NOTEBOOK_AS_FAILED",void 0,{format:e}),e==="pdf"&&p.error(y.exportToPDFDependencyMessage),this.showExportFailed(y.exportFailedGeneralMessage)}}async performExport(e,t,r,i,o){e==="python"&&this.configuration.getSettings(t.uri).pythonExportMethod!=="nbconvert"?await this.performPlainExport(e,t,r,i):await this.performNbConvertExport(t,e,r,o,i),r&&this.openExportedFile(e,r).catch(h)}async openExportedFile(e,t){await new hb().openFile(e,t,!0).catch(h)}async performPlainExport(e,t,r,i){if(r)switch(e){case"python":await new FT().export(t,r,i);break}return r}async performNbConvertExport(e,t,r,i,o){try{return await this.exportToFormat(e,r,t,i,o)}finally{}}async exportToFormat(e,t,r,i,o){switch(r){case"python":return new MT().export(e,t,i,o);case"pdf":return new KT().export(e,t,i,o);case"html":return new OT().export(e,t,i,o);default:break}}showExportFailed(e){UT.window.showErrorMessage(`${y.failedExportMessage} ${e}`)}};gb=v([m(0,(0,LT.inject)(fp)),m(1,(0,LT.inject)($o)),m(2,(0,LT.inject)(ie))],gb);var vb=class extends gb{constructor(t,r,i,o){super(t,i,o);this.exportUtil=t;this.fs=r}async openExportedFile(t,r){await new hb().openFile(t,r).catch(h)}};vb=v([(0,bf.injectable)(),m(0,(0,bf.inject)(fp)),m(1,(0,bf.inject)(lr)),m(2,(0,bf.inject)($o)),m(3,(0,bf.inject)(ie))],vb);var kw=k(N()),If=require("vscode");var Pw=require("vscode");var LO=new WeakMap;async function Zl(n,e){let t=n;if(n.isClosed)return!0;let r=LO.has(t)?LO.get(t):Promise.resolve(),i=re(),o=r.finally(async()=>{let s=new Pw.WorkspaceEdit,a=e(s);Au(a)&&await a,await Pw.workspace.applyEdit(s).then(l=>i.resolve(l),l=>i.reject(l))}).catch(h);return LO.set(t,o),i.promise}var yb=class{constructor(e,t){this.disposables=e;this.controllerRegistration=t}activate(){this.controllerRegistration.onControllerSelected(this.onDidChangeNotebookController,this,this.disposables)}async onDidChangeNotebookController(e){let t=e.notebook,r=e.controller.connection;if(!Et(t))return;let i=If.window.visibleNotebookEditors.find(u=>u.notebook===t);if(!i)return;let o=t.getCells().filter(u=>u.kind===If.NotebookCellKind.Code&&u.document.getText().trim().length===0),s=t.getCells().filter(u=>u.kind===If.NotebookCellKind.Code).length;if(o.length===0||o.length!==s)return;let a,l=r.kind;switch(r.kind){case"connectToLiveRemoteKernel":{a=r.kernelModel.language;break}case"startUsingRemoteKernelSpec":case"startUsingLocalKernelSpec":{a=r.kernelSpec.language;break}case"startUsingPythonInterpreter":{a=ge;break}default:{p.error(`Unsupported kernel kind encountered ${l}`);return}}if(!a)return;let c=cl(a);Zl(i.notebook,async()=>{await o.map(async u=>{if(c.toLowerCase()!==u.document.languageId)return If.languages.setTextDocumentLanguage(u.document,c).then(h,h)})}).then(h,h)}};yb=v([(0,kw.injectable)(),m(0,(0,kw.inject)(M)),m(1,(0,kw.inject)(ot))],yb);var Da=k(N()),dr=require("vscode");var bb=class{constructor(e,t,r,i,o,s,a,l){this.disposableRegistry=e;this.languageService=t;this.configurationService=r;this.kernelProvider=i;this.controllerRegistration=o;this.errorHandler=s;this.notebookEditorProvider=a;this.serviceContainer=l;this.kernelInterruptedDontAskToRestart=!1;this.pendingRestartInterrupt=new WeakMap}register(){this.disposableRegistry.push(dr.commands.registerCommand(B.NotebookEditorRemoveAllCells,()=>this.removeAllCells())),this.disposableRegistry.push(dr.commands.registerCommand(B.NotebookEditorRunAllCells,()=>this.runAllCells())),this.disposableRegistry.push(dr.commands.registerCommand(B.NotebookEditorAddCellBelow,()=>this.addCellBelow())),this.disposableRegistry.push(dr.commands.registerCommand(B.RestartKernelAndRunUpToSelectedCell,()=>this.restartKernelAndRunUpToSelectedCell())),this.disposableRegistry.push(dr.commands.registerCommand(B.RestartKernel,e=>e&&"notebookEditor"in e?this.restartKernel(e?.notebookEditor?.notebookUri).catch(h):this.restartKernel(e).catch(h))),this.disposableRegistry.push(dr.commands.registerCommand(B.InterruptKernel,e=>this.interruptKernel(e?.notebookEditor?.notebookUri))),this.disposableRegistry.push(dr.commands.registerCommand(B.RestartKernelAndRunAllCells,e=>{e&&"notebookEditor"in e?this.restartKernelAndRunAllCells(e?.notebookEditor?.notebookUri).catch(h):this.restartKernelAndRunAllCells(e).catch(h)}))}runAllCells(){dr.window.activeNotebookEditor&&dr.commands.executeCommand("notebook.execute").then(h,h)}addCellBelow(){dr.window.activeNotebookEditor&&dr.commands.executeCommand("notebook.cell.insertCodeCellBelow").then(h,h)}removeAllCells(){let e=dr.window.activeNotebookEditor?.notebook;if(!e)return;let t=this.languageService.getPreferredLanguage(co(e));Zl(e,r=>{let i=dr.NotebookEdit.replaceCells(new dr.NotebookRange(0,e.cellCount),[new dr.NotebookCellData(dr.NotebookCellKind.Code,"",t)]);r.set(e.uri,[i])}).then(h,h)}async interruptKernel(e){let t=e??this.notebookEditorProvider.activeNotebookEditor?.notebook.uri,r=dr.workspace.notebookDocuments.find(o=>o.uri.toString()===t?.toString());if(r===void 0)return;p.debug(`Command interrupted kernel for ${j(r.uri)}`);let i=this.kernelProvider.get(r);if(!i){p.info("Interrupt requested & no kernel.");return}await this.wrapKernelMethod("interrupt",i)}async restartKernelAndRunAllCells(e){await this.restartKernel(e),this.runAllCells()}async restartKernelAndRunUpToSelectedCell(){let e=this.notebookEditorProvider.activeNotebookEditor;e&&(await this.restartKernel(e.notebook.uri),dr.commands.executeCommand("notebook.cell.execute",{ranges:[{start:0,end:e.selection.end}],document:e.notebook.uri}).then(h,h))}async restartKernel(e){let t=e??this.notebookEditorProvider.activeNotebookEditor?.notebook.uri,r=dr.workspace.notebookDocuments.find(o=>o.uri.toString()===t?.toString());if(r===void 0)return;let i=this.kernelProvider.get(r);if(i)if(p.debug(`Restart kernel command handler for ${j(r.uri)}`),await this.shouldAskForRestart(r.uri)){let o=y.restartKernelMessage,s=y.restartKernelMessageYes,a=y.restartKernelMessageDontAskAgain,l=await dr.window.showInformationMessage(o,{modal:!0},s,a);l===a?(await this.disableAskForRestart(r.uri),this.wrapKernelMethod("restart",i).catch(h)):l===s&&this.wrapKernelMethod("restart",i).catch(h)}else this.wrapKernelMethod("restart",i).catch(h)}async wrapKernelMethod(e,t){let r=t.notebook,i=this.pendingRestartInterrupt.get(t);if(i)return i;let o=(async()=>{let s=this.kernelProvider.getKernelExecution(t).pendingCells[0],a=this.controllerRegistration.getSelected(r);try{if(!a)throw new Error("No kernel associated with the notebook");await js.wrapKernelMethod(a.connection,e,t.creator,this.serviceContainer,{resource:t.resourceUri,notebook:r,controller:a.controller},new Jt(!1),this.disposableRegistry)}catch(l){s?await rd(s,t.controller,await this.errorHandler.getErrorMessageForDisplayInCell(l,e,t.resourceUri),!1):dr.window.showErrorMessage(l.toString()).then(h,h)}})();return o.finally(()=>{this.pendingRestartInterrupt.get(t)===o&&this.pendingRestartInterrupt.delete(t)}).catch(h),this.pendingRestartInterrupt.set(t,o),o}async shouldAskForRestart(e){if(this.kernelInterruptedDontAskToRestart)return!1;let t=this.configurationService.getSettings(e);return t&&t.askForKernelRestart===!0}async disableAskForRestart(e){this.configurationService.getSettings(e)&&this.configurationService.updateSetting("askForKernelRestart",!1,void 0,dr.ConfigurationTarget.Global).catch(h)}};bb=v([(0,Da.injectable)(),m(0,(0,Da.inject)(M)),m(1,(0,Da.inject)(es)),m(2,(0,Da.inject)(ie)),m(3,(0,Da.inject)(De)),m(4,(0,Da.inject)(ot)),m(5,(0,Da.inject)(Gr)),m(6,(0,Da.inject)(ci)),m(7,(0,Da.inject)(rt))],bb);var aH=k(N()),hp=require("vscode");var Ib=class{constructor(){this.providers=new Set}registerEmbedNotebookProvider(e){this.providers.add(e)}findNotebookEditor(e){let t=e?cn(e,!0):"false",r=$i(e)==="notebook"?hp.workspace.notebookDocuments.find(o=>cn(o.uri,!0)===t):void 0,i=r&&hp.window.activeNotebookEditor?.notebook===r?hp.window.activeNotebookEditor:void 0;if(i)return i;for(let o of this.providers){let s=o.findNotebookEditor(e);if(s)return s}}get activeNotebookEditor(){return this.findNotebookEditor(hp.window.activeNotebookEditor?.notebook.uri)||this.findNotebookEditor(hp.window.activeTextEditor?.document.uri)}findAssociatedNotebookDocument(e){let t=Rr()==="Windows",r=hp.workspace.notebookDocuments.find(i=>t?i.uri.path.toLowerCase()===e.path.toLowerCase():i.uri.path===e.path);if(r)return r;for(let i of this.providers){let o=i.findAssociatedNotebookDocument(e);if(o)return o}}};Ib=v([(0,aH.injectable)()],Ib);var WT=k(N()),Cb=require("vscode");var Sb=class{constructor(e){this.sentMimeTypes=new Set;this.disposables=[];e.push(this)}activate(){this.isTelemetryDisabled=CP(),Cb.workspace.onDidOpenNotebookDocument(this.onDidOpenCloseDocument,this,this.disposables),Cb.workspace.onDidCloseNotebookDocument(this.onDidOpenCloseDocument,this,this.disposables),Cb.workspace.onDidSaveNotebookDocument(this.onDidOpenCloseDocument,this,this.disposables),er.onDidChangeNotebookCellExecutionState(this.onDidChangeNotebookCellExecutionState,this,this.disposables),this.disposables.push(wP(e=>this.isTelemetryDisabled=e))}dispose(){z(this.disposables)}async onDidChangeNotebookCellExecutionState(e){!Et(e.cell.notebook)||this.isTelemetryDisabled||e.state!==1||this.checkCell(e.cell,"onExecution")}onDidOpenCloseDocument(e){!Et(e)||this.isTelemetryDisabled||e.getCells().forEach(t=>this.checkCell(t,"onOpenCloseOrSave"))}checkCell(e,t){if(e.kind===Cb.NotebookCellKind.Markup||e.document.languageId==="raw")return;let r=e.notebook.notebookType===St?"notebook":"interactive";e.outputs.map(i=>i.items.map(o=>o.mime)).flat().map(i=>this.sendTelemetry(i,t,r))}sendTelemetry(e,t,r){let i=`${e}-${t}`;this.sentMimeTypes.has(i)||(this.sentMimeTypes.add(i),e=e.replace(/\//g,"_").replace(/\\/g,"_"),R("DS_INTERNAL.CELL_OUTPUT_MIME_TYPE",void 0,{mimeType:e,when:t,resourceType:r}))}};Sb=v([(0,WT.injectable)(),m(0,(0,WT.inject)(M))],Sb);var VT=k(N());var Kpe=/(;32m[ ->]*?)(\d+)(.*)/g,wb=class{constructor(e){this.configurationService=e}format(e,t){return e.notebook.notebookType!==St?t:t.map(r=>this.modifyTracebackFrameIPython(e,r))}modifyTracebackFrameIPython(e,t){return(this.configurationService.getSettings(e.document.uri)?.formatStackTraces??!1)&&/^[Cell|Input|File].*?\n.*/.test(t)?this.modifyTracebackFrameIPython8(e,t):t}modifyTracebackFrameIPython8(e,t){t=t.replace(/\u001b\[4\dm/g,""),t=t.replace(/\u001b\[38;.*?\d+m/g,"\x1B[39m"),t=t.replace(/(;32m[ ->]*?)(\d+)(.*)\n/g,(s,a,l,c)=>(c=c.replace(/\u001b\[3\d+m/g,"\x1B[39m"),`${a}${l}${c}
|
||
`)),p.ci(`Trace frame to match: ${t}`);let r=(s,a)=>{let l=s.replace(Kpe,(u,d,f,g)=>{let b=parseInt(f,10);return`${d}<a href='${e.document.uri.toString()}?line=${b-1}'>${b}</a>${g}`}),c=y.cellAtFormat(ke(e.document.uri),e.index+1);return l.replace(/.*?\n/,`\x1B[1;32m${c}\x1B[0m line \x1B[0;36m${a}
|
||
`)},i=/^Input.*?\[.*32mIn\s+\[(\d+).*?0;36m(.*?)\n.*/.exec(t);if(i&&i.length>1)return r(t,i[2]);let o=/Cell.*?\[.*32mIn\s*\[(\d+)\]\,\s+line\s+([(\d+)])(.*?)\n.*/gm.exec(t);return o&&o.length>1?r(t,o[2]):t}};wb=v([(0,VT.injectable)(),m(0,(0,VT.inject)(ie))],wb);var _a=k(N());var Eb=class{constructor(e,t,r,i,o,s){this.packages=e;this.installer=t;this.pythonExtensionChecker=r;this.disposables=i;this.interpreterService=o;this.notebookControllerManager=s}activate(){this.notebookControllerManager.onControllerSelected(this.onNotebookControllerSelected,this,this.disposables),this.installer?.onInstalled(this.onDidInstallPackage,this,this.disposables)}async onNotebookControllerSelected(e){e.controller.connection.interpreter&&(await Qi(e.notebook.uri,{kernelConnection:e.controller.connection}),await this.packages.trackPackages(e.controller.connection.interpreter))}async onDidInstallPackage(e){if(this.pythonExtensionChecker.isPythonExtensionActive)if(Nu(e.resource)){let t=await this.interpreterService.getActiveInterpreter(e.resource);await this.packages.trackPackages(t,!0)}else await this.packages.trackPackages(e.resource,!0)}};Eb=v([(0,_a.injectable)(),m(0,(0,_a.inject)(_d)),m(1,(0,_a.inject)(Ai)),m(1,(0,_a.optional)()),m(2,(0,_a.inject)(Be)),m(3,(0,_a.inject)(M)),m(4,(0,_a.inject)(Xe)),m(5,(0,_a.inject)(ot))],Eb);function lH(n,e){$q(n,e),n.addSingleton(me,rf),n.addSingleton(wh,bb),n.addSingleton(ci,Ib),n.addSingleton(me,sf),n.addSingleton(qh,wb),n.addSingleton(Ea,cb,je.RUN_BY_LINE_DEBUGSERVICE),n.addSingleton(rp,rp),n.addBinding(rp,me),n.addSingleton(me,Vy),n.addSingleton(me,Eb),n.addSingleton(me,Fy),n.addSingleton(es,es),n.addBinding(es,me),n.addSingleton(me,yb),n.addSingleton(dp,ab,void 0,[me]),n.addSingleton(me,tb),n.addSingleton(yn,nb,je.DEBUGGER_VARIABLES),n.addSingleton(Ea,ub,je.MULTIPLEXING_DEBUGSERVICE),n.addSingleton(yT,lb,void 0,[vT]),n.addSingleton(me,eb),n.addSingleton(me,Sb),n.addSingleton(db,vb),n.addSingleton(fu,fu),n.addSingleton(mp,yf),n.addSingleton(fp,mb)}var bn=k(N()),He=require("vscode");var gp=Symbol("IDataScienceCodeLensProvider"),jT=Symbol("ICodeWatcher"),JT=Symbol("ICodeLensFactory"),Pyt=Symbol("IGeneratedCodeStore"),Bs=Symbol("IGeneratedCodeStorageFactory"),Pb=Symbol("ICodeGeneratorFactory");var BT=Symbol("IInteractiveWindowDebugger"),Ki=Symbol("IInteractiveWindowProvider"),$T=Symbol("IInteractiveControllerHelper"),qT=Symbol("IInteractiveWindowDebuggingManager");var HT=require("vscode");async function GT(n){let e=await HT.workspace.openNotebookDocument(n);await HT.window.showNotebookDocument(e)}var $s=require("vscode");var Xi=class{constructor(e){this.codeMatchRegEx=this.createRegExp(e?e.codeRegularExpression:void 0,jp.PythonCellMarker),this.markdownMatchRegEx=this.createRegExp(e?e.markdownRegularExpression:void 0,jp.PythonMarkdownCellMarker),this.codeExecRegEx=new RegExp(`${this.codeMatchRegEx.source}(.*)`),this.markdownExecRegEx=new RegExp(`${this.markdownMatchRegEx.source}(.*)`),this.defaultCellMarker=e?.defaultCellMarker?e.defaultCellMarker:"# %%"}isCell(e){return this.isCode(e)||this.isMarkdown(e)}isMarkdown(e){return this.markdownMatchRegEx.test(e.trim())}isCode(e){return this.codeMatchRegEx.test(e.trim())||e.trim()===this.defaultCellMarker}getCellType(e){return this.isMarkdown(e)?"markdown":"code"}isEmptyCell(e){return this.stripFirstMarker(e).trim().length===0}stripFirstMarker(e){let t=Oe(e,{trim:!1,removeEmptyEntries:!1});return t.length>0&&(this.isCode(t[0])||this.isMarkdown(t[0]))?t.slice(1).join(`
|
||
`):e}stripFirstMarkerNoConcat(e){return e.length>0&&(this.isCode(e[0])||this.isMarkdown(e[0]))?e.slice(1):e}getFirstMarker(e){let t=Oe(e,{trim:!1,removeEmptyEntries:!1});if(t.length>0&&(this.isCode(t[0])||this.isMarkdown(t[0])))return t[0]}createRegExp(e,t){try{if(e)return new RegExp(e)}catch{}return t}};var ts=require("vscode");function cH(n,e){let t=it(n);return t?e==1?y.restartingKernelCustomHeader(t):y.startingNewKernelCustomHeader(t):e==1?y.restartingKernelHeader:y.startingNewKernelHeader}function uH(n,e){let t=it(n);return e==1?y.restartedKernelHeader(t||""):y.connectedKernelHeader(t||"")}function xw(n){return n.kind===ts.NotebookCellKind.Markup&&n.metadata?.isInteractiveWindowMessageCell===!0}var zT=class{constructor(e,t){this.notebookDocument=e;this.isDeleted=!1;if(e.cellCount){let r=e.cellAt(e.cellCount);xw(r)&&(this.sysInfoCellPromise=Promise.resolve(r),this.sysInfoCellPromise=this.updateMessage(t))}this.sysInfoCellPromise===void 0&&(this.sysInfoCellPromise=this.createCell(t))}async createCell(e){let t;return await Zl(this.notebookDocument,r=>{let i=new ts.NotebookCellData(ts.NotebookCellKind.Markup,e,aS);i.metadata={isInteractiveWindowMessageCell:!0},t=this.notebookDocument.cellCount;let o=ts.NotebookEdit.insertCells(t,[i]);r.set(this.notebookDocument.uri,[o])}),t=t??this.notebookDocument.cellCount-1,this.notebookDocument.cellAt(t)}async updateMessage(e){let t=await this.sysInfoCellPromise;return await Zl(this.notebookDocument,r=>{if(t.index>=0&&!this.isDeleted&&xw(t)){r.replace(t.document.uri,new ts.Range(0,0,t.document.lineCount,0),e),r.set(this.notebookDocument.uri,[ts.NotebookEdit.updateCellMetadata(t.index,{isInteractiveWindowMessageCell:!0})]);return}}),t}async deleteCell(){this.isDeleted=!0;let e=await this.sysInfoCellPromise;await Zl(this.notebookDocument,t=>{if(e.index>=0&&xw(e)){let r=ts.NotebookEdit.deleteCells(new ts.NotebookRange(e.index,e.index+1));t.set(this.notebookDocument.uri,[r]);return}})}};function QT(n){return/^#\s*!/.test(n)?/^#\s*!\s*%%?/.test(n)?n.replace(/^#\s*!\s*/,""):n.replace(/^#\s*/,""):n}function dH(n){return new $s.NotebookCellData($s.NotebookCellKind.Code,n.join(`
|
||
`),"python")}function pH(n){return new $s.NotebookCellData($s.NotebookCellKind.Markup,LP(n).join(`
|
||
`),"markdown")}function Fpe(n,e,t){let r=Oe(e,{trim:!1}),i=r[0];if(new Xi(n).isMarkdown(i)){let s=-1;return nm(r,(a,l)=>void 0,(a,l)=>{a&&a.length>0&&s===-1&&(s=t?l:-1)}),s>=0?[pH(r.slice(0,s)),dH(r.slice(s))]:[pH(r)]}else return[dH(r)]}function mH(n,e){let t=new Xi(e);for(let r=0;r<n.lineCount;r+=1){let i=n.lineAt(r);if(t.isCell(i.text))return!0}return!1}function Dw(n,e){let t=new Xi(e),r=[];for(let i=0;i<n.lineCount;i+=1){let o=n.lineAt(i);if(t.isCell(o.text)){if(r.length>0){let s=r[r.length-1];s.range=new $s.Range(s.range.start,n.lineAt(i-1).range.end)}r.push({range:o.range,cell_type:t.getCellType(o.text)})}}if(r.length>=1){let i=n.lineAt(n.lineCount-1),o=r[r.length-1];o.range=new $s.Range(o.range.start,i.range.end)}return r}function UO(n,e){let t=Dw(n,e);return Array.prototype.concat(...t.map(r=>{let i=n.getText(r.range);return Fpe(e,i,!1)}))}function fH(n){return n.getCells().filter(e=>!xw(e)).map(e=>{let t=Oe(e.document.getText(),{trim:!1,removeEmptyEntries:!1});e.metadata.interactiveWindowCellMarker!==void 0&&t.unshift(e.metadata.interactiveWindowCellMarker+`
|
||
`);let r=new $s.NotebookCellData(e.kind,t.join(`
|
||
`),e.kind===$s.NotebookCellKind.Code?e.document.languageId:"markdown");return e.kind===$s.NotebookCellKind.Code&&(r.outputs=[...e.outputs]),r.metadata=Yu(e),r})}var _w=require("vscode");var WO=class{constructor(e,t,r){this.disposed=!1;this.dispose=()=>{this.disposed||(this.disposed=!0,this.timeout&&(clearTimeout(this.timeout),this.timeout=void 0),this.disposeCallback(),this.deferred.completed||this.deferred.resolve())};this.promise=()=>this.deferred.promise;this.reject=()=>{this.deferred.reject(),this.dispose()};this.deferred=re(),this.disposeCallback=t,r&&(this.timeout=setTimeout(this.dispose,r))}},YT=class{constructor(){this.statusCount=0;this.incrementCount=()=>{this.statusCount+=1};this.decrementCount=()=>{let e=this.statusCount-1;this.statusCount=Math.max(e,0)}}set(e,t,r){this.incrementCount();let i=new WO(e,()=>this.decrementCount(),t),o={location:r?_w.ProgressLocation.Notification:_w.ProgressLocation.Window,title:e,cancellable:r!==void 0};return _w.window.withProgress(o,(s,a)=>(a&&r&&a.onCancellationRequested(()=>{r(),i.reject()}),i.promise())).then(h,h),i}async waitWithStatus(e,t,r,i){let o=this.set(t,r,i),s;try{s=await e()}finally{o.dispose()}return s}};var ko=class{constructor(e,t,r,i,o,s,a,l,c,u,d,f,g){this.disposables=e;this.jupyterExporter=t;this.jupyterServerHelper=r;this.fileSystem=i;this.configuration=o;this.dataScienceCodeLensProvider=s;this.debugService=a;this.configService=l;this.interactiveWindowProvider=c;this.kernelProvider=u;this.dataScienceErrorHandler=d;this.ipynbProvider=f;this.fileConverter=g;this.statusProvider=new YT,He.workspace.isTrusted||He.workspace.onDidGrantWorkspaceTrust(this.registerCommandsIfTrusted,this,this.disposables)}activate(){this.registerCommandsIfTrusted(),this.registerCommand(B.InsertCellBelowPosition,this.insertCellBelowPosition),this.registerCommand(B.InsertCellBelow,this.insertCellBelow),this.registerCommand(B.InsertCellAbove,this.insertCellAbove),this.registerCommand(B.DeleteCells,this.deleteCells),this.registerCommand(B.SelectCell,this.selectCell),this.registerCommand(B.SelectCellContents,this.selectCellContents),this.registerCommand(B.ExtendSelectionByCellAbove,this.extendSelectionByCellAbove),this.registerCommand(B.ExtendSelectionByCellBelow,this.extendSelectionByCellBelow),this.registerCommand(B.MoveCellsUp,this.moveCellsUp),this.registerCommand(B.MoveCellsDown,this.moveCellsDown),this.registerCommand(B.ChangeCellToMarkdown,this.changeCellToMarkdown),this.registerCommand(B.ChangeCellToCode,this.changeCellToCode),this.registerCommand(B.GotoNextCellInFile,this.gotoNextCellInFile),this.registerCommand(B.GotoPrevCellInFile,this.gotoPrevCellInFile),this.registerCommand(B.AddCellBelow,this.addCellBelow),this.registerCommand(B.CreateNewNotebook,this.createNewNotebook),this.registerCommand(B.LatestExtension,this.openPythonExtensionPage),this.registerCommand(B.EnableLoadingWidgetsFrom3rdPartySource,this.enableLoadingWidgetScriptsFromThirdParty),this.registerCommand(B.CreateNewInteractive,e=>this.createNewInteractiveWindow(e)),this.registerCommand(B.ImportNotebook,(e,t="commandpalette")=>this.listenForErrors(()=>e?this.importNotebookOnFile(e):this.importNotebook())),this.registerCommand(B.ImportNotebookFile,(e,t="commandpalette")=>this.listenForErrors(()=>e?this.importNotebookOnFile(e):this.importNotebook())),He.commands.registerCommand(B.ExportFileAsNotebook,(e,t="commandpalette")=>this.listenForErrors(()=>{if(e)return this.exportFile(e);{let r=He.window.activeTextEditor;if(r&&r.document.languageId===ge)return this.exportFile(r.document.uri)}return Promise.resolve()})),this.registerCommand(B.ExportFileAndOutputAsNotebook,(e,t="commandpalette")=>this.listenForErrors(()=>{if(e)return this.exportFileAndOutput(e);{let r=He.window.activeTextEditor;if(r&&r.document.languageId===ge)return this.exportFileAndOutput(r.document.uri)}return Promise.resolve()})),this.registerCommand(B.ExpandAllCells,async e=>this.expandAllCells(e?.notebookEditor?.notebookUri)),this.registerCommand(B.CollapseAllCells,async e=>this.collapseAllCells(e?.notebookEditor?.notebookUri)),this.registerCommand(B.ExportOutputAsNotebook,()=>this.exportCells()),this.registerCommand(B.InteractiveExportAsNotebook,e=>this.export(e?.notebookEditor?.notebookUri)),this.registerCommand(B.InteractiveExportAs,e=>this.exportAs(e?.notebookEditor?.notebookUri)),this.registerCommand(B.ScrollToCell,(e,t)=>this.scrollToCell(e,t)),this.registerCommand(B.InteractiveClearAll,this.clearAllCellsInInteractiveWindow),this.registerCommand(B.InteractiveGoToCode,this.goToCodeInInteractiveWindow),He.commands.registerCommand(B.InteractiveCopyCell,this.copyCellInInteractiveWindow)}dispose(){this.disposables.forEach(e=>e.dispose())}registerCommandsIfTrusted(){He.workspace.isTrusted&&(this.registerCommand(B.RunAllCells,this.runAllCells),this.registerCommand(B.RunCell,this.runCell),this.registerCommand(B.RunCurrentCell,this.runCurrentCell),this.registerCommand(B.RunCurrentCellAdvance,this.runCurrentCellAndAdvance),this.registerCommand(B.ExecSelectionInInteractiveWindow,e=>{this.runSelectionOrLine(e).catch(h)}),this.registerCommand(B.RunAllCellsAbove,this.runAllCellsAbove),this.registerCommand(B.RunCellAndAllBelow,this.runCellAndAllBelow),this.registerCommand(B.RunAllCellsAbovePalette,this.runAllCellsAboveFromCursor),this.registerCommand(B.RunCellAndAllBelowPalette,this.runCellAndAllBelowFromCursor),this.registerCommand(B.RunCurrentCellAndAddBelow,this.runCurrentCellAndAddBelow),this.registerCommand(B.DebugCell,this.debugCell),this.registerCommand(B.DebugStepOver,this.debugStepOver),this.registerCommand(B.DebugContinue,this.debugContinue),this.registerCommand(B.DebugStop,this.debugStop),this.registerCommand(B.DebugCurrentCellPalette,this.debugCurrentCellFromCursor),this.registerCommand(B.OpenVariableView,this.openVariableView),this.registerCommand(B.OpenOutlineView,this.openOutlineView),this.registerCommand(B.RunToLine,this.runToLine),this.registerCommand(B.RunFromLine,this.runFromLine),this.registerCommand(B.RunFileInInteractiveWindows,this.runFileInteractive),this.registerCommand(B.DebugFileInInteractiveWindows,this.debugFileInteractive))}registerCommand(e,t){let r=He.commands.registerCommand(e,t,this);this.disposables.push(r)}getCodeWatcher(e){if(e&&this.dataScienceCodeLensProvider){let t=He.workspace.textDocuments.filter(r=>vi(r.uri,e));if(t&&t.length===1)return this.dataScienceCodeLensProvider.getCodeWatcher(t[0]);if(t&&t.length>1)throw new Error(y.documentMismatch(ke(e)))}}async enableLoadingWidgetScriptsFromThirdParty(){this.configService.getSettings(void 0).widgetScriptSources.length>0||await this.configService.updateSetting("widgetScriptSources",["jsdelivr.com","unpkg.com"],void 0,He.ConfigurationTarget.Global).catch(h)}async runAllCells(e){let t=this.getCodeWatcher(e);if(t||(t=this.getCurrentCodeWatcher()),t)return t.runAllCells()}async runFileInteractive(e){let t=this.getCodeWatcher(e);if(t||(t=this.getCurrentCodeWatcher()),t)return t.runFileInteractive()}async debugFileInteractive(e){let t=this.getCodeWatcher(e);if(t||(t=this.getCurrentCodeWatcher()),t)return t.debugFileInteractive()}async runCell(e,t,r,i,o){let s=this.getCodeWatcher(e);if(s)return s.runCell(new He.Range(t,r,i,o))}async runAllCellsAbove(e,t,r){if(e){let i=this.getCodeWatcher(e);if(i)return i.runAllCellsAbove(t,r)}}async runCellAndAllBelow(e,t,r){if(e){let i=this.getCodeWatcher(e);if(i)return i.runCellAndAllBelow(t,r)}}async runToLine(){let e=this.getCurrentCodeWatcher(),t=He.window.activeTextEditor;if(e&&t&&t.selection)return e.runToLine(t.selection.start.line)}async runFromLine(){let e=this.getCurrentCodeWatcher(),t=He.window.activeTextEditor;if(e&&t&&t.selection)return e.runFromLine(t.selection.start.line)}async runCurrentCell(){let e=this.getCurrentCodeWatcher();if(e)return e.runCurrentCell()}async runCurrentCellAndAdvance(){let e=this.getCurrentCodeWatcher();if(e)return e.runCurrentCellAndAdvance()}async runSelectionOrLine(e){let t=this.getCurrentCodeWatcher();if(t)return t.runSelectionOrLine(He.window.activeTextEditor,fn(e)?void 0:e)}async debugCell(e,t,r,i,o){if(e){let s=this.getCodeWatcher(e);if(s)return s.debugCell(new He.Range(t,r,i,o))}}async debugStepOver(){this.debugService?.activeDebugSession&&He.commands.executeCommand("workbench.action.debug.stepOver").then(h,h)}async debugStop(e){if(this.debugService?.activeDebugSession&&this.interactiveWindowProvider){let t=this.interactiveWindowProvider.get(e);if(t&&t.notebookDocument){let r=this.kernelProvider.get(t.notebookDocument);r&&(p.debug(`Interrupt kernel due to debug stop of IW ${e.toString()}`),await r.interrupt())}He.commands.executeCommand("workbench.action.debug.stop").then(h,h)}}async debugContinue(){this.debugService?.activeDebugSession&&He.commands.executeCommand("workbench.action.debug.continue").then(h,h)}async addCellBelow(){await this.getCurrentCodeWatcher()?.addEmptyCellToBottom()}async runCurrentCellAndAddBelow(){this.getCurrentCodeWatcher()?.runCurrentCellAndAddBelow()}async insertCellBelowPosition(){this.getCurrentCodeWatcher()?.insertCellBelowPosition()}async insertCellBelow(){this.getCurrentCodeWatcher()?.insertCellBelow()}async insertCellAbove(){this.getCurrentCodeWatcher()?.insertCellAbove()}async deleteCells(){this.getCurrentCodeWatcher()?.deleteCells()}async selectCell(){this.getCurrentCodeWatcher()?.selectCell()}async selectCellContents(){this.getCurrentCodeWatcher()?.selectCellContents()}async extendSelectionByCellAbove(){this.getCurrentCodeWatcher()?.extendSelectionByCellAbove()}async extendSelectionByCellBelow(){this.getCurrentCodeWatcher()?.extendSelectionByCellBelow()}async moveCellsUp(){this.getCurrentCodeWatcher()?.moveCellsUp()}async moveCellsDown(){this.getCurrentCodeWatcher()?.moveCellsDown()}async changeCellToMarkdown(){this.getCurrentCodeWatcher()?.changeCellToMarkdown()}async changeCellToCode(){this.getCurrentCodeWatcher()?.changeCellToCode()}async gotoNextCellInFile(){this.getCurrentCodeWatcher()?.gotoNextCell()}async gotoPrevCellInFile(){this.getCurrentCodeWatcher()?.gotoPreviousCell()}async runAllCellsAboveFromCursor(){let e=this.getCurrentCodeLens();if(e){let t=this.getCurrentCodeWatcher();if(t)return t.runAllCellsAbove(e.range.start.line,e.range.start.character)}else return}async runCellAndAllBelowFromCursor(){let e=this.getCurrentCodeLens();if(e){let t=this.getCurrentCodeWatcher();if(t)return t.runCellAndAllBelow(e.range.start.line,e.range.start.character)}else return}async debugCurrentCellFromCursor(){if(this.getCurrentCodeLens()){let t=this.getCurrentCodeWatcher();if(t)return t.debugCurrentCell()}else return}async createNewNotebook(){He.window.showInformationMessage('This command has been deprecated and will eventually be removed, please use ["Create: New Jupyter Notebook"](command:workbench.action.openGlobalKeybindings?%5B%22@command:ipynb.newUntitledIpynb%22%5D) instead.').then(h,h),await He.commands.executeCommand("ipynb.newUntitledIpynb")}getCurrentCodeLens(){let e=He.window.activeTextEditor,t=this.getCurrentCodeWatcher();if(e&&t)return t.getCodeLenses().find(r=>r.range.end.line>=e.selection.anchor.line&&r.range.start.line<=e.selection.anchor.line)}getCurrentCodeWatcher(){let e=He.window.activeTextEditor;if(!(!e||!e.document||!this.dataScienceCodeLensProvider))return this.dataScienceCodeLensProvider.getCodeWatcher(e.document)}openPythonExtensionPage(){He.env.openExternal(He.Uri.parse("https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter")).then(h,h)}async openVariableView(){return He.commands.executeCommand("jupyterViewVariables.focus")}async openOutlineView(){return He.commands.executeCommand("outline.focus")}async listenForErrors(e){let t;try{return t=await e(),t}catch(r){p.error("listenForErrors",r),this.dataScienceErrorHandler.handleError(r).then(h,h)}return t}async exportFile(e){let t=ke(e);if(t&&t.length>0&&this.jupyterExporter){let r=He.window.activeTextEditor;if(r&&this.fileSystem.arePathsSame(r.document.uri,e)){let i=UO(r.document,this.configuration.getSettings(r.document.uri));if(i){let o=await new xa().showDialog("ipynb",e);if(await this.waitForStatus(async()=>{if(o){let s=await this.jupyterExporter?.serialize(i);await this.fileSystem.writeFile(o,s||"")}},y.exportingFormat,j(e)),o&&t){let s=y.exportOpenQuestion1;await He.window.showInformationMessage(y.exportDialogComplete(j(e)),s)===s&&await GT(o)}}}}}async exportFileAndOutput(e){let t=ke(e);if(t&&t.length>0&&this.jupyterExporter&&this.jupyterServerHelper&&await this.jupyterServerHelper.isJupyterServerSupported()){let r=He.window.activeTextEditor;if(r&&r.document&&this.fileSystem.arePathsSame(r.document.uri,e)){let i=UO(r.document,this.configuration.getSettings(r.document.uri));if(i){let o=await new xa().showDialog("ipynb",e);return o?(await this.waitForStatus(async()=>{if(o){let s=await this.jupyterExporter?.serialize(i);await this.fileSystem.writeFile(o,s||"")}},y.exportingFormat,j(e)),await He.workspace.openNotebookDocument(o).then(s=>He.window.showNotebookDocument(s)),await He.commands.executeCommand("notebook.execute"),o):void 0}}}else this.jupyterServerHelper&&await this.dataScienceErrorHandler.handleError(new zi(y.jupyterNotSupported(await this.jupyterServerHelper.getJupyterServerError())))}async expandAllCells(e){let t=this.interactiveWindowProvider.getInteractiveWindowWithNotebook(e);p.info(`Expanding all cells in interactive window with uri ${t?.notebookUri}`),t&&await t.expandAllCells()}async collapseAllCells(e){let t=this.interactiveWindowProvider.getInteractiveWindowWithNotebook(e);p.info(`Collapsing all cells in interactive window with uri ${t?.notebookUri}`),t&&await t.collapseAllCells()}exportCells(){let e=this.interactiveWindowProvider?.activeWindow;e&&e.export()}exportAs(e){let t=this.interactiveWindowProvider.getInteractiveWindowWithNotebook(e);t&&t.exportAs()}export(e){let t=this.interactiveWindowProvider.getInteractiveWindowWithNotebook(e);t&&t.export()}async createNewInteractiveWindow(e){await this.interactiveWindowProvider?.getOrCreate(void 0,e)}waitForStatus(e,t,r,i){let o=t(r||"");return this.statusProvider.waitWithStatus(e,o,void 0,i)}async importNotebook(){let e=y.importDialogFilter,t={};t[e]=["ipynb"];let r=await He.window.showOpenDialog({openLabel:y.importDialogTitle,filters:t});r&&r.length>0&&await this.waitForStatus(async()=>{await this.fileConverter.importIpynb(r[0])},y.importingFormat,j(r[0]))}async importNotebookOnFile(e){let t=ke(e);t&&t.length>0&&await this.waitForStatus(async()=>{await this.fileConverter.importIpynb(e)},y.importingFormat,j(e))}async scrollToCell(e,t){if(t&&e){let r=this.interactiveWindowProvider.getInteractiveWindowsWithSubmitter(e);for(let i=0;i<r.length;i+=1)if(await r[i].hasCell(t)){r[i].scrollToCell(t);break}}}async clearAllCellsInInteractiveWindow(e){let t=this.interactiveWindowProvider.getInteractiveWindowWithNotebook(e?.notebookEditor?.notebookUri)?.notebookUri;if(!t)return;let r=He.workspace.notebookDocuments.find(s=>s.uri.toString()===t.toString());if(!r)return;let i=new He.WorkspaceEdit,o=He.NotebookEdit.deleteCells(new He.NotebookRange(0,r.cellCount));i.set(r.uri,[o]),await He.workspace.applyEdit(i)}async goToCodeInInteractiveWindow(e){if(e&&e.metadata?.interactive){let t=He.Uri.parse(e.metadata.interactive.uristring),r=e.metadata.interactive.lineIndex,i=await He.window.showTextDocument(t,{viewColumn:He.ViewColumn.One});i&&(i.revealRange(new He.Range(r,0,r,0)),i.selection=new He.Selection(new He.Position(r,0),new He.Position(r,0)))}}async copyCellInInteractiveWindow(e){if(e){let t=this.configuration.getSettings(e.notebook.uri),r=[e.metadata.interactiveWindowCellMarker??t.defaultCellMarker,e.document.getText()].join(`
|
||
`);await He.env.clipboard.writeText(r)}}};v([Hr("DATASCIENCE.DEBUG_STEP_OVER")],ko.prototype,"debugStepOver",1),v([Hr("DATASCIENCE.DEBUG_STOP")],ko.prototype,"debugStop",1),v([Hr("DATASCIENCE.DEBUG_CONTINUE")],ko.prototype,"debugContinue",1),v([or("DATASCIENCE.ADD_CELL_BELOW")],ko.prototype,"addCellBelow",1),v([Hr("DATASCIENCE.EXPORT_PYTHON_FILE")],ko.prototype,"exportFile",1),v([Hr("DATASCIENCE.EXPORT_PYTHON_FILE_AND_OUTPUT")],ko.prototype,"exportFileAndOutput",1),v([Hr("DATASCIENCE.IMPORT_NOTEBOOK",{scope:"command"})],ko.prototype,"importNotebook",1),v([Hr("DATASCIENCE.IMPORT_NOTEBOOK",{scope:"file"})],ko.prototype,"importNotebookOnFile",1),ko=v([(0,bn.injectable)(),m(0,(0,bn.inject)(M)),m(1,(0,bn.inject)(tg)),m(1,(0,bn.optional)()),m(2,(0,bn.inject)(od)),m(2,(0,bn.optional)()),m(3,(0,bn.inject)(tt)),m(4,(0,bn.inject)(ie)),m(5,(0,bn.inject)(gp)),m(5,(0,bn.optional)()),m(6,(0,bn.inject)(_i)),m(6,(0,bn.optional)()),m(7,(0,bn.inject)(ie)),m(8,(0,bn.inject)(Ki)),m(9,(0,bn.inject)(De)),m(10,(0,bn.inject)(Gr)),m(11,(0,bn.inject)(ci)),m(12,(0,bn.inject)(db))],ko);var xb=k(N());var ec=require("vscode");var XT=class{constructor(e,t,r,i){this.configService=e;this.storage=t;this.notebook=r;this.executionCount=0;this.cellIndexesCounted={};this.disposables=[];i.push(this),ec.workspace.onDidChangeTextDocument(this.onChangedDocument,this,this.disposables),er.onDidChangeNotebookCellExecutionState(this.onDidCellStateChange,this,this.disposables)}dispose(){this.disposed||(this.disposed=!0,this.storage.clear(),this.disposables.forEach(e=>e.dispose()))}reset(){this.storage.clear(),this.executionCount=0}async generateCode(e,t,r,i){let{executableLines:o}=this.extractExecutableLines(e);if(this.executionCount+=1,this.cellIndexesCounted[t]=!0,o.length>0&&o.find(s=>s.trim().length>0))return this.generateCodeImpl(e,this.executionCount,r,i)}extractExecutableLines(e){let t=e.interactive.originalSource,r=this.configService.getSettings(this.notebook.uri),i=new Xi(r),o=Uh(t);if(r.magicCommandsAsComments&&o.forEach((s,a)=>o[a]=QT(s)),e.interactiveWindowCellMarker&&o.length&&o[0].trim()===e.interactiveWindowCellMarker.trim()){let s=o.slice(1).filter(a=>a.trim().length>0);if(s.length>0&&s[0].trim().startsWith("%%")){let a=o.slice(o.indexOf(s[0]));return{lines:a,executableLines:a}}}return o.length>0&&(i.isCode(o[0])||i.isMarkdown(o[0]))?{lines:o,executableLines:o.slice(1)}:{lines:o,executableLines:o}}onDidCellStateChange(e){e.state===1&&(e.state!==1||e.cell.notebook!==this.notebook||!e.cell.executionSummary?.executionOrder||this.cellIndexesCounted[e.cell.index]||(this.executionCount+=1,this.cellIndexesCounted[e.cell.index]=!0))}async generateCodeImpl(e,t,r,i){let{lineIndex:o,uristring:s}=e.interactive,a=ec.workspace.textDocuments.find(Y=>Y.uri.toString()===s);if(!a)return;let{stripped:l,trueStartLine:c}=this.extractStrippedLines(e),u=a.lineAt(c),d=a.lineAt(Math.min(c+l.length-1,a.lineCount-1)),f=0;for(;f<l.length&&l[f].trim().length===0;)f+=1;let g=f+c,b=a.offsetAt(new ec.Position(o,0)),I=a.offsetAt(d.rangeIncludingLineBreak.end),E=(e.interactiveWindowCellMarker||"").length>0,{runtimeLine:x,debuggerStartLine:A}=this.addHiddenLines(r,l,c,g,E,i),T=l.join(""),J=a.getText(new ec.Range(new ec.Position(o,0),d.rangeIncludingLineBreak.end)),ne=(await na(T,"SHA-1")).substring(0,12),H=this.getRuntimeFile(ne,t),oe=r?-1:0,ae={line:u?u.lineNumber+1:1,endLine:d?d.lineNumber+1:1,firstNonBlankLineIndex:g,debuggerStartLine:A,executionCount:t,startOffset:b,endOffset:I,deleted:!1,code:T,trimmedRightCode:l.map(Y=>Y.replace(/[ \t\r]+\n$/g,`
|
||
`)).join(""),realCode:J,runtimeLine:x,runtimeFile:H,id:e.id,timestamp:Date.now(),lineOffsetRelativeToIndexOfFirstLineInCell:oe,hasCellMarker:E};return p.info(`Generated code for ${t} = ${H} with ${l.length} lines`),this.storage.store(ec.Uri.parse(e.interactive.uristring),ae),ae}getRuntimeFile(e,t){return`<ipython-input-${t}-${e}>`}onChangedDocument(e){let t=this.storage.getFileGeneratedCode(e.document.uri);if(t){let r=e.document.getText();e.contentChanges.forEach(i=>{this.handleContentChange(r,i,t)})}}extractStrippedLines(e){let t=Uh(e.interactive.originalSource),{lines:r}=this.extractExecutableLines(e),i=e.interactive.lineIndex+1;if(!e.interactiveWindowCellMarker){i=e.interactive.lineIndex;for(let l=0;l<r.length;l+=1)if(r[l]!==t[l]){i+=l+1;break}}let o=0;for(;o<r.length&&r[o].trim().length===0;)o+=1;let s=r.length-1,a=r.length-2;for(;a>0;){let l=r[s],c=r[a];if((l.length===0||l===`
|
||
`)&&(c.length===0||c===`
|
||
`))r.splice(s,1),s-=1,a-=1;else break}!r[s].endsWith(`
|
||
`)&&r[s].length>0&&(r[s]=`${r[s]}
|
||
`);for(let l=0;l<r.length;l++)r[l]=r[l].replace(/\r\n/g,`
|
||
`);return{stripped:r,trueStartLine:i}}handleContentChange(e,t,r){let i=t.range.start.line-t.range.end.line+t.text.split(`
|
||
`).length-1,o=t.text.length-t.rangeLength,s=t.rangeLength<=0?t.rangeOffset:t.rangeOffset+t.rangeLength-1;r.forEach(a=>{a.endOffset<t.rangeOffset||(a.startOffset>s?(a.line+=i,a.endLine+=i,a.startOffset+=o,a.endOffset+=o):a.startOffset===s?a.deleted||t.rangeLength>0||i===0?a.deleted=e.substr(a.startOffset,a.endOffset-a.startOffset)!==a.realCode:(a.line+=i,a.endLine+=i,a.startOffset+=o,a.endOffset+=o):a.deleted=e.substr(a.startOffset,a.endOffset-a.startOffset)!==a.realCode)})}addHiddenLines(e,t,r,i,o,s){let a=s||this.configService.getSettings(void 0).forceIPyKernelDebugger===!0;return e&&this.configService.getSettings(this.notebook.uri).stopOnFirstLineWhileDebugging?a?(t.splice(0,0,`breakpoint()
|
||
`),{runtimeLine:1,debuggerStartLine:r+1}):(t.splice(0,0,`breakpoint()
|
||
`),{runtimeLine:2,debuggerStartLine:r}):{runtimeLine:1,debuggerStartLine:o?i:i+1}}};var hH=require("vscode");var kb=class{constructor(e,t,r){this.configService=e;this.storageFactory=t;this.disposables=r;this.codeGenerators=new WeakMap}activate(){hH.workspace.onDidCloseNotebookDocument(this.onDidCloseNotebook,this,this.disposables)}getOrCreate(e){let t=this.get(e);if(t)return t;let r=new XT(this.configService,this.storageFactory.getOrCreate(e),e,this.disposables);return this.codeGenerators.set(e,r),r}get(e){return this.codeGenerators.get(e)}onDidCloseNotebook(e){this.codeGenerators.get(e)?.dispose(),this.codeGenerators.delete(e)}};kb=v([(0,xb.injectable)(),m(0,(0,xb.inject)(ie)),m(1,(0,xb.inject)(Bs)),m(2,(0,xb.inject)(M))],kb);var Sf=k(N()),vp=require("vscode");function rs(n){if(n.metadata.interactive!==void 0)return n.metadata}function gH(n,e,t){let r=Oe(n,{trim:!1,removeEmptyEntries:!1}),i=t.stripFirstMarkerNoConcat(r),o=vV(i),s=Wh(o,`
|
||
`,e.magicCommandsAsComments?QT:void 0);return sh(s.join(""))}function Tw(n){let e=n;return e&&e.input&&fn(e.input.uri)&&fn(e.input.inputBoxUri)}var Lpe=y.runCurrentCellAndAddBelow,Upe=y.addCellBelowCommandTitle,Wpe=y.debugCellCommandTitle,Vpe=y.debugCellCommandTitle,jpe=y.debugStepOverCommandTitle,Jpe=y.debugContinueCommandTitle,Bpe=y.debugStopCommandTitle,$pe=y.runCellLensCommandTitle,qpe=y.runAllCellsLensCommandTitle,Hpe=y.runAllCellsAboveLensCommandTitle,vH=y.runCellAndAllBelowLensCommandTitle,Gpe=y.scrollToCellTitleFormatMessage,Db=class{constructor(e,t,r,i){this.configService=e;this.generatedCodeStorageFactory=r;this.updateEvent=new vp.EventEmitter;this.notebookData=new Map;this.codeLensCache=new Map;this.totalCodeLensUpdateTimeInMs=0;this.codeLensUpdateCount=0;this.maxCellCount=0;vp.workspace.onDidCloseTextDocument(this.onClosedDocument,this,t),vp.workspace.onDidGrantWorkspaceTrust(()=>this.codeLensCache.clear(),this,t),this.configService.getSettings(void 0).onDidChange(this.onChangedSettings,this,t),er.onDidChangeNotebookCellExecutionState(this.onDidChangeNotebookCellExecutionState,this,t),i.onDidDisposeKernel(o=>{this.notebookData.delete(o.notebook.uri.toString())},this,t)}getPerfMeasures(){return{totalCodeLensUpdateTimeInMs:this.totalCodeLensUpdateTimeInMs,codeLensUpdateCount:this.codeLensUpdateCount,maxCellCount:this.maxCellCount}}get updateRequired(){return this.updateEvent.event}createCodeLenses(e){let t=this.getCodeLensCacheData(e);return[...t.documentLenses,...t.gotoCellLens]}getCellRanges(e){return this.getCodeLensCacheData(e).cellRanges}getCodeLensCacheData(e){let t=new Ue,r=!1,i=e.uri.toString(),o=this.codeLensCache.get(i),s=!1;o||(o={cachedDocumentVersion:void 0,cachedExecutionCounts:new Set,documentLenses:[],cellRanges:[],gotoCellLens:[]},s=!0,this.codeLensCache.set(i,o)),o.cachedDocumentVersion!==e.version&&(o.cellRanges=Dw(e,this.configService.getSettings(e.uri)),o.documentLenses=[],o.gotoCellLens=[],o.cachedDocumentVersion=e.version,s=!0);let a=this.getDocumentExecutionCounts(i);if((a.length!==o.cachedExecutionCounts.size||a.find(l=>!o?.cachedExecutionCounts.has(l)))&&(o.gotoCellLens=[],o.cachedExecutionCounts=new Set(a),s=!0),o.documentLenses.length===0&&s&&o.cellRanges.length){r=!0;let l=this.enumerateCommands(e.uri);p.debug(`CodeLensFactory: Generating new code lenses for version ${e.version} of document ${e.uri} for commands ${l.join(", ")}`);let c=!0;o.cellRanges.forEach(u=>{l.forEach(d=>{let f=this.createCodeLens(e,u,d,c);f&&o.documentLenses.push(f)}),c=!1})}else p.ci(`NOT Generating new code lenses for version ${e.version} of document ${e.uri} - needUpdate: ${s}, cellRanges.length: ${o.cellRanges.length}`);if(s&&o.gotoCellLens.length===0&&o.cellRanges.length&&this.configService.getSettings(e.uri).addGotoCodeLenses){let l=this.generatedCodeStorageFactory.get({fileUri:e.uri}),c=l?l.all.find(u=>u.uri.toString()===e.uri.toString())?.generatedCodes:void 0;c&&c.length&&o.cellRanges.forEach(u=>{let d=this.createExecutionLens(e,u.range,c);d&&o?.gotoCellLens.push(d)})}return r&&(this.totalCodeLensUpdateTimeInMs+=t.elapsedTime,this.codeLensUpdateCount+=1,this.maxCellCount=Math.max(this.maxCellCount,o.cellRanges.length)),o}getDocumentExecutionCounts(e){return[...this.notebookData.values()].map(t=>t.documentExecutionCounts.get(e)).filter(t=>t!==void 0)}onDidChangeNotebookCellExecutionState(e){if(e.cell.notebook.notebookType!==ft||e.state!==1||!e.cell.executionSummary?.executionOrder)return;let t=rs(e.cell),r=this.notebookData.get(e.cell.notebook.uri.toString());r||(r={cellExecutionCounts:new Map,documentExecutionCounts:new Map},this.notebookData.set(e.cell.notebook.uri.toString(),r)),r!==void 0&&t!==void 0&&(r.cellExecutionCounts.set(t.id,e.cell.executionSummary.executionOrder),r.documentExecutionCounts.set(t.interactive.uristring,e.cell.executionSummary.executionOrder),this.updateEvent.fire())}onClosedDocument(e){this.codeLensCache.delete(e.uri.toString())}onChangedSettings(){this.codeLensCache.clear(),this.updateEvent.fire()}enumerateCommands(e){let t,r=this.configService.getSettings(e).codeLenses;r?t=r.split(",").map(s=>s.trim()):t=Ru.DefaultDesignLenses;let i=this.configService.getSettings(e).debugCodeLenses;i?t=t.concat(i.split(",").map(s=>s.trim())):t=t.concat(Ru.DefaultDebuggingLenses);let o=[];return vp.workspace.isTrusted||(o=[...Ru.DebuggerCommands,...Ru.DebuggerCommands,B.RunAllCells,B.RunAllCellsAbove,B.RunAllCellsAbovePalette,B.RunCellAndAllBelowPalette,B.RunCurrentCell,B.RunCurrentCellAdvance,B.RunCurrentCellAndAddBelow,B.RunFileInInteractiveWindows,B.InterruptKernel,B.RunToLine,B.RunCell,B.DebugCell,B.DebugContinue,B.DebugStepOver,B.DebugStop,B.RunCellAndAllBelowPalette]),o&&(t=t.filter(s=>!o.includes(s))),t}createCodeLens(e,t,r,i){let{range:o,cell_type:s}=t;switch(r){case B.RunCurrentCellAndAddBelow:return this.generateCodeLens(o,B.RunCurrentCellAndAddBelow,Lpe);case B.AddCellBelow:return this.generateCodeLens(o,B.AddCellBelow,Upe,[e.uri,o.start.line]);case B.DebugCurrentCellPalette:return this.generateCodeLens(o,B.DebugCurrentCellPalette,Wpe);case B.DebugCell:if(s!=="code")break;return this.generateCodeLens(o,B.DebugCell,Vpe,[e.uri,o.start.line,o.start.character,o.end.line,o.end.character]);case B.DebugStepOver:if(s!=="code")break;return this.generateCodeLens(o,B.DebugStepOver,jpe,[e.uri]);case B.DebugContinue:if(s!=="code")break;return this.generateCodeLens(o,B.DebugContinue,Jpe,[e.uri]);case B.DebugStop:if(s!=="code")break;return this.generateCodeLens(o,B.DebugStop,Bpe,[e.uri]);case B.RunCurrentCell:case B.RunCell:return this.generateCodeLens(o,B.RunCell,$pe,[e.uri,o.start.line,o.start.character,o.end.line,o.end.character]);case B.RunAllCells:return this.generateCodeLens(o,B.RunAllCells,qpe,[e.uri,o.start.line,o.start.character]);case B.RunAllCellsAbovePalette:case B.RunAllCellsAbove:return i?this.generateCodeLens(o,B.RunCellAndAllBelow,vH,[e.uri,o.start.line,o.start.character]):this.generateCodeLens(o,B.RunAllCellsAbove,Hpe,[e.uri,o.start.line,o.start.character]);case B.RunCellAndAllBelowPalette:case B.RunCellAndAllBelow:return this.generateCodeLens(o,B.RunCellAndAllBelow,vH,[e.uri,o.start.line,o.start.character]);default:p.warn(`Invalid command for code lens ${r}`);break}}findMatchingCellExecutionCount(e){return[...this.notebookData.values()].find(r=>r.cellExecutionCounts.get(e))?.cellExecutionCounts.get(e)}createExecutionLens(e,t,r){if(r){let i=r.filter(o=>o.line-2===t.start.line).sort((o,s)=>o.timestamp-s.timestamp);if(i&&i.length){let o=i[i.length-1],s=this.findMatchingCellExecutionCount(o.id);if(s!==void 0)return this.generateCodeLens(t,B.ScrollToCell,Gpe(s),[e.uri,o.id])}}}generateCodeLens(e,t,r,i){return new vp.CodeLens(e,zpe(t,r,i))}};Db=v([(0,Sf.injectable)(),m(0,(0,Sf.inject)(ie)),m(1,(0,Sf.inject)(M)),m(2,(0,Sf.inject)(Bs)),m(3,(0,Sf.inject)(De))],Db);function zpe(n,e,t){return{arguments:t,title:e,command:n}}var tc=k(N()),Ta=k(require("vscode"));var _b=class{constructor(e,t,r,i,o){this.serviceContainer=e;this.debugLocationTracker=t;this.configuration=r;this.debugService=o;this.totalExecutionTimeInMs=0;this.totalGetCodeLensCalls=0;this.activeCodeWatchers=[];this.didChangeCodeLenses=new Ta.EventEmitter;i.push(this),i.push(Ta.workspace.onDidGrantWorkspaceTrust(()=>{this.activeCodeWatchers=z(this.activeCodeWatchers),this.didChangeCodeLenses.fire()})),i.push(this.debugService.onDidChangeActiveDebugSession(this.onChangeDebugSession.bind(this))),i.push(Ta.workspace.onDidCloseTextDocument(this.onDidCloseTextDocument.bind(this))),this.debugLocationTracker&&i.push(this.debugLocationTracker.updated(this.onDebugLocationUpdated.bind(this)))}dispose(){this.totalGetCodeLensCalls>0&&R("DS_INTERNAL.CODE_LENS_ACQ_TIME",{duration:this.totalExecutionTimeInMs/this.totalGetCodeLensCalls}),z(this.activeCodeWatchers)}get onDidChangeCodeLenses(){return this.didChangeCodeLenses.event}provideCodeLenses(e,t){return[bc,hE].includes(e.uri.scheme)?[]:this.getCodeLensTimed(e)}getCodeWatcher(e){return this.matchWatcher(e.uri)}onDebugLocationUpdated(){this.didChangeCodeLenses.fire()}onChangeDebugSession(e){this.didChangeCodeLenses.fire()}onDidCloseTextDocument(e){let t=this.activeCodeWatchers.findIndex(r=>r.uri&&r.uri.toString()===e.uri.toString());t>=0&&this.activeCodeWatchers.splice(t,1)[0].dispose()}getCodeLensTimed(e){let t=new Ue,r=this.getCodeLens(e);return this.totalExecutionTimeInMs+=t.elapsedTime,this.totalGetCodeLensCalls+=1,new tr(mr.HasCodeCells).set(r&&r.length>0).catch(h),this.configuration.getSettings(e.uri).enableCellCodeLens?this.adjustDebuggingLenses(e,r):[]}adjustDebuggingLenses(e,t){let r=Ru.DebuggerCommands;if(this.debugLocationTracker&&this.debugService.activeDebugSession){let i=this.debugLocationTracker.getLocation(this.debugService.activeDebugSession),o;try{o=i?Ta.Uri.parse(i.fileName):void 0}catch{}if(i&&(vi(Ta.Uri.file(i.fileName),e.uri,!0)||o&&vi(o,e.uri,!0)))return t.filter(a=>{let l=new Ta.Position(i.lineNumber-1,i.column-1);return a.range.contains(l)}).filter(a=>a.command?r.includes(a.command.command):!1);p.ci(`Detected debugging context because activeDebugSession is name:"${this.debugService.activeDebugSession.name}", type: "${this.debugService.activeDebugSession.type}", but fell through with debugLocation: ${JSON.stringify(i)}, and document.uri: ${e.uri.toString()}`)}else return t.filter(i=>i.command?!r.includes(i.command.command):!1);return[]}getCodeLens(e){let t=this.matchWatcher(e.uri);return t?t.getCodeLenses():(p.debug(`Creating a new watcher for document ${e.uri}`),this.createNewCodeWatcher(e).getCodeLenses())}matchWatcher(e){let t=this.activeCodeWatchers.findIndex(i=>i.uri&&i.uri.toString()==e.toString());if(t>=0)return this.activeCodeWatchers[t];let r=Ta.workspace.textDocuments.filter(i=>i.uri.toString()===e.toString());if(r&&r.length>0)return p.debug(`creating new code watcher with matching document ${e}`),this.createNewCodeWatcher(r[0])}createNewCodeWatcher(e){let t=this.serviceContainer.get(jT);return t.setDocument(e),t.codeLensUpdated(this.onWatcherUpdated.bind(this)),this.activeCodeWatchers.push(t),t}onWatcherUpdated(){this.didChangeCodeLenses.fire()}};_b=v([(0,tc.injectable)(),m(0,(0,tc.inject)(rt)),m(1,(0,tc.inject)(yT)),m(1,(0,tc.optional)()),m(2,(0,tc.inject)(ie)),m(3,(0,tc.inject)(M)),m(4,(0,tc.inject)(_i))],_b);var yp=k(N()),fe=require("vscode");var Cf=class extends Error{constructor(t){super("Cell failed to execute");this.cell=t}};function Qpe(n,e){if(e<=0)throw new RangeError(`Length must be > 0 not ${e}`);return n<0&&(n+=e),n<0?0:n>=e?e-1:n}var qt=class{constructor(e,t,r,i,o){this.interactiveWindowProvider=e;this.configService=t;this.executionHelper=r;this.dataScienceErrorHandler=i;this.codeLensFactory=o;this.version=-1;this.codeLenses=[];this.cells=[];this.codeLensUpdatedEvent=new fe.EventEmitter;this.disposables=[this.codeLensUpdatedEvent]}setDocument(e){this.document=e,this.version=e.version,this.codeLenses=this.codeLensFactory.createCodeLenses(e),this.cells=this.codeLensFactory.getCellRanges(e),this.disposables.push(this.codeLensFactory.updateRequired(this.onCodeLensFactoryUpdated.bind(this))),this.disposables.push(fe.workspace.onDidCloseTextDocument(this.onDocumentClosed.bind(this))),this.disposables.push(fe.workspace.onDidCloseNotebookDocument(this.ondidCloseNotebook.bind(this)))}get codeLensUpdated(){return this.codeLensUpdatedEvent.event}get uri(){return this.document?.uri}getVersion(){return this.version}getCodeLenses(){let e=this.document;return e&&e.version!=this.version&&(this.codeLenses=this.codeLensFactory.createCodeLenses(e),this.cells=this.codeLensFactory.getCellRanges(e),this.version=e.version),this.codeLenses}async debugCurrentCell(){if(!(!fe.window.activeTextEditor||!fe.window.activeTextEditor.document))return this.runMatchingCell(fe.window.activeTextEditor.selection,!1,!0)}dispose(){let e=this.codeLensFactory.getPerfMeasures();e&&e.codeLensUpdateCount>0&&R("DS_INTERNAL.DOCUMENT_WITH_CODE_CELLS",{codeLensUpdateTime:e.totalCodeLensUpdateTimeInMs/e.codeLensUpdateCount,maxCellCount:e.maxCellCount}),z(this.disposables)}async runAllCells(e){let t=await this.getActiveInteractiveWindow(),r=this.codeLenses.filter(s=>s.command&&s.command.command===B.RunCell&&s.command.arguments&&s.command.arguments.length>=5),i=r.length,o=Promise.resolve(!0);for(let s of r){let a=new fe.Range(s.command.arguments[1],s.command.arguments[2],s.command.arguments[3],s.command.arguments[4]);if(this.document){i===r.length&&(a=new fe.Range(new fe.Position(0,0),a.end));let l=this.document.getText(a);i-=1,o=this.addCode(t,l,this.document.uri,a.start.line,e)}}if(await o,r.length===0)return this.runFileAsOneCell(e??!1)}async runFileInteractive(){if(this.document&&this.configService.getSettings(this.document?.uri).splitRunFileIntoCells)return this.runAllCells();if(this.document)return this.runFileAsOneCell(!1)}async debugFileInteractive(){if(this.document&&this.configService.getSettings(this.document?.uri).splitRunFileIntoCells)return this.runAllCells(!0);if(this.document)return this.runFileAsOneCell(!0)}async runAllCellsAbove(e,t){let r=await this.getActiveInteractiveWindow(),i=this.codeLenses.filter(l=>l.command&&l.command.command===B.RunCell),o=i.findIndex(l=>l.range.start.line>=e&&l.range.start.character>=t);o<0&&(o=i.length);let s=o,a=Promise.resolve(!0);for(let l of i)if(o>0&&this.document){let c=new fe.Range(l.range.start,l.range.end);o===s&&(c=new fe.Range(new fe.Position(0,0),c.end)),o-=1;let u=this.document.getText(c);a=this.addCode(r,u,this.document.uri,l.range.start.line)}else break;await a}async runCellAndAllBelow(e,t){let r=await this.getActiveInteractiveWindow(),i=this.codeLenses.filter(l=>l.command&&l.command.command===B.RunCell),o=i.findIndex(l=>l.range.start.line>=e&&l.range.start.character>=t),s=o>0?i.length-o:i.length,a=Promise.resolve(!0);for(let l=o;l>=0&&l<i.length;l+=1)if(s>0&&this.document){let c=i[l];s-=1;let u=this.document.getText(c.range);a=this.addCode(r,u,this.document.uri,c.range.start.line)}await a}async runSelectionOrLine(e,t){if(this.document&&e&&vi(e.document.uri,this.document.uri)){let r=await this.getActiveInteractiveWindow(),i;if(t===void 0||fn(t)?i=this.executionHelper.getSelectedTextToExecute(e):i=t,!i)return;let s=this.configService.getSettings(e.document.uri).normalizeSelectionForInteractiveWindow??!0?await this.executionHelper.normalizeLines(i):i;if(!s||s.trim().length===0)return;await this.addCode(r,s,this.document.uri,e.selection.start.line)}}async runToLine(e){if(this.document&&e>0){let t=await this.getActiveInteractiveWindow(),r=this.document.lineAt(e-1),i=this.document.getText(new fe.Range(0,0,r.range.end.line,r.range.end.character));i&&i.trim().length&&await this.addCode(t,i,this.document.uri,0)}}async runFromLine(e){if(this.document&&e<this.document.lineCount){let t=await this.getActiveInteractiveWindow(),r=this.document.lineAt(this.document.lineCount-1),i=this.document.getText(new fe.Range(e,0,r.range.end.line,r.range.end.character));i&&i.trim().length&&await this.addCode(t,i,this.document.uri,e)}}async runCell(e){if(!fe.window.activeTextEditor||!fe.window.activeTextEditor.document)return;let t=e.contains(fe.window.activeTextEditor.selection.start)&&this.configService.getSettings(fe.window.activeTextEditor.document.uri).enableAutoMoveToNextCell;return this.runMatchingCell(e,t)}async debugCell(e){if(!(!fe.window.activeTextEditor||!fe.window.activeTextEditor.document))return this.runMatchingCell(e,!1,!0)}async runCurrentCell(){if(!(!fe.window.activeTextEditor||!fe.window.activeTextEditor.document))return this.runMatchingCell(fe.window.activeTextEditor.selection,!1)}async runCurrentCellAndAdvance(){if(!(!fe.window.activeTextEditor||!fe.window.activeTextEditor.document))return this.runMatchingCell(fe.window.activeTextEditor.selection,!0)}async addEmptyCellToBottom(){let e=fe.window.activeTextEditor;e&&this.insertCell(e,e.document.lineCount+1)}async runCurrentCellAndAddBelow(){if(!fe.window.activeTextEditor||!fe.window.activeTextEditor.document)return;let e=fe.window.activeTextEditor,t=new Xi(this.configService.getSettings(e.document.uri)),r=0,i=this.getDefaultCellMarker(e.document.uri);e&&e.edit(s=>{let a=!0;for(let l=e.selection.end.line+1;l<e.document.lineCount;l+=1)if(t.isCell(e.document.lineAt(l).text)){a=!1,r=l,s.insert(new fe.Position(l,0),`${i}
|
||
|
||
`);break}a&&(r=e.document.lineCount,s.insert(new fe.Position(e.document.lineCount,0),`
|
||
${i}
|
||
`))}).then(h,h);let o=new fe.Position(r+1,0);return this.runMatchingCell(e.selection,!1).then(()=>this.advanceToRange(new fe.Range(o,o)))}insertCellBelowPosition(){let e=fe.window.activeTextEditor;e&&e.selection&&this.insertCell(e,e.selection.end.line+1)}insertCellBelow(){let e=fe.window.activeTextEditor;if(e&&e.selection){let t=this.getCellFromPosition(e.selection.end);t?this.insertCell(e,t.range.end.line+1):this.insertCell(e,e.selection.end.line+1)}}insertCellAbove(){let e=fe.window.activeTextEditor;if(e&&e.selection){let t=this.getCellFromPosition(e.selection.start);t?this.insertCell(e,t.range.start.line):this.insertCell(e,e.selection.start.line)}}deleteCells(){let e=fe.window.activeTextEditor;if(!e||!e.selection)return;let t=this.getStartEndCells(e.selection);if(!t)return;let r=t[0],i=t[1],o=0,s=0,a=i.range.end.line+1,l=0;r.range.start.line>0&&(o=r.range.start.line-1,s=e.document.lineAt(o).range.end.character,a=i.range.end.line,l=i.range.end.character);let c=new fe.Range(new fe.Position(o,s),new fe.Position(a,l));e.edit(u=>{u.replace(c,""),this.codeLensUpdatedEvent.fire()}).then(h,h)}selectCell(){let e=fe.window.activeTextEditor;if(e&&e.selection){let t=this.getStartEndCells(e.selection);if(t){let r=t[0],i=t[1];e.selection.anchor.isBeforeOrEqual(e.selection.active)?e.selection=new fe.Selection(r.range.start,i.range.end):e.selection=new fe.Selection(i.range.end,r.range.start)}}}selectCellContents(){let e=fe.window.activeTextEditor;if(!e||!e.selection)return;let t=this.getStartEndCellIndex(e.selection);if(!t)return;let r=t[0],i=t[1],o=e.selection.anchor.isBeforeOrEqual(e.selection.active),s=this.cells,a=[];for(let l=r;l<=i;l+=1){let c=s[l],u=c.range.start.line+1,d=0,f=c.range.end.line,g=c.range.end.character;c.range.start.line===c.range.end.line&&(u=c.range.start.line,d=e.document.lineAt(u).range.end.character,f=u,g=d),o?a.push(new fe.Selection(u,d,f,g)):a.push(new fe.Selection(f,g,u,d))}e.selections=a}extendSelectionByCellAbove(){let e=fe.window.activeTextEditor;if(!e||!e.selection)return;let t=e.selection,r=this.getStartEndCellIndex(e.selection);if(!r)return;let i=e.selection.anchor.isBefore(e.selection.active),o=this.cells,s=r[0],a=r[1],l=o[s],c=o[a];if(!l.range.start.isEqual(t.start)||!c.range.end.isEqual(t.end)){let u;i?s<a?u=new fe.Selection(l.range.start,o[a-1].range.end):u=new fe.Selection(l.range.end,l.range.start):u=new fe.Selection(c.range.end,l.range.start),e.selection=u}else{let u;i&&s<a?(u=o[a-1],e.selection=new fe.Selection(l.range.start,u.range.end)):s>0&&(u=o[s-1],e.selection=new fe.Selection(c.range.end,u.range.start)),u&&e.revealRange(u.range,fe.TextEditorRevealType.Default)}}extendSelectionByCellBelow(){let e=fe.window.activeTextEditor;if(!e||!e.selection)return;let t=e.selection,r=this.getStartEndCellIndex(e.selection);if(!r)return;let i=e.selection.anchor.isBeforeOrEqual(e.selection.active),o=this.cells,s=r[0],a=r[1],l=o[s],c=o[a];if(!l.range.start.isEqual(t.start)||!c.range.end.isEqual(t.end)){let u;i?u=new fe.Selection(l.range.start,c.range.end):s<a?u=new fe.Selection(o[s+1].range.start,c.range.end):u=new fe.Selection(c.range.start,c.range.end),e.selection=u}else{let u;i||s===a?a<o.length-1&&(u=o[a+1],e.selection=new fe.Selection(l.range.start,u.range.end)):s<a&&(u=o[s+1],e.selection=new fe.Selection(c.range.end,u.range.start)),u&&e.revealRange(u.range,fe.TextEditorRevealType.Default)}}async moveCellsUp(){await this.moveCellsDirection(!0)}async moveCellsDown(){await this.moveCellsDirection(!1)}changeCellToMarkdown(){this.applyToCells((e,t,r)=>this.changeCellTo(e,t,"markdown"))}changeCellToCode(){this.applyToCells((e,t,r)=>this.changeCellTo(e,t,"code"))}gotoNextCell(){let e=fe.window.activeTextEditor;if(!e||!e.selection)return;let t=e.selection,r=this.getCurrentCellLens(t.start),i=this.getNextCellLens(t.start);r&&i&&this.advanceToRange(i.range)}gotoPreviousCell(){let e=fe.window.activeTextEditor;if(!e||!e.selection)return;let t=e.selection,r=this.getCurrentCellLens(t.start),i=this.getPreviousCellLens(t.start);r&&i&&this.advanceToRange(i.range)}applyToCells(e){let t=fe.window.activeTextEditor,r=this.getStartEndCellIndex(t?.selection);if(!t||!r)return;let i=this.cells,o=r[0],s=r[1];for(let a=o;a<=s;a+=1)e(t,i[a],a)}changeCellTo(e,t,r){if(r==="raw")throw Error("Cell Type raw not implemented");if(t.cell_type===r)return;let i=new Xi(this.configService.getSettings(e.document.uri)),o=e.document.lineAt(t.range.start.line),s=e.document.getText(o.range),a=this.getDefaultCellMarker(e.document.uri),l=r==="markdown"?i.codeExecRegEx.exec(s):i.markdownExecRegEx.exec(s);if(!l)return;let c=l[l.length-1],u=r==="markdown"?`${a} [markdown]${c}`:`${a}${c}`;e.edit(async d=>{d.replace(o.range,u),t.cell_type=r,t.range.start.line<t.range.end.line&&(e.selection=new fe.Selection(t.range.start.line+1,0,t.range.end.line,t.range.end.character),fe.commands.executeCommand("editor.action.removeCommentLine").then(h,h),r==="markdown"&&fe.commands.executeCommand("editor.action.addCommentLine").then(h,h))}).then(h,h)}async moveCellsDirection(e){let t=fe.window.activeTextEditor;if(!t||!t.selection)return!1;let r=this.getStartEndCellIndex(t.selection);if(!r)return!1;let i=r[0],o=r[1],s=this.cells,a=s[i],l=s[o];if(!a||!l)return!1;let c=new fe.Range(a.range.start,l.range.end),u=new fe.Range(t.selection.start.line-c.start.line,t.selection.start.character,t.selection.end.line-c.start.line,t.selection.end.character),d=t.selection.active.isBefore(t.selection.anchor),f;if(e){if(i===0)return!1;{let g=s[i-1];f=this.exchangeTextLines(t,g.range,c).then(I=>(I&&(t.selection=new fe.Selection(g.range.start.line+u.start.line,u.start.character,g.range.start.line+u.end.line,u.end.character)),I))}}else{if(o===s.length-1)return!1;{let g=s[o+1],b=this.exchangeTextLines(t,c,g.range),I=g.range.end.line-g.range.start.line,E=c.end.line-c.start.line,x=I-E;f=b.then(A=>(A&&(t.selection=new fe.Selection(g.range.start.line+x+u.start.line,u.start.character,g.range.start.line+x+u.end.line,u.end.character)),A))}}return f.then(g=>(g&&d&&(t.selection=new fe.Selection(t.selection.active,t.selection.anchor)),!0))}exchangeTextLines(e,t,r){let i=t.start.line,o=t.end.line,s=r.start.line,a=r.end.line;if(o>=s)throw RangeError(`Above lines must be fully above not ${o} <= ${s}`);let l=new fe.Range(i,0,o,e.document.lineAt(o).range.end.character),c=e.document.getText(l),u=new fe.Range(s,0,a,e.document.lineAt(a).range.end.character),d=e.document.getText(u),f="";if(o+1<s){let I=o+1,E=s-1,x=new fe.Range(I,0,E,e.document.lineAt(E).range.end.character);f=`${e.document.getText(x)}
|
||
`}let g=`${d}
|
||
${f}${c}`,b=new fe.Range(l.start,u.end);return e.edit(I=>{I.replace(b,g),this.codeLensUpdatedEvent.fire()})}getStartEndCells(e){let t=this.getStartEndCellIndex(e);if(t){let r=this.getCellFromIndex(t[0]),i=this.getCellFromIndex(t[1]);return[r,i]}}getStartEndCellIndex(e){if(!e)return;let t=this.getCellIndex(e.start),r=t;if(e.start.line!==e.end.line&&(r=this.getCellIndex(e.end)),t===-1){if(r===-1)return;{t=0;let i=this.getCellFromIndex(0);if(e.start.line>i.range.start.line)throw RangeError(`Should not be able to pick a range with an end in a cell and start after a cell. ${e.start.line} > ${i.range.end.line}`)}}if(t>=0&&r>=0)return[t,r]}insertCell(e,t){let r=this.getDefaultCellMarker(e.document.uri),i=t>=e.document.lineCount?`
|
||
${r}
|
||
`:`${r}
|
||
|
||
`,o=new fe.Position(t,0),s=new fe.Position(t+1,0);e.edit(a=>{a.insert(o,i),this.codeLensUpdatedEvent.fire()}).then(h,h),e.selection=new fe.Selection(s,s)}getDefaultCellMarker(e){return this.configService.getSettings(e).defaultCellMarker||je.DefaultCodeCellMarker}onCodeLensFactoryUpdated(){this.document&&(this.codeLenses=this.codeLensFactory.createCodeLenses(this.document),this.cells=this.codeLensFactory.getCellRanges(this.document)),this.codeLensUpdatedEvent.fire()}onDocumentClosed(e){this.document&&vi(e.uri,this.document.uri)&&z(this.disposables)}ondidCloseNotebook(e){e.notebookType===ft&&this.configService.getSettings(this.document?.uri).addGotoCodeLenses&&this.onCodeLensFactoryUpdated()}getActiveInteractiveWindow(){return this.interactiveWindowProvider.getOrCreate(this.document?.uri)}async addCode(e,t,r,i,o){let s=!1;try{o?s=await e.debugCode(t,r,i):s=await e.addCode(t,r,i)}catch(a){a instanceof Cf||await this.dataScienceErrorHandler.handleError(a)}return s}async runMatchingCell(e,t,r){let i=this.getCurrentCellLens(e.start),o=this.getNextCellLens(e.start);if(i&&this.document){let s=sh(this.document.getText(i.range));if(t){let l=fe.window.activeTextEditor,{newCellOnRunLast:c}=this.configService.getSettings(this.document.uri),u=new Xi(this.configService.getSettings(this.document.uri));o?this.advanceToRange(o.range):c&&l&&!u.isEmptyCell(s)&&this.insertCell(l,i.range.end.line+1)}let a=await this.getActiveInteractiveWindow();await this.addCode(a,s,this.document.uri,i.range.start.line,r)}}getCellIndex(e){return this.cells.findIndex(t=>e&&t.range.contains(e))}getCellFromIndex(e){let t=this.cells,r=Qpe(e,t.length);return t[r]}getCellFromPosition(e){if(!e){let t=fe.window.activeTextEditor;t&&t.selection&&(e=t.selection.active)}if(e){let t=this.getCellIndex(e);if(t>=0)return this.cells[t]}}getCurrentCellLens(e){return this.codeLenses.find(t=>t.range.contains(e)&&t.command!==void 0&&t.command.command===B.RunCell)}getNextCellLens(e){let t=this.codeLenses.findIndex(r=>r.range.contains(e)&&r.command!==void 0&&r.command.command===B.RunCell);if(t>=0)return this.codeLenses.find((r,i)=>r.command!==void 0&&r.command.command===B.RunCell&&i>t)}getPreviousCellLens(e){let t=this.codeLenses.findIndex(r=>r.range.contains(e)&&r.command!==void 0&&r.command.command===B.RunCell);if(t>=1)return this.codeLenses.find((r,i)=>r.command!==void 0&&i<t&&i+1===t)}async runFileAsOneCell(e){if(this.document){let t=await this.getActiveInteractiveWindow(),r=this.document.getText();await this.addCode(t,r,this.document.uri,0,e)}}advanceToRange(e){let t=fe.window.activeTextEditor,r=new fe.Selection(e.start,e.start);t&&(t.selection=r,t.revealRange(e,fe.TextEditorRevealType.Default))}};v([Hr("DATASCIENCE.DEBUG_CURRENT_CELL")],qt.prototype,"debugCurrentCell",1),v([Hr("DATASCIENCE.RUN_ALL_CELLS")],qt.prototype,"runAllCells",1),v([Hr("DATASCIENCE.RUN_FILE_INTERACTIVE")],qt.prototype,"runFileInteractive",1),v([Hr("DATASCIENCE.DEBUG_FILE_INTERACTIVE")],qt.prototype,"debugFileInteractive",1),v([Hr("DATASCIENCE.RUN_ALL_CELLS_ABOVE")],qt.prototype,"runAllCellsAbove",1),v([Hr("DATASCIENCE.RUN_CELL_AND_ALL_BELOW")],qt.prototype,"runCellAndAllBelow",1),v([Hr("DATASCIENCE.RUN_SELECTION_OR_LINE")],qt.prototype,"runSelectionOrLine",1),v([Hr("DATASCIENCE.RUN_TO_LINE")],qt.prototype,"runToLine",1),v([Hr("DATASCIENCE.RUN_FROM_LINE")],qt.prototype,"runFromLine",1),v([Zn("CodeWatcher::runCell",4)],qt.prototype,"runCell",1),v([Hr("DATASCIENCE.DEBUG_CURRENT_CELL")],qt.prototype,"debugCell",1),v([Hr("DATASCIENCE.RUN_CURRENT_CELL")],qt.prototype,"runCurrentCell",1),v([Hr("DATASCIENCE.RUN_CURRENT_CELL_AND_ADVANCE")],qt.prototype,"runCurrentCellAndAdvance",1),v([or("DATASCIENCE.RUN_CURRENT_CELL_AND_ADD_BELOW")],qt.prototype,"runCurrentCellAndAddBelow",1),v([or("DATASCIENCE.RUN_INSERT_CELL_BELOW_POSITION")],qt.prototype,"insertCellBelowPosition",1),v([or("DATASCIENCE.RUN_INSERT_CELL_BELOW")],qt.prototype,"insertCellBelow",1),v([or("DATASCIENCE.RUN_INSERT_CELL_ABOVE")],qt.prototype,"insertCellAbove",1),v([or("DATASCIENCE.RUN_DELETE_CELLS")],qt.prototype,"deleteCells",1),v([or("DATASCIENCE.RUN_SELECT_CELL")],qt.prototype,"selectCell",1),v([or("DATASCIENCE.RUN_SELECT_CELL_CONTENTS")],qt.prototype,"selectCellContents",1),v([or("DATASCIENCE.RUN_EXTEND_SELECTION_BY_CELL_ABOVE")],qt.prototype,"extendSelectionByCellAbove",1),v([or("DATASCIENCE.RUN_EXTEND_SELECTION_BY_CELL_BELOW")],qt.prototype,"extendSelectionByCellBelow",1),v([or("DATASCIENCE.RUN_MOVE_CELLS_UP")],qt.prototype,"moveCellsUp",1),v([or("DATASCIENCE.RUN_MOVE_CELLS_DOWN")],qt.prototype,"moveCellsDown",1),v([or("DATASCIENCE.RUN_CHANGE_CELL_TO_MARKDOWN")],qt.prototype,"changeCellToMarkdown",1),v([or("DATASCIENCE.RUN_CHANGE_CELL_TO_CODE")],qt.prototype,"changeCellToCode",1),v([or("DATASCIENCE.GOTO_NEXT_CELL_IN_FILE")],qt.prototype,"gotoNextCell",1),v([or("DATASCIENCE.GOTO_PREV_CELL_IN_FILE")],qt.prototype,"gotoPreviousCell",1),qt=v([(0,yp.injectable)(),m(0,(0,yp.inject)(Ki)),m(1,(0,yp.inject)(ie)),m(2,(0,yp.inject)(hx)),m(3,(0,yp.inject)(Gr)),m(4,(0,yp.inject)(JT))],qt);var Rb=k(N()),Gn=k(require("vscode"));var bp=require("vscode");var Tb=class{constructor(e,t,r){this.configuration=t;this.extensionChecker=r;this.computeDecorations(),e.push(this),e.push(this.configuration.getSettings(void 0).onDidChange(this.settingsChanged,this)),e.push(Gn.window.onDidChangeActiveTextEditor(this.changedEditor,this)),e.push(Gn.window.onDidChangeTextEditorSelection(this.changedSelection,this)),e.push(Gn.workspace.onDidChangeTextDocument(this.changedDocument,this)),this.settingsChanged()}activate(){}dispose(){this.timer&&clearTimeout(this.timer)}settingsChanged(){Gn.window.activeTextEditor&&this.triggerUpdate(Gn.window.activeTextEditor)}changedEditor(){this.triggerUpdate(void 0)}changedDocument(e){Gn.window.activeTextEditor&&e.document===Gn.window.activeTextEditor.document&&this.triggerUpdate(bp.window.activeTextEditor)}changedSelection(e){e.textEditor&&e.textEditor.selection.anchor&&this.triggerUpdate(e.textEditor)}triggerUpdate(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>this.update(e),100)}computeDecorations(){this.currentCellTopUnfocused=bp.window.createTextEditorDecorationType({borderColor:new Gn.ThemeColor("interactive.inactiveCodeBorder"),borderWidth:"2px 0px 0px 0px",borderStyle:"solid",isWholeLine:!0}),this.currentCellBottomUnfocused=bp.window.createTextEditorDecorationType({borderColor:new Gn.ThemeColor("interactive.inactiveCodeBorder"),borderWidth:"0px 0px 1px 0px",borderStyle:"solid",isWholeLine:!0}),this.currentCellTop=bp.window.createTextEditorDecorationType({borderColor:new Gn.ThemeColor("interactive.activeCodeBorder"),borderWidth:"2px 0px 0px 0px",borderStyle:"solid",isWholeLine:!0}),this.currentCellBottom=bp.window.createTextEditorDecorationType({borderColor:new Gn.ThemeColor("interactive.activeCodeBorder"),borderWidth:"0px 0px 1px 0px",borderStyle:"solid",isWholeLine:!0})}cellDecorationEnabled(e){return e.decorateCells===!1?!1:e.decorateCells==="currentCell"||e.decorateCells==="allCells"}update(e){let t=e===void 0?bp.window.visibleTextEditors:[e];for(let r of t)if(r&&r.document&&r.document.languageId===ge&&!Lh(r.document)&&this.currentCellTop&&this.currentCellBottom&&this.currentCellTopUnfocused&&this.currentCellBottomUnfocused&&this.extensionChecker.isPythonExtensionInstalled){let i=this.configuration.getSettings(r.document.uri);if(this.cellDecorationEnabled(i)){let o=Dw(r.document,i),s=o.map(u=>u.range).filter(u=>u.contains(r.selection.anchor)),a=s.length>0?[new Gn.Range(s[0].start,s[0].start)]:[],l=i.decorateCells!=="allCells"&&s.length>0?[new Gn.Range(s[0].end,s[0].end)]:[],c=[];i.decorateCells==="allCells"&&o.forEach(u=>{let d=u.range.start;d!==s[0].start&&c.push(new Gn.Range(d,d))}),bp.window.activeTextEditor===r?(r.setDecorations(this.currentCellTop,a),r.setDecorations(this.currentCellBottom,l),r.setDecorations(this.currentCellTopUnfocused,c),r.setDecorations(this.currentCellBottomUnfocused,[])):(r.setDecorations(this.currentCellTop,[]),r.setDecorations(this.currentCellBottom,[]),r.setDecorations(this.currentCellTopUnfocused,[...c,...a]),r.setDecorations(this.currentCellBottomUnfocused,l))}else r.setDecorations(this.currentCellTop,[]),r.setDecorations(this.currentCellBottom,[]),r.setDecorations(this.currentCellTopUnfocused,[]),r.setDecorations(this.currentCellBottomUnfocused,[])}}};Tb=v([(0,Rb.injectable)(),m(0,(0,Rb.inject)(M)),m(1,(0,Rb.inject)(ie)),m(2,(0,Rb.inject)(Be))],Tb);var yH=k(N()),bH=require("vscode");var ZT=class{constructor(){this.codeGeneratorsByFile=new mo}clear(){this.codeGeneratorsByFile.clear()}get all(){return[...this.codeGeneratorsByFile.entries()].map(e=>({uri:e[0],generatedCodes:e[1].filter(t=>!t.deleted)})).filter(e=>e.generatedCodes.length>0)}getFileGeneratedCode(e){return this.codeGeneratorsByFile.get(e)||[]}store(e,t){let r=this.codeGeneratorsByFile.get(e)||[],i=!1;for(let o=0;o<r.length&&!i;o+=1){let s=r[o];t.line>=s.line&&t.line<=s.endLine?(r.splice(o,1,t),i=!0):s.line>t.line&&(r.splice(o,0,t),i=!0)}i||r.push(t),this.codeGeneratorsByFile.set(e,r)}};var Ab=class{constructor(){this.storages=new WeakMap}getOrCreate(e){return this.storages.has(e)||this.storages.set(e,new ZT),this.storages.get(e)}get(e){if("notebook"in e)return this.storages.get(e.notebook);{let t=bH.workspace.notebookDocuments.find(r=>this.storages.get(r)?.all.find(o=>o.uri.toString()===e.fileUri.toString()));return t?this.storages.get(t):void 0}}};Ab=v([(0,yH.injectable)()],Ab);var vu=k(N()),Mb=k(require("vscode"));var Nb=class{constructor(e,t,r,i){this.variableProvider=e;this.interactiveProvider=t;this.disposables=r;this.kernelProvider=i;this.runFiles=new Set;this.stopWatch=new Ue;this.delayer=new cs(300)}activate(){this.onDidChangeNotebookCellExecutionStateHandler=er.onDidChangeNotebookCellExecutionState(e=>this.delayer.trigger(()=>this.onDidChangeNotebookCellExecutionState(e)).catch(h),this),this.kernelProvider.onDidRestartKernel(()=>this.runFiles.clear(),this,this.disposables)}dispose(){this.delayer.dispose(),this.onDidChangeNotebookCellExecutionStateHandler.dispose(),this.hoverProviderRegistration&&this.hoverProviderRegistration.dispose()}async onDidChangeNotebookCellExecutionState(e){try{if(e.cell.notebook.notebookType!==ft)return;let t=this.runFiles.size,r=rs(e.cell);r!==void 0&&this.runFiles.add(r.interactive.uristring),t!==this.runFiles.size&&(this.initializeHoverProvider(),this.onDidChangeNotebookCellExecutionStateHandler.dispose())}catch(t){p.error(t)}}async provideHover(e,t,r){this.stopWatch.reset();let i=await fr(300,this.getVariableHover(e,t,r));return R("DS_INTERNAL.INTERACTIVE_FILE_TOOLTIPS_PERF",{duration:this.stopWatch.elapsedTime},{isResultNull:!!i}),i}initializeHoverProvider(){this.hoverProviderRegistration||(this.hoverProviderRegistration=Mb.languages.registerHoverProvider(sU,this))}async getVariableHover(e,t,r){let i=e.getWordRangeAtPosition(t);if(i){let o=e.getText(i);if(o){let s=this.getMatchingKernels(e);if(s.length){let a=await Xt(r,{},...s.map(c=>this.variableProvider.getVariableProperties(o,c,r))),l=Object.entries(a||{});if(l.length>0){let c=l.reduce((d,f)=>d+`${f[0]}: ${f[1]}
|
||
`,"```\n")+"```";return{contents:[new Mb.MarkdownString(c)]}}}}}}getMatchingKernels(e){let t=this.interactiveProvider.get(e.uri)?.notebookUri;if(!t)return[];let r=new Set;return Mb.workspace.notebookDocuments.filter(i=>t?.toString()===i.uri.toString()).forEach(i=>{let o=this.kernelProvider.get(i);o&&r.add(o)}),Array.from(r)}};Nb=v([(0,vu.injectable)(),m(0,(0,vu.inject)(yn)),m(0,(0,vu.named)(je.KERNEL_VARIABLES)),m(1,(0,vu.inject)(Ki)),m(2,(0,vu.inject)(M)),m(3,(0,vu.inject)(De))],Nb);var xo=k(N()),jr=require("vscode");var Rt=require("vscode");var IH=k(Io());var wf=class{constructor(e,t,r,i,o){this.serviceContainer=e;this._owner=t;this.controllerFactory=r;this.inputUri=o;this._onDidChangeViewState=new Rt.EventEmitter;this.closedEvent=new Rt.EventEmitter;this._submitters=[];this.internalDisposables=[];this.fs=this.serviceContainer.get(tt),this.configuration=this.serviceContainer.get(ie),this.jupyterExporter=this.serviceContainer.get(tg),this.interactiveWindowDebugger=this.serviceContainer.tryGet(BT),this.errorHandler=this.serviceContainer.get(Gr),this.codeGeneratorFactory=this.serviceContainer.get(Pb),this.storageFactory=this.serviceContainer.get(Bs),this.kernelProvider=this.serviceContainer.get(De),this.debuggingManager=this.serviceContainer.get(qT),this.notebookUri=Tw(i)?i.input.uri:i.notebook.uri,this._owner&&this._submitters.push(this._owner),Rt.window.onDidChangeActiveNotebookEditor(s=>{s?.notebook.uri.toString()===this.notebookUri.toString()&&this._onDidChangeViewState.fire()},this.internalDisposables),Rt.workspace.onDidCloseNotebookDocument(s=>{s.uri.toString()===this.notebookUri.toString()&&this.closedEvent.fire()},this.internalDisposables),Rt.window.activeNotebookEditor?.notebook.uri.toString()===this.notebookUri.toString()&&this._onDidChangeViewState.fire(),this.cellMatcher=new Xi(this.configuration.getSettings(this.owningResource)),this.notebookDocument&&this.codeGeneratorFactory.getOrCreate(this.notebookDocument)}get onDidChangeViewState(){return this._onDidChangeViewState.event}get closed(){return this.closedEvent.event}get owner(){return this._owner}get submitters(){return this._submitters}get notebookDocument(){return this._notebookDocument||(this._notebookDocument=Rt.workspace.notebookDocuments.find(e=>e.uri.toString()===this.notebookUri.toString())),this._notebookDocument}get kernelConnectionMetadata(){return this.controller?.metadata}notifyConnectionReset(){if(this.notebookDocument)this.controller||(this.controller=this.initController(this.notebookDocument)),this.controller.setInfoMessageCell(y.noKernelConnected);else{let e=Rt.workspace.onDidOpenNotebookDocument(t=>{t.uri.toString()===this.notebookUri.toString()&&(this._notebookDocument=t,this.controller=this.initController(t),this.internalDisposables.push(this.controller.listenForControllerSelection()),this.controller.setInfoMessageCell(y.noKernelConnected),e.dispose())})}}initController(e){let t=this.controllerFactory.create(e,this.errorHandler,this.kernelProvider,this._owner);return this.internalDisposables.push(t.listenForControllerSelection()),t}async ensureInitialized(){if(!this.notebookDocument&&(p.debug("Showing Interactive editor to initialize codeGenerator from notebook document"),await this.showInteractiveEditor(),!this.notebookDocument))throw new Error("Could not open notebook document for Interactive Window");this.codeGeneratorFactory.get(this.notebookDocument)||this.codeGeneratorFactory.getOrCreate(this.notebookDocument),this.controller||(this.controller=this.initController(this.notebookDocument)),this.controller.controller?this.controller.startKernel().catch(h):(p.info("No controller selected for Interactive Window initialization"),this.controller.setInfoMessageCell(y.selectKernelForEditor))}async showInteractiveEditor(){let e;Rt.window.tabGroups.all.find(i=>{i.tabs.find(o=>{Tw(o)&&o.input.uri.toString()==this.notebookUri.toString()&&(e=o)})});let t=this.notebookDocument||await this.openNotebookDocument();return await Rt.window.showNotebookDocument(t,{preserveFocus:!0,viewColumn:e?.group.viewColumn})}async openNotebookDocument(){return p.debug(`Opening notebook document ${this.notebookUri}`),await Rt.workspace.openNotebookDocument(this.notebookUri)}dispose(){this.internalDisposables.forEach(e=>e.dispose()),this.controller?.disconnect()}async showErrorForCell(e,t){let r=this.controller?.controller,i=Dh(e);if(r&&i&&t){let o=Pi.getOrCreate(t,new cf(r));try{await o.appendOutput(i)}catch(s){p.warn(`Could not append error message "${i}" to cell: ${s}`)}finally{o.end(!1,t.executionSummary?.timing?.endTime)}}else p.info(`Could not append error message to cell "${i}"`)}changeMode(e){this.controller?.updateMode(e)}async addCode(e,t,r){return this.submitCode(e,t,r,!1)}useNewDebugMode(){return!!(this.configuration.getSettings(this.owner).forceIPyKernelDebugger||this.controller?.metadata&&!ct(this.controller.metadata))}async debugCode(e,t,r){let i=!0,o=Rt.workspace.textDocuments.find(a=>this.fs.arePathsSame(a.uri,t));if(!this.useNewDebugMode()&&o&&o.isUntitled){let a=[...Rt.workspace.textDocuments];if(i=await o.save(),i){let l=Rt.workspace.textDocuments.filter(c=>a.indexOf(c)===-1);l&&l.length>0&&(t=(l.find(u=>u.languageId==="python")||l.find(u=>!u.fileName.endsWith(".interactive"))||l[0]).uri,await Rt.workspace.openTextDocument(t))}}let s=!0;return i?this.submitCode(e,t,r,!0):s}async submitCode(e,t,r,i){if(this.cellMatcher.isEmptyCell(e)||!this.controller?.controller)return!0;this.updateOwners(t);let o=Oe(e,{trim:!1}),s=new Xi(this.configuration.getSettings(t)),a=-1;s.isMarkdown(o[0])&&nm(o,(u,d)=>void 0,(u,d)=>{u&&u.length>0&&a===-1&&(a=d)});let c=(a>0?[o.slice(0,a).join(`
|
||
`),o.slice(a).join(`
|
||
`)]:[e]).map(u=>{let d=re();this.controller.setPendingCellAdd(d.promise);let f=this.addNotebookCell(u,t,r),g=this.createExecutionPromise(f,i);return g.catch(b=>{b instanceof Cf?f.then(I=>{b.cell!==I&&this.showErrorForCell(y.cellStopOnErrorMessage,I).then(h,h)}).catch(h):f.then(I=>this.errorHandler.getErrorMessageForDisplayInCell(b,"execution",this.owningResource).then(E=>this.showErrorForCell(E,I))).catch(h)}).finally(()=>{d?.resolve()}),g});return c[c.length-1]}async createExecutionPromise(e,t){if(!this.controller||!this.notebookDocument)return!1;p.ci("InteractiveWindow.ts.createExecutionPromise.start");let r=this.controller.startKernel(),i=await e,o=!0,s=async()=>void 0;try{let a=await r;await this.generateCodeAndAddMetadata(i,t,a),t&&this.useNewDebugMode()?await this.debuggingManager.start(this.notebookDocument,i):t&&ct(a.kernelConnectionMetadata)&&this.interactiveWindowDebugger&&(s=async()=>this.interactiveWindowDebugger?.detach(a),await this.interactiveWindowDebugger.attach(a),await this.interactiveWindowDebugger.updateSourceMaps(this.storageFactory.get({notebook:i.notebook})?.all||[]),this.interactiveWindowDebugger.enable(a)),p.ci("InteractiveWindow.ts.createExecutionPromise.kernel.executeCell");let l=rs(i);o=await this.kernelProvider.getKernelExecution(a).executeCell(i,l?.generatedCode?.code).then(()=>!0,()=>!1),p.ci("InteractiveWindow.ts.createExecutionPromise.kernel.executeCell.finished")}finally{await s(),p.ci("InteractiveWindow.ts.createExecutionPromise.end")}if(!o)throw new Cf(i);return o}async expandAllCells(){this.notebookDocument&&await Promise.all(this.notebookDocument.getCells().map(async(e,t)=>{await Rt.commands.executeCommand("notebook.cell.expandCellInput",{ranges:[{start:t,end:t+1}],document:this.notebookUri})}))}async collapseAllCells(){this.notebookDocument&&await Promise.all(this.notebookDocument.getCells().map(async(e,t)=>{e.kind===Rt.NotebookCellKind.Code&&await Rt.commands.executeCommand("notebook.cell.collapseCellInput",{ranges:[{start:t,end:t+1}],document:this.notebookUri})}))}async scrollToCell(e){let t=await this.showInteractiveEditor(),r=t.notebook.getCells().find(i=>rs(i)?.id===e);if(r){let i=new Rt.NotebookRange(r.index,r.index+1);t.revealRange(i,Rt.NotebookEditorRevealType.Default),t.selection=i}}async hasCell(e){let t=this.notebookDocument;return!!t&&t.getCells().some(r=>rs(r)?.id===e)}get owningResource(){if(this.owner)return this.owner;let e=ll();if(e)return e}updateOwners(e){this._owner||(this._owner=e,this.controller?.updateOwners(e)),this._submitters.find(t=>t.toString()==e.toString())||this._submitters.push(e)}async addNotebookCell(e,t,r){let i=this.notebookDocument;if(!i)throw new Error("No notebook document");let o=this.configuration.getSettings(this.owningResource),s=this.cellMatcher.getCellType(e)===aS,a=s?LP(Oe(e)).join(""):gH(e,o,this.cellMatcher),l=this.cellMatcher.getFirstMarker(e),c=Rt.workspace.textDocuments.find(b=>b.uri.toString()===this.owner?.toString())?.languageId??ge,u=new Rt.NotebookCellData(s?Rt.NotebookCellKind.Markup:Rt.NotebookCellKind.Code,a,s?aS:c),d={uristring:t.toString(),lineIndex:r,originalSource:e},f={interactiveWindowCellMarker:l,interactive:d,id:(0,IH.default)()};u.metadata=f,await Zl(i,b=>{let I=Rt.NotebookEdit.insertCells(i.cellCount,[u]);b.set(i.uri,[I])});let g=i.cellCount-1;return i.cellAt(g)}async generateCodeAndAddMetadata(e,t,r){let i=rs(e);if(!i)return;let o=!ct(r.kernelConnectionMetadata)||this.configuration.getSettings(void 0).forceIPyKernelDebugger,s=await this.codeGeneratorFactory.getOrCreate(this.notebookDocument).generateCode(i,e.index,t,o),a={...i,generatedCode:s},l=new Rt.WorkspaceEdit,c=Rt.NotebookEdit.updateCellMetadata(e.index,a);l.set(e.notebook.uri,[c]),await Rt.workspace.applyEdit(l)}async export(){if(!this.notebookDocument)throw new Error("no notebook to export.");let e=fH(this.notebookDocument),t=await new xa().showDialog("ipynb",this.owningResource);t&&await this.jupyterExporter?.exportToFile(e,ke(t))}async exportAs(){if(await this.ensureInitialized(),!this.controller)throw new Error("An active kernel is required to export the notebook.");let e=this.controller.kernel?.value,t;if(this.submitters&&this.submitters.length){let r=this.submitters[this.submitters.length-1];t=Ce(r.path,Wi(r.path))}tn()?Rt.commands.executeCommand(B.ExportAsPythonScript,this.notebookDocument,e?.kernelConnectionMetadata.interpreter).then(h,h):Rt.commands.executeCommand(B.Export,this.notebookDocument,t,e?.kernelConnectionMetadata.interpreter).then(h,h)}};v([vR()],wf.prototype,"showErrorForCell",1),v([vR()],wf.prototype,"createExecutionPromise",1);function SH(n){return y.interactiveWindowTitleFormat(Ce(n.path))}var VO=class{constructor(e,t,r,i,o,s,a){this.controllerService=e;this.mode=t;this.notebook=r;this.errorHandler=i;this.kernelProvider=o;this.owner=s;this.disposables=[];this.controller=a?.controller,this.metadata=a?.connection}updateMode(e){this.mode=e}updateOwners(e){this.owner=e}async startKernel(){if(this.connectingListener?.dispose(),this.kernel)return this.kernel.promise;if(!this.controller||!this.metadata)throw new Error("Interactive Window kernel not selected");this.setInfoMessage(this.metadata,0);try{let e=await this.createKernel(),t=async()=>{this.notebook&&this.metadata&&(this.systemInfoCell=void 0,this.setInfoMessage(this.metadata,1))};return this.disposables.push(e.addHook("willRestart",t)),e.onRestarted(async()=>{p.debug("Restart event handled in IW"),this.fileInKernel=void 0;try{await this.setFileInKernel(e)}catch{p.error("Failed to run initialization after restarting")}finally{this.finishSysInfoMessage(e,1)}},this,this.disposables),this.fileInKernel=void 0,await this.setFileInKernel(e),this.finishSysInfoMessage(e,0),e}catch(e){throw this.owner?this.deleteSysInfoCell():await this.finishSysInfoWithFailureMessage(e),e}}async createKernel(){if(this.kernel)return this.kernel.promise;if(!this.controller||!this.metadata)throw new Error("Controller not selected");let e=re();e.promise.catch(h),this.kernel=e;try{let{kernel:t,actualController:r}=await this.controllerService.createKernel(this.metadata,this.controller,this.owner,this.notebook,this.disposables);return this.metadata=t.kernelConnectionMetadata,this.controller=r,this.disposables.push(t),e.resolve(t),t}catch(t){throw e.reject(t),this.disconnect(),t}}async setFileInKernel(e){let t=this.owner;if(!t){p.ci("Unable to run initialization for IW");return}let r=ke(t),i=this.kernelProvider.getKernelExecution(e);this.mode==="perFile"&&!this.fileInKernel?(p.debug(`Initializing __file__ in setFileInKernel with ${t} for mode ${this.mode}`),this.fileInKernel=t,await i.executeHidden(`__file__ = '${r.replace(/\\/g,"\\\\")}'`)):(!this.fileInKernel||this.fileInKernel.toString()!==t.toString())&&this.mode!=="perFile"?(p.debug(`Initializing __file__ in setFileInKernel with ${t} for mode ${this.mode}`),this.fileInKernel=t,await i.executeHidden(`__file__ = '${r.replace(/\\/g,"\\\\")}'`)):p.debug(`Not Initializing __file__ in setFileInKernel with ${r} for mode ${this.mode} currently ${this.fileInKernel}`)}setPendingCellAdd(e){this.metadata&&this.notebook&&this.controllerService.getRegisteredController(this.metadata)?.setPendingCellAddition(this.notebook,e)}listenForControllerSelection(){return this.controllerService.onControllerSelected(e=>{if(!(!this.notebook||e.notebook.uri.toString()!==this.notebook?.uri?.toString())&&e.controller.id!==this.controller?.id){let t=!!this.kernel;this.disconnect(),this.controller=e.controller.controller,this.metadata=e.controller.connection,t?this.startKernel().catch(h):(this.connectingListener?.dispose(),this.connectingListener=e.controller.onConnecting(()=>{this.startKernel().catch(h)}),this.disposables.push(this.connectingListener))}},this)}setInfoMessageCell(e){this.systemInfoCell?this.systemInfoCell.updateMessage(e).catch(t=>p.warn(`could not update info cell with message: "${e}", error: ${t}`)):this.systemInfoCell=new zT(this.notebook,e)}setInfoMessage(e,t){let r=cH(e,t);this.setInfoMessageCell(r)}finishSysInfoMessage(e,t){let r=uH(e.kernelConnectionMetadata,t);this.systemInfoCell?.updateMessage(r).catch(i=>p.warn(`System info message was not updated: "${r}" because of error: ${i}`)),this.systemInfoCell=void 0}async finishSysInfoWithFailureMessage(e){let t=await this.errorHandler.getErrorMessageForDisplayInCell(e,"start",this.owner);t=t.split(`
|
||
`).join(`
|
||
`),this.systemInfoCell?.updateMessage(t).catch(r=>p.warn(`System info message was not updated: "${t}" because of error: ${r}`)),this.systemInfoCell=void 0}deleteSysInfoCell(){this.systemInfoCell?.deleteCell().then(h,h),this.systemInfoCell=void 0}disconnect(){this.disposables.forEach(e=>e.dispose()),this.disposables=[],this.kernel=void 0}},Rw=class{constructor(e,t,r){this.controllerService=e;this.mode=t;this.initialController=r}create(e,t,r,i){let o=this.initialController,s=this.controllerService.getSelectedController(e);return s&&(o=s),new VO(this.controllerService,this.mode,e,t,r,i,o)}};var CH="ds_asked_per_file_interactive",wH="ds_interactive_window_cache",Kb=class{constructor(e,t,r,i,o,s,a,l){this.serviceContainer=e;this.disposables=t;this.fs=r;this.configService=i;this.globalMemento=o;this.workspaceMemento=s;this.notebookEditorProvider=a;this.controllerHelper=l;this._onDidChangeActiveInteractiveWindow=new jr.EventEmitter;this._windows=[];this.notebookEditorProvider.registerEmbedNotebookProvider(this),this.restoreWindows()}get onDidChangeActiveInteractiveWindow(){return this._onDidChangeActiveInteractiveWindow.event}get activeWindow(){let e=jr.window.activeNotebookEditor?.notebook.uri.toString();return e?this._windows.find(t=>t.notebookUri?.toString()===e):void 0}restoreWindows(){let e=new Map;jr.window.tabGroups.all.forEach(t=>{t.tabs.forEach(r=>{Tw(r)&&r.input.uri&&e.set(r.input.uri.toString(),r)})}),this.workspaceMemento.get(wH,[]).forEach(t=>{if(!t.uriString||!e.get(t.uriString))return;let r=e.get(t.uriString);if(!r)return;let i=this.configService.getSettings(r.input.uri).interactiveWindowMode,o=new wf(this.serviceContainer,jr.Uri.parse(t.owner),new Rw(this.controllerHelper,i),r,jr.Uri.parse(t.inputBoxUriString));o.notifyConnectionReset(),this._windows.push(o),R("DS_INTERNAL.CREATED_INTERACTIVE_WINDOW",{windowCount:this._windows.length},{hasKernel:!1,hasOwner:!!t.owner,mode:i,restored:!0});let s=o.closed(this.onInteractiveWindowClosed.bind(this,o));this.disposables.push(o),this.disposables.push(s),this.disposables.push(o.onDidChangeViewState(this.raiseOnDidChangeActiveInteractiveWindow.bind(this)))}),this._updateWindowCache()}async getOrCreate(e,t){if(!jr.workspace.isTrusted)throw new Error("Workspace not trusted");let r=await this.getInteractiveMode(e);this.pendingCreations&&await this.pendingCreations.catch(h);let i=this.getExisting(e,r,t);return i||(i=await this.create(e,r,t)),await i.ensureInitialized(),i}get(e){let t=this.configService.getSettings(e).interactiveWindowMode;return this.getExisting(e,t)}async create(e,t,r){let i=re();this.pendingCreations=i.promise;try{let o=await this.controllerHelper.getInitialController(e,r);p.info(`Starting interactive window for resource '${j(e)}' with controller '${o?.id}'`);let[s,a]=await this.createEditor(o,e,t);o&&o.controller.updateNotebookAffinity(a.notebook,jr.NotebookControllerAffinity.Preferred),p.debug(`Interactive Window Editor Created: ${a.notebook.uri.toString()} with input box: ${s.toString()}`);let l=new wf(this.serviceContainer,e,new Rw(this.controllerHelper,t,o),a,s);this._windows.push(l),R("DS_INTERNAL.CREATED_INTERACTIVE_WINDOW",{windowCount:this._windows.length},{hasKernel:!!o,hasOwner:!!e,mode:t,restored:!1}),this._updateWindowCache(),this.lastActiveInteractiveWindow=l;let c=l.closed(this.onInteractiveWindowClosed.bind(this,l));return this.disposables.push(l),this.disposables.push(c),this.disposables.push(l.onDidChangeViewState(this.raiseOnDidChangeActiveInteractiveWindow.bind(this))),l}finally{i.resolve()}}async createEditor(e,t,r){let i=e?`${Fe}/${e.id}`:void 0,o=t!==void 0,s=this.getInteractiveViewColumn(t),{inputUri:a,notebookEditor:l}=await jr.commands.executeCommand("interactive.open",{viewColumn:s,preserveFocus:o},void 0,i,t&&r==="perFile"?SH(t):void 0);if(!l)throw new Error("Failed to request creation of interactive window from VS Code.");return[a,l]}getInteractiveViewColumn(e){if(e)return jr.ViewColumn.Beside;let t=this.configService.getSettings(e).interactiveWindowViewColumn;return t==="secondGroup"?jr.ViewColumn.One:t==="active"?jr.ViewColumn.Active:jr.ViewColumn.Beside}async getInteractiveMode(e){let t=this.configService.getSettings(e).interactiveWindowMode;if(t==="multiple"&&e&&!this.globalMemento.get(CH)&&this._windows.length===1&&(!this._windows[0].owner||!this.fs.arePathsSame(this._windows[0].owner,e))){this.globalMemento.update(CH,!0).then(h,h);let r=[y.interactiveWindowModeBannerSwitchYes,y.interactiveWindowModeBannerSwitchNo];await jr.window.showInformationMessage(y.interactiveWindowModeBannerTitle,...r)===r[0]&&(t="perFile",this._windows[0].changeMode(t),await this.configService.updateSetting("interactiveWindow.creationMode",t,e,jr.ConfigurationTarget.Global))}return t}_updateWindowCache(){let e=this._windows.map(t=>({owner:t.owner?.toString(),uriString:t.notebookUri.toString(),inputBoxUriString:t.inputUri.toString()}));this.workspaceMemento.update(wH,e).then(h,h)}getExisting(e,t,r){return t==="single"?this._windows.length>0?this._windows[0]:void 0:t==="multiple"?e?this.activeWindow||this.lastActiveInteractiveWindow||this._windows[0]:void 0:this._windows.find(i=>!e&&!i.owner&&!r?!0:e&&i.owner&&this.fs.arePathsSame(e,i.owner)?!r||i.kernelConnectionMetadata?.id===r.id:!1)}raiseOnDidChangeActiveInteractiveWindow(){this.lastActiveInteractiveWindow=this.activeWindow?this.activeWindow:this.lastActiveInteractiveWindow,this._onDidChangeActiveInteractiveWindow.fire(this.activeWindow)}onInteractiveWindowClosed(e){p.debug(`Closing interactive window: ${e.notebookUri?.toString()}`),e.dispose(),this._windows=this._windows.filter(t=>t!==e),this._updateWindowCache(),this.lastActiveInteractiveWindow===e&&(this.lastActiveInteractiveWindow=this._windows[0]),this.raiseOnDidChangeActiveInteractiveWindow()}getActiveOrAssociatedInteractiveWindow(){if(this.activeWindow)return this.activeWindow;if(jr.window.activeTextEditor===void 0)return;let e=jr.window.activeTextEditor.document.uri;if(e.scheme!==bc)return this.get(e)}findNotebookEditor(e){let t;if(e&&e.path.endsWith(".interactive"))t=this.get(e)?.notebookDocument;else{let r=this.configService.getSettings(e).interactiveWindowMode;t=this.getExisting(e,r)?.notebookDocument}return t?jr.window.visibleNotebookEditors.find(r=>r.notebook===t):void 0}findAssociatedNotebookDocument(e){return this._windows.find(i=>i.inputUri?.toString()===e.toString())?.notebookDocument}getInteractiveWindowWithNotebook(e){let t;return e!==void 0?t=this._windows.find(r=>r.notebookUri?.toString()===e.toString()):t=this.getActiveOrAssociatedInteractiveWindow(),t}getInteractiveWindowsWithSubmitter(e){return this._windows.filter(t=>t.submitters.find(r=>this.fs.arePathsSame(e,r)))}};Kb=v([(0,xo.injectable)(),m(0,(0,xo.inject)(rt)),m(1,(0,xo.inject)(M)),m(2,(0,xo.inject)(tt)),m(3,(0,xo.inject)(ie)),m(4,(0,xo.inject)(We)),m(4,(0,xo.named)(lt)),m(5,(0,xo.inject)(We)),m(5,(0,xo.named)(ei)),m(6,(0,xo.inject)(ci)),m(7,(0,xo.inject)($T))],Kb);var Ip=k(N());var Ob=class{constructor(e,t,r,i,o){this.kernelProvider=e;this.codeGeneratorFactory=r;this.storageFactory=i;this.controllers=o;this.disposables=[];t.push(this)}dispose(){z(this.disposables)}activate(){this.kernelProvider.onDidCreateKernel(this.onDidCreateKernel,this,this.disposables),this.controllers.onControllerSelected(this.onNotebookControllerSelected,this,this.disposables)}onNotebookControllerSelected({notebook:e}){this.storageFactory.get({notebook:e})?.clear(),this.codeGeneratorFactory.get(e)?.reset()}onDidCreateKernel(e){let t=e.notebook;e.creator!=="jupyterExtension"||t.notebookType!==ft||(this.storageFactory.get({notebook:t})?.clear(),e.onRestarted(()=>{this.storageFactory.get({notebook:t})?.clear(),this.codeGeneratorFactory.getOrCreate(t).reset()},this,this.disposables))}};Ob=v([(0,Ip.injectable)(),m(0,(0,Ip.inject)(De)),m(1,(0,Ip.inject)(M)),m(2,(0,Ip.inject)(Pb)),m(3,(0,Ip.inject)(Bs)),m(4,(0,Ip.inject)(ot))],Ob);var Lb=k(N()),o4=require("vscode");var i4=n4(),t0=/(;32m[ ->]*?)(\d+)(.*)/g,Fb=class{constructor(e,t,r){this.storageFactory=e;this.platformService=t;this.configurationService=r}format(e,t){if(e.notebook.notebookType!==ft)return t;let r=this.storageFactory.get({notebook:e.notebook}),i=t.some(a=>/^[Input|Cell|File].*?\n.*/.test(a));if(!i&&!r)return t;let s=this.configurationService.getSettings(e.document.uri)?.formatStackTraces??!1;return t.map(a=>i?this.modifyTracebackFrameIPython8(a,r?.all,s):s?this.modifyTracebackFrameIPython7(a,r.all):a)}modifyTracebackFrameIPython8(e,t,r){e=e.replace(/\u001b\[4\dm/g,""),e=e.replace(/\u001b\[38;.*?\d+m/g,"\x1B[39m"),e=e.replace(/(;32m[ ->]*?)(\d+)(.*)\n/g,(u,d,f,g)=>(g=g.replace(/\u001b\[3\d+m/g,"\x1B[39m"),`${d}${f}${g}
|
||
`)),p.ci(`Trace frame to match: ${e}`);let i,o,s=/Cell\s+(?:\u001b\[.+?m)?In\s*\[(?<executionCount>\d+)\],\s*line (?<lineNumber>\d+).*/,l=/Input\s+?(?:\u001b\[.+?m)?In\s*\[(?<executionCount>\d+)\].*line: (?<lineNumber>\d).*/.exec(e),c=s.exec(e);if(l&&l.groups?.executionCount&&l.groups?.lineNumber?(i=parseInt(l.groups.executionCount),o=l.groups?.lineNumber):c&&c.groups?.executionCount&&c.groups?.lineNumber&&(i=parseInt(c.groups.executionCount),o=c.groups.lineNumber),t&&i){let u,d;for(let f of t)if(d=f.generatedCodes.find(g=>g.executionCount===i),d){u=f.uri;break}if(d&&u){let f=e;return r&&(f=f.replace(t0,(g,b,I,E)=>{let x=parseInt(I,10),J=(d.hasCellMarker?d.line-1:d.line)-1+d.lineOffsetRelativeToIndexOfFirstLineInCell+x;return`${b}<a href='${u?.toString()}?line=${J-1}'>${J}</a>${E}`})),f.replace(/.*?\n/,`File \x1B[1;32m${ke(u)}:${o}\x1B[0m
|
||
`)}}if(r){let u=/^File.*?\[\d;32m(.*):\d+.*\u001b.*\n/.exec(e);if(u&&u.length>1){let d=lh(u[1],ke(this.platformService.homeDir)),f=o4.Uri.file(d);return e.replace(t0,(g,b,I,E)=>{let x=parseInt(I,10);return`${b}<a href='${f?.toString()}?line=${x-1}'>${x}</a>${E}`})}}return e}modifyTracebackFrameIPython7(e,t){return t.map(i=>i.uri).forEach(i=>{let o=ke(i),s=j(i),a=this.storageFactory.get({fileUri:i});if(a){if(e.includes(o)&&new RegExp(`\\[.*?;32m${i4(o)}`).test(e)||e.includes(s)&&new RegExp(`\\[.*?;32m${i4(s)}`).test(e)){let l="",c=/(;32m[ ->]*?)(\d+)(.*)/g;for(let d=c.exec(e);d&&d.length>3;d=c.exec(e)){let f=ql(d[3]).substr(1);l=`${l}${f}
|
||
`}let u=this.findCellOffset(a.getFileGeneratedCode(i),l);u!==void 0&&(e=e.replace(t0,(d,f,g,b)=>{let I=parseInt(g,10),E=u+I-1;return`${f}<a href='${i.toString()}?line=${E}'>${E+1}</a>${b}`}))}if(e.includes(o)){let l=this.findCellOffset(a.getFileGeneratedCode(i),e);if(l)return e.replace(t0,(c,u,d,f)=>{let g=parseInt(d,10),b=l+g-1;return`${u}<a href='${i.toString()}?line=${b}'>${b+1}</a>${f}`})}}}),e}findCellOffset(e,t){if(e){for(let r of e)if(r.trimmedRightCode.indexOf(t)>=0)return r.firstNonBlankLineIndex}}};Fb=v([(0,Lb.injectable)(),m(0,(0,Lb.inject)(Bs)),m(1,(0,Lb.inject)(br)),m(2,(0,Lb.inject)(ie))],Fb);var yu=k(N());var Nw=class extends xn{constructor(e,t,r){let i=t||y.jupyterDebuggerNotInstalledError(e);super("notinstalled",i,r)}};function r0(n){let e={source:{path:ke(n.uri)},pydevdSourceMaps:[]};return e.pydevdSourceMaps=n.generatedCodes.map(t=>({line:t.debuggerStartLine,endLine:t.endLine,runtimeSource:{path:t.runtimeFile},runtimeLine:t.runtimeLine})),e}var Ub=class{constructor(e,t,r,i){this.apiProvider=e;this.configService=t;this.debugService=r;this.platform=i;this.configs=new WeakMap;this.debuggingActive=!1;this.debuggerPackage="debugpy",this.enableDebuggerCode="import debugpy;debugpy.listen(('localhost', 0))",this.waitForDebugClientCode="import debugpy;debugpy.wait_for_client()",this.tracingEnableCode="from debugpy import trace_this_thread;trace_this_thread(True)",this.tracingDisableCode="from debugpy import trace_this_thread;trace_this_thread(False)"}async attach(e){if(!e.session)throw new Error("Notebook not initialized");let t=this.configService.getSettings(e.resourceUri),r=e.kernelConnectionMetadata.interpreter?.uri;return this.startDebugSession(i=>this.debugService.startDebugging(void 0,i),e,{justMyCode:t.debugJustMyCode,python:r})}async detach(e){if(!e.session)return;let t=e.notebook;this.configs.get(t)&&(p.info("stop debugging"),this.debuggingActive=!1,this.debugService.stop(),e.status!=="dead"&&e.status!=="unknown"&&this.disable(e))}async updateSourceMaps(e){this.debugService.activeDebugSession&&this.debuggingActive&&(p.ci("Sending debug request for source map"),await Promise.all(e.map(async t=>{if(this.debuggingActive)return this.debugService.activeDebugSession.customRequest("setPydevdSourceMap",r0(t))})))}enable(e){e.session?.kernel&&pn(e.session.kernel,this.tracingEnableCode,{traceErrors:!0,traceErrorsMessage:"Execute_request failure enabling tracing code for IW",telemetryName:"DATASCIENCE.INTERACTIVE_WINDOW_DEBUG_SETUP_CODE_FAILURE"}).catch(h)}disable(e){e.session?.kernel&&pn(e.session.kernel,this.tracingDisableCode,{traceErrors:!0,traceErrorsMessage:"Execute_request failure disabling tracing code for IW",telemetryName:"DATASCIENCE.INTERACTIVE_WINDOW_DEBUG_SETUP_CODE_FAILURE"}).catch(h)}async startDebugSession(e,t,r){if(p.info("start debugging"),!t.session?.kernel)return;let i=await this.connect(t,r);if(i&&(p.info("connected to notebook during debugging"),this.debuggingActive=await e(i),this.debuggingActive)){this.debugService.removeBreakpoints([]);let o=await pn(t.session.kernel,this.waitForDebugClientCode,{traceErrors:!0,traceErrorsMessage:"Execute_request failure starting debug session for IW",telemetryName:"DATASCIENCE.INTERACTIVE_WINDOW_DEBUG_SETUP_CODE_FAILURE"});o.some(s=>s.output_type==="error")?p.warn(`${this.debuggerPackage} not found in path.`):p.info(`import startup: ${e_(o)}`),await this.disable(t)}}async connect(e,t){let r=e.notebook,i=r,o=this.configs.get(i);if(o)return{...o,...t};p.info("enable debugger attach"),await this.appendDebuggerPaths(e),o={type:"python",name:"IPython",request:"attach",...t};let{host:s,port:a}=await this.connectToLocal(e);if(o.host=s,o.port=a,o.port){this.configs.set(r,o);let l=[],c=()=>{this.configs.delete(i),l.forEach(u=>u.dispose())};l.push(e.onDisposed(c)),l.push(e.onRestarted(c))}return o}async calculateDebuggerPathList(e){let t=[],r=this.configService.getSettings(e.resourceUri).debugpyDistPath;if(r&&(this.platform.isWindows&&(r=r.replace(/\\/g,"\\\\")),t.push(r)),ct(e.kernelConnectionMetadata)){let i=await this.getDebuggerPath();this.platform.isWindows&&(i=i.replace(/\\/g,"\\\\")),t.push(i)}if(t&&t.length>0)return t.reduce((i,o)=>(i.length===0?i=`'${o}'`:i=`${i}, '${o}'`,i),"")}getDebuggerPath(){return this.apiProvider.getApi().then(e=>e.getDebuggerPath())}async appendDebuggerPaths(e){let t=await this.calculateDebuggerPathList(e);if(t&&t.length>0){let r=e.session?.kernel?await pn(e.session.kernel,`import sys as _VSCODE_sys\r
|
||
_VSCODE_sys.path.extend([${t}])\r
|
||
_VSCODE_sys.path\r
|
||
del _VSCODE_sys`,{traceErrors:!0,traceErrorsMessage:"Execute_request failure appending debugger paths for IW",telemetryName:"DATASCIENCE.INTERACTIVE_WINDOW_DEBUG_SETUP_CODE_FAILURE"}):[];p.info(`Appending paths: ${e_(r)}`)}}async connectToLocal(e){let t=e.session?.kernel?await pn(e.session.kernel,this.enableDebuggerCode,{traceErrors:!0,traceErrorsMessage:"Execute_request failure enabling debugging for IW",telemetryName:"DATASCIENCE.INTERACTIVE_WINDOW_DEBUG_SETUP_CODE_FAILURE"}):[];if(t.length>0)for(let r of t){let i=e_([r]);if(i){i=Bp(i);let s=/\('(.*?)', ([0-9]*)\)/.exec(i);if(s)return{port:parseInt(s[2],10),host:s[1]}}}if(t.length>0&&t[0].output_type==="error"){let r=t[0];throw new Nw(this.debuggerPackage,r.ename,e.kernelConnectionMetadata)}throw new Nw(y.jupyterDebuggerOutputParseError(this.debuggerPackage),void 0,e.kernelConnectionMetadata)}};Ub=v([(0,yu.injectable)(),m(0,(0,yu.inject)(Ht)),m(1,(0,yu.inject)(ie)),m(2,(0,yu.inject)(Ea)),m(2,(0,yu.named)(je.MULTIPLEXING_DEBUGSERVICE)),m(3,(0,yu.inject)(br))],Ub);var rc=k(N()),Sp=require("vscode");var n0=class{constructor(e,t,r){this.debugAdapter=e;this.debugCell=t;this.execution=r;this._ready=re();this.ready=this._ready.promise;R("DATASCIENCE.DEBUGGING.SUCCESSFULLY_STARTED_RUN_AND_DEBUG_CELL")}trace(e,t){p.debug(`[Debug-IW] ${e}: ${t}`)}async willSendEvent(e){return KO(e)?(this.trace("intercept","debugpyAttach request for subprocess, not supported"),!0):e.event==="output"&&bw(e.body.output)?(this.trace("intercept","justMyCode notification"),!0):!1}async willSendRequest(e){let t=rs(this.debugCell);e.command==="setBreakpoints"&&t&&t.generatedCode&&!this.cellDumpInvoked&&(this.debugCellDumped||(this.debugCellDumped=hf(this.execution,this.debugAdapter)),await this.debugCellDumped),e.command==="configurationDone"&&t&&t.generatedCode&&(this.debugCellDumped||(this.debugCellDumped=hf(this.execution,this.debugAdapter)),await this.debugCellDumped,this._ready.resolve())}};var i0=class extends ib{constructor(){super(...arguments);this._ready=re();this.ready=this._ready.promise}resolve(){this._ready.resolve()}};var jO=require("vscode");var o0=class extends sb{constructor(t,r,i,o,s,a,l){super(t,r,i,o,s,a);this.cellToDebugFileSortedInReverseOrderByLineNumber=[];l&&(this.debugLocationTracker=l.createDebugAdapterTracker(t),this.debugLocationTracker.onWillStartSession&&this.debugLocationTracker.onWillStartSession(),this.onDidSendMessage(c=>{this.debugLocationTracker?.onDidSendMessage&&this.debugLocationTracker.onDidSendMessage(c)},this,this.disposables),this.onDidEndSession(()=>{this.debugLocationTracker?.onWillStopSession&&this.debugLocationTracker.onWillStopSession()},this,this.disposables))}handleClientMessageAsync(t){return p.ci(`KernelDebugAdapter::handleMessage ${JSON.stringify(t,void 0," ")}`),t.type==="request"&&this.debugLocationTracker?.onWillReceiveMessage&&this.debugLocationTracker.onWillReceiveMessage(t),t.type==="response"&&this.debugLocationTracker?.onDidSendMessage&&this.debugLocationTracker.onDidSendMessage(t),super.handleClientMessageAsync(t)}async dumpCell(t){let r=this.notebookDocument.cellAt(t),i=rs(r);if(!i)throw new Error("Not an interactive window cell");try{let o=(i.generatedCode?.code||r.document.getText()).replace(/\r\n/g,`
|
||
`),s=await this.session.customRequest("dumpCell",{code:o}),a=hn(s.sourcePath);this.fileToCell.set(a,jO.Uri.parse(i.interactive.uristring));let l=0;i.generatedCode&&!i.generatedCode.hasCellMarker&&(l=i.generatedCode.firstNonBlankLineIndex),this.cellToDebugFileSortedInReverseOrderByLineNumber.push({debugFilePath:a,interactiveWindow:jO.Uri.parse(i.interactive.uristring),metadata:i,lineOffset:l+i.interactive.lineIndex+(i.generatedCode?.lineOffsetRelativeToIndexOfFirstLineInCell||0)}),this.cellToDebugFileSortedInReverseOrderByLineNumber.sort((c,u)=>u.metadata.interactive.lineIndex-c.metadata.interactive.lineIndex)}catch(o){p.error(`Failed to dump cell for ${r.index} with code ${i.interactive.originalSource}`,o)}}translateDebuggerLocationToRealLocation(t,r){if(r=t?.source??r,!r||!r.path)return;let i=this.cellToDebugFileSortedInReverseOrderByLineNumber.find(o=>o.debugFilePath===r.path);i&&(r.name=Ce(i.interactiveWindow.path),r.path=i.interactiveWindow.toString(),typeof t?.endLine=="number"&&(t.endLine=t.endLine+(i.lineOffset||0)),typeof t?.line=="number"&&(t.line=t.line+(i.lineOffset||0)))}translateRealLocationToDebuggerLocation(t,r){let i=t.line;if(r=t?.source??r,!r||!r.path||typeof i!="number")return;let o=this.cellToDebugFileSortedInReverseOrderByLineNumber.find(s=>i>=s.metadata.interactive.lineIndex+1);!o||o.interactiveWindow.path!==r.path||(r.path=o.debugFilePath,typeof t?.endLine=="number"&&(t.endLine=t.endLine-(o.lineOffset||0)),typeof t?.line=="number"&&(t.line=t.line-(o.lineOffset||0)))}async sendRequestToJupyterSession(t){if(t.command==="setBreakpoints"){let r=t.arguments;if(delete r.lines,r.source.path!==this.cellToDebugFileSortedInReverseOrderByLineNumber[0]?.interactiveWindow.path)return super.sendRequestToJupyterSession(t);let i,o=[],s=[],a=()=>{if(o.length){let u=JSON.parse(JSON.stringify(t));u.arguments.breakpoints=o,s.push(super.sendRequestToJupyterSession(u))}};for(let u of t.arguments.breakpoints??[]){let d=this.cellToDebugFileSortedInReverseOrderByLineNumber.find(f=>u.line>=f.metadata.generatedCode.line&&u.line<=f.metadata.generatedCode.endLine);if(d&&d.metadata.interactive.lineIndex!==i)a(),i=d.metadata.interactive.lineIndex,o=[u];else if(d)o.push(u);else{let f={...u,verified:!0};s.push(Promise.resolve({body:{breakpoints:[f]}}))}}a();let l=await Promise.all(s),c=JSON.parse(JSON.stringify(l[0]));return l.slice(1).forEach(u=>{c.body.breakpoints=c.body.breakpoints.concat(u.body.breakpoints??[])}),c.command="setBreakpoints",c.type="response",c.success=!0,c.request_seq=t.seq,c}return super.sendRequestToJupyterSession(t)}getDumpFilesForDeletion(){return this.cellToDebugFileSortedInReverseOrderByLineNumber.map(t=>t.debugFilePath)}};var s4=require("vscode");var s0=class{constructor(e){this.debugCell=e}trace(e,t){p.debug(`[Debug-IWRestart] ${e}: ${t}`)}async willSendResponse(e){e.command==="initialize"&&e.body&&(e.body.supportsRestartRequest=!0)}async willSendRequest(e){if(e.command==="restart")return this.trace("restart","Showing warning for unsupported restart request"),s4.window.showWarningMessage(y.restartNotSupported,{modal:!0}).then(h,h),{command:e.command,request_seq:e.seq,seq:e.seq,success:!0,type:"response"}}};var Wb=class extends ob{constructor(t,r,i,o,s,a,l){super(t,r,l);this.platform=i;this.debugLocationTrackerFactory=o;this.configService=s;this.debugService=a}activate(){super.activate(),this.disposables.push(Sp.debug.registerDebugAdapterDescriptorFactory(NS,{createDebugAdapterDescriptor:async t=>this.createDebugAdapterDescriptor(t)}))}getDebugMode(t){return 2}async start(t,r){p.ci("Starting debugging IW"),await this.checkIpykernelAndPrompt(r)===1&&await this.startDebuggingCell(t,r)}async startDebuggingCell(t,r){let i=this.configService.getSettings(t.uri),o={type:NS,name:Ce(t.uri.toString()),request:"attach",justMyCode:i.debugJustMyCode,__notebookUri:t.uri.toString(),__mode:2,__cellIndex:r.index},s={suppressSaveBeforeStart:!0};await this.startDebuggingConfig(o,s);let a=this.notebookToDebugger.get(t);if(!a){p.error("Debugger not found, could not start debugging.");return}await a.ready}async createDebugAdapterDescriptor(t){let r=t.configuration;Gq(r);let i=Sp.workspace.notebookDocuments.find(s=>s.uri.toString()===r.__notebookUri);if(!i||typeof r.__cellIndex!="number"){p.error("Invalid debug session for debugging of IW using Jupyter Protocol");return}if(this.notebookInProgress.has(i)){p.info("Cannot start debugging. Already debugging this notebook");return}if(this.isDebugging(i)){p.info("Cannot start debugging. Already debugging this notebook document. Toolbar should update");return}let o=new i0(i,r,t);this.notebookToDebugger.set(i,o);try{return this.notebookInProgress.add(i),await this.doCreateDebugAdapterDescriptor(r,t,i,o)}finally{this.notebookInProgress.delete(i)}}async doCreateDebugAdapterDescriptor(t,r,i,o){let s=await this.ensureKernelIsRunning(i);if(!s?.session){Sp.window.showInformationMessage(y.kernelWasNotStarted).then(h,h);return}let a=new o0(r,i,s.session,s,this.platform,this.debugService,this.debugLocationTrackerFactory);this.disposables.push(a.onDidEndSession(this.endSession.bind(this)));let l=i.cellAt(t.__cellIndex),c=new n0(a,l,this.kernelProvider.getKernelExecution(s));return a.addDebuggingDelegates([c,new s0(l)]),c.ready.then(()=>o.resolve()).catch(u=>console.error("Failed waiting for controller to be ready",u)),this.trackDebugAdapter(i,a),new Sp.DebugAdapterInlineImplementation(a)}async updateSourceMaps(t,r){let i=this.getDebugSession(t.notebook);i&&(p.ci("Sending debug request for source map"),await Promise.all(r.map(async o=>{if(i)return i.customRequest("setPydevdSourceMap",r0(o))})))}};Wb=v([(0,rc.injectable)(),m(0,(0,rc.inject)(De)),m(1,(0,rc.inject)(ot)),m(2,(0,rc.inject)(br)),m(3,(0,rc.inject)(vT)),m(4,(0,rc.inject)(ie)),m(5,(0,rc.inject)(_i)),m(6,(0,rc.inject)(rt))],Wb);var Mw=k(N()),Kw=require("vscode");var a4="InteractiveShiftEnterBanner";var Cp=class{constructor(e,t){this.persistentState=e;this.configuration=t;this.disabledInCurrentSession=!1;this.bannerMessage=fA.bannerMessage;this.bannerLabels=[de.bannerLabelYes,de.bannerLabelNo];this.initialize()}initialize(){this.initialized||(this.initialized=!0,this.isEnabled())}isEnabled(){return this.persistentState.createGlobalPersistentState("InteractiveShiftEnterBanner",!0).value}async showBanner(){if(!this.isEnabled()||!await this.shouldShowBanner())return;switch(R("DS_INTERNAL.SHIFTENTER_BANNER_SHOWN"),await Kw.window.showInformationMessage(this.bannerMessage,...this.bannerLabels)){case this.bannerLabels[0]:{await this.enableInteractiveShiftEnter();break}case this.bannerLabels[1]:{await this.disableInteractiveShiftEnter();break}default:this.disabledInCurrentSession=!0}}async shouldShowBanner(){let e=this.configuration.getSettings();return Promise.resolve(this.isEnabled()&&!this.disabledInCurrentSession&&!e.sendSelectionToInteractiveWindow)}async disableInteractiveShiftEnter(){await this.configuration.updateSetting("interactiveWindow.textEditor.executeSelection",!1,void 0,Kw.ConfigurationTarget.Global),await this.disableBanner()}async enableInteractiveShiftEnter(){await this.configuration.updateSetting("interactiveWindow.textEditor.executeSelection",!0,void 0,Kw.ConfigurationTarget.Global),await this.disableBanner()}async disableBanner(){await this.persistentState.createGlobalPersistentState("InteractiveShiftEnterBanner",!1).updateValue(!1)}};v([Hr("DATASCIENCE.DISABLE_INTERACTIVE_SHIFT_ENTER")],Cp.prototype,"disableInteractiveShiftEnter",1),v([Hr("DATASCIENCE.ENABLE_INTERACTIVE_SHIFT_ENTER")],Cp.prototype,"enableInteractiveShiftEnter",1),Cp=v([(0,Mw.injectable)(),m(0,(0,Mw.inject)(il)),m(1,(0,Mw.inject)(ie))],Cp);var Ef=k(N()),l4=require("vscode");var Vb=class{constructor(e,t,r,i){this.configService=e;this.fs=t;this.context=r;this.registry=i;this.priority=5}activate(){this.registry.register(this,ft)}async getCode(e){if(!dt(e.kernelConnectionMetadata))return[];if(!tn()){if(this.configService.getSettings(void 0).forceIPyKernelDebugger===!0)return[];if(!ct(e.kernelConnectionMetadata))return[]}if(e.notebook?.notebookType===ft){if(!ct(e.kernelConnectionMetadata))return[];this.addRunCellHookContents||(this.addRunCellHookContents=this.fs.readFile(l4.Uri.joinPath(this.context.extensionUri,"pythonFiles","vscode_datascience_helpers","kernel","addRunCellHook.py")));let t=await this.addRunCellHookContents;return Oe(t,{trim:!1})}return[]}};Vb=v([(0,Ef.injectable)(),m(0,(0,Ef.inject)(ie)),m(1,(0,Ef.inject)(tt)),m(2,(0,Ef.inject)(et)),m(3,(0,Ef.inject)(kc))],Vb);var Jb=k(N()),Bb=require("vscode");var jb=class{constructor(e,t,r){this.dataScienceCodeLensProvider=e;this.extensionContext=t;this.configurationService=r}activate(){this.configurationService.getSettings().pythonCellFolding&&this.extensionContext.subscriptions.push(Bb.languages.registerFoldingRangeProvider([fE],this))}provideFoldingRanges(e,t,r){if([bc,hE].includes(e.uri.scheme))return;let i=this.dataScienceCodeLensProvider.getCodeWatcher(e);if(i){let o=i.getCodeLenses();return r.isCancellationRequested||o.length==0?void 0:o.map(s=>new Bb.FoldingRange(s.range.start.line,s.range.end.line,Bb.FoldingRangeKind.Region))}}};jb=v([(0,Jb.injectable)(),m(0,(0,Jb.inject)(gp)),m(1,(0,Jb.inject)(et)),m(2,(0,Jb.inject)(ie))],jb);var Ow=k(N());var c4=require("vscode");var $b=class{constructor(e,t){this.dataScienceCodeLensProvider=e;this.extensionContext=t}activate(){this.extensionContext.subscriptions.push(c4.languages.registerCodeLensProvider([fE],this.dataScienceCodeLensProvider))}};$b=v([(0,Ow.injectable)(),m(0,(0,Ow.inject)(gp)),m(1,(0,Ow.inject)(et))],$b);var qs=k(N());var JO="LastInteractiveKernelSelected",qb=class{constructor(e,t,r,i,o){this.controllerRegistration=e;this.interpreterService=t;this.disposables=r;this.workspaceMemento=i;this.serviceContainer=o;this.onControllerSelected=this.controllerRegistration.onControllerSelected}async getInitialController(e,t){if(t){let r=this.controllerRegistration.get(t,ft);if(r)return r}if(this.workspaceMemento.get(JO)){let r=this.workspaceMemento.get(JO),i=r?this.controllerRegistration.get(r,ft):void 0;if(i)return i}if(this.interpreterService)return await Tme(ft,e,this.interpreterService,this.controllerRegistration)}getSelectedController(e){return this.controllerRegistration.getSelected(e)}getRegisteredController(e){return this.controllerRegistration.get(e,"interactive")}async createKernel(e,t,r,i,o){await Fs(r,e);let s=(u,d)=>{u!=="start"&&u!=="restart"||p.ci(`(onStart) Looking for controller ${d.controller.id} in ${this.controllerRegistration.all.map(f=>`${f.kind}:${f.id}`).join(", ")}`)},a=await js.connectToNotebookKernel(e,this.serviceContainer,{resource:r||i.uri,notebook:i,controller:t},new Jt(!1),o,"jupyterExtension",s),l=this.controllerRegistration.registered.find(u=>u.id===a.controller.id);if(!l)throw Error(`Controller ${a.controller.id} not found or not yet created`);let c=l.controller;return this.interpreterService&&Rme(a.kernelConnectionMetadata,r,this.interpreterService).then(async u=>{await this.workspaceMemento.update(JO,u?void 0:a.kernelConnectionMetadata)}).catch(u=>{p.warn("Failed to store kernel connection metadata",u)}),{kernel:a,actualController:c}}};qb=v([(0,qs.injectable)(),m(0,(0,qs.inject)(ot)),m(1,(0,qs.inject)(Xe)),m(1,(0,qs.optional)()),m(2,(0,qs.inject)(M)),m(3,(0,qs.inject)(We)),m(3,(0,qs.named)(ei)),m(4,(0,qs.inject)(rt))],qb);async function Tme(n,e,t,r){let i=await t.getActiveInterpreter(e);if(i){let o=await Ps(i),s=Ko.create({kernelSpec:o,interpreter:i,id:ki(o,i)}),a=r.addOrUpdate(s,[n]),l=a[0];return r.trackActiveInterpreterControllers(a),p.ci(`Active Interpreter Controller ${l.connection.kind}:${l.id} created for View ${n} with resource ${j(e)}`),l}}async function Rme(n,e,t){return(await t.getActiveInterpreter(e))?.id===n.interpreter?.id}function u4(n){n.addSingleton(Ki,Kb),n.addSingleton($T,qb),n.addSingleton(me,ko),n.addSingleton(me,Nb),n.add(jT,qt),n.addSingleton(JT,Db),n.addSingleton(gp,_b),n.addSingleton(me,$b),n.addSingleton(me,jb),n.addSingleton(me,Tb),n.addSingleton(me,Ob),n.addSingleton(me,Vb),n.addSingleton(Pb,kb,void 0,[me]),n.addSingleton(Bs,Ab),n.addSingleton(qh,Fb),n.addSingleton(BT,Ub),n.addSingleton(qT,Wb,void 0,[me]),n.addSingleton(O2,Cp,a4)}var wp=k(N()),nc=require("vscode");var Hb=class{constructor(e,t,r){this.jupyterServerHelper=e;this.fileSystem=t;this.errorHandler=r;this.extractPythonMainVersion=async()=>{if(!this.jupyterServerHelper)return 3;let e=await this.jupyterServerHelper.getUsableJupyterPython(),t=await qu(e);return e&&t&&t.major||3}}async exportToFile(e,t,r=!0){let i=await this.serialize(e);try{if(await this.fileSystem.writeFile(nc.Uri.file(t),i||""),!r)return;let o=y.exportOpenQuestion1;nc.window.showInformationMessage(y.exportDialogComplete(t),o).then(async s=>{try{s===o&&await GT(nc.Uri.file(t))}catch(a){await this.errorHandler.handleError(a)}},h)}catch(o){p.error("Error in exporting notebook file"),nc.window.showInformationMessage(y.exportDialogFailed(o)).then(h,h)}}async serialize(e,t){let r=await this.extractPythonMainVersion(),i={language_info:{codemirror_mode:{name:"ipython",version:r},file_extension:".py",mimetype:"text/x-python",name:"python",nbconvert_exporter:"python",pygments_lexer:`ipython${r}`,version:r},kernelspec:t},o=nc.extensions.getExtension("vscode.ipynb")?.exports;if(!o)throw new Error("vscode.ipynb extension not found");let s=new nc.NotebookData(e);return s.metadata={metadata:i,nbformat:fR.major,nbformat_minor:fR.minor},o.exportNotebook(s)}};Hb=v([(0,wp.injectable)(),m(0,(0,wp.inject)(od)),m(0,(0,wp.optional)()),m(1,(0,wp.inject)(tt)),m(2,(0,wp.inject)(Gr))],Hb);var Ep=k(N()),d4=require("vscode");var Gb=class{constructor(e,t,r,i,o){this.fs=e;this.disposableRegistry=t;this.configuration=r;this.nbConvertDependencyChecker=i;this.exportToPythonService=o;this.isDisposed=!1;this.nbconvertBaseTemplateFormat=`{%- extends '{0}' -%}
|
||
{% block codecell %}
|
||
{1}
|
||
{{ super() }}
|
||
{% endblock codecell %}
|
||
{% block in_prompt %}{% endblock in_prompt %}
|
||
{% block input %}{{ cell.source | ipython2python }}{% endblock input %}
|
||
{% block markdowncell scoped %}{1} [markdown]
|
||
{{ cell.source | comment_lines }}
|
||
{% endblock markdowncell %}`;this.nbconvert5Null="null.tpl";this.nbconvert6Null="base/null.j2";this.dispose=()=>{this.isDisposed=!0};this.addInstructionComments=e=>y.instructionComments(this.defaultCellMarker).concat(e);this.addIPythonImport=e=>gS(Xf.ImportIPython,this.defaultCellMarker,e)}async importFromFile(e,t){let r=await this.nbConvertDependencyChecker.getNbConvertVersion(t);if(r){let i;r.major>=6?(this.template6Promise||(this.template6Promise=this.createTemplateFile(!0)),i=await this.template6Promise):(this.template5Promise||(this.template5Promise=this.createTemplateFile(!1)),i=await this.template5Promise);let o=await this.exportToPythonService.exportNotebookToPython(e,t,i);return o.includes("get_ipython()")&&(o=this.addIPythonImport(o)),this.addInstructionComments(o)}throw new Error(y.jupyterNbConvertNotSupported)}get defaultCellMarker(){return this.configuration.getSettings().defaultCellMarker||je.DefaultCodeCellMarker}async createTemplateFile(e){let t=await this.fs.createTemporaryLocalFile(".tpl");if(t)try{return this.disposableRegistry.push(t),await this.fs.writeFile(d4.Uri.file(t.filePath),gS(this.nbconvertBaseTemplateFormat,e?this.nbconvert6Null:this.nbconvert5Null,this.defaultCellMarker)),t.filePath}catch{}}};Gb=v([(0,Ep.injectable)(),m(0,(0,Ep.inject)(lr)),m(1,(0,Ep.inject)(M)),m(2,(0,Ep.inject)(ie)),m(3,(0,Ep.inject)(rg)),m(4,(0,Ep.inject)(pk))],Gb);var Hs=k(N());var ns=require("vscode");var a0=class{constructor(e,t,r,i,o,s){this.fileConverter=e;this.fs=t;this.interactiveProvider=r;this.controllerRegistration=i;this.preferredKernel=o;this.kernelFinder=s;this.disposables=[]}register(){this.registerCommand(B.ExportAsPythonScript,(e,t)=>this.export(e,"python",void 0,t)),this.registerCommand(B.ExportToHTML,(e,t,r)=>this.export(e,"html",t,r)),this.registerCommand(B.ExportToPDF,(e,t,r)=>this.export(e,"pdf",t,r)),this.registerCommand(B.Export,(e,t,r)=>this.export(e,void 0,t,r)),this.registerCommand(B.NativeNotebookExport,e=>this.nativeNotebookExport(e))}dispose(){this.disposables.forEach(e=>e.dispose())}registerCommand(e,t){let r=ns.commands.registerCommand(e,t,this);this.disposables.push(r)}async nativeNotebookExport(e){let t=fn(e)?e:e?.notebookEditor?.notebookUri,r=t?ns.workspace.notebookDocuments.find(i=>this.fs.arePathsSame(i.uri,t)):ns.window.activeNotebookEditor?.notebook;if(r){let i,o=this.kernelFinder.registered.find(l=>l.kind==="localPythonEnvironment"),s=new ns.CancellationTokenSource;try{i=o?await this.preferredKernel.findPreferredLocalKernelSpecConnection(r,o,s.token).then(l=>l?.interpreter):void 0}finally{s.dispose()}let a=this.controllerRegistration.getSelected(r)?.connection.interpreter||i;return this.export(r,void 0,void 0,a)}else return this.export(void 0,void 0,void 0,void 0)}async export(e,t,r,i){if(!e){if(e=ns.window.activeNotebookEditor?.notebook||this.interactiveProvider?.getActiveOrAssociatedInteractiveWindow()?.notebookDocument,!e){p.info("Export called without a valid exportable document active");return}i=i||this.controllerRegistration.getSelected(e)?.connection.interpreter,t&&R("DATASCIENCE.EXPORT_NOTEBOOK_AS_COMMAND",void 0,{format:t})}if(t)await this.fileConverter.export(t,e,r,i);else{let o=await this.showExportQuickPickMenu(e,r,i).then(s=>s);o!==void 0?o.handler():R("DATASCIENCE.CLICKED_EXPORT_NOTEBOOK_AS_QUICK_PICK")}}getExportQuickPickItems(e,t,r){let i=[];return(r||e.metadata&&ek(co(e)))&&i.push({label:y.exportPythonQuickPickLabel,picked:!0,handler:()=>{R("DATASCIENCE.CLICKED_EXPORT_NOTEBOOK_AS_QUICK_PICK",void 0,{format:"python"}),ns.commands.executeCommand(B.ExportAsPythonScript,e,r).then(h,h)}}),i.push({label:y.exportHTMLQuickPickLabel,picked:!1,handler:()=>{R("DATASCIENCE.CLICKED_EXPORT_NOTEBOOK_AS_QUICK_PICK",void 0,{format:"html"}),ns.commands.executeCommand(B.ExportToHTML,e,t,r).then(h,h)}},{label:y.exportPDFQuickPickLabel,picked:!1,handler:()=>{R("DATASCIENCE.CLICKED_EXPORT_NOTEBOOK_AS_QUICK_PICK",void 0,{format:"pdf"}),ns.commands.executeCommand(B.ExportToPDF,e,t,r).then(h,h)}}),i}async showExportQuickPickMenu(e,t,r){let i=this.getExportQuickPickItems(e,t,r),o={ignoreFocusOut:!1,matchOnDescription:!0,matchOnDetail:!0,placeHolder:y.exportAsQuickPickPlaceholder};return ns.window.showQuickPick(i,o)}};var l0=require("vscode");var zb=class{constructor(e,t,r,i,o,s,a){this.disposables=e;this.fileConverter=t;this.fs=r;this.interactiveProvider=i;this.controllerSelection=o;this.kernelFinder=s;this.jupyterConnection=a;this.exportCommand=new a0(this.fileConverter,this.fs,this.interactiveProvider,o,new cp(a),s),l0.workspace.isTrusted||l0.workspace.onDidGrantWorkspaceTrust(this.registerCommandsIfTrusted,this,this.disposables)}activate(){this.registerCommandsIfTrusted()}registerCommandsIfTrusted(){l0.workspace.isTrusted&&this.exportCommand?.register()}};zb=v([(0,Hs.injectable)(),m(0,(0,Hs.inject)(M)),m(1,(0,Hs.inject)(db)),m(2,(0,Hs.inject)(tt)),m(3,(0,Hs.inject)(Ki)),m(3,(0,Hs.optional)()),m(4,(0,Hs.inject)(ot)),m(5,(0,Hs.inject)(kr)),m(6,(0,Hs.inject)(on))],zb);var Pp=k(N()),Yb=require("vscode");var p4=require("vscode");var BO="JVSC_NEVER_PROMPT_EXTENSIONS_LIST",Ame=new Map([["ms-dotnettools.dotnet-interactive-vscode",{displayName:".NET Interactive Notebooks Preview",extensionLink:"https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.dotnet-interactive-vscode"}]]),Nme=new Map([["c#","ms-dotnettools.dotnet-interactive-vscode"],["csharp","ms-dotnettools.dotnet-interactive-vscode"],["f#","ms-dotnettools.dotnet-interactive-vscode"],["fsharp","ms-dotnettools.dotnet-interactive-vscode"],["powershell","ms-dotnettools.dotnet-interactive-vscode"]]),Qb=class{constructor(e,t,r){this.controllerManager=e;this.globalMemento=r;this.disposables=[];this.recommendedInSession=new Set;t.push(this)}dispose(){z(this.disposables)}activate(){Yb.workspace.onDidOpenNotebookDocument(this.onDidOpenNotebookDocument,this,this.disposables),this.controllerManager.onControllerSelected(this.onNotebookControllerSelected,this,this.disposables)}onDidOpenNotebookDocument(e){if(!Et(e))return;let t=rk(co(e));t&&this.recommendExtensionForLanguage(t).catch(h)}onNotebookControllerSelected({controller:e}){if(e.connection.kind!=="startUsingLocalKernelSpec"&&e.connection.kind!=="startUsingRemoteKernelSpec"||dt(e.connection))return;let t=po(e.connection);t&&this.recommendExtensionForLanguage(t).catch(h)}async recommendExtensionForLanguage(e){let t=Nme.get(e.toLowerCase());if(!t||p4.extensions.getExtension(t))return;let r=Ame.get(t);if(!r||this.globalMemento.get(BO,[]).includes(t)||this.recommendedInSession.has(t))return;this.recommendedInSession.add(t);let i=y.recommendExtensionForNotebookLanguage(`[${r.displayName}](${r.extensionLink})`,e);switch(R("DATASCIENCE.RECOMMENT_EXTENSION",void 0,{extensionId:t,action:"displayed"}),await Yb.window.showInformationMessage(i,de.bannerLabelYes,de.bannerLabelNo,de.doNotShowAgain)){case de.bannerLabelYes:{R("DATASCIENCE.RECOMMENT_EXTENSION",void 0,{extensionId:t,action:"ok"}),Yb.commands.executeCommand("extension.open",t).then(h,h);break}case de.bannerLabelNo:{R("DATASCIENCE.RECOMMENT_EXTENSION",void 0,{extensionId:t,action:"cancel"});break}case de.doNotShowAgain:{R("DATASCIENCE.RECOMMENT_EXTENSION",void 0,{extensionId:t,action:"doNotShowAgain"});let s=this.globalMemento.get(BO,[]);s.includes(t)||(s.push(t),await this.globalMemento.update(BO,s));break}default:R("DATASCIENCE.RECOMMENT_EXTENSION",void 0,{extensionId:t,action:"dismissed"})}}};Qb=v([(0,Pp.injectable)(),m(0,(0,Pp.inject)(ot)),m(1,(0,Pp.inject)(M)),m(2,(0,Pp.inject)(We)),m(2,(0,Pp.named)(lt))],Qb);var ic=k(N()),Oi=require("vscode");var Xb=class{constructor(e,t,r,i,o){this.interactiveProvider=e;this.kernelProvider=r;this.controllers=i;this.jupyterUriProviderRegistration=o;this.disposables=[];this.isPythonFileActive=!1;t.push(this),this.nativeContext=new tr(mr.IsNativeActive),this.canRestartNotebookKernelContext=new tr(mr.CanRestartNotebookKernel),this.canInterruptNotebookKernelContext=new tr(mr.CanInterruptNotebookKernel),this.canRestartInteractiveWindowKernelContext=new tr(mr.CanRestartInteractiveWindowKernel),this.canInterruptInteractiveWindowKernelContext=new tr(mr.CanInterruptInteractiveWindowKernel),this.interactiveContext=new tr(mr.IsInteractiveActive),this.interactiveOrNativeContext=new tr(mr.IsInteractiveOrNativeActive),this.pythonOrNativeContext=new tr(mr.IsPythonOrNativeActive),this.pythonOrInteractiveContext=new tr(mr.IsPythonOrInteractiveActive),this.pythonOrInteractiveOrNativeContext=new tr(mr.IsPythonOrInteractiveOrNativeActive),this.hasNativeNotebookCells=new tr(mr.HaveNativeCells),this.isPythonNotebook=new tr(mr.IsPythonNotebook),this.isJupyterKernelSelected=new tr(mr.IsJupyterKernelSelected),this.hasNativeNotebookOrInteractiveWindowOpen=new tr(mr.HasNativeNotebookOrInteractiveWindowOpen),this.kernelSourceContext=new tr(mr.KernelSource)}dispose(){this.disposables.forEach(e=>e.dispose())}activate(){Oi.window.onDidChangeActiveTextEditor(this.onDidChangeActiveTextEditor,this,this.disposables),this.kernelProvider.onKernelStatusChanged(this.onDidKernelStatusChange,this,this.disposables),this.interactiveProvider&&(this.interactiveProvider.onDidChangeActiveInteractiveWindow(this.onDidChangeActiveInteractiveWindow,this,this.disposables),this.interactiveProvider.activeWindow&&this.onDidChangeActiveInteractiveWindow()),Oi.window.activeNotebookEditor&&this.onDidChangeActiveNotebookEditor(Oi.window.activeNotebookEditor),Oi.window.onDidChangeActiveNotebookEditor(this.onDidChangeActiveNotebookEditor,this,this.disposables),Oi.window.activeTextEditor?.document.languageId===ge&&this.onDidChangeActiveTextEditor(Oi.window.activeTextEditor),Oi.window.onDidChangeNotebookEditorSelection(this.updateNativeNotebookInteractiveWindowOpenContext,this,this.disposables),Oi.workspace.onDidOpenNotebookDocument(this.updateNativeNotebookInteractiveWindowOpenContext,this,this.disposables),Oi.workspace.onDidCloseNotebookDocument(this.updateNativeNotebookInteractiveWindowOpenContext,this,this.disposables),this.controllers.onControllerSelectionChanged(()=>this.updateSelectedKernelContext(),this,this.disposables),this.updateSelectedKernelContext()}updateNativeNotebookCellContext(){let e=(Oi.window.activeNotebookEditor?.notebook.cellCount||0)>0;this.hasNativeNotebookCells.set(e).catch(h)}onDidChangeActiveInteractiveWindow(e){this.interactiveContext.set(!!e).catch(h),this.updateNativeNotebookInteractiveWindowOpenContext(),this.updateMergedContexts(),this.updateContextOfActiveInteractiveWindowKernel()}onDidChangeActiveNotebookEditor(e){let t=e?e.notebook.notebookType===St:!1;this.nativeContext.set(t).catch(h),this.isPythonNotebook.set(e&&t?ek(co(e.notebook)):!1).catch(h),this.updateContextOfActiveNotebookKernel(e),this.updateContextOfActiveInteractiveWindowKernel(),this.updateNativeNotebookInteractiveWindowOpenContext(),this.updateNativeNotebookCellContext(),this.updateMergedContexts()}updateNativeNotebookInteractiveWindowOpenContext(){this.hasNativeNotebookOrInteractiveWindowOpen.set(Oi.workspace.notebookDocuments.some(e=>e.notebookType===St||e.notebookType===ft)).catch(h)}updateContextOfActiveNotebookKernel(e){let t=e&&e.notebook.notebookType===St?this.kernelProvider.get(e.notebook):void 0;if(t){let r=this.kernelProvider.getKernelExecution(t),i=t.status!=="unknown"||r.executionCount>0||t.startedAtLeastOnce;this.canRestartNotebookKernelContext.set(!!i).catch(h);let o=t.status==="busy";this.canInterruptNotebookKernelContext.set(!!o).catch(h)}else this.canRestartNotebookKernelContext.set(!1).catch(h),this.canInterruptNotebookKernelContext.set(!1).catch(h);this.updateKernelSourceContext(t).catch(h),this.updateSelectedKernelContext()}async updateKernelSourceContext(e){if(!e||!_t(e.kernelConnectionMetadata)){this.kernelSourceContext.set("").catch(h);return}let t=e.kernelConnectionMetadata,r=await this.jupyterUriProviderRegistration.jupyterCollections.find(i=>i.extensionId===t.serverProviderHandle.extensionId&&i.id===t.serverProviderHandle.id);if(!r){this.kernelSourceContext.set("").catch(h);return}this.kernelSourceContext.set(r.id).catch(h)}updateSelectedKernelContext(){let e=Oi.window.activeNotebookEditor?.notebook||this.interactiveProvider?.getActiveOrAssociatedInteractiveWindow()?.notebookDocument;e&&Et(e)&&this.controllers.getSelected(e)?this.isJupyterKernelSelected.set(!0).catch(h):this.isJupyterKernelSelected.set(!1).catch(h)}updateContextOfActiveInteractiveWindowKernel(){let e=this.interactiveProvider?.getActiveOrAssociatedInteractiveWindow()?.notebookDocument,t=e?this.kernelProvider.get(e):void 0;if(t){let r=t.status!=="unknown";this.canRestartInteractiveWindowKernelContext.set(!!r).catch(h);let i=t.status==="busy";this.canInterruptInteractiveWindowKernelContext.set(!!i).catch(h)}else this.canRestartInteractiveWindowKernelContext.set(!1).catch(h),this.canInterruptInteractiveWindowKernelContext.set(!1).catch(h);this.updateSelectedKernelContext()}onDidKernelStatusChange({kernel:e}){let t=e.notebook;t.notebookType===ft?this.updateContextOfActiveInteractiveWindowKernel():t.notebookType===St&&t===Oi.window.activeNotebookEditor?.notebook&&this.updateContextOfActiveNotebookKernel(Oi.window.activeNotebookEditor)}onDidChangeActiveTextEditor(e){this.isPythonFileActive=e?.document.languageId===ge&&!gU(e.document.uri),this.updateNativeNotebookCellContext(),this.updateMergedContexts(),this.updateContextOfActiveInteractiveWindowKernel()}updateMergedContexts(){this.interactiveOrNativeContext.set(this.nativeContext.value===!0||this.interactiveContext.value===!0).catch(h),this.pythonOrNativeContext.set(this.nativeContext.value===!0||this.isPythonFileActive===!0).catch(h),this.pythonOrInteractiveContext.set(this.interactiveContext.value===!0||this.isPythonFileActive===!0).catch(h),this.pythonOrInteractiveOrNativeContext.set(this.nativeContext.value===!0||this.interactiveContext.value===!0&&this.isPythonFileActive===!0).catch(h)}};Xb=v([(0,ic.injectable)(),m(0,(0,ic.inject)(Ki)),m(0,(0,ic.optional)()),m(1,(0,ic.inject)(M)),m(2,(0,ic.inject)(De)),m(3,(0,ic.inject)(ot)),m(4,(0,ic.inject)(jt))],Xb);var c0=k(N()),oc=require("vscode");var Mme=/^\s*(from (?<fromImport>\w+)(?:\.\w+)* import \w+(?:, \w+)*(?: as \w+)?|import (?<importImport>\w+(?:, \w+)*)(?: as \w+)?)$/,Kme=1e3,Ome=Er(),Zb=class{constructor(e,t=1e3){this.pendingChecks=new mo;this.disposables=new Wr;this.sentMatches=new Set;this.processedNotebookCells=new WeakMap;e.push(this.disposables),this.disposables.add(new oc.Disposable(()=>z(this.pendingChecks.values()))),this.isTelemetryDisabled=CP(),this.disposables.add(oc.workspace.onDidOpenNotebookDocument(i=>this.onOpenedOrClosedNotebookDocument(i,"onOpenCloseOrSave"))),this.disposables.add(oc.workspace.onDidCloseNotebookDocument(i=>this.onOpenedOrClosedNotebookDocument(i,"onOpenCloseOrSave"))),this.disposables.add(oc.workspace.onDidSaveNotebookDocument(i=>this.onOpenedOrClosedNotebookDocument(i,"onOpenCloseOrSave")));let r=this.disposables.add(new cs(t));this.disposables.add(er.onDidChangeNotebookCellExecutionState(i=>{r.trigger(()=>{i.state==2&&!this.isTelemetryDisabled&&this.checkNotebookCell(i.cell,"onExecution").catch(h)})},this)),this.disposables.add(wP(i=>this.isTelemetryDisabled=i))}activate(){oc.workspace.notebookDocuments.forEach(e=>this.checkNotebookDocument(e,"onOpenCloseOrSave"))}getDocumentLines(e){let t=[];for(let r=0;r<Math.min(Kme,e.lineCount);r++){let i=e.lineAt(r);i.isEmptyOrWhitespace||t.push(i.text.trim())}return t}onOpenedOrClosedNotebookDocument(e,t){!Et(e)||this.isTelemetryDisabled||this.scheduleCheck(e.uri,this.checkNotebookDocument.bind(this,e,t))}scheduleCheck(e,t){let r=this.pendingChecks.get(e);if(r&&(r.dispose(),this.pendingChecks.delete(e)),Ome)t();else{let i=setTimeout(t,5e3);this.pendingChecks.set(e,new oc.Disposable(()=>clearTimeout(i)))}}async checkNotebookDocument(e,t){!Et(e)||this.isTelemetryDisabled||await Promise.all(e.getCells().map(async r=>this.checkNotebookCell(r,t)))}async checkNotebookCell(e,t){if(!(!Et(e.notebook)||e.kind!==oc.NotebookCellKind.Code||e.document.languageId!==ge||this.processedNotebookCells.get(e)===e.document.version))try{this.processedNotebookCells.set(e,e.document.version);let r=e.notebook.notebookType===St?"notebook":"interactive";await this.sendTelemetryForImports(this.getDocumentLines(e.document),r,t)}catch(r){if(!hi)throw r}}lookForImports(e){let t=[];try{for(let r of e){if(!r.includes("import")&&!r.includes("from"))continue;let i=r?Mme.exec(r):null;i!==null&&i.groups!==void 0&&(i.groups.fromImport!==void 0?t.push(i.groups.fromImport):i.groups.importImport!==void 0&&t.push(...i.groups.importImport.split(",").map(o=>o.trim())))}}catch{}return t}async sendTelemetryForImports(e,t,r){await Promise.all(this.lookForImports(e).map(async i=>{let o=`${i}_${t||""}_${r}`;if(this.sentMatches.has(o))return;this.sentMatches.add(o);let s=await at(i);R("HASHED_PACKAGE_NAME",void 0,{hashedNamev2:s,resourceType:t,when:r})}))}};Zb=v([(0,c0.injectable)(),m(0,(0,c0.inject)(M))],Zb);var sc=k(N());var $O=require("vscode");var eI=class{constructor(e,t,r,i){this.disposableRegistry=e;this.configuration=t;this.rawSupported=r;this.commandListeners=i;this.isDisposed=!1;this.startTime=Date.now();this.onSettingsChanged=()=>{let t=this.configuration.getSettings(void 0).sendSelectionToInteractiveWindow;new tr(mr.OwnsSelection).set(t).catch(h)}}get activationStartTime(){return this.startTime}activate(){this.onSettingsChanged(),this.changeHandler=this.configuration.getSettings(void 0).onDidChange(this.onSettingsChanged.bind(this)),this.disposableRegistry.push(this),this.disposableRegistry.push($O.window.onDidChangeActiveTextEditor(()=>this.onChangedActiveTextEditor())),this.onChangedActiveTextEditor(),this.computeZmqAvailable(),this.commandListeners&&this.commandListeners.forEach(e=>e.register())}async dispose(){this.changeHandler&&(this.changeHandler.dispose(),this.changeHandler=void 0)}computeZmqAvailable(){new tr(mr.ZmqAvailable).set(this.rawSupported?this.rawSupported.isSupported:!1).then(h,h)}onChangedActiveTextEditor(){let e=new tr(mr.HasCodeCells),t=$O.window.activeTextEditor;t&&t.document.languageId===ge?e.set(mH(t.document,this.configuration.getSettings())).catch(h):e.set(!1).catch(h)}};eI=v([(0,sc.injectable)(),m(0,(0,sc.inject)(M)),m(1,(0,sc.inject)(ie)),m(2,(0,sc.inject)(oi)),m(2,(0,sc.optional)()),m(3,(0,sc.multiInject)(wh))],eI);var ui=k(N()),u0=require("vscode");var kf=k(N()),Pf=require("vscode");var f4=require("vscode");var qO="JUPYTER_API_ACCESS_INFORMATION",m4=new Set([Fe.split(".")[0],"rchiodo","donjayamanne","SynapseVSCode"]),HO=new Set(["rchiodo","nuant"]),bu=class{constructor(e,t){this.globalState=e;this.context=t;this.extensionAccess=new Map;this.promiseChain=new rh}async getAccessInformation(e){let t=!e.extensionId||e.extensionId===th?"":e.extensionId.split(".")[0]||"";if(this.context.extensionMode===Pf.ExtensionMode.Test||!t||xs()==="insiders"){if(!m4.has(t)&&!HO.has(t)){p.warn(`Publisher ${t} is allowed to access the Kernel API with a message.`);let s=f4.extensions.getExtension(e.extensionId)?.packageJSON?.displayName||"",a=s&&e.extensionId?`${s} (${e.extensionId})`:e.extensionId||t;Pf.window.showErrorMessage(y.thanksForUsingJupyterKernelApiPleaseRegisterWithUs(a)).then(h,h)}if(!HO.has(t)||!t||this.context.extensionMode===Pf.ExtensionMode.Test)return{extensionId:e.extensionId,accessAllowed:!0}}if(m4.has(t))return{extensionId:e.extensionId,accessAllowed:!0};if(!HO.has(t))return Pf.window.showErrorMessage(`Please contact the Jupyter Extension to get access to the Kernel API. Publisher ${t}`).then(h,h),p.error(`Publisher ${t} is not allowed to access the Kernel API.`),{extensionId:e.extensionId,accessAllowed:!1};let i=this.globalState.get(qO)?.find(s=>s.extensionId===e.extensionId);if(i)return R("DATASCIENCE.JUPYTER_KERNEL_API_ACCESS",void 0,{extensionId:e.extensionId,allowed:i.allowed}),{extensionId:e.extensionId,accessAllowed:i.allowed==="yes"};if(this.extensionAccess.get(e.extensionId))return this.extensionAccess.get(e.extensionId);let o=(async()=>{let s=y.allowExtensionToUseJupyterKernelApi(`${e.displayName} (${e.extensionId})`,de.bannerLabelYes),l=await Pf.window.showInformationMessage(s,{modal:!0},de.bannerLabelYes,de.bannerLabelNo)===de.bannerLabelYes;return this.promiseChain.chainFinally(async()=>{let c=[...this.globalState.get(qO,[])];return c=c.filter(u=>u.extensionId!==e.extensionId),c.push({allowed:l?"yes":"no",extensionId:e.extensionId}),this.globalState.update(qO,c)}).then(h,h),R("DATASCIENCE.JUPYTER_KERNEL_API_ACCESS",void 0,{extensionId:e.extensionId,allowed:l?"yes":"no"}),{extensionId:e.extensionId,accessAllowed:l}})();return this.extensionAccess.set(e.extensionId,o),o}};bu=v([(0,kf.injectable)(),m(0,(0,kf.inject)(We)),m(0,(0,kf.named)(lt)),m(1,(0,kf.inject)(et))],bu);var h4=new WeakMap;function GO(n){let e=h4.get(n);return e||(e=Fme(n),h4.set(n,e)),e}function Fme(n){return new Proxy(n,{get(e,t){return t==="kernel"?e.kernel?Lme(e.kernel):void 0:Reflect.get(e,t)}})}var g4=new WeakMap;function Lme(n){let e=g4.get(n);return e||(e=Ume(n),g4.set(n,e)),e}function Ume(n){return new Proxy(n,{get(e,t){return t==="registerCommTarget"?(r,i)=>(aq(n,r),Reflect.get(e,t).apply(e,[r,i])):t==="removeCommTarget"?(r,i)=>(lq(n,r),Reflect.get(e,t).apply(e,[r,i])):Reflect.get(e,t)}})}var tI=class{constructor(e,t,r,i,o,s,a,l){this.kernelProvider=e;this.kernelFinder=t;this.thirdPartyKernelProvider=r;this.disposables=i;this.controllerRegistration=o;this.apiAccess=s;this.extensions=a;this.serviceContainer=l;this.chainedApiAccess=new rh;this.extensionApi=new Map}async getService(){let e=this.extensions.determineExtensionFromCallStack(),t=await this.chainedApiAccess.chainFinally(()=>this.apiAccess.getAccessInformation(e));if(!t.accessAllowed)return;if(this.extensionApi.get(t.extensionId))return this.extensionApi.get(t.extensionId);let r=new Fw(t.extensionId,this.kernelProvider,this.kernelFinder,this.thirdPartyKernelProvider,this.disposables,this.controllerRegistration,this.serviceContainer);return this.extensionApi.set(t.extensionId,r),r}};tI=v([(0,ui.injectable)(),m(0,(0,ui.inject)(De)),m(1,(0,ui.inject)(kr)),m(2,(0,ui.inject)(sm)),m(3,(0,ui.inject)(M)),m(4,(0,ui.inject)(ot)),m(5,(0,ui.inject)(bu)),m(6,(0,ui.inject)(oa)),m(7,(0,ui.inject)(rt))],tI);var Fw=class{constructor(e,t,r,i,o,s,a){this.callingExtensionId=e;this.kernelProvider=t;this.kernelFinder=r;this.thirdPartyKernelProvider=i;this.disposables=o;this.controllerRegistration=s;this.serviceContainer=a;this._onDidChangeKernelSpecifications=new u0.EventEmitter;this._onDidChangeKernels=new u0.EventEmitter;this.translatedConnections=new WeakMap;this._onDidChangeStatus=new u0.EventEmitter;this._status=this.kernelFinder.status,this.kernelFinder.onDidChangeStatus(()=>{this._status=this.kernelFinder.status,this._onDidChangeStatus.fire()},this,o),this.kernelProvider.onDidDisposeKernel(l=>{p.ci(`Kernel ${l.kernelConnectionMetadata.id}, ${l.kernelConnectionMetadata.interpreter?.uri.toString()} disposed`),this._onDidChangeKernels.fire()},this,o),this.kernelProvider.onDidStartKernel(l=>{p.ci(`Kernel ${l.kernelConnectionMetadata.id}, ${l.kernelConnectionMetadata.interpreter?.uri.toString()} started`),this._onDidChangeKernels.fire()},this,o),this.thirdPartyKernelProvider.onDidDisposeKernel(l=>{p.ci(`Third party Kernel ${l.kernelConnectionMetadata.id}, ${l.kernelConnectionMetadata.interpreter?.uri.toString()} disposed`),this._onDidChangeKernels.fire()},this,o),this.thirdPartyKernelProvider.onDidStartKernel(l=>{p.ci(`Third party Kernel ${l.kernelConnectionMetadata.id}, ${l.kernelConnectionMetadata.interpreter?.uri.toString()} started`),this._onDidChangeKernels.fire()},this,o),this.controllerRegistration.onDidChange(()=>this._onDidChangeKernelSpecifications.fire(),this,o)}get onDidChangeKernelSpecifications(){return R("DATASCIENCE.JUPYTER_KERNEL_API_USAGE",void 0,{extensionId:this.callingExtensionId,pemUsed:"onDidChangeKernelSpecifications"}),p.debug(`API called from ${this.callingExtensionId}`),this._onDidChangeKernelSpecifications.event}get onDidChangeKernels(){return R("DATASCIENCE.JUPYTER_KERNEL_API_USAGE",void 0,{extensionId:this.callingExtensionId,pemUsed:"onDidChangeKernels"}),this._onDidChangeKernels.event}get status(){return this._status}get onDidChangeStatus(){return this._onDidChangeStatus.event}async getKernelSpecifications(){return R("DATASCIENCE.JUPYTER_KERNEL_API_USAGE",void 0,{extensionId:this.callingExtensionId,pemUsed:"getKernelSpecifications"}),this.kernelFinder.kernels.map(e=>this.translateKernelConnectionMetadataToExportedType(e))}getActiveKernels(){R("DATASCIENCE.JUPYTER_KERNEL_API_USAGE",void 0,{extensionId:this.callingExtensionId,pemUsed:"getActiveKernels"});let e=[],t=new Set;return this.kernelProvider.kernels.filter(r=>r.startedAtLeastOnce||r.kernelConnectionMetadata.kind==="connectToLiveRemoteKernel").forEach(r=>{let i=this.kernelProvider.get(r.notebook);i&&i.session?.kernel?.id&&t.add(i.session.kernel.id),e.push({metadata:this.translateKernelConnectionMetadataToExportedType(r.kernelConnectionMetadata),uri:r.uri,id:r.id})}),this.thirdPartyKernelProvider.kernels.filter(r=>r.startedAtLeastOnce||r.kernelConnectionMetadata.kind==="connectToLiveRemoteKernel").forEach(r=>{let i=this.thirdPartyKernelProvider.get(r.uri);i&&i.session?.kernel?.id&&t.add(i.session.kernel.id),e.push({metadata:this.translateKernelConnectionMetadataToExportedType(r.kernelConnectionMetadata),uri:r.uri,id:r.id})}),this.controllerRegistration.registered.forEach(r=>{r.controller.notebookType===St&&r.connection.kind==="connectToLiveRemoteKernel"&&(!r.connection.kernelModel.id||t.has(r.connection.kernelModel.id)||e.push({metadata:r.connection,uri:void 0,id:r.id}))}),e}getKernel(e){R("DATASCIENCE.JUPYTER_KERNEL_API_USAGE",void 0,{extensionId:this.callingExtensionId,pemUsed:"getKernel"});let t=this.thirdPartyKernelProvider.get(e)??this.kernelProvider.get(e);if(t?.session)return{metadata:this.translateKernelConnectionMetadataToExportedType(t.kernelConnectionMetadata),connection:GO(t.session)}}async startKernel(e,t){return R("DATASCIENCE.JUPYTER_KERNEL_API_USAGE",void 0,{extensionId:this.callingExtensionId,pemUsed:"startKernel"}),this.startOrConnect(e,t)}async connect(e,t){return R("DATASCIENCE.JUPYTER_KERNEL_API_USAGE",void 0,{extensionId:this.callingExtensionId,pemUsed:"connect"}),this.startOrConnect(e,t)}async startOrConnect(e,t){let r=this.kernelFinder.kernels.find(o=>o.id===e.id);if(!r)throw new Error("Not found");let i=await js.connectToKernel(r,this.serviceContainer,{resource:t},new Jt(!1),this.disposables,"3rdPartyExtension");if(!i?.session)throw new Error("Not found");return GO(i.session)}translateKernelConnectionMetadataToExportedType(e){if(!this.translatedConnections.has(e)){let t=Object.freeze(ws.fromJSON(e.toJSON()));this.translatedConnections.set(e,t)}return this.translatedConnections.get(e)}};Fw=v([m(1,(0,ui.inject)(De)),m(2,(0,ui.inject)(kr)),m(3,(0,ui.inject)(sm)),m(4,(0,ui.inject)(M)),m(5,(0,ui.inject)(ot)),m(6,(0,ui.inject)(rt))],Fw);var d0=k(N()),ac=require("vscode");var v4=require("vscode");var xf=class{constructor(e){this.fileSystem=e;this.activatedWorkspaces=new Set;this.disposables=[]}activate(){this.addHandlers(),this.addRemoveDocOpenedHandlers(),this.activateWorkspace(this.getActiveResource()).catch(h)}getActiveResource(){let e=v4.window.activeTextEditor;return e&&!e.document.isUntitled?e.document.uri:Array.isArray(ac.workspace.workspaceFolders)&&ac.workspace.workspaceFolders.length>0?ac.workspace.workspaceFolders[0].uri:void 0}async activateWorkspace(e){let t=this.getWorkspaceKey(e);this.activatedWorkspaces.has(t)||(this.activatedWorkspaces.add(t),await LB(this.fileSystem,e))}onDocOpened(e){if(e.languageId!==ge)return;let t=this.getWorkspaceKey(e.uri);if(t===""||(ac.workspace.workspaceFolders||[]).length===0||this.activatedWorkspaces.has(t))return;let r=ac.workspace.getWorkspaceFolder(e.uri);this.activateWorkspace(r?r.uri:void 0).catch(h)}addHandlers(){this.disposables.push(ac.workspace.onDidChangeWorkspaceFolders(this.onWorkspaceFoldersChanged,this))}addRemoveDocOpenedHandlers(){if(this.hasMultipleWorkspaces()){this.docOpenedHandler||(this.docOpenedHandler=ac.workspace.onDidOpenTextDocument(this.onDocOpened,this));return}this.docOpenedHandler&&(this.docOpenedHandler.dispose(),this.docOpenedHandler=void 0)}onWorkspaceFoldersChanged(){let e=(ac.workspace.workspaceFolders||[]).map(i=>this.getWorkspaceKey(i.uri)),r=Array.from(this.activatedWorkspaces.keys()).filter(i=>e.indexOf(i)<0);if(r.length>0)for(let i of r)this.activatedWorkspaces.delete(i);this.addRemoveDocOpenedHandlers()}hasMultipleWorkspaces(){return(ac.workspace.workspaceFolders||[]).length>1}getWorkspaceKey(e){return bs(e,"")}};v([Sh("Failed to activate a workspace")],xf.prototype,"activateWorkspace",1),xf=v([(0,d0.injectable)(),m(0,(0,d0.inject)(tt))],xf);var nI=k(N());var rI=class{constructor(e){this.syncActivationServices=e}activate(){this.syncActivationServices.map(e=>{try{e.activate()}catch(t){p.error(`Error in activating extension, failed in ${e.constructor.name}`,t)}})}};rI=v([(0,nI.injectable)(),m(0,(0,nI.optional)()),m(0,(0,nI.multiInject)(me))],rI);var Lw=k(N()),kp=require("vscode");var zO=Symbol("ISurveyBanner");var lc=class{constructor(e,t){this.persistentState=e;this.disposables=t;this.disabledInCurrentSession=!1;this.bannerLabels=[dP.bannerLabelYes,dP.bannerLabelNo];this.showBannerState=new Map;this.NotebookExecutionThreshold=250;this.setPersistentState(0,"ShowInsidersNotebookSurveyBanner"),this.setPersistentState(1,"ShowExperimentNotebookSurveyBanner");let r=setTimeout(()=>{lc.surveyDelay=!0},10*60*1e3);this.disposables.push(new kp.Disposable(()=>clearTimeout(r)))}isEnabled(e){switch(e){case 0:if(xs()==="insiders")return this.isEnabledInternal(e);break;case 1:if(xs()==="stable")return this.isEnabledInternal(e);break;default:return p.error("Invalid Banner Type"),!1}return!1}isEnabledInternal(e){return kp.env.uiKind!==kp.UIKind.Desktop?!1:this.showBannerState.get(e).value.expiry?this.showBannerState.get(e).value.expiry<Date.now():!0}activate(){this.onDidChangeNotebookCellExecutionStateHandler=er.onDidChangeNotebookCellExecutionState(this.onDidChangeNotebookCellExecutionState,this,this.disposables)}async showBanner(e){let t=this.shouldShowBanner(e);if(this.onDidChangeNotebookCellExecutionStateHandler?.dispose(),!t)return;switch(this.disabledInCurrentSession=!0,await kp.window.showInformationMessage(this.getBannerMessage(e),...this.bannerLabels)){case this.bannerLabels[0]:{await this.launchSurvey(e),await this.disable(0,e);break}default:{await this.disable(1,e);break}}}shouldShowBanner(e){return Wp()||!this.isEnabled(e)||this.disabledInCurrentSession||!lc.surveyDelay?!1:this.getExecutionCount(e)>=this.NotebookExecutionThreshold}setPersistentState(e,t){this.showBannerState.set(e,this.persistentState.createGlobalPersistentState(t,{data:!0}))}async launchSurvey(e){yd(this.getSurveyLink(e))}async disable(e,t){let r=e===0?6:4;r&&await this.showBannerState.get(t).updateValue({expiry:r*31*864e5+Date.now(),data:!0})}getExecutionCount(e){switch(e){case 0:return this.getPersistentState("DS_InsidersNotebookExecutionCount");case 1:return this.getPersistentState("DS_ExperimentNotebookExecutionCount");default:return p.error("Invalid Banner type"),-1}}getPersistentState(e){return this.persistentState.createGlobalPersistentState(e,0).value}async onDidChangeNotebookCellExecutionState(e){Et(e.cell.notebook)&&e.state===3&&(this.updateStateAndShowBanner("DS_InsidersNotebookExecutionCount",0).catch(h),this.updateStateAndShowBanner("DS_ExperimentNotebookExecutionCount",1).catch(h))}async updateStateAndShowBanner(e,t){if(!this.shouldShowBanner(t)){this.onDidChangeNotebookCellExecutionStateHandler?.dispose();return}let r=this.persistentState.createGlobalPersistentState(e,0);await r.updateValue(r.value+1),this.showBanner(t).catch(h)}getBannerMessage(e){switch(e){case 0:case 1:return hA.bannerMessage;default:return p.error("Invalid Banner type"),""}}getSurveyLink(e){switch(e){case 0:return"https://aka.ms/vscjupyternb";case 1:return"https://aka.ms/vscnbexp";default:return p.error("Invalid Banner type"),""}}};lc.surveyDelay=!1,lc=v([(0,Lw.injectable)(),m(0,(0,Lw.inject)(il)),m(1,(0,Lw.inject)(M))],lc);var Ra=require("vscode");function y4(n,e){e&&Ra.commands.registerCommand("dataScience.ClearCache",async()=>{let t=[];for(let r of n.globalState.keys())t.push(n.globalState.update(r,void 0).then(h,h));for(let r of n.workspaceState.keys())t.push(n.workspaceState.update(r,void 0).then(h,h));t.push(Ra.commands.executeCommand(B.ClearSavedJupyterUris).then(h,h)),await Promise.all(t).catch(h),await Promise.all([Ra.workspace.fs.delete(Ra.Uri.joinPath(n.globalStorageUri,"lastExecutedRemoteCell.json")).then(h,h),Ra.workspace.fs.delete(Ra.Uri.joinPath(n.globalStorageUri,"remoteServersMRUList.json")).then(h,h),Ra.workspace.fs.delete(Ra.Uri.joinPath(n.globalStorageUri,ty)).then(h,h)]),p.info("Cache cleared")})}function b4(n,e){y4(n,e)}var f0=k(N()),Ut=require("vscode");var p0=y.percentPipCondaInstallInsteadOfBang("pip"),QO=y.percentPipCondaInstallInsteadOfBang("conda"),I4=y.matplotlibWidgetInsteadOfOther,m0="Jupyter",iI=class{constructor(e){this.disposables=[];this.notebooksProcessed=new WeakMap;this.cellsToProcess=new Set;this.problems=Ut.languages.createDiagnosticCollection(m0),this.disposables.push(this.problems),e.push(this)}dispose(){z(this.disposables),this.problems.dispose()}activate(){this.disposables.push(Ut.languages.registerCodeActionsProvider(ge,this)),this.disposables.push(Ut.languages.registerHoverProvider(ge,this)),Ut.workspace.onDidChangeTextDocument(t=>{let r=Lh(t.document);if(!r)return;let i=r.getCells().find(o=>o.document===t.document);i&&this.analyzeNotebookCell(i)},this,this.disposables),Ut.workspace.onDidCloseNotebookDocument(t=>{this.problems.delete(t.uri);let r=this.notebooksProcessed.get(t);this.notebooksProcessed.delete(t),r&&r.forEach((i,o)=>this.problems.delete(Ut.Uri.parse(o)))},this,this.disposables),Ut.workspace.onDidOpenNotebookDocument(t=>this.analyzeNotebook(t),this,this.disposables);let e=new cs(300);this.disposables.push(e),Ut.workspace.onDidChangeNotebookDocument(t=>{e.trigger(()=>{let r=this.notebooksProcessed.get(t.notebook);t.contentChanges.forEach(i=>{i.removedCells.forEach(o=>{r?.delete(o.document.uri.toString())}),i.addedCells.forEach(o=>this.queueCellForProcessing(o))}),t.cellChanges.forEach(i=>this.queueCellForProcessing(i.cell))})},this,this.disposables),Ut.workspace.notebookDocuments.map(t=>this.analyzeNotebook(t))}provideHover(e,t,r){if(Lh(e)?.notebookType!==St)return;let o=this.problems.get(e.uri);if(!o)return;let s=o.find(l=>l.message===p0||l.message===QO);if(!s||!s.range.contains(t))return;let a=s.message===p0?"pip":"conda";return new Ut.Hover(y.pipCondaInstallHoverWarning(a,"https://aka.ms/jupyterCellMagicBangInstall"),s.range)}provideCodeActions(e,t,r,i){if(!Lh(e))return[];let o=[];return r.diagnostics.forEach(s=>{switch(s.message){case p0:o.push(this.createReplaceCodeAction(e,"pip",s));break;case QO:o.push(this.createReplaceCodeAction(e,"conda",s));break;case I4:o.push(this.createGotoWikiAction(e,Ut.Uri.parse("https://aka.ms/vscodejupytermatplotlibwidget"),s));break;default:break}}),o}createReplaceCodeAction(e,t,r){let i=new Ut.CodeAction(y.replacePipCondaInstallCodeAction(t),Ut.CodeActionKind.QuickFix);i.isPreferred=!0,i.diagnostics=[r];let o=new Ut.WorkspaceEdit;return o.replace(e.uri,new Ut.Range(r.range.start,new Ut.Position(r.range.start.line,r.range.start.character+1)),"%"),i.edit=o,i}createGotoWikiAction(e,t,r){let i=new Ut.CodeAction(y.matplotlibWidgetCodeActionTitle,Ut.CodeActionKind.QuickFix);return i.isPreferred=!0,i.diagnostics=[r],i.command={title:y.matplotlibWidgetCodeActionTitle,command:"vscode.open",arguments:[t]},i}analyzeNotebook(e){e.notebookType===St&&e.getCells().forEach((t,r)=>r<100?this.queueCellForProcessing(t):void 0)}queueCellForProcessing(e){this.cellsToProcess.add(e),this.analyzeNotebookCells()}analyzeNotebookCells(){if(this.cellsToProcess.size===0)return;let e=this.cellsToProcess.values().next().value;this.cellsToProcess.delete(e),this.analyzeNotebookCell(e),setTimeout(()=>this.analyzeNotebookCells(),0)}analyzeNotebookCell(e){if(e.kind!==Ut.NotebookCellKind.Code||e.document.languageId!==ge||e.notebook.isClosed||e.document.isClosed||this.notebooksProcessed.get(e.notebook)?.get(e.document.uri.toString())===e.document.version)return;this.problems.delete(e.document.uri);let t=this.notebooksProcessed.get(e.notebook)||new Map;t.set(e.document.uri.toString(),e.document.version),this.notebooksProcessed.set(e.notebook,t);for(let r=0;r<Math.min(e.document.lineCount,50);r++){let i=e.document.lineAt(r),o=i.text;if(o.trim().startsWith("!pip install")){let s=o.indexOf("!"),a=o.indexOf("l"),l=new Ut.Range(i.lineNumber,s,i.lineNumber,a+2);this.problems.set(e.document.uri,[{message:p0,range:l,severity:Ut.DiagnosticSeverity.Error,source:m0}])}else if(o.trim().startsWith("!conda install")){let s=o.indexOf("!"),a=o.indexOf("l"),l=new Ut.Range(i.lineNumber,s,i.lineNumber,a+2);this.problems.set(e.document.uri,[{message:QO,range:l,severity:Ut.DiagnosticSeverity.Error,source:m0}])}else if(o.trim().startsWith("%matplotlib")&&!o.trim().endsWith("widget")&&!o.trim().endsWith("inline")){let s=o.indexOf("%"),a=o.length,l=new Ut.Range(i.lineNumber,s,i.lineNumber,a);this.problems.set(e.document.uri,[{message:I4,range:l,severity:Ut.DiagnosticSeverity.Warning,source:m0}])}}}};iI=v([(0,f0.injectable)(),m(0,(0,f0.inject)(M))],iI);var b0=k(N()),pr=require("vscode");var S4=new Map([["method",0],["function",1],["constructor",2],["field",3],["variable",4],["class",5],["struct",6],["interface",7],["module",8],["property",9],["event",10],["operator",11],["unit",12],["value",13],["constant",14],["enum",15],["enumMember",16],["keyword",17],["text",18],["color",19],["file",20],["reference",21],["customcolor",22],["folder",23],["typeParameter",24],["snippet",25],["<unknown>",3]]);function h0(n){if(n>=300)return"ZZZZZZZ";if(n<=25)return`A${String.fromCharCode(65+n)}`;let e=String.fromCharCode(65+Math.ceil(n/25)),t=String.fromCharCode(65+n%25);return`${e}${t}`}var D4=require("vscode");var Df=require("vscode");var Vme=new Map([["julia",$me],["python",Jme],["r",qme]]);function C4(n,e){let t=Vme.get(e.toLowerCase());return t?t(n):n}var jme=["Docstring:","Options:","Parameters","Returns","See Also","Notes","Examples","Usage:","Subclasses:"];function Jme(n){let e=Oe(n,{trim:!1,removeEmptyEntries:!1}),t=-1,r=!1,i=!1,o=[],s=new Set,a=!1,l="",c=!1,u=!1;if(e.map((f,g)=>{if(g===0){let I=["Signature:","Init signature:"].find(E=>f.toLowerCase().startsWith(E.toLowerCase()));if(I){r=!0,f=f.substring(I.length).trim(),o.push("```python"),f.trim().length&&(o.push(f),c=!0);return}}if(f.startsWith("File:")&&g===e.length-1||f.startsWith("Type:")&&g===0)return;if(!a&&f.toLowerCase().startsWith("String form:".toLowerCase())){i=!0;return}let b=jme.find(I=>f.trim().toLowerCase().startsWith(I.toLowerCase()));if(b&&!s.has(b)){l=b.toLowerCase(),s.add(b),a=!0,t=g,i=!1,r&&o.push("```","----------"),r=!1,u=!1,l!=="docstring:"&&o.push(`## ${b}`);let I=f.includes(":")?f.split(":")[1].replace("<no docstring>","").trim():"";I.length&&(o.push(I),c=!0);return}if(!i){if(t+1===g&&f.replace(/-/g,"").replace(/:/g,"").replace("<no docstring>","").trim().length===0){t=g,i=!1,r=!1,u=!1;return}if(l==="parameters"||l==="see also"){f.trim().length&&f.includes(":")&&f.substring(0,1)===f.trim().substring(0,1)?o.push(`* ${f}`):o.push(f),c=c||f.trim().length>0;return}if(l==="options:"){f.startsWith("-")&&f.trim().length&&f.includes(":")&&f.substring(0,1)===f.trim().substring(0,1)?o.push(`* ${f}`):o.push(f),c=c||f.trim().length>0;return}if(l==="returns"){f.trim().length&&f.substring(0,1)===f.trim().substring(0,1)?o.push(`* ${f}`):o.push(f),c=c||f.trim().length>0;return}if(l==="examples"&&!r&&(t+1===g||t+2===g))return i=!1,r=!0,c=c||f.trim().length>0,o.push("```python",f);if(!r&&f.startsWith("class ")&&f.trim().endsWith("):")){r=!0,u=!0,o.push("```python",f),c=c||f.trim().length>0;return}if(r&&u&&f.trim().length>0&&f.substring(0,1)!==" "&&f.substring(0,1)!==" ")return r=!1,u=!1,o.push(f,"```");c=c||f.trim().length>0,o.push(f)}}),!c)return"";let d=o.join(`
|
||
`);return r?new Df.MarkdownString(d+" \n```"):new Df.MarkdownString(d)}var Bme=[{section:"Examples:",header:"Examples",nextLine:/≡/g},{section:"Usage note",header:"Usage note",nextLine:/≡/g},{section:"Note:",header:"\u2502 Note",nextLine:"\u2502"},{section:"Note:",header:"\u2502 Note",nextLine:String.fromCharCode(9474)}];function $me(n){let e=Oe(n,{trim:!1,removeEmptyEntries:!1}),t=!1,r=[],i=new Set,o="",s=!1,a=!1;e.every(c=>c.trim().length===0||c.startsWith(" "))&&e.forEach((c,u)=>e[u]=c.trim().length?c.substring(2):c),e.map((c,u)=>{if(c.trim()==="\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")return a=!1,r.push(c);if(!a)return o="signature",t=!0,a=!0,c.trim().length?(s=!0,r.push("```julia",c)):r.push("```julia");o==="signature"&&c.trim()===""&&(o="",t=!1,s=!1,r.push("```"));let d=Bme.find(f=>c.trim().toLowerCase().startsWith(f.header.toLowerCase()));if(d&&(typeof d.nextLine=="string"?e[u+1].trim()===d.nextLine.trim():e[u+1].trim().replace(d.nextLine,"").length===0)){e[u+1]="",o=d.section.toLowerCase(),i.add(d.header),t&&r.push("```"),t=!1,r.push(`## ${d.section}`),o==="note:"&&!e.slice(u+1).every(f=>f.trim().length===0||f.trim().startsWith("|")||f.trim().startsWith(String.fromCharCode(9474)))&&(o="");return}if(o==="examples:"&&!t)return t=!0,c.trim().length?(s=!0,r.push("```julia",c)):r.push("```julia");if(o==="note:"){r.push(c.trim()?c.trim().substring(1):"");return}t&&!s&&c.trim().length===0||r.push(c)});let l=r.join(`
|
||
`);return t?new Df.MarkdownString(l+" \n```"):new Df.MarkdownString(l)}function qme(n){let e=Oe(n,{trim:!1,removeEmptyEntries:!1}),t=[];e.forEach((a,l)=>e[l]=a.indexOf(" ")===0?a.substring(5):a);let r="",i=!1,o=!1;e.map(a=>{let l=a.replace(/_/g,"").trim();if(a.startsWith("_")&&a.includes(String.fromCharCode(8))&&a.split("_").length===a.split(String.fromCharCode(8)).length&&l){i&&t.push("```"),i=!1,r=l.trim().toLowerCase(),t.push(`## ${l}`);return}if((r==="examples"||r==="examples:"||r==="usage"||r==="usage:")&&!i)return i=!0,a.trim().length?(o=!0,t.push("```r",a)):t.push("```r");if(r==="note:"){t.push(a.trim()?a.trim().substring(1):"");return}i&&!o&&a.trim().length===0||t.push(a)});let s=t.join(`
|
||
`);return i?new Df.MarkdownString(s+" \n```"):new Df.MarkdownString(s)}var w4=new WeakMap;async function Iu(n,e,t){let r=w4.get(n)||0;w4.set(n,r+1);let i=uk(Fe,n),o=`application/vnd.vscode.bg.execution.${r}`,s=`application/vnd.vscode.bg.execution.${r}.result`,a=`application/vnd.vscode.bg.execution.${r}.error`,l="",c=`
|
||
def __jupyter_exec_background__():
|
||
from IPython.display import display
|
||
from threading import Thread
|
||
from traceback import format_exc
|
||
|
||
# First send a dummy response to get the display id.
|
||
# Later we'll send the real response with the actual data.
|
||
# And that can happen much later even after the execution completes,
|
||
# as that response will be sent from a bg thread.
|
||
output = display({"${o}": ""}, raw=True, display_id=True)
|
||
|
||
def do_implementation():
|
||
${e.map((f,g)=>g===0?f:` ${f}`).join(`
|
||
`)}
|
||
|
||
def bg_main():
|
||
try:
|
||
output.update({"${s}": do_implementation()}, raw=True)
|
||
except Exception as e:
|
||
output.update({"${a}": format_exc()}, raw=True)
|
||
|
||
|
||
Thread(target=bg_main, daemon=True).start()
|
||
|
||
|
||
__jupyter_exec_background__()
|
||
del __jupyter_exec_background__
|
||
`.trim(),u=new Wr;u.add(t.onCancellationRequested(()=>u.dispose()));let d=Xt(t,new Promise((f,g)=>{u.add(i.onDidReceiveDisplayUpdate(async b=>{if(t.isCancellationRequested)return f(void 0);let I=am(b);if(!l||I?.transient?.display_id!==l)return;let E=b.items.find(x=>x.mime===s);if(E)try{return f(JSON.parse(new TextDecoder().decode(E.data)))}catch(x){return g(new Error("Failed to parse the result",x))}}))})).finally(()=>{n.session&&pj(n.session,l),u.dispose()});for await(let f of i.executeCode(c,t)){if(t.isCancellationRequested)return;let g=am(f);if(!g?.transient?.display_id)continue;if(f.items.find(I=>I.mime===o)){l=g.transient.display_id;continue}if(l===g.transient.display_id){let I=f.items.find(E=>E.mime===s||E.mime===a);if(I?.mime===s)return JSON.parse(new TextDecoder().decode(I.data));if(I?.mime===a){p.warn(`Error in background execution:
|
||
`,new TextDecoder().decode(I.data));return}}}if(!t.isCancellationRequested){if(!l){p.warn("Failed to get display id for completions");return}return d}}var Hme=1,xp=Qn.IntellisenseResolveTimeout,E4=5,YO=new WeakSet,g0=class extends Error{constructor(){super("Request timed out")}};async function _4(n,e,t,r,i,o,s,a){if(!n.range||!r.session?.kernel||YO.has(r)||!dt(r.kernelConnectionMetadata)&&r.status!=="idle")return n;let l=nfe(e||n,s,a),c=rfe(l,r,t),u=og(t);try{let d=await nh(xp,new g0,Xt(u.token,c));if(!t.isCancellationRequested&&d?.status==="ok"&&d?.found){let f=Gme(d);n.documentation=C4(f,o)}}catch(d){if(d instanceof D4.CancellationError)return n;d instanceof g0&&(u.cancel(),zme(r,o,i))}finally{u.dispose()}return n}function Gme(n){return!n||n.status!=="ok"||!n.found?";":!n.data||typeof n.data!="object"?"":"text/plain"in n.data?ql(n.data["text/plain"]):""}var P4=new WeakSet;function zme(n,e,t){dt(n.kernelConnectionMetadata)||YO.has(n)||(YO.add(n),p.warn(`Failed to inspect code in kernel ${it(n.kernelConnectionMetadata)}`),P4.has(n)||(P4.add(n),R("DATASCIENCE.JUPYTER_KERNEL_CODE_COMPLETION_CANNOT_RESOLVE",void 0,{kernelId:t,kernelConnectionType:n.kernelConnectionMetadata.kind,kernelLanguage:e})))}var XO=new WeakMap,ZO=new WeakMap;async function Qme(n,e,t){let r=`return get_ipython().kernel.do_inspect("${ZS(e.code)}", ${e.cursor_pos}, ${e.detail_level})`;return{content:await Iu(n,[r],t)}}var k4={data:{},found:!1,status:"ok",metadata:{}};function Yme(n,e){if(!n.session?.kernel)return;let t=JSON.stringify(e);return XO.get(n.session.kernel)?.get(t)}function Xme(n,e,t){if(!n.session?.kernel||t.status!=="ok"||!t.found)return;let r=JSON.stringify(e),i=XO.get(n.session.kernel)||new Map;XO.set(n.session.kernel,i),i.size>100&&i.clear(),i.set(r,t)}function Zme(n){if(!n.session?.kernel)return!1;let e=ZO.get(n.session.kernel)||{maxTime:0,lastRequestTime:0,numberOfTimesMaxedOut:0};return!dt(n.kernelConnectionMetadata)&&e.maxTime>xp?(p.warn(`Not sending inspect request as previous requests took over ${xp}s.`),!1):e.numberOfTimesMaxedOut>E4?(p.warn(`Not sending inspect request as there have been at least ${E4} requests that took over ${xp}s.`),!1):e.maxTime>xp&&Date.now()-e.lastRequestTime<3e4?(p.warn(`Not sending inspect request as previous requests took over ${xp}s.`),!1):!0}async function efe(n,e){if(!n.session?.kernel||!x4(n))return;p.info(`Too many pending requests ${T4(n)} for kernel ${n.id}, waiting for it to be ready.`);let t=n.session.kernel,r=new Wr;await Xt(e,new Promise(i=>{let o=()=>{if(e.isCancellationRequested)return;if(!x4(n)){i(),z(r);return}let s=setTimeout(o,100);r.add({dispose:()=>clearTimeout(s)})};r.add(sa(e.onCancellationRequested)(()=>{i(),t.statusChanged.disconnect(o)})),t.statusChanged.connect(o),r.add({dispose:()=>{t.statusChanged.disconnect(o)}})})).finally(()=>z(r))}function tfe(n,e){if(!n.session?.kernel)return;let t=ZO.get(n.session.kernel)||{maxTime:0,lastRequestTime:0,numberOfTimesMaxedOut:0};t.maxTime=Math.max(t.maxTime,e),t.lastRequestTime=Date.now(),e>xp&&(t.numberOfTimesMaxedOut+=1),ZO.set(n.session.kernel,t)}async function rfe(n,e,t){if(!e.session?.kernel)return;let r=Yme(e,n);if(r)return r;if(!Zme(e)||(await efe(e,t),t.isCancellationRequested))return k4;let i=ife(e),o=new Ue,s=Oe(n.code).reverse()[0].slice(-50);p.trace(`Inspecting code ${s}`);let a=dt(e.kernelConnectionMetadata)?Qme(e,n,t):e.session.kernel.requestInspect(n);return a.finally(()=>i.dispose()),a.then(({content:l})=>{if(!e.session?.kernel)return;Xme(e,n,l),tfe(e,o.elapsedTime);let c=o.elapsedTime>xp?p.warn:p.debug;return t.isCancellationRequested?c(`Inspected code ${s} in ${o.elapsedTime}ms (but cancelled)`):c(`Inspected code ${s} in ${o.elapsedTime}ms`),l})}function nfe(n,e,t){let r=e.getText(),i=(typeof n.insertText=="string"?n.insertText:n.insertText?.value)||(typeof n.label=="string"?n.label:n.label.label)||"",o=r.substring(0,t.character)+i,s=t.character+i.length;return{code:o,cursor_pos:s,detail_level:0}}var Uw=new WeakMap;function x4(n){return n.session?.kernel?T4(n)>=Hme:!1}function T4(n){return n.session?.kernel?(Uw.has(n.session?.kernel)||Uw.set(n.session?.kernel,{count:0}),Uw.get(n.session?.kernel)?.count||0):0}function ife(n){if(!n.session?.kernel)return{dispose:h};let e=Uw.get(n.session?.kernel)||{count:0};return Uw.set(n.session?.kernel,e),e.count+=1,{dispose:()=>{e.count-=1}}}var y0=class extends Error{constructor(){super("Request timed out")}},eF=class{constructor(e,t,r){this.kernelId=e;this.kernel=t;this.monacoLanguage=r;this.pendingCompletionRequest=new WeakMap;this.previousCompletionItems=new WeakMap}async provideCompletionItems(e,t,r,i){if(!this.kernel.session?.kernel)return[];let o=e.version;if(this.pendingCompletionRequest.has(e))return[];this.pendingCompletionRequest.set(e,{position:t,version:o});let s=new pr.Disposable(()=>{this.pendingCompletionRequest.get(e)?.position.isEqual(t)&&this.pendingCompletionRequest.get(e)?.version===o&&this.pendingCompletionRequest.delete(e)});try{let a=us(Xt(r,Promise.resolve(pr.commands.executeCommand("vscode.executeCompletionItemProvider",e.uri,t)).then(f=>f?.items||[]))),l=new Ue;if(await gi(50),r.isCancellationRequested)return[];let c=await nh(Qn.IntellisenseTimeout,new y0,this.provideCompletionItemsFromKernel(e,t,r,i));if(r.isCancellationRequested||!c||!c.length)return[];let u=await fr(0,a.promise);dt(this.kernel.kernelConnectionMetadata)&&!a.completed&&l.elapsedTime<Qn.IntellisenseTimeout+50&&(u=await fr(Qn.IntellisenseTimeout-l.elapsedTime,a.promise));let d=new Set((u||[]).map(f=>typeof f.label=="string"?f.label:f.label.label));return c.filter(f=>!d.has(typeof f.label=="string"?f.label:f.label.label))}catch(a){if(a instanceof y0)return[];throw a instanceof pr.CancellationError||p.debug("Completions failed",a),a}finally{s.dispose()}}async provideCompletionItemsFromKernel(e,t,r,i){if(r.isCancellationRequested||!this.kernel.session?.kernel)return[];let o=new Ue,s={duration:0,timesExceededTimeout:0,requestDuration:0,completionItems:0},a={kernelId:this.kernelId,kernelConnectionType:this.kernel.kernelConnectionMetadata.kind,kernelLanguage:S0(this.kernel),monacoLanguage:this.monacoLanguage,cancelled:!1,kernelStatusBeforeRequest:this.kernel.status,completed:!1,requestSent:!1};if(!dt(this.kernel.kernelConnectionMetadata)&&this.kernel.status!=="idle")return[];let l=e.getText(),c=e.offsetAt(t);a.requestSent=!0;let u=await Xt(r,this.getKernelCompletion(l,c,r));if(p.debug(`Jupyter completion time: ${o.elapsedTime}`),a.cancelled=r.isCancellationRequested,a.completed=!r.isCancellationRequested,a.kernelStatusAfterRequest=this.kernel.status,s.requestDuration=r.isCancellationRequested?0:o.elapsedTime,r.isCancellationRequested)return[];if(u?.content?.status!=="ok"||(u?.content?.matches?.length??0)===0)return A4(this.kernel,s,a),[];let d={matches:u.content.matches,cursor:{start:u.content.cursor_start,end:u.content.cursor_end},metadata:u.content.metadata},f=d.metadata?d.metadata._jupyter_types_experimental:[];s.completionItems=d.matches.length,A4(this.kernel,s,a);let g={code:l,cursor:d.cursor,documentRef:new WeakRef(e),position:e.positionAt(d.cursor.start)},b=new pr.Range(e.positionAt(d.cursor.start),e.positionAt(d.cursor.end)),I=[];return Array.isArray(f)&&f.length>=d.matches.length&&f.every(E=>E&&typeof E.text=="string")?I=u.content.matches.map((E,x)=>{let A=f[x],T=A.type?S4.get(A.type):pr.CompletionItemKind.Field,J=new pr.CompletionItem(E,T);return typeof A.start=="number"&&typeof A.end=="number"?J.range=new pr.Range(e.positionAt(A.start),e.positionAt(A.end)):J.range=b,J.insertText=A.text,J.sortText=h0(x),dt(this.kernel.kernelConnectionMetadata)&&(E.startsWith("%")||E.startsWith("!"))&&(J.sortText=`ZZZ${J.sortText}`),this.previousCompletionItems.set(J,{...g,originalCompletionItem:JSON.parse(JSON.stringify(J))}),J}):I=d.matches.map((E,x)=>{let A=new pr.CompletionItem(E);return A.range=b,A.sortText=h0(x),dt(this.kernel.kernelConnectionMetadata)&&(E.startsWith("%")||E.startsWith("!"))&&(A.sortText=`ZZZ${A.sortText}`),this.previousCompletionItems.set(A,{...g,originalCompletionItem:A}),A}),dt(this.kernel.kernelConnectionMetadata)?lfe(i.triggerCharacter,this.allowStringFilterForPython,I,e,t):I}async resolveCompletionItem(e,t){if(!e.range||!this.kernel.session?.kernel)return e;let r=this.previousCompletionItems.get(e);if(!r)return e;let{documentRef:i,position:o,originalCompletionItem:s}=r,a=i.deref();return a?_4(e,s,t,this.kernel,this.kernelId,this.monacoLanguage,a,o):e}async getKernelCompletion(e,t,r){if(this.kernel.session?.kernel)return dt(this.kernel.kernelConnectionMetadata)?this.getPythonKernelCompletion(e,t,r):Xt(r,this.kernel.session.kernel.requestComplete({code:e,cursor_pos:t}))}async getPythonKernelCompletion(e,t,r){let i=`return get_ipython().kernel.do_complete("${ZS(e)}", ${t})`;return{content:await Iu(this.kernel,[i],r)}}},R4=new WeakMap,v0=new WeakMap;function A4(n,e,t){let r=R4.get(n),i=v0.get(n)?.count||0;e.duration>=Qn.IntellisenseTimeout&&v0.set(n,{count:i+1,measures:e,properties:t}),e.timesExceededTimeout=i,r?r.elapsedTime>6e4&&(R("DATASCIENCE.JUPYTER_KERNEL_CODE_COMPLETION",e,t),r.reset(),v0.delete(n)):(R("DATASCIENCE.JUPYTER_KERNEL_CODE_COMPLETION",e,t),r=new Ue,R4.set(n,new Ue),v0.delete(n))}var tF=class extends Qt{constructor(t,r){super();this.kernel=t;this.notebookEditorProvider=r;this.cellCompletionProviders=new WeakMap;this.completionItemsSent=new WeakMap;this.monacoLanguage=I0(this.kernel);this.registerCompletionProvider(),this._register(pr.workspace.onDidChangeConfiguration(i=>{if(i.affectsConfiguration("jupyter.enableKernelCompletions"))if(N4(this.kernel.notebook.uri))this.completionProvider||this.registerCompletionProvider();else{this.completionProvider?.dispose(),this.completionProvider=void 0;return}!i.affectsConfiguration("jupyter.completionTriggerCharacters")&&!i.affectsConfiguration("jupyter.pythonCompletionTriggerCharacters")||this.registerCompletionProvider()}))}registerCompletionProvider(){if(!N4(this.kernel.notebook.uri))return;let t=ofe(this.kernel);if(t.length===0){sfe(this.kernel);return}p.trace(`Registering Kernel Completion Provider from kernel ${it(this.kernel.kernelConnectionMetadata)} for language ${this.monacoLanguage}`),this.allowStringFilterForPython=t.includes("'")||t.includes('"'),this.completionProvider?.dispose(),this.completionProvider=void 0,this.completionProvider=pr.languages.registerCompletionItemProvider(this.monacoLanguage,this,...t)}dispose(){super.dispose(),this.completionProvider?.dispose()}async provideCompletionItems(t,r,i,o){if(this.notebookEditorProvider.findAssociatedNotebookDocument(t.uri)!==this.kernel.notebook)return[];let s=this.cellCompletionProviders.get(t);if(!s){let a=await at(this.kernel.kernelConnectionMetadata.id);s=new eF(a,this.kernel,this.monacoLanguage),this.cellCompletionProviders.set(t,s)}return s.allowStringFilterForPython=this.allowStringFilterForPython,s.provideCompletionItems(t,r,i,o).then(a=>(a.forEach(l=>this.completionItemsSent.set(l,s)),a))}async resolveCompletionItem(t,r){let i=this.completionItemsSent.get(t);return i?i.resolveCompletionItem(t,r):t}},Dp=class extends Qt{constructor(t){super();this.kernelCompletionProviders=new WeakMap;t.push(this)}activate(){let t=be.instance.get(De);this._register(t.onDidStartKernel(async r=>{if(r.session?.kernel&&dt(r.kernelConnectionMetadata)&&r.session.kernel.requestComplete({code:"__file__.",cursor_pos:9}),!I0(r)||this.kernelCompletionProviders.has(r))return;let o=be.instance.get(ci),s=this._register(new tF(r,o));this.kernelCompletionProviders.set(r,s)})),this._register(t.onDidDisposeKernel(r=>{this.kernelCompletionProviders.get(r)?.dispose()}))}};Dp=v([(0,b0.injectable)(),m(0,(0,b0.inject)(M))],Dp);function I0(n){return cl(S0(n))}function S0(n){let e="";switch(n.kernelConnectionMetadata.kind){case"connectToLiveRemoteKernel":e=n.kernelConnectionMetadata.kernelModel.language;break;case"startUsingRemoteKernelSpec":e=n.kernelConnectionMetadata.kernelSpec.language;break;case"startUsingLocalKernelSpec":e=n.kernelConnectionMetadata.kernelSpec.language;break;default:e=n.kernelConnectionMetadata.kernelSpec.language;break}return(e||"").toLowerCase()}function N4(n){return pr.workspace.getConfiguration("jupyter",n).get("enableKernelCompletions",!1)}function ofe(n){let e=pr.workspace.getConfiguration("jupyter",n.notebook.uri).get("completionTriggerCharacters");if(!e||typeof e!="object")return[];let t=S0(n),r=I0(n);return t in e?Array.isArray(e[t])?e[t]:[]:r in e?Array.isArray(e[r])?e[r]:[]:[]}function sfe(n){let e=S0(n),t=I0(n);e.toLowerCase()===t.toLowerCase()?p.warn(pr.l10n.t(`Kernel completions not enabled for '{0}'.
|
||
To enable Kernel completion for this language please add the following setting
|
||
jupyter.completionTriggerCharacters = {1}: [<List of characters that will trigger completions>]}.
|
||
For more information please see https://aka.ms/vscodeJupyterCompletion`,it(n.kernelConnectionMetadata),`{${e}`)):p.warn(pr.l10n.t(`Kernel completions not enabled for '{0}'.
|
||
To enable Kernel completion for this language please add the following setting
|
||
jupyter.completionTriggerCharacters = {1}: [<List of characters that will trigger completions>]}.
|
||
or the following:
|
||
jupyter.completionTriggerCharacters = {2}: [<List of characters that will trigger completions>]}.
|
||
For more information please see https://aka.ms/vscodeJupyterCompletion`,it(n.kernelConnectionMetadata),`{${e}`,`{${t}`))}function afe(n,e){let t=n.indexOf('"'),r=n.indexOf("'"),i=n.lastIndexOf('"'),o=n.lastIndexOf("'"),s=t>=0?t:r,a=i>=0?i:o;return s>=0&&e.character>s&&e.character<=a}function lfe(n,e,t,r,i){let o=t,s=i.character===0?void 0:new pr.Range(i.line,i.character-1,i.line,i.character),l=(s?r.getText(s):void 0)===".",c=r.getWordRangeAtPosition(l||n==="."?new pr.Position(i.line,i.character-1):i),u=c&&s?c.union(s):void 0,d=r.lineAt(i.line).text,f=u?r.getText(u):d,g=f.endsWith(".")||l,b=e&&(n=="'"||n=='"'||afe(d,i));return p.ci(`Jupyter completions filtering applied: ${b} on ${d}`),o=o.map((I,E)=>{let x=typeof I.label=="string"?I.label:I.label.label,A=typeof I.label=="string"?I.label:I.label.label;if(A.startsWith("%")||A.startsWith("!"))return{...I,sortText:`ZZZ${I.sortText}`};if(b)return I;let T=f?A.indexOf(f):-1,J,ne,H;if(f&&g&&A.includes(f)){J=A.substring(A.indexOf(f)+(g?f.length:0)),ne=A.substring(A.indexOf(f)+f.length);let oe=(typeof I.label=="string"?I.label.length:I.label.label.length)-ne.length;H=I.range&&"start"in I.range?new pr.Range(new pr.Position(I.range.start.line,I.range.start.character+oe),I.range.end):I.range}if(!ne&&T>0){J=A.substring(A.indexOf(f)+(g?f.length:0)),ne=A.substring(A.indexOf(f)+f.length);let oe=(typeof I.label=="string"?I.label.length:I.label.label.length)-ne.length;H=I.range&&"start"in I.range?new pr.Range(new pr.Position(I.range.start.line,I.range.start.character+oe),I.range.end):I.range}return J&&ne&&H&&(I.label=J,x=ne,I.insertText=ne,I.filterText=g?`.${ne}`:ne,I.range=H,I.sortText=h0(E)),x.endsWith("/")?{...I,command:{command:"editor.action.triggerSuggest",title:""}}:(x.includes(" ")&&(x=x.replace(/\\ /g," "),typeof I.label=="string"?I.label=I.label.replace(/\\ /g," "):I.label.label=I.label.label.replace(/\\ /g," ")),b||!x.includes(".")&&!x.endsWith("/")?I:void 0)}).filter(I=>I!==void 0),p.ci(`Jupyter completions for ${f} at pos ${i.line}:${i.character} with trigger: ${n}
|
||
${t.map(I=>I.label).join(",")}`),p.ci(`Jupyter results for ${f} at pos ${i.line}:${i.character} with trigger: ${n}
|
||
${o.map(I=>I.label).join(",")}`),o}var _p=k(N()),rF=require("vscode");var K4=k(kl());var M4=require("vscode");function C0(){let e=M4.workspace.getConfiguration("python")?.get("languageServer");return!(e!=="Pylance"&&e!=="Default")}var Tp=class{constructor(e,t,r,i,o){this.apiProvider=e;this.extensionChecker=t;this.notebookEditorProvider=r;this.controllerRegistration=i;this.kernelProvider=o;this._isPylanceExtensionInstalled()||(this.extensionChangeHandler=rF.extensions.onDidChange(this.extensionsChangeHandler.bind(this)))}activate(){!this.isUsingPylance()||!this.extensionChecker.isPythonExtensionInstalled||this.apiProvider.getApi().then(e=>{e.registerJupyterPythonPathFunction!==void 0&&e.registerJupyterPythonPathFunction(t=>this._jupyterPythonPathFunction(t))}).catch(h)}async reset(){this._isEnabled=void 0,await this.activate()}_isPylanceExtensionInstalled(){return rF.extensions.getExtension(Vp)!==void 0}async extensionsChangeHandler(){this._isPylanceExtensionInstalled()&&this.extensionChangeHandler&&(this.extensionChangeHandler.dispose(),this.extensionChangeHandler=void 0,await this.reset())}isUsingPylance(){return this._isEnabled===void 0&&(this._isEnabled=C0()),this._isEnabled}async _jupyterPythonPathFunction(e){let t=this.notebookEditorProvider.findAssociatedNotebookDocument(e);if(!t)return;let r=this.controllerRegistration.getSelected(t);if(r&&_t(r.connection)){let o=this.kernelProvider.get(t);if(!o)return;let s=[];if(!o.startedAtLeastOnce){let b=new Promise(I=>o.onStarted(I,void 0,s));await fr(5e3,void 0,b)}if(!o.startedAtLeastOnce)return;let a=this.kernelProvider.getKernelExecution(o),l=`
|
||
import os as _VSCODE_os
|
||
import sys as _VSCODE_sys
|
||
import builtins as _VSCODE_builtins
|
||
|
||
if _VSCODE_os.path.exists("${__filename}"):
|
||
_VSCODE_builtins.print(f"EXECUTABLE{_VSCODE_sys.executable}EXECUTABLE")
|
||
|
||
del _VSCODE_os, _VSCODE_sys, _VSCODE_builtins
|
||
`,u=(await a.executeHidden(l).catch(h)||[]).find(b=>b.output_type==="stream"&&b.name==="stdout");if(!u||!(u.text||"").toString().includes("EXECUTABLE"))return;let d=(u.text||"").toString();d=d.substring(d.indexOf("EXECUTABLE"));let f=d.split("EXECUTABLE").filter(b=>b.trim().length),g=f.length?f[0].trim():"";return!g||!await K4.pathExists(g)?void 0:(p.debug(`Remote Interpreter for Pylance for Notebook URI "${j(t.uri)}" is ${j(g)}`),g)}let i=r?.connection?.interpreter;return i?(p.debug(`Interpreter for Pylance for Notebook URI "${j(t.uri)}" is ${j(i.uri)}`),ke(i.uri)):(p.debug(`No interpreter for Pylance for Notebook URI "${j(t.uri)}"`),"")}};Tp=v([(0,_p.injectable)(),m(0,(0,_p.inject)(Ht)),m(1,(0,_p.inject)(Be)),m(2,(0,_p.inject)(ci)),m(3,(0,_p.inject)(ot)),m(4,(0,_p.inject)(De))],Tp);function O4(n){n.addSingleton(me,iI),n.addSingleton(Dp,Dp),n.addBinding(Dp,me),n.addSingleton(Tp,Tp),n.addBinding(Tp,me)}var sI=k(N());var F4=require("vscode");var oI=class{constructor(e,t,r){this.extensionChecker=e;this.disposables=t;this.kernelProvider=r}activate(){this.extensionChecker.onPythonExtensionInstallationStatusChanged(this.onPythonExtensionInstallationStatusChanged,this,this.disposables)}async onPythonExtensionInstallationStatusChanged(e){e==="installed"&&this.anyKernelsAreActive()&&F4.window.showInformationMessage(y.pythonExtensionInstalled,de.ok).then(h,h)}anyKernelsAreActive(){return this.kernelProvider.kernels.length>0}};oI=v([(0,sI.injectable)(),m(0,(0,sI.inject)(Be)),m(1,(0,sI.inject)(M)),m(2,(0,sI.inject)(De))],oI);var Or=k(N()),W4=k(Io()),yt=require("vscode");var cc=require("vscode");var w0=class{constructor(e,t,r,i,o){this.configService=e;this.agentCreator=t;this.requestCreator=r;this.serverUriStorage=i;this.disposables=o;this.savedConnectInfo=new Map;this.serverUriStorage.onDidRemove(this.onDidRemoveServers,this,this.disposables)}getPasswordConnectionInfo(e){if(!e.url||e.url.length<1)throw new Error("Invalid URL");let t=aI(e.url),r=e.disposables||[],i=!Array.isArray(e.disposables),o=this.savedConnectInfo.get(e.handle);return o||(o=this.getJupyterConnectionInfo({url:t,isTokenEmpty:e.isTokenEmpty,disposables:r,validationErrorMessage:e.validationErrorMessage}).then(s=>((!s||s.requiresPassword&&Object.keys(s).length===1)&&(p.warn(`Password for ${t} was invalid.`),this.savedConnectInfo.delete(e.handle)),s)),o.catch(()=>this.savedConnectInfo.delete(e.handle)),o.finally(()=>{i&&z(r)}).catch(h),this.savedConnectInfo.set(e.handle,o)),o}async getJupyterConnectionInfo(e){let t,r,i,o,s=await this.needPassword(e.url);if(s||e.isTokenEmpty){if(s&&e.isTokenEmpty){let a=cc.window.createInputBox();e.disposables.push(a),a.title=y.jupyterSelectPasswordTitle,a.placeholder=y.jupyterSelectPasswordPrompt,a.ignoreFocusOut=!0,a.password=!0,a.validationMessage=e.validationErrorMessage||"",a.show(),a.buttons=[cc.QuickInputButtons.Back],o=await new Promise((l,c)=>{a.onDidTriggerButton(u=>{u===cc.QuickInputButtons.Back&&c(_e.back)},this,e.disposables),a.onDidChangeValue(()=>a.validationMessage="",this,e.disposables),a.onDidAccept(()=>l(a.value),this,e.disposables),a.onDidHide(()=>c(_e.cancel),this,e.disposables)})}if(typeof o===void 0&&!o&&e.isTokenEmpty)throw new cc.CancellationError;if(o||e.isTokenEmpty)if(t=await this.getXSRFToken(e.url,""),t){let a=await this.getSessionCookie(e.url,t,o||"");r=a.sessionCookieName,i=a.sessionCookieValue}else r="authservice_session",i=o,t=await this.getXSRFToken(e.url,`${r}=${i}`);else return{requiresPassword:s}}else return{requiresPassword:s};return t&&r&&(i||e.isTokenEmpty)?(R("DS_INTERNAL.GET_PASSWORD_SUCCESS"),{requestHeaders:{Cookie:`_xsrf=${t}; ${r}=${i||""}`,"X-XSRFToken":t},requiresPassword:s}):(R("DS_INTERNAL.GET_PASSWORD_FAILURE"),{requiresPassword:s})}addAllowUnauthorized(e,t,r){if(e.startsWith("https")&&t&&this.agentCreator){let i=this.agentCreator.createHttpRequestAgent();return{...r,agent:i}}return r}async getXSRFToken(e,t){let r,i,o=new URL("login?",aI(e)).toString();t!=""?(o=new URL("tree",aI(e)).toString(),i={Connection:"keep-alive",Cookie:t}):i={Connection:"keep-alive"};let s=await this.makeRequest(o,{method:"get",redirect:"manual",headers:i});if(s!==void 0&&s.ok){let a=this.getCookies(s);a.has("_xsrf")&&(r=a.get("_xsrf")?.split(";")[0])}return r}async needPassword(e){let t=await this.makeRequest(aI(e),{method:"get",redirect:"follow",headers:{Connection:"keep-alive"}});if(t.status===200&&t.redirected){if(t.url.toLowerCase().includes("/login?"))return!0;if(t.url.toLowerCase().includes("/lab?"))return!1}let r=new URL("tree?",aI(e)).toString();return t=await this.makeRequest(r,{method:"get",redirect:"manual",headers:{Connection:"keep-alive"}}),t.status===404?(p.error(`Jupyter Server not found at ${e}, got 404 for ${r}`),!1):t.status!==200}async makeRequest(e,t){let r=this.configService.getSettings(void 0).allowUnauthorizedRemoteConnection;try{return await this.requestCreator.getFetchMethod()(e,this.addAllowUnauthorized(e,!!r,t))}catch(i){if(i.message.indexOf("reason: self signed certificate")>=0){let o=y.jupyterSelfCertEnable,s=y.jupyterSelfCertClose,a=await cc.window.showErrorMessage(y.jupyterSelfCertFail(i.message),{modal:!0},o,s);if(a===o)return R("DATASCIENCE.SELFCERTSMESSAGEENABLED"),await this.configService.updateSetting("allowUnauthorizedRemoteConnection",!0,void 0,cc.ConfigurationTarget.Workspace),this.requestCreator.getFetchMethod()(e,this.addAllowUnauthorized(e,!0,t));a===s&&R("DATASCIENCE.SELFCERTSMESSAGECLOSE")}throw i}}async getSessionCookie(e,t,r){let i,o,s=new URLSearchParams;s.append("_xsrf",t),s.append("password",r);let a=await this.makeRequest(new URL("login?",aI(e)).toString(),{method:"post",headers:{Cookie:`_xsrf=${t}`,Connection:"keep-alive","content-type":"application/x-www-form-urlencoded;charset=UTF-8"},body:s.toString(),redirect:"manual"});if(a.status===302){let l=this.getCookies(a);l.size>0&&(i=l.entries().next().value[0],o=l.entries().next().value[1])}return{sessionCookieName:i,sessionCookieValue:o}}getCookies(e){let t=new Map,i=(e.headers.raw?e.headers.raw():e.headers)["set-cookie"];return i&&i.forEach(o=>{let s=o.substring(0,o.indexOf("=")),a=o.substring(o.indexOf("=")+1);t.set(s,a)}),t}onDidRemoveServers(e){e.forEach(t=>{t.id.startsWith("_builtin")&&this.savedConnectInfo.delete(t.handle)})}};function aI(n){let e=n;return e[e.length-1]!=="/"&&(e=`${e}/`),e}var P0=require("vscode");var E0=class{constructor(e,t,r,i,o,s,a){this.multiStepFactory=e;this.asyncDisposableRegistry=t;this.configService=r;this.agentCreator=i;this.requestCreator=o;this.serverUriStorage=s;this.disposables=a;this.savedConnectInfo=new Map;this.serverUriStorage.onDidRemove(this.onDidRemoveServers,this,this.disposables)}async getPasswordConnectionInfo(e){if(!e.url||e.url.length<1)throw new Error("Invalid URL");if(!await this.isJupyterHub(e.url))throw new Error("Not a Jupyter Hub Url");let t=L4(e.url),r=e.disposables||[],i=!Array.isArray(e.disposables),o=this.savedConnectInfo.get(e.handle);return o||(o=this.getJupyterHubConnectionInfo(t,e.validationErrorMessage).then(s=>((!s||s.requiresPassword&&Object.keys(s).length===1)&&(p.warn(`Password for ${t} was invalid.`),this.savedConnectInfo.delete(e.handle)),s)),o.catch(()=>this.savedConnectInfo.delete(e.handle)),o.finally(()=>{i&&z(r)}).catch(h),this.savedConnectInfo.set(e.handle,o)),o}async isJupyterHub(e){try{if(e.toLowerCase().includes("/user/")&&e.includes("token="))return!1;if(e.toLowerCase().includes("/user/")&&!e.includes("token="))return!0;let t=await this.makeRequest(new URL("hub/api",L4(e)).toString(),{method:"get"});if(t.status!==200)return!1;try{let r=await t.json();return p.trace(`JupyterHub version is ${r&&r.version} for url ${e}`),r&&r.version}catch{}return!1}catch(t){return p.debug(`Error in detecting whether url is isJupyterHub: ${t}`),!1}}async getJupyterHubConnectionInfo(e,t){try{let r=await this.getUserNameAndPassword(t);if(r.username||r.password){let i=await this.getJupyterHubConnectionInfoFromLogin(e,r.username,r.password);if(i){let o=Object.keys(i||{}).length===0,s=o?"emptyResponseFromLogin":"gotResponseFromLogin";R("DS_INTERNAL.JUPYTER_HUB_PASSWORD",void 0,{failed:o,info:s})}else{R("DS_INTERNAL.JUPYTER_HUB_PASSWORD",void 0,{failed:!0,info:"emptyResponseFromLogin"}),i=await this.getJupyterHubConnectionInfoFromApi(e,r.username,r.password);let o=Object.keys(i||{}).length===0,s=o?"emptyResponseFromApi":"gotResponseFromApi";R("DS_INTERNAL.JUPYTER_HUB_PASSWORD",void 0,{failed:o,info:s})}return i}return R("DS_INTERNAL.JUPYTER_HUB_PASSWORD",void 0,{failed:!1,info:"passwordNotRequired"}),{requiresPassword:!1}}catch(r){throw R("DS_INTERNAL.JUPYTER_HUB_PASSWORD",void 0,{failed:!0,info:"failure"}),r}}async getJupyterHubConnectionInfoFromLogin(e,t,r){let i=new URL(e),o=`${i.protocol}//${i.host}`,s=new URLSearchParams;s.append("username",t||""),s.append("password",r||"");let a=await this.makeRequest(`${o}/hub/login?next=`,{method:"POST",headers:{Connection:"keep-alive",Referer:`${o}/hub/login`,"content-type":"application/x-www-form-urlencoded;charset=UTF-8"},body:s.toString(),redirect:"manual"});if(a&&a.status===302){let c=[...this.getCookies(a).entries()].reduce((u,d)=>`${u};${d[0]}=${d[1]}`,"");if(a=await this.makeRequest(`${o}/hub/api/users/${t}/tokens`,{method:"POST",headers:{Connection:"keep-alive",Cookie:c,Referer:`${o}/hub/login`}}),a.ok&&a.status===200){let u=await a.json();if(u&&u.token&&u.id)return await this.makeRequest(`${o}/hub/api/users/${t}/server`,{method:"POST",headers:{Connection:"keep-alive",Cookie:c,Referer:`${o}/hub/login`}}),this.asyncDisposableRegistry.push({dispose:async()=>{this.makeRequest(`${o}/hub/api/users/${t}/tokens/${u.id}`,{method:"DELETE",headers:{Connection:"keep-alive",Cookie:c,Referer:`${o}/hub/login`}}).catch(h)}}),{requestHeaders:{},remappedBaseUrl:`${o}/user/${t}`,remappedToken:u.token,requiresPassword:!0}}}}async getJupyterHubConnectionInfoFromApi(e,t,r){let i=new URL(e),o=`${i.protocol}//${i.host}`,s=await this.makeRequest(`${o}/hub/api/authorizations/token`,{method:"POST",headers:{Connection:"keep-alive","content-type":"application/json;charset=UTF-8"},body:`{ "username": "${t||""}", "password": "${r||""}" }`,redirect:"manual"});if(s.ok&&s.status===200){let a=await s.json();if(a&&a.user&&a.user.server&&a.token)return{requestHeaders:{},remappedBaseUrl:`${o}${a.user.server}`,remappedToken:a.token,requiresPassword:!0}}return{requiresPassword:!1}}addAllowUnauthorized(e,t,r){if(e.startsWith("https")&&t&&this.agentCreator){let i=this.agentCreator.createHttpRequestAgent();return{...r,agent:i}}return r}async getUserNameAndPassword(e){let t=this.multiStepFactory.create(),r={username:"",password:"",validationMessage:e};return await t.run(this.getUserNameMultiStep.bind(this),r),r}async getUserNameMultiStep(e,t){if(t.username=await e.showInputBox({title:y.jupyterSelectUserAndPasswordTitle,prompt:y.jupyterSelectUserPrompt,validate:this.validateUserNameOrPassword,validationMessage:t.validationMessage,value:""}),t.username)return this.getPasswordMultiStep.bind(this)}async validateUserNameOrPassword(e){}async getPasswordMultiStep(e,t){t.password=await e.showInputBox({title:y.jupyterSelectUserAndPasswordTitle,prompt:y.jupyterSelectPasswordPrompt,validate:this.validateUserNameOrPassword,value:"",password:!0})}async makeRequest(e,t){let r=this.configService.getSettings(void 0).allowUnauthorizedRemoteConnection;try{return await this.requestCreator.getFetchMethod()(e,this.addAllowUnauthorized(e,!!r,t))}catch(i){if(i.message.indexOf("reason: self signed certificate")>=0){let o=y.jupyterSelfCertEnable,s=y.jupyterSelfCertClose,a=await P0.window.showErrorMessage(y.jupyterSelfCertFail(i.message),{modal:!0},o,s);if(a===o)return R("DATASCIENCE.SELFCERTSMESSAGEENABLED"),await this.configService.updateSetting("allowUnauthorizedRemoteConnection",!0,void 0,P0.ConfigurationTarget.Workspace),this.requestCreator.getFetchMethod()(e,this.addAllowUnauthorized(e,!0,t));a===s&&R("DATASCIENCE.SELFCERTSMESSAGECLOSE")}throw i}}getCookies(e){let t=new Map,i=(e.headers.raw?e.headers.raw():e.headers)["set-cookie"];return i&&i.forEach(o=>{let s=o.substring(0,o.indexOf("=")),a=o.substring(o.indexOf("=")+1);t.set(s,a)}),t}onDidRemoveServers(e){e.forEach(t=>{t.id.startsWith("_builtin")&&this.savedConnectInfo.delete(t.handle)})}};function L4(n){let e=n;return e[e.length-1]!=="/"&&(e=`${e}/`),e}var k0="user-jupyter-server-uri-list-version2";var cfe="DataScienceAllowInsecureConnections",lI=class extends Qt{constructor(t,r,i,o,s,a,l,c,u,d,f,g,b,I=pR){super();this.jupyterConnection=r;this.context=f;this.fs=g;this.jupyterServerProviderRegistry=b;this.id=I;this.extensionId=Fe;this.documentation=yt.Uri.parse("https://aka.ms/vscodeJuptyerExtKernelPickerExistingServer");this.displayName=y.UserJupyterServerUrlProviderDisplayName;this.detail=y.UserJupyterServerUrlProviderDetail;this._onDidChangeHandles=this._register(new yt.EventEmitter);this.onDidChangeHandles=this._onDidChangeHandles.event;this._onDidChangeServers=this._register(new yt.EventEmitter);this.onDidChangeServers=this._onDidChangeServers.event;a.push(this),this.newStorage=new jw(i),this.secureConnectionValidator=new Vw(s),this.jupyterServerUriInput=new Ww(d),this.jupyterServerUriDisplayName=new nF,this.jupyterPasswordConnect=new w0(t,u,d,o,a),this.jupyterHubPasswordConnect=new E0(l,c,t,u,d,o,a)}activate(){let t=this._register(this.jupyterServerProviderRegistry.createJupyterServerCollection(Fe,this.id,this.displayName,this));t.commandProvider=this,t.documentation=this.documentation,this._register(this.onDidChangeHandles(()=>this._onDidChangeServers.fire(),this)),this._register(yt.commands.registerCommand("dataScience.ClearUserProviderJupyterServerCache",async()=>{await Promise.all([this.newStorage.clear().catch(h),this.fs.delete(yt.Uri.joinPath(this.context.globalStorageUri,ty)).catch(h)]),this._onDidChangeHandles.fire()})),this.initializeServers().catch(h)}async resolveJupyterServer(t,r){let i=await this.getServerUri(t.id);return{...t,connectionInformation:{id:t.id,label:t.label,baseUrl:yt.Uri.parse(i.baseUrl),token:i.token,headers:i.authorizationHeader,mappedRemoteNotebookDir:i.mappedRemoteNotebookDir?yt.Uri.file(i.mappedRemoteNotebookDir):void 0}}}async handleCommand(t,r){let i=new yt.CancellationTokenSource;this._register(new yt.Disposable(()=>{i.cancel(),i.dispose()}));try{let o="url"in t?t.url:void 0,s=await this.captureRemoteJupyterUrl(i.token,o);if(!s||s===_e.cancel)throw new yt.CancellationError;if(s&&s instanceof _e)return;let l=(await this.provideJupyterServers(i.token)).find(c=>c.id===s);if(!l)throw new Error(`Server ${s} not found`);return l}catch(o){if(o instanceof yt.CancellationError)throw o;p.error("Failed to select a Jupyter Server",o);return}finally{i.cancel(),i.dispose()}}async provideCommands(t,r){let i="";try{t=(t||"").trim(),["http:","https:"].includes(new URL(t.trim()).protocol.toLowerCase())&&(i=t)}catch{}return i?[{label:y.connectToToTheJupyterServer(i),url:i}]:[{label:y.jupyterSelectUriCommandLabel,canBeAutoSelected:!0}]}async provideJupyterServers(t){return await this.initializeServers(),(await this.newStorage.getServers(!1)).map(i=>({id:i.handle,label:i.serverInfo.displayName}))}async removeJupyterServer(t){await this.initializeServers(),await this.newStorage.remove(t.id),this._onDidChangeHandles.fire()}initializeServers(){if(this._cachedServerInfoInitialized)return this._cachedServerInfoInitialized;let t=re();return this._cachedServerInfoInitialized=t.promise,(async()=>{this.newStorage.getServers(!1).catch(h),t.resolve()})().then(()=>t.resolve(),r=>t.reject(r)).catch(h),this._cachedServerInfoInitialized}recommendInstallingJupyterHubExtension(){if(!yt.workspace.getConfiguration("jupyter").get("bypassJupyterHubExtensionCheck"))throw yt.extensions.getExtension(Yf)?yt.window.showInformationMessage(y.useJupyterHubExtension,{modal:!0,detail:y.useJupyterHubExtensionDetail}).then(()=>{yt.commands.executeCommand("notebook.selectKernel",{notebookEditor:yt.window.activeNotebookEditor}).then(h,h)},h):yt.window.showInformationMessage(y.installJupyterHub,{modal:!0,detail:y.installJupyterHubDetail},de.install,de.moreInfo).then(t=>{t===de.install?yt.commands.executeCommand("workbench.extensions.installExtension",Yf,{context:{skipWalkthrough:!0}}).then(h,h):t===de.moreInfo&&yt.env.openExternal(yt.Uri.parse("https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter-hub")).then(h,h)},h),new yt.CancellationError}async captureRemoteJupyterUrl(t,r=""){await this.initializeServers();let i=[],o={baseUrl:"",displayName:"",token:""},s="",a=!1,l=!1,c,u="Get Url",d="Get Url",f=r,g=!1;if(r){let b=await this.jupyterServerUriInput.parseUserUriAndGetValidationError(r);typeof b.validationError=="string"?(s=b.validationError,u="Get Url"):(g=!0,o=b.jupyterServerUri,u="Check Passwords")}try{let b=!1,I=!1;for(;;)try{if(c=(0,W4.default)(),u==="Get Url"){g=!1,u="Check Passwords",d=void 0;let x=s;s="";let A=await this.jupyterServerUriInput.getUrlFromUser(f||r,x,i);o=A.jupyterServerUri,f=A.url}if(t.isCancellationRequested)return _e.cancel;let E=[];if(u==="Check Passwords"){u="Check Insecure Connections",d=g&&r?void 0:"Get Url";try{let x=s;s="",b=await this.jupyterHubPasswordConnect.isJupyterHub(o.baseUrl),b&&this.recommendInstallingJupyterHubExtension();let A=b?await this.jupyterHubPasswordConnect.getPasswordConnectionInfo({url:o.baseUrl,handle:c,displayName:o.displayName,validationErrorMessage:x,disposables:E}):await this.jupyterPasswordConnect.getPasswordConnectionInfo({url:o.baseUrl,isTokenEmpty:o.token.length===0,handle:c,validationErrorMessage:x,disposables:E});a=A.requiresPassword,o.authorizationHeader=A.requestHeaders,I=!1}catch(x){if(I=!1,x instanceof yt.CancellationError||x==_e.back||x==_e.cancel)throw x;if(!Oo.isSelfCertsError(x)){if(!pl.isSelfCertsExpiredError(x)){_f(c,o.baseUrl,b,"ConnectionFailure");let A=/(https?:\/\/[^\s]+)/g,T=(x.message||x.toString()).replace(A,J=>`[${J}](${J})`);if(s=(tn()?y.remoteJupyterConnectionFailedWithoutServerWithErrorWeb:y.remoteJupyterConnectionFailedWithoutServerWithError)(T),o.token.length>0&&(x.message||"").toLowerCase()==="Failed to fetch".toLowerCase())I=!0;else{u="Get Url";continue}}}}finally{E.forEach(x=>this._register(x))}}if(t.isCancellationRequested)return _e.cancel;if(u==="Check Insecure Connections"&&(u="Verify Connection",d=a&&o.token.length===0?"Check Passwords":"Get Url",d==="Get Url"&&(d=g&&r?void 0:"Get Url"),!a&&o.token.length===0&&new URL(o.baseUrl).protocol.toLowerCase()==="http:"&&(l=!0,z(E),!await this.secureConnectionValidator.promptToUseInsecureConnections())))return _f(c,o.baseUrl,b,"InsecureHTTP"),_e.cancel;if(t.isCancellationRequested)return _e.cancel;if(u==="Verify Connection")try{u="Get Display Name",await this.jupyterConnection.validateRemoteUri({id:this.id,handle:c,extensionId:Fe},o,!0)}catch(x){if(p.warn("Uri verification error",x),I&&s){u="Get Url";continue}if(x instanceof yt.CancellationError||x==_e.back||x==_e.cancel)throw x;if(Oo.isSelfCertsError(x)){s=y.jupyterSelfCertFailErrorMessageOnly,u="Get Url",_f(c,o.baseUrl,b,"SelfCert");continue}else if(pl.isSelfCertsExpiredError(x)){s=y.jupyterSelfCertExpiredErrorMessageOnly,u="Get Url",_f(c,o.baseUrl,b,"ExpiredCert");continue}else if(a&&o.token.length===0){s=y.passwordFailure,u="Check Passwords",_f(c,o.baseUrl,b,"AuthFailure");continue}else{_f(c,o.baseUrl,b,"ConnectionFailure");let A=/(https?:\/\/[^\s]+)/g,T=(x.message||x.toString()).replace(A,J=>`[${J}](${J})`);s=(tn()?y.remoteJupyterConnectionFailedWithoutServerWithErrorWeb:y.remoteJupyterConnectionFailedWithoutServerWithError)(T),u="Get Url";continue}}finally{z(E)}if(t.isCancellationRequested)return _e.cancel;if(u==="Get Display Name"){z(E),d=l?"Check Insecure Connections":a&&o.token.length===0?"Check Passwords":"Get Url",d==="Get Url"&&(d=g&&r?void 0:"Get Url"),o.displayName=await this.jupyterServerUriDisplayName.getDisplayName(c,o.displayName||new URL(o.baseUrl).hostname);break}}catch(E){if(E instanceof yt.CancellationError||E===_e.cancel)return _e.cancel;if(E===_e.back){if(!d)return _e.back;u=d;continue}throw E}return t.isCancellationRequested?_e.cancel:(await this.addNewServer({handle:c,uri:f,serverInfo:o}),lD({extensionId:this.extensionId,id:this.id,handle:c},o.displayName),_f(c,o.baseUrl,b),c)}catch(b){if(b instanceof yt.CancellationError)return _e.cancel;throw b}finally{z(i)}}async addNewServer(t){await this.newStorage.add(t),this._onDidChangeHandles.fire()}async getServerUri(t){let i=(await this.newStorage.getServers(!1)).find(c=>c.handle===t);if(!i)throw new Error("Server not found");let o=i.serverInfo,s=this.jupyterServerUriDisplayName.displayNamesOfHandles.get(t);s&&(o.displayName=s);let a=await this.jupyterHubPasswordConnect.isJupyterHub(o.baseUrl),l=Object.assign({},o);try{let c=a?await this.jupyterHubPasswordConnect.getPasswordConnectionInfo({url:o.baseUrl,handle:t,displayName:o.displayName}):await this.jupyterPasswordConnect.getPasswordConnectionInfo({url:o.baseUrl,isTokenEmpty:o.token.length===0,handle:t});l=Object.assign({},o,{authorizationHeader:c.requestHeaders||o.authorizationHeader}),a&&c.remappedBaseUrl&&(l.baseUrl=c.remappedBaseUrl),a&&c.remappedToken&&(l.token=c.remappedToken)}catch(c){p.error("Failed to validate Password info",c)}return l}};lI=v([(0,Or.injectable)(),m(0,(0,Or.inject)(ie)),m(1,(0,Or.inject)(on)),m(2,(0,Or.inject)(oC)),m(3,(0,Or.inject)($t)),m(4,(0,Or.inject)(We)),m(4,(0,Or.named)(lt)),m(5,(0,Or.inject)(M)),m(6,(0,Or.inject)(wg)),m(7,(0,Or.inject)(No)),m(8,(0,Or.inject)(ad)),m(8,(0,Or.optional)()),m(9,(0,Or.inject)(Dc)),m(10,(0,Or.inject)(et)),m(11,(0,Or.inject)(tt)),m(12,(0,Or.inject)(jt)),m(13,(0,Or.optional)()),m(13,(0,Or.inject)(Date.now().toString()))],lI);var Ww=class{constructor(e){this.requestCreator=e}async getUrlFromUser(e,t="",r){if(!e&&!EE)try{let s=await yt.env.clipboard.readText(),a=s.trim().startsWith("https://github.com/")?void 0:yt.Uri.parse(s.trim(),!0);e=s&&a&&a.scheme.toLowerCase().startsWith("http")?s:""}catch{e=""}let i=yt.window.createInputBox();r.push(i),i.title=y.jupyterSelectUriInputTitle,i.placeholder=y.jupyterSelectUriInputPlaceholder,i.value=e,i.validationMessage=t,i.buttons=[yt.QuickInputButtons.Back],i.ignoreFocusOut=!0,i.show();let o=re();return i.onDidChangeValue(()=>i.validationMessage="",this,r),i.onDidHide(()=>o.reject(_e.cancel),this,r),i.onDidTriggerButton(s=>{s===yt.QuickInputButtons.Back&&o.reject(_e.back)},this,r),i.onDidAccept(async()=>{let s=await this.parseUserUriAndGetValidationError(i.value);if(typeof s.validationError=="string"){i.validationMessage=s.validationError;return}o.resolve(s)}),o.promise}async parseUserUriAndGetValidationError(e){let t=e.trim().replace(/\/(lab|tree)(\??)$/,""),r=iF(t,"");return r?(r.baseUrl=await ufe(t,this.requestCreator)||r.baseUrl,!t.toLowerCase().startsWith("http:")&&!t.toLowerCase().startsWith("https:")?{validationError:y.jupyterSelectURIMustBeHttpOrHttps}:{jupyterServerUri:r,url:t,validationError:void 0}):{validationError:y.jupyterSelectURIInvalidURI}}};Ww=v([m(0,(0,Or.inject)(Dc))],Ww);async function ufe(n,e){try{if(n=iF(n,"")?.baseUrl||n,new URL(n).pathname==="/")return n;let t=n.indexOf("token=")>0?n.substring(0,n.indexOf("token=")):n,o=(await e.getFetchMethod()(t,{method:"GET",redirect:"manual"})).headers.get("location");if(o&&o.includes("login?"))return o.substring(0,o.indexOf("login?"))}catch(t){p.debug("Unable to identify the baseUrl of the Jupyter Server",t)}}function _f(n,e,t,r){e=e.trim().toLowerCase();let i=Ot({handle:n,extensionId:Fe,id:pR});Promise.all([at(e.toLowerCase()),at(i.toLowerCase())]).then(([o,s])=>{R("DATASCIENCE.ENTER_REMOTE_JUPYTER_URL",void 0,{serverIdHash:s,failed:!!r,baseUrlHash:o,isJupyterHub:t,isLocalHost:["localhost","127.0.0.1","::1"].includes(new URL(e).hostname),reason:r})}).catch(o=>p.error(`Failed to hash remote url ${e}`,o))}var nF=class{constructor(){this.displayNamesOfHandles=new Map}async getDisplayName(e,t){let r=[];try{let i=yt.window.createInputBox();r.push(i),i.ignoreFocusOut=!0,i.title=y.jupyterRenameServer,i.value=t,i.placeholder=y.jupyterServerUriDisplayNameInputPlaceholder,i.buttons=[yt.QuickInputButtons.Back],i.show();let o=re();return r.push(i.onDidHide(()=>o.reject(_e.cancel))),i.onDidTriggerButton(s=>{s===yt.QuickInputButtons.Back&&o.reject(_e.back)},this,r),i.onDidAccept(()=>{let s=i.value.trim()||t;this.displayNamesOfHandles.set(e,s),o.resolve(s)},this,r),await o.promise}finally{z(r)}}},Vw=class{constructor(e){this.globalMemento=e}async promptToUseInsecureConnections(){if(this.globalMemento.get(cfe,!1))return!0;let e=[],t=re();try{let r=yt.window.createQuickPick();return e.push(r),r.canSelectMany=!1,r.ignoreFocusOut=!0,r.title=y.insecureSessionMessage,r.buttons=[yt.QuickInputButtons.Back],r.items=[{label:de.bannerLabelYes},{label:de.bannerLabelNo}],r.show(),e.push(r.onDidHide(()=>t.reject(_e.cancel))),r.onDidTriggerButton(i=>{i===yt.QuickInputButtons.Back&&t.reject(_e.back)},this,e),r.onDidAccept(()=>t.resolve(r.selectedItems.some(i=>i.label===de.bannerLabelYes)),this,e),await t.promise}finally{z(e)}}};Vw=v([m(0,(0,Or.inject)(We)),m(0,(0,Or.named)(lt))],Vw);function iF(n,e){if(!n.startsWith(je.REMOTE_URI))try{let t=new URL(n);return{baseUrl:`${t.protocol}//${t.host}${t.pathname==="/lab"||t.pathname==="/tree"?"":t.pathname}`,token:t.searchParams.get("token")||"",displayName:e||t.hostname}}catch(t){p.error(`Failed to parse URI ${n}`,t);return}}function U4(n){return n.map(e=>({handle:e.handle,uri:e.uri,displayName:e.serverInfo.displayName}))}function dfe(n){let e=[];return n.forEach(t=>{let r=iF(t.uri,t.displayName);r&&e.push({handle:t.handle,uri:t.uri,serverInfo:r})}),e}var jw=class{constructor(e){this.encryptedStorage=e;this.updatePromise=Promise.resolve()}async getServers(e){if(this.servers&&!e)return this.servers;let t=await this.encryptedStorage.retrieve(Qn.JupyterServerRemoteLaunchService,k0);if(!t||t==="[]")return[];try{return this.servers=dfe(JSON.parse(t))}catch{return[]}}async add(e){this.servers&&(this.servers=this.servers.filter(t=>t.handle!==e.handle).concat(e)),await(this.updatePromise=this.updatePromise.then(async()=>{let t=(await this.getServers(!0)).concat(e);this.servers=t,await this.encryptedStorage.store(Qn.JupyterServerRemoteLaunchService,k0,JSON.stringify(U4(t)))}).catch(h))}async remove(e){this.servers&&(this.servers=this.servers.filter(t=>t.handle!==e)),await(this.updatePromise=this.updatePromise.then(async()=>{let t=(await this.getServers(!0)).filter(r=>r.handle!==e);return this.servers=t,this.encryptedStorage.store(Qn.JupyterServerRemoteLaunchService,k0,JSON.stringify(U4(t)))}).catch(h))}async clear(){this.servers=[],await(this.updatePromise=this.updatePromise.then(async()=>{this.servers=[],await this.encryptedStorage.store(Qn.JupyterServerRemoteLaunchService,k0,void 0)}).catch(h))}};jw=v([m(0,(0,Or.inject)(oC))],jw);var Jw=k(N()),uI=require("vscode");var cI=class extends Qt{constructor(t,r){super();this.uriProviderRegistration=t;this.serverUriStorage=r;this.handleMappings=new Map;this._onDidChangeHandles=this._register(new uI.EventEmitter);this.extensionId=Fe;this.id=mE;this.displayName="Jupyter Server for Testing";this.onDidChangeServers=this._onDidChangeHandles.event}async provideJupyterServers(t){return Array.from(this.handleMappings.values()).map(r=>r.server)}async resolveJupyterServer(t,r){return t}activate(){this._register(this.uriProviderRegistration.createJupyterServerCollection(Fe,this.id,this.displayName,this)),this._register(uI.commands.registerCommand("jupyter.selectjupyteruri",this.selectJupyterUri,this))}async selectJupyterUri(t){p.info(`Setting Jupyter Server URI to remote: ${t}`);let r=t.toString(!0),i=new URL(r),o=uI.Uri.parse(`${i.protocol}//${i.host}${i.pathname==="/lab"?"":i.pathname}`),s=i.searchParams.get("token")??"",a=await na(t.toString(!0),"SHA-1"),l={label:this.displayName,id:a,connectionInformation:{baseUrl:o,token:s}};this.handleMappings.set(a,{uri:t,server:l}),await this.serverUriStorage.add({id:this.id,handle:a,extensionId:Fe}),this._onDidChangeHandles.fire()}};cI=v([(0,Jw.injectable)(),m(0,(0,Jw.inject)(jt)),m(1,(0,Jw.inject)($t))],cI);var x0=k(N());var Bw=require("vscode");var dI=class{constructor(e){this.disposables=e}activate(){this.registerCommandsIfTrusted()}dispose(){this.disposables.forEach(e=>e.dispose())}registerCommandsIfTrusted(){Bw.workspace.isTrusted&&this.registerCommand(B.ContinueEditSessionInCodespace,this.continueEditSessionInCodespace)}registerCommand(e,t){let r=Bw.commands.registerCommand(e,t,this);this.disposables.push(r)}async continueEditSessionInCodespace(){await Bw.commands.executeCommand("_workbench.editSessions.actions.continueEditSession.github.codespaces.continueEditSessionInCodespaceWithJupyterServer")}};dI=v([(0,x0.injectable)(),m(0,(0,x0.inject)(M))],dI);var V4=k(N());var j4=require("vscode");var pI=class{activate(){this.eagerlyActivateOtherExtensions().catch(h)}async eagerlyActivateOtherExtensions(){await Promise.all(j4.extensions.all.filter(e=>e.packageJSON?.contributes?.pythonRemoteServerProvider).map(e=>e.isActive?Promise.resolve():e.activate().then(h,h)))}};pI=v([(0,V4.injectable)()],pI);var D0=k(N()),J4=require("vscode");var mI=class{constructor(e){this.uriStorage=e}activate(){J4.commands.registerCommand("jupyter.getUsedAzMLServerHandles",()=>{let e=[];return this.uriStorage.all.forEach(r=>{r.provider.extensionId.toLowerCase()==="ms-toolsai.vscode-ai".toLowerCase()&&e.push(r.provider)}),e})}};mI=v([(0,D0.injectable)(),m(0,(0,D0.inject)($t))],mI);var Su=require("vscode");var B4=k(N());var fI=class{activate(){let e=be.instance.get(M),t=new Wr;e.push(t),e.push(Su.commands.registerCommand("jupyter.manageAccessToKernels",()=>pfe(t)))}};fI=v([(0,B4.injectable)()],fI);async function pfe(n){let e=await gj(),t=[];Array.from(e.entries()).forEach(([s])=>{let a=Su.extensions.getExtension(s)?.packageJSON?.displayName;a&&t.push({label:a,description:s,extensionId:s})});let r=[];n.add({dispose:()=>{r=z(r)}});let i=Su.window.createQuickPick();i.title=Su.l10n.t("Manage Access To Jupyter Kernels"),i.placeholder=Su.l10n.t("Choose which extensions can access Jupyter Kernels"),i.items=t,i.selectedItems=t.filter(s=>e.get(s.extensionId)===!0),i.canSelectMany=!0,i.ignoreFocusOut=!1;let o=!1;r.push(i),i.show(),await Promise.race([JS(i.onDidAccept,void 0,r).then(()=>o=!0),JS(i.onDidHide,void 0,r)]),o&&(await vj(i.selectedItems.map(s=>s.extensionId)),r=z(r))}var H4=require("vscode");var _0=class{constructor(){this.cache=new Map;this.executionCount=0}getResults(e,t){return this.executionCount!==e&&(this.cache.clear(),this.executionCount=e),this.cache.get(t)}setResults(e,t,r){if(this.executionCount<e)this.cache.clear(),this.executionCount=e;else if(this.executionCount>e)return;this.cache.set(t,r)}},$4=_0,q4=_0;var Tf=k(N());var hI=class{constructor(e,t){this.variables=e;this.kernelProvider=t;this.variableResultCache=new $4;this.variableSummaryCache=new q4;this.runningKernels=new Set;this._onDidChangeVariables=new H4.EventEmitter;this.onDidChangeVariables=this._onDidChangeVariables.event;this.kernelProvider.onKernelStatusChanged(this.onKernelStatusChanged,this)}onKernelStatusChanged({kernel:e}){if("variableProvider"in e.controller&&e.controller.variableProvider!==this)return;let t=e.notebook.uri.toString(),r=this.runningKernels.has(t);e.status==="idle"&&!r?this.runningKernels.add(t):e.status!=="busy"&&e.status!=="idle"&&r&&(this.runningKernels.delete(t),this._onDidChangeVariables.fire(e.notebook))}_getVariableResultCacheKey(e,t,r){let i="",o=t;return o&&(i=`${o.name}.${o.propertyChain.join(".")}[[${r}`),`${e}:${i}`}async*provideVariables(e,t,r,i,o){if(o.isCancellationRequested)return;let s=this.kernelProvider.get(e);if(!s||s.status==="dead"||s.status==="terminating")return;let a=this.kernelProvider.getKernelExecution(s).executionCount,l=this._getVariableResultCacheKey(e.uri.toString(),t,i),c=this.variableResultCache.getResults(a,l);if(t){let u=t;if(!c&&u.getChildren)c=(await u.getChildren(i,o)).map(f=>this.createVariableResult(f,s)),this.variableResultCache.setResults(a,l,c);else if(!c)return;for(let d of c)yield d;if(r===2&&u.count&&c.length>0&&u.count>i+c.length)for await(let d of this.provideVariables(e,t,r,i+c.length,o))yield d}else{c||(c=(await this.variables.getAllVariableDiscriptions(s,void 0,i,o)).map(d=>this.createVariableResult(d,s)),this.variableResultCache.setResults(a,l,c));for(let u of c)yield u}}_getVariableSummaryCacheKey(e,t){return`${e}:${t.name}`}async*provideVariablesWithSummarization(e,t,r,i,o){let s=this.kernelProvider.get(e),a=this.provideVariables(e,t,r,i,o);for await(let l of a)if(s&&s.status!=="dead"&&s.status!=="terminating"){let c=this._getVariableSummaryCacheKey(e.uri.toString(),l.variable),u=this.kernelProvider.getKernelExecution(s).executionCount,d=this.variableSummaryCache.getResults(u,c);d==null&&l.variable.type==="pandas.core.frame.DataFrame"&&(d=await this.variables.getVariableValueSummary({name:l.variable.name,value:l.variable.value,supportsDataExplorer:!1,type:l.variable.type??"",size:0,count:0,shape:"",truncated:!0},s,o),this.variableSummaryCache.setResults(u,c,d??null)),yield{hasNamedChildren:l.hasNamedChildren,indexedChildrenCount:l.indexedChildrenCount,variable:{name:l.variable.name,value:l.variable.value,expression:l.variable.expression,type:l.variable.type,language:l.variable.language,summary:d??""}}}}createVariableResult(e,t){let r=e.count??0,i=!!e.hasNamedChildren,o={getChildren:(s,a)=>this.getChildren(o,s,t,a),expression:mfe(e.root,e.propertyChain),...e};return{variable:o,hasNamedChildren:i,indexedChildrenCount:r}}async getChildren(e,t,r,i){let o=e;return await this.variables.getAllVariableDiscriptions(r,o,t,i)}};hI=v([(0,Tf.injectable)(),m(0,(0,Tf.inject)(yn)),m(0,(0,Tf.named)(je.KERNEL_VARIABLES)),m(1,(0,Tf.inject)(De))],hI);function mfe(n,e){let t=n;for(let r of e)typeof r=="string"?t+=`.${r}`:t+=`[${r}]`;return t}var Cu=k(N()),T0=require("vscode");var ffe=/Type:\s*(\w+)/,hfe=/Value:\s*(.*)/,gfe=/String form:\s*([\s\S]+?)\n/,vfe=/Docstring:\s*(.*)/,yfe=/Length:\s+(.*)/,bfe=/^\s+\[(\d+) rows x (\d+) columns\]/m,Ife=new Set(["DataFrame","list","dict","ndarray","Series","Tensor","EagerTensor","DataArray"]),gI=class{constructor(e,t,r,i){this.configService=e;this.disposables=r;this.kernelProvider=i;this.variableRequesters=new Map;this.cachedVariables=new Map;this.refreshEventEmitter=new T0.EventEmitter;this.variableRequesters.set(ge,t)}get refreshRequired(){return this.refreshEventEmitter.event}async getAllVariableDiscriptions(e,t,r,i){let o=po(e.kernelConnectionMetadata)||ge,s=this.variableRequesters.get(o);return s?s.getAllVariableDiscriptions(e,t,r,i):[]}async getVariables(e,t){return this.getVariablesBasedOnKernel(t,e)}async getMatchingVariable(e,t,r){let i=this.cachedVariables.get(t.uri.toString());if(i){let o=i.variables.find(s=>s.name===e);return o&&!o.value&&(o=await this.getVariableValueFromKernel(o,t,r)),o}else{let o=await this.getVariableNamesAndTypesFromKernel(t,r);if(o){let s=o.find(a=>a.name===e);if(s)return this.getVariableValueFromKernel({name:e,value:void 0,supportsDataExplorer:!1,type:s.type,fullType:s.fullType,size:0,count:0,shape:"",truncated:!0},t,r)}}}async getVariableValueSummary(e,t,r){if(!t)return;let i=po(t?.kernelConnectionMetadata)||ge,o=this.variableRequesters.get(i);if(o)return o.getVariableValueSummary(e,t,r)}async getDataFrameInfo(e,t,r,i){if(!t)return e;let o=po(t?.kernelConnectionMetadata)||ge,s=this.variableRequesters.get(o);if(s){i&&(e=await this.getFullVariable(e,t));let a=e.name;return r&&(a=`${e.name}${r}`),s.getDataFrameInfo(e,t,a)}return e}async getDataFrameRows(e,t,r,i,o){let s=po(i?.kernelConnectionMetadata)||ge,a=this.variableRequesters.get(s);if(a){let l=e.name;return o&&(l=`${e.name}${o}`),a.getDataFrameRows(t,r,i,l)}return{data:[]}}async getFullVariable(e,t,r){let i=po(t?.kernelConnectionMetadata)||ge,o=this.variableRequesters.get(i);return o?o.getFullVariable(e,t,r):e}async getVariablesBasedOnKernel(e,t){let r=this.cachedVariables.get(e.uri.toString()),i=this.kernelProvider.getKernelExecution(e).pendingCells.length>0,o=this.kernelProvider.getKernelExecution(e);(!r||!i&&(r.currentExecutionCount!==t.executionCount||r.currentExecutionCount!==o.executionCount))&&(r={currentExecutionCount:o.executionCount,variables:(await this.getVariableNamesAndTypesFromKernel(e)).map(l=>({name:l.name,value:void 0,supportsDataExplorer:!1,type:l.type,fullType:l.fullType,size:0,shape:"",count:0,truncated:!0,fileName:e.notebook.uri}))});let s=this.configService.getSettings(e.resourceUri).variableExplorerExclude?this.configService.getSettings().variableExplorerExclude?.split(";"):[],a={executionCount:o.executionCount,pageStartIndex:-1,pageResponse:[],totalCount:0,refreshCount:t.refreshCount};if(r){let l=t.sortColumn,c=(f,g)=>{let b=f[l]?f[l]:"",I=g[l]?g[l]:"";return t.sortAscending?b.localeCompare(I,void 0,{sensitivity:"base"}):I.localeCompare(b,void 0,{sensitivity:"base"})};r.variables.sort(c);let u=t.startIndex?t.startIndex:0,d=t.pageSize?t.pageSize:100;a.pageStartIndex=u;for(let f=u;f<u+d&&f<r.variables.length;){if(s&&s.indexOf(r.variables[f].type)>=0){r.variables.splice(f,1);continue}let g=typeof r.variables[f].value=="string"?r.variables[f]:await this.getVariableValueFromKernel(r.variables[f],e);r.variables[f]=g,a.pageResponse.push(g),f+=1}this.cachedVariables.set(e.uri.toString(),r),a.totalCount=r.variables.length}return a}async getVariableProperties(e,t,r){let i=await this.getMatchingVariable(e,t,r),o=po(t.kernelConnectionMetadata)||ge,s=this.variableRequesters.get(o);return s?s.getVariableProperties(e,r,i):{}}async getVariableNamesAndTypesFromKernel(e,t){let r=po(e.kernelConnectionMetadata)||ge,i=this.variableRequesters.get(r);return i?i.getVariableNamesAndTypesFromKernel(e,t):[]}inspect(e,t,r=0,i){let o=re();try{e.requestInspect({code:t,cursor_pos:r,detail_level:0}).then(s=>{s&&s.content.status==="ok"?o.resolve(s.content.data):o.resolve(void 0)}).catch(s=>{o.reject(s)})}catch(s){o.reject(s)}return i&&this.disposables.push(i.onCancellationRequested(()=>o.reject(new T0.CancellationError))),o.promise}async getVariableValueFromKernel(e,t,r){let i={...e};if(!t.disposed&&t.session?.kernel){let o=await this.inspect(t.session.kernel,e.name,0,r);if(o&&o.hasOwnProperty("text/plain")){let s=ql(o["text/plain"].toString()),a=ffe.exec(s),l=yfe.exec(s),c=bfe.exec(s);a&&(i.type=a[1]),i.value=[hfe,gfe,vfe].reduce((u,d)=>u||d.exec(s)?.[1]||"",""),l&&(i.count=parseInt(l[1],10)),c&&(i.shape=`(${c[1]}, ${c[2]})`)}o&&o.type&&(i.type=o.type.toString()),o&&o.value&&(i.value=o.value.toString()),Ife.has(i.type)&&(i.supportsDataExplorer=!0)}return i.type&&i.count&&!i.shape&&dt(t.kernelConnectionMetadata)&&i.supportsDataExplorer&&i.type!=="list"&&(i=await this.getFullVariable(i,t)),i}};gI=v([(0,Cu.injectable)(),m(0,(0,Cu.inject)(ie)),m(1,(0,Cu.inject)(M_)),m(1,(0,Cu.named)(je.PYTHON_VARIABLES_REQUESTER)),m(2,(0,Cu.inject)(M)),m(3,(0,Cu.inject)(De))],gI);var $w=k(N());var vI=class extends qe{constructor(){super("unknown",y.jupyterDataRateExceeded)}};async function R0(n,{code:e,initializeCode:t,cleanupCode:r},i){if(n.disposed||n.disposing||!n.session?.kernel||!n.session.kernel||n.session.isDisposed)return[];try{return t&&await pn(n.session.kernel,t,i),await pn(n.session.kernel,e,i)}catch(o){if(o instanceof dn)return[];throw o}finally{r&&await pn(n.session.kernel,r,i)}}var yI=class{constructor(e,t){this.varScriptGenerator=e;this.dfScriptGenerator=t}async getDataFrameInfo(e,t,r){let{code:i,cleanupCode:o,initializeCode:s}=await this.dfScriptGenerator.generateCodeToGetDataFrameInfo({isDebugging:!1,variableName:r}),a=await R0(t,{code:i,cleanupCode:o,initializeCode:s},{traceErrors:!0,traceErrorsMessage:"Failure in execute_request for getDataFrameInfo",telemetryName:"DATASCIENCE.PYTHON_VARIABLE_FETCHING_CODE_FAILURE"}),l=t.notebook?.uri||t.resourceUri||t.uri;return{...e,...this.deserializeJupyterResult(a),fileName:l}}async getDataFrameRows(e,t,r,i){let{code:o,cleanupCode:s,initializeCode:a}=await this.dfScriptGenerator.generateCodeToGetDataFrameRows({isDebugging:!1,variableName:i,startIndex:e,endIndex:t}),l=await R0(r,{code:o,cleanupCode:s,initializeCode:a},{traceErrors:!0,traceErrorsMessage:"Failure in execute_request for getDataFrameRows",telemetryName:"DATASCIENCE.PYTHON_VARIABLE_FETCHING_CODE_FAILURE"});return l.length===0?{data:[]}:ST(this.deserializeJupyterResult(l))}async getVariableProperties(e,t,r){let i={};return r&&r.value&&(i[`${e}`]=r.value),i}async getVariableValueSummary(e,t,r){let i=await this.varScriptGenerator.generateCodeToGetVariableValueSummary(e.name);try{return(await Iu(t,i.split(/\r?\n/),r))?.summary}catch(o){p.warn(`Exception when getting variable summary for variable "${e.name}": ${o.message}`);return}}async getAllVariableDiscriptions(e,t,r,i){if(!e.session)return[];let o=t?{root:t.root,propertyChain:t.propertyChain,startIndex:r}:void 0,s=await this.varScriptGenerator.generateCodeToGetAllVariableDescriptions(o),a=await Iu(e,s.split(/\r?\n/),i);if(e.disposed||e.disposing||i?.isCancellationRequested||!a)return[];try{return a}catch(l){return p.error(l),[]}}async getVariableNamesAndTypesFromKernel(e,t){if(e.session){let{code:r,cleanupCode:i,initializeCode:o}=await this.varScriptGenerator.generateCodeToGetVariableTypes({isDebugging:!1}),s=await R0(e,{code:r,cleanupCode:i,initializeCode:o},{traceErrors:!0,traceErrorsMessage:"Failure in execute_request for getVariableNamesAndTypesFromKernel",telemetryName:"DATASCIENCE.PYTHON_VARIABLE_FETCHING_CODE_FAILURE"});if(e.disposed||e.disposing)return[];let a=this.deserializeJupyterResult(s),l=[];for(let c of a){let u={...c,value:void 0,supportsDataExplorer:!1,size:0,shape:"",count:0,truncated:!0};l.push(u)}return l}return[]}async getFullVariable(e,t,r){let{code:i,cleanupCode:o,initializeCode:s}=await this.varScriptGenerator.generateCodeToGetVariableInfo({isDebugging:!1,variableName:e.name}),a=await R0(t,{code:i,cleanupCode:o,initializeCode:s},{traceErrors:!0,traceErrorsMessage:"Failure in execute_request for getFullVariable",telemetryName:"DATASCIENCE.PYTHON_VARIABLE_FETCHING_CODE_FAILURE"});return{...e,...this.deserializeJupyterResult(a)}}extractJupyterResultText(e){if(e.length>0){let t=e[0];if(t&&t.output_type==="stream"&&t.name==="stderr"&&t.hasOwnProperty("text")){let r=t.text;if(r.includes("iopub_data_rate_limit"))throw new vI;{let i=y.jupyterGetVariablesExecutionError(r);throw p.error(i),new Error(i)}}if(t&&t.output_type==="execute_result"){let r=t.data;if(r&&r.hasOwnProperty("text/plain"))return r["text/plain"]}if(t&&t.output_type==="stream"&&t.hasOwnProperty("text"))return t.text;if(t&&t.output_type==="error"&&t.hasOwnProperty("traceback")){let i=t.traceback.map(ql).join(`\r
|
||
`),o=y.jupyterGetVariablesExecutionError(i);throw p.error(o),new Error(o)}}throw new Error(y.jupyterGetVariablesBadResults)}deserializeJupyterResult(e){let t=this.extractJupyterResultText(e);return JSON.parse(t)}};yI=v([(0,$w.injectable)(),m(0,(0,$w.inject)(Eh)),m(1,(0,$w.inject)(Ph))],yI);var uc=k(N());var bI=class{constructor(e,t,r,i,o,s,a){this.activationService=e;this.jupyterInterpreterService=t;this.disposables=r;this.extensionChecker=i;this.apiProvider=o;this.rawNotebookSupported=s;this.condaService=a}activate(){this.rawNotebookSupported.isSupported||(this.disposables.push(this.jupyterInterpreterService.onDidChangeInterpreter(()=>this.preWarmInterpreterVariables().catch(h))),this.preWarmInterpreterVariables().catch(h),this.apiProvider.onDidActivatePythonExtension(this.preWarmInterpreterVariables,this,this.disposables)),this.extensionChecker.isPythonExtensionInstalled&&(this.condaService.getCondaFile().catch(h),this.condaService.getCondaVersion().catch(h))}async preWarmInterpreterVariables(){if(!this.extensionChecker.isPythonExtensionActive)return;let e=await this.jupyterInterpreterService.getSelectedInterpreter();e&&this.activationService.getActivatedEnvironmentVariables(void 0,e).catch(h)}};bI=v([(0,uc.injectable)(),m(0,(0,uc.inject)(ks)),m(1,(0,uc.inject)(ii)),m(2,(0,uc.inject)(M)),m(3,(0,uc.inject)(Be)),m(4,(0,uc.inject)(Ht)),m(5,(0,uc.inject)(oi)),m(6,(0,uc.inject)(_s))],bI);function G4(n,e,t){e.addSingleton(me,eI),e.addSingleton(me,xf),e.addSingleton(me,Qb),e.addSingleton(me,Xb),e.addSingleton(me,Zb),e.addSingleton(me,pI),e.addSingleton(me,cI),e.add(tg,Hb),e.add(dk,Gb),e.addSingleton(me,zb),e.addSingleton(me,dI),e.addSingleton(zO,lc),e.addBinding(zO,me),e.add(yk,rI),e.addSingleton(vk,tI),e.addSingleton(bu,bu),e.addSingleton(me,oI),O4(e),b4(n,t),e.addSingleton(me,lI),e.addSingleton(me,mI),e.addSingleton(me,fI),e.addSingleton(K_,hI),e.addSingleton(yn,gI,je.KERNEL_VARIABLES),e.addSingleton(M_,yI,je.PYTHON_VARIABLES_REQUESTER),e.addSingleton(me,bI)}var dc=k(N()),Do=require("vscode");var A0=class{constructor(e,t,r){this.disposedCallback=r,this.callback=e,this.viewChanged=t}dispose(){this.disposedCallback()}onMessage(e,t){this.callback(e,t)}onChangeViewState(e){this.viewChanged(e)}};var z4=1e3,Sfe;(t=>(t.Fetching="fetching",t.Skipped="skipped"))(Sfe||={});var is;(f=>(f.Started="started",f.UpdateSettings="update_settings",f.InitializeData="init",f.GetAllRowsRequest="get_all_rows_request",f.GetAllRowsResponse="get_all_rows_response",f.GetRowsRequest="get_rows_request",f.GetRowsResponse="get_rows_response",f.CompletedData="complete",f.GetSliceRequest="get_slice_request",f.RefreshDataViewer="refresh_data_viewer",f.SliceEnablementStateChanged="slice_enablement_state_changed",f.DeprecationWarningClicked="deprecation_warning_clicked"))(is||={});var II=Symbol("IDataViewerFactory"),N0=Symbol("IDataViewer"),M0=Symbol("IJupyterVariableDataProvider"),K0=Symbol("IJupyterVariableDataProviderFactory"),SI=Symbol("IDataViewerDependencyService");var sF;function aF(n,e){return sF&&sF.hasOwnProperty(n)?sF[n]:e}function lF(n,...e){return n.replace(/{(\d+)}/g,(t,r)=>e[r]===void 0?t:e[r])}var Cfe=/^\s*((?<StartRange>-?\d+:)|(?<StopRange>-?:\d+)|(?:(?<Start>-?\d+)(?::(?<Stop>-?\d+))?(?::(?<Step>-?\d+))?))\s*$/;function cF(n){let e=n.length-2;return"["+n.map(()=>e>0?(e-=1,"0"):":").join(", ")+"]"}function wfe(n,e){if(n.startsWith("[")&&n.endsWith("]")){let t,r=n.substring(1,n.length-1).split(",").map((i,o)=>{let s=Cfe.exec(i);if(s?.groups?.Start&&!s.groups.Stop){let a=parseInt(s.groups.Start),l=e[o];return(a>=0&&a>=l||a<0&&a<-l)&&(t={shapeIndex:o,value:a}),a}});if(t){let{shapeIndex:i,value:o}=t,s=aF("sliceIndexError","Index {0} out of range for axis {1} with {2} elements");return lF(s,o.toString(),i.toString(),e[i].toString())}else if(r&&r.length!==e.length){let i=aF("sliceMismatchedAxesError","Expected {0} axes, got {1} in slice expression");return lF(i,e.length.toString(),r.length.toString())}}return""}function Q4(n,e){return wfe(n,e)===""}var Eu=require("vscode");var wu=class{constructor(e,t,r){this.configService=e;this.rootPath=t;this.scripts=r;this.disposed=!1;this.themeIsDarkPromise=re();this.webviewInit=re();this._disposables=[];this.onMessageListeners=[];this._onDidDisposeWebviewPanel=new Eu.EventEmitter;this.onDataScienceSettingsChanged=async()=>{let e=JSON.stringify(await this.generateDataScienceExtraSettings());this.postMessageInternal("update_settings",e).catch(h)};this.onWebViewLoadFailed=async()=>{this.dispose()};this.onPossibleSettingsChange=async e=>{if(e.affectsConfiguration("workbench.colorTheme")||e.affectsConfiguration("editor.fontSize")||e.affectsConfiguration("editor.fontFamily")||e.affectsConfiguration("editor.cursorStyle")||e.affectsConfiguration("editor.cursorBlinking")||e.affectsConfiguration("editor.autoClosingBrackets")||e.affectsConfiguration("editor.autoClosingQuotes")||e.affectsConfiguration("editor.autoSurround")||e.affectsConfiguration("editor.autoIndent")||e.affectsConfiguration("editor.scrollBeyondLastLine")||e.affectsConfiguration("editor.fontLigatures")||e.affectsConfiguration("editor.scrollbar.verticalScrollbarSize")||e.affectsConfiguration("editor.scrollbar.horizontalScrollbarSize")||e.affectsConfiguration("files.autoSave")||e.affectsConfiguration("files.autoSaveDelay")||e.affectsConfiguration("jupyter.widgetScriptSources")){let t=await this.generateDataScienceExtraSettings();if(t){let r=JSON.stringify(t);this.postMessageInternal("update_settings",r).catch(h)}}};this._disposables.push(Eu.workspace.onDidChangeConfiguration(this.onPossibleSettingsChange,this)),this._disposables.push(this.configService.getSettings(void 0).onDidChange(this.onDataScienceSettingsChanged.bind(this)))}get onDidDispose(){return this._onDidDisposeWebviewPanel.event}dispose(){this.disposed||(this.disposed=!0,this._disposables.forEach(e=>e.dispose())),this.webviewInit=void 0,this._onDidDisposeWebviewPanel.fire()}getHTMLById(e){if(!this.activeHTMLRequest)this.activeHTMLRequest=re(),this.postMessageInternal("get_html_by_id_request",e).catch(h);else throw new Error("getHTMLById request already in progress");return this.activeHTMLRequest.promise}addMessageListener(e){this.onMessageListeners.push(e)}removeMessageListener(e){let t=this.onMessageListeners.indexOf(e);t>=0&&this.onMessageListeners.splice(t,1)}asWebviewUri(e){if(!this.webview)throw new Error("asWebViewUri called too early");return this.webview?.asWebviewUri(e)}postMessage(e,t){return this.postMessageInternal(e.toString(),t)}onMessage(e,t){switch(e){case"started":this.webViewRendered();break;case"get_html_by_id_response":this.activeHTMLRequest&&(this.activeHTMLRequest.resolve(t),this.activeHTMLRequest=void 0);break;default:break}this.onMessageListeners.forEach(r=>{r(e,t)})}async loadWebview(e,t){if(this.disposed=!1,this.webviewInit=this.webviewInit||re(),this.webview===void 0){let r=await this.generateDataScienceExtraSettings(),i=Eu.workspace.getWorkspaceFolder(e)?.uri;this.webview=await this.provideWebview(e,r,i,t),this._disposables.push(this.webview.loadFailed(this.onWebViewLoadFailed,this))}this.onDataScienceSettingsChanged().catch(h),this.sendLocStrings().catch(h)}async generateDataScienceExtraSettings(){let e=this.owningResource,t=Eu.workspace.getConfiguration("editor"),r=Eu.workspace.getConfiguration("workbench"),i=r?r.get("colorTheme",mR):mR,o=Eu.extensions.getExtension(Yn);return{...JSON.parse(JSON.stringify(this.configService.getSettings(e))),extraSettings:{editor:{cursor:this.getValue(t,"cursorStyle","line"),cursorBlink:this.getValue(t,"cursorBlinking","blink"),autoClosingBrackets:this.getValue(t,"autoClosingBrackets","languageDefined"),autoClosingQuotes:this.getValue(t,"autoClosingQuotes","languageDefined"),autoSurround:this.getValue(t,"autoSurround","languageDefined"),autoIndent:this.getValue(t,"autoIndent",!1),fontLigatures:this.getValue(t,"fontLigatures",!1),scrollBeyondLastLine:this.getValue(t,"scrollBeyondLastLine",!0),verticalScrollbarSize:this.getValue(t,"scrollbar.verticalScrollbarSize",14),horizontalScrollbarSize:this.getValue(t,"scrollbar.horizontalScrollbarSize",10),fontSize:this.getValue(t,"fontSize",14),fontFamily:this.getValue(t,"fontFamily","Consolas, 'Courier New', monospace")},theme:i,hasPythonExtension:o!==void 0,isWeb:Rr()==="Unknown"}}}async sendLocStrings(){let e={collapseSingle:Kt.collapseSingle,expandSingle:Kt.expandSingle,openExportFileYes:y.openExportFileYes,openExportFileNo:y.openExportFileNo,noRowsInDataViewer:Kt.noRowsInDataViewer,sliceIndexError:Kt.sliceIndexError,sliceMismatchedAxesError:Kt.sliceMismatchedAxesError,filterRowsTooltip:Kt.sliceMismatchedAxesError,fetchingDataViewer:Kt.fetchingDataViewer,dataViewerHideFilters:Kt.dataViewerHideFilters,dataViewerShowFilters:Kt.dataViewerShowFilters,refreshDataViewer:Kt.refreshDataViewer,clearFilters:Kt.refreshDataViewer,sliceSummaryTitle:Kt.sliceSummaryTitle,sliceData:Kt.sliceData,sliceSubmitButton:Kt.sliceSubmitButton,sliceDropdownAxisLabel:Kt.sliceDropdownAxisLabel,sliceDropdownIndexLabel:Kt.sliceDropdownIndexLabel,variableExplorerNameColumn:Kt.variableExplorerNameColumn,variableExplorerTypeColumn:Kt.variableExplorerTypeColumn,variableExplorerCountColumn:Kt.variableExplorerCountColumn,variableExplorerValueColumn:Kt.variableExplorerValueColumn,collapseVariableExplorerLabel:Kt.collapseVariableExplorerLabel,variableLoadingValue:Kt.variableLoadingValue,showDataExplorerTooltip:Kt.showDataExplorerTooltip,noRowsInVariableExplorer:Kt.noRowsInVariableExplorer,loadingRowsInVariableExplorer:Kt.loadingRowsInVariableExplorer,previousPlot:Kt.previousPlot,nextPlot:Kt.nextPlot,panPlot:Kt.panPlot,zoomInPlot:Kt.zoomInPlot,zoomOutPlot:Kt.zoomOutPlot,exportPlot:Kt.exportPlot,deletePlot:Kt.deletePlot,selectedImageListLabel:Kt.selectedImageListLabel,selectedImageLabel:Kt.selectedImageLabel,dvDeprecationWarning:Kt.dvDeprecationWarning};this.postMessageInternal("loc_init",JSON.stringify(e)).catch(h)}async postMessageInternal(e,t){this.webviewInit&&(await this.webviewInit.promise,this.webview?.postMessage({type:e.toString(),payload:t}))}webViewRendered(){this.webviewInit&&!this.webviewInit.resolved&&this.webviewInit.resolve(),this.sendLocStrings().catch(h),this.onDataScienceSettingsChanged().catch(h)}getValue(e,t,r){return e?e.get(t,r):r}};v([ih()],wu.prototype,"getHTMLById",1),v([ih()],wu.prototype,"addMessageListener",1),v([ih()],wu.prototype,"removeMessageListener",1);var CI=class extends wu{constructor(t,r,i,o,s,a,l){super(t,o,s);this.configService=t;this.provider=r;this._title=a;this.viewColumn=l;this.viewState={visible:!1,active:!1};this.webPanelViewStateChanged=t=>{let r=t.isVisible(),i=t.isActive(),o={visible:r,active:i},s={visible:this.viewState.visible,active:this.viewState.active};this.viewState.visible=r,this.viewState.active=i,this.onViewStateChanged({current:o,previous:s})};this.messageListener=i(this.onMessage.bind(this),this.webPanelViewStateChanged.bind(this),this.dispose.bind(this))}get isDisposed(){return this.disposed}get webPanel(){if(this.webview)return this.webview}async show(t){this.isDisposed||this.webPanel&&await this.webPanel.show(t)}dispose(){this.isDisposed||this.webPanel&&this.webPanel.close(),super.dispose()}get title(){return this._title}setTitle(t){this._title=t,!this.isDisposed&&this.webPanel&&this.webPanel.setTitle(t)}onViewStateChanged(t){}async provideWebview(t,r,i,o){return this.provider.create({viewColumn:this.viewColumn,listener:this.messageListener,title:this.title,rootPath:this.rootPath,scripts:this.scripts,settings:r,cwd:t,webviewHost:o,additionalPaths:i?[i]:[]})}};var Y4="JupyterDataViewerPreferredViewColumn",Rf=class extends CI{constructor(t,r,i,o,s){let a=zt(s.extensionUri,"dist","webviews","webview-side","viewers");super(r,t,(l,c,u)=>new A0(l,c,u),a,[zt(a,"dataExplorer.js")],y.dataExplorerTitle,i.get(Y4)??Do.ViewColumn.One);this.globalMemento=i;this.errorHandler=o;this.context=s;this.pendingRowsCount=0;this.sentDataViewerSliceDimensionalityTelemetry=!1;this._onDidDisposeDataViewer=new Do.EventEmitter;this._onDidChangeDataViewerViewState=new Do.EventEmitter;this.onDidDispose(this.dataViewerDisposed,this)}get active(){return!!this.webPanel?.isActive()}get refreshPending(){return this.pendingRowsCount>0}get onDidDisposeDataViewer(){return this._onDidDisposeDataViewer.event}get onDidChangeDataViewerViewState(){return this._onDidChangeDataViewerViewState.event}async showData(t,r){if(!this.isDisposed){this.dataProvider=t,await super.loadWebview(Do.Uri.file(process.cwd())).catch(p.error),super.setTitle(r),await super.show(!0);let i=await this.prepDataFrameInfo();if(i.shape&&i.shape.length>2){this.maybeSendSliceDataDimensionalityTelemetry(i.shape.length);let o=cF(i.shape);i=await this.getDataFrameInfo(o)}this.postMessage(is.InitializeData,i).catch(h)}}get kernel(){if(this.dataProvider&&"kernel"in this.dataProvider)return this.dataProvider.kernel}dataViewerDisposed(){this._onDidDisposeDataViewer.fire(this)}async refreshData(){let t=this.currentSliceExpression;this.dataFrameInfoPromise=void 0;let r=await this.getDataFrameInfo(void 0,!0);if(t!==void 0&&r.shape!==void 0)if(Q4(t,r.shape))r=await this.getDataFrameInfo(t);else{let i=cF(r.shape);r=await this.getDataFrameInfo(i)}p.info(`Refreshing data viewer for variable ${r.name}`),this.postMessage(is.InitializeData,r).catch(h)}dispose(){super.dispose(),this.dataProvider&&(this.dataProvider.dispose(),this.dataProvider=void 0)}async onViewStateChanged(t){t.current.active&&t.current.visible&&t.previous.active&&t.current.visible&&await this.globalMemento.update(Y4,this.webPanel?.viewColumn),this._onDidChangeDataViewerViewState.fire()}get owningResource(){}onMessage(t,r){switch(t){case is.GetAllRowsRequest:this.getAllRows(r).catch(h);break;case is.GetRowsRequest:this.getRowChunk(r).catch(h);break;case is.GetSliceRequest:this.getSlice(r).catch(h);break;case is.RefreshDataViewer:this.refreshData().catch(h),R("DATASCIENCE.REFRESH_DATA_VIEWER");break;case is.SliceEnablementStateChanged:R("DATASCIENCE.DATA_VIEWER_SLICE_ENABLEMENT_STATE_CHANGED",void 0,{newState:r.newState?"checked":"unchecked"});break;case is.DeprecationWarningClicked:Do.commands.executeCommand("workbench.extensions.search","@tag:jupyterVariableViewers").then(h,h);break;default:break}super.onMessage(t,r)}getDataFrameInfo(t,r){return(!this.dataFrameInfoPromise||t!==this.currentSliceExpression)&&(this.dataFrameInfoPromise=this.dataProvider?this.dataProvider.getDataFrameInfo(t,r):Promise.resolve({}),this.currentSliceExpression=t),this.dataFrameInfoPromise}async prepDataFrameInfo(){this.rowsTimer=new Ue;let t=await this.getDataFrameInfo();try{R("DATASCIENCE.SHOW_DATA_EXPLORER",void 0,{rows:t.rowCount?t.rowCount:0,columns:t.columns?t.columns.length:0}),this.pendingRowsCount=t.rowCount?t.rowCount:0}catch{}return t}async getAllRows(t){return this.wrapRequest(async()=>{if(this.dataProvider){let r=await this.dataProvider.getAllRows(t);return this.pendingRowsCount=0,this.postMessage(is.GetAllRowsResponse,r)}})}getSlice(t){return this.wrapRequest(async()=>{if(this.dataProvider){let r=await this.getDataFrameInfo(t.slice);return r.shape?.length&&this.maybeSendSliceDataDimensionalityTelemetry(r.shape.length),R("DATASCIENCE.DATA_VIEWER_SLICE_OPERATION",void 0,{source:t.source}),this.postMessage(is.InitializeData,r)}})}getRowChunk(t){return this.wrapRequest(async()=>{if(this.dataProvider){let r=await this.getDataFrameInfo(t.sliceExpression),i=await this.dataProvider.getRows(t.start,Math.min(t.end,r.rowCount?r.rowCount:0),t.sliceExpression);return this.pendingRowsCount=Math.max(0,this.pendingRowsCount-i.length),this.postMessage(is.GetRowsResponse,{rows:i,start:t.start,end:t.end})}})}async wrapRequest(t){try{return await t()}catch(r){if(r instanceof vI){p.error(r.message);let i=y.pythonInteractiveHelpLink;Do.window.showErrorMessage(y.jupyterDataRateExceeded,i).then(o=>{o===i&&Do.env.openExternal(Do.Uri.parse(lS.JupyterDataRateHelpLink))},h),this.dispose()}p.error(r),this.errorHandler.handleError(r).then(h,h)}finally{this.sendElapsedTimeTelemetry()}}sendElapsedTimeTelemetry(){this.rowsTimer&&this.pendingRowsCount===0&&R("DATASCIENCE.SHOW_DATA_EXPLORER_ROWS_LOADED",void 0,{rowsTimer:this.rowsTimer.elapsedTime})}maybeSendSliceDataDimensionalityTelemetry(t){this.sentDataViewerSliceDimensionalityTelemetry||(R("DATASCIENCE.DATA_VIEWER_DATA_DIMENSIONALITY",{numberOfDimensions:t}),this.sentDataViewerSliceDimensionalityTelemetry=!0)}};v([or("DATAVIEWER.WEBVIEW_LOADED")],Rf.prototype,"showData",1),Rf=v([(0,dc.injectable)(),m(0,(0,dc.inject)(md)),m(1,(0,dc.inject)(ie)),m(2,(0,dc.inject)(We)),m(2,(0,dc.named)(lt)),m(3,(0,dc.inject)(Gr)),m(4,(0,dc.inject)(et))],Rf);var Cr=k(N()),_o=require("vscode");var F0=require("vscode");var O0=class{constructor(e){this.configuration=e}async isRequestedColumnSizeAllowed(e,t){if(e>z4&&await this.shouldAskForLargeData(t)){let r=y.tooManyColumnsMessage,i=y.tooManyColumnsYes,o=y.tooManyColumnsNo,s=y.tooManyColumnsDontAskAgain,a=await F0.window.showWarningMessage(r,i,o,s);return a===s&&await this.disableAskForLargeData(),a===i}return!0}async shouldAskForLargeData(e){let t=e?this.configuration.getSettings(e):this.configuration.getSettings();return t&&t.askForLargeDataFrames===!0}async disableAskForLargeData(e){let t=e?this.configuration.getSettings(e):this.configuration.getSettings();t&&(t.askForLargeDataFrames=!1,this.configuration.updateSetting("askForLargeDataFrames",!1,void 0,F0.ConfigurationTarget.Global).catch(h))}};var Aa=require("vscode");var L0=k(N());var Na=class{constructor(e){this.experiments=e}async showContributedDataViewer(e){try{if(this.experiments.inExperiment("DataViewerContribution")){let t=this.getMatchingVariableViewers(e);if(t.length===0)return Aa.commands.executeCommand("workbench.extensions.search","@tag:jupyterVariableViewers");if(t.length===1){let r=t[0].jupyterVariableViewers.command;return Aa.commands.executeCommand(r,e)}else{let r=t.filter(o=>o.extension.id!==Fe);if(r.length===1){let o=r[0].jupyterVariableViewers.command;return Aa.commands.executeCommand(o,e)}let i=Aa.window.createQuickPick();i.title="Select DataFrame Viewer",i.items=t.map(o=>({label:o.jupyterVariableViewers.title,detail:o.extension.packageJSON?.displayName??o.extension.id,command:o.jupyterVariableViewers.command})),i.onDidAccept(async()=>{let o=i.selectedItems[0];if(o)return i.hide(),Aa.commands.executeCommand(o.command,e)}),i.show()}}else return Aa.commands.executeCommand(B.ShowJupyterDataViewer,e)}catch(t){p.error(t),R("DATASCIENCE.FAILED_SHOW_DATA_EXPLORER"),Aa.window.showErrorMessage(y.showDataViewerFail).then(h,h)}}getMatchingVariableViewers(e){return this.getVariableViewers().filter(r=>r.jupyterVariableViewers.dataTypes.includes(e.type))}getVariableViewers(){return Aa.extensions.all.filter(t=>t.packageJSON?.contributes?.jupyterVariableViewers&&t.packageJSON?.contributes?.jupyterVariableViewers.length).map(t=>{let r=t.packageJSON?.contributes;return r?.jupyterVariableViewers?r.jupyterVariableViewers.map(i=>({extension:t,jupyterVariableViewers:i})):[]}).flat()}};Na=v([(0,L0.injectable)(),m(0,(0,L0.inject)(gs))],Na);var X4="ds_prompt_about_deprecation",wI=class{constructor(e,t,r,i,o,s,a,l,c,u,d,f,g,b,I){this.disposables=e;this.debugService=t;this.jupyterVariableDataProviderFactory=i;this.dataViewerFactory=o;this.variableProvider=s;this.errorHandler=a;this.dataViewerDependencyService=l;this.interpreterService=c;this.platformService=u;this.kernelProvider=d;this.interactiveWindowProvider=f;this.experimentService=g;this.globalMemento=b;this.dataViewerDelegator=I;this.dataViewerChecker=new O0(r),_o.workspace.isTrusted||_o.workspace.onDidGrantWorkspaceTrust(this.registerCommandsIfTrusted,this,this.disposables)}activate(){this.registerCommandsIfTrusted()}registerCommandsIfTrusted(){_o.workspace.isTrusted&&(this.registerCommand(B.ShowDataViewer,this.delegateDataViewer),this.registerCommand(B.ShowJupyterDataViewer,this.showJupyterVariableView))}registerCommand(e,t){let r=_o.commands.registerCommand(e,t,this);this.disposables.push(r)}async delegateDataViewer(e){let t="variable"in e?await this.getVariableFromRequest(e):e;if(t)return this.dataViewerDelegator.showContributedDataViewer(t)}async getVariableFromRequest(e){if(this.variableProvider){let t=IT(e.variable);return this.variableProvider.getFullVariable(t)}}async showJupyterVariableView(e){R("OPEN_DATAVIEWER_FROM_VARIABLE_WINDOW_REQUEST_EX");let t=this.experimentService.inExperiment("DataViewerDeprecation");if(!this.globalMemento.get(X4)&&t&&(this.globalMemento.update(X4,!0).then(h,h),_o.window.showInformationMessage(y.dataViewerDeprecationMessage,y.dataViewerDeprecationRecommendationActionMessage).then(r=>{r===y.dataViewerDeprecationRecommendationActionMessage&&_o.commands.executeCommand("workbench.extensions.search","@tag:jupyterVariableViewers").then(h,h)},h)),this.debugService?.activeDebugSession&&this.variableProvider&&this.jupyterVariableDataProviderFactory&&this.dataViewerFactory)try{if(this.debugService.activeDebugSession.configuration&&this.dataViewerDependencyService&&this.interpreterService){let s=await this.getDebugAdapterPython(this.debugService.activeDebugSession.configuration);s&&await this.dataViewerDependencyService.checkAndInstallMissingDependencies(s)}let r=await this.jupyterVariableDataProviderFactory.create(e),o=(await r.getDataFrameInfo())?.columns?.length;if(o&&await this.dataViewerChecker.isRequestedColumnSizeAllowed(o)){let s=`${y.dataExplorerTitle} - ${e.name}`,a=await this.dataViewerFactory.create(r,s);return R("OPEN_DATAVIEWER_FROM_VARIABLE_WINDOW_SUCCESS_EX"),a}}catch(r){R("OPEN_DATAVIEWER_FROM_VARIABLE_WINDOW_ERROR_EX",void 0,void 0,r),p.error(r),this.errorHandler.handleError(r).then(h,h)}else try{let r=this.getActiveKernel();if(r&&this.jupyterVariableDataProviderFactory&&this.dataViewerFactory){let i=await this.jupyterVariableDataProviderFactory.create(e,r),o=`${y.dataExplorerTitle} - ${e.name}`;return await this.dataViewerFactory.create(i,o)}}catch(r){p.error(r),R("DATASCIENCE.FAILED_SHOW_DATA_EXPLORER"),_o.window.showErrorMessage(y.showDataViewerFail).then(h,h)}}getActiveKernel(){let e=_o.window.activeNotebookEditor?.notebook,t=e?.notebookType==St?this.kernelProvider.get(e):void 0;if(t)return t;let r=this.getActiveInteractiveWindowDocument(),i=r?this.kernelProvider.get(r):void 0;if(i)return i;let o=this.dataViewerFactory?.activeViewer;return o?this.kernelProvider.kernels.find(s=>s===o.kernel):void 0}getActiveInteractiveWindowDocument(){let e=this.interactiveWindowProvider.getActiveOrAssociatedInteractiveWindow();if(e)return _o.workspace.notebookDocuments.find(t=>t===e?.notebookDocument)}async getDebugAdapterPython(e){if(!this.interpreterService){p.info("Interpreter Service missing when trying getDebugAdapterPython");return}let t="";if(e.debugAdapterPython!==void 0?(p.info("Found debugAdapterPython on Debug Configuration to use"),t=e.debugAdapterPython):e.pythonPath&&(p.info("Found pythonPath on Debug Configuration to use"),t=e.pythonPath),t){let r=t;return r.startsWith("~")&&this.platformService.homeDir&&(r=lh(r,this.platformService.homeDir.path)),this.interpreterService.getInterpreterDetails(_o.Uri.file(r))}else return this.interpreterService.getActiveInterpreter()}};wI=v([(0,Cr.injectable)(),m(0,(0,Cr.inject)(M)),m(1,(0,Cr.inject)(_i)),m(1,(0,Cr.optional)()),m(2,(0,Cr.inject)(ie)),m(3,(0,Cr.inject)(K0)),m(3,(0,Cr.optional)()),m(4,(0,Cr.inject)(II)),m(4,(0,Cr.optional)()),m(5,(0,Cr.inject)(yn)),m(5,(0,Cr.optional)()),m(5,(0,Cr.named)(je.DEBUGGER_VARIABLES)),m(6,(0,Cr.inject)(Gr)),m(7,(0,Cr.inject)(SI)),m(7,(0,Cr.optional)()),m(8,(0,Cr.inject)(Xe)),m(8,(0,Cr.optional)()),m(9,(0,Cr.inject)(br)),m(10,(0,Cr.inject)(De)),m(11,(0,Cr.inject)(Ki)),m(12,(0,Cr.inject)(gs)),m(13,(0,Cr.inject)(We)),m(13,(0,Cr.named)(lt)),m(14,(0,Cr.inject)(Na))],wI);var PI=k(N());var U0="0.20.0";var W0=require("vscode");var Af=class{async getVersion(e,t){try{let r=await this._getVersion(e,t);return typeof r=="string"?UP(r):r}catch(r){p.warn(y.failedToGetVersionOfPandas,r.message);return}}async promptInstall(e,t,r){let i=r?y.pandasTooOldForViewingFormat(r,U0):y.pandasRequiredForViewing(U0);if((Wp()?de.install:await W0.window.showErrorMessage(i,{modal:!0},de.install))===de.install)await this._doInstall(e,t);else throw R("DATASCIENCE.USER_DID_NOT_INSTALL_PANDAS"),new Error(i)}async checkOrInstall(e){let t=new W0.CancellationTokenSource;try{let r=await this.getVersion(e,t.token);if(t.token.isCancellationRequested){R("DS_INTERNAL.SHOW_DATA_PANDAS_INSTALL_CANCELED");return}if(r){if(r.compare(U0)>0){R("DS_INTERNAL.SHOW_DATA_PANDAS_OK");return}R("DS_INTERNAL.SHOW_DATA_PANDAS_TOO_OLD");let i=`${r.major}.${r.minor}.${r.build}`;await this.promptInstall(e,t,i)}R("DS_INTERNAL.SHOW_DATA_NO_PANDAS"),await this.promptInstall(e,t)}finally{t.dispose()}}};v([or("DS_INTERNAL.PYTHON_MODULE_INSTALL",{action:"displayed",moduleName:ar.get(23)})],Af.prototype,"promptInstall",1);var uF="5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d",Efe=`import pandas;print(pandas.__version__);print("${uF}")`,V0=class extends Af{constructor(t,r,i){super();this.installer=t;this.pythonFactory=r;this.interpreterService=i}async _getVersion(t,r){let s=(await(await this.pythonFactory.createActivatedEnvironment({resource:void 0,interpreter:t})).exec(["-c",Efe],{token:r})).stdout;if(!s?.includes(uF))return p.warn(y.failedToGetVersionOfPandas,`Output is ${s}`),"";let a=Oe(s.trim()),l=a.indexOf(uF);return l>=0?a[l-1]:""}async _doInstall(t,r){let i=t||await this.interpreterService.getActiveInterpreter();if(r.token.isCancellationRequested)return;await Xt(r.token,2,this.installer.install(23,i,r))===0&&R("DATASCIENCE.USER_INSTALLED_PANDAS")}async checkAndInstallMissingDependencies(t){R("DATAVIEWER.USING_INTERPRETER"),await this.checkOrInstall(t)}};var dF="5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d",Pfe=`import pandas as _VSCODE_pandas;print(_VSCODE_pandas.__version__);print("${dF}"); del _VSCODE_pandas`;function kfe(n){return(n.kernelConnectionMetadata.interpreter&&Ve(n.kernelConnectionMetadata.interpreter))==="Conda"?"%conda":"%pip"}var j0=class extends Af{async execute(e,t){if(!t.session?.kernel)throw new dn;let r=await pn(t.session.kernel,e),i=r.find(o=>o.output_type==="error");return i&&p.warn(y.failedToGetVersionOfPandas,i.message),r.map(o=>o.text?.toString())}async _getVersion(e){let r=(await this.execute(Pfe,e)).map(s=>s?s.toString():void 0).find(s=>s);if(!r?.includes(dF))return p.warn(y.failedToGetVersionOfPandas,`Output is ${r}`),"";let i=Oe(r.trim()),o=i.indexOf(dF);return o>=0?i[o-1]:""}async _doInstall(e){let t=`${kfe(e)} install pandas`;try{await this.execute(t,e),R("DATASCIENCE.USER_INSTALLED_PANDAS")}catch(r){throw R("DATASCIENCE.USER_INSTALLED_PANDAS",void 0,void 0,r),new Error(y.failedToInstallPandas)}}async checkAndInstallMissingDependencies(e){if(R("DATAVIEWER.USING_KERNEL"),!e.session?.kernel)throw R("DATASCIENCE.NO_ACTIVE_KERNEL_SESSION"),new Error("No no active kernel session.");await this.checkOrInstall(e)}};var EI=class{constructor(e,t,r){this.withKernel=new j0,this.withInterpreter=new V0(e,t,r)}async checkAndInstallMissingDependencies(e){return"controller"in e?this.withKernel.checkAndInstallMissingDependencies(e):this.withInterpreter.checkAndInstallMissingDependencies(e)}};EI=v([(0,PI.injectable)(),m(0,(0,PI.inject)(Ai)),m(1,(0,PI.inject)(Nr)),m(2,(0,PI.inject)(Xe))],EI);var qw=k(N());var Z4=require("vscode");var Rp=class{constructor(e,t){this.serviceContainer=e;this.disposables=t;this.knownViewers=new Set;t.push(this),this.viewContext=new tr(mr.IsDataViewerActive),this.disposables.push(Z4.commands.registerCommand(B.RefreshDataViewer,this.refreshDataViewer,this))}dispose(){for(let e of this.knownViewers)e.dispose()}async create(e,t){let r,i=this.serviceContainer.get(N0);try{this.knownViewers.add(i),i.onDidDisposeDataViewer(this.updateOpenDataViewers,this,this.disposables),i.onDidChangeDataViewerViewState(this.updateViewStateContext,this,this.disposables),await i.showData(e,t),r=i}finally{r||i.dispose()}return r}get activeViewer(){return[...this.knownViewers.values()].find(e=>e.active)}updateOpenDataViewers(e){this.knownViewers.delete(e)}async updateViewStateContext(){let e=!1;this.knownViewers.forEach(t=>{t.active&&(e=!0)}),await this.viewContext.set(e)}refreshDataViewer(){for(let e of this.knownViewers)e.active&&e.refreshData().then(h,h)}};v([or("DATASCIENCE.START_SHOW_DATA_EXPLORER")],Rp.prototype,"create",1),v([dv(1e3)],Rp.prototype,"refreshDataViewer",1),Rp=v([(0,qw.injectable)(),m(0,(0,qw.inject)(rt)),m(1,(0,qw.inject)(M))],Rp);var ku=k(N());var Pu=class{constructor(e,t){this.variableManager=e;this.dependencyService=t;this.initialized=!1}get kernel(){return this._kernel}static getNormalizedColumns(e){return e.map(t=>{let r;switch(t.type){case"bool":r="bool";break;case"integer":case"int32":case"int64":case"float":case"float32":case"float64":case"number":r="number";break;default:r="string"}return{key:t.key,type:r}})}static parseShape(e){try{if(e.startsWith("(")&&e.endsWith(")"))return e.substring(1,e.length-1).split(",").map(t=>parseInt(t))}catch{p.error(`Could not parse IJupyterVariable with malformed shape: ${e}`)}}dispose(){}setDependencies(e,t){this._kernel=t,this.variable=e}async getDataFrameInfo(e,t){let r={};await this.ensureInitialized();let i=this.variable;return i&&((e||t)&&(i=await this.variableManager.getDataFrameInfo(i,this._kernel,e,t)),r={columns:i.columns?Pu.getNormalizedColumns(i.columns):i.columns,indexColumn:i.indexColumn,rowCount:i.rowCount,dataDimensionality:i.dataDimensionality,shape:Pu.parseShape(i.shape),sliceExpression:e,type:i.type,maximumRowChunkSize:i.maximumRowChunkSize,name:i.name,fileName:ke(i.fileName)}),t&&(this.variable=i),r}async getAllRows(e){let t=[];return await this.ensureInitialized(),this.variable&&this.variable.rowCount&&(t=(await this.variableManager.getDataFrameRows(this.variable,0,this.variable.rowCount,this._kernel,e)).data),t}async getRows(e,t,r){let i=[];return await this.ensureInitialized(),this.variable&&this.variable.rowCount&&(i=(await this.variableManager.getDataFrameRows(this.variable,e,t,this._kernel,r)).data),i}async ensureInitialized(){!this.initialized&&this.variable&&(this.initialized=!0,this._kernel?.kernelConnectionMetadata&&this.dependencyService&&await this.dependencyService.checkAndInstallMissingDependencies(Mu()?this._kernel:this._kernel?.kernelConnectionMetadata.interpreter||this._kernel),this.variable=await this.variableManager.getDataFrameInfo(this.variable,this._kernel))}};Pu=v([(0,ku.injectable)(),m(0,(0,ku.inject)(yn)),m(0,(0,ku.named)(je.ALL_VARIABLES)),m(1,(0,ku.inject)(SI)),m(1,(0,ku.optional)())],Pu);var J0=k(N());var kI=class{constructor(e){this.serviceContainer=e}async create(e,t){let r=this.serviceContainer.get(M0);return r.setDependencies(e,t),r}};kI=v([(0,J0.injectable)(),m(0,(0,J0.inject)(rt))],kI);var Hw=k(N()),B0=require("vscode");var xI=class{constructor(e,t){this.kernelProvider=e;this.controllers=t;this.disposables=[];this.widgetOutputsPerNotebook=new WeakMap}dispose(){z(this.disposables)}activate(){let e=B0.notebooks.createRendererMessaging("jupyter-ipywidget-renderer");e.onDidReceiveMessage(this.onDidReceiveMessage.bind(this,e),this,this.disposables),this.kernelProvider.onDidStartKernel(this.onDidStartKernel,this,this.disposables)}onDidStartKernel(e){this.hookupKernel(e),e.onStarted(()=>this.hookupKernel(e),this,this.disposables),e.onRestarted(()=>this.hookupKernel(e),this,this.disposables)}hookupKernel(e){this.widgetOutputsPerNotebook.delete(e.notebook);let t=e.session?.kernel,r=e.session?.kernel?.iopubMessage;if(!r)return;let i=require("@jupyterlab/services"),o=(s,a)=>{s===t&&(i.KernelMessage.isDisplayDataMsg(a)||i.KernelMessage.isUpdateDisplayDataMsg(a)||i.KernelMessage.isExecuteReplyMsg(a)||i.KernelMessage.isExecuteResultMsg(a))&&this.trackModelId(e.notebook,a)};r.connect(o),this.disposables.push(new B0.Disposable(()=>r.disconnect(o)))}trackModelId(e,t){let r=t.content;if(r.data&&typeof r.data=="object"&&Ui in r.data){let i=r.data[Ui];if(i&&"model_id"in i){let o=this.widgetOutputsPerNotebook.get(e)||new Set;o.add(i.model_id),this.widgetOutputsPerNotebook.set(e,o)}}}onDidReceiveMessage(e,{editor:t,message:r}){r&&typeof r=="object"&&r.command==="query-widget-state"&&this.queryWidgetState(e,t,r),r&&typeof r=="object"&&r.command==="ipywidget-renderer-loaded"&&this.sendWidgetVersionAndState(e,t)}queryWidgetState(e,t,r){let i=this.widgetOutputsPerNotebook.get(t.notebook),o=!!this.controllers.getSelected(t.notebook),s=!!i?.has(r.model_id);e.postMessage({command:"query-widget-state",model_id:r.model_id,hasWidgetState:s,kernelSelected:o},t).then(h,h)}sendWidgetVersionAndState(e,t){let r=this.kernelProvider.get(t.notebook),i=r?.ipywidgetsVersion;r?.ipywidgetsVersion&&p.trace(`IPyWidget version in Kernel is ${r?.ipywidgetsVersion}.`);let o=!!this.controllers.getSelected(t.notebook);e.postMessage({command:"ipywidget-renderer-init",version:i,widgetState:void 0,kernelSelected:o},t).then(h,h)}};xI=v([(0,Hw.injectable)(),m(0,(0,Hw.inject)(De)),m(1,(0,Hw.inject)(ot))],xI);var Mf=k(N());var pF=require("vscode");var Nf=k(N());var pc=require("vscode");var $0=class{constructor(e,t,r){this.disposedCallback=r,this.callback=e,this.viewChanged=t}dispose(){this.disposedCallback()}onMessage(e,t){this.callback(e,t)}onChangeViewState(e){this.viewChanged&&this.viewChanged(e)}};var Gs;(s=>(s.Started="started",s.UpdateSettings="update_settings",s.SendPlot="send_plot",s.CopyPlot="copy_plot",s.ExportPlot="export_plot",s.RemovePlot="remove_plot"))(Gs||={});var eG=class{static{Gs.Started,Gs.UpdateSettings,Gs.SendPlot,Gs.CopyPlot,Gs.ExportPlot,Gs.RemovePlot}},q0=Symbol("IPlotViewerProvider"),H0=Symbol("IPlotViewer");var DI=class extends CI{constructor(t,r,i,o){let s=new Ue,a=zt(o.extensionUri,"dist","webviews","webview-side","viewers");super(r,t,(l,c,u)=>new $0(l,c,u),a,[zt(a,"plotViewer.js")],y.plotViewerTitle,pc.ViewColumn.One);this.fs=i;this.context=o;this.closedEvent=new pc.EventEmitter;this.removedEvent=new pc.EventEmitter;this.addPlot=async t=>{this.isDisposed||(await super.show(!1),this.postMessage(Gs.SendPlot,t).catch(h))};super.loadWebview(pc.Uri.file(process.cwd())).catch(p.error).finally(()=>{R("PLOTVIEWER.WEBVIEW_LOADED",{duration:s.elapsedTime})})}get closed(){return this.closedEvent.event}get removed(){return this.removedEvent.event}async show(){if(!this.isDisposed)return super.show(!0)}dispose(){super.dispose(),this.removedEvent.dispose(),this.closedEvent&&this.closedEvent.fire(this)}get owningResource(){}onMessage(t,r){switch(t){case Gs.CopyPlot:this.copyPlot(r.toString()).catch(h);break;case Gs.ExportPlot:this.exportPlot(r).catch(h);break;case Gs.RemovePlot:this.removePlot(r);break;default:break}super.onMessage(t,r)}removePlot(t){this.removedEvent.fire(t)}copyPlot(t){return Promise.resolve()}async exportPlot(t){p.info("exporting plot...");let r={};r[y.pngFilter]=["png"],r[y.svgFilter]=["svg"];let i=await pc.window.showSaveDialog({saveLabel:y.exportPlotTitle,filters:r});try{if(i)switch(Wi(i.path).toLowerCase()){case".png":let s=Hh(t.png.replace("data:image/png;base64",""));await this.fs.writeFile(i,s);break;default:case".svg":await this.fs.writeFile(i,t.svg);break}}catch(o){p.error(o),pc.window.showErrorMessage(y.exportImageFailed(o.toString())).then(h,h)}}};DI=v([(0,Nf.injectable)(),m(0,(0,Nf.inject)(md)),m(1,(0,Nf.inject)(ie)),m(2,(0,Nf.inject)(tt)),m(3,(0,Nf.inject)(et))],DI);var _I=class extends DI{constructor(t,r,i,o){super(t,r,i,o);this.fsNode=i}async exportPlot(t){p.info("exporting plot...");let r={};r[y.pdfFilter]=["pdf"],r[y.pngFilter]=["png"],r[y.svgFilter]=["svg"];let i=await pF.window.showSaveDialog({saveLabel:y.exportPlotTitle,filters:r});try{if(i)switch(Wi(i.fsPath).toLowerCase()){case".pdf":await mF(t.svg,this.fsNode,i);break;case".png":let s=Hh(t.png.replace("data:image/png;base64",""));await this.fs.writeFile(i,s);break;default:case".svg":await this.fs.writeFile(i,t.svg);break}}catch(o){p.error(o),pF.window.showErrorMessage(y.exportImageFailed(o)).then(h,h)}}};_I=v([(0,Mf.injectable)(),m(0,(0,Mf.inject)(md)),m(1,(0,Mf.inject)(ie)),m(2,(0,Mf.inject)(lr)),m(3,(0,Mf.inject)(et))],_I);async function mF(n,e,t){p.info("Attempting pdf write...");let r=(await import("svg-to-pdfkit")).default,i=re(),o=require("pdfkit/js/pdfkit.standalone"),s=new o,a=e.createLocalWriteStream(t.fsPath);p.info(`Writing pdf to ${t.fsPath}`),a.on("finish",()=>i.resolve),r(s,n,0,0,{preserveAspectRatio:"xMinYMin meet"}),s.pipe(a),s.end(),p.info(`Finishing pdf to ${t.fsPath}`),await i.promise,p.info(`Completed pdf to ${t.fsPath}`)}var Gw=k(N());var TI=class{constructor(e,t){this.serviceContainer=e;this.imageList=[];this.closedViewer=()=>{this.currentViewer&&(this.currentViewer=void 0),this.currentViewerClosed&&(this.currentViewerClosed.dispose(),this.currentViewerClosed=void 0)};this.removedPlot=e=>{this.imageList.splice(e,1)};t.push(this)}dispose(){this.currentViewer&&this.currentViewer.dispose()}async showPlot(e){this.imageList.push(e);let t=this.currentViewer?[e]:this.imageList,r=await this.getOrCreate();await Promise.all(t.map(r.addPlot))}async getOrCreate(){return this.currentViewer||(this.currentViewer=this.serviceContainer.get(H0),this.currentViewerClosed=this.currentViewer.closed(this.closedViewer),this.currentViewer.removed(this.removedPlot),R("DATASCIENCE.OPEN_PLOT_VIEWER"),await this.currentViewer.show()),this.currentViewer}};TI=v([(0,Gw.injectable)(),m(0,(0,Gw.inject)(rt)),m(1,(0,Gw.inject)(M))],TI);var Y0=k(N());var z0=k(N()),Ap=require("vscode");var Q0="image/svg+xml",G0={"image/png":"png","image/jpeg":"jpeg","image/gif":"gif",[Q0]:"svg"},RI=class{constructor(e){this.fs=e}async savePlot(e,t,r){if(e.isClosed)return;let i=xfe(e,t,r);if(!i)return p.error(`No plot to save ${j(e.uri)}, id: ${t} for ${r}`);if(!(r.toLowerCase()in G0))return p.error(`Unsupported MimeType ${j(e.uri)}, id: ${t} for ${r}`);let o=await this.getSaveTarget(i,r);o&&(o.path.toLowerCase().endsWith("pdf")?await this.saveAsPdf(i,o):await this.saveAsImage(i,o))}getSaveTarget(e,t){let r=G0[t.toLowerCase()],i={};e.items.find(l=>l.mime.toLowerCase()===Q0)&&(i[y.pdfFilter]=["pdf"],i[y.svgFilter]=["svg"]),r==="png"&&(i[y.pngFilter]=["png"]),Object.keys(i).length===0&&(i.Images=[r]);let o=(Ap.workspace.workspaceFolders?.length||0)>0?Ap.workspace.workspaceFolders[0].uri:void 0,s="output",a=o?Ap.Uri.joinPath(o,s):Ap.Uri.file(s);return Ap.window.showSaveDialog({defaultUri:a,saveLabel:y.exportPlotTitle,filters:i})}async saveAsImage(e,t){let r=Wi(t.path).substring(1),i=Object.keys(G0).find(s=>G0[s]===r),o=e.items.find(s=>s.mime===i);if(!o)throw new Error(`Unsupported MimeType ${t.toString()}, available mime Types: ${e.items.map(s=>s.mime).join(", ")}`);await this.fs.writeFile(t,o.data)}async saveAsPdf(e,t){return p.error("Save as PDF is not yet supported on the web.")}};RI=v([(0,z0.injectable)(),m(0,(0,z0.inject)(tt))],RI);function xfe(n,e,t){for(let r of n.getCells())for(let i of r.outputs)if(i.id===e&&i.items.find(o=>o.mime===t))return i}var AI=class extends RI{constructor(t){super(t);this.fsNode=t}async saveAsPdf(t,r){let i=Buffer.from(t.items.find(o=>o.mime===Q0).data).toString();await mF(i,this.fsNode,r)}};AI=v([(0,Y0.injectable)(),m(0,(0,Y0.inject)(lr))],AI);var X0=k(N());var Dfe="image/svg+xml",_fe="image/png",xu=class{constructor(e){this.plotViewProvider=e}async openPlot(e,t){if(e.isClosed)return;let r=tG(e,t,Dfe),i;if(r)i=new TextDecoder().decode(r.data);else{let o=tG(e,t,_fe);if(!o)return p.error(`No SVG or PNG Plot to open ${j(e.uri)}, id: ${t}`);i=Tfe(o)}i&&await this.plotViewProvider.showPlot(i)}};xu=v([(0,X0.injectable)(),m(0,(0,X0.inject)(q0))],xu);function tG(n,e,t){for(let r of n.getCells())for(let i of r.outputs)if(i.id===e)return i.items.find(o=>o.mime===t)}function Tfe(n){let e=n.data,t=YP(e),r=Rfe(e);return`<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||
<svg height="${r.height}" width="${r.width}" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
<g>
|
||
<image xmlns="http://www.w3.org/2000/svg" x="0" y="0" height="100%" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="data:image/png;base64,${t}"/>
|
||
</g>
|
||
</svg>`}function Rfe(n){if(!Afe(n))throw new Error("The buffer is not a valid png");let e=new DataView(new Uint8Array(n).buffer);return{width:e.getUint32(16,!1),height:e.getUint32(20,!1)}}function Afe(n){return n[0]===137&&n[1]===80&&n[2]===78&&n[3]===71&&n[4]===13&&n[5]===10&&n[6]===26&&n[7]===10&&n.length>8+21}var zw=k(N()),e1=require("vscode");var Z0=Symbol("IPlotSaveHandler");var NI=class{constructor(e,t){this.plotSaveHandler=e;this.plotViewHandler=t;this.disposables=[]}dispose(){z(this.disposables)}activate(){this.activateImpl().catch(h)}async activateImpl(){let e=e1.extensions.getExtension(eh);if(!e)return;e.isActive||await e.activate(),e.exports.onDidReceiveMessage(({editor:r,message:i})=>{let o=r.notebook||e1.window.activeNotebookEditor?.notebook;o&&(i.type==="saveImageAs"?this.plotSaveHandler.savePlot(o,i.outputId,i.mimeType).catch(h):i.type==="openImageInPlotViewer"&&this.plotViewHandler.openPlot(o,i.outputId).catch(h))},this,this.disposables)}};NI=v([(0,zw.injectable)(),m(0,(0,zw.inject)(Z0)),m(1,(0,zw.inject)(xu))],NI);var Kf=k(N()),mc=require("vscode");var MI=class{constructor(e,t,r,i){this.interactiveWindowProvider=e;this.kernelProvider=t;this.dataViewerFactory=r;this.disposables=i;this._onDidFinisheExecutingActiveNotebook=new mc.EventEmitter;this._onDidChangeActiveNotebook=new mc.EventEmitter;this._onDidRestartActiveNotebook=new mc.EventEmitter;this._executionCountTracker=new WeakMap;mc.window.onDidChangeActiveNotebookEditor(this.activeEditorChanged,this,this.disposables),mc.workspace.onDidCloseNotebookDocument(this.notebookEditorClosed,this,this.disposables),this.kernelProvider.onDidRestartKernel(o=>{this.handleRestart({state:1,notebook:o.notebook})},this,this.disposables),er.onDidChangeNotebookCellExecutionState(this.onDidChangeNotebookCellExecutionState,this,this.disposables)}get onDidChangeActiveNotebook(){return this._onDidChangeActiveNotebook.event}get onDidFinishExecutingActiveNotebook(){return this._onDidFinisheExecutingActiveNotebook.event}get onDidRestartActiveNotebook(){return this._onDidRestartActiveNotebook.event}get activeKernel(){let e=mc.window.activeNotebookEditor?.notebook,t=e?.notebookType==St?this.kernelProvider.get(e):void 0;if(t)return t;let r=this.getActiveInteractiveWindowDocument(),i=r?this.kernelProvider.get(r):void 0;if(i)return i;let o=this.dataViewerFactory.activeViewer;return o?this.kernelProvider.kernels.find(s=>s===o.kernel):void 0}get activeNotebookExecutionCount(){let e=this.activeKernel?.notebook;return e?this._executionCountTracker.get(e):void 0}getActiveInteractiveWindowDocument(){let e=this.interactiveWindowProvider.getActiveOrAssociatedInteractiveWindow();if(e)return mc.workspace.notebookDocuments.find(t=>t===e?.notebookDocument)}onDidChangeNotebookCellExecutionState(e){Et(e.cell.notebook)&&e.state===1&&this.handleExecute({notebook:e.cell.notebook,state:0,cell:e.cell})}handleExecute(e){this.isNonSilentExecution(e)&&(e.cell?.executionSummary?.executionOrder!==void 0&&this._executionCountTracker.set(e.notebook,e.cell.executionSummary?.executionOrder),this.isActiveNotebookEvent(e)&&e.cell?.executionSummary?.executionOrder!==void 0&&this.activeKernel&&this.kernelProvider.getKernelExecution(this.activeKernel).pendingCells.length===0&&this._onDidFinisheExecutingActiveNotebook.fire({executionCount:e.cell.executionSummary?.executionOrder}))}handleRestart(e){this._executionCountTracker.delete(e.notebook),this.isActiveNotebookEvent(e)&&this._onDidRestartActiveNotebook.fire()}notebookEditorClosed(e){this._executionCountTracker.delete(e)}activeEditorChanged(e){let t={};if(e&&Et(e.notebook)){let r=this._executionCountTracker.get(e.notebook);r&&(t.executionCount=r)}this._onDidChangeActiveNotebook.fire(t)}isNonSilentExecution(e){return!!(e.state===0&&e.cell&&e.cell.executionSummary?.executionOrder)}isActiveNotebookEvent(e){return this.activeKernel?.notebook===e.notebook}};MI=v([(0,Kf.injectable)(),m(0,(0,Kf.inject)(Ki)),m(1,(0,Kf.inject)(De)),m(2,(0,Kf.inject)(II)),m(3,(0,Kf.inject)(M))],MI);var rG=class{static{"force_variable_refresh","settings_updated","activate","show_data_explorer","get_variables_request","get_variables_response","variable_explorer_toggle","set_variable_explorer_height","variable_explorer_height_response","open_link","variables_complete","update_settings","loc_init","update_variable_view_execution_count","get_html_by_id_request","get_html_by_id_response","restart_kernel"}},t1=Symbol("INotebookWatcher"),r1=Symbol("IVariableViewProvider");var Qw=k(N()),nG=require("vscode");var KI=class{constructor(e,t){this.extensionContext=e;this.variableViewProvider=t}activate(){this.extensionContext.subscriptions.push(nG.window.registerWebviewViewProvider(this.variableViewProvider.viewType,this.variableViewProvider,{webviewOptions:{retainContextWhenHidden:!1}}))}};KI=v([(0,Qw.injectable)(),m(0,(0,Qw.inject)(et)),m(1,(0,Qw.inject)(r1))],KI);var os=k(N());var o1=require("vscode");var n1=class{constructor(e,t){this.disposedCallback=t,this.callback=e}dispose(){this.disposedCallback()}onMessage(e,t){this.callback(e,t)}};var i1=class extends wu{constructor(t,r,i,o,s){super(t,o,s);this.configService=t;this.provider=i;this.messageListener=r(this.onMessage.bind(this),this.dispose.bind(this))}get isDisposed(){return this.disposed}get webviewView(){return this.webview&&this.webview}async provideWebview(t,r,i,o){if(!o)throw new Error("WebviewViews must be passed an initial VS Code Webview");return this.provider.create({additionalPaths:i?[i]:[],rootPath:this.rootPath,cwd:t,listener:this.messageListener,scripts:this.scripts,settings:r,webviewHost:o})}};var Of=class extends i1{constructor(t,r,i,o,s,a,l,c){let u=zt(i.extensionUri,"dist","webviews","webview-side","viewers");super(t,(d,f)=>new n1(d,f),r,u,[zt(u,"variableView.js")]);this.variables=o;this.disposables=s;this.notebookWatcher=a;this.experiments=l;this.dataViewerDelegator=c;this.notebookWatcher.onDidFinishExecutingActiveNotebook(this.activeNotebookExecuted,this,this.disposables),this.notebookWatcher.onDidChangeActiveNotebook(this.activeNotebookChanged,this,this.disposables),this.notebookWatcher.onDidRestartActiveNotebook(this.activeNotebookRestarted,this,this.disposables),this.variables.refreshRequired(this.sendRefreshMessage,this,this.disposables),o1.window.onDidChangeActiveTextEditor(this.activeTextEditorChanged,this,this.disposables)}get owningResource(){}async load(t){await super.loadWebview(o1.Uri.file(process.cwd()),t).catch(p.error),this.webviewView&&this.disposables.push(this.webviewView.onDidChangeVisibility(()=>{this.handleVisibilityChanged()})),this.handleVisibilityChanged()}get title(){return"variableView"}onMessage(t,r){switch(t){case"get_variables_request":this.handleMessage(t,r,this.requestVariables);break;case"show_data_explorer":this.handleMessage(t,r,this.showDataViewer);break;default:break}super.onMessage(t,r)}handleMessage(t,r,i){let o=r;i.bind(this)(o)}handleVisibilityChanged(){let t=new tr("jupyter.variableViewVisible"),r=!1;this.webviewView&&(r=this.webviewView.visible),t.set(r).catch(h),r&&(R("DS_INTERNAL.NATIVE_VARIABLE_VIEW_MADE_VISIBLE"),this.notebookWatcher.activeNotebookExecutionCount!==void 0?this.postMessage("update_variable_view_execution_count",{executionCount:this.notebookWatcher.activeNotebookExecutionCount}).catch(h):this.postMessage("force_variable_refresh").catch(h))}async showDataViewer(t){return t.variable.fileName=t.variable.fileName??this.notebookWatcher.activeKernel?.notebook.uri,this.dataViewerDelegator.showContributedDataViewer(t.variable)}postProcessSupportsDataExplorer(t){let r=this.dataViewerDelegator.getVariableViewers();return t.pageResponse.forEach(i=>{this.experiments.inExperiment("DataViewerContribution")&&(i.supportsDataExplorer=r.some(o=>o.jupyterVariableViewers.dataTypes.includes(i.type)))}),t}async requestVariables(t){let r=this.notebookWatcher.activeKernel;if(r){let i=await this.variables.getVariables(t,r);this.postMessage("get_variables_response",this.postProcessSupportsDataExplorer(i)).catch(h),R("DS_INTERNAL.VARIABLE_EXPLORER_VARIABLE_COUNT",{variableCount:i.totalCount})}else{let i={executionCount:t.executionCount,pageStartIndex:-1,pageResponse:[],totalCount:0,refreshCount:t.refreshCount};this.postMessage("get_variables_response",i).catch(h)}}async activeNotebookExecuted(t){this.postMessage("update_variable_view_execution_count",{executionCount:t.executionCount}).catch(h)}async activeNotebookChanged(t){t.executionCount?this.postMessage("update_variable_view_execution_count",{executionCount:t.executionCount}).catch(h):this.postMessage("update_variable_view_execution_count",{executionCount:0}).catch(h),this.postMessage("force_variable_refresh").catch(h)}activeTextEditorChanged(){this.postMessage("force_variable_refresh").catch(h)}async activeNotebookRestarted(){this.postMessage("restart_kernel").catch(h)}async sendRefreshMessage(){this.postMessage("force_variable_refresh").catch(h)}};v([or("DS_INTERNAL.NATIVE_VARIABLE_VIEW_LOADED")],Of.prototype,"load",1),v([Br()],Of.prototype,"showDataViewer",1),v([Br()],Of.prototype,"requestVariables",1);var OI=class{constructor(e,t,r,i,o,s,a,l){this.configuration=e;this.webviewViewProvider=t;this.context=r;this.variables=i;this.disposables=o;this.notebookWatcher=s;this.experiments=a;this.dataViewerDelegator=l;this.viewType="jupyterViewVariables"}get activeVariableView(){if(!Er())throw new Error("activeVariableView only for test code");return this.variableView?Promise.resolve(this.variableView):(this.activeVariableViewPromise=re(),this.activeVariableViewPromise.promise)}async resolveWebviewView(e,t,r){e.webview.options={enableScripts:!0},this.variableView=new Of(this.configuration,this.webviewViewProvider,this.context,this.variables,this.disposables,this.notebookWatcher,this.experiments,this.dataViewerDelegator),this.activeVariableViewPromise&&this.activeVariableViewPromise.resolve(this.variableView),await this.variableView.load(e)}};OI=v([(0,os.injectable)(),m(0,(0,os.inject)(ie)),m(1,(0,os.inject)(kk)),m(2,(0,os.inject)(et)),m(3,(0,os.inject)(yn)),m(3,(0,os.named)(je.ALL_VARIABLES)),m(4,(0,os.inject)(M)),m(5,(0,os.inject)(t1)),m(6,(0,os.inject)(gs)),m(7,(0,os.inject)(Na))],OI);function iG(n){n.addSingleton(me,NI),n.add(N0,Rf),n.addSingleton(II,Rp),n.addSingleton(SI,EI),n.addSingleton(me,wI),n.addSingleton(Na,Na),n.add(H0,_I),n.addSingleton(q0,TI),n.addSingleton(Z0,AI),n.addSingleton(xu,xu),n.addSingleton(t1,MI),n.addSingleton(me,KI),n.addSingleton(me,xI),n.addSingleton(r1,OI),n.add(M0,Pu),n.addSingleton(K0,kI)}var Np=require("os");var To=k(require("vscode"));var aG=k(require("vscode"));var Ff=k(require("vscode")),fF;(t=>{function n(r){return r.start.line===r.end.line&&r.start.character===r.end.character}t.isEmpty=n;function e(r,i){let o=r.start.line,s=r.start.character,a=r.end.line,l=r.end.character,c=i.start.line,u=i.start.character,d=i.end.line,f=i.end.character;return o<c?(o=c,s=u):o===c&&(s=Math.max(s,u)),a>d?(a=d,l=f):a===d&&(l=Math.min(l,f)),!(o>a||o===a&&s>l)}t.intersects=e})(fF||={});function hF(n){n.sort((t,r)=>t-r);let e=n.shift();return e===void 0?[]:n.reduce(function(t,r){return r<=t[0][1]?t[0][1]=r+1:t.unshift([r,r+1]),t},[[e,e+1]]).reverse().map(t=>new Ff.NotebookRange(t[0],t[1]))}function oG(n){return n.reduce((t,r)=>{for(let i=r.start;i<r.end;i++)t.push(i);return t},[])}function Nfe(n){return Ff.workspace.notebookDocuments.find(e=>e.uri.authority===n.uri.authority&&e.uri.path===n.uri.path)}function Yw(n){let e=Ff.workspace.textDocuments.find(o=>o.uri.toString()===n?.document.uri.toString())??Ff.window.activeTextEditor?.document;if(!e)return;let t=Nfe(e);if(!t)return;let i=t.getCells().find(o=>o.document.uri.toString()===e.uri.toString());if(i)return{notebook:t,cell:i}}function gF(n,e){return n.start.line===e.start.line&&n.start.character===e.start.character&&n.end.line===e.end.line&&n.end.character===e.end.character}function di(){}var sG="ms-python.vscode-pylance";async function Mfe(n){return await n.activate()}var vF;async function lG(){let n=aG.extensions.getExtension(sG);if(n)return vF||new Promise((e,t)=>{Mfe(n).then(async r=>{if(!r){console.error("Could not start Pylance"),t();return}r.client&&await r.client.start(),vF=r.notebook,e(r.notebook)}).then(di,di)})}var _r=k(require("vscode"));var Kfe=_r.window.createTextEditorDecorationType({after:{contentText:"write",margin:"0 0 0 1em",backgroundColor:"red"}}),Ofe=_r.window.createTextEditorDecorationType({after:{contentText:"read",margin:"0 0 0 1em",backgroundColor:"green"}}),s1=class{constructor(e,t,r){this._notebookDocument=e;this._cellExecution=t;this._cellRefs=r}_getVirtualCellList(e){return this._cellExecution.findIndex(r=>r.cell.document.uri.toString()===e.document.uri.toString())===-1?this._notebookDocument.getCells():this._cellExecution.map(r=>r.cell)}getPredecessorCells(e,t=!1){let r=t?this._notebookDocument.getCells():this._getVirtualCellList(e);var i;for(i=r.length-1;i>=0&&r[i].document.uri.toString()!==e.document.uri.toString();i--);if(i===-1)return[];let o=i,s=r.slice(0,o+1),a=new Array(s.length).fill(!1);a[o]=!0;let l=new Map;for(let[d,f]of this._cellRefs.entries()){let g=f.filter(b=>b.kind==="write").map(b=>b.uri.fragment);f.forEach(b=>{let I=b.uri.fragment;l.has(I)?l.get(I)?.push(d):l.set(I,[d])}),f.forEach(b=>{let I=b.uri.fragment;l.has(I)?l.get(I)?.push(...g):l.set(I,g)})}let c=e.document.uri.fragment;this._resolveDependencies(l,a,c,s,t);let u=[];for(let d=0;d<a.length;d++)a[d]&&u.push(s[d]);return u}getSuccessorCells(e){let t=this._getVirtualCellList(e),r=t.findIndex(a=>a.document.uri.fragment===e.document.uri.fragment);if(r===-1)return[];let i=new Array(t.length).fill(!1);i[r]=!0;let o=new Map;this._cellRefs.forEach(a=>{a.forEach(l=>{if(l.kind==="write"){let c=l.uri.fragment,u=o.get(c)??[];u.push(...a.filter(d=>d!==l)),o.set(c,u)}})});for(let a=r;a<t.length;a++)if(i[a]){let l=this._cellRefs.get(t[a].document.uri.fragment)||[],c=o.get(t[a].document.uri.fragment)||[];[...l,...c].forEach(d=>{let f=t.findIndex(g=>g.document.uri.fragment===d.uri.fragment);f!==-1&&f>=a&&(i[f]=!0)})}let s=[];for(let a=0;a<i.length;a++)i[a]&&s.push(t[a]);return s}_resolveDependencies(e,t,r,i,o=!1){if(e.has(r))for(let s of e.get(r)){let a=i.findIndex(l=>l.document.uri.fragment===s);if(a===-1){if(o)continue;throw new Error(`Dependency ${s} is not in the execution list.`)}t[a]||(t[a]=!0,this._resolveDependencies(e,t,s,i,o))}}};var a1=class{constructor(e,t){this._notebookEditor=e;this._client=t;this._pendingRequests=new Map;this._cellRefs=new Map;this._staleCellRefs=new Map;this._cellExecution=[];this._disposables=[];this._notebookEditor.notebook.getCells().forEach(r=>{this._requestCellSymbols(r,!1).then(di,di)}),this._disposables.push(_r.workspace.onDidChangeNotebookDocument(r=>{r.notebook===this._notebookEditor.notebook&&(r.contentChanges.forEach(i=>{i.removedCells.forEach(o=>{this._pendingRequests.delete(o.document.uri.fragment),this._cellRefs.delete(o.document.uri.fragment)}),i.addedCells.forEach(o=>{this._requestCellSymbols(o,!1).then(di,di)})}),r.cellChanges.forEach(i=>{i.document&&(this._requestCellSymbols(i.cell,!1).then(di,di),this._updateCellStatus(i.cell,0))}))})),this._disposables.push(er.onDidChangeNotebookCellExecutionState(r=>{r.state===3&&r.cell.document.languageId==="python"&&this._updateCellStatus(r.cell,1),r.state===1&&r.cell.document.languageId==="python"&&(this._cellExecution.push({cell:r.cell,executionCount:r.cell.executionSummary?.executionOrder??0}),this._updateCellStatus(r.cell,2))}))}_updateCellStatus(e,t){this._staleCellRefs.set(e.document.uri.fragment,t)}async _requestCellSymbolsSync(){let e=[...this._pendingRequests.keys()];this._pendingRequests.forEach(t=>t.cancel()),this._pendingRequests.clear();for(let t of e){let r=this._notebookEditor.notebook.getCells().find(i=>i.document.uri.fragment===t);r&&await this._requestCellSymbols(r,!0)}}async getCellSymbolRefs(e){let t=this._cellRefs.get(e.document.uri.fragment);if(t)return t}async selectPrecedentCells(e){let t=await this.getPrecedentCells(e);this._notebookEditor.selections=t}async selectSuccessorCells(e){let t=await this.getSuccessorCells(e);this._notebookEditor.selections=t}async runPrecedentCells(e){let t=await this.getPrecedentCells(e);await _r.commands.executeCommand("notebook.cell.execute",{ranges:t.map(r=>({start:r.start,end:r.end})),document:this._notebookEditor.notebook.uri}).then(di,di)}async runSuccessorCells(e){let t=await this.getSuccessorCells(e);await _r.commands.executeCommand("notebook.cell.execute",{ranges:t.map(r=>({start:r.start,end:r.end})),document:this._notebookEditor.notebook.uri}).then(di,di)}async getPrecedentCells(e){await this._requestCellSymbolsSync();let t=new s1(this._notebookEditor.notebook,this._cellExecution,this._cellRefs),r=[];try{r=t.getPredecessorCells(e)}catch{try{r=t.getPredecessorCells(e,!0)}catch{throw new Error("No precedent cells found")}}let i=r.findIndex(s=>(this._staleCellRefs.get(s.document.uri.fragment)??0)===0);return hF((i===-1?r:r.slice(i)).map(s=>s.index))}async getSuccessorCells(e){await this._requestCellSymbolsSync();let r=new s1(this._notebookEditor.notebook,this._cellExecution,this._cellRefs).getSuccessorCells(e);return hF(r.map(o=>o.index))}async debugSymbols(){let e=[];await this._requestCellSymbolsSync(),console.log(JSON.stringify(Array.from(this._cellRefs.entries())));for(let r of _r.window.visibleTextEditors){let i=r.document;if(i.uri.scheme==="vscode-notebook-cell"&&i.uri.path===this._notebookEditor.notebook.uri.path){let o=this._cellRefs.get(i.uri.fragment);o&&e.push(...o)}}let t=new Map;e.forEach(r=>{let i=r.uri.fragment;t.has(i)||t.set(i,[]),t.get(i)?.push(r)}),t.forEach((r,i)=>{let o=_r.window.visibleTextEditors.find(s=>s.document.uri.path===this._notebookEditor.notebook.uri.path&&s.document.uri.fragment===i);if(o){let s=[],a=[];r.reduce((c,u)=>c.find(f=>gF(f.range,u.range))?c:c.concat([u]),[]).forEach(c=>{let u=new _r.Position(c.range.end.line,c.range.end.character),d=new _r.Range(u,u);c.kind==="write"?s.push(d):c.kind==="read"&&a.push(d)}),o.setDecorations(Kfe,s),o.setDecorations(Ofe,a)}})}async _requestCellSymbols(e,t){let r=this._pendingRequests.get(e.document.uri.fragment);if(r&&r.cancel(),t){let o=new _r.CancellationTokenSource;await this._doRequestCellSymbols(e,o.token),o.dispose();return}let i=new _r.CancellationTokenSource;this._pendingRequests.set(e.document.uri.fragment,i),setTimeout(()=>{this._pendingRequests.get(e.document.uri.fragment)===i&&(this._pendingRequests.delete(e.document.uri.fragment),!i.token.isCancellationRequested&&this._doRequestCellSymbols(e,i.token).then(di,di))},500)}async _getDocumentSymbols(e){if(this._client.getDocumentSymbols){let t=new _r.CancellationTokenSource,r=await this._client.getDocumentSymbols(e.document,t.token);if(r&&r.length>0)return t.dispose(),r}if(e.document.lineCount>1||e.document.lineAt(0).text.length>0)return _r.commands.executeCommand("vscode.executeDocumentSymbolProvider",e.document.uri)}async _doRequestCellSymbols(e,t){let r=await this._getDocumentSymbols(e);if(!r)return;let i=[];for(let o of r){let s=await this._client.getReferences(e.document,o.selectionRange.start,{includeDeclaration:!0},t);s&&i.push(...s.filter(a=>a.uri.scheme==="vscode-notebook-cell").map(a=>({...a,associatedSymbol:o})))}i.length&&this._cellRefs.set(e.document.uri.fragment,i.map(o=>({range:o.range,uri:o.uri,kind:gF(o.range,o.associatedSymbol.selectionRange)?"write":o.kind,associatedSymbol:o.associatedSymbol})))}dispose(){this._pendingRequests.forEach(e=>e.cancel()),this._pendingRequests.clear(),this._disposables.forEach(e=>e.dispose()),this._disposables=[]}},l1=class{constructor(e){this._client=e;this._disposables=[];this._notebookDocumentSymbolTrackers=new Map;_r.window.visibleNotebookEditors.forEach(t=>{this._notebookDocumentSymbolTrackers.set(t.notebook.uri.toString(),new a1(t,this._client))}),this._disposables.push(_r.window.onDidChangeVisibleNotebookEditors(t=>{t.forEach(r=>{this._notebookDocumentSymbolTrackers.has(r.notebook.uri.toString())||this._notebookDocumentSymbolTrackers.set(r.notebook.uri.toString(),new a1(r,this._client))}),this._notebookDocumentSymbolTrackers.forEach((r,i)=>{_r.window.visibleNotebookEditors.find(o=>o.notebook.uri.toString()===i)||(r.dispose(),this._notebookDocumentSymbolTrackers.delete(i))})}))}getNotebookDocumentSymbolTracker(e){return this._notebookDocumentSymbolTrackers.get(e.toString())}async debugSymbols(e){let t=this._notebookDocumentSymbolTrackers.get(e.uri.toString());t&&await t.debugSymbols()}async runSuccessorCells(e,t){let r=this._notebookDocumentSymbolTrackers.get(e.uri.toString());r&&await r.runSuccessorCells(t)}async runPrecedentCells(e,t){let r=this._notebookDocumentSymbolTrackers.get(e.uri.toString());r&&await r.runPrecedentCells(t)}async selectSuccessorCells(e,t){let r=this._notebookDocumentSymbolTrackers.get(e.uri.toString());r&&await r.selectSuccessorCells(t)}async selectPrecedentCells(e,t){let r=this._notebookDocumentSymbolTrackers.get(e.uri.toString());r&&await r.selectPrecedentCells(t)}dispose(){this._disposables.forEach(e=>e.dispose()),this._disposables=[]}},c1=class{constructor(e){this.symbolsTracker=e}async provideCodeActions(e,t,r,i){let o=_r.workspace.notebookDocuments.filter(b=>b.uri.path===e.uri.path),s,a;for(let b of o)if(s=b.getCells().find(I=>I.document.uri.toString()===e.uri.toString()),s){a=b;break}if(!s||!a)return[];let l=this.symbolsTracker.getNotebookDocumentSymbolTracker(a.uri);if(!l)return[];let c=r.diagnostics.find(b=>b.source==="Cell Execution Error"&&b.message.startsWith("NameError")&&b.message.endsWith("is not defined"));if(!c)return[];let u=c.message.match(/NameError: name '(.+)' is not defined/);if(!u)return[];let d=u[1],f=await l.getPrecedentCells(s),g=await Promise.all(oG(f).map(async b=>{let I=a?.cellAt(b);if(!I)return!1;let E=await l.getCellSymbolRefs(I);if(!E||E.length<=0)return!1;let x=E.filter(A=>A.associatedSymbol?.name===d).find(A=>A.uri.toString()===s?.document.uri.toString());if(!x)return!1;if(fF.intersects(x.range,t))return!0}));if(i.isCancellationRequested)return[];if(g.some(b=>b)){let b=new _r.CodeAction("Run Precedent Cells",_r.CodeActionKind.QuickFix);return b.command={command:"jupyter.runPrecedentCells",title:"Run Precedent Cells",arguments:[s]},[b]}return[]}};async function cG(n){if(!To.workspace.getConfiguration("jupyter").get("executionAnalysis.enabled"))return;let t=await lG();if(!t)return;let r=new l1(t);n.subscriptions.push(r),n.subscriptions.push(To.commands.registerCommand("jupyter.selectDependentCells",async i=>{let o=Yw(i);if(!o)return;let{notebook:s,cell:a}=o;await r.selectSuccessorCells(s,a)})),n.subscriptions.push(To.commands.registerCommand("jupyter.runPrecedentCells",async i=>{let o=Yw(i);if(!o)return;let{notebook:s,cell:a}=o;await r.runPrecedentCells(s,a)})),n.subscriptions.push(To.commands.registerCommand("jupyter.runDependentCells",async i=>{let o=Yw(i);if(!o)return;let{notebook:s,cell:a}=o;await r.runSuccessorCells(s,a)})),n.subscriptions.push(To.commands.registerCommand("jupyter.selectPrecedentCells",async i=>{let o=Yw(i);if(!o)return;let{notebook:s,cell:a}=o;await r.selectPrecedentCells(s,a)})),n.subscriptions.push(To.commands.registerCommand("jupyter.debugCellSymbols",async()=>{let i=To.window.activeNotebookEditor;i&&await r.debugSymbols(i.notebook)})),n.subscriptions.push(To.languages.registerCodeActionsProvider({language:"python",notebookType:"jupyter-notebook"},new c1(r),{providedCodeActionKinds:[To.CodeActionKind.QuickFix]}))}function uG(){}var ss=k(require("vscode"));async function dG(n){n.subscriptions.push(ss.commands.registerCommand("jupyter.listPipPackages",async e=>{let t=e??ss.window.activeNotebookEditor?.notebook.uri;if(t){let i=await be.instance.get(De).get(t);if(i){let o=new ss.CancellationTokenSource().token;try{let s=await Ffe(i,o);if(Array.isArray(s.content))return s.content}catch(s){p.warn("Failed to get pip packages",s)}}}return[]})),n.subscriptions.push(ss.commands.registerCommand("jupyter.listVariables",async e=>{let t=e??ss.window.activeNotebookEditor?.notebook.uri;if(!t)return[];let r=ss.workspace.notebookDocuments.find(u=>u.uri.toString()===t.toString());if(!r)return[];let o=be.instance.get(ot).getSelected(r);if(!o)return[];let s=o.controller.variableProvider;if(!s)return[];let a=new ss.CancellationTokenSource().token,l=s.provideVariablesWithSummarization(r,void 0,ss.NotebookVariablesRequestKind.Named,0,a),c=[];for await(let u of l)c.push(u);return c}))}async function Ffe(n,e){let t=`import subprocess
|
||
proc = subprocess.Popen(["pip", "list", "--format", "json"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
|
||
stdout, stderr = proc.communicate()
|
||
return stdout
|
||
`.split(`
|
||
`);try{return{content:await Iu(n,t,e)}}catch(r){throw r}}var gG=k(oA());var pG=k(N());var Lf=class{constructor(e){this.container=e}getContainer(){return this.container}add(e,t,r,i){r?this.container.bind(e).to(t).whenTargetNamed(r):this.container.bind(e).to(t),i&&i.forEach(o=>{this.addBinding(e,o)})}addFactory(e,t){this.container.bind(e).toFactory(t)}addBinding(e,t){this.container.bind(t).toService(e)}addSingleton(e,t,r,i){r?this.container.bind(e).to(t).inSingletonScope().whenTargetNamed(r):this.container.bind(e).to(t).inSingletonScope(),i&&i.forEach(o=>{this.addBinding(e,o)})}addSingletonInstance(e,t,r){r?this.container.bind(e).toConstantValue(t).whenTargetNamed(r):this.container.bind(e).toConstantValue(t)}get(e,t){return t?this.container.getNamed(e,t):this.container.get(e)}tryGet(e,t){try{return t?this.container.getNamed(e,t):this.container.get(e)}catch{}}getAll(e,t){return t?this.container.getAllNamed(e,t):this.container.getAll(e)}rebind(e,t,r){r?this.container.rebind(e).to(t).whenTargetNamed(r):this.container.rebind(e).to(t)}rebindSingleton(e,t,r){r?this.container.rebind(e).to(t).inSingletonScope().whenTargetNamed(r):this.container.rebind(e).to(t).inSingletonScope()}rebindInstance(e,t,r){r?this.container.rebind(e).toConstantValue(t).whenTargetNamed(r):this.container.rebind(e).toConstantValue(t)}dispose(){this.container.unbindAll(),this.container.unload()}};v([ih()],Lf.prototype,"getContainer",1),Lf=v([(0,pG.injectable)()],Lf);var mn=require("vscode");var fG=require("vscode");function hG(n){let e=fG.window.createOutputChannel(y.jupyterServerConsoleOutputChannel,"log");n.push(e);let t={get(r,i){let o=r[i];if(typeof o=="function"){if(i==="append")return(...s)=>{e.append(...s),mG(...s)};if(i==="appendLine")return(...s)=>{e.appendLine(...s),mG(...s)}}return o}};return new Proxy(e,t)}function mG(...n){n.length===1?p.debug(Oe(n[0]).map((e,t)=>t===0?e:` ${e}`).join(`
|
||
`)):p.debug(...n)}function vG(n,e){let t=_2(e);t.appendLine(`${mn.env.appName} (${mn.version}, ${mn.env.remoteName}, ${mn.env.appHost})`),t.appendLine(`Jupyter Extension Version: ${n.extension.packageJSON.version}.`);let r=mn.extensions.getExtension(Yn);r?t.appendLine(`Python Extension Version: ${r.packageJSON.version}.`):t.appendLine("Python Extension not installed.");let i=mn.extensions.getExtension(Vp);return i?t.appendLine(`Pylance Extension Version${C0()?"":" (Not Used) "}: ${i.packageJSON.version}.`):t.appendLine("Pylance Extension not installed."),e?.platform&&t.appendLine(`Platform: ${e.platform} (${e.arch}).`),!mn.workspace.workspaceFolders||mn.workspace.workspaceFolders.length===0?t.appendLine("No workspace folder opened."):mn.workspace.workspaceFolders.length===1?t.appendLine(`Workspace folder ${j(mn.workspace.workspaceFolders[0].uri)}, Home = ${e?.homePath}`):t.appendLine(`Multiple Workspace folders opened ${mn.workspace.workspaceFolders.map(o=>j(o.uri)).join(", ")}`),t}function yG(n,e){let t=new gG.Container({skipBaseClassChecks:!0}),r=new Lf(t),i=new be(t);return r.addSingletonInstance(rt,i),r.addSingletonInstance(g9,r),r.addSingletonInstance(M,n.subscriptions),r.addSingletonInstance(We,n.globalState,lt),r.addSingletonInstance(We,n.workspaceState,ei),r.addSingletonInstance(et,n),r.addSingletonInstance(Ao,e,Tu),r.addSingletonInstance(Ao,hG(n.subscriptions),Zf),[r,i]}function bG(){let n=re(),e={location:mn.ProgressLocation.Window,title:de.loadingExtension};return mn.window.withProgress(e,()=>n.promise).then(h,h),{dispose:()=>n.resolve()}}function IG(n,e,t){Lfe(de.handleExtensionActivationError),console.error("extension activation failed",n),p.error("extension activation failed",n),Lj(n,e,t)}function Lfe(n){try{mn.window.showErrorMessage(n).then(h,h)}catch(e){p.error("failed to notify user",e)}}async function SG(n,e){let t=e.get(gs),r=new Ue;await t.activate();let i=r.elapsedTime;R("DS_INTERNAL.EXPERIMENT_LOAD",{duration:i}),mn.commands.executeCommand("setContext","jupyter.vscode.channel",xs()).then(h,h),e.get(yk).activate();let o=e.get(gP);o.initialize(),n.subscriptions.push(o)}var yF=class{constructor(){this.started=Date.now()}get elapsedTime(){return Date.now()-this.started}reset(){this.started=Date.now()}},Uf=new yF,FI={totalActivateTime:0,codeLoadingTime:0,startActivateTime:0,endActivateTime:0,workspaceFolderCount:0};FI.codeLoadingTime=Uf.elapsedTime;var bF;async function Ufe(n){FI.startActivateTime=Uf.elapsedTime;let e=vG(n,{addConsoleLogger:!!process.env.VSC_JUPYTER_FORCE_LOGGING,userNameRegEx:jfe(),homePathRegEx:Jfe(),arch:(0,Np.arch)(),platform:(0,Np.platform)(),homePath:ix.fsPath});CV(Uf),JU(n.subscriptions),nU(Ma.env.uiKind==Ma.UIKind.Web),oU(!1),n.subscriptions.push({dispose:()=>sS.isExiting=!0});try{let[t,r]=Vfe(n,e);return await r,FI.endActivateTime=Uf.elapsedTime,Fj(FI,Uf),t}catch(t){return FI.endActivateTime=Uf.elapsedTime,IG(t,FI,Uf),p.error("Failed to active the Jupyter Extension",t),{ready:Promise.resolve(),registerPythonApi:h,registerRemoteServerProvider:()=>({dispose:h}),getKernelService:()=>Promise.resolve(void 0),addRemoteJupyterServer:()=>Promise.resolve(void 0),openNotebook:()=>Promise.reject(),createJupyterServerCollection:()=>{throw new Error("Not Implemented")},kernels:{getKernel:()=>Promise.resolve(void 0)}}}}function Wfe(){if(sS.isExiting=!0,bF){let n=bF.get(No);if(n)return n.dispose()}return uG(),Promise.resolve()}function Vfe(n,e){let t=bG();try{let[r,i]=yG(n,e);bF=i,yV(a=>i.get(_d).getPackageVersions(a));let o=Bfe(n,r,i);return cG(n).then(h,h),dG(n).then(h,h),[Mj(o,r,i,n),o,i]}finally{t.dispose()}}function CG(n){return n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}function jfe(){try{let n=CG((0,Np.userInfo)().username);return new RegExp(n,"ig")}catch(n){console.info(`jupyter extension failed to get username info with ${n}
|
||
username will not be obfuscated in local logs`)}}function Jfe(){try{let n=CG(Rg().fsPath);return new RegExp(n,"ig")}catch(n){console.info(`jupyter extension failed to get home directory path with ${n}
|
||
home Path will not be obfuscated in local logs`)}}async function Bfe(n,e,t){let r=!Er()&&(n.extensionMode===Ma.ExtensionMode.Development||Ma.workspace.getConfiguration("jupyter").get("development",!1));e.addSingletonInstance(M2,r),r&&Ma.commands.executeCommand("setContext","jupyter.development",!0).then(h,h),Ma.commands.executeCommand("setContext","jupyter.webExtension",!1).then(h,h),T2((0,Np.homedir)()),d7(e),tq(e,r),lH(e,r),u4(e),G4(n,e,r),iG(e),await SG(n,t)}0&&(module.exports={activate,deactivate});
|
||
/*! Bundled license information:
|
||
|
||
reflect-metadata/Reflect.js:
|
||
(*! *****************************************************************************
|
||
Copyright (C) Microsoft. All rights reserved.
|
||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
||
this file except in compliance with the License. You may obtain a copy of the
|
||
License at http://www.apache.org/licenses/LICENSE-2.0
|
||
|
||
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
||
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
||
MERCHANTABLITY OR NON-INFRINGEMENT.
|
||
|
||
See the Apache Version 2.0 License for specific language governing permissions
|
||
and limitations under the License.
|
||
***************************************************************************** *)
|
||
|
||
tmp/lib/tmp.js:
|
||
(*!
|
||
* Tmp
|
||
*
|
||
* Copyright (c) 2011-2015 KARASZI Istvan <github@spam.raszi.hu>
|
||
*
|
||
* MIT Licensed
|
||
*)
|
||
|
||
strip-comments/index.js:
|
||
(*!
|
||
* strip-comments <https://github.com/jonschlinkert/strip-comments>
|
||
* Copyright (c) 2014-present, Jon Schlinkert.
|
||
* Released under the MIT License.
|
||
*)
|
||
*/
|